Métodos de cifrado

Para los valores de los enlaces del generador de solicitudes, los métodos de cifrado incluyen la especificación de algoritmos de cifrado de datos y claves para utilizar el cifrado del mensaje SOAP. La API de WSS para cifrado (WSSEncryption) especifica el nombre del algoritmo y el URI (Uniform Resource Identifier) del algoritmo coincidente de los métodos de cifrado de datos y de claves. Si se especifican los algoritmos de cifrado de datos y de claves, sólo se aceptan los elementos que coinciden con dichos algoritmos.

Algoritmos de cifrado de datos

El algoritmo de cifrado de datos se utiliza para cifrar las partes del mensaje SOAP, incluido el cuerpo y la firma. Los algoritmos de cifrado de datos especifican el URI (Uniform Resource Identifier) del algoritmo para cada tipo de algoritmo de cifrado de datos.

Se da soporte a los siguientes algoritmos de cifrado de datos preconfigurados:
Tabla 1. Algoritmos de cifrado de datos. Algoritmos que se utilizan para cifrar mensajes SOAP.
Nombre del algoritmo de cifrado de datos URI del algoritmo
WSSEncryption.AES128 (el valor predeterminado) Un URI del algoritmo de cifrado de datos, AES 128: http://www.w3.org/2001/04/xmlenc#aes128-cbc
WSSEncryption.AES192 Un URI del algoritmo de cifrado de datos, AES 192: http://www.w3.org/2001/04/xmlenc#aes192-cbc
WSSEncryption.AES256 Un URI del algoritmo de cifrado de datos, AES 256: http://www.w3.org/2001/04/xmlenc#aes256-cbc
WSSEncryption.TRIPLE_DES Un URI del algoritmo de cifrado de datos, TRIPLE DES: http://www.w3.org/2001/04/xmlenc#tripledes-cbc

De forma predeterminada, JCE (Java™ Cryptography Extension) se facilita con cifrados de nivel limitado o restringido. Para utilizar algoritmos de cifrado AES (Advanced Encryption Standard) de 192 bits y 256 bits, debe aplicar archivos de política de jurisdicción ilimitada.

Importante: Es posible que su país de origen tenga restricciones sobre la importación, posesión, utilización o reexportación a otro país de software de cifrado. Antes de descargar o bien utilizar los archivos de políticas sin restricciones, debe consultar las leyes de su país, sus regulaciones y las políticas relativas a la importación, posesión, uso y reexportación de software cifrado, para determinar si está permitido.

Para los algoritmos AES256-cbc y AES192-CBC, debe descargar los archivos de políticas JCE (Java™ Cryptography Extension) sin restricciones desde el siguiente sitio web: http://www.ibm.com/developerworks/java/jdk/security/index.html.

El algoritmo de cifrado de datos configurado para el cifrado para el extremo del generador debe coincidir con el algoritmo de cifrado de datos configurado para el descifrado en el extremo del consumidor.

Algoritmos de cifrado de claves

Este algoritmo se utiliza para cifrar y descifrar las claves. Esta información de claves se utiliza para especificar la configuración necesaria para generar la clave para firma digital y cifrado. Las configuraciones de la información de firmas y de la información de cifrado pueden compartir la información de claves. La información de claves del extremo del consumidor se utiliza para especificar la información relacionada con la clave que se utiliza para validar la firma digital en el mensaje recibido o para descifrar las partes cifradas del mensaje. El generador de solicitudes se configura para el cliente.

Nota: Los conjuntos de políticas no dan soporte al cifrado de claves simétricas. Si utiliza la API de WSS para el cifrado de claves simétricas, no podrá interactuar con los puntos finales de servicios web utilizando los conjuntos de políticas.

Los algoritmos de cifrado de claves especifican el URI (Uniform Resource Identifier) del algoritmo del método de cifrado de claves. Se da soporte a los siguientes algoritmos de cifrado de claves preconfigurados:

