第三代密码管理器 主密码+主密钥保护
第三代密码管理器,
安全技术 增加主密钥保护,提升云端安全性
安全问题 设备终端安全性仍然取决于主密码
第二代密码管理器通过云端同步时,离泄露所有密码就只有一个主密码的距离。
而主密码的安全问题 并不能让人放心。聪明的人们用技术改变安全,哦不,改变生活。
说到第三代密码管理器,就不得不提1Password
,他们设计了一个叫 two-secret key derivation (2SKD)
的方法来生成 加密密钥
。
为了力证自己与外面的“妖艳贱货”不一样,
1Password
还公开了技术白皮书。
使用 1Password
的用户除了要设置主密码外,还需要把一个主密钥 Secret Key
保存起来。
区分一下
主密钥
和加密密钥
,
- 主密钥 用于和主密码一起生成加密密钥
- 加密密钥 通过主密码生成,用于加密数据的密钥
加拿大另一家公司的产品 RememBear
采用了类似的技术,要求用户除了要记住主密码以外,还需要保存好 New Device Key
。换汤不换药,这不过是给主密钥换了个名字而已。
算法本质上很简单,套路都差不多,
graph TD
MasterPassword --> PBKDF
SecretKey --> PBKDF
count --> PBKDF
PBKDF -->|derive| key
SecretKey -->|save| KeyFile
count -->|save| KeyFile
是不是很眼熟?除了把 salt
换了个名字叫 Secret Key
之外,是不是和第二代密码管理器生成加密密钥一样的?
一样的!!!
一样的!!!
一样的!!!
当然,也不会完全一样啦,要不然怎么堪称第三代呢。
第二代密码管理器通过网络同步时,会把生成加密密钥的参数 salt
一起同步,而第三代密码管理器并不会同步 Secret Key
!
第三代密码管理器不同步 Secret Key
第三代密码管理器不同步 Secret Key
第三代密码管理器不同步 Secret Key
第二代密码管理器在登录新设备时,只需要输入账号密码,就可以解密云端同步下来的数据。
第三代密码管理器在登录新设备时,除了账号密码外,还需要输入 Secret Key
,才能解密云端下载的数据。
虽然这只是一个很小的改动,但却极大提升了云端同步的安全性。
小黑非常黑,继上次成功盗取小白的银行账户后,他又打开了
两个密码
这个第三代密码管理器的服务器,发现你的空间
和两个密码
都有小黄,但是这一次,小黑失败了,他没能偷取到小黄保存的账号密码。
第三代密码管理器的主要特点:除了主密码,还增加了一个不同步的Secret Key
。
正是因为有了这个Secret Key
,第三代密码管理器才可以保证:即使云端被入侵、主密码被泄露,黑客依然无法获取用户存储的账号密码。
回顾可知,其实每一代密码管理器都比上一代增加了一个解锁条件,大幅提升安全性。
代 | 解锁条件 |
---|---|
第一代 |
|
第二代 |
|
第三代 |
|
虽然小黑在云端走不通,但他可以走终端的嘛。正如欢哥所唱,只不过是从头再来来来~
要想成功盗取存在第三代密码管理器中的密码,小黑其实只需两步,
数据文件
和 主密钥
主密码
第一步并不难。当用户在设备上首次登入自己的账号后,第三代密码管理器就会把 主密钥
保存在本地(不会让用户每次都输入)。
传统的密码管理器都是基于桌面计算机时代的技术开发的(Windows操作系统是主要代表),在传统的桌面操作系统上,密码管理器保存的数据文件是可以被恶意软件直接读取的,甚至恶意网站都有可能利用浏览器的安全漏洞来读取数据并发送到云端。
总结,在终端设备上,第三代密码管理器和第二代一样,离泄露所有密码都只有一个主密码的距离。
上一篇已经讨论过 主密码的安全问题
这是最好的时代,也是最坏的时代。这是云的时代,方便了我们,也方便了小黑。
就算没偷到主密码,小黑在aws租上1000个GPU,怕是分分钟就能灭掉一大片。