Cryptography 文档在本地签名并加盖时间戳,然后上载到服务器,它是否具有相同的特征?

Cryptography 文档在本地签名并加盖时间戳,然后上载到服务器,它是否具有相同的特征?,cryptography,certificate,digital-signature,digital-certificate,Cryptography,Certificate,Digital Signature,Digital Certificate,i生成一个web应用程序,该应用程序允许您使用Java小程序或Active X数字签名(使用可信CA发布的个人数字证书pkcs12)和时间戳PDF文档。这显然必须在用户的机器上发生,因为证书的私钥存储在本地 因此,一旦PDF签名并加上时间戳,它就会上传到服务器上。 上传的文件是否与本地创建的文件具有相同的功能?谈论“文件的原始版本”有意义吗 我对此有点困惑 更正: 我的意思是用个人数字证书(应该是pkcs7,pkcs12)的私钥对文档进行数字签名,以确保它确实是由某人而不是其他人签名的。好的,让

i生成一个web应用程序,该应用程序允许您使用Java小程序或Active X数字签名(使用可信CA发布的个人数字证书pkcs12)和时间戳PDF文档。这显然必须在用户的机器上发生,因为证书的私钥存储在本地

因此,一旦PDF签名并加上时间戳,它就会上传到服务器上。 上传的文件是否与本地创建的文件具有相同的功能?谈论“文件的原始版本”有意义吗

我对此有点困惑

更正:
我的意思是用个人数字证书(应该是pkcs7,pkcs12)的私钥对文档进行数字签名,以确保它确实是由某人而不是其他人签名的。

好的,让我们尝试回答您的问题(据我所知)

您有一些软件,它使用一些私钥(和时钟)向文件添加签名

此签名取决于文件的内容,因此确保签名者在签名时知道(或可能知道)文件的内容。(有一些方法可以实现“盲签名”,但我认为这里的情况并非如此。)

将签名文件上载到任何位置都不会改变此处的任何内容

关于时间戳:密钥持有者可以输入它想要的任何时间戳-因此,只有当您想证明在某个时间点对密钥持有者了解文档时,这才有帮助,而不是如果您是密钥持有者,并且想证明您在某个时间点签名,而不是更早或更晚。(还有,你确定他的钟没有歪吗?)

关于这是否具有法律相关性,你必须询问你的律师。这可能取决于

  • 签名发生的司法管辖区,以及您希望签名文档有效的司法管辖区
  • 密钥所有者在签名之前是否有机会实际阅读文档
  • 密钥的所有者是否可以选择签名
如果您在用户的浏览器中使用一些小程序或ActiveX控件,我不能完全确定最后两点是否正确。

如果“文件的原始版本”是指您打算“冻结”文档,以便任何人都无法再次对其进行更改,这既不可能,也不是数字签名的目的。任何人都可以简单地“剪下”嵌入在文档中的签名,没有人会注意到

保护文档不受后续修改涉及某种DRM机制。例如,涉及隐写术的“水印”被用来保护照片,这样就没有人能够声称照片的所有权,即使在修改了照片之后。但是技术还不是很先进,大多数算法很容易被破坏

这意味着,在法律纠纷中,“文件的原始版本”的概念必须得到当事人的同意。未经同意或可信第三方证明文件的完整性,例如,如果他们有文件的独立副本,则无法证明来源

除此之外,上传文件不应改变其内容。该文件将具有与本地文件完全相同的属性,包括在客户端添加的签名

签名仅证明文件的真实性和完整性。如果您的申请能够确定收到的签名文件实际上是预期的文件,这一点至关重要,那么我建议您执行以下操作:

  • 在服务器上创建PDF
  • 创建文档的散列(与签名小程序使用的算法相同)
  • 将PDF发送到客户端
  • 让客户签字并发回
  • 将客户端的哈希值与以前在服务器上计算的哈希值进行比较
  • 验证签名
验证签名将确保完整性和真实性,比较哈希将保证您在服务器上收到的签名文档确实是先前创建的原始文档的签名版本


关于使用本地时钟的时间戳:它们毫无价值,很容易作弊。您实际应该使用的是由可信的第三方发布的兼容加密安全时间戳。目前,这是在PDF签名中包含时间概念的唯一可靠方法。例如,Adobe Reader中也内置了对这一点的支持。由于这些服务通常不是免费提供的,因此在收到签名文档后在服务器上添加这样的时间戳是有意义的。它们作为未签名属性添加到CMS(Adobe仍在谈论PKCS7)签名中,因此不会破坏签名,可以在签名创建后安全添加。

法律问题当然取决于您所在辖区的法律。我不确定这是否是一个好的话题。这不全是关于法律效力的问题:“上传的文件是否与本地创建的文件具有相同的功能?”以及“谈论文件的原始版本是否有意义?”?“我更感兴趣的问题是编辑标题。@nemesisdesign出于法律目的上传的文档是否算作原件取决于当地法律。你应该咨询律师:Stack Exchange不能代替像这样的法律建议。标题编辑。现在的问题不在于法律效力。如果您知道答案,请提出建议。@nemesisdesign某些内容是否算作原始文件完全取决于上下文。你可以掩盖你有法律动机的事实,但你要求人们在没有任何参照系的情况下解释这个词。这是完全无法回答的。