伪装:抗丢失密码管理系统深度解析
1. 架构概述
密码管理软件在任何时候都会维护大量看似合理的密码集,其中只有一个是真实的密码集,其余的都是诱饵。除密码外,所有其他网站信息都是明文存储的。这意味着攻击者查看数据库时,知道用户为哪些网站设置了密码,但不知道具体密码是什么。当真实用户启动网络浏览器时,系统会提示输入主密码(MP),然后通过加密转换获取真实密码集在集合中的索引。在字典攻击期间,任何猜测主密码的尝试都会得到一组不同(看似合理且有效,但不正确)的密码。
2. 数据库操作
密码数据库需要支持以下核心操作:
- 添加新密码 :在设计中,这相当于向集合中的每个密码集添加一个新密码。真实密码集获取用户提供的值,而诱饵集则获取受真实密码影响的自动生成条目。
- 移除密码 :这是添加密码的逆操作,只需从每个密码集中移除该网站的条目,无需重新生成。
- 更新密码 :当密码更改时更新密码条目。虽然密码集集合的大小不会改变,但每个诱饵密码集中的相应条目也必须重新生成。这样做一方面确保诱饵集中的重用模式继续与真实密码集匹配,另一方面防止攻击者通过比较更新前后的数据库图像来找到真实密码集。
- 查找密码 :根据网页特征(如URL和表单字段名称)找到正确的密码。在已知主密码的情况下,这是对真实密码集的直接数据库访问,忽略所有诱饵。
3. 密码集生成
诱饵密码集必须与真实密码集难以区分。采用扩展上下文无关语法的方法来生成诱饵密码集,具体步骤如下:
1.
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



