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

課題 7:Kerberos 環境でのより強力な暗号化アルゴリズムを使用した安全な通信の構成

この課題の目標:

この課題の目標は、さまざまな Kerberos 暗号化アルゴリズムを使用して安全な通信を行う方法について学習することです。J2SE 1.4 では、Java GSS/Kerberos は DES 暗号化タイプのみをサポートしていました。Java GSS/Kerberos プロバイダは J2SE 5.0 およびそれ以降のリリースで機能が拡張され、より強力な Kerberos 暗号化アルゴリズムをサポートします。また、最新の Kerberos 仕様である RFC4120 に準拠しています。AES256、AES128、3DES、RC4-HMAC、DES など、さまざまな Kerberos 暗号化タイプをサポートしています。J2SE 5.0 は、3DES と DES の Kerberos 暗号化タイプをサポートしています。Java SE 6 以降では、Kerberos で AES および RC4-HMAC をサポートしています。

Java SE 6.0 の Java GSS/Kerberos プロバイダがサポートしている暗号化タイプは、次のとおりです。

  1. AES256-CTS
  2. AES128-CTS
  3. RC4-HMAC
  4. DES3-CBC-SHA1
  5. DES-CBC-MD5
  6. DES-CBC-CRC

実行手順:

  1. Key Distribution Center (KDC) を構成し、Kerberos データベースを更新します。

    最初に、必要な Kerberos 暗号化タイプ (Solaris 10 や MIT ディストリビューションの最新の MIT Kerberos 1.4 など) をサポートする Key Distribution Center (KDC) を使用するために更新を行う必要があります。Windows プラットフォームで Active Directory を使用している場合、DES と RC4-HMAC 暗号化タイプのみがサポートされます。

    より強力な暗号化アルゴリズムを使用して新しい鍵を生成するために、Kerberos データベースを更新する必要があります。デフォルトでは、Solaris 10 KDC は、前述のリストのすべての暗号化タイプ用の鍵を生成します。前述のすべての暗号化タイプ用のすべての鍵を含むキータブを作成できます。

    注: Windows 2000 KDC を使用する場合は、Windows マシンで使用可能な DES および RC4-HMAC 暗号化タイプを使用するように構成します。


  2. Kerberos 構成ファイルを編集します。これは src/krb5.conf にあります。

    使用する暗号化タイプを選択するには、Kerberos 構成ファイルを編集する必要があります。必要なパラメータを次に示します。これらのパラメータは、Kerberos 構成ファイルの libdefaults セクションの下に挿入する必要があります。この課題では、この課題に付属しているサンプルの Kerberos 構成ファイルにすべての必要なエントリが追加されています。これらのエントリはコメントアウトされています。必要な暗号化タイプを有効にするには、必要なエントリのコメントを解除するだけです。

まとめ:

この課題では、より強力な Kerberos 暗号化アルゴリズムを使用して、お互い安全に認証および通信を行うために Java GSS API を使用するクライアント/サーバーアプリケーションを記述する方法について学習しました。Kerberos デバッグ (-Dsun.security.krb5.debug=true) を有効にすると、使用されている Kerberos 暗号化タイプに関する情報を入手できます。