【发布时间】:2014-08-08 03:43:42
【问题描述】:
我们有一个基于 C# 的 Web 服务,它接收来自具有法律约束力的政治组织的文件。
目前,我们向归档人提供了一份收据,其中包含收到文件的校验和,因此我们可以在以后向归档人证明存储在我们系统中的文件与其原始提交相匹配。收据以电子邮件的形式发送给申报者。
但是,我们无法向第三方审计员证明存储在我们系统中的文件和校验和从未更改(即恶意 DBA 可以更改校验和值以匹配某些伪造替换文档的内容)。
我目前正在考虑一个只写的“日志文件”托管在云中的某个地方(可能是第三方审计员认为相当值得信赖的提供商,例如 AWS),我们可以记录每个文件id 和校验和。理想情况下,此远程日志文件的行为类似于老式会计日志——您只能用钢笔书写,因此您永远无法擦除以前的条目!
另一种选择可能是将这些电子邮件收据发送给第三方电子邮件存档提供商? (我们的消息历史量太小了,这可能不值得与存档提供商讨论)
有人有什么建议吗?
【问题讨论】:
-
听起来你需要加密签名。
-
"我们向申报人提供收据[...],以便我们可以向申报人证明在稍后文件 [...] 与他们的原始提交相匹配的时间点”——如果该收据实际上没有使用您发布的公钥进行加密签名,则此协议不起作用:任何一方都可以更改提交和伪造一张匹配的收据,反过来声称对方的收据是伪造的。
-
您也可以在 security.stackexchange.com 上获得答案,因为他们专注于信息安全..
-
@HannoBinder 你是绝对正确的。现有流程无法防御故意恶意文件管理器。感谢您指出这一点。
-
@woliveirajr 不知道存在这个!