Sicherheit von Webdiensten (ws security)

Definition - Was bedeutet Web Services Security (WS Security)?

Web Services Security (WS Security) ist eine Spezifikation, die definiert, wie Sicherheitsmaßnahmen in Web Services implementiert werden, um sie vor externen Angriffen zu schützen. Es handelt sich um eine Reihe von Protokollen, die die Sicherheit von SOAP-basierten Nachrichten gewährleisten, indem sie die Grundsätze der Vertraulichkeit, Integrität und Authentifizierung implementieren.

Da Webdienste unabhängig von Hardware- und Softwareimplementierungen sind, müssen WS-Sicherheitsprotokolle flexibel genug sein, um neuen Sicherheitsmechanismen Rechnung zu tragen und alternative Mechanismen bereitzustellen, wenn ein Ansatz nicht geeignet ist. Da SOAP-basierte Nachrichten mehrere Vermittler durchlaufen, müssen Sicherheitsprotokolle in der Lage sein, gefälschte Knoten zu identifizieren und die Dateninterpretation an beliebigen Knoten zu verhindern. WS-Security kombiniert die besten Ansätze zur Lösung verschiedener Sicherheitsprobleme, indem es dem Entwickler ermöglicht, eine bestimmte Sicherheitslösung für einen Teil des Problems anzupassen. Beispielsweise kann der Entwickler digitale Signaturen für die Nicht-Zurückweisung und Kerberos für die Authentifizierung auswählen.

Technische.me erklärt Web Services Security (WS-Sicherheit)

Ziel von WS-Security ist es sicherzustellen, dass die Kommunikation zwischen zwei Parteien nicht von einem nicht autorisierten Dritten unterbrochen oder interpretiert wird. Dem Empfänger muss versichert werden, dass die Nachricht tatsächlich vom Absender gesendet wurde, und dem Absender sollte versichert werden, dass der Empfänger den Empfang der Nachricht nicht verweigern kann. Schließlich sollten die während der Kommunikation gesendeten Daten nicht von einer nicht autorisierten Quelle geändert werden. Alle sicherheitsrelevanten Daten werden als Teil des SOAP-Headers hinzugefügt. Daher wird der SOAP-Nachrichtenbildung ein erheblicher Overhead auferlegt, wenn Sicherheitsmechanismen aktiviert werden.

WS-Security SOAP-Header:
Dem Entwickler steht es frei, einen zugrunde liegenden Sicherheitsmechanismus oder eine Reihe von Protokollen auszuwählen, um sein Ziel zu erreichen. Die Sicherheit wird mithilfe eines Headers implementiert, der aus einer Reihe von Schlüssel-Wert-Paaren besteht, wobei sich der Wert entsprechend ändert, wenn sich der zugrunde liegende Sicherheitsmechanismus ändert. Dieser Mechanismus hilft, die Identität des Anrufers zu identifizieren. Wenn eine digitale Signatur verwendet wird, enthält der Header Informationen darüber, wie der Inhalt signiert wurde und wo sich der Schlüssel befindet, mit dem die Nachricht signiert wurde.

Informationen zur Verschlüsselung werden ebenfalls im SOAP-Header gespeichert. Das ID-Attribut wird als Teil des SOAP-Headers gespeichert, was die Verarbeitung vereinfacht. Der Zeitstempel wird als zusätzliche Schutzstufe gegen Angriffe auf die Nachrichtenintegrität verwendet. Wenn eine Nachricht erstellt wird, wird der Nachricht ein Zeitstempel zugeordnet, der angibt, wann sie erstellt wurde. Zusätzliche Zeitstempel werden für den Ablauf der Nachricht und zur Angabe verwendet, wann die Nachricht am Zielknoten empfangen wurde.

WS-Sicherheitsauthentifizierungsmechanismen

  • Benutzername / Passwort-Ansatz: Die Kombination aus Benutzername und Passwort ist einer der grundlegenden Authentifizierungsmechanismen und entspricht den auf HTTP Digest und Basic basierenden Authentifizierungsmethoden. Das Benutzername-Token-Element wird verwendet, um Benutzeranmeldeinformationen zur Authentifizierung zu übergeben. Das Passwort kann als Klartext oder im Digest-Format transportiert werden. Wenn der Digest-Ansatz verwendet wird, wird das Kennwort mithilfe der SHA1-Hashing-Technik verschlüsselt.
  • X.509-Ansatz: Dieser Ansatz identifiziert den Benutzer anhand einer Public-Key-Infrastruktur, die das X.509-Zertifikat einem bestimmten Benutzer zuordnet. Durch die Verwendung eines öffentlichen und eines privaten Schlüssels zum Ver- und Entschlüsseln des X.509-Zertifikats kann mehr Sicherheit hinzugefügt werden. Um sicherzustellen, dass Nachrichten nicht wiedergegeben werden, kann ein Zeitlimit festgelegt werden, um Nachrichten abzulehnen, die nach einer bestimmten verstrichenen Dauer eintreffen.
  • Kerberos: Das Konzept eines Tickets bildet den zugrunde liegenden Mechanismus von Kerberos. Der Client muss sich bei einem Key Distribution Center (KDC) mit einer Kombination aus Benutzername und Kennwort oder einem X.509-Zertifikat authentifizieren. Bei erfolgreicher Authentifizierung erhält der Benutzer ein Ticket Granting Ticket (TGT). Mit dem TGT versucht der Client, auf einen Ticket Granting Service (TGS) zuzugreifen. In diesem Schritt sind die ersten beiden Rollen der Identifizierung und Autorisierung beendet. Der Client fordert dann ein Serviceticket (ST) an, um eine bestimmte Ressource vom TGS zu erhalten, und erhält das ST. Der Client verwendet den ST, um auf den Dienst zuzugreifen.
  • Digitale Signatur: XML-Signaturen werden verwendet, um die Nachricht vor Änderungen und Interpretationen zu schützen. Die Unterzeichnung muss von einer zuverlässigen Partei oder dem tatsächlichen Absender durchgeführt werden.
  • Verschlüsselung: Die XML-Verschlüsselung wird verwendet, um Daten vor Interpretation zu schützen, indem sie für nicht autorisierte Dritte unlesbar gemacht werden. Es können sowohl symmetrische als auch asymmetrische Ansätze verwendet werden.

Mit WS-Security können vorhandene Sicherheitsmechanismen angemessen genutzt werden, um den Aufwand für die Integration neuer Mechanismen zu vermeiden.