Autenticación de certificados de cliente SSL (Secure Sockets Layer)

El software de cliente que desea establecer una conexión segura a un servidor utilizando el protocolo SSL (Secure Socket Layer) se inicia utilizando el protocolo SSL o el protocolo mejorado denominado TLS (Transport Layer Security) para realizar un reconocimiento SSL con certificados SSL. Un certificado personal puede representar al servidor o puede representar a un cliente determinado, y lo firma una autoridad de certificación (CA) para asegurarse de que el certificado personal está correctamente identificado.

SSL garantiza que el administrador tiene el certificado de firmante CA disponible que se utiliza para firmar el certificado personal, y que se almacena tanto en el almacén de confianza del servidor como del cliente. La autenticación de certificados de cliente SSL se lleva a cabo durante el reconocimiento de la conexión mediante certificados SSL.

Se deben producir los sucesos siguientes durante este proceso:
  • El lado del servidor debe determinar si se va a realizar la autenticación de cliente. La autenticación de cliente debe habilitarse en la configuración de SSL del servidor y la configuración de CSIv2 (Common Secure Interoperability versión 2) si se utiliza IIOP (Inter-ORB Protocol).
  • La configuración de CSIv2 debe tener lugar en la seguridad global, no en un dominio de seguridad.
  • El certificado de firmante del cliente debe extraerse del almacén de claves del cliente y añadirse al almacén de confianza del servidor.
  • El certificado de firmante del servidor se debe extraer del almacén de claves del servidor y añadirse al almacén de confianza del cliente.

Configuración de un servidor WebSphere para la autenticación de cliente

La autenticación de certificado de cliente se produce si el lado del servidor solicita que el lado del cliente envíe un certificado. Un servidor Websphere se puede configurar para la autenticación de certificados de cliente en la configuración SSL. Sin embargo, si la autenticación de cliente es necesaria para IIOP, debe configurarse en la configuración de CSIv2.

Para configurar la autenticación de certificados de cliente en la configuración SSL utilizando la consola administrativa:
  1. Pulse Seguridad > Certificado SSL y gestión de claves > Configuración SSL.
  2. Seleccione una configuración SSL.
  3. En Propiedades adicionales, pulse Valores QoP (calidad de protección).
  4. En Autenticación de Cliente, seleccione Necesario.
  5. Pulse Aceptar para guardar los cambios.
Nota: También puede utilizar el mandato modifySSLConfig con el distintivo clientAuthentication-se establecido en true para habilitar la autenticación de cliente. Consulte el grupo de mandatos SSLConfigCommands para el objeto AdminTask para obtener más información acerca de este mandato.
.
Para configurar la autenticación de certificados de cliente en una conexión de entrada CSIv2 utilizando la consola administrativa:
  1. Pulse Seguridad > Seguridad global.
  2. En seguridad RMI/IIOP, seleccione Comunicaciones de entrada CSIv2.
  3. En la sección Capa de transporte CSIv2, y en Autenticación de certificado de cliente, seleccione Necesario.
  4. Pulse Aceptar para guardar los cambios.
Nota: También puede utilizar el mandato configureCSIInbound con el distintivo -clientCertAuth establecido en Necesario para habilitar la autenticación de cliente en CSIv2. Lea el grupo de mandatos SecurityConfigurationCommands para el objeto AdminTask para obtener más información acerca de este mandato.

Si el lado del cliente está configurado para la autenticación de clientes, el certificado de firmante del cliente debe añadirse al almacén de confianza del servidor. Si tiene un certificado del cliente en un archivo de certificado, se puede añadir al almacén de confianza del servidor.

Para añadir un firmante al almacén de confianza del servidor utilizando la consola administrativa:
  1. Pulse Seguridad > Gestión de claves y certificados SSL > Almacenes de claves y certificados.
  2. Seleccione el almacén de confianza que está configurado para la autenticación de cliente.
  3. En Propiedades Adicionales, seleccione Certificados de firmante.
  4. Pulse Añadir.
  5. En el campo Alias, escriba un nombre de alias con el que se almacenará el certificado.
  6. En el recuadro Nombre de archivo, especifique la vía de acceso completa del archivo de certificado.
  7. Pulse Aceptar para guardar los cambios.
Nota: También puede utilizar el mandato addSignerCertificate para añadir un firmante al almacén de confianza del servidor. Lea en el grupo de mandatos SignerCertificateCommands el objeto AdminTask para obtener más información sobre este mandato.
Nota: Si va a utilizar autenticación de cliente en un entorno en clúster, la autenticación de cliente debe configurarse para cada nodo en los que se encuentren los servidores del clúster.

Configuración del lado del cliente para la autenticación de cliente

Clientes:

Los clientes administrativos, los clientes ligeros o los clientes puros deben tener un certificado personal en sus almacenes de claves. El almacén de claves predeterminado del cliente WebSphere que se crea cuando se instala WebSphere Application Server ya contiene un certificado personal. Este almacén de claves se puede encontrar en el archivo ssl.client.props en la propiedad com.ibm.ssl.keyStore. Los almacenes de claves de cliente no están gestionados por WebSphere Application Server, por lo que el programa de utilidad de gestión de claves (iKeyman) o el programa de utilidad keytool de Java™ se puede utilizar para extraer el certificado en un archivo de certificado.

Para extraer un certificado mediante iKeyman:
  1. Inicie iKeyman.
  2. Seleccione Archivo de base de datos de claves > abrir.
  3. Especifique la vía de acceso al archivo del almacén de claves. Puede obtenerla desde el archivo ssl.client.props .
  4. Pulse Aceptar .
  5. Especifique la contraseña del almacén de claves y pulse ACEPTAR
  6. En Certificados personales, seleccione el certificado predeterminado de cliente.
  7. Especifique una vía de acceso y un nombre de archivo para el archivo de certificado y pulse ACEPTAR.

El archivo que contiene el certificado extraído se puede utilizar para añadir el firmante al almacén de confianza del servidor. Siga los pasos de la sección "Configuración de un servidor WebSphere para la autenticación de cliente" para añadir dicho firmante al almacén de confianza del servidor.

Si la comunicación se realiza a través de IIOP, se deben establecer las siguientes propiedades en el archivo sas.client.props .
  • Habilitar SSL:
    	com.ibm.CSI.performTransportAssocSSLTLSSupported=true 	com.ibm.CSI.performTransportAssocSSLTLSRequired=false 
  • Inhabilitar la autenticación de cliente en la capa de mensajes:
    	com.ibm.CSI.performClientAuthenticationRequired=false
    	com.ibm.CSI.performClientAuthenticationSupported=false 
  • Habilitar la autenticación de cliente en la capa de transporte (esto esta soportado, pero no es necesario):
     com.ibm.CSI.performTLClientAuthenticationRequired=false
    	com.ibm.CSI.performTLClientAuthenticationSupported=true 

Los clientes ligeros y los clientes puros no pueden utilizar el archivo de propiedades SSL de WebSphere Application Server, ssl.client.props. Es más probable que utilicen las propiedades del sistema Java para establecer el almacén de claves y el almacén de confianza del cliente. El certificado de firmante del servidor debe añadirse al almacén de confianza que se especifica con la propiedad del sistema java.net.ssl.trustStore. Keytool o iKeyman se pueden utilizar para añadir el certificado de firmante. El firmante debe extraerse del certificado personal en el almacén de claves especificado por la propiedad del sistema javax.net.ssl.keyStore y añadirse al almacén de confianza del servidor.

Por ejemplo:
javax.net.ssl.keyStore
javax.net.ssl.keyStorePassword
javax.net.ssl.keyStoreType
javax.net.ssl.trustStore
javax.net.ssl.trustStorePassword
javax.net.ssl.trustStoreType

Servidor actuando como cliente:

El cliente puede ser un servidor WebSphere que actúa como cliente. En tal caso, determine la configuración SSL que se está utilizando como lado del cliente de la comunicación, extraiga el firmante del certificado y añádalo al almacén de confianza del lado del servidor. Se recomienda utilizar el firmante del certificado raíz.

