密码管理器
什么是密码管理器?
顾名思义,就是管理你密码的工具。
那么为什么会有这个密码管理器的需求?
主要有这么几个需求:
- 密码越来越多:当前所有的互联网软件产品,或者硬件设备,都是“账号-支付”体系,一个账号都会对应一个密码,密码非常多。比如美团一个,饿了么一个,百度一个,等等等等,靠人的脑子已经记不过来了,这种情况下,普通人会怎么做?所有账号都用一个密码呗,这种情况是非常危险的。因为一旦你某一个产品的账号密码泄漏了,那么可能会导致所有的账号被破解。
- 因为,每个账号管理的网站安全性是不一样的,有的网站存储密码非常专业,有的网站搞不好明文存储密码,那么坑大发了,其他的网站保护的再好也白费。
- 如果你的一个密码泄漏破解概率的风险是 0.01(特别是有人还用 12345,qwert 这样的弱密码,那就相当于白送),如果有一百个网站账号都用这同一个密码,统计来讲,泄漏的风险就是100%(0.01*100),并且账号越多,泄漏风险越大;
- 修改密码的强制需求:比如在公司上班,公司考虑密码的安全性,定期强制修改公司个人账号密码,密码设定要求也特别复杂,比如,历史 3 次不重复,长度大于16字符,还得有符号,有数字,有字母。这种情况下,你一个月改一次,真要让你脑子记这些。。。
- 二次验证(Two-factor authentication):网站现在经常有 “二次验证”(也叫一次性密码) 的需求,是需要记录一个密钥的,然后时时刻刻计算出一个一次性密码,这个也需要有个好工具才能用起来;
密码管理器就是为了解决上面三个需求出现的:
- 所有的密码都用密码管理器来管理,每一个账号密码都不同,可以使用非常高强度随机性强的密码;
- 密码管理器自身使用高强度的加密算法保护你的密码信息;
- 方便让你使用各个终端,web浏览器,不用再让你手动输入密码了;
- 避免你翻小本本,后面站个人偷看了去
- 密码修改都有历史记录,可追溯历史上使用过的所有密码;
- 支持二次验证的密钥存储和一次性密码的生成;
那么说到这里有人可能会吐槽:密码管理器本身的安全性怎么来保证?这个密码泄漏了岂不是也是一样的全丢了。
- 首先,这里的安全性和之前提到的一号通是不一样的(多个账号用同一个密码),同样以破解概率来讲,假设这个密码破解的概率是 0.01,这个泄漏的风险是不会随着账号的增多而增大的,而其他被管理的密码都是高强度的密码;
- 其次,所以你只需要把这一个密码管理器的密码和安全性做到极致就好了(密码特别复杂,并且随机密钥作为输入)。你可以理解成一个保险箱,我们机密的东西保存在保险箱里,那么怎么把这个保险箱的安全性做到极致就是一个讲究了,这个由工具的厂商,或者开源的贡献者们来做考量;
- 密码管理器使用的加密算法都是 AES-256 这样级别的加密算法,当前科技是不存在暴力破解的可能;
- 再者,考虑到这点,所以密码管理器数据存储的位置就有讲究了,你可以把加密文件存储在本地电脑,也可以把加密文件存储到某个云,也可以直接存储某个密码管理器的服务器;
主流产品对比
先对比三款类型的密码管理器,这三款也是大家用的比较多的。
KeePass | LastPass | 1Password | |
---|---|---|---|
价格费用 | 开源免费 | 付费 | 付费 |
平台支持 | Win/Linux/Mac 全平台支持 | Win/Linux/Mac | Win/Mac |
浏览器支持 | 基本上全支持 | 基本上全支持 | 基本上全支持 |
终端设备支持 | Android/iPhone | Android/iPhone | Android/iPhone |
数据存储 | 本地存储(同步需要业务自己定制方案) | 数据存LastPass服务器 | 支持本地,自定义云存储(Dropbox/iCloud),或者1Password服务器 |
软件特点 | 开源免费,本地使用足够了 | 浏览器支持好,有免费使用的版本,付费价格也不高 | 易用性好,漂亮,数据存储和同步选择多,支持一次性密码 |
笔者体验过 KeePass,1Password (LastPass 没有体验过,因为存储方式的顾虑),总的来讲,KeePass 是可以满足需求的,如果你是使用 Win/Linux/Mac 全平台,又偏向数据自管理,那么 KeePass 是比较好的选项,但是 Keepass 毕竟不是商业计费的产品,易用性上还是欠缺,数据同步方案需要自己定制。
keepass
官网:https://keepass.info
终端:
1Password 很早就在打磨的密码管理器,是一个纯商业产品,在整体方案上更好用些,所以下面就讲下 1Password 的高效率使用体验。
1password
1Password 数据如果是选择传输到后台,是端到端加密的,在本地和传输过程中均得到安全保护。 加密使用 AES-256 算法加密,并通过多种方式确保只有你本人才能访问自己的信息。
下载
iPhone,iPad,Mac 上可以直接下载,当前版本 1Password 7.
同步
1Password 支持将数据存在本地、iCloud/Dropbox、1Password.com。后两个选项会把密码文件加密存储于云端服务器,这样可以做到跨平台和设备。
存储的三种方式:
- 本地
- Dropbox/iCloud
- 1Password.com:可以选择同步全平台同步账号(这种必须要开通 1password 官网的账号,之后数据同步到 1password 服务器)
1Password 的数据可以只存在本地,可以通过本地 WLAN 网络只在本地的MacBook,iPhone间传递,但是考虑单点和设备切换的问题的话,一般都不会这么做,整个密码器丢失的概率有点大。
加密文件存储在 Dropbox 已经不大方便了,因为网络的问题。所以如果你是使用 Apple 系统生态的话,使用 iCloud 同步较为合适,1Password 会把经过 AES-256 算法加密的文件自动同步到云端。这种方式完全不需要和 1Password 服务器打交道。
如果你还想在Windows电脑上操作 1Password ,也是可以的,但是创建的账号必须是 1Password 网站的账号,数据存储 1Password 服务器,这样才能做到全平台。
密码管理
点击创建,可以选择创建不同的条目。一般来讲,使用最多的是登录信息,用来存储“账号-密码“ 即可。特别是有些一次性过路买卖的网站,上来就要你注册账号密码,我们都可以用密码生成器生成一个账号,密码管理起来。这样就算这个网站是坑人的,也不会泄漏我的常用密码信息,不然,如果你还是用”一号通“的方式,那就太便宜这个网站了。
创建示意图:
密码生成(可以自定义强度):
二次验证(动态口令)
1Password 支持方便的使用 2FA 密码,这个是非常牛逼的。
二次验证英文名:Two-factor authentication(简称 2FA),在 1Password app 里面也叫做“一次性密码”。二次验证是当前安全性的一个比较好的选项,笔者建议能开启都开启。因为如果只有“账号和密码” 还是有风险的,毕竟都是静态的,你密码再复杂,被人知道了还是凉凉(所以定期改密码也是个好习惯)。
什么是 2FA?
Two-factor authentication (2FA) is a specific type of multi-factor authentication (MFA) that strengthens access security by requiring two methods (also referred to as authentication factors) to verify your identity.
2FA 的实现形式有很多种?
SMS 2FA
这就是我们经常看到的短信验证码。这种方式好处是简单,因为大家现在人手一个手机,不用担心收不到短信,但是有局限性,要求你必须有手机,有手机号码,这个依赖于运营商,依赖于国家,地域等。所以,你有可能因为运营商的网络而收不到这个短信;
TOTP 2FA
TOTP 是 Time-Based One Time Password 的简称。中文翻译成:“基于时间的一次性密码”,这个是公认可靠的解决方案,已经写入国际标准 RFC6238,TOTP 是开放认证(OAUTH)安全体系结构的一部分。
一般使用步骤如下:
- 第一步,用户开启双因素认证,服务器生成一个密钥
- 第二步,服务器提示用户扫描二维码(或者也可以文本输入),把密钥保存到设备
- 这样,服务器和用户设备有了同一个密钥
- 第三步,用户登录时候,手机客户端(2FA 的 APP)使用这个密钥和当前时间戳,生成一个密码(存在有效期,默认30秒),二次验证的时候,用户递交给服务器
- 第四步,服务器也用密钥和当前时间戳计算,生成一个密码,和用户递交的对比,只要两者不一致,就拒绝登录
还有其他的 2FA 形式啦,Push-Based 2FA,U2F Tokens,WebAuthn 等等,此处不表。
1Password 怎么使用的?
1Password 里面翻译叫做“一次性密码”。我以 Github 的二次验证开启作为演示。
Github 开启二次验证
点击 Settings,找到二次验证。
安全恢复码
这个东西自己拿个小本本记下来,用于最后的保底恢复。
记录下来之后,点击下一步,就能看到二维码。
接下来就是保存密钥绑定设备
1Password 保存密钥 首先在 1Password 上新建一个登录条目给 Github;
- 把账号密码都填好
然后新添加一个字段“一次性密码”:
点击二维码的地方,扫码:
扫码成功会显示实时的一次性密码,把这个填到 Github 上,然后点击 “Enable”
74A7DE3C-6C42-4127-9669-D3B24CC52C34
一次性密码那里是一直在变的,因为每个一次性密码都是有有效期的,默认 30 秒。
提示开启成功
登录演示
常规填写用户名和密码:
密码验证通过后,还会要求填写动态码:
填上去就行了。
提一嘴:2FA 的动态密码的生成不止 1Password,还有很多 App 可以用,比如 Google Authenticator,Microsoft Authenticator,FreeOPT Authenticator 等,都是可以用来管理 2FA 动态密码的,但这些工具仅仅是 2FA 的工具,而不是密码管理器。
1Password 的优势在于他首先是一个功能完善的密码管理器,然后还集成了 2FA 的功能,是不是很酷。下面讲一个更酷的功能:配合智能终端的一个体验。
智能终端(Watch)配合使用
当前适配成熟的有 Apple 的智能终端(其他的手表终端还是迭代进化), 这样你就能在智能手表上来看密码和动态密码,特别是这种 2FA 的密码,简直不要太酷了。如图:
比如,如果你在公司上班,公司的某些安全登录,比如堡垒机或者安全机器需要 2FA 的方式登录,如果你是下载了一个其他的 2FA 管理器来使用,那么手机要掏出来,Authenticator 要点开,并且还无法做到跨设备。
而现在,你只需要抬手看下手表就行了,
如果高效的使用 1Password,体验式一站式的,1Password 作为密码管理器,配合终端手表还能看实时的 2FA 密码,非常高效。
总结
合理的工具使用带来高效的工作和生活的体验:
- 当你密码太多的时候,用密码管理器管理,拒绝一个密码对应多个账号;
- 当你需要临时创建一个账号的时候,不要再绞尽脑子想密码了,直接用 1Password 生成一个,你不需要记住他,只需要要用到的时候能找到就好;
- 当你密码强制定期修改的时候,1Password 能帮你记住你所有用过的密码;
- 当你开启二次验证 2FA,登录堡垒机,或者跳板机的时候,看下 1Password 就行了,有手表的抬手看下手表;
坚持思考,方向比努力更重要。关注公众号:奇伢云存储,获取更多干货。