定義:コード署名は、プログラム、ファイル、ソフトウェアの更新プログラムまたは実行可能ファイルにデジタル署名するプロセスで、インストールおよび実行時にその信頼性と完全性を確認できます。
コード署名の説明
コード署名証明書は、ソフトウェア開発者とディストリビューターが実行ファイルとソフトウェアプログラムにデジタル署名するために使用し、エンドユーザーが受け取ったコードが改ざんされていないことを検証できるようにします。最終的な目的は、信頼できるソースからソフトウェアをダウンロードできるというエンドユーザーの懸念を軽減することです。
コード署名証明書は、パブリッシャーの名前と、必要に応じてタイムスタンプを顕著に表示するデジタル証明書であり、認証局によって発行されます。デジタル証明書は、組織のIDを、数学的に公開鍵ペアに関連し、信頼できる認証局に遡ることができる公開鍵にバインドします。秘密鍵システムおよび公開鍵システムの使用は、公開鍵インフラストラクチャ(PKI)と呼ばれます。開発者は秘密鍵でコードに署名し、エンドユーザーは開発者の公開鍵を使用して開発者のIDを確認します。
- システムが証明書を信頼する場合、ダウンロードまたは実行が続行されます。
- 証明書がない場合、またはシステムがルートを信頼しない場合、またはハッシュが一致しない場合(すなわち、署名が改ざんされた場合)、ダウンロードは、ソフトウェアが信頼されない可能性があることをユーザーに通知する警告で中断されます。
システムの整合性は、不正アクセスから鍵を保護することに依存します。ベストプラクティスは、ハードウェアセキュリティモジュール(HSM)などの安全で不正開封防止の暗号ハードウェアデバイスに鍵を保管することです。