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

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

CORBA セキュリティ機能の概要

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

注意 : Oracle Tuxedo には、ATMI (アプリケーション トランザクション モニタ インタフェース) アプリケーションと CORBA アプリケーションを作成するための 2 種類の環境が用意されています。このマニュアルでは、CORBA アプリケーションでセキュリティを実装する方法について説明します。ATMI アプリケーションでセキュリティを実装する方法については、『Oracle Tuxedo のセキュリティ機能』を参照してください。
注意 : 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 に関する技術的なサポートやマニュアルは提供していません。

 


CORBA セキュリティ機能

セキュリティとは、コンピュータ内のデータまたはコンピュータ間で送受信されるデータが損なわれないことを保証する技術のことです。ほとんどのセキュリティ機能では、証明資料およびデータの暗号化を使用してセキュリティを実現します。証明資料とは、秘密の文字列であり、ユーザはこれを入力することにより特定のプログラムやシステムにアクセスできます。データの暗号化とは、解釈不能な形式にデータを変換することです。

電子商取引などで使用される分散アプリケーションには、悪質なユーザがデータを傍受したり、操作を中断したり、不正な情報を入力できるアクセス ポイントが多数あります。ビジネスがより広い範囲に分散されるほど、こうした悪質なユーザによる攻撃を受けやすくなります。したがって、このようなアプリケーションの基盤となる分散型のコンピューティング ソフトウェア、つまりミドルウェアは、セキュリティ機能を備えている必要があります。

Oracle Tuxedo の CORBA セキュリティ機能を利用すると、クライアント アプリケーションとサーバ アプリケーションの間で安全な接続を確立できます。以下の機能があります。

CORBA 環境のすべてのセキュリティ機能を利用するには、SSL プロトコル、LLE、および PKI を有効にするライセンスをインストールする必要があります。セキュリティ機能のライセンスのインストール方法については、『Oracle Tuxedo システムのインストール』を参照してください。

注意 : 『Tuxedo CORBA アプリケーションのセキュリティ機能』では、Oracle Tuxedo 製品に用意されている CORBA 環境のセキュリティ機能について説明しています。Oracle Tuxedo 製品に用意されている ATMI 環境のセキュリティ機能の使用方法については、『Oracle Tuxedo のセキュリティ機能』を参照してください。

表 1-1 は、Oracle Tuxedo 製品の CORBA セキュリティ機能の特徴をまとめたものです。

 


CORBA セキュリティ環境

Oracle Tuxedo CORBA 環境などの分散型のエンタープライズ ミドルウェア環境で、エンド ツー エンドの相互認証を直接行う場合、特に、長時間の接続用に最適化されたセキュリティ メカニズムでは、大幅にコストがかかります。プリンシパルから各サーバ アプリケーションに対して直接ネットワーク接続を確立したり、サービス要求の処理時に複数の認証メッセージを交換および検証するのは、非効率的です。代わりに、Oracle Tuxedo 製品の CORBA アプリケーションは、図 1-1 のような、高信頼性委譲型認証モデルを実装しています。

図 1-1 高信頼性委譲型モデル

高信頼性委託型モデル

高信頼性委譲型モデルでは、プリンシパル (一般にはクライアント アプリケーションのユーザ) は信頼性のあるシステム ゲートウェイ プロセスに対して認証を行います。CORBA アプリケーションの場合、信頼性のあるシステム ゲートウェイ プロセスは IIOP リスナ/ハンドラです。認証が成功すると、セキュリティ トークンが開始元プリンシパルに割り当てられます。セキュリティ トークンとは、プロセス間の転送に適した非透過的なデータ構造体です。

IIOP リスナ/ハンドラは、認証済みのプリンシパルから要求を受信すると、認証および監査用にプリンシパルのセキュリティ トークンをアタッチして、対象サーバ アプリケーションに送ります。

高信頼性委譲型モデルでは、IIOP リスナ/ハンドラは Oracle Tuxedo ドメインの認証ソフトウェアがプリンシパルの ID を確認することを前提にして、適切なセキュリティ トークンを生成します。サーバ アプリケーションは、IIOP リスナ/ハンドラが正しいセキュリティ トークンをアタッチすることを前提にしています。また、サーバ アプリケーションは、プリンシパルの要求に関わるほかのサーバ アプリケーションがセキュリティ トークンを安全に転送することを前提にしています。

