ここでは、Web サービス・セキュリティー仕様の開発について説明します。 本項では、WebSphere® Application Server バージョン 6 以降の Web サービスを保護する基本として機能する仕様である、Organization for the Advancement of Structured Information Standards (OASIS) Web Services Security バージョン 1.0 仕様に関する情報を提供します。
この下の図では、これらの仕様の関係を示しています。
前の図にある青いボックスの仕様は、さまざまな業界ベンダーによって提案され、 多様なインターオペラビリティー・イベントが提案された仕様を検証および調整するためにベンダーによって編成されました。
2002 年 6 月、OASIS は、IBM、Microsoft、および Verisign から提案された Web サービス・セキュリティー仕様を受領しました。 その提出後すぐに、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 サービス・セキュリティー仕様とその補足の両方の内容が含まれていました。
技術委員会が担当する範囲は、検討を重ねるにつれ増えていきました。 Web Services Security Core Specification によりセキュリティー・トークンの任意のタイプが仕様できるようになるため、提案がプロファイルとして公表されました。 このプロファイルには、Web サービス・セキュリティー・メッセージに組み込まれた Security Assertion Markup Language (SAML) トークンおよび Kerberos トークンなど、トークンを組み込む方法についての説明がありました。 その後、元の Web サービス・セキュリティー仕様で定義された、ユーザー名トークンおよび X.509 バイナリー・セキュリティー・トークンの使用法の定義が、プロファイルに分割されました。
2004 年 4 月、Web サービス・セキュリティー仕様 (公式には Web Services Security: SOAP Message Security Version 1.0) がバージョン 1.0 OASIS 規格となりました。また、Username トークンおよび X.509 トークン・プロファイルは バージョン 1.0 仕様です。
以下の図には、さまざまな Web サービス・セキュリティー関連仕様を示しています。
WebSphere Application Server バージョン 6 はまた、セキュリティー・プロバイダーがランタイム機能を拡張し、Web サービス・セキュリティー・スタックで高水準の仕様の一部を実装できるよう、プラグイン機能を拡張して提供しています。 プラグイン・ポイントは、Service Provider Programming Interfaces (SPI) として公開されています。 これらの SPI について詳しくは、Web サービス・セキュリティー・サービス・プロバイダー・プログラミング・インターフェースのデフォルト実装を参照してください。
W3C 推奨、2002 年 2 月 (また、IETF RFC 3275、2002 年 3 月)
W3C 推奨、2001 年 3 月
W3C 推奨、2002 年 7 月
W3C 推奨、2002 年 11 月
W3C 推奨、2002 年 12 月
W3C 推奨、2002 年 12 月
これらの仕様は、Web サービス・セキュリティーのコンテキストで、WebSphere Application Server 6 でサポートされています。 例えば、デプロイメント記述子で保全性オプションを指定することによって SOAP メッセージに署名することができます。 しかし、アプリケーションが SOAP メッセージの XML 要素で XML Signature 用に使用できるアプリケーション・プログラミング・インターフェース (API) はありません。
OASIS Web Services Security バージョン 1.0 仕様は、メッセージの保全性と機密性を提供するために使用される拡張機能を定義しています。 また、セキュリティー・トークンと Simple Object Access Protocol (SOAP) メッセージを関連付ける汎用フレームワークも提供します。この仕様は、 複数のセキュリティー・トークン・フォーマットをサポートするように拡張できるよう設計されています。 特定のセキュリティー・トークンの使用法は、セキュリティー・トークン・プロファイルで取り上げられています。
Web Services Security バージョン 1.0 の Web サービス・セキュリティーを備えた SOAP メッセージのワイヤー・フォーマットは変更され、OASIS Web サービス・セキュリティー仕様の以前のドラフトと互換性がありません。 OASIS Web Services Security バージョン 1.0 と旧 Web Services Security ドラフトのインターオペラビリティーはサポートされていません。 ただし、WebSphere Application Server バージョン 6 で Web サービス・セキュリティー・ドラフト 13 に基づくアプリケーションを実行することは可能です。 そのアプリケーションは、WebSphere Application Server バージョン 5.0.2、5.1 または 5.1.1 で Web サービス・セキュリティー・ドラフト 13 に基づくアプリケーションと相互運用できます。
WebSphere Application Server バージョン 6 は、OASIS Web サービス・セキュリティー・ドラフト 13 と OASIS Web Services Security 1.0 仕様をサポートしています。 ただし、WebSphere Application Server バージョン 6 では、OASIS Web サービス・セキュリティー・ドラフト 13 のサポートは推奨されていません。しかし、WebSphere Application Server 5.0.2、5.1.0 および 5.1.1 で OASIS Web サービス・セキュリティー・ドラフト 13 を使用して開発されたアプリケーションは、WebSphere Application Server バージョン 6 で実行することができます。OASIS Web サービス・セキュリティー・バージョン 1.0 サポートは、Java 2 Platform, Enterprise Edition (J2EE) バージョン 1.4 アプリケーションでのみ使用可能です。デプロイメント記述子と バインディングの構成フォーマットは、WebSphere Application Server の前のバージョンとは異なります。既存のアプリケーションを J2EE 1.4 にマイグレーションし、Web サービス・セキュリティー構成を WebSphere Application Server バージョン 6 フォーマットにマイグレーションする必要があります。マイグレーションの情報については、Web サービス・セキュリティーを使用するバージョン 5.x アプリケーションのバージョン 6 アプリケーションへのマイグレーションを参照してください。
Web Services Interoperability Organization (WS-I) は、ベンダー、プラットフォーム、プログラミング言語およびアプリケーションで Web サービス・インターオペラビリティーを促進する公開された業界努力です。 その組織は、IBM、Microsoft、Oracle、Sun、Novell、VeriSign、および Daimler Chrysler などの多数の業界の会社が集まるコンソーシアムです。WS-I は、2003 年春に基本セキュリティー・プロファイル (BSP) で作業を開始しました。 BSP は、異なるベンダーによる実装間の Web サービス・セキュリティー・インターオペラビリティーを促進するため、これらの仕様を明確にし、詳述する非独占的 Web サービス仕様のセットから構成されています。 2004 年 6 月現在、BSP は、公開ドラフトです。詳しくは、「Web Services Interoperability Organization」を参照してください。
特に、BSP の詳細については、Basic Security Profile Version 1.0 を 参照してください。WebSphere Application Server は、BSP との準拠をサポートします。BSP と準拠するよう アプリケーションを構成するための詳細については、Basic Security Profile の準拠 (Basic Security Profile compliance) を参照してください。