PKCS # 11 Desarrollo sin hardware: SoftHSM como tarjeta inteligente o sustitución de hardware HSM
A pedido de las personas que desean probar software de firma digital, y no disponen de un dispositivo hardware token, en este post te mostraré cómo tener tu SoftHSM instalado y configurado para usarlo como PKCS # 11 token.
¿Alguna vez has querido experimentar con PKCS # 11? El problema es que por lo general necesita un pedazo de hardware, que se puede tratar con PKCS # 11.
Antecedentes: PKCS # 11 (actual especificación) es un estándar para la criptografía asimétrica y define una interfaz para utilizar fichas criptográficas. Esto se puede usar, por ejemplo, para dirigir tarjetas inteligentes o tokens USB. Las tarjetas internas PCI de acelerador criptográfico con PKCS # 11 también están integradas en el entorno de la empresa.
Instalación
Descargue la última versión 2.0.0 de SoftHSM desde https://www.opendnssec.org/2015/07/softhsm-2-0-0/. (No olvide comprobar la firma o sumas de comprobación). Entonces el archivo tiene que ser desempaquetado y el conjunto compilado.
12345
$ tar xzf softhsm-2.0.0.tgz
$ cd softhsm-2.0.0/
$ ./configure
$ make
$ sudo make install
Con el ./configure uno todavía puede hacer algunos ajustes, que para mí, sin embargo, en la configuración estándar están perfectamente en orden. Así se utiliza OpenSSL y las claves se almacenan en forma de archivo. Para completar la compilación, necesita algunos paquetes:
Después de la instalación deberías poder llamar a softhsm2-util test-
12
$ softhsm2-util -v
2.0.0
configuración
Inmediatamente después de la instalación, la inicialización sin root no se puede realizar ya que no se puede acceder a la ruta predeterminada para almacenar el token. Por lo tanto, tienes que cambiar la configuración con sudo gedit /etc/softhsm2.conf a una ruta diferente:
Alternativamente, puede crear su propio archivo de configuración y publicar la ruta a él con la exportación SOFTHSM2_CONF = / home / user / config.file. En este archivo, puede especificar una ruta específica del usuario para almacenar los tokens.
Ahora puede configurar su token virtual. Tienes que asignar un usuario y un PIN. Cuando se utiliza el PIN de usuario para acceder al material clave, se utiliza el pin del agente de seguridad (SO) cuando desea restablecer el dispositivo o realizar otras tareas administrativas. Al final, el mensaje El token se ha inicializado. aparece.
12345678
$ softhsm2-util --init-token --slot 0 --label "wlami Token 1"
*** SO PIN (4-255 characters) ***
Please enter SO PIN:
Please reenter SO PIN:
*** User PIN (4-255 characters) ***
Please enter user PIN:
Please reenter user PIN:
The token has been initialized.
Con softhsm2-util --show-slots se puede comprobar el resultado. Los valores Token presente e Inicializado deben ser ambos establecidos en yes.
Ahora se puede usar el token. Para ello, normalmente necesita hacer referencia a la biblioteca específica de tokens en su aplicación que desea acceder al token. Para SoftHSM, esto es /usr/local/lib/softhsm/libsofthsm2.so. ¡Utilizo XCA para la gestión de claves y certificados, que también es compatible con PKCS # 11 y funciona maravillosamente con SoftHSM!
0 Comentarios:
Publicar un comentario