(Translated by https://www.hiragana.jp/)
Basic認証 - Wikipedia コンテンツにスキップ

Basic認証にんしょう

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

Basic認証にんしょう(ベーシックにんしょう、Basic Authentication)とは、HTTP定義ていぎされる認証にんしょう方式ほうしきHTTP認証にんしょう)のひとつ。基本きほん認証にんしょうばれることも。

Basic認証にんしょうでは、ユーザめいパスワードみをコロン ":" でつなぎ、Base64エンコードして送信そうしんする。このため、盗聴とうちょう改竄かいざん簡単かんたんであるという欠点けってんつが、ほぼすべてのWebサーバおよびブラウザで対応たいおうしているため、ひろ使つかわれている。

盗聴とうちょう改竄かいざんふせぐため、のちDigest認証にんしょうというユーザめいとパスワードをMD5でハッシュしておく方法ほうほうかんがえられた。

通信つうしんなが

[編集へんしゅう]

典型てんけいてきなBasic認証にんしょうにおけるHTTPクライアントとHTTPサーバのあいだ通信つうしん紹介しょうかいする。 だいたいのながれは以下いかのようになる。

  1. クライアントは認証にんしょう必要ひつようなページをリクエストする。しかし、通常つうじょうここではユーザめいとパスワードをおくっていない。なぜならばクライアントはそのページが認証にんしょう必要ひつようとするかかをらないためである。
  2. サーバは401レスポンスコードをかえし、認証にんしょう領域りょういき (authentication realm) や認証にんしょう方式ほうしき (Basic認証にんしょう) にかんする情報じょうほうをクライアントにらせる。
  3. それをけたクライアントは、認証にんしょう領域りょういき通常つうじょうは、アクセスしているコンピュータやシステムの簡単かんたん説明せつめい)をユーザに提示ていじして、ユーザめいとパスワードの入力にゅうりょくもとめる。ユーザはここでキャンセルすることもできる。
  4. ユーザによりユーザめいとパスワードが入力にゅうりょくされると、クライアントはリクエストに認証にんしょうヘッダを追加ついかして再度さいど送信そうしんする。
  5. 認証にんしょう成功せいこうすると、サーバは認証にんしょう必要ひつようなページのリクエストを処理しょりする。一方いっぽう、ユーザめいやパスワードが間違まちがっていたときには、サーバはふたたび401レスポンスコードをかえす。それによりクライアントはふたたびユーザにユーザめいとパスワードの入力にゅうりょくもとめる。

以下いかに、認証にんしょう成功せいこうした場合ばあいれいしめす。(番号ばんごう上記じょうき通信つうしんながれ」と対応たいおうさせてある)

1.認証にんしょうともなわないリクエスト:

GET /private/index.html HTTP/1.1
Host: example.com

2.認証にんしょう必要ひつようであることをしめすサーバのレスポンス:

HTTP/1.1 401 Authorization Required
Date: Wed, 11 May 2005 07:50:26 GMT
Server: Apache/1.3.33 (Unix)
WWW-Authenticate: Basic realm="SECRET AREA"
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
 
 (ここに人間にんげんめるエラーメッセージがはいる)

3.(クライアントによる提示ていじ、およびユーザによる入力にゅうりょく:

通信つうしんおこなわれない>

4.認証にんしょうともなうリクエスト (ユーザめい "root"、パスワード "password"):

GET /private/index.html HTTP/1.1
Host: example.com
Authorization: Basic cm9vdDpwYXNzd29yZA{{=}}{{=}}

5.サーバのレスポンス

HTTP/1.1 200 OK
Date: Wed, 11 May 2005 07:50:26 GMT
(以下いかりゃく)

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]
  • RFC 9110 - HTTP Semantics
  • RFC 7617 - The 'Basic' HTTP Authentication Scheme
  • 旧式きゅうしきとなった規定きてい
    • RFC 1945 - Hypertext Transfer Protocol -- HTTP/1.0
    • RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1
    • RFC 7235 - Hypertext Transfer Protocol (HTTP/1.1): Authentication
  • RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication