Configuración de los archivos JSSE (Java Secure Socket Extension) aprobados por FIPS (Federal Information Processing Standard)

Utilice este tema para configurar los archivos JSSE (Java™ Secure Socket Extension) aprobados por FIPS (Federal Information Processing Standard).

Acerca de esta tarea

En WebSphere Application Server, el proveedor de JSEE (Java Secure Socket Extension) que se utiliza es el proveedor IBMJSSE2. Este proveedor delega las funciones de cifrado y firma al proveedor JCE (Java Cryptography Extension). Por lo tanto, IBMJSSE2 no necesita estar aprobado por FIPS (Federal Information Processing Standard) porque no efectúa criptografía. No obstante, el proveedor de JCE exige una aprobación de FIPS.
WebSphere Application Server proporciona un proveedor IBMJCEFIPS aprobado por FIPS que IBMJSSE2 puede utilizar. El proveedor IBMJCEFIPS que se entrega en WebSphere Application Server Versión 9.0 soporta los siguientes cifrados SSL:
  • SSL_RSA_WITH_AES_128_CBC_SHA
  • SSL_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
  • SSL_DHE_RSA_WITH_AES_128_CBC_SHA
  • SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_DHE_DSS_WITH_AES_128_CBC_SHA
  • SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA

Al habilitar la opción Utilizar los algoritmos del estándar FIPS (Federal Information Processing Standard) de EE.UU. en el certificado SSL del servidor y el panel de gestión de claves, el tiempo de ejecución siempre utiliza IBMJSSE2, a pesar del contextProvider que especifique para SSL (IBMJSSE o IBMJSSE2S). Además, puesto que FIPS exige que el protocolo SSL sea TLS, el tiempo de ejecución siempre utiliza TLS cuando FIPS está habilitado independientemente del valor de protocolo SSL del repertorio SSL. Esto simplifica la configuración de FIPS en la Versión 9.0 porque un administrador tiene que habilitar sólo la opción Utilice los algoritmos del estándar FIPS (Federal Information Processing Standard) de EE.UU. en el panel Gestión de claves y certificados SSL del servidor para habilitar todos los transportes con SSL.

