如何使用时间戳安全地签名数据?

时间:2010-01-07 19:39:27

标签: security digital-signature trusted-timestamp rfc3161

我想在具有安全时间戳的数据库中签署记录,以证明他们在该日期之后没有被任何人更改。

我应该考虑哪些方法或协议? RFC 3161?我发现声称提供该服务的大多数网站对我来说都不是很有信誉。

有可能推出自己的吗?

2 个答案:

答案 0 :(得分:4)

如果您正在寻找一台正常运行的RFC3161服务器,那么http://time.certum.pl/就是我所知道并且一直存在的服务器。

如果你正在寻找一个更大的解决方案,它不依赖于一个基于秘密的时间戳框(基本上可以很好地扩展),请查看http://www.guardtime.com

从技术上讲,时间戳是UNIX时间戳:)但是,您似乎分配给时间戳的属性是散列和“签名”(可以验证特定散列在特定时间存在的声明)。 / p>

任何与“信任”有关的事情都可以让你自己动手。与滚动自己的CA的方式相同,就像您可以使用自己的基于标准的服务或创建自己的方案一样。但说服其他方“信任”你自己推出的东西可能会更棘手。

这就是人们为CA证书付费的原因 - 他们受到浏览器供应商的预先信任。这就是为什么当您需要其他人必须信任的解决方案或者您不得不为数据加时间戳时,您需要一个经过认证的时间戳源。

答案 1 :(得分:-2)

简单的方法是附加你想要确保没有被篡改的值,向它添加一个盐,然后md5全部,并保存md5哈希。

因此,如果您有一个包含列的表:Username,Firstname,Lastname,Hash

你做一个md5(用户名+名字+姓氏+“MySuperSecretSalt”)并将值保存在哈希。

但我必须说,这听起来很奇怪。