WS-Security
WS-Security(Web Services Security、WSS)は、Webサービスにセキュリティを適用する手段を提供する通信プロトコル。2004年4月19日、OASISが WS-Security 1.0 規格を公開した。2006年2月17日には 1.1 版がリリースされている。
IBM、マイクロソフト、ベリサインの開発したプロトコルに基づき、OASISが規格として標準化した。Webサービスメッセージングにおいて、どのように完全性と機密性を保持するかという仕様が含まれる。SAMLとケルベロス認証とX.509などの認証フォーマットを使用している。
WS-Security は、SOAPメッセージに署名を付与し、ヘッダを暗号化する方式を記述している。さらに、X.509 認証やケルベロス認証のようなバイナリセキュリティトークンをメッセージに付与する方式も記述されている。
WS-Security では、アプリケーション層で動作するSOAPメッセージのヘッダにセキュリティ機能を導入している。つまり、エンドツーエンドのセキュリティを保証できる。
代替手法
編集ポイントツーポイントでは、Webサービスの機密とデータ完全性は Transport Layer Security (TLS) を使っても実現できる(HTTPSなど)。しかし、WS-Security はより広範囲な、いわゆるエンドツーエンドのセキュリティを提供する。
TLSを適用することで、鍵やメッセージ署名を送信前にASCIIに符号化する必要がなくなり、オーバーヘッドが劇的に低減される。メッセージがプロキシサーバを経由する場合、サーバはクライアントからではなくプロキシからの要求としてみるため、プロキシにクライアントの鍵と認証のコピーを与えて対応するか、そのサーバが信用する証明書を持つことで対応する。しかし、プロキシが関わっているためにエンドツーエンドのセキュリティとはならず、ポイントツーポイントのセキュリティとなる。
関連仕様
編集WS-Security に関連したドラフト仕様として、以下のものがある。
- WS-SecureConversation
- WS-Federation
- WS-Authorization
- WS-Policy
- WS-Trust
- WS-Privacy
- WS-Test
関連項目
編集外部リンク
編集- OASIS Web Services Security TC 規格文書のダウンロードリンクあり
- WS-Security Specification
- WS-I Basic Security Profile
- Web Services Security Documentation
- Web Service Security Patterns
- WSS4J Apache による Java での WS-Security 実装
- Apache Rampart Apache Axis2 における Java での WS-Security 実装
- WSIT (Web Services Interoperability Technologies) Javaプラットフォームと Windows Communication Foundation (WCF) の間の相互運用を可能にする。