情報セキュリティやIT運用、テクノロジーに関する最新の動向、
弊社商品の情報などをご紹介するサイト

公開日2026.01.13

ベーシック認証とは? 仕組みや設定方法、ダイジェスト認証との違いをわかりやすく解説

著者:Sky株式会社

ベーシック認証とは? 仕組みや設定方法、ダイジェスト認証との違いをわかりやすく解説

Webサイトの運営をしていると、特定のユーザーに限定した情報発信や、まだ公開時期が来ていないコンテンツの管理など、さまざまな目的で「Webサイトにアクセス制限を設けたい」と感じる場面が出てきます。こうした場面で役立つのが、「ベーシック認証」です。ベーシック認証は、複雑な知識がなくても認証設定が可能で、利便性が高いのが特長です。一方でセキュリティ面では問題となる点もあるため、目的に応じて適切に利用する必要があります。この記事ではそんなベーシック認証について、メリット・デメリットや設定方法、「ダイジェスト認証」をはじめとしたほかの認証方法との違いなどを解説します。

ベーシック認証とは

ベーシック認証(Basic認証)とは、通信規格「HTTP」に備えられている認証方法の一種です。Webサイトにアクセスできる人を制限したい場合などに設定しておくことで、特定の相手だけにページやファイルの閲覧を許可できます。

ベーシック認証を設定したWebサイトにアクセスすると、ポップアップが表示されます。そこに、事前に設定したIDとパスワードを正しく入力した場合に、アクセスが可能になる仕組みです。昔から存在する簡易的な認証方法であり、セキュリティレベルは高くありませんが、その利便性の高さから長年にわたって使用されています。

ベーシック認証のメリット

ベーシック認証には前述した利便性をはじめ、いくつかのメリットがあります。ここでは、4つのメリットを具体例としてご紹介します。

1.設定方法が比較的簡単

ベーシック認証の設定には、プログラミングやデータベース設計などの難しい知識が必要ないため、比較的簡単に導入できます。後述する「.htaccess」と「.htpassword」という2種類のファイルを適切にアップロードするだけで、設定が完了します。

2.ほとんどのWebサーバーで設定可能

ほとんどのWebサーバーで設定できる汎用性の高さも、ベーシック認証の強みといえます。基本的には、「.htaccess」と「.htpassword」の作成さえできれば設定が可能です。

例外として、レンタルサーバーの中にはベーシック認証に対応できないサービスもあるため、注意が必要です。特に無料のサーバーは対応していないケースが多いため、事前の確認が推奨されます。

3.ディレクトリ単位のアクセス制限が可能

原則として、ベーシック認証によるアクセス制限の範囲は、Webサイト全体ではなくディレクトリ単位で設定します。そのため、特定の階層全体へのアクセスを制限したいケースから、ページごとに細かく制限をかけたいケースまで、柔軟な公開・非公開の設定を実現できます。

4.再認証の手間を省くことができる

ベーシック認証のログイン情報は、一度認証に成功すればブラウザに記憶されます。そのため、利用者がIDやパスワードを何度も入力し直す必要がありません。

しかし、こうした機能はあくまでブラウザに依存するものであり、ブラウザの種類やバージョン次第では情報が記憶されないケースもあります。また、ブラウザ側に情報を保存しておく機能がある場合を除き、一度ブラウザを閉じたらリセットされてしまいます。

ベーシック認証のデメリット

メリットの多いベーシック認証ですが、その名の通りベーシックな認証方法であるために、現代の需要に対して不十分とされる側面もあります。主なデメリットとしては、以下のような点が挙げられます。

セキュリティレベルが低い

ベーシック認証では、「Base64」という文字コードでログイン情報を送信します。これは、アルファベット・数字・特定の記号を合わせた全64種類の文字で構成される文字コードで、ログイン情報を特定されやすいという問題があります。また、制限がかけられたページにアクセスする度にログイン情報が送信されるため、通信を傍受されやすい点にも注意が必要です。

