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

2024-05-19 09:30:49 +08:00
 lurui45

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

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

1.基础知识

2FA 两步验证

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

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

常见的 2FA 方法包括:

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.我个人的密码管理实践

3. 其他

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

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

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

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

3691 次点击
所在节点    信息安全
19 条回复
wskymark
2024-05-19 09:33:56 +08:00
谷歌支持云备份有好一段时间了
YGHMXFAL
2024-05-19 09:38:31 +08:00
整这么复杂

①TOTP/密码管理器 APP 选择开源+离线+支持导入导出的随便一款就行,密码库文件随便上传到墙内多个网盘+syncthing 自动同步到个人其它设备

②我不喜欢各种生物认证,包括但不限于人脸识别/指纹识别/硬件令牌等等,因为这些验证因子可能在我不知情的情况下被用于解锁,而且生物特征一次泄漏终身享福
lurui45
2024-05-19 09:43:09 +08:00
@wskymark 谷歌因为墙,首选微软的吧
lurui45
2024-05-19 09:47:40 +08:00
@YGHMXFAL 我是信不过自建的服务器的稳定性和安全性,密码库文件我也不敢放到国内网盘上。
maggch97
2024-05-19 09:49:12 +08:00
只用 iOS 保存密码和登录,不要用 Mac ,Windows ,安卓
1KTN90lKW9gVJ9vX
2024-05-19 11:57:12 +08:00
我自己的都不记得密码,我自己都要输入几次密码,还要找回密码找回账号,还不够安全吗!?
0o0O0o0O0o
2024-05-19 12:11:52 +08:00
> 信不过自建的服务器的安全性,密码库文件也不敢放到国内网盘上

我觉得选好合格的密码管理器设置好主密码后就不用考虑这些问题了,只要注意不使用 Web 版本,就不需要也不应该依赖服务器、存储、传输过程的安全性,要需要关注的是你的主密码和设备的安全性。

> 2FA 的邮箱一般选择哪家的
> 和短信验证哪个更好

没有办法保证短信和邮箱只有你能访问
YGHMXFAL
2024-05-19 12:23:11 +08:00
@lurui45 #4 密码库文件都是强加密,传到墙内网盘也无所谓
qbqbqbqb
2024-05-19 14:14:21 +08:00
TOTP 用开源的 Aegis ,可以导出加密备份
qbqbqbqb
2024-05-19 14:31:37 +08:00
@YGHMXFAL 硬件令牌和生物认证还是不一样的。

像 yubikey 这样的硬件令牌内部用的就是标准的签名/加密手段,再外加一个私钥不能导出的特性,事实上是最安全的,不仅能做 2FA 的第二因子,还可以做无密码账户的唯一因子,一步验证,照样不失安全性。
并且令牌可以设置 PIN (防止被他人捡走使用),可以要求认证时触摸实体按钮(防止被不知情使用),你说的几个问题基本都不存在。
就是丢了比较麻烦,需要提前准备备用手段,这个备用手段可能不如令牌本身安全。

生物认证恰好相反,基本没啥安全性可言(因为生物特征没法直接派生私钥,不能起到加密的功能,本质上只是一个较弱的认证手段),主要还是为了方便,只用于锁屏快速解锁(公共场合还可以防偷窥密码)/免密支付替代品(有了指纹支付日常使用就很方便了,不必开更不安全的免密支付了)。
sfdev
2024-05-19 14:41:13 +08:00
其实很简单,强密码+两步验证就是唯一最优解。这肯定要借助密码管理器,商业的,开源的,自建的,都一样没什么区别,看你自己怎么选了。
frankilla
2024-05-19 14:54:55 +08:00
直接 vaultwarden
totoro625
2024-05-19 15:20:46 +08:00
普通人是接触不到短信验证码以外的两步验证的
dototototo
2024-05-19 15:28:34 +08:00
加一个 KeePass 吧,我们也很好用的,求求你了😭
xiamy1314
2024-05-19 15:39:34 +08:00
普通人都是忘记密码登录,不过现在很多都可以直接短信登录....很安全了..
uuhhme
2024-05-19 16:26:28 +08:00
2FA 软件推荐 ente auth ,同时保存到 icloud 钥匙串做备用,平时 ente 够用了
yanheqi
2024-05-19 17:51:44 +08:00
我平时也有用 Microsoft Authenticator 开启 2FA 。
就是担心装 Microsoft Authenticator 的手机要是丢了或者被偷,该怎么办呢?
zhlssg
2024-05-19 19:12:40 +08:00
买了 bitwarden 的 premium 会员,这样 TOTP 就不需要用另外的软件了,使用起来方便一些
就是不知道这样是不是降低了安全性,2fa 和 password manager 分开的话应该是更安全一些
lisxour
2024-05-20 10:23:44 +08:00
@lurui45 #3 微软也常常抽风,我登 outlook 的时候,微软会优先发送一个数字让你点击登录,然而我手机经常收不到,而且很多情况下不允许你切换成常规 2fa 验证。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/1041959

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX