bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo CORBA アプリケーションのセキュリティ機能

 Previous Next Contents Index View as PDF  

SSL 技術の概要

ここでは、次の内容について説明します。

 


SSL プロトコル

Secure Sockets Layer (SSL) プロトコルを使用すると、以下の重要な機能を CORBA アプリケーションに統合できます。

SSL プロトコルでは、2 つのアプリケーションがネットワーク接続を介して通信相手の ID を認証し、アプリケーション間でやり取りされるデータを暗号化することで、安全な接続を提供します。SSL プロトコルを使用する場合、ターゲットは常に自身をイニシエータに対して認証します。ターゲットから要求があった場合は、イニシエータが自身をターゲットに対して認証することもできます。暗号化によって、データは意図した受信者以外には理解できない形式でネットワーク上を転送されます。SSL 接続はハンドシェークで始まります。ハンドシェークでは、アプリケーションがデジタル証明書を交換し、使用する暗号アルゴリズムに関して合意し、以降のセッション用の暗号化キーを生成します。

SSL では、公開鍵暗号化を使用して認証します。公開鍵暗号化では、プリンシパルやその他のエンティティ (IIOP リスナ/ハンドラやアプリケーション・サーバ) に対して 1 組の非対称鍵が生成されます。公開鍵で暗号化したデータは対応する秘密鍵でのみ解読できるようになっています。逆に、秘密鍵で暗号化したデータは対応する公開鍵でのみ解読できます。所有者だけがメッセージを解読できるように、公開鍵の保護には十分に注意を払います。しかし、公開鍵はその所有者宛のメッセージを暗号化できるように、自由に配布します。

図3-4 は、CORBA セキュリティ環境における SSL プロトコルのしくみを示しています。

図 3-4 CORBA セキュリティ環境の SSL プロトコル


 

CORBA セキュリティ環境で SSL プロトコルを使用する場合、IIOP リスナ/ハンドラは開始元プリンシパルに対して自身を認証します。IIOP リスナ/ハンドラは、デジタル証明書を開始元プリンシパルに提示します。SSL 接続を調整するには、クライアント・アプリケーションが IIOP リスナ/ハンドラを認証する必要がありますが、IIOP リスナ/ハンドラはすべてのクライアント・アプリケーションを SSL 接続に受け入れます。こうした認証は、サーバ認証と呼ばれます。

サーバ認証を使用する場合、開始元クライアント・アプリケーションは、信頼性のある認証局のデジタル証明書を取得する必要があります。IIOP リスナ/ハンドラは、ID を表す秘密鍵およびデジタル証明書を取得する必要があります。サーバ認証は、顧客が個人データを送信する前に安全な接続を確立する必要がある場合に、インターネットではよく用いられる方法です。この場合、クライアント・アプリケーションは Web ブラウザとほぼ同じ役割を持つことになります。

SSL バージョン 3.0 を使用すると、プリンシパルも IIOP リスナ/ハンドラに対して認証を行うことができます。こうした認証は、相互認証と呼ばれます。相互認証では、プリンシパルが IIOP リスナ/ハンドラに対してデジタル証明書を提示します。相互認証を使用すると、IIOP リスナ/ハンドラとプリンシパルの双方がそれぞれの ID を表す秘密鍵およびデジタル証明書を持つ必要があります。相互認証は、信頼性のあるプリンシパルだけにアクセスを制限する場合に便利な方法です。

SSL プロトコルとデジタル証明書を使用するインフラストラクチャは、BEA Tuxedo 製品のインストール・ディレクトリにライセンスをインストールすることで利用できるようになります。詳細については、『BEA Tuxedo システムのインストール』を参照してください。

 


デジタル証明書

デジタル証明書は、インターネットなどのネットワーク経由で、プリンシパルおよびエンティティを一意に識別するために使用される電子文書です。デジタル証明書は、信頼性のある第三者機関である「認証局」によって認定されたプリンシパルまたはエンティティの ID を特定の公開鍵に安全な方法で結び付けます。公開鍵と秘密鍵の組み合わせにより、デジタル証明書の所有者に一意な ID が提供されます。

デジタル証明書は、特定の公開鍵が特定のプリンシパルまたはエンティティに属することを検証します。デジタル証明書の受信者は、デジタル証明書に記載されている公開鍵を使用して、その公開鍵に対応する秘密鍵でデジタル署名が作成されたことを検証します。検証が成功すると、デジタル証明書で指定されたサブジェクトが、対応する秘密鍵の所有者であること、および、そのサブジェクトによってデジタル署名が作成されたことを、一連の処理で確認できたことになります。

デジタル証明書には、次のようなさまざまな情報が含まれています。

