認証方式の基礎的な話

認証方式について基礎的な部分のみまとめました。

 

はじめに

限定した人々のみ公開したいページを作りたいときは、
アクセス制限を施さないといけないですね!
ウェブ上でのアクセス制限方法には色々な方法がありますが、
IDとパスワードを用意した「ユーザー認証」を行うアクセス制限が便利です。
今日は認証まわりの基本的なお話をしていきます!
 

BASIC認証

BASIC認証とは、ほとんどのウェブサーバやブラウザで利用できる、 簡単なユーザー認証です。
BASIC認証が施されているページへアクセスしようとすると、 IDとパスワードの入力が求められます。
BASIC認証は、ページ単位ではなくディレクトリ(フォルダ)単位でアクセスを制限することができます。
制限を施したディレクトリ内では、どのURLを指定してアクセスしても、必ず認証ダイアログが表示されます。
 
↓例えば、こんな感じですね。
 

↓このページに制限を施すと・・・
http://www.hoge.com/access/

↓以下も制限かかりますよっと・・・。
http://www.hoge.com/access/page1.html
http://www.hoge.com/access/page2.html
http://www.hoge.com/access/map/tokyo/
http://www.hoge.com/access/map/osaka/

↓ちなみに以下は制限かかりませんよっと・・・。
http://www.hoge.com/default/

 
BASIC認証では、一度認証に通るとブラウザ終了するまで何度も再認証なしでアクセスすることができます。
閲覧者にかける手間は最小限で済みますね。
また、たいていのブラウザにはIDとパスワードを記憶しておく機能も用意されているため、
閲覧者がその機能を利用すれば、入力する手間も省けます。
 

Digest認証

BASIC認証は、平文でIDパスワードが流れるので、通信内容を盗聴されるとIDとパスワードがばれてしまう!
 
そこで登場するのがMD5で暗号化してから通信するDigest認証です。
Digest認証は、閲覧者からするとほとんど違いが分かりません。
BASIC認証と同様にIDパスワードの入力ダイアログが表示されます。
 
Digest認証は、サーバーから送られてきたランダム文字列とパスワードの
メッセージダイジェスト(注1)をとり、その値でやりとりします。
そのため通信路にパスワードが平文で流れず安全です。
 

おわりに

そのうち自分で作ってみなきゃなー・・・。
 
 

(注1)メッセージダイジェスト

一方向ハッシュ関数とも呼ばれ、任意の文字列から固定長の擬似乱数(ハッシュ値)
を生成するアルゴリズムのこと。