★初めに★
今回は、ハッシュ値について紹介したいと思います。
ハッシュ値とは、元のデータからハッシュ関数という一定の計算手順によって、得られた固定長の値のことです。同じデータからは必ず同じハッシュ値が出力されますので、通信途中にデータの破損や改ざんがあったかどうかを確認するために利用されています。また、ハッシュ値から元のデータを推測することは極めて困難であるという性質を利用して、通信の秘匿性を高める手法として応用されています。この手法をハッシュ化と言います。ハッシュ化されたデータは復号できないため、新規の情報のやり取りを行う際などには利用されません。
(画像出典元:https://knowledge.support.yahoo-net.jp/PccLogin/s/article/H000010764)
★ハッシュ化の有用性★
では、ハッシュ化技術がどのようなシーンで応用されているか説明致します。
パソコン上では、データは、「0」と「1」の羅列で表現されます。
例えば、「猫」と入力すると、パソコン上では、「011101」というようなコンピューター語というものに変換されて保存されます。容量が大きいファイルなどでは、より多くの「0」と「1」が使われているため、データの送信途中で誤って一箇所が変わってしまうことがあります。例えば、「011101」に変換されたデータを送信するとき、通信途中で「011100」という文字列に変わってしまった場合、文字列の最後尾の「1」が「0」に変わってしまっています。それだけで正しいデータを受信できなくなります。そうすると、受信側のパソコン画面上には、「システムエラーが発生しました」や「データが破損しています」的なメッセージが表示されることがあります。
このように、コンピューターが、データの破損や改ざんが行われているかどうか、またはデータに不正がないかどうかを確認するためにハッシュ化という技術を使います。
・ハッシュ化に使われる技術は、安全なパスワード管理にも応用されています。
あるユーザーが、ID登録の際に自身のパスワードをハッシュ化して管理します。そして、ログイン時に入力されたパスワードのハッシュ値が、保管されているハッシュ値と同一の値であるかどうか確認し、一致すれば認証が通るという仕組みです。この仕組みを活用することによって、ユーザー以外の人間には、パスワード情報が漏洩されることがありません。
★終わりに★
IDとパスワードの組み合わせを利用して、Web上で様々なサービスを活用できるという恩恵を受けています。しかし、反面、パスワード情報が外部に流出すれば、自身の生命にかかわるような重要な情報などが第三者に悪用されてしまうという事態を招いてしまう可能性も十分にあります。このような事態を防ぐためにもハッシュ値を応用した技術は、なくてはならないものであると感じました。
本日は以上です。ありがとうございました。