デジタル署名について
○ハッシュ関数
改ざんの有無を確かめるために使う計算方法。
・平文をハッシュ関数で計算し、メッセージダイジェスト(ダイジェスト)を作る。
これをハッシュ化という。
・異なる平文から同一のダイジェストになることは計算上ありえない。
・平文からダイジェストは作れるが、ダイジェストから平文は作れない。
・ダイジェストにより、ファイルの内容をすべて見比べなくても、
2つのファイルの内容が同一だと確かめられる。
・ダイジェストは平文のファイルサイズにかかわらず、一定のサイズになる。
○代表的なハッシュ関数
MD5 | 平文から128ビットのダイジェストを作る。 広く使われている一方で、深刻な脆弱性が見つかり危殆化している。 |
---|---|
SHA-1 | 平文から160ビットのダイジェストを作る。 深刻ではないが、脆弱性が指摘されている。 |
SHA-256 | 平文から256ビットのダイジェストを作る。 上記2種よりも安全とされている。 |
○パスワード管理
ハッシュ関数はパスワード管理にも使われている。
パスワードをコンピュータ内にそのまま保存すると、
不正アクセスにより盗聴される恐れがあるため、
パスワードは保存せずにハッシュ化してできた
ダイジェストをコンピュータに保存する。
○デジタル署名
公開鍵暗号方式の暗号化と逆の手順を踏むことで、
なりすましと改ざんの有無を確かめられる。
デジタル署名は文字通り署名の電子版です。
デジタル署名にも公開鍵暗号方式を使用する。
○公開鍵暗号方式によるデジタル署名の手順
(1)送信者は、平文をハッシュ化してダイジェストを作る。・・・ハッシュ化
(2)送信者は、ダイジェスト自体を送信者の秘密鍵で暗号化して暗号ダイジェストを作る。・・・公開鍵暗号方式
(3)送信者は、(1)の平文と(2)の暗号ダイジェストを受信者に送る。
(4)受信者は、送信者の公開鍵を使って(2)の暗号ダイジェストを復号し、平文のダイジェストを取り出す。・・・公開鍵暗号方式
(5)受信者は、(1)の平文をハッシュ化し、ダイジェストを作る。
(6)受信者は、(4)のダイジェストと(5)のダイジェストを比較し、
同一であればなりすましや改ざんが無いと確かめられる。
○デジタル署名で確かめられること
・なりすましなし
送信者が自身の秘密鍵で暗号化した暗号文を
受信者が送信者の公開鍵で復号できた場合、
なりすなしがないことが確かめられる。
・改ざんなし
送信者と受信者で同じハッシュ化して出来たダイジェストの内容が同一の場合、
改ざんなしを確かめられる。
関連記事
初回相談無料
メールは24時間受付!まずはご相談下さい。