En-têtes SOAP chiffrés

L'élément d'en-tête chiffré fournit une méthode standard permettant le chiffrement des en-têtes SOAP. En tant qu'une des extensions de la spécification de sécurité de message SOAP d'OASIS, l'élément d'en-tête chiffré indique que le répondeur a traité la demande. Le chiffrement de parties et d'en-têtes SOAP aide à fournir une meilleure sécurité au niveau des messages.

L'élément EncryptedHeader ou <wsse11:EncryptedHeader> fait partie de la norme Web Services Security Version 1.1 mise à jour et permet l'interopérabilité avec d'autres fournisseurs prenant en charge les normes version 1.1, par exemple, Microsoft .NET et DataPower.

Utilisez l'élément EncryptedHeader pour chiffrer des blocs d'en-têtes SOAP. L'élément EncryptedHeader permet à Web Services Security de respecter les directives de traitement SOAP mustUnderstand et d'éviter la divulgation des informations contenues dans les attributs d'un bloc d'en-têtes SOAP.

L'élément <wsse11:EncryptedHeader> doit contenir un élément <xenc:EncryptedData>. Un seul élément <xenc:EncryptedData> par en-tête chiffré est permis.

Elément de données chiffrées

En général, le modèle de programmation, tel que JAX-WS, désérialise le message SOAP en un objet de liaison Java™ avant de transmettre l'appel au code d'application. Cependant, si le message SOAP est chiffré, la désérialisation échoue car, avant le chiffrement, le contenu d'origine est remplacé par l'élément XML EncryptedData issu de la norme de chiffrement XML.

Dans certains cas, il peut s'avérer utile de chiffrer le jeton inclus dans l'en-tête <wsse:Security> pour le rôle de traitement du destinataire.

Lors de l'utilisation de l'élément EncryptedData, suivez les instructions ci-dessous.
  • L'élément EncryptedHeader doit contenir un élément EncryptedData.
  • L'élément <xenc:EncryptedData> peut contenir un jeton de sécurité et l'inclure dans l'en-tête <wsse:Security>.
  • L'élément <xenc:EncryptedData> ne doit pas comporter d'ID XML pour le référencement du jeton de sécurité inclus.
  • Tous les jetons <xenc:EncryptedData> doivent posséder une clé de chiffrement imbriquée ou être référencés par une clé de chiffrement distincte.
  • Si la compatibilité avec Basic Security Profile 1.1 est souhaitée, l'élément <xenc:EncryptedData> doit disposer d'un attribut ID.

Assertion de règle pour les parties chiffrées

L'assertion de règle EncryptedParts indique quel en-tête doit être chiffré dans la stratégie de sécurité. Le tableau ci-dessous décrit les éléments et les attributs qui peuvent être utilisés pour EncryptedParts.

Tableau 1. Attributs et éléments de l'élément EncryptedParts. L'utilisation de portions chiffrées améliore la sécurité de niveau message.
Elément ou attribut Description
/sp:EncryptedParts/sp:Header Facultatif. La présence de cet élément facultatif indique qu'un en-tête SOAP spécifique (ou un ensemble d'en-têtes de ce type) doit être protégé. Vous pouvez avoir plusieurs éléments sp:Header dans un élément EncryptedParts unique.

Chaque en-tête (ou ensemble d'en-têtes) doit être chiffré ; ainsi, les éléments vont être chiffrés à l'aide d'en-têtes chiffrés par Web Services Security Version 1.1. A ce titre, si les en-têtes chiffrés WS-Security 1.1 ne sont pas pris en charge par un service, les en-têtes ne peuvent pas être chiffrés à l'aide de la sécurité de niveau message.

Si plusieurs en-têtes SOAP portant le même nom local mais des noms d'espace de nom différents doivent être chiffrés, plusieurs éléments sp:Header sont requis, soit dans le cadre d'une assertion sp:EncryptedParts unique, soit dans le cadre d'assertions sp:EncryptedParts distinctes.

/sp:EncryptedParts/sp:Header/@Name Facultatif. Cet attribut indique le nom local de l'en-tête SOAP à protéger au niveau de la confidentialité. Si cet attribut n'est pas défini, tous les en-têtes SOAP dont l'espace de nom correspond à l'attribut Namespace doivent être protégés.
/sp:EncryptedParts/sp:Header/@Namespace Obligatoire. Cet attribut indique l'espace de nom des en-têtes SOAP à protéger au niveau de la confidentialité.

L'exemple de message suivant indique à quoi ressemble l'élément EncryptedHeader dans un message où l'assertion de règle EncryptedParts pour l'en-tête chiffré a été spécifiée dans la règle :

<S:Envelope xmlns:S="…" xmlns:wsse="…" xmlns:wsse11="…" xmlns:wsu="…"
	  xmlns:xenc="…" xmlns:ds="…">
	  <S:Header>
	    <wsse:Security>
      <!-- Tokens etc. -->
	      <xenc:EncryptedKey>
	        <xenc:EncryptionMethod Algorithm="…"/>
	          <ds:KeyInfo>
	            … …
	          </ds:KeyInfo>
	         <xenc:CipherData>
	           <xenc:CipherValue>…</xenc:CipherValue>
	         </xenc:CipherData>
	         <xenc:ReferenceList>
	           <xenc:DataReference URI="#hdrID"/>
	         </xenc:ReferenceList>
	       </xenc:EncryptedKey>
	    </wsse:Security>
	    <wsse11:EncryptedHeader wsu:Id="hdrID">
	      <xenc:EncryptedData Id="encDataID">
	        <xenc:CipherData>
	          <xenc:CipherValue>…</xenc:CipherValue>
	        </xenc:CipherData>
	        …
	      </xenc:EncryptedData>
	    </wsse11:EncryptedHeader>	
	  </S:Header>
	  <S:Body>
	    …
	  </S:Body>
</S:Envelope>

Pour chiffrer des en-têtes dans le format de spécification Web Services Security version 1.0, indiquez la propriété com.ibm.wsspi.wssecurity.encryptedHeader.generate.WSS1.0 avec la valeur true pour l'élément <encryptionInfo> dans la liaison. Lorsque cette propriété est indiquée, l'en-tête cible pour le chiffrement est remplacé par un élément <EncryptedData>, au lieu d'un élément <EncryptedHeader> contenant un élément <EncryptedData>.

Pour un comportement de Web Services Security Version 1.1 équivalent aux versions antérieures à la version 7.0 de WebSphere Application Server, spécifiez la valeur true pour la propriété com.ibm.wsspi.wssecurity.encryptedHeader.generate.WSS1.1.pre.V7 sur l'élément <encryptionInfo> dans la liaison. Lorsque cette propriété est spécifiée, l'élément <EncryptedHeader> inclut un paramètre wsu:Id et l'élément <EncryptedData> omet le paramètre ID. Cette propriété ne doit être utilisée que si la compatibilité avec Basic Security Profile 1.1 n'est pas requise.

Pour plus d'informations sur les éléments EncryptedHeader et EncryptedData, consultez la spécification Web Services Security Version 1.1.


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_wssencryptedheader
Nom du fichier : cwbs_wssencryptedheader.html