Métodos de descifrado

Los algoritmos de descifrado especifican los algoritmos de cifrado de datos y claves que se utilizan para descifrar el mensaje SOAP. La API de WSS para descifrado (WSSDecryption) especifica el URI (Uniform Resource Identifier) del algoritmo de los métodos de cifrado de datos y de claves. La interfaz WSSDecryption forma parte del paquete com.ibm.websphere.wssecurity.wssapi.decryption.

Algoritmos de cifrado de datos

Los algoritmos de cifrado de datos son los algoritmos que se utilizan para cifrar y descifrar datos. Este tipo de algoritmo se utiliza para cifrar los datos y cifrar y descifrar las diferentes partes del mensaje, incluido el contenido del cuerpo del mensaje y la firma.

Los algoritmos de descifrado de datos especifican el URI (Uniform Resource Identifier) del algoritmo del método de cifrado de datos. WebSphere® Application Server admite los siguientes algoritmos de descifrado de datos preconfigurados:

Tabla 1. Algoritmos de descifrado de datos preconfigurados compatibles. Algoritmos que se utilizan para descifrar mensajes SOAP.
API de WSS Titularidades
WSSDecryption.AES128 (el valor predeterminado) Un URI del algoritmo de cifrado de datos, AES 128: https://www.w3.org/2001/04/xmlenc#aes128-cbc
WSSDecryption.AES192 Un URI del algoritmo de cifrado de datos, AES 192: https://www.w3.org/2001/04/xmlenc#aes192-cbc
WSSDecryption.AES256 Un URI del algoritmo de cifrado de datos, AES 256: https://www.w3.org/2001/04/xmlenc#aes256-cbc
WSSDecryption.TRIPLE_DES Un URI del algoritmo de cifrado de datos, TRIPLE DES: https://www.w3.org/2001/04/xmlenc#tripledes-cbc

De forma predeterminada, Java™ Cryptography Extension (JCE) se distribuye con cifrados restringidos o de potencia limitada. 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, uso 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 sin restricciones de Java™ Cryptography Extension (JCE) desde el siguiente sitio web: https://www.ibm.com/developerworks/java/jdk/security/index.html.

El algoritmo de cifrado de datos debe coincidir con el algoritmo de descifrado de datos que se configura para el consumidor.

Algoritmos de cifrado de claves

Los algoritmos de cifrado de claves son algoritmos que se utilizan para cifrar y descifrar 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.

Los algoritmos de cifrado de claves especifican el URI (Uniform Resource Identifier) del algoritmo del método de cifrado de claves. WebSphere Application Server admite los siguientes algoritmos de cifrado de claves preconfigurados:

Tabla 2. Algoritmos de cifrado de claves preconfigurados compatibles. Algoritmos que se utilizan para descifrar mensajes SOAP.
API de WSS Titularidades
WSSDecryption.KW_AES128 Un URI del algoritmo de cifrado de claves, con la envoltura de clave AES 128: https://www.w3.org/2001/04/xmlenc#kw-aes128
WSSDecryption.KW_AES192 Un URI del algoritmo de cifrado de claves, con la envoltura de clave AES 192: https://www.w3.org/2001/04/xmlenc#kw-aes192
Restricción: No utilice el algoritmo de cifrado de clave de 192 bits si desea que la aplicación configurada cumpla con el Perfil de seguridad básico (BSP).
WSSDecryption.KW_AES256 Un URI de algoritmo de cifrado de claves, con la envoltura de claves AES 256: https://www.w3.org/2001/04/xmlenc#kw-aes256
WSSDecryption.KW_RSA_OAEP (el valor predeterminado) Un URI del algoritmo de cifrado de claves, con la envoltura de claves RSA OAEP: https://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
WSSDecryption.KW_RSA15 Un URI del algoritmo de cifrado de claves, con la envoltura de claves RSA 1.5: https://www.w3.org/2001/04/xmlenc#rsa-1_5
WSSDecryption.KW_TRIPLE_DES Un URI del algoritmo de cifrado de datos, con la envoltura de claves TRIPLE DES: https://www.w3.org/2001/04/xmlenc#kw-tripledes

De forma predeterminada, el algoritmo RSA-OAEP utiliza el algoritmo de resumen de mensajes SHA1 para calcular unresumen de mensaje como parte de la operación de cifrado. De manera opcional, puede utilizar el algoritmo de resumen de mensajes SHA256 o SHA512 especificando una propiedad de algoritmo de cifrado de claves. El nombre de la propiedad es: com.ibm.wsspi.wssecurity.enc.rsaoaep.DigestMethod. El valor de la propiedad es uno de los siguientes URI del método de conversión: https://www.w3.org/2001/04/xmlenc#sha256 https://www.w3.org/2001/04/xmlenc#sha512

De forma predeterminada, el algoritmo RSA-OAEP utiliza una serie nula para la serie opcional de octetos de codificación para OAEPParams. Puede proporcionar una serie de octetos de codificación explícita especificando una propiedad de algoritmo del cifrado de claves. Para el 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: Solo puede configurar estas propiedades del método de resumen y OAEPParams 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 del siguiente sitio web: https://www.ibm.com/developerworks/java/jdk/security/index.html.

Este algoritmo de cifrado de claves para el generador debe coincidir con el del consumidor.

El siguiente ejemplo proporciona una muestra del código API de WSS para los algoritmos predeterminados que se utilizan para el descifrado de WebSphere Application Server :

WSSFactory factory = WSSFactory.getInstance(); 
WSSConsumingContext concont = factory.newWSSConsumingContext(); 

// Required to attach username token into the message. 
X509ConsumeCallbackHandler callbackHandler = 
       new X509ConsumeCallbackHandler("", 
                                      "enc-sender.jceks", 
                                      "JCEKS", 
                                      "storepass".toCharArray(), 
                                      "alice", 
                                      "keypass".toCharArray(), 
                                      "CN=Alice, O=IBM, C=US"); 
// Set the decrypt component. 
// Default encrypted part: Body-Content 
// Default data encryption algorithm: AES128 
// Default key encryption algorithm: KW-RSA-OAEP 
WSSDecryption dec = factory.newWSSDecryption(X509Token.Type, 
callbackHandler); 
concont.add(dec); 

// validate the WS-Security header. 
concont.process(msgctx);