普通人如何保护账户密码安全

12次阅读

共计 2565 个字符,预计需要花费 7 分钟才能阅读完成。

整理了一下自己的账户密码管理思路,这里做个总结和分享,比较简单实用。

下面是一下基础知识,可以不看,直接跳到第 2 部分。

1. 基础知识

2FA 两步验证

2FA 全称是 Two-Factor Authentication,即双因素认证也叫两步登录。通过要求用户提供两种不同类型的验证信息来确认他们的身份。2FA 的典型工作流程如下:

  1. 用户输入用户名和密码。
  2. 系统验证密码后,要求用户提供第二个验证因素,例如通过短信发送到手机的验证码。
  3. 用户输入从手机收到的验证码。
  4. 系统验证验证码后,用户成功登录。

常见的 2FA 方法包括:

  • 短信、邮箱验证码 :系统向用户注册的手机号码、邮箱发送一次性验证码。
  • 一次性密码 TOTP:如 Google Authenticator、Authy 等应用会定期生成新的验证码。
  • 生物识别 :如指纹扫描、面部识别等。
  • 硬件令牌 :如 YubiKey、RSA SecurID 等物理设备会生成或存储一次性验证码。

TOTP 一次性密码 &Authenticator 认证应用

TOTP 全称是 Time-based One-Time Password,即基于时间的一次性密码。它是一种双因素认证(2FA)方法,TOTP 一般通过认证应用(Authenticator)应用生成,整个流程如下。

  1. 初始设置

    • 用户在在线服务(如 Google、Facebook、银行等)上启用 2FA。
    • 服务提供一个二维码或密钥,用户用认证应用扫描该二维码或手动输入密钥。这一过程在用户设备和服务之间建立了一个共享的秘密密钥。
  2. 生成 TOTP

    • 认证应用使用共享密钥和当前时间,通过特定算法(通常是 HMAC-SHA-1)生成一个短时间内有效的验证码。
    • 这些验证码通常每 30 秒更新一次。
  3. 登录过程

    • 用户输入用户名和密码后,系统提示输入动态验证码。
    • 用户打开认证应用,读取当前显示的验证码,并输入到登录页面。
    • 系统根据相同的共享密钥和当前时间生成期望的验证码,并与用户输入的验证码进行比较。
    • 如果匹配,则验证成功,用户完成登录。

常见的认证应用

  1. Google Authenticator

    • Google 提供的免费应用,支持多种在线服务。
    • 简单易用,但不支持云备份。
  2. Microsoft Authenticator

    • 微软提供的应用,适用于微软账户和其他兼容的服务。
    • 支持云备份和多设备同步。
  3. LastPass Authenticator

    • 由 LastPass 提供的应用,支持推送通知和备份功能。
    • 集成了 LastPass 密码管理功能。

Password Manager 密码管理器

密码管理器通过生成、存储、自动填充和管理密码,帮助用户保护在线账户的安全,并减少记忆复杂密码的负担。密码管理器通常包括以下功能:

  1. 密码生成

    • 提供强大、安全的密码生成器,创建复杂且唯一的密码,以防止密码被猜测或破解。
  2. 密码存储

    • 安全地存储所有密码和其他敏感信息,如信用卡信息和安全问题答案。数据通常以加密形式存储,确保只有用户能够访问。
  3. 自动填充

    • 在用户访问网站或应用程序时,自动填充用户名和密码,简化登录过程。
  4. 多设备同步

    • 在多个设备之间同步密码库,确保用户在不同设备上都能访问和使用存储的密码。
  5. 安全检查

    • 检查密码是否强大,是否重复使用,是否涉及已知的数据泄露,并建议改进措施。
  6. 双因素认证(2FA)集成

    • 一些密码管理器还集成了 2FA 功能,生成一次性密码(OTP),进一步增强账户安全性。

常见的密码管理器

  1. LastPass

    • 提供免费和付费版本,支持多设备同步、密码生成、自动填充和 2FA 集成等功能。
  2. 1Password

    • 提供家庭、个人和企业版本,具有强大的安全检查和多设备同步功能。
  3. Bitwarden

    • 开源且免费的密码管理器,提供多设备同步和团队共享功能。
  4. Keeper

    • 强调安全性和隐私保护,提供企业级安全解决方案和个人版本。

Passkey 通行密钥

通行密钥使用密钥(通常是生物验证)而非密码识别你的身份。每个通行密钥包含一对密钥,一个由你持有,另一个由 App 或网站持有。密钥对在你与 App 或网站之间建立了安全且隐私的连接。
假设用户 Alice 要在一个网站上使用通行密钥登录:

  1. 初次注册

    • Alice 的设备生成一个密钥对(公钥和私钥)。
    • 设备将公钥发送给网站,网站存储该公钥。
  2. 登录过程

    • Alice 访问网站,输入用户名。
    • 网站生成一个质询数据(随机字符串)并发送给 Alice 的设备。
    • Alice 的设备要求她进行生物识别(如指纹识别)。
    • 验证通过后,设备用私钥对质询数据进行签名。
    • 签名结果发送回网站。
    • 网站使用存储的公钥验证签名,如果签名正确,则登录成功。
      整个注册和登录过程,网站只拥有公钥,就能验证你拥有正确的私钥,而不需要知道私钥具体是什么。对于黑客来说,攻击网站存储的公钥数据库也就没什么太大的价值了。

2. 我个人的密码管理实践

  • 首先选一个密码管理器和认证应用。比如免费的 Bitwarden 和 Microsoft Authenticator
  • 密码管理器开启 2FA,一定记好主密码(主密码无法找回)
  • 所有帐号的密码采用密码管理器生成的随机密码,然后保存在密码管理器里。保证所有密码不重复,即使密码泄露也只影响单一账户。
  • 普通账户平时就用密码管理器一键登录。
  • 重要的账户开启 2FA,有通行密钥功能的的开启通行密钥,优先使用通行密钥登录。
  • 2FA 尽量多填加几种方式,例如 TOTP,短信,邮箱,防止单一 方式失效。
  • 有的 2FA 会提供恢复代码,可以打印保存好,用于紧急绕过 2FA
  • 密码管理器定期导出加密的密码备份文件保存好。
  • 极限情况下比如手机丢失,如何找回密码管理器和 Authenticator。密码管理器通过主密码(必须记得)和短信验证码(补办手机卡)或之前打印的恢复码过 2FA。Authenticator 则可以一个个重新添加(微软的支持云备份)

3. 其他

感觉所有的安全验证方式,最终还是回归到手机上的生物验证即指纹和面容识别,因为 2FA 的 TOTP,短信验证的都是依靠解锁手机,所以最后的盾是生物验证的可靠性。

另外,各位的 2FA 的邮箱一般选择哪家的?Gmail,outlook 还是国内的 QQ 邮箱?

TOTP 和短信验证哪个更好?感觉国内很多大厂不提供主动 2FA,比如 QQ 邮箱,都是通过智能风控判断是否要二次验证,可能对用户反而方便了。而且现在大部分 App 都是首选短信验证码登录,说不好是不是中和体验更好。

还有重要账户开启 2FA 后,自建密码管理器服务的意义在哪?

正文完
 0