Java™ SE 認証、安全な通信、およびシングルサインオンでの高度なセキュリティープログラミング

Java SE では、安全な Java アプリケーションやサービスを開発するための API および機能が数多く提供されています。ここにリストされている課題セッションを使用すると、Java SE GSS API を使用してユーザーを認証するアプリケーションを構築したり、ほかのアプリケーションやサービスとの通信を安全に行なったりする場合に役立ちます。また、Kerberos 環境でアプリケーションを構成してシングルサインオンを行う場合にも役立ちます。さらに、Kerberos 環境でより強力な暗号化アルゴリズムを使用する方法、および SPNEGO などの Java GSS 機構を使用して安全に関連付けを行う方法についても学習します。

開発環境の設定

次にリストされているソフトウェアのダウンロード、インストール、および構成を行ってください。

  1. jgss-sample.zip 内の課題をダウンロードして解凍します。
  2. Solaris 10 マシンをインストールして設定します。これは、課題 7 で必要となります。
  3. 課題で使用するアカウントを使用して Solaris 10 マシンで Kerberos サーバーを構成します。付録 A を参照してください。
  4. Java SE JDK のインストールディレクトリをポイントするように、%JAVA_HOME% 環境変数を設定します。
    例: /usr/jdk/jdk6.0/

課題

このセッションには 5 つのレッスンが含まれています。各パートには、1 つ以上のコード課題が含まれています。

チェックが必要な項目:

最初の課題に進む前に、次の構成設定を確認しておく必要があります。

  1. Solaris 10 マシンで Key Distribution Center (KDC) を設定し、Kerberos サーバーを開始します。
  2. クライアントマシンで Kerberos 構成を設定します。
  3. JDK 6.0 が使用可能であることを確認します。

次の課題は順番どおりに実行してください。

第 I 部:   Java Authentication and Authorization Service (JAAS) を使用した安全な認証:

  1. JAAS API の使用
  2. Kerberos 認証用の JAAS の構成

第 II 部:  Java SE 1.5 Security API を使用した安全な通信

  1. Java Generic Security Services (GSS) API の使用
  2. Java Simple Authentication and Security Layer (SASL) API の使用
  3. Kerberos での Java Secure Socket Extension (JSSE) の使用

第 III 部:  Kerberos 環境でのシングルサインオンの配備

  1. シングルサインオンの配備

第 IV 部:  より強力な暗号化アルゴリズム (Java SE 6.0) を使用した安全な通信

  1. より強力な Kerberos 暗号化アルゴリズムを使用した安全な通信の構成

第 V 部:  SPNEGO Java GSS 機構 (Java SE 6.0) を使用した安全な認証

  1. SPNEGO などのほかの GSS 機構と Java Generic Security Services (GSS) API の使用

第 VI 部:  HTTP/SPNEGO 認証:

  1. HTTP/SPNEGO 認証の使用

リソース:

この課題に関する質問またはフィードバックの送信先:

この一連の課題に関する質問は、次の電子メールエイリアスに送信してください。
java-security@sun.com


付録 A:Kerberos アカウントの設定

Kerberos アカウントは Key Distribution Center (KDC) に設定します。 データベースの各エントリには Kerberos 主体が含まれています。サーバーを実行するマシンのホストベースの主体 (「host/j1hol-001」など)、およびサーバーにアクセスするためのクライアント主体 (「test」など) を作成する必要があります。

Solaris の場合は、Kerberos 主体を設定する方法について次のドキュメントを参照してください。

  1. Administering Principals
  2. System Administration Guide:Security Services

Windows の場合は、Microsoft のドキュメントを参照してください。次はその一例です。

  1. How to Create an Active Directory Server in Windows 2000
  2. Microsoft Kerberos
  3. Interoperability with Microsoft Windows 2000 Active Directory and Kerberos Services

この課題では、正しい Kerberos サーバーを使用するためにオペレーティングシステムが構成されていることを前提としています。通常、この構成を行うには管理者特権が必要です。オペレーティングシステムを構成できない場合は、java コマンドを -Djava.security.krb5.conf オプションとともに使用することによって、Kerberos 構成ファイルを使用できます。次の例は、課題のコマンドの 1 つを呼び出して krb5.conf 構成ファイルを使用する方法を示しています。

 % java
  -Djava.security.auth.login.config=jaas-krb5.conf\
  -Djava.security.krb5.conf=krb5.conf\
   Jaas client