如何证明某人之前的公钥确实是他们的?
我正处于开源信用清算系统的规划阶段,我的想法是使用 GPG 密钥来签署 IOU。但我担心,如果鲍勃签署了通过电子邮件发送给爱丽丝的欠条,然后删除了他的密钥,创建了一个新的密钥对并将他的新密钥上传到密钥服务器,那么他将能够合理地否认该欠条的所有权。是否有某种编程方式来证明密钥曾经属于发送签名电子邮件的电子邮件帐户的所有者?我的谷歌搜索在这方面让我失败了。
更新:“不可否认”是我正在寻找的词。还在研究中...
I'm in the planning stage of an open-source credit clearing system, and my idea is to use GPG keys to sign IOUs. But I'm concerned that if Bob signs an IOU he emails to Alice, then later deletes his keys, creates a new keypair and uploads his new key to keyservers, he'll be able to plausibly deny ownership of the IOU. Is there some programmatic way of proving a key once belonged to the owner of the email account that sent the signed email? My google-fu is failing me on this one.
Update: "non-repudiation" is the word I was looking for. Still researching...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
大多数情况下,不可否认性是通过加密时间戳来实现的。时间戳是文档在给定时间存在的证明,由值得信赖的第三方发布,并签署文档哈希以及提交该文档的时间。
我不太了解 GPG 模型,但可能有类似证书之类的东西,它将公钥与密钥所有者身份绑定在一起。您必须为该证书添加时间戳。实际上,您还应该对鲍勃的密钥未被撤销的证明进行时间戳记。在 X.509 中,这是通过对当前撤销列表加时间戳来实现的,该列表证明了“未撤销”状态的关键。
加密时间戳在 RFC 3161 中标准化,
在全球范围内,您指出了众多问题之一高级数字电子签名的复杂性:不可否认性、长期验证、签名承诺规则......这是
AdES
标准的主要目标(CAdES
,XAdES
和PAdES
)Most of the time non-repudiation is achieved with cryptographic time-stamps. A time-stamp is a proof of existence of a document at a given time and is issued by a trustworthy third-party with sign the document hash along with the time at which this document was submitted.
I do not know GPG model very well but there is probably something like a certificate which binds the public key with the key owner identity. You have to time-stamp this certificate. Actually you should also time-stamp a proof that that Bob's key is not revoked. In X.509 this is achieved by time-stamping the current revocation list which proves the "not revoked" status the key.
Cryptographic time-stamp are standardized in RFC 3161
More globally you point out one of the numerous issues and complexity of advanced digital electronic signatures: non-repudiation, long-term validation, signature commitment rules... This is the main goals of
AdES
standards (CAdES
,XAdES
andPAdES
)