Verschlüsselung zum Schutz der Nachrichtenvertraulichkeit mit den WSS-APIs konfigurieren

Sie können Verschlüsselungsdaten für die clientseitigen Anforderungsgeneratorbindungen (Sender) konfigurieren. Verschlüsselungsdaten werden verwendet, um anzugeben, wie die Generatoren (Sender) abgehende SOAP-Nachrichten verschlüsseln. Zum Konfigurieren der Verschlüsselung geben Sie die Nachrichtenabschnitte, die verschlüsselt werden sollen, und die Algorithmusmethoden und Sicherheitstoken an, die für die Verschlüsselung verwendet werden sollen.

Vorbereitende Schritte

Vertraulichkeit bezieht sich auf Verschlüsselung, wohingegen sich Integrität auf digitale Signatur bezieht. Die Vertraulichkeit verringert das Risiko, dass jemand die Nachricht während des Transports durch das Internet verstehen kann. Wenn Angaben zur Vertraulichkeit gemacht wurden, wird die Nachricht vor dem Senden verschlüsselt und erst nach dem fehlerfreien Empfang am Ziel entschlüsselt. Machen Sie sich vor dem Konfigurieren der Verschlüsselung mit der XML-Verschlüsselung vertraut.

Informationen zu diesem Vorgang

Für die Verschlüsselung müssen Sie Folgendes angeben:
  • zu verschlüsselnde Abschnitte der Nachricht,
  • anzugebende Verschlüsselungsalgorithmen.

Zum Konfigurieren der Verschlüsselung und der verschlüsselten Abschnitte auf Clientseite verwenden Sie die Anwendungsprogrammierschnittstellen "WSSEncryption" und "WSSEncryptPart", oder konfigurieren Sie Richtliniensätze über die Administrationskonsole.

WebSphere Application Server stellt Standardwerte für Bindungen bereit. Diese Standardwerte müssen jedoch vom Systemadministrator für die Produktionsumgebung geändert werden.

WebSphere Application Server verwendet Verschlüsselungsdaten für den Standardgenerator, um Abschnitte der SOAP-Nachricht zu verschlüsseln. Die Anwendungsprogrammierschnittstelle "WSSEncryption" konfiguriert die folgenden erforderlichen Abschnitte als verschlüsselte Abschnitte.

Tabelle 1. Erforderliche verschlüsselte Abschnitte. Durch die Verwendung verschlüsselter Abschnitte kann die Vertraulichkeit von SOAP-Nachrichten erhöht werden.
Verschlüsselungsabschnitte Beschreibung
Schlüsselwörter Es werden Schlüsselwörter verwendet, um die verschlüsselten Abschnitte zur SOAP-Nachricht hinzuzufügen.
XPath-Ausdruck Es wird ein XPath-Ausdruck verwendet, um die verschlüsselten Abschnitte zur SOAP-Nachricht hinzuzufügen.
Objekt WSSEncryptPart Dieses Objekt fügt die verschlüsselten Abschnitte zur SOAP-Nachricht hinzu.
Objekt WSSSignature Dieses Objekt fügt die Signaturkomponente als verschlüsselten Abschnitt hinzu.
Header Dieser Abschnitt fügt den mit dem QName angegebenen Header im SOAP-Header als Verschlüsselungsabschnitt hinzu.
Sicherheitstokenobjekt Dieses Objekt fügt das Sicherheitstoken als Verschlüsselungsabschnitt hinzu.

Die API von Web Services Security (WSS-API) unterstützt symmetrische Verschlüsselung über die Verwendung eines gemeinsam genutzten Schlüssels nur, wenn Web Services Secure Conversation (WS-SecureConversation) verwendet wird.

Die WSS-APIs lassen die Verwendung von Schlüsselwörtern und XPath-Ausdrücken für die Angabe der zu verschlüsselnden Nachrichtenabschnitte zu. WebSphere Application Server unterstützt die Verwendung der folgenden Schlüsselwörter:

Tabelle 2. Unterstützte Schlüsselwörter für Verschlüsselung. Verwenden Sie Schlüsselwörter, um verschlüsselte Abschnitte anzugeben.
Schlüsselwort Referenzen
BODY_CONTENT Das Schlüsselwort für den Inhalt des SOAP-Nachrichtenhauptteils als Verschlüsselungsziel.
SIGNATURE Das Schlüsselwort für die Signaturkomponente als Verschlüsselungsziel.

