我目前正在计划一个项目,其中数据库数据的修订安全很重要。这意味着:我们希望能够证明数据库中的数据在导入后没有被调和 - 没有用户更改值,没有数据库管理员登录到数据库并更改它。
实现这一目标的最佳方法是什么?
到目前为止,我最喜欢对数据库行进行签名的想法:我创建行中所有字段的 MD5 哈希,然后将其发送到时间戳签名服务器 (have a look on wikipedia) 并将创建的签名与行一起存储。从这一次开始,我们可以证明自从这个邮票被创建以来,没有人改变了这一行。
有什么更好的想法吗?而且,如果您和我一样喜欢这个想法,我应该使用什么时间戳服务器以及如何访问它? Verisign Timestamp Server 似乎被大量使用,但我找不到任何关于如何“原始”使用它的文档,例如没有 Microsoft 代码签名工具等。
谢谢!
最佳答案
时间戳服务器通常不是免费使用的。
或者,您可以改用 HMAC-MD5(或 HMAC-SHA1)并使用只有授权用户知道的密码。密码当然不是直接使用的,最好通过 PKCS#5 或至少用种子散列。没有密码,没有人可以验证或重新创建 HMAC-MD5
关于mysql - 如何在 MySQL 数据库修订安全(可信时间戳)中签署数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3990388/