Web Services Security mit den WSS-APIs konfigurieren

Die Anwendungsprogrammierschnittstellen von Web Services Security (WSS-APIs) bieten Unterstützung für das Sichern von SOAP-Nachrichten.

Vorbereitende Schritte

Web Services Security unterstützt die folgenden Programmiermodelle:

  • Programmierungs-API für das Sichern von SOAP-Nachrichten mit Web Services Security (WSS-API).

    Das API-Programmiermodelldesign wurde neu gestaltet. Das neue Design ist ein schnittstellenbasiertes Programmiermodell und basiert auf den Standards von Web Services Security Version 1.1, enthält aber auch Unterstützung für Web Services Security Version 1.0 zum Sichern von SOAP-Nachrichten. Die Implementierung des Programmiermodells mit der WSS-API ist eine vereinfachte Version, die auf einem früheren Entwurfsvorschlag von JSR-183 basiert, einer JSR (Java Specification Request) für die Definition einer Java™-API-Bindung für Web Services Security. Da der Anwendungscode gemäß Design für die Schnittstelle programmiert wird, muss jeder Anwendungscode, der mit der Open-Source-Implementierung programmiert ist, mit minimalen oder überhaupt keinen Änderungen in WebSphere Application Server ausgeführt werden können.

  • Serviceprogrammierschnittstelle (SPI, Service Programming Interface) für einen Service-Provider

    Die SPIs für das Generieren und Konsumieren von Token in der Laufzeitumgebung von Web Services Security wurden ebenfalls neu gestaltet, so dass dieselbe Sicherheitstokenschnittstelle und dieselbe Implementierung des JAAS-Anmeldemoduls für die WSS-API und die SPI verwendet werden können. Die WSS-SPI für den Service-Provider erweitert die Sicherheitstokentypen und stellt Schlüssel und Ableitungsschlüssel für die Signatur, die Signaturprüfung, Verschlüsselung und Entschlüsselung bereit.

Verwendungshinweis: Sie müssen die IBM Implementierung der WS-Security-Standards im Kontext von Web-Services verwenden.

Informationen zu diesem Vorgang

Diese Programmiermodelle erweitern die folgenden Funktionen:
  • Sicherheitstokentypen und Ableitung von Schlüsseln für die Signatur
  • Signatur und Prüfung
  • Verschlüsselung und Entschlüsselung

Die folgende Abbildung veranschaulicht, wie die vereinfachten WSS-APIs verwendet werden, um eine SOAP-Nachricht durch digitale XML-Signatur und XML-Verschlüsselung zu sichern.

Das Konfigurationsmodell für Web-Services wurde ebenfalls von einem Implementierungsdeskriptormodell auf ein Richtliniensatzmodell umgestellt. Das Konfigurationsprogrammiermodell basiert auf der Konfiguration von Richtliniensätzen über eine Sicherheitsrichtlinie, die die Integritätsbedingung für die Sicherheit vorgibt.

Die von den Richtliniensatzkonfigurationen bereitgestellten Funktionen entsprechen den Funktionen, die von der WSS-API für die Laufzeitumgebung von Web Services Security unterstützt werden. Die über Richtliniensätze definierte Sicherheitsrichtlinie hat jedoch eine höhere Priorität als die WSS-API. Wenn die WSS-API und der Richtliniensatz in der Anwendung verwendet werden, wird die Sicherheitsrichtlinie standardmäßig über den Richtliniensatz aktiviert, und die WSS-API wird ignoriert. Wenn Sie die WSS-API in der Anwendung verwenden möchten, müssen Sie sicherstellen, dass der Anwendung oder den Anwendungsressourcen kein Richtliniensatz zugeordnet ist bzw. keine Sicherheitsrichtlinie im zugeordneten Richtliniensatz enthalten ist.

Web Services Security kann über einen Richtliniensatz, der in der Administrationskonsole konfiguriert wird, oder über die WSS-API für die Konfiguration aktiviert werden.

Führen Sie unter Verwendung der WSS-API die folgenden übergeordneten Schritte aus, um die SOAP-Nachricht zu sichern:

