凌晨2:47,手机弹出一条通知:"您已向……转账4,800美元。"我根本没有转过任何款。有人闯入了我的PayPal,潜入了我的网络,动作极快。我立刻切断了家里所有的网络连接——路由器、调制解调器,全部断电。那笔转账被系统标记并撤销了。我算是走了运。
接下来的一整周,是我经历过的最没有效率的日子。我拆解了整个家庭网络,给每台设备重装了操作系统,逐一排查了我名下的每一个账号。我保留着安全日志作为证据。但证据本身无法阻止事件再次发生。那是我最后一次信任短信验证码进行双因素认证。
那大约是一年前的事了。回过头来看,我不认为他们只是冲着我的PayPal来的。考虑到我当时参与的项目,我怀疑他们真正想要的是更有价值的东西:知识产权、代码、研究成果,以及价值远超几千美元的系统访问权限。你的银行账户里存着你的积蓄,但你的工作设备里存着你的想法——而想法对某些买家来说可以值一大笔钱。
你可能自己也注意到了——Google、Apple、Microsoft以及数十家其他服务商已经开始询问你是否要设置通行密钥或使用安全密钥。这不是噱头。这是行业在承认安全专家多年来一直知道的事实:硬件认证是黄金标准。当科技巨头开始引导你使用某项技术时,通常是因为他们厌倦了处理你被黑客攻击后的烂摊子。这一次,他们是对的。请接受。
什么是硬件安全密钥?
硬件安全密钥是一种生成加密认证代码的物理设备。当你将它插入电脑或轻触手机时,它会以一种无法伪造、无法拦截、无法钓鱼的方式证明你就是你本人。这是普通人可以使用的最安全的双因素认证方式。
其背后的技术叫做FIDO2(快速在线身份认证)。当你在某个服务上注册安全密钥时,密钥会专门为该服务生成一个唯一的加密密钥对。公钥发送给服务方,私钥永远不会离开设备。当你登录时,服务方发送一个挑战,你的密钥用私钥对其签名,这个签名就能证明你持有该物理密钥。不需要输入验证码。不需要确认推送通知。只需轻触即可。
为什么硬件优于软件
像Google Authenticator或Authy这样的认证器应用是不错的选择。它们比短信验证码强得多。但它们也有弱点。你的手机可能被恶意软件攻陷。你的认证器备份码可能被窃取。高级攻击者已经开发出实时钓鱼攻击,能在你的一次性验证码过期之前转发它们。Google的一项研究发现,安全密钥阻止了100%的自动化机器人攻击、100%的批量钓鱼攻击和100%的定向攻击。没有其他任何认证方式能够做到这一点。
"在要求所有85,000多名员工使用安全密钥后,Google报告工作相关账户的成功接管次数为零。零次。这就是物理认证的力量。"
应该购买哪种密钥?
市场领导者是Yubico,这是有充分理由的。他们的YubiKey产品线坚固耐用、广泛兼容,并提供多种外形选择。以下是选购指南:
YubiKey 5系列
这是我推荐给大多数人的选择。YubiKey 5 NFC是最佳平衡点:它配有USB-A接口,支持用于移动设备的NFC功能,并且能处理你会遇到的所有协议。大约50美元的价格,这笔投资能保护你拥有的一切。如果你的电脑只有USB-C接口,可以选择YubiKey 5C NFC。
购买渠道
YubiKey 5 NFC (USB-A) — Yubico.com | Amazon
YubiKey 5C NFC (USB-C) — Yubico.com | Amazon
我建议直接从Yubico购买以确保正品。Amazon链接仅供参考。
至少买两个
这一点至关重要。安全密钥没有备份功能。如果你丢了唯一的密钥,就会失去访问权限。购买两个密钥,在每个服务上都注册两个,一个挂在钥匙链上,另一个放在家里安全的地方。有些人会把第三个放在银行保险柜里。就像配备一把备用钥匙一样。
我的配置
我的钥匙链上挂着一个YubiKey 5 NFC。家里的保险箱里放着一个备用的YubiKey 5C NFC。两个都注册了我所有重要的服务。总投资:大约100美元。换来的安心:无价。
在Mac上设置你的安全密钥
Apple让macOS上的硬件密钥设置变得非常简单。以下是入门方法:
Apple账户
Apple在iOS 16.3和macOS 13.2中添加了安全密钥支持。前往"系统设置",点击顶部的你的Apple ID,选择"登录与安全",找到"安全密钥"。点击"添加"并按照提示操作。系统会提示你插入密钥并轻触确认。Apple要求你至少注册两个密钥,这是很明智的设计。
设置完成后,在任何新设备上登录你的Apple账户都需要你的物理密钥。不再需要六位数验证码。不再出现攻击者可以利用的"信任此设备"弹窗。
Mac登录
你还可以使用YubiKey来登录Mac本身。这需要设置智能卡认证或使用YubiKey的PIV(个人身份验证)功能。Yubico提供了一个叫做YubiKey Manager的工具来帮助配置。整个过程包括在密钥上生成证书,然后配置macOS接受它用于登录。
在Windows上设置你的安全密钥
Windows对安全密钥有很好的支持,但在购买之前有一个重要的注意事项。
Windows Pro与Windows Home
如果你想用安全密钥登录Windows系统本身,而不仅仅是网站,你需要Windows 10 Pro或Windows 11 Pro。Home版通过浏览器支持网站认证的安全密钥,但完整的Windows Hello集成——让你用密钥登录Windows——需要Pro或Enterprise版本。这是因为底层技术依赖于Microsoft为商业版本保留的Azure AD和域加入功能。
如果你使用的是Windows Home并想要这个功能,可以花大约100美元升级。或者你可以继续用安全密钥保护网络服务,同时用强密码和Windows Hello PIN来登录Windows。虽然不够理想,但仍然比短信验证码好太多了。
Microsoft账户
前往account.microsoft.com并登录。导航到"安全",然后"高级安全选项",找到"证明你身份的方式"部分,选择"添加新的登录方式"。选择"安全密钥",然后根据你的密钥类型选择USB设备或NFC设备。插入密钥,按提示创建密钥的PIN码,然后轻触完成注册。
对于企业Microsoft 365账户,流程取决于你所在组织的Azure AD配置。你的IT部门可能需要启用安全密钥认证。如果你就是IT部门,你需要查阅Microsoft关于Azure AD中FIDO2安全密钥策略设置的文档。
支持硬件密钥的服务
硬件安全密钥的魅力在于它们已经变得多么普及。以下是我用密钥保护的一些服务——但这仅仅是冰山一角:
Google是最早支持硬件密钥的大公司之一。在你的Google账户安全设置中,找到"两步验证"并添加"安全密钥"。Google甚至为高风险用户(记者、活动人士、高管)提供了"高级保护计划",该计划要求使用安全密钥并提供额外的防护。
GitHub
对于开发者来说,GitHub往往是通往一切的钥匙。你的代码、你的凭据、你的部署流水线。前往Settings,Password and authentication,在Two-factor methods下添加安全密钥。GitHub支持将安全密钥作为主要认证方式使用,而不仅仅是第二因素。
Cloudflare
如果你通过Cloudflare管理网站,保护那个账户至关重要。攻击者一旦攻破你的Cloudflare账户,就可以将你的流量重定向到任何地方。在你的Cloudflare仪表盘中,前往My Profile,Authentication,添加硬件安全密钥。
Stripe
你的支付处理仪表盘是你最敏感的账户之一。Stripe在账户设置的Security部分支持硬件密钥。鉴于Stripe处理的是资金,这应该是你最先保护的服务之一。
Slack
商务通讯包含敏感信息。Slack在Workspace settings的Authentication下支持安全密钥。如果你是工作区管理员,可以要求所有成员使用安全密钥。
Vercel
如果你通过Vercel部署Web应用程序,保护该账户就是保护你的生产基础设施。Vercel在账户安全设置中支持硬件密钥。
支持列表持续增长
除了上述服务外,硬件密钥还被以下平台支持:Amazon AWS、Microsoft Azure、Dropbox、Facebook、Instagram、Twitter/X、LinkedIn、Coinbase、Kraken、Binance、Bitwarden、1Password、LastPass、Dashlane、Okta、Duo Security、DocuSign、Salesforce、Atlassian (Jira, Confluence)、GitLab、Bitbucket、DigitalOcean、Heroku、Netlify、Fastmail、ProtonMail、Tutanota、Reddit、Discord、Twitch、Nintendo、PlayStation Network、Epic Games、EA,以及数百个其他平台。
查看Yubico的兼容性目录获取完整列表——数量确实令人印象深刻。
优先顺序
按以下顺序开始:你的主要电子邮件(控制所有其他账户的密码重置)、你的密码管理器、你的金融账户、你的云服务。然后逐步扩展。每增加一个服务,你的数字生活就更难被攻破。
移动设备:手机和平板电脑
你的手机往往是数字生活的万能钥匙。使用硬件认证来保护它是可行的,不过不同平台的体验有所不同。
iPhone和iPad
如上所述,当你的Apple账户通过安全密钥保护后,你的iOS设备会继承这种保护。你也可以在认证提示时,将支持NFC的YubiKey贴近iPhone顶部来使用它。这适用于Safari中的网站以及支持WebAuthn的应用程序。
Android
Android对安全密钥有强大的支持。许多Android设备可以直接使用USB-C密钥。NFC密钥只需轻触手机背面即可使用。Google自己的Pixel手机与YubiKey无缝配合,既支持Google账户保护,也支持第三方服务认证。
优点与缺点
让我坦诚地说说切换到硬件安全密钥的好处和权衡。
优点
防钓鱼: 密钥只响应合法服务。虚假登录页面无法起作用,因为它们无法生成正确的加密挑战。仅凭这一点,硬件密钥就值得拥有。
不依赖网络: 与短信验证码或推送通知不同,你的密钥可以离线工作。没有手机信号?没问题。认证器应用服务中断?不影响你。
速度快: 轻触即走。不用输入六位数验证码。不用等待短信。认证大约只需一秒钟。
账户恢复: 许多服务允许你使用安全密钥恢复账户,绕过可能已被攻破的电子邮件或电话号码。
挑战
物理依赖: 你需要随身携带密钥。忘在家里就可能被锁在外面。这就是我把一个挂在钥匙链上的原因。
丢失风险: 如果丢失了所有密钥又没有备份码,你可能面临困难的账户恢复流程。有些服务需要数天时间进行身份验证。
初始设置时间: 在所有服务上添加密钥,前期需要几个小时。这是一次性投入,但确实需要花功夫。
成本: 好的安全密钥每个售价50到70美元。购买两个意味着前期投入100到140美元。对大多数人来说,这是换取重要保护的小代价,但确实不是免费的。
兼容性差距: 并非所有服务都支持硬件密钥。讽刺的是,银行在采用方面尤其缓慢,尽管它们保护的正是最需要保护的东西。某些账户你可能仍需要备用认证方式。
"携带安全密钥的不便,与身份被盗的不便相比,根本不值一提。我见过被盗后的惨状。恢复需要数月时间,而且可能永远无法完全恢复。"
让它成为你的通用身份
这就是硬件安全密钥真正强大的地方:它们可以成为你在所有事务中的单一统一数字身份。
你的YubiKey不仅仅是第二因素。现代实现方式允许你将其用作主要认证方式。GitHub等服务现在支持使用安全密钥进行无密码登录。Microsoft正在推广通行密钥(passkey),本质上就是内置在设备中的安全密钥技术,但也可以存储在专用硬件密钥上。Apple的iCloud钥匙串可以同步通行密钥,但硬件密钥给了你一个独立于任何单一生态系统的存在。
我已经设置好了我的安全密钥,让它注册在所有重要的地方:我的个人Apple生态系统、工作用的Microsoft账户、开发工具(GitHub、Vercel、Cloudflare)、金融服务(Stripe以及支持它的银行)、通讯工具(Slack、电子邮件)。一个物理令牌,完全掌控。
今天就开始
准备好升级你的安全了吗?以下是你的行动计划:
第一步: 购买两个YubiKey 5 NFC密钥(如果需要USB-C则选5C NFC)。预算大约100美元。
第二步: 从你的主要电子邮件账户开始。这是控制所有其他账户密码重置的万能钥匙。
第三步: 接下来添加你的密码管理器。如果你使用1Password、LastPass、Bitwarden或Dashlane,它们都支持硬件密钥。
第四步: 逐步处理你的关键账户:金融服务、云平台、开发工具、通讯服务。
第五步: 在每个服务上注册两个密钥。一个随身携带,另一个安全存放作为备份。
第六步: 保存服务提供的所有备份码。离线存储,最好打印出来或放在与密钥分开的安全地点。
需要设置帮助?
如果你在Alabama州Mobile地区,我通过Greek-Fire Services提供技术咨询。我可以带你完成整个设置过程,帮助保护你的数字生活。
结语
硬件安全密钥代表了当前保护数字身份的黄金标准。它们并不完美。它们需要一笔小的前期投资和工作流程上的一些调整。但它们提供了其他任何方式都无法提供的东西:物理的、可验证的证明——只有你,而且只有你自己,在访问你的账户。
在一个数据泄露已成为每周新闻、SIM卡交换攻击日益猖獗、我们的全部财务和职业生活都存在于云端的世界里,一个50美元、挂在钥匙链上的小设备,确实是极好的保障。
我在凌晨2:47学到了这个教训,亲眼看着有人试图实时清空我的账户。你不必如此。把这篇文章当作你跳过艰难方式的机会。