BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

B2B Integration セキュリティの実装

 前 次 目次 索引 PDFで表示  

WebLogic Integration B2B セキュリティ入門

ここでは、以下の内容を取り上げます。

 


WebLogic Integration B2B のセキュリティ モデル

WebLogic Integration B2B のセキュリティ モデルには、以下の主要機能が組み込まれています。

この節では、WebLogic Integration の認証および認可機能に関与する WebLogic Server および B2B のエンティティについて説明します。

WebLogic Server 6.x のセキュリティ レルムおよび互換モードの WebLogic Server Security Service を使用する必要があります。WebLogic Platform セキュリティの詳細については、次のURLにある『WebLogic Platform 7.0 セキュリティの紹介』を参照してください。

http://edocs.beasys.co.jp/e-docs/platform/docs70/secintro/index.html

WebLogic Integration B2B 認証とは、システム エンティティが主張するアイデンティティまたはシステム エンティティに対して主張するアイデンティティを確認するプロセスのことです。認証では、関心の対象がエンティティの身元にあります。つまり、認証はアイデンティティとエンティティとの関連付けです。認可では、関心の対象がそのアイデンティティに基づいて表示可能な内容または実行可能な処理にあります。WebLogic Integration B2B では、以下の方法を使用して認証を実行します。

認可は、システム エンティティがシステム リソースにアクセスするために付与される権利(パーミッション)です。認可プロセスは、そのような権利を与える手順です。B2B リソースにアクセスするパーミッションは、ACL (Access Control List: アクセス制御リスト) とロールによって割り当てられます。

WebLogic Server と WebLogic Integration B2B が共同して WebLogic Integration B2B エンジンのプリンシパルを認証および認可するしくみの詳細については、トレーディング パートナの認証と認可を参照してください。

次の図は、WebLogic Server と WebLogic Integration が B2B のセキュリティ モデルで提供するエンティティと機能を示しています。

図1-1 WebLogic Integration B2B のセキュリティ モデル


 

次の表では、この B2B セキュリティ モデルで示した各機能について説明します。

表1-1 WebLogic Integration B2B のセキュリティ モデルのコンポーネント

コンポーネント

説明

会話認可

トレーディング パートナのビジネス メッセージが到着すると、B2B エンジンは、ビジネス メッセージの認可プロセスの一部としてビジネス メッセージの内容を調べ、コラボレーション アグリーメントに照らして検証する。つまり、特定のトレーディング パートナが送受信できるビジネス メッセージをコラボレーション アグリーメントが定義する。B2B エンジンは、コラボレーション アグリーメントのロールおよび会話定義によって、トレーディング パートナが送信または受信することになっているビジネス メッセージと、受け取ったビジネス メッセージの内容が矛盾していないことを確認する。

この認可方法により、関連するコラボレーション アグリーメントと矛盾しないビジネス メッセージだけが B2B エンジン リソースに対するアクセス権を付与される。

データ暗号化サービス

データ暗号化サービスでは、暗号化を必要とするビジネス プロトコルに合わせてビジネス メッセージを暗号化する。データは、送信側の証明書、プライベート キー、および受信側の証明書を組み合わせてビジネス メッセージをエンコードすることで暗号化される。暗号化したメッセージは、受信側のプライベート キーを使用しないと解読できない。

データ暗号化サービスの使い方については、メッセージ暗号化のコンフィグレーションを参照。

転送サーブレットでの認証

転送サーブレットは、以下のリソースを含む B2B のリソースに対する HTTP および HTTPS アクセスのエントリ ポイントとなる WebLogic Integration 固有のサーブレットである。

転送サーブレットは、特定のコラボレーション アグリーメントにバインドされたトレーディング パートナ用として、WebLogic Server 環境で動的に登録される。

SSL 経由の発信要求の認証

B2B エンジンは、SSL ハンドシェークで取得した SSL 証明書を使用してすべての発信メッセージの受信側を認証し、バインドされている関連コラボレーション アグリーメントとメッセージが矛盾していないことを保証する。

WLCCertAuthenticator クラス

WLCCertAuthenticator クラスは、トレーディング パートナの証明書を、そのトレーディング パートナに対してコンフィグレーションされている WebLogic Server ユーザにマップする。WLCCertAuthenticator クラスは、weblogic.security.acl.CertAuthenticator インタフェースを実装している。

このクラスをコンフィグレーションすると、トレーディング パートナの証明書を検証する独自の実装または信頼性のあるサードパーティ ベンダの実装を呼び出すことができる。詳細については、トレーディング パートナの認証と認可を参照。

否認防止性フレームワーク