開始元のクライアント アプリケーションと IIOP リスナ/ハンドラの間のセッションは、以下のように確立されます。

  1. クライアント アプリケーションが Oracle Tuxedo ドメイン内のオブジェクトにアクセスする場合、クライアント アプリケーションはユーザ名およびパスワードまたは X.509 デジタル証明書を使用して、IIOP リスナ/ハンドラとの接続を認証します。
  2. プリンシパルと IIOP リスナ/ハンドラの間で、セキュリティが関連付けられます (セキュリティ コンテキスト)。このセキュリティ コンテキストを使用して、Oracle Tuxedo ドメイン内のオブジェクトへのアクセスが制御されます。
  3. IIOP リスナ/ハンドラは、セキュリティ コンテキストから認証および監査トークンを取り出します。認証および監査トークンは共に、セキュリティ コンテキストに関連付けられたプリンシパルの ID を表します。

  4. 認証が完了すると、プリンシパルは Oracle Tuxedo ドメイン内のオブジェクトを呼び出せます。要求は IIOP 要求にパッケージ化され、IIOP リスナ/ハンドラに転送されます。IIOP リスナ/ハンドラは、確立済みのセキュリティ コンテキストに要求を関連付けます。
  5. IIOP リスナ/ハンドラは、開始元プリンシパルから要求を受信します。
  6. クライアント アプリケーションと IIOP リスナ/ハンドラ間のメッセージが保護されるかどうかは、CORBA アプリケーションで使用されるセキュリティ技術によって決まります。Oracle Tuxedo 製品では、認証情報はデフォルトで暗号化されますが、クライアント アプリケーションと Oracle Tuxedo ドメイン間を送信されるメッセージは暗号化されません。メッセージはクリア テキストで送信されます。SSL プロトコルを使用すると、メッセージを保護できます。SSL プロトコルをコンフィグレーションしてメッセージの整合性と機密性を保護する場合、要求はデジタル署名を付けて封印 (暗号化) してから、IIOP リスナ/ハンドラに送信されます。

  7. IIOP リスナ/ハンドラは、要求に開始元の認証および監査トークンを付けて、適切なサーバ アプリケーションに転送します。
  8. 要求がサーバ アプリケーションに届くと、Oracle Tuxedo システムは転送された要求元プリンシパルのトークンを調べて、要求を処理するのか拒否するのかを決定します。CORBA セキュリティ機能は、認証実装による決定に基づいて、要求元プリンシパルがアクセス権限を持たないオブジェクトに対する要求の処理を拒否します。

 


Oracle Tuxedo セキュリティ SPI

図 1-2 に示すように、Oracle Tuxedo 製品で利用可能な認証、認可、監査、および公開鍵によるセキュリティ機能は、プラグイン インタフェースを通じて実装されます。このインタフェースを使用することで、セキュリティ プラグインを CORBA 環境に統合できるようになります。セキュリティ プラグインは、特定のセキュリティ機能を実装するコード モジュールです。

図 1-2 Oracle Tuxedo セキュリティ サービス プロバイダ インタフェースのアーキテクチャ

Oracle Tuxedo セキュリティ サービス プロバイダ インタフェースのアーキテクチャ

Oracle Tuxedo 製品には、表 1-2 に示すセキュリティ プラグイン用のインタフェースが用意されています。

表 1-2 Oracle Tuxedo のセキュリティ プラグイン
プラグイン
説明
認証
通信するプロセスどうしがお互いの ID を証明し合うことです。
認可
認可の機能により、管理者は CORBA アプリケーションへのアクセスを制御できます。つまり、管理者は、認可機能を使用して、CORBA アプリケーションのリソースまたはサービスに対するアクセス権をプリンシパル (認証されたユーザ) に許可するかどうかを決定します。
監査
操作要求とその結果に関する情報を収集、格納、および配布する方法です。監査証跡の記録からは、CORBA のセキュリティ ポリシーに違反するアクションを実行したプリンシパルや、そのようなアクションを実行しようとしたプリンシパルを判別できます。また、これらの記録から、試行された操作、失敗した操作、および成功した操作を判別することもできます。
公開鍵の初期化
公開鍵ソフトウェアが公開鍵およびプライベート キーを開けるようにします。たとえば、ゲートウェイ プロセスでは、メッセージを復号化してから転送するために、特定のプライベート キーへのアクセスが必要なこともあります。
鍵管理
公開鍵ソフトウェアが公開鍵およびプライベート キーを管理および使用できるようにします。なお、メッセージ ダイジェストとセッション キーは、このインタフェースを使用して暗号化および復号化されますが、公開鍵暗号を使用するバルク データの暗号化は行われません。バルク データの暗号化は、対称鍵暗号を使用して行われます。
証明ルックアップ
公開鍵ソフトウェアが、所定のプリンシパルに対する X.509v3 デジタル証明書を取得できるようにします。デジタル証明書は、Lightweight Directory Access Protocol (LDAP) など、適切な証明書リポジトリを使用して格納することができます。
証明解析
公開鍵ソフトウェアが、簡単なプリンシパル名と X.509v3 デジタル証明書を関連付けることができるようにします。パーサは、デジタル証明書を解析して、デジタル証明書に関連付けるプリンシパル名を生成します。
証明書の検証
公開鍵ソフトウェアが特定のビジネス ロジックに基づいて X.509v3 デジタル証明書を検証することができます。
証明資料のマッピング
公開鍵ソフトウェアは、鍵を開くために必要な証明資料にアクセスしたり、認可トークンおよび監査トークンを提供したりすることができます。

SPI の仕様は、Oracle 社と専用契約を結んだサード パーティのセキュリティ ベンダだけが利用できます。セキュリティ機能をカスタマイズする場合は、これらのセキュリティ ベンダまたは Oracle プロフェッショナル サービスにお問い合わせください。たとえば、公開鍵によるセキュリティ機能をカスタマイズする場合は、適切なセキュリティ プラグインを提供するサード パーティのセキュリティ ベンダまたは Oracle プロフェッショナル サービスに問い合わせる必要があります。

セキュリティ プラグインの詳細 (インストール手順およびコンフィグレーション手順を含む) については、Oracle 社の営業担当者にお問い合わせください。


  ページの先頭       前  次