Web Services Security 仕様 - 年表
Web Services Security 仕様の開発には、Organization for the Advancement of Structured Information Standards (OASIS) Web Services Security 仕様についての情報が含まれています。OASIS Web Services Security 仕様は、WebSphere® Application Server における Web サービスの保護の基礎としての役割を果たします。

- ポリシー・セットの使用時におけるサービスの品質 (QoS) の構成が容易である。ポリシー・セットは、トランスポート・レベルの構成設定およびメッセージ・レベルの構成設定を含む、複数の構成設定を組み合わせたものです。ポリシー・セットおよび汎用バインディングは、複数のアプリケーション間で再利用でき、Web サービスの QoS がより利用しやすくなります。
- WS-Security for JAX-WS は、管理対象環境 (例えば、Java EE コンテナー) および非管理対象環境 (例えば、Java Platform, Standard Edition (Java SE 6)) の両方においてサポートされます。さらに、JAX-WS クライアントで WS-Security を使用可能にするための API があります。
OASIS 以外のアクティビティー
- Web Services Security
- この仕様には、 SOAP メッセージにおいてデジタル署名を添付する方法、 暗号化を使用する方法、およびセキュリティー・トークンを使用する方法が定義されています。
- WS-Policy
- この仕様には、セキュリティー制約、 および仲介者またはエンドポイントのポリシーを記述するために使用される言語が定義されています。
- WS-Trust
- この仕様には、Web サービス間の信頼性を確立するためのトラスト・モデルのフレームワークが定義されています。
- WS-Privacy
- この仕様には、 Web サービスおよび要求側のプライバシー・ポリシーを表現する方法のモデルが定義されています。
- WS-SecureConversation
- この仕様には、 Web サービス間のセッション鍵を派生させるセキュア・コンテキストを交換および確立する方法が定義されています。
- WS-Authorization
この仕様には、Web サービスの許可ポリシーが定義されています。しかし、WS-Authorization 仕様はまだ公表されていません。既存の Web Services Security の実装は、Java Platform, Enterprise Edition (Java EE) 仕様または Java Specification Requirements (JSR) 109 仕様の Web サービスに基づいています。Web Services Security の実装は、Java EE ロール・ベースの許可検査を利用します。概念的な情報については、『ロール・ベースの許可』を参照してください。メソッド・レベルの許可検査が必要な Web サービスを開発する場合は、ステートレス・セッション Bean を使用して Web サービスを実装する必要があります。詳しくは、エンタープライズ Bean アプリケーションの保護に関する情報を参照してください。
サーブレットとして実装される Web サービスを開発する場合は、簡単な許可または URL ベースの許可を Web コンテナーで使用することができます。ただし、この状態の場合、Web Services Security の ID を許可検査に使用することはできません。代わりに、トランスポートの ID を使用することができます。 HTTP 経由で SOAP を使用する場合、ID は HTTP トランスポートにあります。
次の図は、これらの仕様間の関係を示しています。
- この仕様では、Web Services Security プロセッサーがスキーマを正しく認識していることが必要になります。これにより、プロセッサーが XML デジタル署名と XML 暗号化の ID 属性を区別できるようになります。
- メッセージが事前定義された時間制約に従っているかどうかを示す、 メッセージの新鮮度を判別することはできません。
- ダイジェスト・パスワード・ストリングにより、セキュリティーは強化されません。
- XML シグニチャーと XML 暗号化のグローバル ID 属性が必要であること。
- メッセージの作成、受信、または有効期限の時刻を示すタイム・スタンプ・ヘッダー・エレメントを使用すること。
- タイム・スタンプと nonce (ランダムに生成されたトークン) を用いてダイジェストされたパスワード・ストリングを使用すること。
前の図のブルー・ボックスの仕様は、業界のさまざまなベンダーによって提案されたものであり、 提案された仕様を検証および洗練するために、さまざまなインターオペラビリティー・イベントがベンダーによって編成されました。
OASIS の活動
2002 年 6 月、OASIS は、IBM、Microsoft、および VeriSign から提案された Web Services Security 仕様を受理しました。提出後、直ちに OASIS に Web Services Security Technical Committee (WSS TC) が設立されました。 この技術委員会には、IBM、Microsoft、VeriSign、Sun Microsystems、および BEA Systems を含め、 多くの会社が参与しました。
2002 年 9 月、 WSS TC は最初の仕様である Web Services Security Core Specification, Working Draft 01 をパブリッシュしました。 この仕様には、元の Web Services Security 仕様とその補足の両方の内容が含まれていました。
議論が進むに連れて、技術委員会の担当範囲がさらに広がりました。 Web Services Security Core Specification により、 任意のタイプのセキュリティー・トークンを使用できるようになるため、 提案はプロファイルとして公表されました。 このプロファイルには、 Web Services Security メッセージに組み込まれる Security Assertion Markup Language (SAML) トークンおよび Kerberos トークンを含め、 トークンを組み込む方法についての記述がありました。 その後、元の Web Services Security 仕様に定義されていたユーザー名トークンと X.509 バイナリー・セキュリティー・トークンの使用法の定義が、 プロファイルに分割されました。
- Web Services Security: SOAP Message Security Draft 13 (以前の Web Services Security Core Specification)
- Web Services Security: Username Token Profile Draft 2
- OASIS: Web Services Security: SOAP Message Security 1.1 (WS-Security 2004) OASIS Standard Specification, 1 February 2006
- OASIS: Web Services Security UsernameToken Profile 1.1 OASIS Standard Specification, 1 February 2006
- OASIS: Web Services Security X.509 証明書トークン・プロファイル 1.1 OASIS Standard Specification, 1 February 2006
以下の仕様には、Web Services Security のメッセージ・セキュリティー仕様に関連する Kerberos トークンの使用についての記述があります。仕様「OASIS: Web Services Security Kerberos Token Profile 1.1 OASIS Standard Specification, 1 February 2006」では、認証およびメッセージ保護をサポートするための Kerberos トークンの使用方法が定義されています。
次の図に、さまざまな Web Services Security 関連の仕様を示します。
WebSphere Application Server は、セキュリティー・プロバイダーがランタイム機能を拡張し、一部の高水準仕様を Web Services Security スタックに実装することができるようにするためのプラグイン機能も提供しています。プラグイン・ポイントは、サービス・プロバイダー・プログラミング・インターフェース (SPI) として公開されます。 これらの SPI の詳細については、 Web Services Security サービス・プロバイダーのプログラミング・インターフェースのデフォルトの実装を参照してください。
Web Services Security 1.0 仕様の発展
- XML-Signature Syntax and Processing
W3C Recommendation, February 2002 (同様に、IETF RFC 3275, March 2002)
- Canonical XML Version 1.0
W3C Recommendation, March 2001
- Exclusive
XML Canonicalization Version 1.0
W3C Recommendation, July 2002
- XML-Signature
XPath Filter Version 2.0
W3C Recommendation, November 2002
- XML Encryption Syntax and Processing
W3C Recommendation, December 2002
- Decryption
Transform for XML Signature
W3C Recommendation, December 2002
これらの仕様は、WebSphere Application Server において Web Services Security のコンテキストでサポートされています。 例えば、デプロイメント記述子で保全性オプションを指定することによって、 SOAP メッセージに署名することができます。 また、クライアント・サイドのアプリケーション・プログラミング・インターフェースがあり、これによりアプリケーションでは、SOAP メッセージを保護するための Web Services Security を使用可能にすることができます。
OASIS Web Services Security バージョン 1.0 仕様には、 メッセージの保全性と機密性を得るための機能強化が定義されています。この仕様はまた、セキュリティー・トークンを SOAP メッセージと関連付ける汎用フレームワークも提供します。 この仕様は、複数のセキュリティー・トークン・フォーマットをサポートするように、 拡張が可能なように設計されています。 特定のセキュリティー・トークンの使用法は、 セキュリティー・トークン・プロファイルに示されています。
WebSphere Application Server における仕様とプロファイルのサポート
OASIS は、さまざまなプロファイルについて作業を行っています。 詳しくは、 「Organization for the Advancement of Structured Information Standards Committees」を参照してください。
以下のリストには、公表済みのドラフト・プロファイル、および OASIS の Web Services Security Technical Committee で進行中の作業が含 まれています。
WebSphere Application Server は、以下のプロファイルをサポートしていません。
- Web Services Security : SAML トークン・プロファイル 1.0
- Web Services Security: Rights Expression Language (REL) トークン・プロファイル 1.0
- Web Services Security: SOAP Messages with Attachments (SwA) プロファイル 1.0
Web Services Security バージョン 1.0 の Web Services Security における SOAP メッセージのワイヤー・フォーマットは変更されて、 OASIS Web Services Security 仕様の前のドラフトとは互換性がありません。 OASIS Web Services Security バージョン 1.0 と前の Web Services Security ドラフトとのインターオペラビリティーは、サポートされていません。ただし、Web Services Security のドラフト 13 に準拠したアプリケーションを WebSphere Application Server バージョン 6 以降で実行することは可能です。 このアプリケーションは、WebSphere Application Server バージョン 5.0.2、5.1、または 5.1.1 上で、 Web Services Security のドラフト 13 に準拠したアプリケーションと相互運用することができます。
WebSphere Application Server は、OASIS Web Services Security のドラフト 13 と OASIS Web Services Security 1.0 仕様の両方をサポートしています。しかし、WebSphere Application Server バージョン 6 以降では、 OASIS Web Services Security のドラフト 13 のサポートは推奨されません。 ただし、WebSphere Application Server 5.0.2、5.1.0、 および 5.1.1 上で OASIS Web Services Security のドラフト 13 を使用して開発されたアプリケーションは、 WebSphere Application Server バージョン 6 以降で実行することができます。OASIS Web Services Security バージョン 1.0 のサポートは、Java Platform, Enterprise Edition (Java EE) バージョン 1.4 以降のアプリケーションでのみ使用可能です。デプロイメント記述子およびバインディングの構成フォーマットは、 WebSphere Application Server の旧バージョンとは異なっています。 既存のアプリケーションを Java EE 1.4 にマイグレーションし、 Web Services Security 構成を WebSphere Application Server バージョン 6 フォーマットにマイグレーションする必要があります。
その他の Web Services Security 仕様の開発
- WS-Trust バージョン 1.3
Web Services Trust Language (WS-Trust) は、Web Services Security のセキュアなメッセージング・メカニズムを使用して、セキュリティー・トークンの発行、交換、および検証のための追加の基本的機能および拡張機能を定義します。 WS-Trust は、異なるトラスト・ドメイン内のクレデンシャルの発行および配布を可能にします。 この仕様は、トラスト関係の設定方法、その存在の評価方法、および仲介方法を定義します。
- WS-SecureConversation バージョン 1.3
Web Services Secure Conversation Language (WS-SecureConversation) は、WS-Security モデルおよび WS-Policy モデルを基に作成され、サービス間のセキュア通信を提供します。 WS-Security はメッセージ認証モデルに重点を置いていますが、セキュリティー・コンテキストは重視しておらず、このため、複数の形式のセキュリティー・アタックに攻撃される可能性があります。 この仕様はセキュリティー・コンテキストの設定と共有のメカニズム、およびセキュリティー・コンテキストの派生鍵を定義し、セキュアな会話を可能にします。 SOAP 拡張性モデルを使用することにより、豊かなメッセージング環境を提供できるように、モジュラー SOAP ベースの各種仕様はお互いに構成されるように設計されています。
- WS-SecurityPolicy バージョン 1.2
Web Services Security Policy (WS-Policy) は汎用目的のモデルおよび構文を提供して、Web サービスのポリシーの記述および通信を行います。 WS-Policy 表明は、特定の Web サービスの機能および制約を表します。WS-PolicyAttachments は、WS-Policy の式を Web サービスと関連付けるための複数のメソッド (WSDL など) を定義します。2005 年 7 月の WS-Security ポリシーの再発表に伴い、Web Services Security 仕様が更新されて、WS-Security、WSTrust および WS-SecureConversation を使用している Web サービスの制約および機能を反映するようになりました。WS-ReliableMessaging ポリシーも 2005 年に再発表され、WS-ReliableMessaging を実装する Web サービスの機能と制約を表すようになりました。
Web Services Interoperability Organization (WS-I) のアクティビティー
Web Services Interoperability Organization (WS-I) は、ベンダー、プラットフォーム、プログラム言語、 およびアプリケーションにまたがる Web サービスのインターオペラビリティーを促進するためのオープンな業界活動の 1 つです。この組織は、IBM、Microsoft、Oracle、Sun、Novell、VeriSign、 および Daimler Chrysler を含む多くの産業にまたがる企業のコンソーシアムです。WS-I は、Basic Security Profile (BSP) のバージョン 1.0 と 1.1 を開発しました。BSP のバージョン 1.0 と1.1 は、どちらも特定企業などの権利に縛られない Web サービス仕様のセットで構成されています。 この Web サービス仕様のセットは、それらの仕様を明確にし、拡張して、 異なるベンダー実装間における、Web Services Security のインターオペラビリティーを促進します。
- Basic Profile Version 1.2 (BP 1.2): http://ws-i.org/profiles/basicprofile-1.2-2010-11-09.html
- Basic Profile Version 2.0 (BP 2.0): http://ws-i.org/profiles/basicprofile-2.0-2010-11-09.html
- Basic Security Profile Version 1.0 (BSP 1.0): http://www.ws-i.org/profiles/basicsecurityprofile-1.0.html
- Basic Security Profile Version 1.1 (BSP 1.1): http://www.ws-i.org/profiles/basicsecurityprofile-1.1.html
- Reliable Secure Profile 1.0 (RSP 1.0): http://www.ws-i.org/profiles/ReliableSecureProfile-1.0-2010-11-09.html