Abgeleitetes Schlüsseltoken

Wenn der Sicherheitskontext eingerichtet ist und die geheimen Schlüssel etabliert (authentifiziert) sind, können abgeleitete Schlüssel für das Signieren und Verschlüsseln der SOAP-Nachricht verwendet werden, um den Schutz auf Nachrichtenebene zu gewährleisten. Anschließend können Sie abgeleitete Schlüssel für jeden Schlüssel im Sicherheitskontext verwendeten Schlüssel verwenden.

Sie können Web Services Secure Conversation (WS-SecureConversation) mit symmetrischen Schlüssel, die aus dem Sicherheitstoken abgeleitet werden, für das Signieren und Verschlüsseln der Anwendungsnachrichten aktivieren.

Mit WS-SecureConversation kann der Initiator über das Protokoll Web Services Trust (WS-Trust) ein Sicherheitskontexttoken ein Sicherheitskontexttoken mit dem Empfänger konfigurieren. Ein Sicherheitskontexttoken impliziert oder enthält einen gemeinsam genutzten geheimen Schlüssel. Wenn Sie einen allgemeinen geheimen Schlüssel verwenden, können unterschiedliche Schlüsselableitungen definiert werden. Anschließend kann das Token <wsc:DerivedKeyToken> unter Verwendung des Sicherheitskontexttokens verwendet werden, um Schlüssel aus jedem Sicherheitstoken mit einem gemeinsam genutzten geheimen Schlüssel, einem Schlüssel oder Schlüsselmaterial abzuleiten. Dieser geheime Schlüssel kann für das Signieren und Verschlüsseln von Nachrichten verwendet werden. Es wird jedoch empfohlen, abgeleitete Schlüssel nur für das Signieren und Verschlüsseln von Nachrichten zu verwenden, die dem Sicherheitskontext zugeordnet sind.

Syntax für das Element <wsc:DerivedKeyToken>

Mit dem Element <wsc:DerivedKeyToken> wird angezeigt, dass der Schlüssel für eine bestimmte Referenz über die Funktion erstellt wird, sodass explizite Sicherheitstoken, geheime Schlüssel oder Schlüsselmaterial nicht mehr so häufig ausgetauscht werden müssen. Das abgeleitete Schlüsseltoken unterstützt keine Referenzen über Schlüssel-IDs oder Schlüsselnamen. Alle Referenzen müssen eine ID für ein Attribut des Typs wsu:Id oder eine URI-Referenz vom Typ <wsse:Reference> auf das Element <wsc:Identifier> im Sicherheitskontexttoken verwenden.

Die Syntax für das Element <wsc:DerivedKeyToken> sieht wie folgt aus:

<wsc:DerivedKeyToken wsu:Id="...">
    <wsse:SecurityTokenReference>...</wsse:SecurityTokenReference>
    <wsc:Label>...</wsc:Label>
    <wsc:Nonce>...</wsc:Nonce>
  </wsc:DerivedKeyToken>
Abgeleitete Schlüssel werden als Sicherheitstoken ausgedrückt und verwenden unterschiedliche Algorithmen für die Ableitung von Schlüsseln. Der folgende URI wird verwendet, um den abgeleiteten Schlüsseltokentyp darzustellen:
http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/dk

Der Nonce (Number Only Used Once, generierte Zufallszahl) wird als binäre Oktettfolge (der Wert vor der Base64-Verschlüsselung) verarbeitet. Der Nonce ist erforderlich und muss von einem oder mehreren miteinander kommunizierenden Parteien generiert werden. Verwenden Sie gesonderte Nonces und unabhängig voneinander generierte Schlüssel für das Signieren und Verschlüsseln von Anforderung und Antwort. Für jede Nachricht sollten neue Schlüssel abgeleitet werden, d. h., ein vorheriger Nonce sollte nicht wiederverwendet werden.

Generierung von implizierten abgeleiteten Schlüsseln

Implizierte abgeleitete Schlüssel definieren einen Direktaufrufmechanismus zur Referenzierung bestimmter Arten von abgeleiteten Schlüsseln. Genauer ausgedrückt, kann das Attribut @wsc:Nonce der in der Spezifikation WS-Security definierten Sicherheitstokenreferenz hinzugefügt werden. Wenn vorhanden, zeigt ein implizierter abgeleiteter Schlüssel an, dass der Schlüssel nicht im referenzierten Token enthalten ist, sondern aus dem Schlüssel oder dem geheimen Schlüssel des referenzierten Tokens abgeleitet wurde. Es wird empfohlen, keine implizierten abgeleiteten Schlüssel im Element <wsc:DerivedKeyToken> zu verwenden.

Das folgende Beispiel zeigt eine Nachricht, die mit zwei abgeleiteten Schlüsseln, einem für die Signatur und einem für die Verschlüsselung, gesendet wird:

<S11:Envelope xmlns:S11="..." xmlns:wsse="..." xmlns:wsu="..."
    xmlns:xenc="..." xmlns:wsc="..." xmlns:ds="...">
  <S11:Header>
    <wsse:Security>
      <wsc:SecurityContextToken wsu:Id="ctx2">
        <wsc:Identifier>uuid:...UUID2...</wsc:Identifier>
      </wsc:SecurityContextToken>
      <wsc:DerivedKeyToken wsu:Id="dk2">
        <wsse:SecurityTokenReference>
          <wsse:Reference URI="#ctx2"/>
        </wsse:SecurityTokenReference>
        <wsc:Nonce>KJHFRE...</wsc:Nonce>
      </wsc:DerivedKeyToken>
      <xenc:ReferenceList>
        ...
        <ds:KeyInfo>
          <wsse:SecurityTokenReference>
            <wsse:Reference URI="#dk2"/>
          </wsse:SecurityTokenReference>
        </ds:KeyInfo>
          ...
      </xenc:ReferenceList>
      <wsc:SecurityContextToken wsu:Id="ctx1">
        <wsc:Identifier>uuid:...UUID1...</wsc:Identifier>
      </wsc:SecurityContextToken>
      <wsc:DerivedKeyToken wsu:Id="dk1">
        <wsse:SecurityTokenReference>
          <wsse:Reference URI="#ctx1"/>
        </wsse:SecurityTokenReference>
        <wsc:Nonce>KJHFRE...</wsc:Nonce>
      </wsc:DerivedKeyToken>
      <xenc:ReferenceList>
        ...
        <ds:KeyInfo>
          <wsse:SecurityTokenReference>
            <wsse:Reference URI="#dk1"/>
          </wsse:SecurityTokenReference>
        </ds:KeyInfo>
        ...
      </xenc:ReferenceList>
    </wsse:Security>
  ...
  </S11:Header>
  <S11:Body>
    ...
  </S11:Body>
</S11:Envelope>

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



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