六月初,苦苦等待许久的 CanoKey Pigeon 终于上线第二批,拿到之后,我非常兴奋地用它绑定了一大堆常用网站的 两步验证 ,折腾半天后发现一个问题:如果对 OpenPGP 和 PIV 没有需求,仅仅把它作为 2FA 工具使用,我好像还不如直接用 Apple Watch 上的 Authy 来得安全、方便。
而且我有很多个理由拒绝 OpenPGP / PIV。两者在不同平台上需要各种配置,至少对于坚定的 Windows + WSL 用户如此;文件形式密钥备份起来非常不方便,尤其是出于安全性考虑,还有多介质备份 + 脱机条件一次性操作 + 主密钥、三个子密钥、撤销凭证备份、有效期、使用方法不同等等要求;各种操作都需要不同长度、不同作用的 PIN,我能记住超过三个 PIN 就很不错了,可能对于许多用户,需要的密码越多,越可能使用雷同密码或弱密码;最重要的是无法保证跨平台可用性,万一某一天出门在外突然有认证需求,却只有 iOS 设备,那直接完蛋;比起记住一次到处通用,数据、设备全部丢失也不会掉的密码(体系),实在是脆弱、复杂太多。
但当我百无聊赖坐在电脑前,望向放在桌上吃了两周灰的 CanoKey,我又感觉可以试试看。就算不把它作为主要认证方式,至少玩玩看嘛。于是,在我花费大半个上午生成 key,再将 Windows 的 gpg-agent
塞进不支持访问 USB 设备更别说 CanoKey 的 WSL 1 之后,我写下这篇文章作为记录,以便此后能随时回顾,希望能帮助到同样有需求的人。