Procedimiento

  1. Pulse Seguridad > Gestión de claves y certificados SSL > Gestionar FIPS.
  2. Seleccione la opción Habilitar FIPS 140-2 y pulse Aplicar. Esta opción convierte a IBMJSSE2 y IBMJCEFIPS en los proveedores activos.
  3. Aloje clientes Java que deben acceder a enterprise beans.

    Cambie el valor false de la propiedad com.ibm.security.useFIPS por true en el archivo del directorio raíz_perfil/properties/ssl.client.props.

  4. Asegúrese de que la propiedad com.ibm.ssl.protocol del archivo raíz_perfil/properties/ssl.client.props está establecida en TLS.
  5. Asegúrese de que el archivo java.security incluya el proveedor. [AIX Solaris HP-UX Linux Windows][IBM i]

    Edite el archivo java.security para insertar el proveedor IBMJCEFIPS (com.ibm.crypto.fips.provider.IBMJCEFIPS) por delante del proveedor IBMJCE y además vuelva a numerar los otros proveedores de la lista de proveedores. El proveedor IBMJCEFIPS debe estar en la lista de proveedores del archivo java.security.

    [IBM i]El archivo java.security se encuentra en el directorio raíz_perfil/properties.

    [AIX Solaris HP-UX Linux Windows][z/OS]El archivo java.security se encuentra en el directorio WASHOME/java/jre/lib/security.

    El archivo IBM® SDK java.security es similar al del ejemplo siguiente después de realizar este paso:[AIX Solaris HP-UX Linux Windows][z/OS]
    security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS 
    security.provider.2=com.ibm.crypto.provider.IBMJCE  
    security.provider.3=com.ibm.jsse.IBMJSSEProvider   
    security.provider.4=com.ibm.jsse2.IBMJSSEProvider2   
    security.provider.5=com.ibm.security.jgss.IBMJGSSProvider 
     security.provider.6=com.ibm.security.cert.IBMCertPath  
    security.provider.7=com.ibm.crypto.pkcs11impl.provider.IBMPKCS11Impl
    security.provider.8=com.ibm.security.cmskeystore.CMSProvider
    security.provider.9=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    security.provider.10=com.ibm.security.sasl.IBMSASL 
    security.provider.11=com.ibm.xml.crypto.IBMXMLCryptoProvider 
    security.provider.12=com.ibm.xml.enc.IBMXMLEncProvider  
    security.provider.13=org.apache.harmony.security.provider.PolicyProvider
    [IBM i]
    security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.2=com.ibm.crypto.provider.IBMJCE
    security.provider.3=com.ibm.jsse.IBMJSSEProvider
    security.provider.4=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.5=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.6=com.ibm.security.cert.IBMCertPath
    security.provider.7=com.ibm.i5os.jsse.JSSEProvider
    security.provider.8=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    security.provider.9=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    security.provider.10=com.ibm.security.cmskeystore.CMSProvider
    security.provider.11=com.ibm.security.sasl.IBMSASL
    security.provider.12=com.ibm.xml.crypto.IBMXMLCryptoProvider
    security.provider.13=com.ibm.xml.enc.IBMXMLEncProvider
    security.provider.14=org.apache.harmony.security.provider.PolicyProvider
    [AIX Solaris HP-UX Linux Windows][IBM i]Si utiliza Oracle Java SE Development Kit, el archivo java.security será similar al ejemplo siguiente después de realizar este paso:
    security.provider.1=sun.security.provider.Sun
    security.provider.2=com.ibm.crypto.fips.provider.IBMJCEFIPS  
    security.provider.3=com.ibm.crypto.provider.IBMJCE
    security.provider.4=com.ibm.jsse.IBMJSSEProvider 
    security.provider.5=com.ibm.jsse2.IBMJSSEProvider2 
    security.provider.6=com.ibm.security.jgss.IBMJGSSProvider 
    security.provider.7=com.ibm.security.cert.IBMCertPath   
    #security.provider.12=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    security.provider.9=com.ibm.security.cmskeystore.CMSProvider 
    security.provider.10=com.ibm.security.sasl.IBMSASL 
    security.provider.11=com.ibm.xml.crypto.IBMXMLCryptoProvider 
    security.provider.12=com.ibm.xml.enc.IBMXMLEncProvider   
    [z/OS]

    Edite el archivo java.security para que se quiten los comentarios de la línea con el proveedor IBMJCEFIPS y que se vuelva a numerar la lista de proveedores. El proveedor IBMJCEFIPS debe estar en la lista de proveedores del archivo java.security. El archivo java.security se encuentra en el directorio WASHOME/java/jre/lib/security. Para editar el archivo, siga estos pasos:

    [z/OS]
    1. Copie el archivo java.security en un directorio con permisos de escritura.
    2. Edite el archivo java.security para comentar la línea con el proveedor IBMJCE, quitar el comentario de la línea con el proveedor IBMJCEFIPS y guardar el archivo.

      Antes de completar este paso, el archivo java.security de IBM Software Development Kit (SDK) se parece al del siguiente ejemplo:

      #security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS
      security.provider.1=com.ibm.crypto.provider.IBMJCE
      security.provider.2=com.ibm.jsse.IBMJSSEProvider
      security.provider.3=com.ibm.jsse2.IBMJSSEProvider2
      security.provider.4=com.ibm.security.jgss.IBMJGSSProvider
      security.provider.5=com.ibm.security.cert.IBMCertPath
      security.provider.6=com.ibm.crypto.pkcs11.provider.IBMPKCS11
      security.provider.7=com.ibm.security.cmskeystore.CMSProvider
      security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    3. Configure las propiedades del sistema security.overridePropertiesFile y java.security.properties para cada JVM (máquina virtual Java) de la célula. Añada los siguientes pares de propiedad y valor:
      Tabla 1. Propiedades personalizadas para especificar una nueva ubicación para el archivo java.security.

      En esta tabla se describen las propiedades personalizadas para especificar una nueva ubicación para el archivo java.security.

      Nombre de propiedad Valor
      security.overridePropertiesFile true
      java.security.properties Especifique la nueva ubicación del archivo java.security.
      Debe especificar el conjunto de propiedades del sistema anterior para el gestor de despliegue, el agente de nodo y otros servidores de aplicaciones. En el gestor de despliegue, especifique este conjunto de propiedades del sistema para el control y el servant. En el agente de nodo, especifique este conjunto de propiedades del sistema para el control. En todos los servidores de aplicaciones, especifique este conjunto de propiedades del sistema para el complemento, control y el servant. Por ejemplo, realice los pasos siguientes para especificar estas propiedades del sistema para el control en un servidor de aplicaciones:
      1. En la consola administrativa, pulse Servidores > Servidores de aplicaciones > nombre_servidor.
      2. En Infraestructura de servidor, pulse Java y gestión de procesos > Definición de proceso > Control.
      3. En Propiedades adicionales, pulse Java Virtual Machine > Propiedades personalizadas.
      4. Especifique las propiedades como dos conjuntos de pares de nombre y valor.
      5. Pulse Guardar.

