情報処理基礎論 a 第 10 回 (セキュリティ ) 「メッセージ認証

講義ノート目次

ネットワークを介した情報の通信では、 発信された情報が受け取る前に改ざんされる可能性がある。 これに対応する技術のことをメッセージ認証と呼ぶ。

ハッシュ関数 (メッセージダイジェスト関数) を情報の送信時に用いる。 ハッシュ関数で求められた結果をハッシュ値という。 改ざんされていると、ハッシュ値は明らかに異なる。

実験: 仮に送信者が送ったメールの内容が sender.txt とする。
Hello, Everybody! 
ハッシュ値を見てみよう。
% md5sum sender.txt 
74e5d14a35205fa05361019915cf4f76  sender.txt
改ざんされていない場合、受信者は同じ内容のメールを受け取るから、 受け取った状態を再現しよう。受信したメールを receiver.txt とする。
% cp sender.txt receiver.txt

このハッシュ値を見てみよう。
% md5sum receiver.txt  
74e5d14a35205fa05361019915cf4f76  receiver.txt
それでは、改ざんされた場合を考える。emacs で receiver.txt に 空白文字をいれ、Ctrl-x w で changed.txt として作り替える。
Hello,  Everybody! 
このハッシュ値を見てみよう。
% md5sum changed.txt
0bad653f898e0fe3f399af7a9a100e50  changed.txt
まったく異なる値になったことが分かる。

ハッシュ関数のアルゴリズム
MD5(Message Digest 5) RSA 暗号に対応したアルゴリズム、128 bit の文字列を生成する
SHA1 (Secure Hash Algorithm 1) 160 bit の文字列を生成する