CORBAアプリケーションにおけるセキュリティの使用

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

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

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

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

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

表 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社の営業担当者にお問い合せください。


  先頭に戻る       前  次