我正处于开源信用清算系统的规划阶段,我的想法是使用 GPG 密钥签署 IOU。但我担心如果 Bob 签署了他通过电子邮件发送给 Alice 的 IOU,然后删除他的密钥,创建一个新的密钥对并将他的新密钥上传到密钥服务器,他将能够合理地否认 IOU 的所有权。是否有某种程序化方式可以证明密钥曾经属于发送签名电子邮件的电子邮件帐户的所有者?我的 google-fu 在这方面让我失望了。
更新:“不可否认”是我一直在寻找的词。还在研究...
我正处于开源信用清算系统的规划阶段,我的想法是使用 GPG 密钥签署 IOU。但我担心如果 Bob 签署了他通过电子邮件发送给 Alice 的 IOU,然后删除他的密钥,创建一个新的密钥对并将他的新密钥上传到密钥服务器,他将能够合理地否认 IOU 的所有权。是否有某种程序化方式可以证明密钥曾经属于发送签名电子邮件的电子邮件帐户的所有者?我的 google-fu 在这方面让我失望了。
更新:“不可否认”是我一直在寻找的词。还在研究...
大多数情况下,不可否认性是通过加密时间戳实现的。时间戳是文档在给定时间存在的证明,由可信赖的第三方签发,并在文档哈希以及提交文档的时间上签名。
我不太了解 GPG 模型,但可能有证书之类的东西将公钥与密钥所有者身份绑定在一起。您必须在此证书上加上时间戳。实际上,您还应该在证明 Bob 的密钥未被撤销的证明上加上时间戳。在 X.509 中,这是通过对当前撤销列表加时间戳来实现的,该列表证明“未撤销”状态是密钥。
加密时间戳在RFC 3161中标准化
在全球范围内,您指出了高级数字电子签名的众多问题和复杂性之一:不可否认性、长期验证、签名承诺规则……这是标准的主要目标AdES
(CAdES
和)XAdES
PAdES