Méthodes de chiffrement

Pour les paramètres de liaison du générateur de demande, les méthodes de chiffrement incluent la spécification des algorithmes de chiffrement de données et de clés à utiliser pour chiffrer le message SOAP. L'API WSS destinée au chiffrement (WSSEncryption) indique le nom de l'algorithme et l'URI (Uniform Resource Identifier) de l'algorithme correspondant pour les méthodes de chiffrement de données et de clés. Si les algorithmes de chiffrement de données et de clés sont spécifiés, seuls les éléments chiffrés à l'aide de ces algorithmes sont admis.

Algorithmes de chiffrement de données

L'algorithme de chiffrement de données permet de chiffrer des parties du message SOAP, y compris le corps et la signature. Les algorithmes de chiffrement de données indiquent l'URI (Uniform Resource Identifier) de l'algorithme pour chaque type d'algorithmes de chiffrement de données.

Les algorithmes de chiffrement de données pré-configurés suivants sont pris en charge :
Tableau 1. Algorithmes de chiffrement de données. Ce tableau répertorie les algorithmes de chiffrement des messages SOAP.
Nom de l'algorithme de chiffrement de données URI d'algorithme
WSSEncryption.AES128 (valeur par défaut) URI de l'algorithme de chiffrement de données, AES 128: http://www.w3.org/2001/04/xmlenc#aes128-cbc
WSSEncryption.AES192 URI de l'algorithme de chiffrement de données, AES 192: http://www.w3.org/2001/04/xmlenc#aes192-cbc
WSSEncryption.AES256 URI de l'algorithme de chiffrement de données, AES 256: http://www.w3.org/2001/04/xmlenc#aes256-cbc
WSSEncryption.TRIPLE_DES URI de l'algorithme de chiffrement de données, TRIPLE DES: http://www.w3.org/2001/04/xmlenc#tripledes-cbc

Par défaut, l'extension JCE (Java™ Cryptography Extension) est fournie avec des codes de chiffrement de puissance limitée. Pour utiliser les algorithmes de chiffrement AES (Advanced Encryption Standard) 192 bits et 256 bits, vous devez appliquer des fichiers de règles de juridiction sans restriction.

Important : Votre pays d'origine peut imposer des restrictions pour l'importation, l'utilisation ou la réexportation d'un logiciel de chiffrement vers un autre pays. Avant de télécharger ou d'utiliser des fichiers de règles non restreintes, vous devez vérifier les lois en vigueur dans votre pays, sa réglementation et ses règles concernant l'importation, la possession, l'utilisation et la réexportation du logiciel de chiffrement afin de déterminer si cela est autorisé.

Pour les algorithmes AES256-cbc et AES192-CBC, vous devez télécharger les fichiers de règles JCE (Java Cryptography Extension) sans restriction, à partir du site Web suivant : http://www.ibm.com/developerworks/java/jdk/security/index.html.

L'algorithme de chiffrement de données configuré pour le chiffrement côté générateur doit correspondre à l'algorithme de chiffrement de données configuré pour le déchiffrement côté destinataire.

Algorithmes de chiffrement de clés

Cet algorithme permet de chiffrer et de déchiffrer les clés. Ces informations de clés permettent d'indiquer la configuration requise pour générer la clé de la signature numérique et du chiffrement. Les configurations des informations de signature et de chiffrement peuvent partager les informations de clé. Les informations de clés côté destinataire permettent d'indiquer les informations de clé utilisées pour valider la signature numérique dans le message reçu ou pour déchiffrer les parties chiffrées du message. Le générateur de la requête est configuré pour le client.

Remarque : Les ensembles de règles ne prennent pas en charge le chiffrement de clé symétrique. Si vous utilisez l'API WSS pour le chiffrement de clé symétrique, vous ne pourrez pas interopérer avec des noeuds finaux web services à l'aide des ensembles de règles.

Les algorithmes de déchiffrement de clés indiquent l'URI (Uniform Resource Identifier) de l'algorithme de la méthode de déchiffrement de clés. Les algorithmes de chiffrement de clés pré-configurés suivants sont pris en charge :

