目次 前 次 PDF


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

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 C++アプリケーションがOracle Tuxedoドメインにアクセスする場合の認証。認証には、ユーザー名/パスワードの組合せを使用する標準的な方法と、X.509デジタル証明書でIDをサーバー・アプリケーションに提示する方法があります。
リンク・レベルの暗号化(LLE)またはSecure Sockets Layer (SSL)プロトコルによるデータの整合性と機密性。CORBA C++アプリケーションは、Oracle TuxedoドメインとSSLセッションを確立できます。Oracle Tuxedoクライアント・アプリケーションでは、LLEまたはSSLを使用してブリッジとドメインの間のネットワーク・トラフィックを保護します。
認証、認可、監査、および公開鍵によるセキュリティ機能を提供するセキュリティ・メカニズムを統合するために使用できるセキュリティ・サービス・プロバイダ・インタフェース(SPI)。セキュリティ・ベンダーは、SPIを使用して、サード・パーティのセキュリティ製品をCORBA環境に統合できます。
SSLプロトコルおよびX.509デジタル証明書を利用して、ネットワーク・リンク経由で送信されるメッセージのデータ機密性を保護するPKI (Public Key Infrastructure)。さらに、PKI SPIのセットも用意されています。
CORBA環境のすべてのセキュリティ機能を利用するには、SSLプロトコル、LLE、およびPKIを有効にするライセンスをインストールする必要があります。セキュリティ機能のライセンスのインストール方法については、『Oracle Tuxedoシステムのインストール』を参照してください。
注意:
『CORBAアプリケーションにおけるセキュリティの使用』では、Oracle Tuxedo製品に用意されているCORBA環境のセキュリティ機能について説明しています。Oracle Tuxedo製品に用意されているATMI環境のセキュリティ機能の使用方法については、『ATMIアプリケーションにおけるセキュリティの使用』を参照してください。
表1-1は、Oracle Tuxedo製品のCORBAセキュリティ機能の特徴をまとめたものです。
.
表1-1 CORBAセキュリティ機能
セキュリティ機能
説明
Service Provider Interface(SPI)
デフォルトの実装
認証
ユーザーまたはシステム・プロセスに対して指定されているIDを証明し、ID情報を安全に記録およびトランスポートし、必要に応じてID情報を利用可能にします。
1つのインタフェースとして実装されます。
認証なし、アプリケーション・パスワード、証明書による認証、という3つのセキュリティ・レベルが用意されています。
認可
IDおよびその他の情報に基づいて、リソースへのアクセスを制御します。
1つのインタフェースとして実装されます。
該当なし
監査
操作リクエストとその結果に関する情報を安全に収集、格納、および配布します。
1つのインタフェースとして実装されます。
デフォルト監査セキュリティがユーザー・ログ(ULOG)の機能を使用して実装されます。
リンク・レベルの暗号化
対称鍵による暗号化を使用して、CORBAアプリケーション内のマシン間をつなぐネットワーク・リンク上で送受信されるメッセージの秘密性を保護します。
該当なし
RC4形式の対称鍵による暗号化
Secure Sockets Layer(SSL)プロトコル
非対称暗号化を使用して、Oracle Tuxedoドメイン間のネットワーク・リンク上で送受信されるメッセージの秘密性を保護します。
該当なし
SSLバージョン3.0プロトコル。
公開鍵によるセキュリティ機能
公開鍵(または非対称鍵)による暗号化を使用して、リモート・クライアント・アプリケーションとIIOPリスナー/ハンドラ間のネットワーク・リンク上で送受信されるメッセージの秘密性を保護します。SSLバージョン3.0に準拠して、X.509デジタル証明書による相互認証が可能になります。
次のインタフェースとして実装されます。
公開鍵の初期化
鍵の管理
証明書のルックアップ
証明書の解析
証明書の検証
証明資料のマッピング
デフォルトの公開鍵セキュリティでは、次のアルゴリズムがサポートされます。
鍵暗号のRSA。
AESまたはDESおよびそのバリアントのRC2およびRC4 (バルク暗号化用)。
メッセージ・ダイジェスト用のMD5およびSHA。
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ドメイン内のオブジェクトへのアクセスが制御されます。
IIOPリスナー/ハンドラは、セキュリティ・コンテキストから認可および監査トークンを取り出します。認可および監査トークンはともに、セキュリティ・コンテキストに関連付けられたプリンシパルのIDを表します。
3.
認証が完了すると、プリンシパルはOracle Tuxedoドメイン内のオブジェクトを呼び出せます。リクエストはIIOPリクエストにパッケージ化され、IIOPリスナー/ハンドラに転送されます。IIOPリスナー/ハンドラは、以前に確立されたセキュリティ・コンテキストにリクエストを関連付けます。
4.
IIOPリスナー/ハンドラは、開始元プリンシパルからリクエストを受信します。
クライアント・アプリケーションとIIOPリスナー/ハンドラ間のメッセージが保護されるかどうかは、CORBAアプリケーションで使用されるセキュリティ技術によって決まります。Oracle Tuxedo製品では、認証情報はデフォルトで暗号化されますが、クライアント・アプリケーションとOracle Tuxedoドメイン間を送信されるメッセージは暗号化されません。メッセージはクリア・テキストで送信されます。SSLプロトコルを使用すると、メッセージを保護できます。SSLプロトコルを構成してメッセージの整合性と機密性を保護する場合、リクエストはデジタル署名を付けて封印(暗号化)してから、IIOPリスナー/ハンドラに送信されます。
5.
IIOPリスナー/ハンドラは、リクエストに開始元の認証および監査トークンを付けて、適切なサーバー・アプリケーションに転送します。
6.
リクエストがサーバー・アプリケーションに届くと、Oracle Tuxedoシステムは転送されたリクエスト元プリンシパルのトークンを調べて、リクエストを処理するのか拒否するのかを決定します。CORBAセキュリティ機能は、認証実装による決定に基づいて、リクエスト元プリンシパルがアクセス権限を持たないオブジェクトに対するリクエストの処理を拒否します。
Oracle TuxedoセキュリティSPI
図1-2に示すように、Oracle Tuxedo製品で使用可能な認証、認可、監査、および公開鍵によるセキュリティ機能は、プラグイン・インタフェースを通じて実装されます。このインタフェースを使用することで、セキュリティ・プラグインをCORBA環境に統合できるようになります。セキュリティ・プラグインは、特定のセキュリティ機能を実装するコード・モジュールです。
図1-2 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プロフェッショナル・サービスに問い合せる必要があります。
セキュリティ・プラグインの詳細(インストール手順および構成手順を含む)については、オラクル社の営業担当者にお問い合せください。
 

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved