0

デジタル署名について私が理解していることから、exe をコード署名すると、「署名者」が PE 自体を変更します。PE の末尾に証明書の内容を追加し、(明らかに) ヘッダーへの何らかの参照を追加していることに気付きました。

私の質問は次のとおりです。これはどのくらい安全ですか? 実行可能ファイルをリバース エンジニアリングできる人は、それを自分の実行可能ファイルに偽造して、デジタル署名を偽造することはできませんか?

4

1 に答える 1

7

コード署名は、公開鍵と秘密鍵の操作です。署名操作では、.exe ファイルのハッシュ (署名が格納されているビットを差し引いたもの) を計算し、署名者の秘密キーを使用してハッシュを暗号化します。

クライアント側の検証では、クライアントはハッシュ計算をやり直し、公開鍵を使用して保存された署名を復号化します。2 つのハッシュが一致する場合、exe は改ざんされていません。

ファイルの暗号化されているのは署名だけです。それ以外はすべて平文で保存されます。exe をバラバラにして、それ (またはその一部) を別の .exe に詰め込むことを止めるものは何もありません。

署名は盗難を防ぐためのものではなく、改ざんを検出するためのものです。

于 2012-08-07T20:31:08.630 に答える