こうした懸念から、個人情報や機密情報を扱う企業や組織のWebサイトなどは、ベーシック認証を使用しないほうがよいとされています。あくまでも簡易的な認証であり、セキュリティレベルは高くないことを念頭に置き、使用する場合には通信が暗号化される「https」の仕組みを併用することが推奨されます。

インターネットの検索結果に表示されにくい

検索エンジンは、「クローラー」というロボットがインターネット上を巡回して集めた情報をもとにして、最適な検索結果を表示しています。しかし、ベーシック認証によって制限がかけられたページは、クローラーもアクセスができず情報を得られないため、検索結果に表示されにくくなる恐れがあります。検索結果に表示されないと不都合がある場合には、ベーシック認証の利用は避けたほうがよいといえます。

サーバーをまたいだ設定はできない

ベーシック認証の設定範囲は、あくまで「.htaccess」を設置したディレクトリ内に限定されます。そのため、ディレクトリの範囲外までまとめてアクセス制限をかけることはできず、複数のサーバーにまたがる範囲に対してベーシック認証を設定することも不可能です。

ベーシック認証の設定方法

ベーシック認証の設定は、アクセス制限をかけたいディレクトリ内に「.htaccess」と「.htpasswd」と名づけたファイルを作成し、それぞれの中身にコードを記述すれば完了します。テキストデータとして編集できるファイル形式であればエディタの種類は問われないため、メモ帳でも作成できます。

詳しい手順は次のとおりです。

1.「.htaccess」ファイルを作成

「.htaccess」ファイルには、以下のコードを記述します。

AuthType Basic
AuthName “①”
AuthUserFile “②”
require valid-user

①には、認証の名前を入れます。①が同一の文言になっている「.htaccess」同士は、同じ認証領域と判断されます。同じ認証領域のページは、一度認証すれば再ログインが不要になります。

また、①に入力した文言はポップアップに表示されるため、たとえば「IDとパスワードを入力してほしい」という旨をここに記載して、利用者に伝えることも可能です。ただし、基本的に半角英数字で記述する必要があります。

②には後述する「.htpasswd」ファイルの格納場所が入ります。格納場所は、ディレクトリのある場所を省略せずに示した「フルパス」で記述する必要があるため、事前にフルパスを調べておかなければなりません。フルパスを取得できるコードを記述した「PHPファイル」を用意すると、スムーズに調べることができます。

「.htaccess」ファイルの準備ができたら、認証設定をしたいディレクトリにアップロードします。

2.「.htpasswd」ファイルを作成

次に、「.htpasswd」ファイルを作成します。このファイルは、ユーザーIDとパスワードを指定するために必要です。①の手順で「.htaccess」ファイルを格納したディレクトリを開き、同じディレクトリ内にテキストファイルを作成して、以下のように半角コロンでつないでIDとパスワードを記述します。

ユーザーID:パスワード

改行して同じように記述していくことで、複数のIDとパスワードを指定することも可能です。

ユーザーID1:パスワード1
ユーザーID2:パスワード2
ユーザーID3:パスワード3

また、パスワードはそのまま記述せず、暗号化して簡単に判読できない状態にしてから記述するのが一般的です。デメリットの項目でもご紹介したように、ベーシック認証はセキュリティレベルの高い認証方法ではないため、こうした対策は重要です。

パスワードの暗号化は、暗号化ツールなどを利用すればスムーズに行えます。暗号化ツールは無料・有料を問わず、さまざまなものが提供されているため、安全性や利便性を考慮して選択することをお勧めします。

3.正しく設定されているかを確認

2つのファイルを格納できたら、実際にWebサイトを開いてみて、ログイン情報の入力画面が意図どおりに表示されるかを確認します。正しく表示されていれば、認証設定は終了です。

この時、実際にIDとパスワードの入力を試しておくことも大切です。正しい内容でアクセスできるかはもちろん、誤った内容を入力した際にきちんとブロックされるかどうかも確認します。

そのほかの主な認証方法