Wenn Sie die Konfiguration mit den WSS-Anwendungsprogrammierschnittstellen durchführen, führen die Anwendungsprogrammierschnittstellen "WSSEncryption" und "WSSEncryptPart" die folgenden übergeordneten Schritte aus:

Vorgehensweise

  1. Verwenden Sie die Anwendungsprogrammierschnittstelle "WSSEncryption", um die Verschlüsselung zu konfigurieren. Die Anwendungsprogrammierschnittstelle "WSSEncryption" führt standardmäßig die folgenden Tasks aus:
    1. Sie generiert den Callback-Handler.
    2. Sie generiert das Sicherheitstokenobjekt für den Generator.
    3. Sie fügt den Typ der Sicherheitstokenreferenz hinzu.
    4. Sie fügt die Signaturkomponente hinzu.
    5. Sie fügt das WSSEncryptPart-Objekt hinzu.
    6. Sie fügt die zu verschlüsselnden Abschnitte hinzu. Die Anwendungsprogrammierschnittstelle fügt die Standardabschnitte als Ziele für die Verschlüsselung über Schlüsselwörter und XPath-Ausdrücke hinzu.
    7. Sie fügt die mit dem QName angegebenen Header in der SOAP-Nachricht hinzu.
    8. Sie legt die Standardmethode für die Datenverschlüsselung fest.
    9. Sie gibt über einen Booleschen Wert an, ob der Schlüssel verschlüsselt werden soll.
    10. Sie legt die Standardmethode für die Schlüsselchiffrierung fest.
    11. Sie wählt eine Abschnittsreferenz aus.
    12. Sie legt den Booleschen Wert für die MTOM-Optimierung fest.
  2. Verwenden Sie die Anwendungsprogrammierschnittstelle "WSSEncryptPart", um verschlüsselte Abschnitte zu konfigurieren oder eine Umsetzungsmethode hinzuzufügen. Die Anwendungsprogrammierschnittstelle "WSSEncryptPart" führt standardmäßig die folgenden Tasks aus:
    1. Sie legt die über Schlüsselwörter oder XPath-Ausdrücke angegebenen verschlüsselten Abschnitte fest.
    2. Sie legt die über einen XPath-Ausdruck angegebenen verschlüsselten Abschnitte fest.
    3. Sie legt das Objekt für die Signaturkomponente, WSSSignature, fest.
    4. Sie legt die mit dem QName angegebenen Header in der SOAP-Nachricht fest.
    5. Sie legt das Sicherheitstoken für den Generator fest.
    6. Sie fügt bei Bedarf die Umsetzungsmethode hinzu.
  3. Ändern Sie bei Bedarf die Standardwerte für Algorithmus oder Nachrichtenabschnitte. Sie könnten beispielsweise Folgendes ändern:
    • Sie können den Standardalgorithmus für Datenverschlüsselung AES 128 ändern.
    • Sie können den Standardalgorithmus für Schlüsselchiffrierung KW_RSA_OAEP ändern.
    • Sie können die Standardeinstellung "false" für die Schlüsselchiffrierung ändern.
    • Sie können den Standardtyp für das Sicherheitstoken X.509 ändern.
    • Sie können den Standardtyp für die Sicherheitstokenreferenz SecurityToken.REF_STR ändern.
    • Sie können angeben, dass nur BODY_CONTENT als Verschlüsselungsabschnitt verwendet wird, und nicht wie bei der Standardeinstellung auch SIGNATURE.
    • Sie können die MTOM-Optimierung aktivieren (auf "true" setzen).

Ergebnisse

Die Verschlüsselungsdaten für die Generatorbindung ist konfiguriert.

Beispiel

Im Folgenden sehen Sie ein Beispiel für die Anwendungsprogrammierschnittstelle "WSSEncryption":
    WSSFactory factory = WSSFactory.getInstance();
    WSSGenerationContext gencont = factory.newWSSGenerationContext();
   
    X509GenerateCallbackHandler callbackhandler = generateCallbackHandler();
    SecurityToken token = factory.newSecurityToken(X509Token.class, callbackHandler);
    WSSEncryption enc = factory.newWSSEncryption(token);
    
    gencont.add(enc);

Nächste Schritte

Sie müssen ähnliche Entschlüsselungsdaten für die clientseitigen Antwortkonsumentenbindungen (Empfänger) konfigurieren, falls Sie diese Informationen noch nicht konfiguriert haben.

Sehen Sie sich als nächstes den Prozess der Anwendungsprogrammierschnittstelle "WSSEncryption" an.


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_configencryptinfogenjaxws
Dateiname:twbs_configencryptinfogenjaxws.html