Tableau 2. Algorithmes de chiffrement de clés pré-configurés. Ce tableau répertorie les algorithmes de chiffrement et de déchiffrement des clés.
API WSS URI
WSSEncryption.KW_AES128 URI de l'algorithme de chiffrement de clés, clé AES 128: http://www.w3.org/2001/04/xmlenc#kw-aes128
WSSEncryption.KW_AES192 URI de l'algorithme de chiffrement de clés, clé AES 192: http://www.w3.org/2001/04/xmlenc#kw-aes192
Restriction : N'utilisez pas l'algorithme de chiffrement de données 192 bits si vous voulez que l'application configurée soit compatible avec le profil BSP (Basic Security Profile).
WSSEncryption.KW_AES256 URI de l'algorithme de chiffrement de clés, clé AES 256: http://www.w3.org/2001/04/xmlenc#kw-aes256
WSSEncryption.KW_RSA_OAEP (valeur par défaut) URI de l'algorithme de chiffrement de clés, clé RSA OAEP: http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
WSSEncryption.KW_RSA15 URI de l'algorithme de chiffrement de clés, clé RSA 1.5 : http://www.w3.org/2001/04/xmlenc#rsa-1_5
WSSEncryption.KW_TRIPLE_DES URI de l'algorithme de chiffrement de clés, clé TRIPLE DES: http://www.w3.org/2001/04/xmlenc#kw-tripledes
Pour la conversation sécurisée, d'autres informations liées aux clés doivent être indiquées, par exemple :
  • algorithmName
  • keyLength
Par défaut, l'algorithme RSA-OAEP utilise l'algorithme de synthèse de message SHA1 pour calculer une synthèse de message pendant le chiffrement. Vous pouvez éventuellement utiliser l'algorithme de synthèse de message SHA256 ou SHA512 en indiquant une propriété d'algorithme de chiffrement de clé. Le nom de la propriété est : com.ibm.wsspi.wssecurity.enc.rsaoaep.DigestMethod. La valeur de la propriété correspond à l'une des URI suivantes de la méthode simplifiée :
  • http://www.w3.org/2001/04/xmlenc#sha256
  • http://www.w3.org/2001/04/xmlenc#sha512

Par défaut, l'algorithme RSA-OAEP utilise une chaîne nulle pour la chaîne d'octets de codage facultative de OAEPParams. Vous pouvez fournir une chaîne d'octets de codage en définissant une propriété d'algorithme de chiffrement des clés. Pour le nom de la propriété, vous pouvez utiliser com.ibm.wsspi.wssecurity.enc.rsaoaep.OAEPparams. La valeur de la propriété correspond à la valeur codée en base 64 de la chaîne d'octets.

Important : Vous pouvez configurer cette méthode simplifiée et les propriétés OAEPParams côté générateur uniquement. Côté client, ces propriétés sont lues à partir du message SOAP entrant.

Pour les algorithmes de chiffrement de clés KW-AES256 et KW-AES192, vous devez télécharger les fichiers de règles JCE, version non limitée (unrestricted), à partir du site Web : http://www.ibm.com/developerworks/java/jdk/security/index.html.

L'algorithme de chiffrement de clés du générateur doit correspondre à l'algorithme de déchiffrement de clés configuré pour le destinataire.

Voici une exemple de code de chiffrement utilisant la méthode de chiffrement de données Triple DES et la méthode de chiffrement de clés RSA1.5 :

	  // Obtenir le contexte du message
	  Object msgcontext = getMessageContext();

	  // Générer une instance WSSFactory
	  WSSFactory factory = WSSFactory.getInstance();		

	  // Générer une instance WSSGenerationContext
	  WSSGenerationContext gencont = factory.newWSSGenerationContext();

	  // Générer le gestionnaire d'appel
	  X509GenerateCallbackHandler callbackHandler = new X509GenerateCallbackHandler(
			  "",
			  "enc-sender.jceks",
			  "jceks", 
			  "storepass".toCharArray(), 
			  "bob", 
			  null, 
			  "CN=Bob, O=IBM, C=US", 
			  null);

	  // génération du jeton de sécurité utilisé pour le chiffrement
	  SecurityToken token = factory.newSecurityToken(X509Token.class, 
        callbackHandler);

	  // génération de l'instance WSSEncryption pour le chiffrement du contenu du corps de message SOAP
	  WSSEncryption enc = factory.newWSSEncryption(token);
	  enc.addEncryptPart(WSSEncryption.BODY_CONTENT);

	  // définition de la méthode de chiffrement de données
	  // DEFAULT: WSSEncryption.AES128
	  enc.setEncryptionMethod(WSSEncryption.TRIPLE_DES);

	  // définition de la méthode de chiffrement de clés
	  // DEFAULT: WSSEncryption.KW_RSA_OAEP
	  enc.setEncryptionMethod(WSSEncryption.KW_RSA15);

	  // ajout de WSSEncryption à WSSGenerationContext
	  gencont.add(enc);

	  // Générer l'en-tête WS-Security
	  gencont.process(msgcontext);

Icône indiquant le type de rubrique Rubrique de référence



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=rwbs_wssencryptalgorithms
Nom du fichier : rwbs_wssencryptalgorithms.html