最も広く知られているデジタル証明書の形式は、ITU-T X.509 国際規格によって定義された形式です。したがって、X.509 準拠のアプリケーションであれば、デジタル証明書の読み書きを行えます。CORBA セキュリティ環境の PKI は、X.509 バージョン 3 つまり X.509v3 に準拠したデジタル証明書を認識します。

 


認証局

デジタル証明書は、認証局によって発行されます。デジタル証明書と公開鍵の発行対象に対して ID を保証できる、信頼性のある第三者機関または企業は、認証局となることができます。デジタル証明書を作成する場合、認証局は、改ざんがあった場合に検出できるように、秘密鍵を使用して署名します。認証局は次に、署名付きのデジタル証明書を要求元のサブジェクトに返します。

サブジェクトは、認証局の公開鍵を使用して、デジタル証明書が認証局によって発行されたことを検証できます。認証局は、下位レベルの認証局の公開鍵の有効性を証明する上位レベルの認証局のデジタル証明書を提供することで、公開鍵を利用可能にします。2 つ目の方法を用いると、認証局が階層化されます。この階層の最上位は、ルート鍵と呼ばれる自己署名付きのデジタル証明書です。

暗号化メッセージの受信者が、信頼する上位認証局によって署名されたデジタル証明書を持ち、この証明書に認証局の公開鍵が含まれている場合、認証局の秘密鍵の信頼性を再帰的に高めることができます。この意味で、デジタル証明書は、デジタル署名の信頼性を確認する足がかりとなります。つまり、最終的には、いくつかの上位認証局の公開鍵の信頼性を確認するだけで済みます。一連のデジタル証明書を確認することにより、多数のユーザのデジタル署名の信頼性を証明できます。

つまり、デジタル署名は通信エンティティの ID を証明しますが、署名の信頼度は、署名を検証するための公開鍵を信頼できる、というレベルと同じです。

 


証明書のリポジトリ

特定のサブジェクト用の公開鍵およびその ID を利用可能にし、検証に使用できるようにするため、デジタル証明書をリポジトリに公開したり、その他の方法で公開できます。証明書のリポジトリは、デジタル証明書およびその他の情報で構成されるデータベースであり、リポジトリ内の情報は、取得したり、デジタル署名を検証するために使用できます。情報を取得するには、必要に応じて直接リポジトリ内のデジタル証明書を要求することにより、自動的に行います。

CORBA セキュリティ環境では、Lightweight Directory Access Protocol (LDAP) が証明書のリポジトリとして使用されます。BEA 社では、特定の LDAP サーバを提供しておらず、また推奨もしていません。選択した LDAP サーバは、X.500 スキーマ定義と LDAP バージョン 2 または 3 プロトコルをサポートしている必要があります。

 


PKI (Public Key Infrastructure)

PKI (Public Key Infrastructure) は、公開鍵暗号のアプリケーションをサポートするプロトコル、サービス、および標準で構成されます。PKI は比較的新しい技術であるため、定義はあいまいです。たとえば、単に、公開鍵のデジタル証明書に基づいた、信頼性を示す階層構造を指す場合があります。また、別のコンテキストでは、エンド・ユーザ用アプリケーションのデジタル署名および暗号化サービスを意味する場合もあります。

PKI を規定する単一の標準はありませんが、標準の策定を進める動きはあります。現時点では、標準が策定されるかどうか、またはさまざまな相互運用レベルの PKI が複数誕生するかどうかは不明です。この意味で、PKI 技術の現状は、インターネットによる広範囲の接続が可能になるまでの、1980 年代の LAN および WAN 技術に似ていると言えます。

PKI には、次のようなサービスがあります。

図3-5 は、PKI の処理の流れを示します。

図 3-5 PKI の処理の流れ


 

サブジェクトが認証局にデジタル証明書の発行を依頼します。
 

  1. 認証局はサブジェクトの ID を確認して、デジタル証明書を発行します。

  2. 認証局またはサブジェクトは、LDAP などの証明書のリポジトリにデジタル証明書を公開します。

  3. サブジェクトは、秘密鍵で電子メッセージにデジタル署名して、送信者が認証済みであること、メッセージが完全であること、およびメッセージを否認できないことを確認します。その後、メッセージを受信者に送信します。

  4. 受信者は、送信者の証明書を証明書のリポジトリから取り出し、その中から公開鍵を取り出します。

BEA Tuxedo 製品には、認証局になるためのツールは用意されていません。BEA 社では、VeriSign や Entrust などのサード・パーティの認証局を利用することをお勧めしています。BEA 社の公開鍵 SPI により、BEA Tuxedo のユーザは、PKI ソフトウェアのベンダを自由に選択し、PKI のセキュリティ・ソリューションを使用できます。詳細については、第 3 章の 25 ページ「シングル・サイン・オン」を参照してください。

 


PKCS-5 および PKCS-8 の準拠