Vorgehensweise

  1. Verwenden Sie die API "WSSSignature", um die Signaturdaten für die Anforderungsgeneratorbindung (Clientseite) zu konfigurieren. Im Nachrichtenschutz für eine Anforderung auf Generatorseite können unterschiedliche Nachrichtenabschnitte angegeben werden. Standardmäßig sind die folgenden Abschnitte erforderlich: BODY, ADDRESSING_HEADERS und TIMESTAMP.

    Die API "WSSSignature" gibt auch die verschiedenen Algorithmusmethoden an, die bei der Signatur für den Nachrichtenschutz verwendet werden sollen. Die Standardmethode ist RSA_SHA1. Die Standardkanonisierungsmethode ist EXC_C14N.

  2. Verwenden Sie die API "WSSSignPart", wenn Sie die für den Nachrichtenschutz zu signierenden Abschnitte hinzufügen oder ändern möchten. Standardmäßig werden die Abschnitte WSSSignature.BODY, WSSSignature.ADDRESSING_HEADERS und WSSSignature.TIMESTAMP signiert.

    Die API "WSSSignPart" gibt auch die verschiedenen zu verwendenden Algorithmusmethoden an, wenn Sie die signierten Abschnitte hinzugefügt oder geändert haben. Standardmäßig wird die Digest-Methode SHA1 verwendet. Die Standardumsetzungsmethode ist TRANSFORM_EXC_C14N. Verwenden Sie beispielsweise die API "WSSSignPart", wenn Sie die Signatur für die SOAP-Nachricht mit der Digest-Methode SHA256 anstelle der Standardmethode SHA1 generieren möchten.

  3. Verwenden Sie die API "WSSEncryption", um die Verschlüsselungsdaten auf Anforderungsgeneratorseite zu konfigurieren. Die Verschlüsselungsdaten auf der Generatorseite werden für die Verschlüsselung einer abgehenden SOAP-Nachricht für die Anforderungsgeneratorbindungen (Clientseite) verwendet. Die Standardziele für Verschlüsselung sind BODY_CONTENT und SIGNATURE.

    Die API "WSSEncryption" gibt auch die verschiedenen zu verwendenden Algorithmusmethoden für den Schutz der Nachrichtenvertraulichkeit an. Standardmäßig wird die Datenverschlüsselungsmethode AES128 verwendet. Die Standardmethode für Schlüsselchiffrierung (Key encryption) ist KW_RSA_OAEP.

  4. Verwenden Sie die API "WSSEncryptPart", wenn Sie die für die Nachrichtenvertraulichkeit zu verwendenden verschlüsselten Abschnitte hinzufügen oder ändern möchten.. Sie möchten die Datenverschlüsselungsmethode von der Standardmethode AES128 in TRIPLE_DES ändern.

    In diesem Fall sind keine Algorithmusmethoden für die verschlüsselten Abschnitte erforderlich.

  5. Verwenden Sie die WSS-API, um das Token auf Generatorseite zuzuordnen. Die Anforderungen an das Sicherheitstoken richten sich nach dem Tokentyp. Das JAAS-Anmeldemodul und der JAAS-CallbackHandler sind für das Erstellen der Sicherheitstoken auf der Generatorseite verantwortlich. In der Anforderung oder Antwort können verschiedene eigenständige Token gesendet werden. Das Standardtoken ist X509Token. Das andere Token, das für die Signatur verwendet werden kann, ist das DerivedKeyToken, das nur mit Web Services Secure Conversation (WS-SecureConversation) verwendet wird.
  6. Verwenden Sie die API "WSSVerification", um die Signatur für die Antwortkonsumentenbindung (Clientseite) zu prüfen. Im Nachrichtenschutz für eine Antwort auf Konsumentenseite können unterschiedliche Nachrichtenabschnitte angegeben werden. Die erforderlichen Ziele für die Prüfung sind BODY, ADDRESSING_HEADERS und TIMESTAMP.

    Die API "WSSVerification" gibt auch die verschiedenen zu verwendenden Algorithmusmethoden für die Prüfung der Signatur und den Nachrichtenschutz an. Die Standardmethode ist RSA_SHA1. Die Standardkanonisierungsmethode ist EXC_C14N.

  7. Verwenden Sie die API "WSSVerifyPart", um die für den Nachrichtenschutz zu verwendenden signierten Prüfabschnitte hinzufügen oder zu ändern.. Die erforderlichen Prüfabschnitte sind WSSVerification.BODY, WSSVerification.ADDRESSING_HEADERS und WSSVerification.TIMESTAMP.

    Die API "WSSVerifyPart" gibt auch die verschiedenen zu verwendenden Algorithmusmethoden an, wenn Sie die Prüfabschnitte hinzugefügt oder geändert haben. Standardmäßig wird die Digest-Methode SHA1 verwendet. Die Standardumsetzungsmethode ist TRANSFORM_EXC_C14N.

  8. Verwenden Sie die API "WSSDecryption", um die Entschlüsselungsdaten für die Antwortkonsumentenbindung (Clientseite) zu konfigurieren. Die Entschlüsselungsdaten auf Konsumentenseite werden für das Entschlüsseln einer eingehenden SOAP-Nachricht verwendet. Die Standardziele für Entschlüsselung sind BODY_CONTENT und SIGNATURE. Standardmäßig wird die Datenverschlüsselungsmethode AES128 verwendet. Die Standardmethode für Schlüsselchiffrierung ist KW_RSA_OAEP.

    Für die Entschlüsselung sind keine Algorithmusmethoden erforderlich.

  9. Verwenden Sie die API "WSSDecryptPart", wenn Sie die für die Nachrichtenvertraulichkeit zu verwendenden entschlüsselten Abschnitte hinzufügen oder ändern möchten. Sie möchten die Datenverschlüsselungsmethode von der Standardmethode AES128 in TRIPLE_DES ändern.

    In diesem Fall sind keine Algorithmusmethoden für die entschlüsselten Teile erforderlich.

  10. Verwenden Sie die WSS-API, um das Token auf der Konsumentenseite zu konfigurieren.. Die Anforderungen an das Sicherheitstoken richten sich nach dem Tokentyp. Das JAAS-Anmeldemodul und der JAAS-CallbackHandler sind für die Validierung (Authentifizierung) des Sicherheitstokens auf der Konsumentenseite verantwortlich. In der Anforderung oder Antwort können verschiedene eigenständige Token gesendet werden.

    Die WSS-API fügt die Informationen zu dem Kandidatentoken hinzu, das für die Entschlüsselung verwendet wird. Standardmäßig wird ein X509Token verwendet.

Ergebnisse

Nächste Schritte

Die SPIs für das Generieren und Konsumieren von Token in der Laufzeitumgebung von Web Services Security wurden ebenfalls neu gestaltet, so dass dieselbe Sicherheitstokenschnittstelle und dieselbe Implementierung des JAAS-Anmeldemoduls für die WSS-API und die SPI verwendet werden können. Ausführliche Beschreibungen finden Sie in den SPI-Informationen.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_confwssapi
Dateiname:twbs_confwssapi.html