Passkey 是更好的未来,这点我们并不怀疑。但现实世界里,大量服务、后台系统和迁移流程,仍然和 TOTP、恢复码、传统 2FA 长期共存。
所以问题从来不是"还要不要做一个验证器",而是:当 TOTP 还没退场时,我们能不能把"信任边界"做得更细,让不同价值的账号进入不同强度的解锁通道?
过渡时代的真实问题
纯软件方案的"同篮子风险"
无论是云端同步还是纯本地 Auth 应用,它们都倾向于把所有 TOTP 密钥放在一个篮子里。一旦手机在已解锁状态下脱离视线,攻击者拿到的往往不是一个账号,而是你从社交媒体到交易所的一整串动态密码。
单硬件通道方案的"高摩擦"
硬件密钥当然更安全,但"所有账号都走同一把钥匙"会带来高摩擦。你会发现:哪怕只是登录低风险论坛,也要重复掏钥匙、贴 NFC 或插 USB-C,长期使用的阻力非常真实。
我们的答案:把 TOTP 按价值分层
我们想做的,不是再重复一个"支持扫码、支持迁移、支持本地存储"的验证器,而是把系统级生物识别的便利、YubiKey 通道的专属硬防护,以及通用 FIDO hmac-secret 的开放兼容组合起来。
在创作 LocalLens 产品的过程中,我们持续把硬件密钥链路工程化,逐步扩展到 FIDO CTAP2 hmac-secret 体系。深入研究后我们意识到:硬件密钥不该只是"有或没有"的单点能力,而应该成为"可分级、可替换、可验证"的底层安全能力。
这就是 独揽令牌 (LocalAuth) 诞生的原因。我们重构了验证器底层逻辑,做出的关键决定不是"再做一个 2FA App",而是:把"一刀切解锁"改成"三通道分级解锁"。
-
日常防护级(Face ID / Secure Enclave) 对于 GitHub、社交媒体等日常账号,密钥加密存储于本地,只需看一眼屏幕即可快速复制,把高频登录的摩擦压到最低。
-
YubiKey 专属级(YubiKit 通道) 对于交易所、钱包、主密码等核心资产,种子密文在手机里,但解密密钥依赖实体 YubiKey 参与派生。没有物理钥匙在场,验证码无法还原。
-
通用硬件密钥级(FIDO hmac-secret) 对于希望统一 USB-C 与 NFC 使用体验的用户,可使用兼容 hmac-secret 扩展的设备,通过标准 FIDO 通道完成解锁,让分级安全不被单一品牌绑死。
旅行寄存:低频紧急场景的安全网
默认的令牌体验以本地为主。但纯本地方案有一个致命弱点:手机一旦丢失或损坏,所有令牌将无法找回。
旅行寄存是我们为这种极端场景设计的应急通道。你可以将当前令牌加密打包上传到云端,并获得一个取件码。需要恢复时,只需在新设备上输入取件码即可下载并解密。
这是一个低频紧急功能。只有在你主动创建或下载旅行寄存时,应用才会连接网络,且上传内容全程端到端加密——服务端无法解读你的任何令牌数据。
做一款真正有立场的本地验证器
除了底层的硬核安全,我们在 UI 层面也倾注了大量心血。我们厌倦了那些千篇一律的白底黑字和突兀的倒计时饼图。在 LocalAuth 中,生命周期融入了静谧的呼吸圆环,复制操作拥有真实的 Taptic 震动反馈,多任务切换时会自动拉起高斯模糊防窥层。
它依然遵循 LocalLens Project 的核心教条:默认绝无云端同步,不收集一字节的隐私。只有在你主动使用旅行寄存时,才会临时连接网络,且全程端到端加密。
我们相信,安全工具应该允许用户验证它,而不只是相信它。
独揽令牌已开源到 GitHub。代码公开之后,你可以更清楚地审视本地令牌、旅行寄存与硬件密钥的每一行实现。真正的安全,从来不需要黑盒里的闭门造车——而是经得起审视的绝对透明。
Passkey 会继续普及,但 TOTP 不会在一夜之间消失。我们想做的,就是在这段过渡时期里,为你提供一个极度安全、赏心悦目、支持分级信任边界、且完全透明的本地数字保险箱。