4

我目前正在计划一个项目,其中数据库数据的修订安全很重要。这意味着:我们希望能够证明数据库中的数据在导入后没有经过修改 - 没有用户更改值,没有 db 管理员登录到数据库并更改它。

实现这一目标的最佳方法是什么?

到目前为止,我最喜欢对数据库行进行签名的想法:我创建行中所有字段的 MD5 哈希,然后将其发送到时间戳签名服务器(查看 wikipedia)并将创建的签名与行一起存储. 从此时起,我们可以证明自创建此戳记以来没有人更改行。

有更好的想法吗?而且,如果您和我一样喜欢这个想法,我应该使用什么时间戳服务器以及如何访问它?Verisign Timestamp Server似乎被大量使用,但我找不到任何关于如何“原始”使用它的文档,例如没有 Microsoft 代码签名工具等。

谢谢!

4

1 回答 1

1

时间戳服务器通常不是免费使用的。

或者,您可以改用HMAC-MD5(或 HMAC-SHA1)并使用只有授权用户知道的密码。密码当然不直接使用,最好通过 PKCS#5 或至少用种子散列。没有密码,任何人都无法验证或重新创建 HMAC-MD5

于 2011-01-05T12:52:54.443 回答