GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y usar SoftHSM en Ubuntu 16.04 LTS

Los tokens de hardware/software o los módulos de seguridad de hardware (HSM) se utilizan con diferentes aplicaciones para almacenar claves criptográficas (públicas y privadas) y certificados. Por ejemplo, NitroKey y Smartcard-HSM son un par de HSM. Sin embargo, también existen algunas alternativas de software como SoftHSM(v2), que, específicamente, se está desarrollando como parte del proyecto OpenDNSSEC.

SoftHSM es básicamente una implementación de un almacén criptográfico accesible a través de una interfaz PKCS #11. La interfaz PKCS#11 se utiliza para comunicar o acceder a dispositivos criptográficos como HSM (Hardware Security Modules) y tarjetas inteligentes. El objetivo principal de los dispositivos HSM es generar claves criptográficas y firmar/cifrar información sin revelar la clave privada a los demás.

Para brindarle información general rápida, los usuarios de OpenDNSSEC no podían comprar un nuevo token de hardware para el almacenamiento de claves criptográficas. Entonces, para contrarrestar este problema, OpenDNSSEC comenzó a proporcionar "SoftHSM", una implementación de software de un dispositivo criptográfico genérico con una interfaz PKCS#11. SoftHSM está diseñado para cumplir con los requisitos de OpenDNSSEC y también funciona con otros productos criptográficos.

Dependencias

Las bibliotecas criptográficas Botan u OpenSSL se pueden utilizar con el proyecto SoftHSM. Si utiliza Botan con SoftHSM, asegúrese de que sea compatible con GNU MP (--with-gump), algo que mejorará el rendimiento durante las operaciones de clave pública.

Instalación

SoftHSM está disponible en el sitio web de OpenDNSSEC y se puede descargar con el comando wget de la siguiente manera.

wget https://dist.opendnssec.org/source/softhsm-2.3.0.tar.gz

Ahora, extraiga el paquete usando el comando tar de la siguiente manera.

Después de la extracción, ejecute el script de configuración para verificar las dependencias del software SoftHSM.

./configure 

La siguiente instantánea muestra que el script de configuración muestra un error debido a que falta el paquete "Encabezado OpenSSL".

Resuelva esto, instale el paquete "openssl-dev" de la forma resaltada a continuación.

apt-get install openssl-dev

La salida del script de configuración muestra que todos los paquetes requeridos ahora están disponibles para la compilación de la herramienta.

La siguiente instantánea muestra las opciones disponibles para el script de configuración de la herramienta SoftHSM.

Se puede acceder a todas las opciones que ofrece el script de configuración a través del siguiente comando:

./configure --help 
--disable-ecc		Disable support for ECC (default enabled)
--disable-gost		Disable support for GOST (default enabled)
--disable-visibility	Disable hidden visibilty link mode [enabled]
--with-crypto-backend	Select crypto backend (openssl|botan)
--with-openssl=PATH	Specify prefix of path of OpenSSL
--with-botan=PATH	Specify prefix of path of Botan
--with-migrate		Build the migration tool. Used when migrating
			a SoftHSM v1 token database. Requires SQLite3
--with-objectstore-backend-db
			Build with database object store (SQLite3)
--with-sqlite3=PATH	Specify prefix of path of SQLite3
--disable-p11-kit	Disable p11-kit integration (default enabled)
--with-p11-kit=PATH	Specify install path of the p11-kit module, will
			override path given by pkg-config

Ahora, ejecute el comando make para compilar el código fuente de SoftHSM.

make 

A continuación, ejecute "make install command" para instalar la herramienta SoftHSM.

make install

Archivo de configuración

La ubicación predeterminada del archivo de configuración es /etc/softhsm2.conf que se puede cambiar configurando SOFTHSM2_CONF variable de entorno.

export SOFTHSM2_CONF=Path_of_SoftHSM_Conf_file

La configuración predeterminada de SoftHSM se muestra en la siguiente instantánea.

Inicializar token de software

El primer paso para utilizar SoftHSM es inicializarlo. Podemos usar la interfaz "softhsm2-util" o "PKCS#11" para inicializar el dispositivo. La siguiente instantánea muestra la inicialización del dispositivo SoftHSM.

 softhsm2-util --init-token --slot 0 --label "Token-1" 

El PIN del oficial de seguridad (SO) se usa para reinicializar el token y el PIN de usuario se entrega a la aplicación para que pueda interactuar con el token (como el uso con Mozilla Firefox). Por eso, establezca SO y PIN de usuario. Una vez que se ha inicializado un token, se agregarán automáticamente más ranuras a un nuevo token no inicializado. Los tokens inicializados se reasignarán a otra ranura según el número de serie del token. Se recomienda encontrar e interactuar con el token buscando la etiqueta del token o el número de serie en la lista de ranuras/información del token.

Otras opciones de "softhsm2-util" se muestran a continuación.

La siguiente instantánea muestra las ranuras del token.

Copia de seguridad

Todos los tokens y sus objetos se almacenan en la ubicación proporcionada por softhsm2.conf. Por lo tanto, la copia de seguridad se puede realizar como una copia de archivo normal.

SOFTHSM con Utilities OpenSC

En este tutorial, las utilidades PKCS11 del proyecto OpenSC se utilizan para acceder al dispositivo SoftHSM. Los detalles sobre la instalación y el uso de "OpenSC" están disponibles en el sitio de howtoforge.

apt-get install opensc

 

La siguiente instantánea muestra que el comando PKCS#11 se ejecuta en SoftHSM. El modificador "-t" se utiliza para probar el mecanismo de SoftHSM.

pkcs11-herramienta --módulo /usr/local/lib/softhsm/libsofthsm2.so -l -t

Conclusión

En este artículo, discutimos cómo la herramienta SoftHSM de HSM basada en software puede instalarse e inicializarse en la plataforma Ubuntu. Se puede configurar utilizando el estándar PKCS11 para que HSM/Smartcard acceda a los dispositivos.


Ubuntu
  1. Cómo instalar y usar Wine en Ubuntu 20.04

  2. Cómo instalar y usar iostat en Ubuntu 16.04 LTS

  3. Cómo instalar y usar Telnet en Ubuntu 20.04 LTS

  4. Cómo instalar Libreoffice 4.3 en Ubuntu 12.04 y 14.04 LTS

  5. Cómo instalar Libreoffice 4.4 en Ubuntu 15.04 y 14.04 LTS

Cómo instalar y usar Kontact en Ubuntu 20.04

Cómo instalar y usar iTunes en Ubuntu 20.04

Cómo instalar PHP 5.6, PHP 8.0 y PHP 8.1 en Ubuntu 20.04 LTS

Cómo instalar uTorrent en Ubuntu 16.04 LTS y Ubuntu 17.10

Cómo instalar y usar R en Ubuntu

Cómo instalar y usar Jenkins en Ubuntu 18.04 y 16.04 LTS