Web-Service-Anwendungen mit den WSS-APIs auf Nachrichtenebene sichern

Standards und Profile legen fest, wie Nachrichten zu schützen sind, die in einer Web-Service-Umgebung ausgetauscht werden. Web Services Security ist ein Standard für die Nachrichtenebene und basiert auf dem Schutz von SOAP-Nachrichten durch eine digitale XML-Signatur, der Vertraulichkeit durch XML-Verschlüsselung und der Weitergabe von Berechtigungsnachweisen durch Sicherheitstoken.

Vorbereitende Schritte

Für den Schutz von Web-Services müssen Sie eine Vielzahl von Sicherheitsanforderungen berücksichtigen. Dazu gehören unter anderem die Authentifizierung, die Berechtigung, der Datenschutz, die Schaffung eines anerkannten Vertrauensverhältnisses, die Integrität die Vertraulichkeit, sichere Übertragungskanals, die Delegierung und die Überprüfung für ein ganzes Spektrum von Anwendungs- und Geschäftstopologien. Eine der Schlüsselanforderungen für das Sicherheitsmodell in heutigen Geschäftsumgebungen ist die die Möglichkeit der Interoperation zwischen früher inkompatiblen Sicherheitstechnologien in heterogenen Umgebungen. Eine Beschreibung des gesamten Protokoll-Stacks von Web Services Security und eine Übersicht über die Technologie finden Sie in der Roadmap zu Web-Services.

Informationen zu diesem Vorgang

Die OASIS-Spezifikation (Organization for the Advancement of Structured Information Standards) "SOAP Message Security Version 1.1" ist die Grundlage für den Messaging-Transport für alle Web-Services. SOAP 1.2 erweitert die vorhandenen Erweiterungen von SOAP 1.1 so, dass Sie sichere Web-Services erstellen können. Für das Hinzufügen von Anhängen zu SOAP-Nachrichten können Message Transmission Optimization Mechanism (MTOM) und XML-binary Optimized Packaging (XOP) anstelle des Profils SOAP with Attachments (SWA) verwendet werden.

Die OASIS-Spezifikation Web Services Security (WS-Security) Version 1.1 ist der Baustein, der zusammen mit anderen Web-Service- und anwendungsspezifischen Protokollen verwendet wird, um eine Vielzahl von Sicherheitsmodellen abzudecken. Web Services Security für WebSphere Application Server basiert auf bestimmten Standards, die in der OASIS-Spezifikation Web Services Security Version 1.1 und den zugehörigen Profilen enthalten sind.

Die Spezifikation der Version 1.1 definiert weitere Funktionen für den Schutz der Integrität und Vertraulichkeit einer Nachricht. Außerdem beschreibt die Spezifikation der Version 1.1 die Mechanismen für die Zuordnung sicherheitsrelevanter Claim-Informationen für die Nachricht. Zu den Standards von Web Services Security Version 1.1, die in WebSphere Application Server unterstützt werden, gehören die Signaturbestätigung, verschlüsselte Headerelemente, Username Token Profile (Benutzernamenstokenprofil) und X.509 Token Profile. Username Token Profile und X.509 Token Profile wurden in Version 1.1 aktualisiert. Ein neuer Typ von Sicherheitstokenreferenz in X.509 Certificate Token Profile ist die Thumbprint-Referenz (Fingerabdruck), die in der Bindung angegeben wird.

XML Schema (Teil 1 und Teil 2) ist eine Spezifikation, die erläutert, wie Schemata in XML-Dokumenten verwaltet werden. In Version 1.1. wurden die beiden Schemata aus WS-Security Version 1.0 aktualisiert, und es wurde ein neues Schema hinzugefügt. Das Schema der Version 1.1 ist kein Ersatz für das Schema der Version 1.0, sondern stützt sich auf das alte Schema und definiert darüber hinaus weitere Funktionen in einem Namespace der Version 1.1.

