Die Spezifikation WS Security bietet drei Mechanismen zur Sicherung von Web-Services auf Nachrichtenebene: Authentifizierung, Integrität und Vertraulichkeit.
Dieser Mechanismus nutzt ein Sicherheitstoken zur Validierung des Benutzers und zur Feststellung, ob ein Client in einem bestimmten Kontext gültig ist. Ein Client kann ein Benutzer, ein Computer oder eine Anwendung sein. Ohne Authentifizierung kann ein Nichtberechtigter mithilfe von Spoofing-Verfahren eine modifizierte SOAP-Nachricht an den Serviceanbieter senden.
Bei der Authentifizierung wird ein Sicherheitstoken in die Anforderungsnachricht eingefügt. Abhängig vom Typ des verwendeten Sicherheitstokens kann das Sicherheitstoken auch in die Antwortnachricht eingefügt werden. Die folgenden Typen von Sicherheitstoken werden für die Authentifizierung unterstützt:
Benutzernamenstokens werden zur Validierung von Benutzernamen und Kennwörtern verwendet. Wenn ein Web-Service-Server ein Benutzernamenstoken empfängt, werden Benutzername und Kennwort extrahiert und zur Überprüfung an eine Benutzerregistry übermittelt. Bei gültiger Benutzernamen-Kennwort-Kombination wird das Ergebnis an den Server gemeldet und die Nachricht wird angenommen und verarbeitet. Bei der Authentifizierung werden Benutzernamenstokens üblicherweise nur in der Anforderungsnachricht und nicht in der Antwortnachricht übermittelt.
X.509-Tokens werden über einen Zertifikatpfad überprüft.
Die Broker-Unterstützung für SAML-Zusicherungen beschränkt sich darauf, das Token zur Überprüfung an einen WS-Trust-Sicherheitstokenserver (STS) zu übergeben.
Kerberos-Ticket werden mit der Kerberos-keytab-Datei (Chiffrierschlüsseldatei) des Hosts abgeglichen.
Die Broker-Unterstützung für binäre LTPA-Token beschränkt sich darauf, das Token zur Überprüfung an einen WS-Trust-Sicherheitstokenserver (STS) zu übergeben.
Dieser Mechanismus nutzt Nachrichtenunterzeichnung, um sicherzustellen, dass Informationen nicht verändert oder modifiziert werden oder versehentlich verloren gehen. Bei der Implementierung von Integrität wird eine digitale XML-Signatur für den Inhalt einer SOAP-Nachricht generiert. Bei nicht autorisierten Änderungen an den Nachrichtendaten wird die Signatur nicht validiert. Ohne Integrität kann ein Nichtberechtigter mithilfe von Datenmanipulationstechniken eine SOAP-Nachricht zwischen dem Web-Service-Client und dem Server abfangen und modifizieren.
Dieser Mechanismus nutzt Nachrichtenverschlüsselung, um sicherzustellen, dass weder Personen noch Prozesse auf die Informationen in der Nachricht zugreifen oder diese offen legen können. Eine verschlüsselte SOAP-Nachricht kann nur durch einen Service, der über den entsprechenden Schlüssel verfügt, entschlüsselt und gelesen werden.