絶対理解できる「メッセージ認証」の仕組み 暗号化 HTTPS通信

はじめに

HTTPS通信では通信を暗号化するだけではなく、なりすまし防止改ざん防止などの機能も備わっています。
今回はその内の改ざん防止に使用されている「メッセージ認証」について解説します。
HTTPSやWEBの通信方法の知識に不安がある人は以下の記事から読むことをお勧めします。

ハッシュ値とは何か

メッセージ認証を理解するにはハッシュ関数の概念を理解している必要があります。
元になるデータから一定の計算手順により求められた固定長の値です。暗号やデータ認証によく使用されます。

ハッシュ関数にも色々な種類があり、上記の図の値は「MD5 ハッシュ関数」というものを使用して生成しています。
以下のリンクよりMD5等のハッシュ値の生成ができます。

https://hashtoolkit.com/generate-hash/

元の文が「Thank you」などの単純な平文(暗号化されてない人間の読める文字)でしたらそのハッシュ値を逆引きツールに入れれば、すぐに割られるかもしれません。

逆引きサイト:https://www.md5online.org/md5-decrypt.html

(複雑なデータを元にしたハッシュ値は不可能ですが、簡単なハッシュ値なら割れるので興味があったら、ハッシュ値を下記のサイトに入れてみてください。)

ですが、ハッシュ関数は値を元に戻して使用する前提で作られていないので作った本人にも逆算はできません。
ガラスを粉々に砕くのは簡単ですが、元に戻すことはできないのに似ています。
セキュリティ技術にいて基本的に双方が持っている情報が同一かを確認するすることに使用され、解読不能の暗号文としてはハッシュ値は使用されません。

メッセージ認証とは何か

下記の図はメッセージ認証の説明にフォーカスしているので、実際の細かいサーバーとブラウザ間の処理は省略しています。

仮に4番のデータ送信中にハッカーがデータの中身を改ざんして悪意のあるデータをブラウザに送ったとします。
しかし7番にある通り、ブラウザ側で両方のハッシュ値を比較するので改ざんされていれば、値が異なるのでブラウ側で気づくことができるます。
その後ブラウザはサーバー側にデータの再送のリクエストを出せます。
MAC値とは(Message Authentication Code)の略です。HTTPSのメッセージ認証のためにハッシュ化され値をさらに共通鍵で暗号化した値のことです。
余談ですが、ネットワーク機器に個別に振られているMACアドレスは(Media Access Control address)の略なのでMAC値とは全く関係ありません。

詳しいHTTPSの仕組みや共通鍵の説明は以下の記事をご覧ください。

Follow me!

関連記事

絶対理解できる「メッセージ認証」の仕組み 暗号化 HTTPS通信」への1件のフィードバック

コメントは受け付けていません。

PAGE TOP