Oracle® Solaris 11.2 での Kerberos およびその他の認証サービスの管理

印刷ビューの終了

更新: 2014 年 9 月
 
 

Kerberos 暗号化タイプ

暗号化タイプは、暗号処理が実行されるときに使用する暗号アルゴリズムとモードを特定します。サポートされている暗号化タイプのリストについては、krb5.conf(4) および kdb5_util(1M) のマニュアルページを参照してください。

クライアントが KDC にチケットを要求する場合、KDC はクライアントとサーバーで互換性のある暗号化タイプの鍵を使用する必要があります。Kerberos プロトコルでは、クライアントは KDC に、チケット応答のクライアントの部分に特定の暗号化タイプを使用するようリクエストできます。このプロトコルでは、サーバーが KDC に暗号化タイプを指定することは許可されません。

暗号化タイプを変更する前に、次の問題を考慮してください。

  • KDC では、主体データベースのサーバー主体エントリに関連する最初の鍵/暗号化タイプはサーバーによってサポートされているものとします。

  • KDC 上で、主体に対して生成される鍵が、その主体を認証するシステムと互換性があることを確認する必要があります。デフォルトで、kadmin コマンドは、サポートされるすべての暗号化タイプの鍵を生成します。主体を使用するシステムがこの暗号化タイプのデフォルトのセットをサポートしていない場合、主体の作成時に暗号化タイプを制限する必要があります。暗号化タイプを制限するために推奨される 2 つの方法として、kadmin addprinc–e フラグを使用するか、または kdc.conf ファイル内の supported_enctypes パラメータをこのサブセットに設定します。supported_enctypes パラメータは、Kerberos レルム内のほとんどのシステムが暗号化タイプのデフォルトセットのサブセットをサポートしている場合に使用します。supported_enctypes を設定すると、kadmin addprinc が特定のレルムに対して主体を作成するときに使用する暗号化タイプのデフォルトセットが指定されます。

  • システムがサポートする暗号化タイプを決定する場合は、システム上で実行されている Kerberos のバージョンと、サーバー主体が作成される対象のサーバーアプリケーションでサポートされている暗号化アルゴリズムの両方を考慮してください。たとえば、nfs/hostname サービス主体を作成する場合は、暗号化タイプをそのホスト上の NFS サーバーがサポートしているタイプに制限するようにしてください。

  • kdc.conf ファイル内の master_key_enctype パラメータを使用すると、主体データベース内のエントリを暗号化するマスター鍵の暗号化タイプを制御できます。KDC 主体データベースが既に作成済みの場合は、このパラメータを使用しないでください。データベースの作成時に master_key_enctype パラメータを使用すると、マスター鍵のデフォルトの暗号化タイプを aes256-cts-hmac-sha1-96 から別の暗号化タイプに変更できます。スレーブ KDC を構成するときに、すべてのスレーブ KDC が選択された暗号化タイプをサポートしていること、およびそれぞれの kdc.conf ファイル内に同一の master_key_enctype エントリが存在することを確認してください。また、kdc.confsupported_enctypes が設定されている場合は、master_key_enctypesupported_enctypes 内のいずれかの暗号化タイプに設定されていることも確認してください。これらの問題のいずれかが適切に処理されない場合、マスター KDC はスレーブ KDC と連携できない可能性があります。

  • クライアント上では、krb5.conf ファイル内のパラメータを使用して、KDC に対する暗号化タイプのリクエストを制御できます。default_tkt_enctypes パラメータは、クライアントが KDC にチケット認可チケット (TGT) をリクエストするときに使用する暗号化タイプを指定します。TGT は、より効果的な方法でほかのサーバーチケットを取得するためにクライアントにより使用されます。default_tkt_enctypes を設定すると、クライアントが TGT を使用してサーバーチケットを要求する (TGS 要求と呼ばれる) ときに、クライアントと KDC 間の通信を保護するために使用される暗号化タイプを一部制御できます。default_tkt_enctypes で指定された暗号化タイプは、KDC 上に格納されている主体データベース内の主体鍵の暗号化タイプの少なくとも 1 つに一致している必要があることに注意してください。一致しない場合、TGT 要求は失敗します。default_tkt_enctypes は相互運用性の問題の原因になる場合があるため、ほとんどの状況ではこのパラメータを設定しないようにしてください。デフォルトでは、クライアントコードは、サポートされるすべての暗号化タイプと KDC に、KDC が主体データベースで検索した鍵に基づいて暗号化タイプを選択するようリクエストします。

  • default_tgs_enctypes パラメータは、サーバーチケットを取得するために使用される TGS リクエストでクライアントがリクエストする暗号化タイプを制限します。このパラメータは、クライアントとサーバーが共有するセッション鍵を作成するときに KDC が使用する暗号化タイプも制限します。たとえば、セキュアな NFS の実行中にクライアントで 3DES 暗号化だけを使用する場合は、default_tgs_enctypes = des3-cbc-sha1 を設定するようにしてください。クライアント主体とサーバー主体の主体データベース内に des-3-cbc-sha1 鍵が存在することを確認してください。default_tkt_enctype と同様に、資格が KDC とサーバーの両方で正しく設定されていないと相互運用性の問題の原因になる場合があるため、ほとんどの状況ではこのパラメータを設定しないようにしてください。

  • サーバー上では、kdc.conf ファイル内の permitted_enctypes パラメータを使用して、サーバーが受け入れる暗号化タイプを制御できます。さらに、サーバーが keytab エントリを作成するときに使用する暗号化タイプを指定できます。KDC は使用する鍵または暗号化タイプを決定するときにサーバーアプリケーションと通信しないため、これらの方法のいずれかを使用して暗号化タイプを制御することはできるだけ避け、代わりに、KDC に使用する暗号化タイプを決定させるようにしてください。