Encrypting Files with Passkeys and Age
10 months ago
- #encryption
- #WebAuthn
- #passkeys
- Typage 是 age 文件加密格式的 TypeScript 实现,支持 Node.js、Deno、Bun 和浏览器环境。
- 通行密钥是可同步、可发现的 WebAuthn 凭证,提供抗钓鱼攻击的身份验证方案。
- WebAuthn PRF 扩展通过将 PRF 输出视为密钥来实现对称加密,该过程需要用户验证。
- Typage 0.2.3 版本新增了用通行密钥加密文件的功能,实现代码不足 300 行。
- 通行密钥可存储在平台验证器、密码管理器或 YubiKey 等硬件 FIDO2 令牌中。
- fido2prf age 格式利用 PRF 输出加密文件密钥,确保每个文件与硬件绑定且不可关联。
- Typage 通过 WebAuthnRecipient 和 WebAuthnIdentity 的简单 API 调用实现通行密钥加解密。
- 配合 age-plugin-fido2prf CLI 插件,Typage 可支持安全密钥硬件令牌操作。
- 身份标识字符串编码了安全密钥流程所需的凭证信息,增强了加密安全性。