Im Abschnitt Web Services Security (WS-Security) werden Erweiterungen der SOAP-Nachrichtenübertragung beschrieben, die durch Nachrichtenintegrität, Nachrichtenschutz und einfache Nachrichtenauthentifizierung ein hohes Datenschutzniveau gewährleisten. WS-Security-Mechanismen können mit einer Vielzahl an Sicherheitsmodellen und Verschlüsselungstechnologien verwendet werden.
WS Security ist ein Nachrichtenstufenstandard, der darauf basiert, die Sicherheit von SOAP-Nachrichten durch digitale XML-Signaturen, Vertraulichkeit durch XML-Verschlüsselung und die Weitergabe von Berechtigungsnachweisen durch Sicherheitstoken zu gewährleisten. Die Funktionen zum Schutz der Integrität und Vertraulichkeit einer Nachricht sind in den Spezifikationen von Web Services Security definiert, die auch Mechanismen zur Verknüpfung sicherheitsrelevanter Anforderungen mit der Nachricht bereitstellen.
WS Security stellt einen vielseitig einsetzbaren Mechanismus zur Verknüpfung von Sicherheitstoken mit Nachrichten zur Verfügung. Es ist kein bestimmter Sicherheitstokentyp für WS Security erforderlich. WS Security ist erweiterbar, so dass beispielsweise mehrere Sicherheitstokenformate unterstützt werden können.
Mithilfe von WS Security kann die Domäne dieser Mechanismen erweitert werden, indem Authentifizierungsinformationen in Web-Service-Anforderung übertragen werden. WS Security beinhaltet auch Erweiterungsmechanismen, mit deren Hilfe die einer Nachricht zugeordneten Berechtigungsnachweise näher beschrieben werden können. WS Security ist ein Baustein, der in Verbindung mit anderen Web-Service-Protokollen verwendet werden kann, um einer Vielzahl an Anwendungssicherheitsanforderung gerecht zu werden.
Traditionelle Web-Sicherheitsmechanismem wie HTTPS können unzureichend sein, um die Sicherheitsanforderungen aller Web-Service-Szenarios zu verwalten. Wenn eine Anwendung beispielsweise eine SOAP-Nachricht unter Verwendung von HTTPS sendet, ist die Nachricht ausschließlich für die HTTPS-Verbindung gesichert, d. h. während des Transports der Nachricht zwischen dem Serviceanforderer (Clienten) und dem Service. Die Anwendung kann jedoch eine Sicherung der Nachrichtendaten über die HTTPS-Verbindung oder sogar über die Transportschicht hinaus erfordern. Durch Web-Service-Sicherung auf Nachrichtenebene erfüllt die Sicherheit auf Nachrichtenebene diese erweiterten Anforderungen.
Sicherheit oder Web-Service-Sicherung auf Nachrichtenebene unterliegt denselben Sicherheitsanforderungen wie die traditionelle Web-Sicherheit. Diese Sicherheitsanforderungen betreffen: Identität, Authentifizierung, Berechtigung, Integrität, Vertraulichkeit, fälschungssicheren Herkunftsnachweis und Standardnachrichtenaustausch. Traditionelle Websicherheit und Sicherheit auf Nachrichtenebene verwenden oftmals dieselben Mechanismen zur Gewährleistung von Sicherheit wie z. B. digitale Zertifikate, Verschlüsselung und digitale Signaturen.
Bei Sicherheit auf Nachrichtenebene enthält entweder die SOAP-Nachricht selbst die für die Sicherung der Nachricht notwendigen Informationen oder aber Angaben darüber, wo die Informationen zur Erfüllung der Sicherheitsanforderungen erhältlich sind. Die SOAP-Nachricht enthält auch Informationen zu Protokollen und Vorgehensweisen, die für die Verarbeitung der angegebenen Sicherheit auf Nachrichtenebene wichtig sind. Sicherheit auf Nachrichtenebene ist jedoch nicht an einen bestimmten Transportmechanismus gebunden. Als Teil der Nachricht sind die Sicherheitsinformationen unabhängig von einem Übertragungsprotokoll wie HTTPS.
Der Client fügt zum SOAP-Nachrichtenheader die Sicherheitsinformationen hinzu, die für diese bestimmte Nachricht gelten. Beim Empfang der Nachricht prüft der Web-Service-Endpunkt die gesicherte Nachricht unter Verwendung der Sicherheitsinformationen im Header und wertet sie in Übereinstimmung mit der Richtlinie aus. Der Service-Endpunkt kann beispielsweise die Nachrichtensignatur verifizieren und überprüfen, ob die Nachricht manipuliert wurde. In die SOAP-Nachrichtenheader können Signatur- und Verschlüsselungsinformationen eingefügt werden, ebenso wie andere Informationen, wie beispielsweise Sicherheitstoken zur Feststellung der Identität (z. B. ein X.509-Zertifikat), die an den Inhalt der SOAP-Nachricht gebunden sind.
Ohne Sicherheit auf Nachrichtenebene wird die SOAP-Nachricht als Klartext versandt und persönliche Informationen wie Benutzer-ID und Accountnummer sind nicht geschützt. Ohne Sicherheit auf Nachrichtenebene besteht eine SOAP-Nachricht ausschließlich aus einem SOAP-Hauptteil unter der SOAP-Rahmenanweisung. Durch Anwendung von Funktionen aus der Spezifikation WS Security wird der SOAP-Sicherheitsheader bei der Signierung und Verschlüsselung des SOAP-Hauptteils unter der SOAP-Rahmenanweisung in die SOAP-Nachricht eingefügt.
Sie können durch Einfügen verschiedener Sicherheitstokentypen, wie dem Benutzernamenstoken (Element) ein Authentifizierungsverfahren aufnehmen. Wenn der Web-Service-Server das Benutzernamenstoken empfängt, werden Benutzername und Kennwort extrahiert und überprüft. Nur bei gültiger Benutzernamen-Kennwort-Kombination wird die Nachricht angenommen und vom Server verarbeitet. Die Verwendung des Benutzernamenstokens ist nur eine Möglichkeit, Authentifizierung zu implementieren. Dieser Mechanismus wird auch als einfache Authentifizierung bezeichnet.
Die Sicherheitsspezifikation der OASIS Web Services stellt eine Reihe von Mechanismen zur Verfügung, die Web-Service-Entwickler bei der Sicherung des SOAP-Nachrichtenaustauschs unterstützen. Weitere Informationen zu der OASIS Web Services Security-Spezifikation finden Sie in Abschnitt OASIS Standard for WS-Security Specification.