Configuración del cifrado para proteger la confidencialidad de mensaje utilizando las API de WSS

Puede configurar la información de cifrado para los enlaces del generador de solicitudes (emisor) del lado del cliente. La información de cifrado se utiliza para especificar cómo los generadores (emisores) cifran los mensajes SOAP salientes. Para configurar el cifrado, especifique qué partes del mensaje se van a cifrar y especifique qué métodos de algoritmo y señales de seguridad se van a utilizar para el cifrado.

Antes de empezar

La confidencialidad hace referencia al cifrado mientras que la integridad hace referencia a las firmas digitales. La confidencialidad reduce el riesgo de que alguien pueda entender el mensaje mientras fluya por Internet. Con las especificaciones de confidencialidad, el mensaje se cifra antes de que se envíe y se descifra cuando se recibe en el destino correcto. Antes de configurar el cifrado, familiarícese con el cifrado XML.

Acerca de esta tarea

Para el cifrado, debe especificar lo siguiente:
  • Qué partes del mensaje se van a cifrar.
  • Qué algoritmos de cifrado se van a especificar.

Para configurar el cifrado y las partes cifradas en el lado del cliente, utilice las API WSSEncryption y WSSEncryptPart, o configure los conjuntos de políticas utilizando la consola administrativa.

WebSphere Application Server proporciona valores predeterminados para los enlaces. Sin embargo, un administrador debe modificar los valores predeterminados para un entorno de producción.

WebSphere Application Server utiliza la información de cifrado para el generador predeterminado para cifrar partes del mensaje SOAP. La API WSSEncryption configura las siguientes partes necesarias como partes cifradas:

Tabla 1. Partes cifradas necesarias. Utilice las partes cifradas para aumentar la confidencialidad de los mensajes SOAP.
Partes de cifrado Descripción
Palabras clave Las palabras clave se utilizan para añadir las partes cifradas al mensaje SOAP.
expresión XPath Se utiliza una expresión XPath para añadir las partes cifradas al mensaje SOAP.
Objeto WSSEncryptPart Este objeto añade las partes cifradas al mensaje SOAP.
Objeto WSSSignature Este objeto añade el componente de firmas como una parte cifrada.
Cabecera Esta parte añade la cabecera a la cabecera SOAP, especificada por QName, como una parte de cifrado.
Objeto de señal de seguridad Este objeto añade la señal de seguridad como una parte de cifrado.

La API de seguridad de servicios web (WSS API) soporta el cifrado simétrico, utilizando una clave compartida, sólo cuando se utiliza Web Services Secure Conversation (WS-SecureConversation).

Las API de WSS le permiten el uso de cualquiera de las palabras clave o una expresión XPath para especificar las partes del mensaje que se van a cifrar. WebSphere Application Server soporta el uso de las siguientes palabras clave:

Tabla 2. Palabras clave de cifrado soportadas. Utilice palabras clave para especificar partes cifradas.
Palabra clave Referencias
BODY_CONTENT La palabra clave para el contenido del cuerpo del mensaje SOAP como un destino de cifrado.
SIGNATURE La palabra clave para el componente de firma como un destino de cifrado.

Si va a realizar la configuración utilizando las API de WSS, las API WSSEncryption y WSSEncryptPart completan estos pasos de alto nivel:

Procedimiento

  1. Utilice la API WSSEncryption para configurar el cifrado. La API WSSEncryption realiza estas tareas de manera predeterminada:
    1. Genera el manejador de retorno de llamada.
    2. Genera el objeto de la señal de seguridad del generador.
    3. Añade el tipo de referencia de la señal de seguridad.
    4. Añade el componente de firma.
    5. Añade el objeto WSSEncryptPart.
    6. Añade las partes que se van a cifrar. Añade las partes predeterminadas como destinos de cifrado utilizando palabras clave y expresiones XPath.
    7. Añade la cabecera en el mensaje SOAP, especificada por QName.
    8. Establece el método de cifrado de datos predeterminado.
    9. Especifica si se va a cifrar la clave utilizando un valor booleano.
    10. Establece el método de cifrado de claves predeterminado.
    11. Selecciona una referencia de parte.
    12. Establece el valor booleano de optimización MTOM.
  2. Utilice la API WSSEncryptPart para configurar las partes cifradas o añadir un método de transformación. La API WSSEncryptPart realiza estas tareas de manera predeterminada:
    1. Establece las partes cifradas especificadas utilizando palabras clave o una expresión XPath.
    2. Establece las partes cifradas especificadas por una expresión XPath.
    3. Establece el objeto del componente de firma, WSSSignature.
    4. Establece la cabecera en el mensaje SOAP, especificada por QName.
    5. Establece la señal de seguridad del generador.
    6. Añade el método de transformación, si fuera necesario.
  3. Cambie los valores predeterminados para algoritmos o partes del mensaje, según proceda. Por ejemplo: puede cambiar uno o más de los siguientes elementos:
    • Cambiar el algoritmo del cifrado de datos del valor predeterminado de AES 128.
    • Cambiar el algoritmo del cifrado de datos del valor predeterminado de KW_RSA_OAEP.
    • Especificar no cifrar la clave (false).
    • Cambiar el tipo de señal de seguridad del valor predeterminado de la señal X.509.
    • Cambiar el tipo de referencia de la señal de seguridad del valor predeterminado de SecurityToken.REF_STR.
    • Utilizar sólo BODY_CONTENT como una parte de cifrado y tampoco utilizar SIGNATURE.
    • Activar la optimización MTOM (true).

Resultados

La información de cifrado se configura para el enlace del generador.

Ejemplo

A continuación aparece un ejemplo de la API WSSEncryption:
WSSFactory factory = WSSFactory.getInstance();
    WSSGenerationContext gencont = factory.newWSSGenerationContext();
   
    X509GenerateCallbackHandler callbackhandler = generateCallbackHandler();
    SecurityToken token = factory.newSecurityToken(X509Token.class, callbackHandler);
    WSSEncryption enc = factory.newWSSEncryption(token);
    
    gencont.add(enc);

Qué hacer a continuación

Debe configurar una información similar de descifrado para los enlaces del consumidor de respuestas (receptor) del lado del cliente, si todavía no ha configurado la información.

A continuación, revise el proceso de la API WSSEncryption.


Icon that indicates the type of topic Task topic



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