RSA Laboratories を中心とする主要な通信会社のグループによって規定された、非公式でありながら業界では認知されている公開鍵ソフトウェアの標準があります。これを PKCS (Public-Key Cryptography Standards) と言います。BEA Tuxedo 製品では、PKCS-5 および PKCS-8 を使用して、SSL プロトコルで使用する秘密鍵を保護します。

 


サポートされている公開鍵のアルゴリズム

公開鍵 (または非対称鍵) のアルゴリズムは、次の 2 つの鍵の組み合わせによって実装されます。これらの鍵は異なりますが、数学的には関連性があります。

CORBA セキュリティ環境の公開鍵セキュリティ機能は、デジタル証明書のアルゴリズムもサポートしています。デジタル署名のアルゴリズムは、単にデジタル署名を実現するための公開鍵アルゴリズムです。

BEA Tuxedo 製品は、RSA (Rivest、Shamir、Adelman の頭文字を取ったもの) アルゴリズム、Diffie-Hellman アルゴリズム、およびDigital Signature Algorithm (DSA) をサポートしています。DSA 以外のデジタル証明書のアルゴリズムは、デジタル署名と暗号化に使用できます。DSA は、デジタル署名には使用できますが、暗号化には使用できません。

 


サポートされている対称鍵のアルゴリズム

対称鍵アルゴリズムでは、同じ鍵を使用して、メッセージの暗号化と復号化を行います。公開鍵による暗号化システムでは、通信し合う 2 つのエンティティ間で送信されるメッセージの暗号化に対称鍵暗号化を使用します。対称鍵暗号は、公開鍵暗号より、少なくとも 1000 倍速く実行されます。

ブロック暗号は、対称鍵アルゴリズムの一種であり、固定長の平文 (暗号化されていないテキスト) のブロックを、同じ長さの暗号文 (暗号化されたテキスト) のブロックに変換します。この変換は、ランダムに生成されたセッション・キーの値に基づいて行われます。固定長は、ブロック・サイズと呼ばれます。

CORBA セキュリティ環境の公開鍵セキュリティ機能は、次の対称鍵アルゴリズムをサポートしています。

BEA Tuxedo 製品をお使いのお客様は、このアルゴリズムのリストを拡張したり変更することはできません。

 


サポートされているメッセージ・ダイジェスト・アルゴリズム

CORBA セキュリティ環境では、MD5 および SHA-1 (Secure Hash Algorithm 1) メッセージ・ダイジェスト・アルゴリズムをサポートしています。MD5 と SHA-1 は、どちらも有名な一方向のハッシュ・アルゴリズムです。一方向のハッシュ・アルゴリズムでは、メッセージが「メッセージ・ダイジェスト」または「ハッシュ値」と呼ばれる固定長の数値文字列に変換されます。

MD5 は、128 ビットのハッシュ値を生成する、高速のアルゴリズムです。32 ビットのマシンでの使用に適しています。SHA-1 は、160 ビットのハッシュ値を生成する、セキュリティ・レベルの高いアルゴリズムですが、処理速度は MD5 よりやや遅くなります。

 


サポートされている暗号スイート

暗号スイートとは、通信の整合性を保護するための鍵暗号アルゴリズム、対称暗号アルゴリズム、および Secure Hash Algorithm からなる SSL 暗号化方式のことです。たとえば、暗号スイート RSA_WITH_RC4_128_MD5 では、鍵暗号用に RSA、バルク暗号化用に 128 ビット鍵の RC4、メッセージ・ダイジェスト用に MD5 を使用します。

CORBA セキュリティ環境では、表 3-3 に示した暗号スイートをサポートしています。

表 3-3 CORBA セキュリティ環境でサポートされている SSL 暗号スイート

暗号スイート

鍵暗号の種類

対称鍵の
強度

SSL_RSA_WITH_RC4_128_SHA

RSA

128

SSL_RSA_WITH_RC4_128_MD5

RSA

128

SSL_RSA_WITH_DES_CDC_SHA

RSA

56

SSL_RSA_EXPORT_WITH_RC4_40_MD5

RSA

40

SSL_RSA_EXPORT_WITH_DES40_CBC_SHA

RSA

40

SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5

RSA

40

SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA

Diffie- Hellman

40

SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA

Diffie- Hellman

40

SSL_RSA_WITH_3DES_EDE_CBC_SHA

RSA

112

SSL_RSA_WITH_NULL_SHA

RSA

0

SSL_RSA_WITH_NULL_MD5

RSA

0

 


デジタル証明書の規格

CORBA セキュリティ環境では、X.509v3 規格に準拠したデジタル証明書をサポートしています。X.509v3 規格には、デジタル証明書の形式が指定されています。Verisign や Entrust などの認証局から証明書を取得することをお勧めします。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy