Signaturbestätigung
Die Signaturbestätigung in Web Services Security ist eine erweiterte digitale XML-Signatur und im Standard Web Services Security enthalten. Die digitale XML-Signatur wird für das Signieren von Elementen der SOAP-Rahmenanweisung (Envelope) verwendet.
Das Element für Signaturbestätigung ist eine der Erweiterungen der OASIS-Spezifikation für die Sicherheit von SOAP-Nachrichten und enthält die Elemente, die in der Antwortnachricht erforderlich sind, um die Signatur zu bestätigen, die in einer Anforderungsnachricht enthalten ist. Durch die Verwendung der digitalen XML-Signatur und der Signaturbestätigung kann eine höhere Sicherheit auf Nachrichtenebene erreicht werden.
Die Spezifikation Web Services Security Version 1.0 für die Sicherheit von SOAP-Nachrichten enthält keine Anleitungen bezüglich der Bestätigung eines gegenseitigen Verständnisses der Anforderung, die die Antwort auslöst. Der Spezifikation Web Services Security Version 1.1 wurde deshalb das Element "SignatureConfirmation" bzw. <wsse11:SignatureConfirmation> hinzugefügt. Das Element <wsse11:SignatureConfirmation> gewährleistet, dass die Signatur vom geplanten Empfänger verarbeitet wird, und zeigt an, dass der Responder die Signatur in der Anforderung verarbeitet hat. Das Element für Signaturbestätigung gehört zum aktualisierten Standard Web Services Security und ermöglicht die Interoperabilität mit anderen Anbietern, die die Standards der Version 1.1 unterstützen, wie z. B. Microsoft .NET und DataPower.
- Die Sitzungsaffinität ist aktiviert, wenn ein Cluster für die Clients aktiviert ist, die in WebSphere Application Server ausgeführt werden. Wenn die Sitzungsaffinität aktiviert ist, impliziert dies, dass die Antwort an den initiierenden Client des Servers zurückgesendet wird.
- WS-Addressing ist für asynchrone Nachrichtenaustauschmuster aktiviert. Wenn WS-Addressing aktiviert ist, kann die Laufzeitumgebung die Antwort zur Anforderung zurückverfolgen. Es wird eine asynchrone Antwort an die Anwendung des initiierenden WebSphere Application Server zurückgesendet.
Syntax
Das Element "SignatureConfirmation" gibt an, dass der Responder die Signatur in der Anforderung verarbeitet hat. Wenn dieses Element nicht in einer Antwort vorhanden ist, interpretiert der Initiator dies so, dass der Responder nicht kompatibel ist.
Das Format des Elements für Signaturbestätigung ist wie folgt:
<wsse11:SignatureConfirmation wsu:Id="…" Value="…" />
- wsu:Id
- Die Kennung, die beim Referenzieren dieses Elements in der Referenzliste <ds:SignedInfo> der Signatur der zugehörigen Antwortliste verwendet wird. Dieses Attribut ist erforderlich, damit eindeutige Referenzen auf dieses <wsse11:SignatureConfirmation>-Element verwendet werden.
- Value
- Dieses Attribut ist optional und enthält den Inhalt eines Elements <ds:SignatureValue>, das aus der zugehörigen Anforderung kopiert wird. Wenn die Anforderung nicht signiert ist, darf dieses Attribut nicht vorhanden sein. Wenn dieses Attribut ohne Wert (leer) angegeben wird, interpretiert der Initiator dies als unzulässiges Verhalten und verarbeitet es entsprechend. Wenn dieses Attribut nicht vorhanden ist, interpretiert der Initiator dies so, dass die Antwort auf einer nicht signierten Anforderung basiert.
Konfiguration
Zum Konfigurieren der Signaturbestätigung konfigurieren Sie die Richtliniendatei über die Administrationskonsole und wählen Sie Bestätigung der Signatur erforderlich aus. Damit die Bestätigung der Signatur ordnungsgemäß verarbeitet wird, muss der Initiator der Anforderung die Signaturen während der Anforderungsgeneratorverarbeitung beibehalten und die Signaturen später für Bestätigungsprüfungen abrufen.
Regeln für die Antwortgenerierung
Es werden zusätzliche SOAP-Sicherheitselemente für den SOAP-Responder verwendet, um zu bestätigen, dass die Antwort mit einer bestimmten Anforderung in Beziehung steht. Der Responder muss den Inhalt des Elements <ds:SignatureValue> der Anforderungssignatur als Wert des Attributs @Value des Elements <wsse11:SignatureConfirmation> einfügen.
- Wenn die Anforderung keine Signaturen enthält, enthält die Antwort ein Element "SignatureConfirmation" ohne Wert. Für MEPs mit mehreren Anforderungen (alle ohne Signaturen) und einer Antwort, enthält die Antwort ein Element "SignatureConfirmation" ohne Wert.
- Wenn die Anforderung Signaturen enthält, enthält die Antwort für jede Signatur ein Element "SignatureConfirmation" mit einem Wert, der dem Signaturwert in der Anforderung entspricht. Für MEPs mit mehreren Anforderungen, von denen mindestens eine eine Signatur enthält, und einer Antwort, enthält die Antwort für jede Signatur in den Anforderungen ein Element "SignatureConfirmation" mit einem Wert, der dem Signaturwert in der Anforderung entspricht.
- Für MEPs mit einer Anforderung und mehreren Antworten enthält jede Antwort die entsprechenden "SignatureConfirmation"-Elemente, die unter Punkt eins und Punkt zwei angegeben sind.
- Wenn die SOAP-Anforderung mehrere Signaturen enthält, sucht der Requester alle Signaturbestätigungselemente, die in der Antwort enthalten sind, und vergleicht die Werte in den Wertefeldern der Signaturbestätigungselemente mit den Werten der Signaturen in der ursprünglichen SOAP-Anforderung.