2012-02-03 52 views
0

我现在还不明白双方的配合是如何工作的。代码签名工作中的签名如何?

我正在考虑是否有可能操作一个文件,并与原单键包括伪造口令辞职呢?

我使用例如为:

signtool.exe sign /f "mycert.pfx" /t "http://timestamp.verisign.com/scripts/timstamp.dll" /v "MyApp.exe" 

所以我会得到一个contersign一个签名的应用程序。但这是如何工作的? “时间戳”服务器是否简单地标记当前时间戳?如果我理解的话,这将允许重播攻击。以便我可以在过去签署文件。

是如何contersign保护?

回答

2

在您的特定情况下,它不是会签的。 Authenticode时间戳记作为原始签名的PKCS#7数据包中的一个属性包含在内。这是一个签名(其摘要),是时间戳。服务器用证书签名摘要和时间值。因此,重播攻击没有空间(或感觉) - 如果更改数据,则会得到不同的时间戳数据包,并且如果要用新时间戳替换旧数据相同数据的时间戳,签署并重新标记数据,而不是使用时间戳进行播放。

+0

这意味着,时间服务器预计我signture?接下来的一步是,时代人将我的签名和时间戳一起签名? – rekire 2012-02-03 12:02:16

+0

时间戳服务器接收到一些东西(在我们的例子中是签名的散列),并将它与时间戳一起签名。 – 2012-02-03 12:34:23

+0

谢谢你的澄清。 – rekire 2012-02-03 12:55:53