Tabla 2. Algoritmos de cifrado de claves preconfigurados soportados. Algoritmos que se utilizan para cifrar y descifrar claves.
API de WSS URI
WSSEncryption.KW_AES128 Un URI del algoritmo de cifrado de claves, envoltura de claves AES 128: http://www.w3.org/2001/04/xmlenc#kw-aes128
WSSEncryption.KW_AES192 Un URI del algoritmo de cifrado de claves, envoltura de claves AES 192: http://www.w3.org/2001/04/xmlenc#kw-aes192
Restricción: No utilice el algoritmo de cifrado de datos de 192 bits si desea que la aplicación configurada cumpla con BSP (Basic Security Profile).
WSSEncryption.KW_AES256 Un URI del algoritmo de cifrado de claves, envoltura de claves AES 256: http://www.w3.org/2001/04/xmlenc#kw-aes256
WSSEncryption.KW_RSA_OAEP (el valor predeterminado) Un URI del algoritmo de cifrado de claves, envoltura de claves RSA OAEP: http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
WSSEncryption.KW_RSA15 Un URI del algoritmo de cifrado de claves, envoltura de claves RSA 1.5: http://www.w3.org/2001/04/xmlenc#rsa-1_5
WSSEncryption.KW_TRIPLE_DES Un URI del algoritmo de cifrado de claves, con la envoltura de claves TRIPLE DES: http://www.w3.org/2001/04/xmlenc#kw-tripledes
Para conversaciones seguras, se debe especificar información adicional relacionada con las claves como, por ejemplo.
  • algorithmName
  • keyLength
De forma predeterminada, el algoritmo RSA-OAEP utiliza el algoritmo de conversión de mensajes SHA1 para calcular la conversión de un mensaje como parte de la operación de cifrado. Si lo desea, puede utilizar el algoritmo de conversión de mensajes SHA256 o SHA512 especificando una propiedad del algoritmo del cifrado de claves. El nombre de la propiedad es: com.ibm.wsspi.wssecurity.enc.rsaoaep.DigestMethod. El valor de propiedad es uno de los URI siguientes del método de conversión:
  • http://www.w3.org/2001/04/xmlenc#sha256
  • http://www.w3.org/2001/04/xmlenc#sha512

Por omisión, el algoritmo RSA-OAEP utiliza una serie null para la serie de octeto de codificación opcional de los OAEPParams. Puede proporcionar una serie de octetos de codificación explícita especificando una propiedad de algoritmo del cifrado de claves. Como nombre de la propiedad, puede especificar com.ibm.wsspi.wssecurity.enc.rsaoaep.OAEPparams. El valor de la propiedad es el valor codificado en base 64 de la serie de octeto.

Importante: Puede establecer este método de numeración y las propiedades OAEPParams sólo en el generador. En el consumidor, estas propiedades se leen desde el mensaje SOAP entrante.

Para los algoritmos de cifrado de claves KW-AES256 y KW-AES192, debe descargar los archivos de políticas JCE sin restricciones desde el sitio web siguiente: http://www.ibm.com/developerworks/java/jdk/security/index.html.

El algoritmo de cifrado de claves del generador debe coincidir con el algoritmo de descifrado de claves que se configura para el consumidor.

Este ejemplo proporciona código de ejemplo para que el cifrado utilice Triple DES como método de cifrado de datos y para utilizar RSA1.5 para el método de cifrado de claves:

	  // obtener el contexto de mensaje
	  Object msgcontext = getMessageContext();

	  // generar la instancia WSSFactory
	  WSSFactory factory = WSSFactory.getInstance();		

	  // generar la instancia de WSSGenerationContext
	  WSSGenerationContext gencont = factory.newWSSGenerationContext();

	  // generar el manejador de retorno de llamada
	  	  X509GenerateCallbackHandler callbackHandler = new X509GenerateCallbackHandler(
			  "",
			  "enc-sender.jceks",
			  "jceks", 
			  "storepass".toCharArray(), 
			  "bob", 
			  null, 
			  "CN=Bob, O=IBM, C=US", 
			  null);

	  	  // genera la señal de seguridad utilizada para el cifrado
	  SecurityToken token = factory.newSecurityToken(X509Token.class, 
        callbackHandler);

	  	  // generar la instancia de WSSEncryption para cifrar el contenido del texto SOAP
	  WSSEncryption enc = factory.newWSSEncryption(token);
	  enc.addEncryptPart(WSSEncryption.BODY_CONTENT);

	  	  // establecer el método de cifrado de datos
	  // DEFAULT: WSSEncryption.AES128
	  enc.setEncryptionMethod(WSSEncryption.TRIPLE_DES);

	  	  // establecer el método de cifrado de datos
	  // DEFAULT: WSSEncryption.KW_RSA_OAEP
	  enc.setEncryptionMethod(WSSEncryption.KW_RSA15);

	  	  // añadir WSSEncryption a WSSGenerationContext
	  gencont.add(enc);

	  // generar la cabecera de WS-Security
	  gencont.process(msgcontext);

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wssencryptalgorithms
File name: rwbs_wssencryptalgorithms.html