|
|
SSL プロトコルのコンフィギュレーション
ここでは、次の内容について説明します。
SSL プロトコルのパラメータの設定
IIOP リスナ/ハンドラまたは CORBA C++ オブジェクト・リクエスト・ブローカ (ORB) で SSL プロトコルを使用するには、以下の作業が必要です。
以下の節では、ISL コマンドや CORBA C++ ORB のオプションを使用して SSL パラメータを設定する方法について説明します。
SSL ネットワーク接続用のポートの定義
SSL ネットワーク接続用のポートを定義するには、以下の手順に従います。
-S
オプションを使用して、IIOP リスナ/ハンドラが SSL プロトコルを使用した安全な接続をリッスンするポートを指定します。IIOP リスナ/ハンドラが SSL 接続だけを許可するようにコンフィギュレーションするには、ISL コマンドの -S
オプションと -n
オプションを同じ値に設定します。-ORBsecurePort
コマンド行オプションを使用して、ORB が SSL プロトコルを使用した安全な接続をリッスンするポートを指定します。コールバック・オブジェクトまたは CORBA ノーティフィケーション・サービスを使用する場合は、このコマンド行オプションを設定する必要があります。注記 共同クライアント/サーバ・アプリケーションで SSL プロトコルを使用する場合は、SSL ネットワーク接続用のポートを指定しなければなりません。デフォルト設定を使用することはできません。
SSL ネットワーク接続用の安全なポートを定義するには、SSL プロトコルのライセンスをインストールしておく必要があります。-S
オプションまたは -ORBsecurePort
コマンド行オプションを実行したときに、SSL プロトコルを有効にするためのライセンスがインストールされていないと、IIOP リスナ/ハンドラまたは CORBA C++ ORB は起動しません。
ホスト照合の有効化
SSL プロトコルではメッセージを暗号化して機密性を保護できますが、暗号化は介在者の攻撃の防止策とはなりません。介在者の攻撃では、あるプリンシパルが、開始元アプリケーションがブートストラップ処理で使用する初期オブジェクト・リファレンスの取得先となる場所を偽ります。
介在者の攻撃を防ぐには、SSL 接続で受信したデジタル証明書が意図したプリンシパルのものであることを確認します。ホスト照合とは、SSL 接続を確立するために使用されたオブジェクト・リファレンスに指定されたホストが、ターゲットのデジタル証明書に指定された識別名のサブジェクトの一般名と一致するかどうかをチェックすることです。ホスト照合は、SSL 接続のイニシエータによってのみ実行され、要求のターゲットが実際にターゲットのデジタル証明書のドメイン名で指定されたネットワーク・アドレスにあることを確認されます。この照合が失敗した場合、SSL 接続のイニシエータはターゲットの認証を拒否し、SSL 接続を終了します。技術的には、ホスト照合は SSL の一部ではなく、Web ブラウザで行われるチェックに似ています。
デジタル証明書に含まれているドメイン名は、オブジェクト・リファレンスに含まれているホスト情報と正確に一致しなければなりません。したがって、IP アドレスの代わりに DNS ホスト名を使用することをお勧めします。
デフォルトでは、ホスト照合は、IIOP リスナ/ハンドラおよび CORBA C++ ORB で有効になっています。ホスト照合を有効にする必要がある場合は、次のいずれかの手順を実行します。
-v
オプションを指定します。-ORBpeerValidate
コマンド行オプションを指定します。-v
オプションおよび -ORBpeerValidate
コマンド行オプションの値は、以下のとおりです。
none
− ホスト照合は実行されません。detect
− SSL 接続を確立するためのオブジェクト・リファレンスがターゲットのデジタル証明書のホスト名と一致しない場合、IIOP リスナ/ハンドラまたは ORB はターゲットを認証できないので、SSL 接続を終了します。detect
は、デフォルト値です。warn
− SSL 接続を確立するためのオブジェクト・リファレンスがターゲットのデジタル証明書のホスト名と一致しない場合、IIOP リスナ/ハンドラまたは ORB はメッセージをユーザ・ログに送信し、処理を続行します。BEA Tuxedo ドメインで複数の IIOP リスナ/ハンドラが SSL 接続を使用するようにコンフィギュレーションされている場合 (障害耐久性のためなど)、IIOP リスナ/ハンドラの DNS エイリアス名を使用するか、それぞれの IIOP リスナ/ハンドラ用に別々のデジタル証明書を作成することをお勧めします。IIOP リスナの -H
スイッチを使用すると、オブジェクト・リファレンスが正しく作成されるように、DNS エイリアス名を指定できます。
暗号化レベルの設定
暗号化レベルを設定するには、以下の手順に従います。
-z
および -Z
オプションを使用して、IIOP リスナ/ハンドラでの暗号化のレベルを設定します。-ORBminCrypto
および -ORBmaxCrypto
コマンド行オプションを使用して、CORBA C++ ORB での暗号化のレベルを設定します。-z
オプションと -ORBminCrypto
コマンド行オプションは、アプリケーションが IIOP リスナ/ハンドラまたは CORBA C++ ORB と SSL 接続を確立する場合に使用する暗号化の最低レベルを設定します。有効な値は、0、40、56、および 128 です。値 0 はデータが署名されるだけで暗号化されないことを示し、40、56、および 128 は暗号鍵の長さ (ビット単位) を指定します。暗号化の最低レベルを満たさない場合、SSL 接続は失敗します。デフォルト値は 40 です。
-Z
オプションと -ORBmaxCrypto
コマンド行オプションは、アプリケーションが IIOP リスナ/ハンドラまたは CORBA C++ ORB と SSL 接続を確立する場合に使用する暗号化の最大レベルを設定します。有効な値は、0、40、56、および 128です。値 0 はデータが署名されるだけで暗号化されないことを示し、40、56、および 128 は暗号鍵の長さ (ビット単位) を指定します。デフォルトの最小値は 40 です。デフォルトの最大値は、ライセンスの指定に基づきます。
-z
または -Z
オプションと -ORBminCrypto
および -ORBmaxCrypto
コマンド行オプションは、SSL プロトコル用のライセンスがインストールされている場合にのみ有効です。
現在 CORBA アプリケーションで使用されている暗号化のレベルを変更するには、IIOP リスナ/ハンドラまたは ORB をシャットダウンする必要があります。
設定する暗号化の値の組み合わせは非常に重要です。SSL 接続のイニシエータに設定する暗号化の値は、SSL 接続のターゲットに設定する暗号化の値のサブセットである必要があります。
表 6-1 は、暗号化の値の組み合わせと暗号化の動作を示したものです。
注記 最大ビット・レベルは、表 6-1 に示した組み合わせの中で、SSL ライセンスの値によって制御されます。ラインセンスの最大値を超えてビット・レベルを指定した場合、IIOP リスナ/ハンドラまたは ORB は起動せず、ビット・レベルの設定が無効であることを示すメッセージが生成されます。最大値を引き下げて警告だけを表示する代わりに、IIOP リスナ/ハンドラまたは ORB を起動できないようにすることで、正しくコンフィギュレーションされていないアプリケーションを意図しているよりも低い保護レベルで実行せずに済みます。
ライセンスの最大ビット・レベルを超えて暗号化が調整された場合でも、SSL 接続は確立されません。
CORBA セキュリティ環境でサポートされている暗号スイートの一覧については、サポートされている暗号スイートを参照してください。
セッション再調整の間隔の設定
注記 セッションを再調整する間隔を設定するのは、IIOP リスナ/ハンドラの場合だけです。
ISL コマンドの -R
オプションを使用して、セッションを再調整する間隔を制御します。SSL セッションを定期的に再調整すると、対称鍵の有効期間を制限する情報を暗号化/解読するための対称鍵が更新されます。暗号化用の対称鍵を定期的に変更することで、長時間の SSL 接続をより安全に継続できます。
-R
オプションには、再調整の間隔を分単位で指定します。SSL 接続が指定した間隔で再調整を行う場合、IIOP リスナ/ハンドラは、インバウンド接続の SSL セッションの再調整をアプリケーションに要求するか、またはアウトバウンド接続の場合に実際に再調整を実行します。デフォルト値は 0 で、定期的なセッションの再調整は行われません。
ISL コマンドの -a
オプションを使用して証明書による認証を有効にした場合は、セッションの再調整を使用できません。
IIOP リスナ/ハンドラのセキュリティ・パラメータの定義
SSL 接続に参加する場合、IIOP リスナ/ハンドラは SSL 接続を開始したピアに対して自身を認証します。この認証には、デジタル証明書が必要となります。デジタル証明書に関連付けられた秘密鍵は、SSL 接続を確立する処理の中で使用されます。この処理では、プリンシパルとピア (この場合は、クライアント・アプリケーションと IIOP リスナ/ハンドラ) がセッション・キーについて合意します。セッション・キーは、秘密鍵/公開鍵とは対照的に、SSL セッション中にデータを暗号化するための対称鍵です。ピアが認証できるように、IIOP リスナ/ハンドラに関して以下の情報を定義します。
SEC_PRINCIPAL_NAME
IIOP リスナ/ハンドラの ID を指定します。
SEC_PRINCIPAL_LOCATION
秘密鍵ファイルの場所を指定します。たとえば、$TUXDIR
\udataobj
\security
\keys
\milozzi.pem です。
SEC_PRINCIPAL_PASSVAR
tmloadcf
コマンドを対話形式で実行しない場合に、IIOP リスナ/ハンドラの秘密鍵用のパス・フレーズを保持する環境変数を指定します。それ以外の場合は、tmloadcf
コマンドを入力するときにパス・フレーズの入力を求められます。
注記 IIOP リスナ/ハンドラのセキュリティ・パラメータの定義が不正な場合、ULOG ファイルで次のエラーが報告されます。
ISH.28014: LIBPLUGIN_CAT:2008:ERROR:No such file or directory
SEC_PRINCIPAL_LOCATION
ISH.28014:ISNAT_CAT:1552:ERROR:Could not open private key, erro =-3011
ISH.28104:ISNAT_CAT:1544:ERROR:Could not perform SSL accept from host/port//IPADDRESS:PORT
このエラーを解決するには、セキュリティ・パラメータの情報を修正し、IIOP リスナ/ハンドラを再起動します。
これらのパラメータは、ISL システム・プロセスを定義する UBBCONFIG
ファイルの SERVERS
セクションに含まれています。
また、tpusradd
コマンドを使用して、IIOP リスナ/ハンドラを BEA Tuxedo ドメインで認可されたユーザとして定義する必要があります。IIOP リスナ/ハンドラのパスワードの入力を求められます。SEC_PRINCIPAL_PASSVAR
で定義したパス・フレーズを入力します。
初期化時に、IIOP リスナ/ハンドラは、SEC_PRINCIPAL_NAME
で定義されたプリンシパル名を引数としてインクルードして、クリデンシャルを取得するための認証プラグインを呼び出します。CORBA アプリケーションと対話を試みるリモート・クライアント・アプリケーションを認証し、リモート・クライアント・アプリケーションの認証および監査トークンを取得できるように、IIOP リスナ/ハンドラにはクリデンシャルが必要です。
IIOP リスナ/ハンドラは、BEA Tuxedo ドメインに対して自身の ID を認証しないと、信頼性のあるシステム・プロセスになることができません。そのため、デフォルトの認証プラグインを使用する場合の認証サーバをコンフィギュレーションする必要があります。詳細については、認証サーバのコンフィギュレーションを参照してください。
ISL システム・プロセスのパラメータの設定例
ISL サーバ・プロセスに関する情報を定義する UBBCONFIG
の SERVERS
セクションで SSLプロトコルのパラメータを設定します。リスト 6-1 は、SSL プロトコルおよび証明書による認証を使用する IIOP リスナ/ハンドラのコンフィギュレーションのパラメータを設定する UBBCONFIG
ファイルのコードです。
リスト 6-1 UBBCONFIG ファイルでの ISL コマンドの使い方
...
ISL
SRVGRP = SYS_GRP
SRVID = 5
CLOPT = "-A -- -a -z40 -Z128 -S3579 -n //ICEPICK:2569
SEC_PRINCIPAL_NAME="BLOTTO"
SEC_PRINCIPAL_LOCATION="BLOTTO.pem"SEC_PRINCIPAL_VAR="AUDIT_PASS"
CORBA C++ ORB のコマンド行オプションの設定例
リスト 6-2 のサンプル・コードは、SSL プロトコルを使用するように ORB をコンフィギュレーションするための CORBA C++ ORB のコマンド行オプションの使い方を示しています。
リスト 6-2 CORBA C++ ORB のコマンド行オプションの設定例
ChatClient -ORBid BEA_IIOP
-ORBsecurePort 2100
-ORBminCrypto 40
-ORBMaxCrypto 128
TechTopics
|
Copyright © 2001, BEA Systems, Inc. All rights reserved.
|