Qué hacer a continuación

Una vez completados estos pasos, un JSSE o un JCE aprobado por FIPS ofrece más posibilidades de cifrado. No obstante, cuando utilice los proveedores aprobados por FIPS:
  • De forma predeterminada, es posible que Microsoft Internet Explorer no tenga TLS habilitado. Para habilitar TLS, abra el navegador Internet Explorer y pulse Herramientas > Opciones de Internet. En el separador Avanzado, seleccione la opción Utilizar TLS 1.0.
    Nota: Es posible que Netscape versión 4.7.x y versiones anteriores no den soporte a TLS.
  • Cuando seleccione la opción Utilizar FIPS (Federal Information Processing Standard) en el panel Gestión de certificados SSL y de claves, el formato de la señal LTPA (Lightweight Third-Party Authentication) no es compatible con releases anteriores de WebSphere Application Server. No obstante, puede importar las claves LTPA de una versión anterior del servidor de aplicaciones.
  • Nota: El límite actual de WebSphere es que la longitud de clave en las claves secretas no se evalúa para ver si es compatible con FIPS sp800-131a. Si las claves secretas están en el almacén de claves, compruebe la longitud de clave utilizando iKeyman en el directorio {WebSphere_install_dir}\java\jre\bin o utilizando otras herramientas del almacén de claves.
[AIX Solaris HP-UX Linux Windows]Atención: Es posible que se produzca el error siguiente cuando intente detener WebSphere Application Server después de habilitar la opción FIPS:
ADMU3007E: Exception com.ibm.websphere.management.exception.ConnectorException
Descomente la entrada siguiente del archivo java.security si anteriormente se ha suprimido o comentado, a continuación, reinicie el servidor:
security.provider.2=com.ibm.crypto.provider.IBMJCE
Nota: Cuando se habilita FIPS, no puede configurar los dispositivos de señales criptográficas en los repertorios SSL. IBMJSSE2 debe utilizar IBMJCEFIPS cuando utilice los servicios criptográficos para FIPS.
Los siguientes proveedores criptográficos aprobados de FIPS 140-2 son los únicos dispositivos soportados con la opción FIPS:
  • IBMJCEFIPS (certificado 376)
  • IBM Cryptography for C (ICC) (certificado 384)
Los certificados relevantes se listan en el sitio web de NIST: Cryptographic Module Validation Program FIPS 140-1 and FIPS 140-2 Pre-validation List.
Para desconfigurar el proveedor FIPS, invierta los cambios realizados en los pasos anteriores. Una vez invertidos los cambios, compruebe que ha realizado los cambios siguientes en los archivos sas.client.props, soap.client.props y java.security:
  • En el archivo ssl.client.props, debe cambiar el valor de com.ibm.security.useFIPS a false.
  • [AIX Solaris HP-UX Linux Windows][z/OS]En el archivo java.security, debe cambiar el proveedor FIPS por un proveedor no FIPS.
    Si utiliza el archivo java.security de IBM SDK, debe cambiar el primer proveedor por un proveedor no FIPS tal como se muestra en el ejemplo siguiente:
    #security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.1=com.ibm.crypto.provider.IBMJCE
    security.provider.2=com.ibm.jsse.IBMJSSEProvider
    security.provider.3=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.4=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.5=com.ibm.security.cert.IBMCertPath
    #security.provider.6=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    Si utiliza el archivo java.security de Sun JDK, debe cambiar el tercer proveedor por un proveedor no FIPS tal como se muestra en el ejemplo siguiente:
    security.provider.1=sun.security.provider.Sun
    security.provider.2=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.3=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.4=com.ibm.crypto.provider.IBMJCE
    security.provider.5=com.ibm.jsse.IBMJSSEProvider
    security.provider.6=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.7=com.ibm.security.cert.IBMCertPath
    #security.provider.8=com.ibm.crypto.pkcs11.provider.IBMPKCS11
  • [IBM i]Edite el archivo java.security para eliminar el proveedor FIPS y cambiar los números de los proveedores como en el ejemplo siguiente:
    security.provider.1=sun.security.provider.Sun
    #security.provider.2=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.2=com.ibm.crypto.provider.IBMJCE
    security.provider.3=com.ibm.jsse.IBMJSSEProvider
    security.provider.4=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.5=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.6=com.ibm.security.cert.IBMCertPath
    security.provider.7=com.ibm.i5os.jsse.JSSEProvider
    #security.provider.8=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
[z/OS]Cuando se utiliza el proveedor de FIPS, el kit de desarrollo de software de IBM (SDK) puede emitir un mensaje de error que hace referencia a un certificado incorrecto. Aunque este mensaje de error se puede generar por varios motivos, revise la configuración de seguridad y tenga en cuenta una de las acciones siguientes:
  • Reduzca el nivel de la suite de cifrado a Medio, si el nivel de la suite de cifrado es, actualmente, Alto.
    Avoid trouble Avoid trouble: Puede cambiar el nivel de la suite de cifrado para niveles de entorno distintos como, por ejemplo, el nivel de nodo o de servidor. Limite el cambio al nivel del entorno en el que sea necesario el cambio.gotcha

    Para cambiar la suite de cifrado, consulte la información sobre los grupos de suites de cifrado dentro de la documentación de los valores de la calidad de protección. Si cambia el nivel de la suite de cifrado a Medio, guarde y sincronice los cambios. Si la opción Actualizar dinámicamente el tiempo de ejecución cuando se producen cambios de configuración SSL está seleccionada, no es necesario que reinicie el servidor. No obstante, si la opción no está seleccionada, debe reiniciar el servidor para que los cambios entren en vigor. La opción Actualizar dinámicamente el entorno de ejecución cuando se producen cambios de configuración SSL se encuentra en el panel Certificado SSL y gestión de claves, en la consola de administración. Para acceder al panel, seleccione Seguridad > Gestión de claves y certificados SSL.

  • Instalar el nivel de seguridad 3 FMID JCPT3A1 para el sistema operativo z/OS.

    La seguridad de Nivel 3 FMID JCPT3A1 es la implementación del sistema operativo z/OS de los proveedores criptográficos aprobados por FIPS 140-2.


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=tsec_fips
File name: tsec_fips.html