Para extraer el certificado raíz utilizando la consola administrativa:
  1. Pulse Seguridad > Gestión de claves y certificados SSL > Almacenes de claves y certificados.
  2. En el desplegable Usos de almacén de claves, seleccione Almacén de claves de certificado raíz.
  3. Seleccione DmgrDefaultRootStore (para un servidor de despliegue de red) o NodeDefaultRootStore (para un servidor de aplicaciones).
  4. En Propiedades adicionales, seleccione Certificados personales.
  5. Seleccione el certificado raíz predeterminado (normalmente denominado root) y, a continuación, pulse Extraer.
  6. En el recuadro Nombre de archivo de certificado, especifique una vía de acceso completa al archivo que contenga el certificado.
  7. Pulse Aceptar para guardar.
Nota: También puede utilizar el mandato extractCertificate para extraer el certificado raíz. Lea en el grupo de mandatos PersonalCertificateCommands el objeto AdminTask para obtener más información sobre este mandato.

El archivo de certificado creado se puede llevar al lado del servidor y añadirse al almacén de confianza del servidor.

Cuando un servidor actúa como cliente, el servidor del lado del cliente requiere el firmante del servidor de destino. El firmante se puede recuperar utilizando la opción Recuperar de puerto del certificado de firmante.

Para recuperar el firmante del puerto utilizando la consola administrativa:
  1. Pulse Seguridad > Gestión de claves y certificados SSL > Almacenes de claves y certificados.
  2. Seleccione el almacén de confianza del servidor de la colección.
  3. En Propiedades Adicionales, seleccione Certificados de firmante.
  4. Pulse Recuperar de puerto.
  5. Especifique un nombre de host de destino y un nombre de puerto de destino.
  6. Especifique un nombre de alias para el certificado.
  7. Pulse Recuperar información de firmante.
  8. Pulse Aceptar para guardar.

También puede utilizar el mandato retrieveSignerFromPort para recuperar el firmante del puerto. Lea en el grupo de mandatos SignerCertificateCommands el objeto AdminTask para obtener más información sobre este mandato.

Configuración de un navegador para la autenticación de cliente:

Cuando se configura WebSphere Application Server para la autenticación de certificados de cliente y se intenta acceder al servidor desde un navegador, el navegador debe tener un certificado para la autenticación de certificados de cliente. Si la configuración SSL predeterminada del servidor se ha modificado para habilitar la autenticación de certificados de cliente, no podrá iniciar una sesión en la consola administrativa.

Puede crear un certificado para el navegador utilizando la consola administrativa. Primero debe crear un almacén de claves y, a continuación, crear un certificado encadenado. Una vez que se haya creado el certificado, utilice las instrucciones del navegador para importar un certificado. Los navegadores requieren que se añadan todas las partes de la cadena para verificar el certificado, por lo que se debe extraer el certificado raíz y añadirlo al navegador. Siga las instrucciones de la sección "Configuración del lado del cliente para la autenticación de cliente" para obtener información sobre cómo extraer el certificado raíz.

Para crear un almacén de claves utilizando la consola administrativa:
  1. Pulse Seguridad > Gestión de claves y certificados SSL > Almacenes de claves y certificados.
  2. Pulse Nuevo.
  3. Especifique un nombre para el almacén de claves.
  4. Especifique la vía de acceso completa al archivo del almacén de claves.
  5. Especifique una contraseña para el almacén de claves y, a continuación, confírmela.
  6. Pulse Aceptar para guardar.
Para crear un certificado encadenado utilizando la consola administrativa:
  1. Pulse Seguridad > Gestión de claves y certificados SSL > Almacenes de claves y certificados.
  2. Seleccione el almacén de claves que ha creado anteriormente.
  3. En Propiedades adicionales, pulse Certificados personales.
  4. En la lista desplegable debajo del botón Crear, seleccione Certificado encadenado.
  5. Especifique un nombre de alias para el certificado.
  6. Proporcione un nombre común para el certificado. El nombre es la parte "CN=" del DN de sujeto.
  7. Puede especificar información en cualquiera de los campos restantes para crear el DN del sujeto del certificado encadenado.
  8. Pulse Aceptar para guardar.