B2B のセキュリティ システムには、否認防止性のサポートを実装するための手段が用意されている。否認防止性とは、トレーディング パートナが別のトレーディング パートナ宛てのビジネス メッセージを送信したこと証明したり、トレーディング パートナからのビジネス メッセージを受信したことを証明できることを表す。否認防止性には、以下のサービスが必要となる。

WebLogic Integration では、優れた否認防止性の実装と独自の実装または信頼性のあるサードパーティの実装を組み込むためのサービス プロバイダ インタフェース(SPI)が提供される。

否認防止性の詳細については、否認防止性の実装を参照。

プライベート キーストア

トレーディング パートナ コラボレーションで使用されるプライベート キー、パスワード、および証明書を格納するファイル。これらのキーおよびパスワードは、以下の証明書に埋め込まれる。

ルート CA キーストア

B2B コラボレーションで使用される各トレーディング パートナおよびサーバ証明書に関連付けられたすべての信頼性のある CA 証明書を格納するファイル。

SSL プロトコル経由の着信要求の認証

着信トレーディング パートナのメッセージが到着すると、トレーディング パートナと WebLogic Server システムが証明書を交換して、互いのアイデンティティを確立する。SSL ハンドシェークが終了すると、トレーディング パートナと WebLogic Server システムとのネットワーク接続が確立される。

相互認証を行うための WebLogic Server での SSL プロトコルのコンフィグレーション方法については、SSL プロトコルと相互認証のコンフィグレーションを参照。

WebLogic リソースの ACL

ACL は、WebLogic Integration B2B リソースへのアクセスを保護する複数のエントリを持つデータ構造である。リソースまたはリソースのクラスに対するパーミッションは、ACL によって、リストに記載されているユーザおよびグループに付与される。ACL には AclEntry のリストが入っており、それぞれは特定のユーザまたはグループに関するパーミッションのセットを持っている。

パーミッションはリソースにアクセスするために必要な特権を表し、保護対象のリソースに固有のものである。指定可能なパーミッションは、ACL で保護するリソースのタイプによって異なる。たとえば、ファイルの送信と受信、ファイルの削除、ファイルの読み出しと書き込み、およびサーブレットのロードを行うパーミッションがある。

JDBC 接続プールの ACL をコンフィグレーションする方法については、WebLogic Integration B2B のアクセス制御リストのコンフィグレーションを参照。

WebLogic キーストア プロバイダのサービス プロバイダ インタフェース(SPI)

プライベート キーおよび証明書をキーストアに追加、管理する手段を実装するインタフェースのセット。WebLogic キーストア プロバイダは、Sun Microsystems 社から提供されている参照キーストア実装を Java Development Kit に使用したコンポーネントである。また、各キーストアをファイルとして実装する標準「JKS」キーストア タイプを使用している。


 

B2B エンジンで使用される WebLogic Server セキュリティ機能の詳細については、次のマニュアルを参照してください。

 


プリンシパル、ユーザ、およびグループ

プリンシパルとは、B2B の環境およびリソースへのアクセス権を必要とするエンティティのことです。WebLogic Integration B2B のプリンシパルは以下のとおりです。

プリンシパルには、認証および認可メカニズムを通して、WebLogic Integration B2B エンジンの環境およびリソースに対するアクセス権が付与されます。WebLogic Integration B2B のプリンシパルは、WebLogic Server ユーザにマップされます。

B2B エンジンが WebLogic Server ユーザのアイデンティティを証明できた場合、B2B エンジンは、そのユーザと、そのユーザの代わりにコードを実行するスレッドを関連付けます。スレッドがコードの実行を開始する前に、WebLogic Integration B2B は関係のある ACL をチェックして、その WebLogic Server ユーザが処理を続行するための適切なパーミッションを持っていることを確認します。

WebLogic Integration B2B は、以下のタイプの WebLogic Server ユーザをサポートしています。

グループとは、WebLogic Server ユーザのセットのことです。グループを使用すると、管理者がグループ全体に対するパーミッションを一度に指定できるので、多数のユーザを効率的に管理できます。

トレーディング パートナのコンフィグレーションについて

WebLogic Integration のコラボレーション アグリーメントをコンフィグレーションする場合、そのアグリーメントにバインドされるトレーディング パートナ名も指定します。ユーザと B2B Console 内のトレーディング パートナを関連付けるには、WebLogic Server ユーザ名であるトレーディング パートナ ユーザ名を指定します。WebLogic Server では、トレーディング パートナのデジタル証明書をトレーディング パートナ ユーザに実行時にマップします。

図1-2 トレーディング パートナの証明書と WebLogic Server ユーザとのマッピング


 

したがって、WebLogic Server は、トレーディング パートナのメッセージを受け取ったときに、トレーディング パートナの証明書を読み出してトレーディング パートナに対応する WebLogic Server ユーザを見つけることができるので、B2B エンジンの認証プロセスを開始できます。

