复制数字签名



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

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

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

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

文件的唯一部分是加密的签名 - 其他所有内容都以明文形式存储。没有什么能阻止你拆开exe并将其(或部分)塞进另一个.exe。

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

相关内容

  • 没有找到相关文章

最新更新