基本的に特定のユーザーしかアクセスしないようなWebページにおいては、設定が容易で有効とされるベーシック認証ですが、セキュリティ上の問題から不向きとされる場面も少なくありません。

認証方法にはそれぞれ向き不向きがあるため、目的に応じて選択することが重要です。ここでは、ベーシック認証以外の主な認証方法についてご紹介します。

ダイジェスト認証

ダイジェスト認証(Digest認証)はベーシック認証と同じく、「HTTP」でサポートされている認証方法の一種です。ベーシック認証との主な違いとして、ログイン情報を送信する際に元データをランダムな文字列に変換する「ハッシュ化」を行うのが特徴です。

万が一、通信を傍受されてもデータを解析されにくいため、ベーシック認証よりはセキュリティレベルが高いといえます。しかし、ハッシュ化は傍受そのものを防ぐ対策ではない上、傍受されれば解析が可能なケースもあるため、過信は禁物です。

HTTPSにより通信を暗号化すれば同様の問題を解決できるため、HTTPSが普及した現在では需要が低下していますが、どうしてもHTTPしか使用できない場面などではダイジェスト認証が活躍します。

フォーム認証

フォーム認証(Form認証)はHTTPの仕様として用意された認証方法ではなく、Webサイト上に自分でログインフォームを設置して認証を行う方法です。そのため、Webアプリケーション内で自ら仕組みを実装し、ログイン情報を格納しておかなければならず、知識や手間を要します。その分、仕様や制約に縛られない機能実装が可能です。

フォーム認証では、入力されたログイン情報をサーバーに送信し、サーバー側でユーザーIDやパスワードが合っているかを確認します。問題なければ、「セッションID」を発行してブラウザに返却します。セッションIDはCookie情報としてブラウザに保存され、以降はこのセッションIDでログイン状態を確認し、Webページの閲覧可否を判断します。セッションIDで認証管理を行うため、ログイン情報を直接盗まれるリスクを減らせる点がメリットです。

ユーザーIDやパスワードは暗号化されていない状態で送信されるため、「HTTPS」による通信の暗号化を行うのが一般的です。また、パスワード情報はハッシュ化して格納することで、万が一漏洩しても判読されにくくなります。

そのほか、ブラウザを開いたままでも認証状況をリセットできる「ログアウト機能」や、1つのログイン情報で複数サービスにログインできる「シングルサインオン機能」に対応できるのも特長です。

IP制限とベーシック認証の併用

特に社内向けのWebサイトなどの場合、ベーシック認証とIP制限を組み合わせることもあります。併用することで、特定のIPアドレスからのアクセスは許可しながら、それ以外のアクセスについてはIDやパスワードによる認証を求める、という柔軟な制御を実現できます。社内ネットワークからのアクセスとそれ以外で対応を分けたい場合などに便利な方法です。

それぞれの特性を生かした利便性の高さが特長ですが、この方法はセキュリティの強化を目的としたものではない点に注意が必要です。ベーシック認証と比べるとセキュリティレベルが下がる恐れもあるため、使いどころは見極めなければなりません。

まと

ここまで、ベーシック認証の特長や設定方法についてご紹介しました。セキュリティ面では弱点があるベーシック認証ですが、シンプルな設定で導入しやすく、メリットも多い認証方法です。特定ユーザー向けのコンテンツや一時的なアクセス制御など、特徴に合った場面では有効に活用できます。

状況に応じてダイジェスト認証やフォーム認証などの利用も検討しながら、それぞれのメリット・デメリットを踏まえて選択し、適切なセキュリティ対策を行うことが重要です。

Sky IT TOPICS編集部

Sky IT TOPICS編集部は情報セキュリティやIT運用、テクノロジーに関する最新の動向、弊社商品の情報を発信しています。
Sky株式会社は、家電のシステム開発を手掛けたのをきっかけに、デジタル複合機やカーエレクトロニクス、モバイル、情報家電、さらに自社商品として教育分野における学習活動ソフトウェアや、公共・民間向けクライアント運用管理ソフトウェアなど、幅広い分野でのシステム開発を展開しております。