1. 基本概念
HTTP Basic Authenticationは、HTTPプロトコルに組み込まれた最も基本的な認証方式の一つである1。ユーザー名とパスワードによってクライアントの身元を確認する認証の仕組みであり、認可の機能は含まれない。
2. 主な特徴
3. 認証フロー
初回アクセス時
- クライアントによる保護リソースへのアクセス1
- サーバーからの「401 Unauthorized」と「WWW-Authenticate」ヘッダー返信1
- ブラウザによる認証情報入力要求2
- 認証情報の処理:
- サーバーによる認証検証とアクセス制御1
認証済みの場合
- クライアントによる保護リソースへのアクセス(Authorization: Basicヘッダー付き)
- サーバーによる認証情報の検証
- リソースへのアクセス許可
4. 実装例
認証情報の例(ユーザー名: user、パスワード: pass):
# 元の文字列
user:pass
# Base64エンコード後
dXNlcjpwYXNz
# HTTPリクエストヘッダー
Authorization: Basic dXNlcjpwYXNz
5. セキュリティ上の考慮点
- 認証情報は単なるBase64エンコードであり、暗号化なし2 4
- HTTPS未使用時の通信途中での盗聴リスク3
- ブルートフォース攻撃への脆弱性3
- 重要データの保護には不適3
- HTTPS(SSL暗号化)との併用が必須3 5
6. 推奨される使用場面
-
https://www.keepersecurity.com/blog/ja/2024/03/08/what-is-basic-access-authentication/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8
-
https://www.aeyescan.jp/blog/basic-authentication/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
https://www.shadan-kun.com/blog/measure/461/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10
-
https://www.winserver.ne.jp/column/about_basic-authentication/ ↩