Basic認証(ベーシックにんしょう)とは、Webサイトやサーバーへアクセスする際に、ユーザー名とパスワードの入力を求めることで本人確認を行う、もっとも基本的な認証方式のひとつです。HTTPという通信の規格そのものに標準機能として組み込まれており、古くから広く使われてきました。
現実世界に例えると、Basic認証は「合言葉を知っている人だけを中に入れる門番」のようなものです。正しいユーザー名とパスワードという合言葉を伝えられれば、門番はそれ以上の複雑な手続きなしに、扉の向こうへ通してくれます。
名前の由来
「Basic(ベーシック)」という名前のとおり、これはHTTPの認証方式の中でもっとも基本的で古くから存在する仕組みです。より安全性を高めた方式が登場した現在でも、その手軽さゆえに、限定的な用途では今なお選ばれ続けています。
Basic認証の仕組み
Basic認証がかかったページにアクセスすると、ブラウザは、ユーザー名とパスワードの入力を求めるダイアログを表示します。入力された情報はBase64という形式に変換されたうえでサーバーへ送信され、サーバー側であらかじめ登録された内容と一致するかどうかが確認されます。
Basic認証の特徴
- 設定が手軽
専用のログイン画面を作らなくても、サーバー側の設定だけで認証をかけられます。 - ブラウザの標準機能で動作
特別なプログラムを追加しなくても、多くのブラウザで共通して利用できます。 - ログアウト機能がない
一度認証されると、ブラウザを閉じるまで情報が保持され続けます。
主な用途
Basic認証は、社内向けシステムへの簡易的なアクセス制限や、開発中のWebサイトを一般公開前に関係者だけへ限定して見せる場合などに使われます。手軽に導入できる反面、一般消費者向けのサービスで使われることはほとんどありません。
セキュリティ上の注意点
| 項目 | 注意点 |
|---|---|
| 通信の暗号化 | HTTPS化されていないと、認証情報が読み取られる危険がある |
| 試行回数の制限 | 標準では総当たり攻撃を防ぐ仕組みがない |
| ログイン状態の管理 | 明示的なログアウトの仕組みが用意されていない |
Base64は暗号化ではなく単なる変換にすぎないため、必ずHTTPSと組み合わせて通信全体を暗号化することが欠かせません。重要な情報を扱うサービスは、より高度な認証方式が選ばれることが一般的です。
他の認証方式との違い
| 方式 | 仕組み | 特徴 |
|---|---|---|
| Basic認証 | IDとパスワードをBase64変換して送信 | 手軽だが単体では安全性が低い |
| Digest認証 | パスワードを直接送らずハッシュ化して照合 | Basic認証より安全性が高い |
| OAuth | 外部サービスの認証結果を連携して利用 | パスワードを直接やり取りない |

コメント