2007年09月13日 05時00分 UPDATE
特集/連載

エンドポイントを仮想化SOAにおけるXMLセキュリティゲートウェイの活用

XMLセキュリティゲートウェイは、すべてのエンドポイントに直接展開するのは経済的でないと考えられる特別なセキュリティサービスを、SOAとWebサービスに固有の疎結合のアーキテクチャアプローチを利用して提供する。

[Gunnar Peterson,TechTarget]

 サービス指向アーキテクチャ(SOA)やWebサービスの疎結合性がもたらすアーキテクチャ上の大きな利点の1つは、サービスのインタフェース(ネットワークを介したサービスの呼び出しに使われる)と実装(実際のビジネスロジック)が厳密に分離されることだ。このため、セキュリティアーキテクトはSOAとWebサービスのセキュリティを確保する上で、興味深い選択肢を採用できる。

 例えば、SOAPのWebサービスインタフェース(下図のGetAccountBalanceなど)は、ビジネスロジック実装(JavaのWebサービスのような)をホストする実際のエンドポイント上でホスティングする代わりに、XMLセキュリティゲートウェイ上でプロキシとしてホスティングすることが可能だ。つまり、XMLセキュリティゲートウェイは、セキュリティポリシーを強制し、分散型セキュリティアーキテクチャを実現する特別なサービスということになる。

 XMLセキュリティゲートウェイは、Webサービスとの通信を仲介し、サービスエンドポイントの代わりにセキュリティ機能を実行する。こうしてXMLセキュリティゲートウェイはエンドポイントの仮想化を行うが、サービスリクエスターは、サービスプロバイダーと直接やりとりしていると考える。実際には、サービスリクエスターはXMLセキュリティゲートウェイプロキシを介して通信を行っている。

xml

 コンピュータサイエンスでは、間接層を追加することであらゆる問題が解決できる。XMLセキュリティゲートウェイは、すべてのエンドポイントに直接展開するのは経済的でないと考えられる特別なセキュリティサービスを、SOAとWebサービスに固有の疎結合のアーキテクチャアプローチを利用して提供する。

標準化とSOA/Webサービスのセキュリティ

 分散型のセキュリティアーキテクチャを実現するために必要な相互運用性は、標準化によって確保される。サービスインタフェースは、共通の技術やセマンティクス、例えばSOAP/XMLメッセージやWSDLによるサービスインタフェース記述などを使用する。そのおかげでXMLセキュリティゲートウェイは、最終的なエンドポイントを隠したり、仮想化することができる。また、SAMLやWS-Security、XML Signature、XML Encryptionといったセキュリティ標準により、XMLセキュリティゲートウェイは、ビジネス上および技術上の要件を満たす堅固なセキュリティサービスを提供できる。

XMLセキュリティゲートウェイでセキュリティをサービスとして提供

 XMLセキュリティゲートウェイは、多種多様なセキュリティサービスを提供できる。XMLセキュリティゲートウェイによって実現されるセキュリティアーキテクチャを策定する1つの方法は、リスクを踏まえてどのようなセキュリティサービスを提供するかという問題を、アーキテクチャの観点から整理することだ。

 その際には、アイデンティティ属性について求められる、XMLセキュリティゲートウェイに関連する3つの大きな要件を考慮する必要がある。

  • SAMLのようなアイデンティティ標準を利用して、サービスリクエスターとサービスプロバイダーのアイデンティティに関するポリシーを強制できる
  • アイデンティティおよび属性情報をマッピングできる――SOAとWebサービスの根本的な目的は、ビジネスと技術の両領域を統合することにある。このため、トランザクションは、複数のアイデンティティドメイン(Active Directory、LDAP、RACFのような)にまたがって実行されることが多い。XMLセキュリティゲートウェイは、必要なアイデンティティマッピングを実現する要となり得る
  • XMLセキュリティゲートウェイは、セキュリティサービスが実行されているかどうかに関する認定の信頼性を保証するために、アイデンティティを持たなければならない

 一般的なJavaベースの、あるいはVisual Basicスタイルのアプリケーションではなく、SOAとWebサービスのセキュリティを確保する場合の大きな違いの1つは、メッセージレベルのセキュリティを重視しなければならないことだ。メッセージは、SOAとWebサービスの世界において統一的な方法による機能連携を可能にする構築要素だ。そのため、メッセージのセキュリティは極めて重要だ。SOAではサービスは疎結合されているため、サービスがやりとりするXMLメッセージの妥当性や安全性を保証するものはない。このため、メッセージ内容の妥当性検証を行い、メッセージが悪意ある動作、例えばSQLインジェクション、サービス妨害、マルウェアやそのほかの悪意あるペイロードの実行などを可能にしないことを確認しなくてはならない。

次のステップ

 XMLセキュリティゲートウェイの実現方法や、利用できる選択肢やサービスの粒度を検討するに当たっては、XML Security Gateway Evaluation Criteria Projectが提供するガイド(英文)が参考になる。このプロジェクトは、ベンダーと業界専門家で構成されており、XMLセキュリティゲートウェイの役割と効用、その最大限の活用方法について企業の理解を促進することを目指している。

本稿筆者のガナー・ピーターソン氏は、Arctec Groupの創業者でマネージングプリンシパル。Arctecは、エンタープライズソフトウェアとセキュリティアーキテクチャを中心としたエンタープライズアーキテクチャコンサルティングサービスを提供している。ピーターソン氏は、国土安全保障省(DHS)のBuild Security Inポータルに掲載されている幾つかの文書の主著者であり、OWASP XML Security Gateway Evaluation Criteria Projectのプロジェクトリーダーを務めている。Black Hat、SANS、ISSA、OWASPなどの業界カンファレンスの常連講師でもある。

関連キーワード

SOA | Webアプリケーション | XML


この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事