2010-01-07 90 views
5

我想用安全的时间戳签署数据库中的记录,以证明他们在该日期后没有被任何人修改。如何使用时间戳安全地签名数据?

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

是否有可能推出自己的?

+0

如果你正在寻找一个有信誉的网站,这个网站是普遍接受的一个:http://www.itconsult.co.uk/stamper/stampinf.htm,但我不认为这是你想要的。 – 2010-01-07 23:05:57

回答

4

如果你正在寻找一个工作RFC3161服务器然后http://time.certum.pl/一直是一个我认识,并一直围绕。

如果你正在寻找一种不依赖于一个单一的秘密基于时间戳盒(基本的东西,很好地进行扩展)更大的解决方案来看看http://www.guardtime.com

从技术上讲,时间戳是一个UNIX时间戳:)但是您似乎分配给时间戳的属性是散列和“签名”(可能会验证某个特定时间存在某个散列的声明)。具有与“信任”做

什么是你可以滚你自己。就像你可以推出自己的CA一样,你可以推出自己的基于标准的服务或创建自己的计划。但说服其他方面“信任”你自己推出的东西可能会更棘手。

这就是为什么人们支付CA证书 - 他们是预信任的浏览器厂商。这就是为什么当您需要其他人必须信任的解决方案时,或者如果您有义务为您的数据添加时间戳,则需要经过认证的时间戳源。

+0

看来你可以从certum那里获得一个简单的免费的RFC3161 tsr用于非商业目的,只需把你自己的sha1和你的文档做成一个“GET”请求就可以了:http://time.certum.pl/? SHA1 = da39a3ee5e6b4b0d3255bfef95601890afd80709如果您将它保存为“download.tsr”你可以用在0.9.9 Linux上为“OpenSSL asn1parse -inform DER nealmcb 2010-12-22 06:10:04

+0

@nealmcb - 回复旧帖子 - 如果我使用time.certum.pl - 我在哪里获取time.certum.pl的cert/pubkey。即当我找回时间戳数据 - 我需要TSA的公钥来验证它,对 - 我在哪里得到这个? – user93353 2013-01-03 09:27:40

-2

简单的方法是添加你要确保没有被窜改的值,盐添加到它,然后MD5这一切,并保存MD5哈希值。

所以,如果你有与列的表:用户名,名字,姓氏,哈希

你做一个MD5(用户名+姓+姓+“MySuperSecretSalt”),并保存在哈希值。我不得不说,这听起来像是一件奇怪的事情。