WebLogic Integration B2B システム ユーザのコンフィグレーションについて

B2B システム ユーザ、wlisystem に関しては、以下の注意事項があります。

 


デジタル証明書

デジタル証明書とは、インターネットなどのネットワーク上でプリンシパルとオブジェクトを一意に識別するための電子的なドキュメントのことです。デジタル証明書によって、認証局と呼ばれる信頼性のあるサードパーティによって証明されたとおりに、ユーザまたはオブジェクトのアイデンティティが特定の公開鍵に安全にバインドされます。デジタル証明書の所有者は、公開鍵とプライベート キーの組み合わせによって一意に識別されます。

デジタル証明書を使用すると、特定の公開鍵が実際に指定されたユーザまたはエンティティに属するものであることを検証できます。デジタル証明書の受信側は、その証明書およびサブジェクトの公開鍵が信頼性のある認証局(CA)が発行し、署名したことを検証できます。この検証は、信頼性のある認証局の公開鍵を使用して、デジタル署名がその認証局のプライベート キーを使って作成されたことを確認することによって行ないます。検証が成功すると、一連の論証によって、対応するプライベート キーがデジタル証明書に指定されているサブジェクトによって保持されていることと、デジタル証明書が特定の認証局によって作成されたことが保証されます。

通常、デジタル証明書には以下のようにさまざまな情報が格納されています。

最も広く利用されているデジタル証明書のフォーマットは、ITU-T X.509 国際標準で定義されているフォーマットです。このため、X.509 標準に準拠していればどのアプリケーションを使用しても、デジタル証明書を読み出したり、書き込んだりすることができます。WebLogic Server の公開鍵インフラストラクチャ(PKI)では、X.509 バージョン 1 (X.509v3) またはバージョン 3 (X.509v3) に準拠したデジタル証明書が認識されます。

 


認証局

デジタル証明書は、認証局によって発行されます。デジタル証明書および公開鍵の発行先のアイデンティティを保証する信頼性のある第三者組織または企業はすべて、認証局になることができます。認証局は、デジタル証明書を作成する際に、証明書が改ざんされればわかるようにプライベート キーを使って署名します。認証局は、署名したデジタル証明書を要求元サブジェクトに返します。

サブジェクトは、認証局の公開鍵を使用して発行認証局の署名を検証できます。認証局の公開鍵は、下位認証局の公開鍵の妥当性を保証する上位認証局から発行されたデジタル証明書を提供することで利用できるようになります。この階層は、最終的に、ルート証明書と呼ばれる自己署名デジタル証明書にたどり着きます。次の図を参照してください。

図1-3 認証局の階層


 

デジタル証明書を使用したり、デジタル署名を検証したり、ビジネス メッセージを解読したりする前に、そのデジタル証明書が信頼性のある認証局によって発行されていることを確認します。誰がビジネス メッセージを暗号化したかにかかわりなく、ビジネス メッセージのデジタル証明書は、認証局によって信頼性が確立されている必要があります。

 


SSL プロトコル

SSL プロトコルを使用すると、ネットワーク接続を通してリンクされた 2 つのアプリケーション間で互いのアイデンティティを認証し、アプリケーション間のデータ交換を暗号化することで、安全な接続を確立できます。SSL 接続はハンドシェークで始まります。ハンドシェーク時には、アプリケーション間でのデジタル証明書の交換、使用する暗号化アルゴリズムの取り決め、そのセッションの残りで使用する暗号キーの生成が行われます。

SSL プロトコルは、以下のセキュリティ機能を提供します。

SSL プロトコルは、トレーディング パートナ間のメッセージのリンクレベル暗号化を実装するために使用します。

管理者は、Web ブラウザを使用して B2B Console にアクセスします。HTTPS (Hypertext Transfer Protocol with SSL) を使用すると、このタイプのネットワーク通信をセキュリティで保護できます。

 


安全な環境を保証するためのコンフィグレーションの制限

WebLogic Integration B2B には、安全な環境を保証するために、この節で説明する制限があります。これらの制限については、必要に応じてセキュリティのコンフィグレーションでも説明しています。

次の図は、これらのセキュリティ上の制限が WebLogic Integration B2B セキュリティ モデルで果たす役割を示しています。

図1-4 安全な WebLogic Integration B2B 環境


 

上の図の以下の番号に注目してください。

  1. B2B 転送サーブレットにアクセスしようとしている wlisystem というエンティティがアクセスを拒否されます。

  2. トレーディング パートナの証明書およびビジネス メッセージが検証されたら、その証明書は対応する WebLogic Server ユーザにマップされます。

  3. 前の手順でマップされた WebLogic Server ユーザは、トレーディング パートナのビジネス メッセージをサービスするために必要な B2B リソースにアクセスします。

 

ページの先頭 前 次