![]() ![]() ![]() ![]() |
ここで説明する作業は、CORBA アプリケーションで SSL プロトコルまたは証明書による認証を使用している場合にのみ実行してください。
注意 : | Oracle Tuxedo CORBA Java クライアントと Oracle Tuxedo CORBA Java クライアント ORB は Tuxedo 8.1 で非推奨になり、サポートされなくなりました。Oracle Tuxedo CORBA Java クライアントおよび Oracle Tuxedo CORBA Java クライアント ORB のテキスト参照、関連するコード サンプルはすべてサードパーティの Java ORB ライブラリの実装/実行の簡易化とプログラマによる参照だけに使用する必要があります。 |
注意 : | サード パーティの CORBA Java ORB のテクニカル サポートは、各ベンダによって提供されます。Oracle Tuxedo では、サード パーティの CORBA Java ORB に関する技術的なサポートやマニュアルは提供していません。 |
SSL プロトコルおよび公開鍵によるセキュリティ機能を使用して、プリンシパルと Oracle Tuxedo ドメイン間の通信を保護するには、専用のライセンスをインストールする必要があります。ライセンスのインストール方法については、『Oracle Tuxedo システムのインストール』を参照してください。
また、公開鍵によるセキュリティを実装する前に、Lightweight Directory Access Protocol サーバと所属組織用の認証局 (市販または専用) を選択して設定する必要があります。
CORBA セキュリティ環境で SSL プロトコルを使用するには、プライベート キーと対応する公開鍵を含むデジタル署名付き証明書が必要です。必要なデジタル証明書およびプライベート キーの数は、SSL プロトコルの使用方法によって異なります。
使用するデジタル証明書の取得先は、信頼性のある CA ファイルで定義されている認証局でなければなりません。詳細については、「信頼性のある認証局の定義」を参照してください。
デジタル証明書を取得するには、デジタル署名要求 (CSR) と呼ばれる特定の形式でデジタル証明書の要求を提出する必要があります。CSR の作成方法は、利用する認証局によって異なります。通常、認証局では、公開鍵、プライベート キー、およびその公開鍵を含む CSR を提供します。CSR を作成するには、選択した認証局で説明されている手順に従います。
手順に従って CSR を作成すると、認証局から次のファイルを受け取ります。
認証局からデジタル証明書を購入するには、認証局の登録手順に従って CSR を認証局に提出します。一部の認証局では、デジタル証明書を Web 経由で購入できます。
デジタル証明書の保存方法としては、グローバル ディレクトリ サービスを使用するのが一般的です。ディレクトリ サービスを使用すると、増え続けるユーザに対してグローバルに利用可能にする情報を容易に管理できます。LDAP サーバでは、さまざまなディレクトリ サービスにアクセスできます。
SSL プロトコルを使用するようにコンフィグレーションされた Oracle Tuxedo 製品の CORBA セキュリティ環境では、プリンシパルおよび認証局のデジタル証明書を、Netscape Directory Service や Microsoft Active Directory などの LDAP ディレクトリ サービスから取り出すことができます。SSL プロトコルまたは認証局を使用する前に、LDAP ディレクトリ サービスをインストールし、所属する組織に合わせてコンフィグレーションする必要があります。Oracle では、特定の LDAP ディレクトリ サービスを提供しておらず、また推奨もしていません。ただし、選択した LDAP ディレクトリ サービスは、X.500 スキーマ定義と LDAP バージョン 2 または 3 プロトコルをサポートしている必要があります。
LDAP ディレクトリ サービスは、オブジェクト クラスの階層を定義します。さまざまなオブジェクト クラスが多数ありますが、デジタル証明書に関連付けられるのは一部だけです。図 4-1 は、デジタル証明書に関連付けられる代表的なオブジェクト クラスを示しています。
認証局から受け取ったデジタル証明書は、次のように LDAP ディレクトリ サービスに保存します。
userCertificate
属性を定義して、LDAP ディレクトリ サービスに保存されます。通常、これらのデジタル証明書は、X.500 で定義されている strongAuthenticationUser
オブジェクト クラスのインスタンスとして保存されます。caCertificate
属性を定義して、LDAP ディレクトリ サービスに保存されます。通常、これらのデジタル証明書は、X.500 で定義されている certificateAuthority
クラスのインスタンスとして保存されます。
別のクラスを使用する LDAP スキーマでは、「LDAP 検索フィルタ ファイルの編集」で説明するように、LDAP 検索ファイルを変更する必要があります。
Oracle Tuxedo 製品では、デジタル証明書を Privacy Enhanced Mail (PEM) 形式でディレクトリ サービスに保存する必要があります。
LDAP ディレクトリ サービスを CORBA セキュリティ環境に統合する方法については、『Oracle Tuxedo システムのインストール』を参照してください。
SSL プロトコルまたは証明書による認証を使用するように CORBA アプリケーションをコンフィグレーションする場合、LDAP 検索フィルタ ファイルをカスタマイズして、ディレクトリ サービスの検索スコープを限定するか、デジタル証明書を保持するオブジェクト クラスを指定します。LDAP 検索フィルタ ファイルをカスタマイズすると、パフォーマンスが大幅に向上する場合があります。Oracle Tuxedo 製品には、次の LDAP 検索フィルタが付属しています。
ディレクトリ サービスのスキーマがデジタル証明書を certificationAuthority
および strongAuthenticationUser
以外のオブジェクト クラスに格納するように定義されている場合、LDAP 検索フィルタ ファイルを変更して、それらのオブジェクト クラスを指定する必要があります。
LDAP 検索フィルタ ファイルの場所は、Oracle Tuxedo 製品のインストール時に指定します。詳細については、『Oracle Tuxedo システムのインストール』を参照してください。
LDAP 検索フィルタ ファイルは、管理者アカウントで所有する必要があります。このファイルを保護して、ファイルのオーナーだけが読み書き特権を持つようにすることをお勧めします。
プリンシパルおよび認証局のデジタル証明書の検索を制限するには、次のタグで示される LDAP 検索フィルタ ファイル内のフィルタ スタンザを変更する必要があります。
これらのタグは、ディレクトリ サービスで情報を検索するためのフィルタ式を含む LDAP 検索フィルタ ファイル内のスタンザを識別します。これら Oracle 固有のタグを使用すると、LDAP 検索フィルタ ファイルのスタンザを、組織内のほかの LDAP 対応アプリケーションが使用する共通の LDAP 検索フィルタ ファイルに保存できます。
Oracle Tuxedo 製品が SSL プロトコルおよびデジタル証明書用に使用する LDAP 検索フィルタ ファイルのスタンザの例を次に示します。
“BEA_person_lookup”
“.*” “ “ “(|(objectClass=strongAuthenticationUser) (mail=%v))”
“e-mail address”
“(|(objectClass=strongAuthenticationUser) (mail=%v))”
“start of e-mail address”
“BEA_issuer_lookup”
“.*” “ ” “(&(objectClass=certificationAuthority)
(cn=%v)” “exact match cn”
(sn=%v))” “exact match sn”
LDAP 検索フィルタ ファイルの詳細については、それぞれの LDAP 対応ディレクトリ サービスのマニュアルを参照してください。
通常、プリンシパルが CSR を生成すると、プライベート キーの入ったファイルを受け取ります。プリンシパルが認証プロセスで自身の ID を証明する場合には、このプライベート キーのファイルが必要になります。プライベート キー ファイルのオーナーだけが読み取り特権を持ち、その他すべてのユーザはファイルにアクセスできないように、プライベート キー ファイルの保護機能を指定します。プライベート キー ファイルは、PEM エンコードされた PKCS #8 保護形式で保存する必要があります。
Oracle Tuxedo システムでは、以下のように、プリンシパルの電子メール アドレスを使用してプライベート キー ファイルの名前を作成します。
たとえば、プリンシパルの名前が milozzi@bigcompany.com
の場合、生成されるプライベート キー ファイルは milozzi_bigcompany.pem
です。この命名規約では、ユーザ名が同じで電子メール ドメインが異なる複数のプリンシパルが社内に存在してもかまいません。
Oracle Tuxedo ソフトウェアでは、次のディレクトリでプライベート キー ファイルが検索されます。
また、Oracle Tuxedo ソフトウェアでは、次のディレクトリでもプライベート キー ファイルが検索されます。
$TUXDIR/udataobj/security/keys
オーナーだけが読み取り特権を持ち、その他すべてのユーザはディレクトリにファイルにアクセスできないように、$TUXDIR/udataobj/security/keys
ディレクトリを保護する必要があります。
コード リスト 4-1 に、プライベート キー ファイルの例を示します。
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIICoDAaBgkqhkiG9w0BBQMwDQQItSFrtYcfKygCAQUEggKAEgrMxo8gYB/MOSXG
...
-----END ENCRYPTED PRIVATE KEY-----
SSL 接続を確立する場合、CORBA のプロセス (クライアント アプリケーション IIOP リスナ/ハンドラ) は、ピアのデジタル証明書のチェーンから認証局の ID および証明書を、信頼性のある認証局のリストと照合して、組織が信頼する認証局であることを確認します。このチェックは、Web ブラウザで行われるチェックとほぼ同じです。照合が失敗した場合、SSL 接続の開始側は対象の認証を拒否し、SSL 接続を終了します。通常は、システム管理者が、信頼性のある認証局のリストを定義します。
信頼性のある認証局のデジタル証明書を LDAP ディレクトリ サービスから取り出します。PEM 形式のデジタル証明書を切り取って、$TUXDIR/udataobj/security/certs
にある trust_ca.cer
というファイルに貼り付けます。trust_ca.cer
は、任意のテキスト エディタで編集できます。
trust_ca.cer
ファイルは、管理者アカウントで所有する必要があります。このファイルを保護して、ファイルのオーナーだけが読み書き特権を持つようにすることをお勧めします。
コード リスト 4-2 に、信頼性のある認証局ファイルの例を示します。
-----BEGIN CERTIFICATE----
MIIEuzCCBCSgAwIBAgIQKtZuM5AOzS9dZaIATJxIuDANBgkqhkiG9w0BAQQFADCB
zDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
dXN0IE5ldHdvcmsxRjBEBgNVBAsTPXd3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9y
eS9SUEEgSW5jb3JwLiBCeSBSZWYuLExJQUIuTFREKGMpOTgxSDBGBgNVBAMTP1Zl
cmlTaWduIENsYXNzIDEgQ0EgSW5kaXZpZHVhbCBTdWJzY3JpYmVyLVBlcnNvbmEg
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE----
MIIEuzCCBCSgAwIBAgIQKtZuM5AOzS9dZaIATJxIuDANBgkqhkiG9w0BAQQFADCB
zDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
dXN0IE5ldHdvcmsxRjBEBgNVBAsTPXd3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9y
...
-----END CERTIFICATE-----
ネットワーク リンク経由の通信では、接続先のピアが意図したピアまたは許可されたピアであることの確認が重要です。このチェックを行わないと、安全な接続を確立して、安全なメッセージをやり取りしたり、有効なデジタル証明書のチェーンを受信したりすることはできますが、介在者の攻撃を受ける危険は残ります。ピア検証を行うには、ピアの証明書に含まれている情報を、ピアの信頼性を検証するための規則を指定した情報リストと照合します。システム管理者は、このピア規則ファイルを管理します。
ピア規則は、peer_val.rul
という ASCII ファイルで管理されます。peer_val.rul
ファイルを、Oracle Tuxedo ディレクトリ構造の次の場所に格納します。
$TUXDIR/udataobj/security/certs
コード リスト 4-3 に、ピア規則ファイルの例を示します。
#
# このファイルには、ピアが安全な接続の対象として認可されるかどうかを
# 検証するための規則のリストが含まれる
#
O=Ace Industry
O=”Acme Systems, Inc.”; OU=Central Engineering;L=Herkimer;S=NY
O=”Ball, Corp.”, C=US
o=Ace Industry, ou=QA, cn=www.ace.com
ピア規則ファイルの各規則は、キーで識別される要素のセットで構成されます。Oracle Tuxedo 製品は、表 4-1 に示すキー名を認識します。
各キーの後ろには、オプションの空白文字、=
、オプションの空白文字、および比較対象の値が続きます。キーでは大文字/小文字は区別されません。規則で指定された各要素がサブジェクトの識別名に入っており、要素の値が大文字/小文字の区別および区切りも含めて規則で指定された値と一致していない限り、規則は一致となりません。
ピア規則ファイルの各行には、安全な接続を確立するかどうかを決定するための 1 つの規則が入っています。規則は複数の行にまたがってはならず、規則全体を 1 行に収めなければなりません。規則の各要素を区切るには、カンマ (,
) またはセミコロン (;
) を使用します。
シャープ記号 (#
) で始まる行は注釈です。注釈は、組織名と同じ行に表示できません。
次のいずれかの条件に該当する場合は、値を一重引用符で囲む必要があります。
Oracle Tuxedo 製品では、デフォルトで、ピア情報がピア規則ファイルと照合されます。このチェックを省略する場合は、空のピア規則ファイルを作成します。
![]() ![]() ![]() |