BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA Tuxedo のセキュリティ機能   |   先頭へ   |   前へ   |   次へ   |   目次

 


認証

認証機能とは、通信するプロセスどうしがお互いの ID を証明し合うことです。BEA Tuxedo 製品の ATMI 環境での認証プラグイン・インターフェイスは、共有シークレット・パスワード、ワンタイム・パスワード、CHALLENGE 応答、Kerberos などの認証技術を使用して、セキュリティ・プロバイダによるさまざまな認証プラグインに対応できます。インターフェイスは、必要に応じて GSSAPI (Generic Security Service Application Programming Interface) の仕様に厳密に従います。GSSAPI は、公開されている IETF (Internet Engineering Task Force) の標準です。認証プラグイン・インターフェイスは、サードパーティ・ベンダのセキュリティ製品をできるだけ簡単に BEA Tuxedo システムに統合できるように設計されています。ただし、セキュリティ製品は GSSAPI を使用して記述しておく必要があります。

認証プラグインのアーキテクチャ

認証機能を使用するためのプラグイン・インターフェイスは、1 つのプラグインとしてインプリメントされ、デフォルトの認証プラグインを使用することも、カスタマイズした認証プラグインを使用することもできます。

委任された信用認証について

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

ATMI の高信頼性委託型認証モデル


 

ワークステーション・クライアントは、起動時に、信頼性のあるシステム・ゲートウェイ・プロセスであるワークステーション・ハンドラ (WSH: Workstation Handler) に対して認証を行います。ネイティブ・クライアントの場合は、自身に対して認証を行います (後で説明)。認証が成功すると、認証ソフトウェアは、クライアントにセキュリティ・トークンを割り当てます。トークンとは、プロセス間の転送に適したオペークなデータ構造体です。WSH は、認証済みのワークステーション・クライアントのトークンを安全に格納します。ネイティブ・クライアントの場合は、認証済みのネイティブ・クライアント自身のトークンを安全に格納します。

信頼性のあるゲートウェイは、通過するクライアント要求にセキュリティ・トークンを添付します。添付されたセキュリティ・トークンは、クライアント要求のメッセージと共に送信され、送信先のサーバ・プロセスでの認可と監査で使用されます。

このモデルのゲートウェイでは、認証ソフトウェアがクライアントの ID を検証し、適切なトークンを生成することが期待されています。一方、サーバ側では、ゲートウェイ・プロセスで適切なセキュリティ・トークンが添付され、そのセキュリティ・トークンが、クライアント要求を処理するその他のサーバに安全に格納されることが期待されています。

セッションの確立

次の図は、ワークステーション・クライアントと WSH との間でセッションが確立されているときの、BEA Tuxedo システムの ATMI 環境内での制御フローを示しています。ここでは、ワークステーション・クライアントと WSH が、メッセージを交換して相互に認証し合い、長期間にわたる接続を確立する様子を示しています。

クライアントと WSH 間の認証


 

まず、イニシエータ・プロセス (ミドルウェアのクライアント・プロセスなど) が、BEA Tuxedo の「セキュリティ・コンテキストの開始」関数を呼び出して、戻りコードとして成功または失敗が返されるまで繰り返し、セッション・コンテキストを作成します。セッション・コンテキストは、認証されたユーザと ID 情報を関連付けます。

ワークステーション・クライアントが、ATMI アプリケーションに参加するために C の tpinit(3c) または COBOL の TPINITIALIZE(3cbl) を呼び出すと、BEA Tuxedo システムは、まず内部の「クリデンシャル取得」関数を呼び出して、セッション・クリデンシャル・ハンドルを取得し、応答を返します。次に、内部の「セキュリティ・コンテキストの開始」関数を呼び出して、セッション・コンテキストを取得します。「セキュリティ・コンテキストの開始」関数は、呼び出し時に入力セッション・トークンを取り (セッション・トークンがある場合)、出力セッション・トークンを返します。セッション・トークンでは、ユーザの ID を確認するためのプロトコルを使用します。イニシエータ・プロセスが出力セッション・トークンをセッションのターゲット・プロセス (WSH) に渡すと、出力セッション・トークンは、別の入力トークンと交換されます。トークンの交換は、双方のプロセスが相互認証を完了するまで繰り返されます。

