Search 浏览器如何安全存储密码?macOS 钥匙串与 Passkeys 机制完整解析
Search 浏览器如何安全存储密码macOS 钥匙串与 Passkeys 机制完整解析【免费下载链接】SearchA small, fast WebKit browser for macOS, by Office Commun.项目地址: https://gitcode.com/gh_mirrors/search59/SearchSearch是一款由 Office Commun 打造的 macOS 轻量 WebKit 浏览器约 3 MB、免费、需 macOS 14它的核心卖点之一就是把密码存储交给系统所有账号密码写入 macOS 登录钥匙串支持 Passkeys 无密码登录并可从 Chrome 等浏览器一键导入。这篇文章带你完整看懂它的钥匙串与 Passkeys 安全机制。密码存在哪里macOS 登录钥匙串很多浏览器把密码存在自己的数据库文件里而 Search 选择了与 Safari 同一套保险柜——macOS 钥匙串Keychain。具体规则写在 Vault.swift 的注释里每条密码是一条互联网密码项kSecClassInternetPassword按网站 账号索引所有条目打上Search标签只属于 Search 自己不会与 git 令牌等其他应用的同名条目互相覆盖见 Vault.swift 的写入逻辑加密由系统完成任何形式都不会落盘到别处也从不写日志条目权限设为解锁时可访问kSecAttrAccessibleWhenUnlocked读取方只能是签名自 Office Commun 的 Search其他应用碰一下就会触发系统的授权弹窗。简单说密码的保管人是你的 Mac不是浏览器厂商。Search 没有服务器、没有云同步README.md 的隐私表 写得明明白白历史记录等也只是本地 JSON 小文件。保存与自动填充克制的密码流程Search 对密码的态度可以概括为只在你确认的情况下动手先成功、再询问。只有当一次登录真正生效后Search 才会弹窗询问是否保存见 README.md 中 Passwords, in your keychain 一节。按站点而非主机匹配。你在example.com保存的密码在accounts.example.com也能被找到——它用可注册域名做匹配Vault.swift 的跨子域查找并记录最近使用时间常用账号排在最前。明文 HTTP 页面不喂密码。从普通 http 页面保存的密码会被单独标记clear字段Search 绝不会把它交给任何可能被中间人篡改的页面Login 结构定义。查看必须过生物识别。在密码面板⌥⌘L里点显示会先调用 Touch ID / Apple Watch / 系统密码验证Vault.prove 实现密码明文只显示15 秒后自动打码Passwords.swift 的揭示逻辑。Passkeys 机制为什么 Search 要亲自接管Passkeys无密码密钥是 WebAuthn 标准用 Touch ID、iCloud 钥匙串或安全密钥登录密码本身不存在浏览器里。这里有个技术细节值得新手了解Apple 把 Passkeys 的浏览器权限作为受限 entitlement发放需要专用签名才能启用。Search 的发布构建携带了对应的 Search.passkeys.entitlements其中com.apple.developer.web-browser.public-key-credential一项就是关键。由于 WebKit 对条件中介在用户名输入框下自动推荐 Passkey存在一个已知的卡死缺陷Passkeys.swift 开头的注释 记录了排查过程Search 像 Mac 上的 Chrome 和 Firefox 一样自己接管了整个 Passkeys 流程从页面接收请求 → 校验 → 交给系统 AuthenticationServices → 把结果回传给页面。发起 Passkeys 请求前的五道安全校验在 Passkeys.perform 方法 中任何请求都要先过这五关校验拦截的风险必须是 https 页面localhost 除外中间人监听窗口必须处于前台聚焦后台标签页偷偷弹系统验证面板只允许主框架或同站 iframe第三方嵌入内容冒充站点发起请求Relying Party 域名必须是页面的可注册域名或其上级用com、github.io这类任何人都能注册的公共后缀套取密钥必须携带非空 challenge伪造/重放请求其中公共后缀判断直接复用了 macOS 系统自带的域名列表Passkeys.fits 实现确保bbc.co.uk这类复杂域名也能正确处理。用户侧体验一切校验通过后弹出的是macOS 自己的 Passkeys 面板Touch ID 验证、iCloud 钥匙串里的 Passkey、附近 iPhone 扫码或插入 USB/NFC 安全密钥任选其一。设置中可随时关闭 Passkeys 推荐Prefs.swift如果装了 1Password、Bitwarden 等密码管理扩展它们优先应答 Passkeys 请求Search 会把浏览器侧的通道让给扩展Forms.swift 的说明。从其他浏览器一键导入迁移不需要导出 CSV 再手动粘贴。在密码面板底部PasswordsPanel 的导入区直接点 Chrome、Arc、Dia、Brave 或 Edge 的按钮读取源浏览器本地存储的密码系统会请求一次源浏览器的钥匙串密钥不改动原数据所有条目直接进入你自己的钥匙串、归在 Search 名下也可以选择 CSV 文件导入文件读完即止Search 不保留副本Vault.take 实现。整个过程不出本机——这也是 Search 的隐私底线没有账号、没有云、没有遥测README.md。快速上手清单 操作方法打开密码管理面板⌥⌘L显示某个密码先过 Touch ID15 秒后自动隐藏关闭 Passkeys 推荐设置 › Passwords检查 Passkeys 系统授权系统设置 › 隐私与安全性发现安全漏洞按 SECURITY.md 私有渠道上报小结Search 的密码安全设计可以总结为三句话存储上交给系统钥匙串加密、权限隔离、生物识别验证流程上保持克制登录成功才询问、http 页面不喂密码、明文限时展示Passkeys 上主动加固五重校验 系统原生面板。代码只有约一万两千行且单文件单职责想核对任何一个结论直接读 Sources/Search/ 里的 Vault.swift 和 Passkeys.swift 即可。【免费下载链接】SearchA small, fast WebKit browser for macOS, by Office Commun.项目地址: https://gitcode.com/gh_mirrors/search59/Search创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →