我对私钥/公钥密码学有基本的了解,并且已经将它用于 SSH 登录和 GPG 加密/签名有一段时间了。但是,我始终将私钥/密钥环保存在我的主目录(.gnupg 和 .ssh)中的默认位置。显然,我可以将密钥传输到 USB 驱动器,理论上这意味着我的计算机上的键盘记录器或单独的 USB 驱动器都不足以获取我的私钥。
能够存储私钥的智能卡和YubiKey Neo之类的设备(似乎是单个加密狗中的智能卡 + USB 读卡器)比将私钥存储在普通的 USB 拇指驱动器上提供了哪些好处?
智能卡是否曾经向 SSH 或 GPG 等应用程序“泄露”私钥?如果是这样,似乎任何拥有 PIN 和设备本身的人仍然可以获得私钥,并且与常规 USB 驱动器相比没有任何优势。如果不是,那么在不知道私钥的情况下,应用程序究竟是如何工作的?