Jeton de clé dérivée

Une fois le contexte de sécurité établi et après l'établissement (authentification) des valeurs confidentielles, les clés dérivées permettent de signer et de chiffrer le message SOAP pour fournir une protection au niveau des messages. Vous pouvez ensuite utiliser des clés dérivées pour chaque clé utilisée dans le contexte de sécurité.

Vous pouvez activer Web Services Secure Conversation (WS-SecureConversation), à l'aide de clés symétriques dérivées du jeton de sécurité, afin de signer et de chiffrer les messages d'application.

WS-SecureConversation permet à l'initiateur d'établir un jeton de contexte de sécurité, à l'aide du protocole Web Services Trust (WS-Trust), avec le destinataire. Un jeton de contexte de sécurité implique ou contient un secret partagé. Un secret commun permet de définir des dérivations de clés différentes. Ensuite, le jeton de contexte de sécurité permet au jeton <wsc:DerivedKeyToken> de dériver des clés de tout jeton de sécurité possédant un secret, une clé ou un élément clé partagé. Ce secret permet de signer ou de chiffrer des messages, mais il est conseillé d'utiliser les clés dérivées pour la signature et le chiffrement des messages qui sont associés uniquement au contexte de sécurité.

Syntaxe de l'élément <wsc:DerivedKeyToken>

L'élément <wsc:DerivedKeyToken> permet d'indiquer que la clé d'une référence spécifique est générée à partir de la fonction, de sorte qu'il n'est pas nécessaire d'échanger aussi souvent les jetons de sécurité, secrets ou éléments clés explicites. Le jeton de clé dérivée ne prend pas en charge les références à lui-même à l'aide d'identificateurs ou de noms de clés. Toutes les références doivent utiliser un ID désignant un attribut wsu:Id ou utiliser une référence d'URI, <wsse:Reference>, à l'élément <wsc:Identifier> dans le jeton de contexte de sécurité.

La syntaxe de l'élément <wsc:DerivedKeyToken> est la suivante :

<wsc:DerivedKeyToken wsu:Id="...">
    <wsse:SecurityTokenReference>...</wsse:SecurityTokenReference>
    <wsc:Label>...</wsc:Label>
    <wsc:Nonce>...</wsc:Nonce>
  </wsc:DerivedKeyToken>
Les clés dérivées sont exprimées sous forme de jetons de sécurité et utilisent des algorithmes de dérivation de clés différents. L'URI suivant permet de représenter le type de jeton de clé dérivée :
http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/dk

La valeur nonce est traitée sous la forme d'une séquence d'octets binaires (la valeur précédant le codage base64). La valeur de départ nonce est obligatoire et doit être générée par une ou plusieurs des parties qui communiquent. Utilisez des valeurs nonce séparées et munissez-vous de clés générées indépendamment, afin de signer et de chiffrer les demandes et les réponses. De nouvelles clés doivent être dérivées pour chaque message, ce qui signifie qu'une précédente valeur nonce ne doit pas être réutilisée.

Génération de clés dérivées impliquées

Les clés dérivées impliquées définissent un mécanisme de raccourci pour le référencement de certains types de clés dérivées. Plus particulièrement, un attribut @wsc:Nonce peut être ajouté à une référence de jeton de sécurité (STR) qui est définie dans la spécification WS-Security. Une clé dérivée impliquée (lorsqu'il existe une) indique que la clé ne se trouve pas dans le jeton référencé mais qu'il s'agit d'une clé qui est dérivée de la clé ou d'un secret du jeton référencé. Il est déconseillé d'utiliser les clés dérivées impliquées dans l'élément <wsc:DerivedKeyToken>.

L'exemple suivant illustre un message envoyé à l'aide de deux clés dérivées, une pour la signature et une pour le chiffrement :

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

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_derivedkeytoken
Nom du fichier : cwbs_derivedkeytoken.html