セキュリティ・プロバイダの認証プラグインでは、セキュリティ・インプリメンテーション用のセッション・トークンおよびセッション・コンテキストの内容が定義されています。したがって、ATMI の認証では、セッション・トークンとセッション・コンテキストをオペークなオブジェクトとして扱う必要があります。交換されるトークンの数は定義されておらず、認証システムのアーキテクチャに応じて異なります。

ネイティブ・クライアントでセッションを開始する場合、イニシエータ・プロセスとターゲット・プロセスは同じです。このプロセスは、ミドルウェア・クライアント・プロセスと見なすことができます。ミドルウェア・クライアント・プロセスは、セキュリティ・プロバイダの認証プラグインを呼び出してネイティブ・クライアントを認証します。

認可トークンおよび監査トークンの取得

認証に成功すると、信頼性のあるゲートウェイは、BEA Tuxedo の内部関数を 2 つ呼び出し、クライアント用の認可トークンおよび監査トークンを取得します。これらのトークンは、ゲートウェイによって格納されます。 これらのトークンの組み合わせは、セキュリティ・コンテキストのユーザ ID を表します。セキュリティ・トークンという用語は、集合的に認可トークンと監査トークンを表します。

デフォルトの認証の認可トークンには、次の 2 つの情報が設定されています。

また、デフォルトの認証を使用する場合、監査トークンにもプリンシパル名とアプリケーション・キーが設定されます。

セッション・トークンと同様に、認可トークンと監査トークンもオペークであり、内容は、セキュリティ・プロバイダごとに異なります。認可トークンを使用すると、認可 (パーミッション) をチェックすることができます。監査トークンを使用すると、監査情報を記録することができます。ATMI アプリケーションによっては、認可用と監査用のユーザ ID を別々に設定すると便利です。

クライアント・トークンとサーバ・トークンの交換

クライアントのサービス要求がサーバ側で転送されるとき、サーバの ID が付く場合があります。次の図はその様子を示しています。サーバは、サービス要求に添付されたクライアント・トークンを自らのトークンに置き換えてから、そのサービス要求を適切なサービスに転送します。

サーバ・パーミッションのアップグレード例


 

注記 サーバが自らの認可トークンと監査トークンを取得する方法、およびこれらのトークンを必要とする理由については、「プリンシパル名の指定」 を参照してください。

上の図に示す機能を、「サーバ・パーミッションのアップグレード」と呼びます。この機能では、ドット付きのサービス (「.TMIB」のように名前の先頭にピリオドが付いた、システムに組み込まれているサービス) をサーバが呼び出すたびに、サービス要求にサーバの ID が付き、サーバに対するアクセス権が取得されます。サーバのアクセス権とは、アプリケーション管理者 (システム管理者) のアクセス権のことです。つまり、クライアントからドット付きのサービスを直接呼び出すことはできなくても、まずサーバに要求を送信し、そのサーバからドット付きのサービスに要求を転送することはできます。ドット付きサービスの詳細については、『ファイル形式、データ記述方法、MIB、およびシステム・プロセスのリファレンス』の MIB(5) のリファレンス・ページにある .TMIB サービスの説明を参照してください。

カスタマイズされた認証のインプリメント

ATMI アプリケーションで認証機能を実行するには、デフォルトのプラグインまたはカスタマイズしたプラグインを使用します。どちらのプラグインを使用するかは、BEA Tuxedo のレジストリを設定して決めます。これは、すべてのセキュリティ・プラグインを制御するツールです。

デフォルトの認証プラグインを使用する場合、レジストリを設定する必要はありません。ただし、カスタマイズされた認証プラグインを使用する場合は、ブラグインをインストールする前に、プラグインに合わせてレジストリを設定する必要があります。レジストリの詳細については、「BEA Tuxedo レジストリの設定」 を参照してください。

関連項目

 

先頭へ戻る 前のトピックへ 次のトピックへ