如何向外界证明数据文件未被篡改?

Dav*_*ery 24 c# storage checksum file

我们有一个基于C#的Web服务,它接收来自具有法律约束力的文档的政治组织的文档.

目前,我们向文件管理器提供收据,其中包含收到的文件的校验和,因此我们可以在稍后的时间向文件管理器证明存储在我们系统中的文件与其原始提交的文件匹配.收据将作为电子邮件发送给文件管理器.

但是,我们无法向第三方审核员证明存储在我们系统中的文件和校验和从未改变(即恶意DBA可能会更改校验和值以匹配某些虚假替换文档的内容).

我目前正在考虑在某个地方托管的只写"日志文件"(可能是第三方审核员认为合理值得信赖的提供商,如AWS)我们可以记录每个文件ID和校验和当他们发生.理想情况下,这个远程日志文件的行为就像一个老式的会计日志 - 你只能用笔写,所以你永远不能删除以前的条目!

另一种选择可能是将这些电子邮件收据发送给第三方电子邮件存档提供商?(我们的消息历史记录量非常小,这可能不值得与存档提供程序进行对话)

有没有人有建议?

Sav*_*ano 26

对于双方来说,最安全的解决方案是让您的客户使用有效的加密证书对其提交的内容进行签名,以便他们可以毫无疑问地验证提交内容是否未被篡改.

还有一些方法可以在C#中进行程序性签名和验证,这可以让您对它有所了解:http://blogs.msdn.com/b/alejacma/archive/2008/06/25/how-to-sign-和校验的签名与-净-和- a-证书c.aspx?的PageIndex = 1