Kerberos 要件



このチュートリアルで開発するクライアントおよびサーバアプリケーションでは、認証と安全な通信の両方の分野で Kerberos Version 5 を使用します。このため、このドキュメントは、Kerberos に習熟している読者を対象としています。詳細は、Kerberos のドキュメントを参照してください。

Java GSS-API メソッドに必要な JAAS フレームワークおよび Kerberos 機構は、すべてのベンダーが提供する JRE バージョン 4 に組み込まれています。実際には、バージョン 1.3 から、別個にダウンロード可能なオプションパッケージとして JAAS を利用できます。ベンダーの提供する JRE の中には、このチュートリアルの JAAS 認証に必要な Kerberos ログインモジュールを使用できないものもある可能性があります。ここでは、Sun Microsystems の提供する JRE (J2RE v 1.4) に含まれる Kerberos 用 ログインモジュールを使用します。

サンプルプログラムを実行するには、インストールされた Kerberos にアクセスする必要があります。続くセクションで説明するように、Kerberos 構成ファイル krb5.conf、およびこのファイルの格納先に関する記述も必要です。

すべての Kerberos インストールで、Kerberos Key Distribution Center (KDC) が必要です。これには、Kerberos への認証に使用するユーザ名およびパスワードを含める必要があります。注: KDC 実装は、J2RE, v 1.4 ではなく Kerberos インストールの一部です。

大半の Kerberos インストールで、デフォルト領域および KDC などの確認に、Kerberos 構成ファイル krb5.conf が参照されます。krb5.conf ファイルを含まない、Microsoft の提供する Windows 2000 用 Kerberos などを使用している場合、このファイルを作成するか、「デフォルト領域および KDC を表すプロパティの設定」で説明するシステムプロパティを使用する必要があります。

デフォルト領域および KDC を表すプロパティの設定

一般に、デフォルト領域およびその領域の KDC は、Kerberos 構成ファイル krb5.conf に指定されます。ただし、以下に示すシステムプロパティに領域および KDC を設定することにより、これらの値を指定することも可能です。

java.security.krb5.realm
java.security.krb5.kdc

プロパティを設定する場合、1 つだけ設定するのではなく、両方とも設定する必要があります。

また、これらのプロパティを設定する場合、krb5.conf ファイルも指定しない限り、相互領域認証は行えません。理由は、このファイルから、相互領域認証に必要な追加情報を取得するためです。

これらのプロパティの値を設定する場合、krb5.conf に指定されたデフォルト領域および KDC 値はオーバーライドされます。デフォルト領域および KDC 以外の項目で値が必要な場合にも、krb5.conf ファイルが参照されます。krb5.conf ファイルが見つからない場合、これらの項目に使用されるデフォルト値は、実装により異なります。

krb5.conf 構成ファイルの検出

必須の Kerberos 構成情報は、デフォルト領域およびデフォルト KDC です。「デフォルト領域および KDC を表すプロパティの設定」で説明したように、これらの値を示すプロパティを設定した場合、値は krb5.conf 構成ファイルからは取得されません。

これらのプロパティに値が設定されていないか、他の Kerberos 構成情報が必要な場合、krb5.conf ファイル内で必要な情報の検出が試みられます。krb5.conf ファイルを検出するアルゴリズムを、次に示します。