--- title: 電子署名 slug: Archive/Security/Digital_Signatures tags: - Security - Tutorial translation_of: Archive/Security/Digital_Signatures ---
暗号化と復号化は、この文書の冒頭で述べた3つのインターネットセキュリティ問題の1つである盗聴の問題に対処するものです。しかし、暗号化と復号化だけでは、別の問題である改ざんには対処できません。
このセクションでは、公開鍵暗号が改ざんの問題にどのように対処するかを説明します。
改ざん検知および関連する認証技術は、一方向ハッシュ (メッセージダイジェストとも呼ばれる) と呼ばれる数学関数に依存しています。一方向ハッシュは、以下の特徴を持つ固定長の数です。
同様に、公開鍵暗号化では、電子署名のためのキーペアが生成されます。キーペアは、秘密署名鍵と公開検証鍵から構成されます。公開鍵は広く配布されていますが、秘密鍵はその所有者のみが知ることができます。鍵は数学的に関連していますが、公開鍵から秘密鍵を計算することが不可能であるか、あるいは法外なコストがかかるように、パラメータが選択されています。暗号化されたハッシュは、ハッシュアルゴリズムなどの他の情報とともに電子署名として知られています。
図1は、署名されたデータの整合性を検証するために電子署名を使用する方法を簡略化したものです。
図 1 は、署名されたデータの受信者に転送される 2 つのアイテムを示しています。元のデータと電子署名は、基本的に署名者の秘密鍵で暗号化された (元のデータの) 一方向ハッシュです。データの整合性を検証するために、受信側のソフトウェアはまず署名者の公開鍵を使ってハッシュを復号化します。次に、元のハッシュを生成したのと同じハッシュアルゴリズムを使用して、 同じデータの新しい一方向ハッシュを生成します。(使用されたハッシュアルゴリズムに関する情報は、図には示されていませんが、電子署名と一緒に送信されます)。最後に、受信側のソフトウェアは新しいハッシュを元のハッシュと比較します。2つのハッシュが一致していれば、データは署名された時から変わっていないことになります。もし一致しない場合は、署名されてからデータが改ざんされているか、署名者が提示した公開鍵とは異なる秘密鍵で署名が作成されている可能性があります。
2つのハッシュが一致する場合、受信者は、電子署名を復号化するために使用された公開鍵が、電子署名を作成するために使用された秘密鍵に対応することを確信することができます。しかしながら、署名者の身元を確認するには、公開鍵が本当に特定の人物やその他の実体のもので あることを確認する何らかの方法も必要です。この方法についての議論は、"公開鍵暗号入門" を参照してください。
電子署名の重要性は、手書きの署名の重要性に匹敵します。一度あるデータに署名してしまえば、秘密鍵が危殆化していなかったり、所有者のコントロール外にあったりしていないと仮定して、後で署名したことを否定することは困難です。電子署名のこの品質は、高度な否認防止を提供します。つまり、電子署名は、署名者がデータに署名したことを否定することを困難にします。状況によっては、電子署名は手書き署名と同様に法的拘束力があります。