Bitwarden 浏览器扩展的 PIN 解锁是否安全?
- 0次
- 2021-08-10 02:18:54
- idczone
源码地址 https://github.com/bitwarden/browser
发现很多 V 友在使用 Bitwarden,想知道 Bitwarden 浏览器扩展是如何防止使用 PIN 解锁的密码库被电脑上其它程序读取的。PIN 码通常很短,虽然使用扩展解锁输错 5 次会要求密码解锁,但直接读取密码库并进行暴力破解 PIN 是否很容易实现?解锁后其它程序是否有可能直接读取到明文密码?因为这个扩展是用 TypeScript 写的,就发到 JS 区请 V 友帮忙分析一下了。
疑问+1
没用过,我都是直接主密码解锁
https://docs.microsoft.com/zh-cn/windows/security/identity-protection/hello-for-business/hello-why-pin-is-better-than-password
看着是这边: https://github.com/bitwarden/browser/blob/master/src/popup/settings/settings.component.ts#L190
麻烦先看帖子再回复,不是 Windows Hello,原理完全不一样。
主密码随机的,忒长,记不住。
浏览器扩展经常上锁,除非你电脑能搞生物验证,不然还是 pin 方便。
慢哈希
https://en.wikipedia.org/wiki/Argon2
经常用于将短密码派生成长密码
这讲的不只是 Windows Hello
> 如何防止使用 PIN 解锁的密码库被电脑上其它程序读取
防不了,你得保证你的系统是安全的。
要防止其他软件作恶的话,建议独立硬件存储,且不连接到设备上,不然再怎么防御也就是和 chrome 几乎明文存密码一个安全等级,能控制得了设备的就可以拿到密码,顶多需要潜伏到你输入 pin 那一刻。
没有物理隔离就没法谈安全。
所以最最最最底线是要保证你的终端设备是安全的,否则你不用 pin 用长的主密码也照样会被窃取,再加上目前主流的密码管理工具都是本地加解密模式,说不定偷解密的密码库比偷秘钥还简单。
上面分享 Windows Hello 的文章跟楼主讨论的问题其实并不是毫无关系,主要是介绍了一下 pin 的安全性思想,这个在任何产品上都是通用的,即是:pin 机制的安全性是建立在诸多限制和安全策略的前提之上的,因为有相对合理的安全性,所以可以用在一些场景中。
所以正面回答楼主的提问的话,破坏了保证 pin 机制的限制和安全策略之后,显而易见 pin 的安全性大打折扣,但与此同时,主密码的安全性也损失不少。
如果不放心,可以牺牲一些便利性换取更多的安全性;毕竟,
安全都是相对的。