完全本地化的密码管理器的安全问题
我正在创建一个 Chrome 扩展程序来自动填充一个特定网站“example.com”的用户名和密码。我想让一切都本地化,以防止任何安全问题。我的流程如下:
- 在“选项”页面上,用户可以输入用户名/密码,该用户名/密码保存在
- “example.com”上的
chrome.storage.local
中,扩展程序会使用chrome.storage.local.get(() => ...)
这有什么安全问题?
我的考虑
我担心
- Chrome 说
storage.local
不安全,但他们没有提供原因。责任? - Chrome 还表示
storage.local
对于每个 Chrome 扩展程序/网站都是唯一的。因此,攻击者窃取密码的唯一方法是破解我和/或我的源代码,并将恶意更改推送到我的扩展,对吗? (如果有任何其他方式,这是绝对不行的) - 理想情况下,我会将密码/用户名加密,例如使用 AES-256。但是,如果一切都是本地的,则要么有一个主密钥(任何攻击者都可以找到),要么有一个唯一密钥“安全地存储在应用程序中的某处”,可能是在安装时创建的。 <<但在哪里存储它呢?如果应用程序中有“安全的地方”,我应该将密码/用户名放在那里。
我想在没有服务器的情况下执行此操作,但是如果不可能,我愿意接受建议。
I'm creating a Chrome extension to autofill username and password for one specific site, "example.com". I would like to make EVERYTHING localized to prevent any security concerns. My process is as follows:
- on Options page, user can input username/password, which is saved in
chrome.storage.local
- on "example.com", the extension autofills the username and password with
chrome.storage.local.get(() => ...)
What are the security concerns of this?
What I've Considered
I'm concerned about
- Chrome says
storage.local
is not safe, but they do not provide reasons. Liability? - Chrome also says
storage.local
is unique per chrome extension / site. So the ONLY way for an attacker to steal a password is by hacking me and / or my source code, and pushing malicious changes to my extension, correct? (if there's any other way it's a definite no-go) - Ideally, I would have the password / username be encrypted, with e.g. AES-256. But if everything's local, there's either one master key (which any attacker could find) or a unique key that's stored "securely somewhere" in the app, maybe created at install. << but where to store that? If there's a "secure somewhere" in the app, I should just put the password / username there.
I'd like to do this without a server, however if that's not possible I'm open to suggestions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论