暗号化は、メモリーおよびリポジトリ内のサーバーデータだけでなく、Identity Manager サーバーとゲートウェイの間で送信されるすべてのデータの機密性と完全性を保証するために使用されます。
続く節では、Identity Manager サーバーおよびゲートウェイでの暗号化の使用および管理方法を詳しく説明し、サーバーとゲートウェイの暗号化キーに関する疑問を解決します。
次の表は、Identity Manager 製品で暗号化によって保護されるデータの種類と、各データの種類を保護するために使用される暗号を示したものです。
表 12–1 暗号化によって保護されるデータの種類
データ型 |
RSAMD5 |
NIST トリプル DES 168 ビットキー (DESede/ECB/NoPadding) |
PKCS#5 パスワードベースの Crypto56 ビットキー (PBEwithMD5andDES) |
---|---|---|---|
サーバー暗号化キー |
Default |
設定オプション |
|
ゲートウェイ暗号化キー |
Default |
設定オプション1 |
|
ポリシー辞書単語 |
はい | ||
ユーザーパスワード |
はい | ||
ユーザーパスワード履歴 |
はい | ||
ユーザーの回答 |
はい | ||
リソースパスワード |
はい | ||
リソースパスワード履歴 |
はい | ||
サーバーゲートウェイ間のすべてのペイロード |
はい |
続く節では、サーバー暗号化キーのソース、場所、保守、使用についてよく尋ねられる質問に答えていますのでご覧ください。
質問:サーバー暗号化キーとは何ですか ?
回答:サーバー暗号化キーはトリプル DES 168 ビットの対称キーです。
サーバーでサポートされるキーには 2 つのタイプがあります。
デフォルトキー。このキーは、コンパイル時にサーバーコードに組み込まれます。
ランダムに生成されるキー。このキーは、サーバーの最初の起動時、または現在のキーのセキュリティーに不安がある場合にいつでも生成することができます。
サーバー暗号化キーはどこで維持管理されますか ?
回答:サーバー暗号化キーはリポジトリで維持管理されるオブジェクトです。どのリポジトリにも多数のデータ暗号化キーがある可能性があります。
質問:暗号化されたデータの復号化や再暗号化にどのキーを使用するかを、サーバーはどのようにして認識するのですか ?
回答:リポジトリに格納された各暗号化データの先頭には、そのデータを暗号化する際に使用したサーバー暗号化キーの ID が付加されます。暗号化データを含むオブジェクトがメモリーに読み込まれると、Identity Manager はその暗号化データ の ID プレフィックスに関連づけられたサーバー暗号化キーを使用して復号化し、データが変更されている場合には同じキーで再暗号化します。
質問:サーバー暗号化キーはどのようにして更新しますか ?
回答:Identity Manager には「サーバー暗号化の管理」というタスクが用意されています。
このタスクを使用することにより、承認されたセキュリティー管理者は次のようなキー管理タスクを実行することができます。
新しい現在のサーバーキーの生成
現在のサーバーキーを使用して暗号化したデータを含む既存オブジェクトに対する、タイプ別の再暗号化
このタスクの使用法の詳細については、この章の「サーバー暗号化の管理」を参照してください。
質問:現在のサーバーキーが変更された場合、既存の暗号化データはどうなりますか ?
回答:何も問題はありません。既存の暗号化データは、引き続き、暗号化データの ID プレフィックスで参照されているキーを使用して復号化や再暗号化されます。新しいサーバー暗号化キーが生成され、そのキーが現在のキーに設定された場合、新たに暗号化されるデータには新しいサーバーキーが使用されます。
複数のキーがあることによる問題を回避するため、またデータの完全性のレベルを高い状態に保つために、「サーバー暗号化の管理」タスクを使用して、現在のサーバー暗号化キーで既存の暗号化データをすべて再暗号化してください。
質問:暗号化キーを使用できない暗号化データをインポートした場合、どのようなことが起こりますか ?
回答:暗号化データを含むオブジェクトをインポートする際、読み込み先となるリポジトリにないキーでデータが暗号化されている場合、データはインポートされますが、復号化されません。
質問:サーバーキーはどのように保護されますか ?
回答:サーバーがパスワードベースの暗号化 (PBE) - PKCS#5 暗号化を使用するよう pbeEncrypt 属性または「サーバー暗号化の管理」タスクを使用してシステム設定オブジェクトで設定されていない場合には、デフォルトキーを使用してサーバーキーが暗号化されます。デフォルトキーはすべての Identity Manager インストールで同じです。
サーバーが PBE 暗号化を使用するよう設定されている場合は、サーバーを起動するたびに PBE キーが生成されます。PBE キーは、サーバー固有の秘密キーから生成されるパスワードを PBEwithMD5andDES 暗号に渡すことによって生成されます。PBE キーはメモリー内にのみ保持され、それが持続させられることは決してありません。また、共通リポジトリを共有するすべてのサーバーの PBE キーは同じです。
サーバーキーの PBE 暗号化を有効にするには、暗号 PBEwithMD5andDES が使用可能である必要があります。Identity Manager はデフォルトではこの暗号をパッケージ化しませんが、この暗号は、Sun や IBM によって提供される実装など、多くの JCE プロバイダの実装で使用可能な PKCS#5 標準です。
質問:サーバーキーを安全な外部記憶装置にエクスポートしてもよいですか ?
回答:はい。サーバーキーが PBE 暗号化されている場合、エクスポートの前に、サーバーキーは復号化されてデフォルトキーで再暗号化されます。これにより、それ以後ローカルサーバー PBE キーに依存することなく、同じサーバーまたは別のサーバーにサーバーキーをインポートできるようになります。サーバーキーがデフォルトキーで暗号化されている場合は、エクスポート前の事前処理は行われません。
サーバーキーをサーバーにインポートするときには、サーバーが PBE キー用に設定されていればキーが復号化され、次いで、そのサーバーが PBE キー暗号化用に設定されていればローカルサーバーの PBE キーで再暗号化されます。
質問:どのデータがサーバーとゲートウェイの間で暗号化されますか ?
回答:サーバーとゲートウェイの間で送信されるすべてのデータ (ペイロード) が、ランダムに生成されたサーバーゲートウェイセッション対称 168 ビットキーを使用してトリプル DES で暗号化されます。
続く節では、ゲートウェイのソース、記憶装置、配布、保護についてよく尋ねられる質問に答えていますのでご覧ください。
質問:データの暗号化または復号化に使用するゲートウェイキーとは何ですか ?
回答:Identity Manager サーバーがゲートウェイに接続するたびに、初期ハンドシェークによって新規のランダム 168 ビット、トリプル DES セッションキーが生成されます。それ以降サーバーとゲートウェイの間で送信されるすべてのデータは、このキーを使用して暗号化または復号化されます。サーバー/ゲートウェイのペアごとに一意のセッションキーが生成されます。
質問:ゲートウェイキーはどのようにゲートウェイに配布されますか ?
回答:セッションキーはサーバーによってランダムに生成された後、初期サーバーゲートウェイ間ハンドシェークの一環として共有秘密マスターキーによって暗号化されることにより、サーバーとゲートウェイの間でセキュアに交換されます。
初期ハンドシェーク時に、サーバーはゲートウェイに問い合わせて、ゲートウェイがサポートするモードを判別します。ゲートウェイは次の 2 つのモードで作動します。
「デフォルト」モード。サーバーゲートウェイ間の初期プロトコルハンドシェークは、コンパイル時にサーバーコードに組み込まれている、デフォルトの 168 ビットトリプル DES キーで暗号化されます。
「セキュア」モード。共有リポジトリを使用する、ランダムな 168 ビットキーであるトリプル DES ゲートウェイキーが生成され、初期ハンドシェークプロトコルの一環としてサーバーからゲートウェイに送信されます。このゲートウェイキーは他の暗号化キーと同様にサーバーリポジトリに格納され、ゲートウェイによりゲートウェイ自身のローカルレジストリにも格納されます。
セキュアモードでかつサーバーがゲートウェイに接続している場合、サーバーはテストデータをゲートウェイキーで暗号化してゲートウェイに送信します。ゲートウェイはテストデータの復号化を試み、テストデータにゲートウェイ固有のデータを追加してから、両方を再暗号化してサーバーに送り返します。サーバーがテストデータとゲートウェイ固有のデータを正常に復号化できた場合、サーバーはサーバーゲートウェイ間用に一意のセッションキーを生成し、それをゲートウェイキーで暗号化してゲ?トウェイに送信します。ゲートウェイはセッションキーを受け取ると、すぐに復号化し、サーバーとゲートウェイ間のセッションが持続する間そのキーを保持して使用します。サーバーがテストデータとゲートウェイ固有のデータを正常に復号化できない場合、サーバーはデフォルトキーを使用してゲートウェイキーを暗号化し、ゲートウェイに送信します。ゲートウェイはコンパイル時に組み込まれたデフォルトキーを使用してゲートウェイキーを復号化し、そのゲートウェイキーをレジストリに格納します。その後、サーバーはそのゲートウェイキーを使ってサーバーゲートウェイ間で一意のセッションキーを暗号化し、セッションキーをゲートウェイに送信して、サーバーゲートウェイ間のセッションが持続する間そのセッションキーを使用します。
それ以後、ゲートウェイは自身のゲートウェイキーでセッションキーを暗号化したサーバーからのリクエストのみを受け入れます。ゲートウェイは、起動時にキーのレジストリをチェックします。キーが存在する場合、ゲートウェイはそのキーを使用します。キーが存在しない場合、ゲートウェイはデフォルトキーを使用します。ゲートウェイがレジストリにキーセットを持つと、ゲートウェイはデフォルトキーを使用したセッションの確立を許可しなくなり、第三者が不正なサーバーを設定したりゲートウェイへの接続を確立したりするのを防ぎます。
サーバーゲートウェイ間ペイロードの暗号化や復号化に使用するゲートウェイキーを更新できますか ?
回答:Identity Manager には「サーバー暗号化の管理」というタスクが用意されており、承認されたセキュリティー管理者はいろいろなキー管理タスクを実行することができます。そのタスクには、新しい現在のゲートウェイキーの生成や生成された現在のゲートウェイキーによるすべてのゲートウェイの更新などが含まれます。このキーはサーバーゲートウェイ間で送信されるすべてのペイロードを保護する、セッション単位のキーを暗号化するために使用されます。新たに生成されるゲートウェイキーは、システム設定 (「Identity Manager 設定オブジェクトの編集」) の pbeEncrypt 属性の値に基づいて、デフォルトキーまたは PBE キーで暗号化されます。
質問:ゲートウェイキーはサーバー上とゲートウェイ上のどこに格納されますか ?
回答:サーバー上では、ゲートウェイキーはサーバーキーとまったく同じようにリポジトリに格納されます。ゲートウェイ上では、ローカルレジストリキー内に格納されます。
質問:ゲートウェイキーはどのように保護されますか ?
回答:ゲートウェイキーはサーバーキーの場合と同じように保護されます。サーバーが PBE 暗号化を使用するように設定されている場合、ゲートウェイキーは PBE が生成するキーで暗号化されます。このオプションが false に設定されている場合には、ゲートウェイキーはデフォルトキーで暗号化されます。詳細は、「サーバー暗号化キーについてのよくある質問」を参照してください。
質問:ゲートウェイキーを安全な外部記憶装置にエクスポートしてもよいですか ?
回答:ゲートウェイキーは、サーバーキーの場合と同じく、「サーバー暗号化の管理」タスクを使用してエクスポートできます。詳細は、「サーバー暗号化キーについてのよくある質問」を参照してください。
質問:サーバーキーとゲートウェイキーはどのように破棄されますか ?
回答:サーバーキーとゲートウェイキーは、サーバーリポジトリからそれらを削除することによって破棄されます。あるキーを使用して暗号化されたサーバーデータがある間や、そのキーに依存するゲートウェイがある間は、そのキーを削除しないように注意してください。「サーバー暗号化の管理」タスクを使用して、現在のサーバーキーですべてのサーバーデータを再暗号化し、現在のゲートウェイキーをすべてのゲートウェイで同期することによって、古いキーを削除する前に、確実にどの古いキーも使用されていない状態になるようにしてください。