情報セキュリティマネジメント試験対策(19)認証(5)「デジタル署名」

スポンサーリンク
IT系

デジタル署名とは

暗号化が盗聴リスクへの対策であったのに対し、デジタル署名はなりすましと改ざんリスクへの対策である。

デジタル署名は、公開鍵暗号の技術を応用することでなりすましと改ざんを検出する。

公開鍵暗号では、一対の暗号化鍵と復号鍵を用いて、暗号化鍵を公開鍵、復号鍵を秘密鍵とする。送信者が公開鍵を用いて平文を暗号化して送付し、受信者は秘密鍵を使って復号していた。

これとは逆に、デジタル署名は平文に秘密鍵(=署名鍵)を適用してデジタル署名を生成する。

デジタル署名のしくみ

デジタル署名を受信したユーザは、公開鍵(=検証鍵) を用いてデジタル署名を検証して、これと別途送られた平文とを比較する。

両者が一致すれば、署名を行ったのは秘密鍵を所持している本人であることと、途中で改ざんが行われていないことが証明される。

デジタル署名はあくまでなりすましと改ざんへの対策である点に注意しよう。平文を別途送信しているため盗聴リスクには対処できない。デジタル署名を運用する場合には、暗号化と組み合わせて利用する。また、デジタル署名は実際にはハッシュ関数を用いて生成したメッセージダイジェストから作成される。平文にそのまま署名するのは処理速度の点で非効率であること、ハッシュ関数の不可逆性によってさらに改ざんの抑止につながることが理由である。

メッセージダイジェスト

デジタル署名において平文から直接デジタル署名を生成するモデルは処理時間が多くかかることと、署名のサイズが平文ごとに異なることから敬遠される。そこで、平文に対してハッシュ演算を行い、メッセージの要約 (メッセージダイジェスト)を得てデジタル署名を生成する。メッセージダイジェストを利用することで、デジタル署名の長さを統一し、署名にかかる処理負荷を軽減する。 

また、ダイジェストに利用するハッシュ関数(メッセージダイジェスト関数)は不可逆関数であるため、仮にネットワーク上で盗聴されてもそこから平文を復元することができない。

メッセージダイジェスト関数では、異なる平文から同じダイジェストを生成してしまう(衝突)ことがないように留意しなくてはならない。

SHA-2

米国政府が標準として採用してきたメッセージダイジェスト生成関数であるSHA-1が、技術進歩により安全な強度を保てなくなったことにより、後継として登場した規格がSHA-2である。

同じアルゴリズムであれば生成するハッシュ値が長い方が攻撃に対して強固である。SHA-1は160ビットのハッシュ値を生成するが、SHA-2とよばれる関数は224 ビット、256ビット、384ビット 512ビットのハッシュ値を生成する(いずれもまとめてSHA-2と表現する)。

メッセージ認証符号(MAC)

メッセージダイジェストを用いても、送信した本文とメッセージダイジェストが整合するように改ざんが行われた場合、改ざんを検出することはできない。

そこで、メッセージ認証符号 (MAC)では用意したMAC鍵と本文を足したデータに対してメッセージダイジェストを作成する。MAC鍵は共通鍵が使われる。

デジタル署名と公開鍵暗号方式の複合

より強固なセキュリティを施すために、デジタル署名を公開鍵暗号方式によって暗号化してから、送信するという方法がとられている。

送信者はメッセージダイ ジェストを自分の秘密鍵で署名することで、メッセージ の真正性を確立する。また、送信に際しては、メッセー ジ本文(平文)とデジタル署名を受信者の公開鍵で暗号 化して盗聴リスクに対応する。手順は複雑になるが、盗聴となりすまし/改ざんを同時に対策できる。

(参考)令和08年 情報セキュリティマネジメント 合格教本 岡嶋 裕史(著)技術評論社

コメント

タイトルとURLをコピーしました