SSL ハンドシェークおよび認証プロセス

SSL を使用するには、クライアント (IMS™ TM リソース・アダプター) とサーバー (IMS Connect) の両方を SSL ハンドシェーク用に構成する必要があります。
実行時に、Java クライアント・ アプリケーションが IMS との 対話を実行すると、その対話は機密保護機能のある (SSL) 接続上で、SSL クライアントである IMS TM リソース・アダプター と SSL サーバーである IMS Connect の間を流れます。 クライアントとサーバー間の SSL 接続を開始するために、SSL ハンドシェーク処理が行われます。Java クライアント・ アプリケーションに対しては透過的なこの SSL ハンドシェークは、次のように起こります。
  1. SSL クライアントである IMS TM リソース・アダプターは、 クライアントに hello メッセージを送信して接続を開始します。 サーバーである IMS Connect は、サーバーの hello メッセージと、公開鍵を含む証明書で応答します。
  2. この証明書がサーバーによって正常に認証されると、両方の側で セッション鍵が確立され、接続で使用される暗号化のタイプを決定する 暗号仕様が折衝されます。 暗号は、STRONG、WEAK、または ENULL に設定できます。 その後、サーバーがクライアント認証を必要としない場合、SSL ハンドシェークは完了します。
  3. サーバーがクライアント認証を要求する場合、クライアントは、証明書から得られるサーバーの公開鍵を使用して、サーバーの証明書を認証します。 この認証が正常に行われると、クライアント証明書がクライアントの鍵ストアから送られます。 この証明書がサーバーによって正常に認証されると、両方の側で セッション鍵が確立され、接続で使用される暗号化のタイプを決定する 暗号仕様が折衝されます。 その後、SSL ハンドシェークが完了します。
  4. これで、クライアントおよびサーバーは暗号化されたデータを送受信する準備ができます。
重要: クライアント・アプリケーションが (SSL 接続を使用する場合に強く推奨されているとおり) 管理環境で実行されている場合、IMS TM リソース・アダプターは、永続的ソケット接続を使用して IMS Connect と通信する必要があります。 しかし、非管理環境では、これらの永続的接続は使用後、毎回アプリケーションによって切断され、別のアプリケーションが再利用できません。

WebSphere® Application Server Connection Manager を使用すると、 他のクライアント・アプリケーションが接続を連続して再利用可能です。 接続マネージャーは、必要であれば接続を作成し、それらの接続を必要に応じてアプリケーションに提供します。 接続を使用したアプリケーションが終了したとき、接続マネージャーはその接続をフリー・プールに戻し、このタイプの接続を必要とするその他のアプリケーションで再利用可能にします。 しかし、クライアント認証およびサーバー認証は、ハンドシェーク中に各ソケットごとに 1 回ずつ発生します。 これは、そのソケットが最初に作成され、SSL ソケットとして初期化されるときに実行されます。 ソケットが再利用される場合、SSL クライアントである IMS TM リソース・アダプターと、 サーバーである IMS Connect に変更はありません。 したがって、ソケットが再利用されたときは、(再びハンドシェーク処理を介して) クライアントとサーバーを再度認証する必要はありません。 ソケットが再利用されるたびに、ソケットを識別するクライアント ID は同じままで残ります。

SSLEncryption 値が ENULL に設定されると、 Strong または Weak 暗号化を使用した SSL 接続よりもパフォーマンスが高速になります。パフォーマンス改善レベルはハードウェア暗号化が使用されているか、またはソフトウェア暗号化が使用されているかなど、いくつかの要因に依存します。一般に、ハードウェア暗号化のほうがソフトウェアの暗号化より高速です。


フィードバック