| HTTP |
|---|
| 主要項目 |
| リクエストメソッド |
| ヘッダーフィールド |
| ステータスコード |
| 認証方式 |
| セキュリティホール |
Digest認証(ダイジェストにんしょう)とは、HTTPの認証方法(HTTP認証)の一つ。ユーザ名とパスワードを暗号学的ハッシュ関数でハッシュ(ダイジェスト)化して送る。Basic認証では防げなかった盗聴や改竄を防ぐために考案された。
使用する暗号学的ハッシュ関数としては、当初MD5が規定され、後にRFC 7616でSHA-2(SHA2-256およびSHA-512/256)が加わっている。
典型的なDigest認証におけるHTTPクライアントとHTTPサーバの間の通信を紹介する。
だいたいの流れは以下のようになる。
ユーザ名とパスワードの具体的な計算は以下のようになる。なお、ここでは認証アルゴリズムが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の正解を計算できる。
未登録
IPFS未登録
📡 0ピア
N=1
CRITICAL
PQS D35