También puede utilizar el mandato createKeyStore para crear un almacén de claves. Lea en el grupo de mandatos KeyStoreCommands el objeto AdminTask para obtener más información sobre este mandato.

También puede utilizar el mandato createChainedCertificate para crear un certificado encadenado. Lea en el grupo de mandatos PersonalCertificateCommands el objeto AdminTask para obtener más información sobre este mandato.

Nota: Cuando la autenticación de certificado de cliente está habilitada, la autenticación de certificados web se puede realizar como se describe en la sección siguiente.

Autenticación de certificado de cliente

La autenticación básica de certificado se puede realizar en módulos web Java 2 Platform, Enterprise Edition (J2EE) cuando el módulo está configurado para la autenticación de certificados de cliente. Esto permite que un usuario inicie sesión en un módulo web utilizando un certificado para la autenticación, y correlacionar ese certificado con un usuario del registro.

La habilitación de la autenticación de certificados web requiere que la configuración SSL del servidor esté configurada para la autenticación de certificados del cliente en el servidor en el que está instalado el módulo.

El lado del servidor determina que la autenticación de cliente se va a llevar a cabo. Consulte la sección "Configuración de un servidor WebSphere para la autenticación de cliente" para obtener información sobre cómo configurar la autenticación de cliente. El lado del cliente debe tener el firmante del servidor para añadir al almacén de confianza del cliente. Consulte la sección "Configuración del lado del cliente para la autenticación de cliente" para obtener más información.

El archivo web.xml del módulo web debe tener el método de autenticación establecido en CLIENT-AUTH en la sección de configuración de inicio de sesión del archivo web.xml:

<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>

El certificado debe correlacionarse con un usuario del registro o no podrá iniciar sesión en dicho módulo web.

Para los registros de usuarios localOS, el valor de CN del DN de sujeto de certificado se debe correlacionar con un usuario del registro de usuarios del sistema operativo local. Por ejemplo, si el nombre distinguido de sujeto es CN=tester, o= ibm,c = us, entonces tester será el usuario del cual se ha realizado una búsqueda en el registro de usuarios local. Si ese usuario no existe en el registro local, la autenticación falla.

El registro de usuarios de LDAP (Lightweight Directory Access Protocol) proporciona más opciones para la correlación de certificados con una identidad de usuario. La modalidad de correlación de certificados predeterminada en LDAP se utiliza para una coincidencia exacta de nombre distinguido la entrada en el registro LDAP y el nombre distinguido de sujeto en el certificado. Por ejemplo, si el nombre distinguido del certificado es CN=user1, o= ibm,c = us, deberá haber una entrada en el registro LDAP con dicho valor exacto. El registro de usuarios LDAP también tiene una opción de filtro de certificados que puede proporcionar una coincidencia con una parte concreta del nombre distinguido de sujeto de certificado con entradas en el repositorio LDAP. Para obtener más detalles sobre la correlación de certificados LDAP, lea "Valores de la Configuración del repositorio LDAP (Lightweight Directory Access Protocol)".

En una configuración de repositorios federados, de forma predeterminada, el inicio de sesión de certificados de cliente no recibe soporte para el repositorio basado en archivos. Para habilitar el soporte para la correlación de certificados en el repositorio basado en archivos, siga el procedimiento en el tema sobre cómo habilitar el soporte de inicio de sesión de certificado cliente en un repositorio basado en archivos de repositorios federados.

El registro LDAP del repositorio federado da soporte a la correlación de certificados. Utiliza las mismas reglas y propiedades de correlación que el registro de usuarios LDAP utiliza.

El registro de usuarios personalizado puede correlacionar certificados con un usuario si el registro personalizado ha implementado el método mapCertificate().


Icon that indicates the type of topic Concept topic



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