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

関連項目 
Webサービス
SAML
X.509

外部リンク 
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) の間の相互運用を可能にする。

ウェブ技術
セキュリティソフト
XMLベースの技術