「IT用語集/B/Basic認証」の編集履歴(バックアップ)一覧はこちら

IT用語集/B/Basic認証」(2013/06/02 (日) 23:08:30) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

* Basic認証とは HTTPプロトコルで規定されている、認証方式で、多くのサーバー、webブラウザが対応している。 ログイン画面や認証機能を作りこむ必要がなく、手軽に利用できる反面、セキュリティ面、機能面で物足りない点もある。 * 特徴 ** ■ログイン画面を作る必要がない。 ユーザー名とパスワードを入力する画面は、クライアント(ブラウザ)に実装されているため、ログイン画面を作る必要がなく、簡単なサーバーの設定だけで利用可能です。 ※独自のログイン画面が必要な場合は、Basic認証ではなく、サーバーやフレームワークが提供するセッション機能を活用して認証機能を作成します。 ** ■ログアウト機能がない。 - Basic認証にはログアウト機能はない、ログアウトするにはブラウザを閉じるしかない。 一般的に、Basic認証はこのように言われています。 実は、この言葉には裏がありまして、本来のBasic認証の姿としては - そもそもログインという機能がない。 - 通信のたびに、毎回ユーザー名とパスワードで認証する。 これが、Basic認証の本来の姿ですが、実際に毎回ユーザー名とパスワードを要求されたら、人間が使うにはとてもとても大変で誰も使いたがりません。 そこで、大抵のブラウザには、認証が成功した時のユーザー名とパスワードを覚えて置いて、次の通信からは自動的に送信する仕組みが備わっているのです。 この仕組みのおかげで、Basic認証のかかっているサイトも便利に利用出来るのですが、 反面、あくまでブラウザの便利機能なので、サーバからは一切コントロールが出来ないのです。 ***「ログアウト機能がない」のまとめ - Basic認証は本来ならば毎回ユーザーとパスワードを入力する仕組み。 - それでは不便なのでブラウザが代わりに送信してくれる。 - ブラウザの機能なのでサーバーからは手出し出来ない。 - そのため、「Basic認証にはログアウト機能がない」と言われている。 * セキュリティ面の特徴 ** ■ユーザー名とパスワードは暗号化されない。 Basic認証では、ユーザー名とパスワードはBASE64という方式でエンコードして送信されます。 BASE64は暗号ではないので、ユーザー名とパスワードはほぼ丸腰でネットワークに流れてしまいます。 ** ■盗聴される可能性が高い。 「ログイン機能がない」でも説明しましたが、Basic認証ではWebサイトにアクセスするたびに、ユーザー名とパスワードを送信しています。 「毎回平文で」ユーザー名とパスワードをネットワーク上に流してしまうので、盗聴の危険性は当然高くなってしまいます。 ** ■安全に使うには Basic認証を安全に利用するには以下の方法が考えられます。 *** 消極的な対策 - 重要な情報を置かない - 社内ネットワーク等安全なネットワークで利用する *** 積極的な対策 - SSLを利用する SSLは通信を暗号化する技術なので、SSLを利用すればBasic認証に暗号化の機能がなくても、通信内容を暗号化して安全を確保出来ます。 TomcatはSSL通信の時だけBasic認証を有効にするオプションがあるので、合わせて設定するとより安全に利用できるでしょう。 - Digest認証を利用する(Tomcatの場合 Digest認証は、Basic認証にパスワードを暗号化する機能を追加した認証方式です。 ※正確には暗号化ではなく、パスワードのハッシュを送信します、ハッシュから元のパスワードに戻すのは難しいので、安全と言えます。
* Basic認証とは HTTPプロトコルで規定されている、認証方式で、多くのサーバー、webブラウザが対応している。 ログイン画面や認証機能を作りこむ必要がなく、手軽に利用できる反面、セキュリティ面、機能面で物足りない点もある。 * 特徴 ** ■ログイン画面を作る必要がない。 ユーザー名とパスワードを入力する画面は、クライアント(ブラウザ)に実装されているため、ログイン画面を作る必要がなく、簡単なサーバーの設定だけで利用可能です。 ※独自のログイン画面が必要な場合は、Basic認証ではなく、サーバーやフレームワークが提供するセッション機能を活用して認証機能を作成します。 ** ■ログアウト機能がない。 - Basic認証にはログアウト機能はない、ログアウトするにはブラウザを閉じるしかない。 一般的に、Basic認証はこのように言われています。 実は、この言葉には裏がありまして、本来のBasic認証の姿としては - そもそもログインという機能がない。 - 通信のたびに、毎回ユーザー名とパスワードで認証する。 これが、Basic認証の本来の姿ですが、実際に毎回ユーザー名とパスワードを要求されたら、人間が使うにはとてもとても大変で誰も使いたがりません。 そこで、大抵のブラウザには、認証が成功した時のユーザー名とパスワードを覚えて置いて、次の通信からは自動的に送信する仕組みが備わっているのです。 この仕組みのおかげで、Basic認証のかかっているサイトも便利に利用出来るのですが、 反面、あくまでブラウザの便利機能なので、サーバからは一切コントロールが出来ないのです。 ***「ログアウト機能がない」のまとめ - Basic認証は本来ならば毎回ユーザーとパスワードを入力する仕組み。 - それでは不便なのでブラウザが代わりに送信してくれる。 - ブラウザの機能なのでサーバーからは手出し出来ない。 - そのため、「Basic認証にはログアウト機能がない」と言われている。 * セキュリティ面の特徴 ** ■ユーザー名とパスワードは暗号化されない。 Basic認証では、ユーザー名とパスワードはBASE64という方式でエンコードして送信されます。 BASE64は暗号ではないので、ユーザー名とパスワードはほぼ丸腰でネットワークに流れてしまいます。 ** ■盗聴される可能性が高い。 「ログイン機能がない」でも説明しましたが、Basic認証ではWebサイトにアクセスするたびに、ユーザー名とパスワードを送信しています。 「毎回平文で」ユーザー名とパスワードをネットワーク上に流してしまうので、盗聴の危険性は当然高くなってしまいます。 ** ■安全に使うには Basic認証を安全に利用するには以下の方法が考えられます。 *** 消極的な対策 - 重要な情報を置かない - 社内ネットワーク等安全なネットワークで利用する *** 積極的な対策 - SSLを利用する SSLは通信を暗号化する技術なので、SSLを利用すればBasic認証に暗号化の機能がなくても、通信内容を暗号化して安全を確保出来ます。 TomcatはSSL通信の時だけBasic認証を有効にするオプションがあるので、合わせて設定するとより安全に利用できるでしょう。 - Digest認証を利用する Digest認証は、Basic認証にユーザー名とパスワード※を暗号化する機能を追加した認証方式です。 Basic認証の後に作られたため、古いブラウザやサーバ製品では対応していない事もあります。 ※正確には暗号化ではなく、ユーザー名、パスワードとランダムな文字列から計算したハッシュを送信します。 ランダムな文字列を加えて計算したハッシュから元のパスワードに戻すのはほぼ不可能なので十分に安全な認証方式と言えます。

表示オプション

横に並べて表示:
変化行の前後のみ表示: