一位长期使用YubiKey的开发者近日撰文,记录了自己删除全部传统SSH密钥、全面迁移至硬件驻留密钥的完整过程。作者自ed25519-sk密钥可用以来便配合YubiKey使用,但因设备成本和使用场景限制,一直保留着若干传统磁盘密钥,此次决定彻底清理,目标是磁盘上不再保留任何未受保护的密钥材料。文章首先讨论了仅用密码短语的传统方案:密码短语通过bcrypt和AES加密密钥文件,配合ssh-agent每个会话只需输入一次,对多数威胁模型已足够,但作者出于更高安全追求与满足感选择硬件路线。硬件驻留密钥的核心优势在于密钥材料生成于安全enclave内部,无法被导出,磁盘文件仅为指向硬件的句柄。作者规划了三条技术路径:一是YubiKey方案,使用OpenSSH原生支持的ed25519-sk密钥类型,通过ssh-keygen的resident与application参数在设备上注册,无需额外软件,可用ykman管理凭证,每次认证需物理触摸设备确认在位,自动化场景可改用no-touch-required密钥但需在服务器端显式声明并承担相应风险;二是TPM方案,借助开源的ssh-tpm-agent(Golang编写,Ubuntu已原生打包并正在推进Fedora打包),通过ssh-tpm-keygen创建带PIN的TPM密钥并使用配套agent认证;三是Apple Secure Enclave方案。文章还计划在LXC容器、非交互式SSHFS挂载等真实场景中验证可行性。
事件分析
从技术演进看,这波实践折射出开发者身份认证正加速向硬件绑定迁移。ed25519-sk本质是FIDO2/WebAuthn标准向SSH领域的延伸,TPM方案则受益于Windows 11强制预装TPM 2.0带来的硬件普及,ssh-tpm-agent等开源工具正在填补易用性空白,而Apple Secure Enclave路线与苹果推动Passkey替代密码的战略一脉相承。产业层面,近年多起重大供应链攻击均以开发者凭据为突破口,npm与PyPI投毒事件使私钥保护成为焦点,硬件驻留密钥从架构上根除了私钥导出的可能,即便开发机被植入恶意软件也无法窃取密钥材料,这对开源生态信任链建设具有实际意义。后续值得关注的方向包括:各Git托管平台对硬件签名密钥的支持深度、企业级密钥管理工具对TPM与Passkey的整合进度,以及CI/CD无人值守场景下安全性与自动化之间能否出现更优雅的标准化权衡。
核心观点:在供应链攻击频发的时代,把私钥锁进安全芯片不是极客的偏执,而是开发者凭据安全的必然基线。
原文链接:Hacker News