Webサービスのセキュリティ関連標準の確立に向けて,米IBMや米マイクロソフト(MS)など6社が,Webサービスのセキュリティ関連仕様を共同で発表した。6種類の仕様からなり,Webサービス間の認証に第三者認証サービスを利用したり,Webサービス間でVPNを確立したりできるようになる。いずれは標準化団体に提案され,標準化作業が進められる見込みである。
(安東 一真=andoh@nikkeibp.co.jp)

 既存のさまざまなセキュリティ技術をそのまま使い,Webサービスのセキュリティを確保する――。そのための標準仕様の作成が進んでいる。米IBMと米マイクロソフト,ドイツのSAP,米BEAシステムズ,米RSAセキュリティ,米ベリサインの6社は2002年12月18日,Webサービスのセキュリティ関連仕様を共同で発表した。暫定仕様としてWebサイトで公開し,技術的な評価を募る。いずれ標準化団体に提案し,標準化作業を進める見込みである。

 今回,公開した仕様は6種類。Webサービス間で,認証や暗号化の方式といったポリシーを交換できるようにする「WS-Policy」,第三者認証サービスを使って相互認証するための「WS-Trust」,Webサービス間でVPNを確立するための「WS-SecureConversation」――といった仕様である。

 どの仕様も,IBMとマイクロソフトが2002年4月に発表したWebサービス関連のロードマップ「Security in a Web Services World」にのっとって開発された。2社はこのロードマップで,認証やアクセス制御,一貫性,秘匿性,プライバシの確保といった,さまざまなセキュリティ要件をWebサービスで実現するためのフレームワークを示した。認証や暗号化といったセキュリティの基盤となる技術はすでに多くのものが存在するので,それらをできるだけそのまま利用できるように規格化していく方針である。今回の6種類の仕様は,その中心的な役割を担うものだ。

暗号/署名とポリシー記述が基盤

図1●今回,公開された主なWebサービス標準仕様
WS-TrustとWS-SecureConversationは,WS-Policyと,公開済みのWS-Securityをベースにした規格である。

 今回の仕様は,「WS-Security」と呼ぶ仕様をベースに開発されている(図1[拡大表示])。WS-Securityは,Webサービス用の通信プロトコルであるSOAPを利用して,メッセージの暗号化とディジタル署名の付加を可能にするもの。IBMとマイクロソフト,べリサインの3社が2002年4月に公開し,現在は,XML関連の標準化団体であるOASISで標準化作業が進められている。

 WS-Securityと並んで,ほかの仕様の基盤となるのが「WS-Policy」である。WS-Policyは,Webサービスの利用条件や制限などの記述形式。セキュリティ関連であれば,Webサービスが使う暗号/認証方式やプライバシ・ポリシーなどを記述する。ほかに,契約条件など,ビジネス上のポリシーも記述してかまわない。Webサービスの利用条件であれば,どんなものでも記述できる。

 もっともWS-Policyは,ポリシー記述のための汎用的な枠組みを規定しているだけであり,暗号方式や契約条件など,個別のポリシーをどのように記述するかは定めていない。具体的に規定しているのは,複数のポリシーがある場合に,そのすべてを満たす必要があるのか,どれか1つだけを満たすのか,1つ以上満たせばよいのかを示す記述方法などである。2つのWebサービス間でポリシーを調整する方法も決めておらず,別の仕様で定めるとしている。

表1●WS-Policyを補完する3つの仕様

 個別のポリシーの記述方法を決めた仕様として今回,「WS-SecurityPolicy」と「WS-PolicyAssertions」の2つを公開した(表1[拡大表示])。WS-SecurityPolicyは,Webサービスで使う暗号方式や,認証方式を表記する方法,WS-PolicyAssertionsは,Webサービスで使う文字コードや言語,標準仕様のバージョンを表記する方法を規定する。ほかにWS-Policyを補う仕様として,記述したポリシーをWSDL(Webサービス記述言語)などに添付する方法を示した「WS-PolicyAttachment」を公開した。

PKIやVPN用の仕様を作成

 WS-SecurityとWS-Policyを使って開発した仕様に,Webサービス間の認証に第三者認証サービスを利用するための仕様である「WS-Trust」とWebサービス間でVPNを確立するための「WS-SecureConversation」がある。

 第三者認証サービスを利用する認証方式には,PKI(公開鍵インフラストラクチャ)認証やKerberos認証がある。PKIでの第三者認証サービスは,ディジタル証明書を発行・管理するCA(認証局)であり,Kerberosでは,通信相手にアクセスするための電子チケットを発行するKDC(カギ配布センター)になる。WS-Trustは,こうした仕組みを,共通の枠組みで利用できるようにした仕様である。

 WS-Trustでは,ディジタル証明書やKerberosのチケットといった認証情報を「セキュリティ・トークン」と呼ぶ。WS-Trustは,第三者認証サービスに対してセキュリティ・トークンを要求したり,それを受け取ったり,セキュリティ・トークンで利用する暗号方式などを指定したり(WS-Policyを使う)するためのSOAPメッセージの仕様を定める。

 WS-SecureConversationは,Webサービス間でVPNを確立し,複数のメッセージを交換するための仕様である。単一メッセージの暗号化と署名なら,WS-Securityで実現できるが,相手認証などを1メッセージごとに実行する必要がある。WS-SecureConversationを使えば,1回の認証で複数のメッセージをやり取りできるようになる。