复制数字签名?

时间:2012-08-07 20:09:50

标签: windows security digital-signature windows-security

根据我对数字签名的理解,当代码签名exe时,“签名者”修改了PE本身。我注意到它将证书内容添加到PE的末尾,并且(显然)添加了对标题的某种引用。

我的问题是:这有多安全?能够对可执行文件进行逆向工程的人是否能够将其伪装到自己的可执行文件上,从而伪造数字签名?

1 个答案:

答案 0 :(得分:7)

代码签名是一种公钥 - 私钥操作。签名操作计算.exe文件的散列(减去存储签名的位),然后使用签名者的私钥加密散列。

在客户端验证时,客户端将重做哈希计算,并使用公钥解密存储的签名。如果两个哈希匹配,则exe没有被篡改。

文件的唯一位是加密的是签名 - 每个其他位置都以明文形式存储。没有什么可以阻止你撕开exe并把它(或它的一部分)塞进另一个.exe。

签名不是为了防止盗窃 - 它可以检测到篡改。