Sun Java System Web Proxy Server 4.0.4 管理ガイド

ダイジェスト認証

Proxy Server は、LDAP ベースまたはファイルベースのいずれかのディレクトリサービスを使用して、ダイジェスト認証を行うように設定できます。

ダイジェスト認証では、ユーザーがユーザー名とパスワードをクリアテキストとして送信することなく、ユーザー名とパスワードに基づいた認証を行うことができます。ブラウザは MD5 アルゴリズムを使用して、ユーザーのパスワードと Proxy Server によって提供される情報の一部を使用するダイジェスト値を作成します。

サーバーが LDAP ベースのディレクトリサービスを使用してダイジェスト認証を行うとき、このダイジェスト値は、ダイジェスト認証プラグインを使用してサーバー側で計算され、クライアントによって提示されたダイジェスト値と比較されます。ダイジェスト値が一致した場合、ユーザーは認証されます。これが機能するには、ディレクトリサーバーがクリアテキスト形式のユーザーのパスワードにアクセスできる必要があります。Sun Java System Directory Server にはリバーシブルパスワードプラグインが組み込まれています。このプラグインは、対称暗号化アルゴリズムを使用し、暗号化された形式にしてデータを格納し、あとで元の形式に復号化することができます。データへの鍵を持っているのは Directory Server だけです。

LDAP ベースのダイジェスト認証の場合、リバーシブルパスワードプラグインと、Proxy Server に組み込まれているダイジェスト認証専用のプラグインを有効にする必要があります。ダイジェスト認証を処理するように Proxy Server を設定するには、server-root /userdb/ 内の dbswitch.conf ファイルで、データベース定義のdigestauth プロパティーを設定します。

dbswitch.conf ファイルの例を次に示します。


directory default ldap://<host_name>:<port>
default:binddn cn=Directory Manager
default:encoded bindpw ***********
default:digestauth on

または、


directory default ldap://<host_name>:<port>/
default:binddn cn=Directory Manager
default:encoded bindpw ***********
default:digestauthstate on

サーバーは、指定されている ACL 方式に基づいて、LDAP データベースに対して認証を試みます。「ダイジェスト認証」を参照してください。ACL 方式を指定しない場合、認証が必要であればダイジェスト認証または基本認証のいずれかが使用され、認証が必要ない場合は基本認証が使用されます。

次の表は、認証データベースでサポートされる、あるいはサポートされないダイジェスト認証を示しています。

表 8–1 ダイジェスト認証チャレンジの生成

ACL 方式 

認証データベースでサポートされる方式 

認証データベースでサポートされない方式 

デフォルト 

指定されていない 

ダイジェストと基本 

基本 

基本 

基本 

基本 

ダイジェスト 

ダイジェスト 

エラー 

method=digest を指定して ACL を処理する場合、サーバーは次のことを実行して認証を試みます。