e-business の発展と共に、データ・セキュリティーは、Internet
ユーザーにとってますます重要になってきました。Secure Sockets Layer (SSL) プロトコルによって、Internet
経由の機密情報の転送は、保護されています。SSL は、情報を以下の問題から保護します。
- インターネットの盗聴
- データ盗難
- トラフィック分析
- データ変更
- トロイの木馬ブラウザー / サーバー
IMS Connector for Java が IMS Connect と通信するための 1 つの
方法として、TCP/IP ソケットが使用されることがあります。
IMS Connector for Java が TCP/IP を使用している場合には、2 つの
エンティティー間の TCP/IP 通信を保護するために SSL を使用できます。
IMS Connector for Java が提供する SSL サポートは、IMS Connect が提供する
サポートと連動して、公開鍵と秘密鍵の組み合わせ、および対称鍵暗号化スキームを
使用し、クライアントおよびサーバー認証、データ機密性、および保全性を
実現しています。
SSL は、TCP/ IP 通信プロトコルの上
位に位置するため、SSL 対応のサーバーは、SSL 対応のクライアントに対し
てそのサーバー自身の認証を行うことができます。また、この逆も行うことができます。
IMS Connector for Java と IMS Connect の間の SSL
接続では、IMS Connector for Java がクライアントで、IMS Connect がサーバーと見なされます。認証が一度完了すると、サーバーおよびクライアントは、同じくデータ保全性を保持する暗号化
された接続を確立できます。
WebSphere® 環境で実行される場合に
SSL をサポートするために、IMS Connector for Java は、IBM® によって実装された Java Secure Socket Extension (IBM
JSSE) を使用します。
SSL ライブラリーは、WebSphere Studio Application Developer
Integration Edition および WebSphere Application Server に組み込まれています。
SSL 概念
証明書
ディジタル証明書は、その証明書の所有者の ID を検証するディジタル文書です。ディジタル証明書には、名前、会社、および公開鍵などの個人に関する情報が含まれています。証明書は、信頼のおける権威組織である Certificate Authority (CA) によ
ってディジタル署名を使用して署名されます。
認証局
Certificate Authority (CA) は、ユーザーおよびシステムに対するディジタル証明書の作成および発行を行う信頼できる組織です。
CA は、有効な信任状として証明書の信頼性の基礎を確立します。
証明書管理
証明書および秘密鍵は、鍵ストアと呼ばれるファイルに保管されます。鍵ストアは、鍵の材料のデータベースです。鍵ストア情報は、次の 2 つのカテゴリー、鍵項目およびトラステッド認証項目にグループ化できます。この 2 つの項目を
同じ鍵ストアに保管することも、あるいはセキュリティー上の目的で鍵ストアとトラストストアに別々に保管することもできます。鍵ストアおよびトラストストアは、SSL クライアントである IMS Connector for Java
と、SSL サーバーである IMS Connect の両方で使用されます。
- 鍵ストア
- 鍵ストアは、ユーザーの秘密鍵などの鍵項目を保持します。たとえば、クライアント IMS Connector for Java です。
- トラストストア
- トラストストアは、ユーザーにとって信頼できる証明書のみを保管する鍵ストアです。トラストストアへの項目の追加は、ユーザーがそのエンティティーを信頼できると判断した場合にのみ行うようにする必要があります。
IMS Connector for Java (クライアント) のトラストストア項目の例として、ターゲット・サーバーである
IMS Connect の証明書が挙げられます。
利便性を考慮して、IMS Connector for Java では、ユーザーは
鍵項目およびトラステッド証明書項目を鍵ストアに保管することも、トラストストアに
保管することもできるようになっています。ユーザーは、従来どおり、それらの項目を別々に保管するように選択できます。IMS Connector for Java
がサポートするのは、X.509 証明書、分散プラットフォーム (zLinux を含む) 上の「JKS」鍵ストア・タイプ、OS/390
および z/OS 上の「JKS」鍵ストア・タイプまたは RACF 鍵リングのみです。
SSL プロセス
SSL プロトコルは、サーバー認証、クライアント認証
(オプションですが強くお勧めします)、その後に続く暗号化された会話で構成されます。以下のシナリオでは、SSL プロセスのステップを説明します。
サーバー認証
SSL
サーバー認証によって、クライアントはサーバーの ID を確認できます。SSL 対応のクライアント・ソフトウェアは、公開鍵暗号化標準技法を使用して、
サーバーの証明書および公開 ID が有効で、その証明書および ID が、クラ
イアントのトラステッド認証局 (CA) のリストの 1 つから発行されていることを確認します。
クライアント認証
SSL クライアント認証によって、サーバーはクライアントの
ID を確認できます。
SSL 対応のサーバー・ソフトウェアは、サーバー認証で使用されたものと同じ技法を使用して、
クライアントの証明書および公開 ID が有効であり、その証明書および ID が、サーバーのトラステッド認証局 (CA) のリストの 1 つから発行されていることを確認します。
SSL ハンドシェーク
クライアントである IMS Connector for Java
と、サーバーである IMS Connect の両方が、証明書と秘密鍵を鍵ストアに保管します。
IMS Connector for Java と IMS Connect の間の実際の SSL セッションは、
クライアントとサーバーの間のハンドシェーク・シーケンスの後に確立されます。このシーケンスは、サーバーがサーバー証明書を提供するように構成されているか、クライアント証明書を要求するように構成されているか、およびどの暗号スイートが使用されているかによって異なります。暗号 (cipher) とは、暗号化アルゴリズムです。SSL プロトコルは、クライアントおよびサーバーが、暗号スイートと折衝し、お互いに認証し、証明書を伝送し、セッション鍵を確立する方法を決定します。暗号スイートで使用されるアルゴリズムをいくつか示します。
- DES - データ暗号化標準
- DSA - ディジタル・シグニチャー・アルゴリズム
- KEA - 鍵交換アルゴリズム
- MD5 - メッセージ・ダイジェスト・アルゴリズム
- RC2 および RC4 - Rivest 氏によって開発された暗号方式
- RSA - 暗号化および認証両方の公開鍵アルゴリズム
- RSA 鍵交換 - RSA アルゴリズムに基づく SSL の鍵交換
- SHA-1 - セキュア・ハッシュ・アルゴリズム
- SKIPJACK - FORTEZZA 準拠のハードウェアに実装された非公開の対称鍵アルゴリズム
- Triple-DES - DES を 3 重に適用したアルゴリズム。
SSL 2.0 および SSL 3.0 プロトコルでは、暗号スイートの重複セットがサポートされています。管理者は、クライアントおよびサーバーの両方に対して、サポートされている任意の暗号スイートを使用可能、
または使用不可にできます。SSL ハンドシェーク中に特定のクライアントとサーバーが情報を交換する場合、そのクライアントとサーバーは、両方で共通の、使用可能な暗号スイートの中で最も強度の高いものを識別し、それらの 1 つを SSL セッションで使用します。
Transport Layer Security、バージョン 1 (TLS V1) は、SSL 3.0 プロトコルの後継です。IMS
Connector for Java では、TLS V1 のみが サポートされています。後方互換性の問題はありません。