Digest認証
HTTPに用意されている認証機能だよ
IDとパスワードで認証するよ
BASIC認証のパワーアップ版だよ
簡単に書くよ
Digest認証(読:ダイジェストニンショウ 英:digest authentication)とは
ホームページのファイルを受け渡しするときに使うお約束である「HTTP」に元々用意されているやつで「IDとパスワードを入れてね」な画面を出す認証機能(のひとつ)
であり
セキュリティ的にしょぼかったBASIC認証
(インターネット(HTTP)に元々用意されている認証機能)がパワーアップした認証機能
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・認証
・通信プロトコル(プロトコル)
・HTTP
・BASIC認証
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
認証は「おまえ誰?OKなやつ?」を確認する作業です。
例えば
・本人しか知らない情報を入力させる
・本人しか持っていないものを提示させる
・接続元の情報を見る
のような過程を経て、OKな人かNGな人かを判定します。
※厳密には「認証+認可」の説明になっていますが気にしないことにします。そこら辺が気になる方は、用語「認可」の説明を ご覧ください。
通信プロトコル(プロトコル)は「通信するときに使う お約束事」です。
通信するときは足並みを揃える必要があります。
片方が日本語で話しかけたのに、もう一方が英語で お返事したのでは、コミュニケーションが成立しませんよね。
それと同じです。
そこで「○○通信をするときは ××というお約束事に従って やり取りしようね」と事前に決まっています。
言い方を変えると
通信するときは、お約束事が必要
なのです。
この「通信するときに使う お約束事」を「通信プロトコル(プロトコル)」と言います。
HTTPは「ホームページのファイルを受け渡しするときに使う お約束事」です。
よく分からない人は「インターネットをするときに使う お約束事」と解釈しても かまいません。
あなたがホームページを見るとき、まず、ホームページを見るときに使うソフト(Webブラウザ)がホームページのファイルが置いてあるコンピュータ(Webサーバ)に「このページをおくれ」と お願いを出します。
そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。
お返事を受け取ったWebブラウザさんは、受け取ったページを画面上に表示します。
これがホームページを見るときの流れです。
この流れにおける「このページをおくれ」「ほれ、そのページだよ」のやり取りで使う お約束事がHTTPです。
BASIC認証は「HTTPで定義されている認証機能のひとつ」です。
HTTPのルールを決めた人は「認証機能があった方が便利だよね」と考えました。
そこで「こうなっているところにアクセスしようとしたら『IDとパスワードを入れてね!』な認証画面を出すよ」なルールをHTTPに組み込んだのです。
この、HTTPで定義されている「こうなっているところにアクセスしようとしたら『IDとパスワードを入れてね!』な認証画面を出すよ」な認証機能がBASIC認証です。
※BASIC認証のやり方の詳細は、用語「BASIC認証」の説明を ご覧ください。
以上を踏まえて、本題に入ります。
BASIC認証はセキュリティ的に結構しょぼかったりします。
そこで、どこかの誰かが「BASIC認証よりもセキュリティ的に安全なやつ」を作りました。
いわば、BASIC認証のパワーアップ版です。
この
BASIC認証のパワーアップ版
が「Digest認証」です。
BASIC認証は通信途中のデータを盗み見ることで結構簡単にIDとパスワードが分かっちゃいます。
スケスケのカバンに入れて運んでいるようなものです。
Digest認証は通信途中のデータを盗み見ても(簡単には)IDとパスワードが分かりません。
黒いカバンに入れて運んでいるイメージです。
Digest認証の基本や使いどころはBASIC認証と同じです。
セキュリティ的にしょぼいBASIC認証を、もう少し しっかりさせた(代わりに少し仕組みが複雑になった)認証機能がDigest認証です。
一言でまとめるよ
まぁ「Digest認証」って単語が出てきたら「BASIC認証
(インターネット(HTTP)に元々用意されている認証機能)のパワーアップ版なんだな~」と お考えください。
おまけ
■訳してみるよ
「digest(ダイジェスト)」の意味は「要約」とか「要約する」とかです。
「認証」は日本語ですね。
何となく くっつけると
要約認証
となります。
よく分かりませんね。
■違いの分かるピヨピヨ
■検索してみる?






