WS-Security ist ein Standard aus dem Kontext der WS-*-Spezifikationen. Im Wesentlichen beschreibt er ein Kommunikationsprotokoll, das es ermöglicht, Sicherheitsaspekte bei Webservices zu berücksichtigen. Am 19. April 2004 wurde der OASIS-Standard in seiner Version 1.0 veröffentlicht und am 17. Februar 2006 auf die Version 1.1 aktualisiert.
Ursprünglich durch IBM, Microsoft und Verisign entwickelt, wird der Standard nun durch ein Komitee im Rahmen von Oasis-Open weiterentwickelt.
Der Standard beinhaltet Spezifikationen, die vorschreiben, wie Nachrichtenintegrität und -verschlüsselung im Rahmen von Webservices sichergestellt werden können. Dabei schreibt WS-Security jedoch nicht alle Details vor, sondern setzt viel mehr auf bereits bestehende „Verfahren“ auf (XML-Signature und XML-Encryption).
WS-Security beinhaltet drei Hauptmechanismen:
- die Möglichkeit, Securitytokens als Teil der SOAP-Nachricht zu übertragen,
- Signierung von Nachrichten und
- Verschlüsselung von Nachrichten.
Dabei wird genau vorgeschrieben, wo und wie Signaturen, Verschlüsselungsinformationen sowie besagte Securitytokens in der SOAP-Nachricht eingefügt werden müssen.
Profile für Security Tokens
Es werden folgende Profile zur Erstellung des SecurityTokens unterschieden:
- Benutzername
- X.509-Zertifikat
- Kerberos-Ticket
- SAML-Assertion
- REL-Dokument
Zugehörige Spezifikationen
Die folgenden WS-*-Spezifikationen stehen in engem Zusammenhang mit WS-Security:
Implementierungen
Alternativen
Anstelle von WS-Security (Message Layer) kann man unter anderem auch auf der Transportebene (Transport Layer) aufsetzen, indem beispielsweise Protokolle wie HTTPS verwendet werden. Dies hat folgende Nachteile:
- Bei der Kommunikation über mehrere Knoten hat man dann keine direkte „End-to-End-Security“ mehr.
- Alles-oder-nichts-Übertragung: Message Layer Security bietet eine feinere Granularität.
Weblinks
- OASIS Web Services Security TC (Enthält Links zu den Spezifikationsdokumenten)
- WS-Security Specification (Memento vom 16. September 2012 im Internet Archive)