Sie können die folgenden Methoden verwenden, um Web Services Security zu konfigurieren und Richtlinientypen zum Sichern der SOAP-Nachrichten zu definieren:
  • Konfiguration von Richtliniensätzen über die Administrationskonsole.

    Bei dieser Methode wird die Bootstraprichtlinie verwendet, die im Richtliniensatz definiert ist. Sie können Richtliniensätze oder Zusicherungen zur Definition der Services verwenden, um Ihre Sicherheitskonfiguration für Web-Services zu vereinfachen. Über die Administrationskonsole können Sie angepasste Richtliniensätze erstellen, ändern und löschen. Es wird ein Satz mit Standardrichtliniensätzen bereitgestellt.

    Sie können beispielsweise die Bootstraprichtlinie im Richtliniensatz definieren, um die WS-Trust-SOAP-Nachrichten (Web Services Trust) zu sichern.

    Außerdem können Sie die Administrationskonsole verwenden, um Tasks für die Verwaltung der Richtliniensätze auszuführen und Web-Services durch Verschlüsselung, Signaturdaten und Sicherheitstoken zu sichern.

    Die folgenden übergeordneten Schritte beschreiben, wie Sie WebSphere Application Server über die Administrationskonsole für die Verwendung von WS-Security konfigurieren und die SOAP-Nachrichten sichern können. In den in den folgenden Schritten beschriebenen Generator- und Konsumententasks werden die Versionen 1.0 und 1.1 von WS-Security verwendet.
    • Erstellen Sie die Anwendungsrichtliniensätze oder Systemrichtliniensätze für den Trust-Service.
    • Definieren Sie beim Erstellen und Konfigurieren der Richtliniensätze die Richtlinientypen, die zum Sichern der SOAP-Nachrichten verwendet werden sollen.
    • Konfigurieren Sie die Richtliniensatzbindung. Wählen Sie die symmetrische oder asymmetrische Bindungszusicherung aus, um den Tokentyp und den Algorithmus für den Nachrichtenschutz zu beschreiben.
    • Assemblieren Sie Ihre für Web Services Security aktivierte Anwendung mit einem Assembliertool.

  • Verwenden Sie die WSS-APIs (Web Services Security APIs), um den SOAP-Nachrichtenkontext zu konfigurieren (nur für den Client).

    WebSphere Application Server verwendet ein neues API-Programmiermodell. Zusätzlich zu dem vorhandenen JAX-RPC-Programmiermodell wird ein neues Programmiermodell, Java API for XML Web Services (JAX-WS), bereitgestellt. Der Programmierstandard JAX-WS ist an dem dokumentorientierten Messaging-Modell ausgerichtet und ersetzt das in der Spezifikation Java API for XML-based RPC (JAX-RPC) definierte Programmiermodell für Fernprozeduraufrufe.

    Eine Anwendung kann beispielsweise Systemrichtliniensätze erstellen und anschließend die WSS-APIs von WebSphere Application Server verwenden, um das Sicherheitskontexttoken für programmorientierte, API-basierte, sichere Web-Service-Dialoge (WS-SecureConversation) abzurufen.

    Sie können für die Verschlüsselungs-, Signatur- und Tokenkonfigurationstasks, die die WSS-APIs zum Sichern von Web-Services ausführen, auch die Administrationskonsole verwenden.

    Die folgenden übergeordneten Schritte beschreiben, wie Sie WebSphere Application Server über die WSS-APIs für die Verwendung von WS-Security konfigurieren und die SOAP-Nachrichten sichern können. In den in den folgenden Schritten beschriebenen Generator- und Konsumenten-Tasks werden die Versionen 1.0 und 1.1 von WS-Security verwendet.

    • 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.

    • Verwenden Sie die API "WSSSignPart", wenn Sie die Digest-Methode und die Umsetzungsmethode ä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.

    • 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.

    • Verwenden Sie die API "WSSEncryptPart", wenn Sie nur die Umsetzungsmethode festlegen 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.

    • Verwenden Sie die WSS-API, um das Token auf der Generatorseite zu konfigurieren.

      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 Anforderung und 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.

    • 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.

    • Verwenden Sie die API "WSSVerifyPart", um die Digest-Methode und Umsetzungsmethode 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.

    • 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 Ziele für Entschlüsselung sind BODY_CONTENT und SIGNATURE. Die Standardmethode für Schlüsselchiffrierung (Key encryption) ist KW_RSA_OAEP.

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

    • Verwenden Sie die API "WSSDecryptPart", wenn Sie nur die Umsetzungsmethode festlegen 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.

    • 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.

  • Verwenden Sie wsadmin, das Scripting-Tool für die Verwaltung, um Richtliniensätze zu konfigurieren.

    Mit dieser Methode können Sie Richtliniensätze über die Befehlszeile erstellen, verwalten und löschen oder Scripts für die Automatisierung Ihrer Aufgaben erstellen. Sie können das Tool "wsadmin" und die Befehlsgruppe "PolicySetManagement" verwenden, um Standardrichtliniensätze zu verwalten, angepasste Richtliniensätze zu erstellen, Richtlinien zu konfigurieren und Zuordnungen und Bindungen zu verwalten. Weitere Informationen finden Sie in Artikeln zur Verwendung von Scripting für Richtliniensätze im Information Center.

Wenn Sie Web-Services mit WebSphere Application Server sichern möchten, müssen Sie die Integritätsbedingungen für die Sicherheit auf der Generator- und auf der Konsumentenseite konfigurieren. Sie müssen mehrere unterschiedliche Konfigurationen angeben. Obwohl Sie diese Konfigurationen nicht in einer speziellen Reihenfolge angeben müssen, verweisen einige Konfigurationen auf andere Konfigurationen. Entschlüsselungskonfigurationen verweisen beispielsweise auf Entschlüsselungskonfigurationen.

Ergebnisse

Wenn Sie diese übergeordneten Schritte für WebSphere Application Server ausgeführt haben, haben Sie Web-Services durch die Konfiguration von Richtliniensätzen und die Verwendung der WSS-APIs für die Konfiguration von Verschlüsselung und Entschlüsselung, der Signatur- und Signaturprüfdaten und der Konsumenten- und Generatortoken gesichert.


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_securev6wssjaxws
Dateiname:twbs_securev6wssjaxws.html