为什么仅有密码是不够的
强密码仍然可能被盗。虚假登录页面可以窃取密码,而数据泄露可能会暴露您在其他地方重复使用的密码。攻击者随后可以在其他账户上尝试该密码。双重验证在被盗密码与您的账户之间设立了又一道防线。英国国家网络安全中心(NCSC)建议在重要账户上启用两步验证,即使这些账户拥有强密码。
先保护您的常用邮箱:它通常接收其他服务的密码重置链接。然后保护金融账户、工作工具、云端存储和社交账户。账户被盗可能会暴露私密文档、中断您的工作,或让别人以您的名义联系朋友和客户。
双重验证的验证码如何生成
双重验证结合了两种不同类型的证明。对于密码和验证码而言,它们分别是您知道的信息(密码)和您持有的凭据(可以使用保存了账户密钥的认证应用)。多因素认证(MFA)则泛指使用多种因素来验证身份。
基于时间的一次性密码(TOTP)是由设置密钥和当前时间计算出的短时间内有效的验证码。当您启用基于认证应用的 2FA 时,服务会为您提供该密钥,通常内含于二维码中。Sign In 使用它在设备上生成验证码;服务则使用其副本进行检查。根据 TOTP 规范 RFC 6238 所述,验证码通常每 30 秒更改一次。
设置密钥比任何单个验证码都更为重要:复制它的人可以生成之后的验证码。请妥善保管设置密钥和二维码。切勿在客服消息中发送它们、分享它们的截图,或将其粘贴到聊天中。
为什么选择 Sign In 来管理您的 2FA 验证码?
对于日常使用 iPhone 的用户而言,我们认为存储认证密钥的最安全方式,是让您自己掌握这些密钥。我们按照这一原则开发了我们的认证应用 Sign In:在设备上生成验证码、我们的服务器上不存储任何认证密钥,且仅在您选择时进行安全同步。
- 您的验证码在您的设备上生成。 一旦设置好账户,Sign In 就能在没有网络连接的情况下生成其验证码。
- 我们不在服务器上保存您的认证数据。 您的设置密钥、账户标签和生成的验证码不会被发送到 Sign In 的服务器或存储在上面。我们没有在服务器上集中保存您的认证密钥,因此攻击者也无法从我们的服务器窃取它们。
- 无需 Sign In 账户。 无需再注册一个账户,即可使用 Sign In。
- 备份由您做主。 让添加到认证应用中的账户只保存在您的设备上,或者选择通过您的个人 iCloud 钥匙串同步。
这项设计的安全优势很明确:减少认证密钥的存放位置。您的设备安全以及您所使用服务的安全依然重要。每项服务保留验证其自身验证码所需的信息。我们的隐私政策解释了 Sign In 的存储和数据处理方式,包括可选的服务标志请求。
使用 Apple 的 iCloud 钥匙串进行可选的安全同步
如果您希望在多台设备上使用已添加的账户,请启用 Sign In 的可选账户备份。它使用 Apple 安全的钥匙串同步系统——您的个人 iCloud 钥匙串,在登录了同一 Apple 账户 的各台 iOS 设备之间保持它们同步。Sign In 不会将副本上传到我们自己的服务器。
Apple 的文档表明密码和钥匙串数据是端到端加密的,包括在标准的 iCloud 数据保护下。您无需为了该钥匙串保护而开启高级数据保护。Apple 还声明它无法读取您的 iCloud 钥匙串。
同步会传输生成验证码所需的受保护认证密钥;每台设备都会自行计算当前的验证码。这为您带来使用多台设备的便利,也不必把密钥交给 Sign In 的服务器保管。
| 位置 | 用途 |
|---|---|
| 您的设备 | 您添加到认证应用中的账户存储在此处,验证码在本地生成。 |
| 您的 iCloud 钥匙串 | 当您启用账户备份时,您添加到认证应用中的账户会使用 Apple 的端到端加密进行同步。 |
| Sign In 的服务器 | 我们不存储您的认证密钥、账户标签或生成的验证码。 |
您可以随时关闭账户备份。关闭它并不一定删除现有的已同步副本;请通过适用的应用和 iCloud 设置分别管理存储的副本。同步能否使用以及能否恢复数据,取决于 Apple 的服务和您的账户设置。
验证码、通行密钥还是短信?
选择服务支持的验证方式,并了解各自的保护能力:
- 验证码: 当服务支持 TOTP 时,Sign In 是我们推荐的选择。验证码可离线工作,不依赖短信接收或手机号的使用权。
- 通行密钥和 FIDO 安全密钥: 它们通过将认证绑定到真实服务,提供抗钓鱼攻击的登录方式。服务支持时,建议使用这些方式,尤其是对于敏感账户。FIDO 联盟解释了通行密钥的工作原理。
- 短信验证码: 无法使用更安全的选项时,短信仍能增加一道验证,但手机号被劫持和消息拦截会产生本地生成验证码所能避免的风险。
基于验证码的 2FA 仍然可能成为钓鱼攻击的目标:虚假网站可能会索要您的密码和当前验证码,然后立即同时使用两者。NIST 的身份验证指南区分了一次性验证码与抗钓鱼方法,并描述了电话网络风险。仅在您打算登录的真实服务上输入验证码,切勿向突然打电话来的人念出验证码。
使用 Sign In 保护您的第一个账户
- 打开服务的安全设置。 找到其双重验证或两步验证设置,如果服务支持,请选择认证应用选项。
- 将其设置密钥添加到 Sign In。 对于显示在另一屏幕上的二维码,请使用 Add → Scan QR Code。在同一部手机上,使用服务的手动设置密钥,依次点击 Add → Enter Setup Key,然后选择 Add Account。
- 在服务的网站或应用上完成操作。 输入来自 Sign In 的当前验证码并确认已启用 2FA。仅将账户添加至 Sign In 并不能完成该服务的设置。
- 保存服务的恢复码。 将其保存在安全的地方,以便在手机不可用时能够取用。
如需各项服务的具体步骤,请从我们的Google 2FA 指南、Instagram 2FA 指南开始,或者浏览所有设置指南。如果您需要适用于 iPhone 的认证应用,请在 App Store 上获取 Sign In。
在手机丢失之前做好应对准备
可选的 iCloud 钥匙串同步可帮助您在各台设备之间保持访问权限,但这并不能替代各服务提供的恢复方法。请将恢复码与它们所解锁的账户分开存放,并检查没有那部手机时,您是否仍能取用这些恢复码。
为设备设置强度足够的解锁密码,保持软件更新,并使您的 Apple 账户 恢复选项保持最新。在抹掉旧手机的数据之前,请验证您的账户和验证码能够在新手机上正常使用。由于我们不在自己的服务器上保存您的密钥,我们无法为您找回这些密钥或恢复您的个人 iCloud 备份。
关于 2FA 和 Sign In 的常见问题
有了强密码,而且没有重复使用,我还需要 2FA 吗?
是的,当您使用密码登录且服务支持时。不重复使用密码可以减少一处泄露牵连其他账户的风险,而 2FA 在密码被盗时添加了一道独立检查。通行密钥在可用时提供了另一种抗钓鱼的登录方式。
Sign In 会存储我的 2FA 验证码吗?
Sign In 使用存储在您设备上的认证密钥,在设备上生成验证码。我们不会在服务器上存储这些密钥、您的账户标签或生成的验证码。如果您启用账户备份,您添加到认证应用中的账户还通过您的个人 iCloud 钥匙串进行同步。
我可以在没有 iCloud 同步的情况下使用 Sign In 吗?
可以。添加到认证应用中的账户备份是可选的。您可以在不启用它的情况下在设备上生成验证码。请保存服务的恢复码,以便在丢失该设备时有其他登录途径。
验证码在没有网络连接时可以工作吗?
可以。设置后,Sign In 使用存储的密钥和您设备的时钟来生成 TOTP 验证码。您正在登录的网站或服务通常仍然需要网络连接。请保持设备日期和时间准确。
来源与延伸阅读
本指南参考了 NCSC 关于两步验证的指导、关于 TOTP 的 RFC 6238、NIST 的身份验证指南以及 FIDO 联盟的通行密钥概述。Apple 在iCloud 数据安全性概述和iCloud 钥匙串隐私声明中描述了其加密方式。Sign In 的数据处理方式在我们的隐私政策中进行说明。