这主要是出于好奇的问题。如果我今天使用我的私钥签署文件,形成签名,并将该签名与文档一起分发给某人,他们就可以使用我的公钥(他们以安全的方式从带外获得)和签名并验证文件保持不变。到现在为止还挺好。
但是如果验证步骤只是在一段时间后发生,同时我撤销了我的密钥,应该如何处理呢?
一方面,文件是在特定时间善意签署的,如果文件以某种方式加盖时间戳并且时间戳在撤销日期之前并且撤销不是因为密钥泄露,那么撤销不应该自动表示对签名的不信任。
另一方面,假设密钥因为被泄露而被撤销,那么其他人可能会使用我泄露的私钥在密钥的有效期限内使用错误时间戳签署文件。
据我了解,密钥保持“活动”的时间越长,它的安全性就越低,因为暴力破解它的时间越长,签名/加密的次数越多,可用于各种攻击的信息就越多. 现在我明白了,理论上暴力破解密钥所花费的时间应该比宇宙遭受热死的时间要长,但将来总有可能找到捷径。所以我想人们会想要定期撤销密钥。
有没有办法区分上述两种情况?
有没有办法区分因骑自行车而撤销和因妥协而撤销之间的区别?
似乎(从这个问题)定期密钥撤销不再是最佳实践,但我不是 100% 确定我读对了。相反,今天在实践中使用首次使用时的信任和“固定”。上述问题中的答案和评论也清楚地表明没有使密钥过期的机制。虽然对TOFU和pinning做了一些简短的阅读,但它似乎并没有影响我的问题。
为了防止以“XY”投诉结束,让我更明确一点。在上面提到的密钥泄露的情况下,我想不出一种方法来可靠地验证文档,即使它是由当时未泄露的密钥签名的。这很容易成为我的知识空白,我想知道是否有技术仍然可以可靠地做到这一点?