📝
意外と知らない!? "ベーシック認証" の呼び方あれこれ
「Basic認証」って実はこんなに呼び方があるんです
Web開発をしていると、一度は耳にするであろう ベーシック認証。
正式には「HTTP 認証スキームの一種」で、ユーザー名とパスワードを Authorization ヘッダーに Base64 で詰めて送るシンプルな認証方式です。
ところがこの Basic 認証、実務やドキュメントを見ていると、意外なほど いろんな呼び方が登場します。今日はその呼称と、それぞれが使われる場面をまとめてご紹介します。
正式名称はシンプルに「Basic」
RFC 7617 で定義されている正式名は Basic。
HTTP の認証フレームワーク(RFC 7235)にも登録されているスキーム名で、Authorization や WWW-Authenticate ヘッダーで使うときは必ずこのスペルになります。
Authorization: Basic dXNlcjpwYXNz
"ベーシック認証" のさまざまな呼称
文脈ごとに、次のような呼び方がよく出てきます。
| 呼称 | 主な文脈 |
|---|---|
| Basic 認証 / ベーシック認証 / 基本認証 | 日本語の解説記事や社内資料で定番の呼び方 |
| HTTP Basic Authentication | MDN や Apache/Nginx の公式ドキュメント、一般的な解説記事 |
| Basic Authentication / Basic Auth | Postman、Spring Security、curl のオプション解説など、ツールやフレームワークの設定名 |
| Authorization: Basic … 認証 | 実装・デバッグ時に、ヘッダー表記をそのまま指すケース |
| htpasswd 認証 / .htaccess 認証 | Apache の htpasswd コマンドや .htaccess ファイルで設定する Basic 認証を指す俗称 |
| Proxy Basic Authentication | プロキシサーバ経由での認証(Proxy-Authenticate / Proxy-Authorization)文脈 |
| Client Secret Basic | OAuth 2.0 で client_id:client_secret を Basic で送る方式の正式名称 |
| OpenAPI scheme: basic | API仕様書(OpenAPI/Swagger)でのセキュリティスキーム宣言 |
呼び方が変わるのは文脈のせい
なぜこんなに呼び方があるのかというと、使われる文脈がバラバラだからです。
- HTTP プロトコルの仕様として語るとき → 「Basic」
- サーバ設定の話をするとき → 「Basic認証」「htpasswd認証」
- API設計やツール設定のとき → 「Basic Auth」「scheme: basic」
- セキュリティガイドラインでは → 「HTTPS と併用すべき Basic Authentication」
つまり、根っこは同じ仕組みでも、立場やツールによって呼び方が変わってくるわけです。
ちょっとした豆知識
- ベーシック認証は、もともとは単一ホスト内での認証のために作られた認証技術でした。
- しかし、その利便性から現在ではインターネット越しの通信でも利用されています。
- メッセージを平文で送信する問題を解決するために、多くの場合は SSL/TLS との併用がされています。
まとめ
少なくとも私のような日本のWeb開発の現場にいる方は 「ベーシック認証」という呼び方一つ と思っていた方は、呼称のバリエーションに驚いたのではないでしょうか。
実務では場面によって呼称が変わるので、ドキュメントや会話の中で登場したときは「どの文脈の話なのか」を意識すると理解が早くなります。
Discussion