要判断一个密码管理器的安全性如何,应该从保密性和可用性两个角度去分析。很多人在提到安全的时候立马就能想到保密性,比如:开发者会不会给软件留后门偷我的数据?黑客能不能黑进服务器拿到我的密码?所以保密性就是“我的密码会不会泄露”的问题。而可用性就是“我的密码会不会丢失”的问题,比如:忘记主密码是不是数据都找不回来了?数据存在云端那云服务商跑路了怎么办?
比较1Password和LastPass的安全性,在这里就先重点说说保密性。
一个软件的安全设计是渗透到多个方面的,因此安全性也是表现在多个方面的,要非常深入分析的话,恐怕讲好久都讲不完惹,现在就从几个大方面去大概对比一下吧。
先抛结论:总的来说,1Password 比 LastPass 安全。涉及到具体的使用情境的话, 就要看具体的设计对比了。
表格信息经汇总LastPass官网, 1Password官网, 第三方测评平台, 神锁离线版安全研究团队等各方资料得出
加密设计
密码管理器的数据加密设计非常重要,它就像是一栋大楼的基底,如果这个基底都没打好,其他方面再怎么搞,也是白搭。
从加密设计来看,LastPass属于第二代密码管理器,安全性取决于用户设置的主密码。一旦主密码泄露,可能导致所有密码被盗。
可以看看我们的硬核技术文章,深入了解第二代密码管理器
神锁离线版:密码管理器进化史(2/4)zhuanlan.zhihu.com
LastPass使用了最高等级的加密算法 AES-256,也就是宣传中常说的军事级别加密算法。这个算法很难被破解,黑客通常也不会去破解加密算法,而是会尝试获得用来加密用户数据的加密密钥 key
。所以,怎么生成并保护好加密密钥才是密码管理器的关键安全技术。
目前推荐的生成加密密钥的算法是 PBKDF2,bcrypt、scrypt等其他算法也有应用,尽管每个算法的具体细节不尽相同,但基本原理其实都是差不多的。LastPass也使用了 PBKDF2算法,基于用户设置的主密码来生成加密密钥。使用LastPass的用户,只需设置并记住一个主密码。第二代密码管理器的算法原理图大概如下:
AES加密算法本身很安全,只要选取了合适的密钥生成算法(如 PBKDF2
) + 真正随机的 salt
+ 合理的迭代次数 count
,第二代密码管理器就极难被破解,除非黑客能够破解主密码。
从加密设计来看,1Password属于第三代密码管理器,与第二代相比,增加了主密钥保护,提升了云端安全性。设备终端的安全性仍然取决于主密码。
可以看看我们的硬核技术文章,深入了解第三代密码管理器
神锁离线版:密码管理器进化史(3/4)zhuanlan.zhihu.com
与LastPass一样,1Password也使用了最高等级的加密算法 AES-256。不同的是,1Password设计了two-secret key derivation (2SKD)
来生成加密密钥 。使用1Password
的用户,除了要设置主密码外,还需要把主密钥SecretKey
保存起来。第三代密码管理器的算法原理图大概如下:
第二代和第三代生成加密密钥的算法原理图看起来是不是很像? 好像只是把salt
换了个名字叫Secret Key
。但其实,通过网络同步时,这两者的处理方式不一样。
第二代通过网络同步时,会把生成加密密钥的参数salt
一起同步,而第三代并不会同步Secret Key
。这个小改动极大提升了云端同步的安全性。
第二代密码管理器在登录新设备时,只需要输入账号密码,就可以解密云端同步下来的数据。第三代密码管理器在登录新设备时,除了账号密码外,还需要输入Secret Key
。
所以, 由于有了Secret Key
,第三代密码管理器可以保证:即使云端被入侵、主密码被泄露,黑客依然无法获取用户存储的账号密码。
总结:在云端,1Password比LastPass更安全。在设备端,两者的安全性都依赖于用户设置的主密码,主密码泄露可能导致所有密码泄露。
其他设计
除了最基础的加密设计外,1Password和LastPass都通过更多功能设计来提升产品的安全性,包括身份验证、安全审计等等。可以参考一下第三方的对比测评以及1Password和LastPass官网的介绍。
放几个链接作参考:
- 1Password vs. LastPass (2020): Which Password Manager Is Best?
- Password manager showdown: LastPass vs. 1Password
- 1Password vs. LastPass
简单汇总几点:
- 身份验证
LastPass更好。1Password可以通过Authy, Microsoft验证器开启两因素身份验证, 能使用生物验证, 不能使用第三方的验证器或USB令牌。LastPass可以通过OTP应用程序, 物理身份验证器, 智能卡等开启多因素身份验证, 也可以同时开启生物验证, PIN码等等。 - 安全审计
1Password更好。1Password已经做过了多次第三方安全审计, 比如 SOC 2 Type 2 认证, Bugcrowd 公司的漏洞赏金项目, 以及 ISE 的代码测试。LastPass在这方面稍微弱一些。 - 清除粘贴板
两个都有提供, 差别不大 - 自动锁屏
两个都有提供, 差别不大 - 其他
1Password提供”旅行模式”, 开启时, 某些保险库将会从设备中删除。LastPass提供”限制特定国家”功能, 防范来自其他国家的恶意访问。
总结:1Password和LastPass都各自有自己的特色功能, 这些功能某种程度上都有帮助提升密码管理器的安全性。
电脑端使用
很多人提到在电脑端使用密码管理器的时候, 通常都只关心便利性而忽略了安全性, 所以在这里我就展开说一下。
电脑端上常见的密码管理器技术方案有两种:桌面客户端,插件密码管理器。LastPass推出了基于浏览器的插件密码管理器,支持Chrome、Safari等多个平台。1Password推出了基于浏览器的插件密码管理器1Password X,桌面客户端,以及搭配桌面客户端使用的插件密码管理器1Password extension。
桌面客户端本身可能会比插件密码管理器更安全一些,因为在一定程度上,插件密码管理器的安全性会受浏览器影响。
首先,桌面客户端可以采用一些系统底层技术,防止 Keylogger程序偷取主密码,但是基于Web技术的插件密码管理器程序,无法访问操作系统的底层接口,完全依赖浏览器的密码输入框,无法防范 Keylogger 攻击。
其次,浏览器天然联网的特性,让很多漏洞更容易被黑客远程利用。基于浏览器平台的插件密码管理器也很容易被攻击。黑客不论是在操作系统上植入了恶意程序,还是攻破了浏览器的保护,都不难破解插件密码管理器。
数据来源:CVE Details
最后,由于浏览器的插件开发接口基于Web技术,非常开放灵活,所以恶意程序通过 Web DOM/JS(Document Object Model/Javascript),几乎可以访问和控制页面中的任何内容。著名安全研究员 Sean Cassidy 在他的博客 Browser Extension Password Managers Should Not Be Used中认为插件密码管理器风险无法避免。
安全研究员Martin Vigo也曾在 Even the LastPass Will be Stolen, Deal with It!中演示了破解LastPass插件的方法,其中基于插件密码管理器的方法就有4种。
当然,桌面客户端也有不安全的表现。比如,Independent Security Evaluators 去年发布的一份研究报告发现,桌面端密码管理器可以通过扫描内存找到主密码。《华-盛顿邮报》报道相关事情并公开了一个演示视频。
安全研究员 Adrian Bednarek 提取1Password 主密码的视频
总结:在电脑端,两者的安全性都不够。但是使用1Password的桌面客户端可能会比使用LastPass插件密码管理器要安全一些。
安全事件
也不知怎的,LastPass老是被爆出存在安全问题。
比如,2015 年,在线密码管理器LastPass被黑。虽然官方宣称存储的密码都已经加密,但保守估计,只要愿意,黑客至少能够破解10%的用户密码。内部“坏员工”同样可以以这种方式破解用户密码。
又比如,2016年,LastPass Password Manager Bug Lets Hackers Steal Your Passwords。IT安全研究员Mathias Karlsson发现,黑客可以通过向用户发送特制的URL来窃取存储在LastPass中的密码。
再比如,2018年,LastPass密码管理器再曝严重漏洞,基于浏览器的密码管理器还能用吗?安全人员发现在 LastPass Chrome 和 Firefox 4.1.42 版本插件中存在三个漏洞,可能会导致用户在使用该组件的过程中泄露密码。
与LastPass相比,1Password爆出的安全问题较少,但不爆出不代表不存在……世界这么魔幻,谁知道呢
2021年3月再来补充:最近Lastpass被爆出内置7个第三方跟踪器!相比之下1Password则没有……
你以为内置跟踪器只会影响隐私?当然不,跟踪器还可以影响存储的密码安全。
详情请看上一篇文章,我从 权限、威胁、攻击 三方面深入揭秘其安全风险。
来源:freebuf.com 2021-03-25 18:50:51 by: idguardoffline
请登录后发表评论
注册