La función de autenticación del certificado del dispositivo cliente permite configurar la autenticación de certificados de sistemas cliente en Horizon Client para Linux. Unified Access Gateway autentica los sistemas cliente. La biblioteca SoftHSM2 administra la distribución e implementación de certificados en el sistema cliente. Una vez autenticado el dispositivo, el usuario debe seguir realizando la autenticación de usuario.

Requisitos previos

Esta función también cuenta con los siguientes requisitos.

  • Unified Access Gateway 2.6 o versiones posteriores
  • El sistema cliente está equipado con un certificado de entidad de certificación (CA) raíz que Unified Access Gateway acepta

Para obtener información sobre cómo configurar Unified Access Gateway, consulte la documentación de Unified Access Gateway.

Configurar el sistema cliente Linux para la autenticación de certificados de dispositivo

Para configurar la autenticación de certificados de dispositivo, debe realizar las siguientes tareas de alto nivel:

  • Instale la biblioteca SoftHSM2 en el sistema cliente.
  • Cree un token criptográfico para la biblioteca SoftHSM2.
  • Prepare el certificado del dispositivo y las claves públicas y privadas.
  • Importe el archivo con el certificado y las claves a la base de datos de SoftHSM2.
  • Configure la biblioteca SoftHSM2 para que la utilice Horizon Client.

El siguiente procedimiento proporciona directrices para completar la configuración en un sistema cliente Linux general. Los pasos específicos pueden variar en función de la distribución de Linux.

Nota: La autenticación de certificados de dispositivo también se admite en clientes ligeros que ejecutan Paradox Becrypt. Para obtener información sobre la configuración, consulte la documentación de Paradox Becrypt.
  1. Instale la biblioteca SoftHSM2 en el sistema cliente Linux mediante uno de los siguientes métodos.
    1. Método 1: Usar las herramientas de administración de paquetes.
      Por ejemplo, en un sistema Ubuntu, puede ejecutar el siguiente comando.
      sudo apt-get install softhsm2
    2. Método 2: Compilar e instalar la biblioteca SoftHSM2 de forma manual.
      1. Clone el repositorio de código fuente de SoftHSM2 en el sistema.
        git clone https://github.com/opendnssec/SoftHSMv2.git
      2. Compile, configure e instale la biblioteca SoftHSM2 a partir del código fuente clonado.
        Nota: Horizon Client instala su propia biblioteca OpenSSL y también consume la biblioteca OpenSSL que está vinculada a SoftHSM2. Para evitar conflictos durante el tiempo de ejecución, asegúrese de vincular SoftHSM2 a la misma biblioteca OpenSSL que instala Horizon Client.

        En el siguiente ejemplo de comando, <path to OpenSSL library> debe contener la ruta "include" y "lib".

        cd SoftHSMv2/
        sh autogen.sh
        ./configure --with-crypto-backend=openssl --with-openssl=<path to OpenSSL library>
        make
        sudo make install
        
  2. Cree un token criptográfico para la biblioteca SoftHSM2.

    De forma predeterminada, SoftHSM2 tiene una ranura de token. Cuando se inicializa un token en la primera ranura, se agrega automáticamente una segunda ranura. Las ranuras posteriores se agregan a medida que se inicializa un nuevo token en cada ranura.

    1. Ejecute el comando para crear el token.
      softhsm2-util --init-token --slot 0 --label "<your token label>"
    2. Anote el ID de ranura devuelto por el comando de creación del token. Necesitará este ID de ranura más adelante cuando importe archivos de claves y certificados de dispositivo X.509 a la base de datos de SoftHSM2.
  3. Prepare el certificado de dispositivo X.509 y las claves públicas y privadas.
    1. Obtenga el certificado de dispositivo en formato PFX, que contiene la clave privada.
    2. Convierta el archivo PFX a un archivo de claves en formato PEM. Por ejemplo, el siguiente comando transforma client.pfx en client-keys.pem.
      openssl pkcs12 -in client.pfx -nocerts -nodes -out client-keys.pem
    3. Convierta el archivo de claves PEM en un archivo de claves de PKCS8.
      openssl pkcs8 -in client-keys.pem -topk8 -nocrypt -out client-keys.pk8
    4. Convierta el archivo PFX a un certificado X.509 en formato DER.
      openssl pkcs12 -in client.pfx -nokeys -nodes -out client-cert.pem
      openssl x509 -outform der -in client-cert.pem -out client-cert.der
  4. Importe el archivo de claves y el certificado X.509 a la base de datos de certificados de SoftHSM2.
    1. Importe el archivo de claves a la base de datos de SoftHSM2.

      Por ejemplo, el siguiente comando importa el archivo client-key.pk8. Reemplace <su etiqueta de token> e <ID de ranura> por los valores del paso 2.

      softhsm2-util --import client-key.pk8 --token "<your token label>" --slot <slot ID> --label "client" --id 0001
    2. Importe el certificado X.509 a la base de datos de SoftHSM2.

      Por ejemplo, el siguiente comando importa el archivo client-cert.der. Reemplace <softhsm2-pin> por el PIN necesario para acceder a la base de datos de SoftHSM2.

      pkcs11-tool --module /usr/local/lib/softhsm/libsofthsm2.so -l -p <softhsm2-pin> --write-object client-cert.der --type cert --id 0001
    3. Compruebe que el certificado X.509, la clave pública y la clave privada están almacenados en la base de datos de SoftHSM2.
      pkcs11-tool --module /usr/local/lib/softhsm/libsofthsm2.so -l -p <softhsm2-pin> --token-label "<your token label>" --list-objects
  5. Configure la biblioteca SoftHSM2 para que la utilice Horizon Client.
    sudo mkdir /usr/lib/vmware/view/pkcs11
    sudo ln -s /usr/local/lib/softhsm/libsofthsm2.so /usr/lib/vmware/view/pkcs11/libsofhsm2.so

Compatibilidad con el modo de conformidad con FIPS

Si desea utilizar la autenticación de certificados de dispositivo en un entorno que sea compatible con el estándar federal de procesamiento de información (FIPS), primero debe completar los pasos descritos en Habilitar el modo compatible con FIPS. A continuación, siga el procedimiento de configuración que se describe en la sección anterior, Configurar el sistema cliente Linux para la autenticación de certificados de dispositivo, con la siguiente modificación.

Para compilar la biblioteca de SoftHSM2 con el modo de conformidad con FIPS, ejecute la siguiente secuencia de comandos.
cd SoftHSMv2/
sh autogen.sh
./configure --with-crypto-backend=openssl --with-openssl=<path to OpenSSL library>  --enable-fips
make
sudo make install
Nota: Si detecta problemas porque faltan encabezados durante la compilación, puede descargar el código fuente de los encabezados relacionados con FIPS desde www.openssl.org/source/. Copie los encabezados en la ruta que dirige a la biblioteca OpenSSL y repita la secuencia de comandos para compilar la biblioteca de SoftHSM2 con el modo de conformidad con FIPS.