安全指南
在线密码生成器安全吗?
了解在线密码生成器何时安全使用、本地浏览器生成的含义以及仍然存在的风险。
摘要
在线密码生成器在浏览器本地生成密码、使用加密随机源且不将生成的值发送到服务器时是安全的。仅凭页面使用HTTPS或看起来专业并不能自动保证安全。
PwdGen 围绕本地生成设计。您可以阅读方法论并在浏览器网络面板中测试这一说法。
“本地生成”的含义
本地生成意味着密码由浏览器中运行的代码选择。网站可以提供页面,但不需要接收生成的密码。在 PwdGen 中,生成器使用 Web Crypto,在页面中呈现结果,并且仅在您点击复制时写入剪贴板。
需要验证的内容
打开开发者工具,清除网络面板,然后重新生成并复制密码。您不应看到包含生成值的 Fetch、XHR 或 Beacon 请求。同时检查网站是否解释了其随机源、没有声称不可能实现的保证、并且不要求您创建帐户才能生成密码。
剩余风险
本地生成无法保护受感染的计算机、恶意浏览器扩展、剪贴板监视器、屏幕录制器、钓鱼页面或不安全的密码管理器。生成的值一旦出现,就应将其视为机密。
详细指南
本指南侧重于评估在线密码生成器是否安全使用。它面向注重隐私的用户,他们希望获得浏览器的便利性,同时避免服务器端处理密码,因此实际目标不是制造戏剧性的安全声明。目标是选择一种能够经受日常使用的密码习惯:登录表单、密码管理器、移动键盘、帐户恢复、共享设备以及偶尔遇到奇怪验证规则的服务。只有真实的人能够一致地遵循,安全的建议才有用。
最安全的起点是随机性加唯一性。随机性意味着值是从一个大空间中通过加密合适的随机源选择的,而不是根据生日、宠物名、键盘模式或最喜欢的名言编造的。唯一性意味着同一密码不在其他地方使用。一个长但重复使用的密码在一次无关的泄露后可能迅速失效,而唯一的随机密码将损害限制在使用它的单个帐户。
对于本主题,一个实用的预设是使用 Web Crypto 进行浏览器本地生成,并且不将生成的值提交到服务器。您可以使用离线密码生成器应用该预设,然后将最终值存储在受信任的密码管理器中。PwdGen 在浏览器中使用 Web Crypto 本地生成值;生成的密码不会发送到 PwdGen 服务器。这种本地设计减少了服务器端暴露,但不能防范所有威胁。恶意浏览器扩展、受感染的设备、钓鱼页面或不安全的剪贴板处理仍然可能在生成后暴露机密。
最常见的需要避免的问题是服务器生成的密码、密码字段附近的第三方脚本、侵入式分析、克隆副本以及具有页面访问权限的浏览器扩展。这些问题之所以重要,是因为当人类习惯给攻击者提供捷径时,攻击者很少需要暴力破解所有可能的密码。凭证填充、钓鱼、泄露密码列表和帐户恢复滥用通常比纯粹的数学搜索更现实。这就是为什么最佳建议将密码质量与帐户级控制(如 MFA、通行密钥、恢复代码存储以及定期检查恢复电子邮件或电话设置)相结合。
应用建议时请使用此清单:
- 寻找本地生成的解释。
- 避免需要帐户才能进行基本生成的工具。
- 检查隐私和方法论页面。
- 处理高价值凭证时使用离线模式。
如果网站拒绝理想设置,不要手动将密码强制改为较弱的模式。一次调整一个变量。如果拒绝符号,则保留大写、小写和数字并增加长度。如果最大长度较低,则使用允许的最大长度并确保值是唯一的。如果密码必须大声读出、打印或在电视或路由器屏幕上输入,请考虑排除易混淆字符并增加长度以补偿较小的字符集。
最后,记住密码建议的边界。强密码是一层防御,而不是保证。它不能使钓鱼页面安全、修复恶意软件或补偿存储凭证不当的服务。有用的习惯是枯燥但持久的:生成唯一值、安全存储、保护恢复路径,并在怀疑泄露时迅速更换。
常见问题
如果在线生成器在本地运行,安全吗?
它可能比服务器端生成更安全,因为生成的值不需要离开浏览器,但设备和浏览器的信任仍然重要。
使用前应检查什么?
寻找本地生成、Web Crypto、无密码承载请求、隐私政策和清晰的方法论。
本地生成能防范恶意软件吗?
不能。恶意软件、恶意扩展、不安全的剪贴板管理器和钓鱼页面超出了生成器的保护范围。