如何对 MySQL 数据库版本安全(可信时间戳)中的数据进行签名?
我目前正在计划一个项目,其中数据库数据的修订安全性很重要。这意味着:我们希望能够证明数据库中的数据自导入以来没有经过修改 - 没有用户更改该值,没有数据库管理员登录到数据库并更改它。
实现这一目标的最佳方法是什么?
到目前为止,我最喜欢对数据库行进行签名的想法:我创建该行中所有字段的 MD5 哈希值,然后将其发送到时间戳签名服务器 (查看维基百科)并将创建的签名与该行一起存储。从此时起,我们可以证明自创建此标记以来没有人更改过该行。
还有更好的想法吗?而且,如果您和我一样喜欢这个想法,我应该使用什么时间戳服务器以及如何访问它? Verisign Timestamp Server 似乎被经常使用,但我找不到任何有关的文档如何“原始”使用它,例如不使用 Microsoft 代码签名工具等。
谢谢!
I am currently planning a project in which revision safety of the database data is important. This means: we want to be able to proof that the data in the database was not tempered with since it was imported - no user changed the value, no db admin logged into the database and changed it.
What is the best way to achieve this?
Till now, I like the idea of signing the database row best: I create a MD5 hash of all the fields in the row, then send it to a timestamping signing server (have a look on wikipedia) and store the created signature with the row. From this time on, we can prove that no one changed the row since this stamp was created.
Any better ideas? And, if you like the idea as much as I do, what timestamp server should I use and how can I access it? The Verisign Timestamp Server seems to be used a lot, but I could not find any documentation on how to use it "raw", e.g. without the Microsoft code signer tools etc.
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
时间戳服务器通常不是免费使用的。
或者,您可以使用 HMAC-MD5 (或 HMAC-SHA1),并使用以下密码只有授权用户知道。密码当然不能直接使用,最好通过 PKCS#5 或至少使用种子进行哈希处理。如果没有密码,任何人都无法验证或重新创建 HMAC-MD5
Time stamp servers are usually not free-to-use.
Alternatively you may use an HMAC-MD5 (or HMAC-SHA1) instead and use a password that is only known to the authorized user. The password is of course not directly used, better via PKCS#5 or at least hashed with a seed. Without the password noone can verify or recreate the HMAC-MD5