4.11.4 アプリケーションでユーザを認証する

ここでは,Webクライアント構成の場合に,セキュリティ確保のためにアプリケーションで利用できる認証機能について説明します。

<この項の構成>
(1) アプリケーションでユーザを認証する目的
(2) アプリケーションによるユーザ認証方法の比較

(1) アプリケーションでユーザを認証する目的

アプリケーションを実行するユーザを認証することで,セキュリティ上の脅威のうち,システム利用者によって,許可した権限の範囲を超えて操作されたり情報を入手されたりすることを防げます。

アプリケーションサーバでは,次の3種類のプロトコルを使用してユーザ認証によるセキュリティ確保ができます。

これらのプロトコルを目的に応じて使い分けて,セキュリティを確保してください。

(2) アプリケーションによるユーザ認証方法の比較

通信プロトコルごとの,認証実施個所および認証に使用されるエンジンについて,次の表に示します。

表4-8 通信プロトコルごとの認証実施個所および認証に使用されるエンジン

使用するプロトコル認証実施個所認証に使用されるエンジン
HTTPS(クライアント認証)HTTP ServerまたはMicrosoft IISSSL
SSLアクセラレータSSL
HTTP(Basic認証)HTTP ServerHWSパスワードファイル
LDAPリポジトリ
J2EEサーバ(Webコンテナ)パスワードファイル
HTTP(Form認証)J2EEサーバ(Webコンテナ)パスワードファイル
J2EEサーバ(統合ユーザ管理)統合ユーザ管理パスワードファイル
データベース
LDAPリポジトリ

それぞれのプロトコルおよび認証に使用されるエンジンには特徴があります。それらの特徴を考慮して,システムの目的に合った認証方法を選択してください。

(a) プロトコルの特徴

アプリケーションサーバのシステムの認証処理に使用できるプロトコルの特徴について,次の表に示します。

表4-9 プロトコルの特徴

使用するプロトコル認証インタフェースの自由度クライアントでの管理の容易さネットワークの安全性
HTTPS
(クライアント認証)
Webブラウザが提供する機能に制約されます。クライアント証明書が必要です。暗号化されているため,盗聴されても認証情報は安全です。
HTTP
(Basic認証)
Webブラウザが提供する機能に制約されます。一般的なユーザ名称/パスワード形式を使用した認証ができます。パスワードが平文またはそれと同等の形式で流出します。
このため,通常は,HTTPS(サーバ認証だけ)の暗号機能と併用して使用します。
HTTP
(Form認証)
アプリケーションごとにデザインできます。一般的なユーザ名称/パスワード形式を使用した認証ができます。パスワードが平文またはそれと同等の形式で流出します。
このため,通常は,HTTPS(サーバ認証だけ)の暗号機能と併用して使用します。
(b) 認証に使用されるエンジンの特徴

認証に使用されるエンジンの特徴について,次の表に示します。

表4-10 認証に使用されるエンジンの特徴

エンジンの種類汎用性保守性システム構成への影響性能影響への影響
パスワードファイル使用する機能ごとに形式が異なります。サーバまたはホストごとにユーザ情報が散在します。特に認証用のプロセスは必要ありません。認証時にほかのプロセスやホストとの通信が発生しないため,高速です。
データベース形式によっては,既存のユーザ情報データベースを利用できます。ユーザ情報の一括管理ができます。ユーザ情報を格納するデータベースサーバが必要です。認証時にデータベースアクセスに必要な時間が掛かります。
LDAPリポジトリ形式によっては,既存のユーザ情報リポジトリを利用できます。ユーザ情報の一括管理,および分散したユーザ情報の集中管理ができます。ユーザ情報を格納するLDAP対応のディレクトリサーバが必要です。認証時にLDAPディレクトリサーバへのアクセスに必要な時間が掛かります。