WS-Security (Web Services Security) est un protocole de communications qui permet d'appliquer de la sécurité aux services web. Le , la spécification WS-Security 1.0 a été lancée par OASIS-Open. Le , ce consortium a lancé la version 1.1.
Développé à l'origine par IBM, Microsoft, Verisign et Forum Systems, le protocole est maintenant officiellement appelé WSS et est développé via un comité dans Oasis-Open.
Le protocole contient des spécifications sur la façon dont l'intégrité et la confidentialité peuvent être appliquées aux messages de services web. Le protocole WSS inclut des détails sur l'utilisation de SAML et Kerberos, et des formats de certificat comme X.509.
WS-Security répond à trois problématiques principales :
La spécification WS-Security autorise plusieurs formats de signature, plusieurs algorithmes de chiffrement et de nombreux domaines de confiance. Elle permet de même l'utilisation de différents modèles de jeton de sécurité, tels que :
Ceux-ci sont spécifiés dans les profile documents associés.
WS-Security incorpore ces fonctionnalités de sécurisation au sein de l'entête du message SOAP.
Ces mécanismes ne sont pas suffisants pour garantir une solution de sécurité complète : ils doivent être associés à d'autres extensions (WS-*) et protocoles de haut niveau. Notamment pour l'authentification, la gestion de clé, la fédération d'identité, la négociation de protocole... WS-Security n'est qu'une pièce du puzzle.
Les spécifications en projet suivantes sont associées à WS-Security :