简体中文

文本和日常工具·密码生成器

仅浏览器密码生成器如何工作(以及如何验证它)

· 工作原理

密码 隐私 浏览器工具

一个浏览器选项卡,包含网络边界后面的单词列表、随机字节和选择块
原始 ToolAcre 矢量图

介绍页面在没有服务器参与的情况下生成密码短语必须执行的操作 - 加载单词列表、抽取随机数、选择单词 - 并提供任何人都可以执行的三项检查以确认没有发送任何内容。

还有谁看到了您的新密码? ——每个在线生成器都应该能够用“无人”来回答这个问题

有用的信任问题不在于在线生成器是否称自己为私有;而是在于。这就是选择后生成的字节发生的情况。 ToolAcre 的存储库给出了一个有限的答案:生成发生在选项卡中,结果呈现为文本,浏览器测试断言按“生成”不会创建网络请求。产品注册表会禁用凭证页面上的分析和广告。

此证据并不能证明设备上的任何人都无法看到该值。浏览器扩展、屏幕截图、恶意软件和受损的操作系统均不在页面的控制范围内。支持的声明涉及 ToolAcre 的代码和网络行为,而不是整个计算机或稍后可能使用生成的值的每个威胁模型。

存储库可以证明谁接收了生成的值

这三种成分是分开的并且可以检查。单词列表是静态的同源文本文件。 Web Crypto 提供随机字节。包函数过滤所选列表,绘制无偏索引并根据分隔符和大小写设置连接所选单词。字符模式从显式类别中提取,并在保证每个选定类别出现后安全地洗牌位置。

保持这些片段可见有助于审阅者区分数据加载和秘密传输。对 `wordlists/eff-long.txt` 的请求包含公共词汇,而不是组装的密码短语。生成的值仅在本地索引选择和组合条目之后才存在,并且端到端测试检查组装的字符串永远不会出现在单词列表响应中。

服务器端生成器的作用 - 以及为什么其他地方生成的密码已经被共享一次

服务器端生成器需要携带足够信息的请求或响应,以便服务器生成或传递秘密。那不是 ToolAcre 路径。页面获取公共资源,然后在浏览器中同步调用导入的引擎。没有密码生成 API 端点,也没有包含当前输出的请求正文。

避免将这种对比转变为所有远程生成器都是恶意的或本地执行自动安全的声明。本地页面仍然执行代码并在设备上显示凭据。这里可验证的优势比较窄:ToolAcre 的应用程序服务器在生成操作期间不会接收生成的值。

这个仅浏览器生成器避免了什么:不向 ToolAcre 服务器发出生成请求

在按“生成”之前打开开发人员工具并保留请求日志。让默认列表完成加载,标记当前请求计数,然后生成几个值。预期增量为零。浏览器测试执行这种精确的比较,如果生成增加了流量,则测试会失败。他们重复检查复制,因为剪贴板写入也是本地操作。

不要将初始单词列表下载误认为是泄漏。检查其 URL、方法和正文:测试需要无请求正文的同源 GET。有意义的网络审查会询问新组装的值是否出现在 URL、标头、请求正文或响应中,而不是静态应用程序是否加载资产。

检查二:内容安全策略 — 没有第三方脚本的严格策略如何限制数据的去向

密码产品的内容安全策略限制与其自身来源的连接,并且其注册表关闭广告和分析提供商。源代码级测试还禁止在可以保存凭据的代码路径中进行存储写入、控制台日志记录和 URL 放置。这些控制措施减少了未来意外变化的可用目的地,并使回归在审查中可见。

CSP 是深度防御,而不是证明每个同源脚本都是仁慈的。源代码检查和浏览器行为仍然是必要的。检查加载的脚本,遵循输出分配,并验证唯一的剪贴板调用发生在显式复制操作之后。徽章或政策句子不能取代这些观察结果。

检查三:断开连接——页面完全加载后,离线并再次生成;一个完全浏览器端的工具应该继续工作

离线行为需要工作簿中省略的一项限定条件。选定的单词列表必须已加载到当前页面。一旦进入内存,生成另一个密码将执行本地算术并且不需要请求。在断开连接时选择不同的未缓存列表可能会失败,因为页面仍然需要该公共静态文件。

因此,公平的测试会加载页面和所需的列表,断开连接,然后再次按“生成”。成功表明组装是本地化的;它没有显示每个资产都已捆绑,或者该页面可以使不可用列表具体化。单词列表加载器诚实地报告下载、丢失文件和空文件失败,而不是替换另一个列表。

检查三:加载选定的词表后,生成本身不需要请求

这些检查不会审核扩展、剪贴板管理器或操作系统。他们也不决定生成的凭证应存储在哪里。 ToolAcre 没有保险库、历史记录、同步或自动填充,并且本地生成中没有任何内容建议通过聊天、电子邮件或其他传输方式发送结果。

在生成实时凭证之前,设备必须是可信的。对于不受信任或共享的机器,该项目自己的限制页面说要使用其他东西。网络静默证明了页面操作的属性,而不是对屏幕或浏览器进程具有更广泛访问权限的软件的免疫力。

要点 — 密码生成器在您的设备上运行整个作业,每项检查都需要不到一分钟的时间

ToolAcre 支持具体的验证链:静态同源单词列表加载、Web Crypto 绘制、本地无偏选择、纯文本显示、生成时无请求以及仅显式剪贴板写入。注册表设置从密码产品中删除广告和分析脚本,同时测试搜索存储和日志记录回归。

重复这些检查,而不是相信间接的结论。结果应该是关于此构建和代码路径的范围声明。它永远不应该成为“这个密码在任何地方都是安全的”,也不应该将生成器与管理接下来发生的事情的管理器或策略混淆。