我很好奇是否有办法对文件(从技术上说是任何数据)进行数字签名,比如合同或照片,这样10年后,就可以证明它们是从现在开始,而不是从现在开始伪造的。
例如,我可以写一个关于未来的预测,然后用传统的方式来证明它是我写的,然后在时间戳上签名,这样当它成为现实的时候,我就可以证明我预测了它。
我想到的一种方法是有一个时间戳权威。您将数据发送给他们,他们会对数据+时间戳进行哈希,并使用他们的私钥用RSA加密哈希。因此,有签名的文档存在于:数据、时间戳、加密散列。
10年后,我散列数据+假定的时间戳,并检查它是否与我使用当局的公钥解密的加密哈希(我信任的)匹配。如果是的话,我就知道时间戳是有效的。
不过,我可以看出其中有两个问题:
你能想出一个没有这些问题的解决办法吗?
发布于 2011-07-17 21:32:58
这就是所谓的时间戳。最广泛使用的机制是在TSP规范(RFC 3161)和其他方面定义的。method中使用了另一种方法,但它没有文档化,并且与TSP不兼容。
TSP是几种加密和数字签名标准的补充功能,如PDF、XAdES、CAdES、PAdES (AdES代表“高级加密标准”)。PDF、XAdES和PAdES标准适用于某些类型的数据。CAdES是univeral格式(因为它可以应用于任何通用数据)。
RFC 5544提供了一种将TSP应用于任何一般数据的方法,而无需对这些数据进行签名。
TSP规范大量使用PKI和X.509证书。
加盖时间戳服务由证书颁发机构提供,作为一种补充服务。此外,还有独立的时间戳服务。
您可以运行自己的时间戳服务,但是时间戳需要使用特殊证书(其密钥使用扩展将以特定方式设置),因此常规SSL或代码签名证书无法工作。
谈到“时间戳当局”--您向他们发送一个散列(在签名期间计算),他们使用他们的证书对这个散列进行签名。保护私钥是他们的事,他们通常会收取费用。
第三方权威的理念是,它证明了时间。如果你在数据上签名,你可以把任何时间放在签名上,没有办法检查它是否正确,或者你伪造了它。只有可信的第三方权威才能证明时间戳的正确性。
https://stackoverflow.com/questions/6726382
复制相似问题