|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ 認証 : [にんしょう] 1. (n,vs) (1) certification 2. attestation 3. authentication 4. confirmation 5. (2) Imperial attestation ・ 証 : [あかし, しょう] (n) 1. proof 2. evidence
Digest認証(ダイジェストにんしょう)とは、HTTPの認証方法の一つ。ユーザ名とパスワードをMD5でハッシュ(ダイジェスト)化して送る。Basic認証では防げなかった盗聴や改竄を防ぐために考案された。 == 例 == 典型的なDigest認証におけるHTTPクライアントとHTTPサーバの間の通信を紹介する。 だいたいの流れは以下のようになる。 # クライアントは認証が必要なページをリクエストする。しかし、通常ここではユーザ名とパスワードを送っていない。なぜならばクライアントはそのページが認証を必要とするか否かを知らないためである。 # サーバは401レスポンスコードを返し、認証領域 (realm) や認証方式(Digest)に関する情報をクライアントに返す。このとき、ランダムな文字列(nonce)も返される。 # それを受けたクライアントは、認証領域(通常は、アクセスしているサーバやシステムなどの簡単な説明)をユーザに提示して、ユーザ名とパスワードの入力を求める。ユーザはここでキャンセルすることもできる。 # ユーザによりユーザ名とパスワードが入力されると、クライアントはnonceとは別のランダムな文字列(cnonce)を生成する。そして、ユーザ名とパスワードとこれら2つのランダムな文字列などを使ってハッシュ文字列(response)を生成する。 # クライアントはサーバから送られた認証に関する情報とともに、ユーザ名とresponseをサーバに送信する。 # サーバ側では、クライアントから送られてきたランダムな文字列(nonce、cnonce)などとサーバに格納されているハッシュ化されたパスワードから、正解のハッシュを計算する。 # この計算値とクライアントから送られてきたresponseとが一致する場合は、認証が成功し、サーバはコンテンツを返す。不一致の場合は再び401レスポンスコードが返され、それによりクライアントは再びユーザにユーザ名とパスワードの入力を求める。 ユーザ名とパスワードの具体的な計算は以下のようになる。なお、ここでは認証アルゴリズムがMD5の時の計算方法を示す。 クライアントが計算するresponseは以下のようにして求められる: A1 = ユーザ名 ":" realm ":" パスワード A2 = HTTPのメソッド ":" コンテンツのURI response = MD5( MD5(A1) ":" nonce ":" nc ":" cnonce ":" qop ":" MD5(A2) ) サーバ側では、MD5(A1) をあらかじめ計算し格納してある。nonce,nc,cnonce,qopとHTTPのメソッド(GETなど)とコンテンツのURIはクライアントから送られてくるので、サーバ側でもresponseの正解を計算できる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Digest認証」の詳細全文を読む スポンサード リンク
|