目前是否有可能在技术上(而不是在财务上)提供一种相当安全的方法来为私钥提供存储设施,不排除物理验证等?例如,您存储您的私钥,它们本身通过某种方式加密,这些方式要么由其他私钥递归保护,要么提供物理(存在或其他)方式来检索密钥?
私钥安全存储服务
硬件安全模块 (HSM) 是存储密钥的最安全方式。这些是专门以这样一种方式构建的,因此无法从硬件中检索密钥,包括防止物理侵入设备的攻击者能够提取密钥的防篡改措施。
如果您有需要能够检索的私钥,最安全的存储机制仍然包括 HSM...HSM 是您用来加密密钥的地方,您将加密的密钥发送到HSM 将使用它保留和保护的密钥进行解密。
安全存储始终是可用性和机密性之间的折衷。将密钥以明文形式存储在您的硬盘和少数云存储服务上,使它们易于访问,但很容易泄漏。将钥匙刻在一块由地雷和蛇坑守卫的地下矿井中的石头上,使它们非常安全,不会被窥探,但很难使用。
如果您坚持使用合理的解决方案,智能卡是一种经济实惠的存储密钥的方式,您可以随身携带并插入计算机使用。这种存储密钥的方式是我们金融系统重要组成部分的基础:信用卡。只要除了您之外没有人操纵智能卡,智能卡就是安全的。密钥存储的安全性被简化为一个人类很好理解的问题:不要丢失你的钱包。高端智能卡(例如“芯片和密码”信用卡)即使有人偷了也很难破解:您需要投资大量专用设备。
为了在卡被盗时保护密钥,通常通过 PIN 保护对卡或特定密钥的访问。因为卡本身会验证 PIN 并在 PIN 无效时拒绝放弃密钥或对其执行任何操作,因此 PIN 不会受到暴力攻击并且可以保持简短:卡通常被编程为停止接受尝试(甚至可能在 3 次无效尝试后擦除密钥或自毁),因此如果 PIN 是随机选择的,则 4 位 PIN 给盗窃卡的攻击者只有 0.03% 的机会提取密钥。
基于卡的密钥存储方案的保密性最弱点通常是使用卡。即使卡自己进行解密或签名,而不是将其交给计算机(这会限制可能的带宽,因为智能卡处理器相对较慢),您知道哪些数据发送到卡的唯一方法是计算机告诉你。您需要相信您使用的计算机不会向卡发送不同的数据,不会泄露您的 PIN 码,不会泄露您的机密数据等。这是任何安全方案的问题:除非您能做到这一切手动,您需要有一台您信任的计算机。这意味着你不能让任何人访问计算机——一旦服务员拿到了它,它就不再是你的计算机了。
可用性方面的最弱点是,如果您的卡被盗或损坏,您将无法访问密钥。将重复的智能卡和可能的密钥打印输出(QR 码比数字打印输出更容易扫描回来,尽管您可能更愿意同时拥有两者以获得额外的弹性)在物理安全的地方,例如银行保险箱。
硬件安全模块 (HSM) 是体积更大的智能卡版本。他们有更强大的处理器,更多的存储空间,需要不断供电并且成本更高。HSM 的主要安全优势是即使密钥将用于大量数据,使密钥不可提取也是合理的,而基于智能卡的方案可能需要将密钥临时复制到计算机上以执行解密以不错的速度。
至于服务,云存储往往来来去去,通常与任何形式的物理验证完全无关(通常,您通过您的电子邮件帐户识别)。越来越多的银行提供“虚拟安全”服务,您可以在其中将数据存储在银行的计算机上,具有与您的银行业务相同的身份验证机制,因此具有相同的安全性。这些服务通常没有很好地集成到操作系统中:您只需上传您的密钥文件,您在计算机上执行的操作仍然取决于您。像往常一样使用远程服务会让您受制于服务提供商;
如果您询问是否可以使用服务(而不是@Xander 在硬件上的回答),那么显然这是可能的,因为您可以使用“云”服务来存储任何数据。但是:
不要这样做。您的私钥很重要且风险很高 - 确保您自己安全,使用硬件密钥或理想情况下的 HSM。将数据存储在云中意味着您放弃了对安全性和可用性的大部分控制——对于某些数据可以,但对于重要数据通常不行。