Servidor criptográfico Utimaco CP5
EIDAS Esta es una característica eIDAS de EJBCA.
El Utimaco CryptoServer CP5 cuenta con la certificación Common Criteria según el perfil de protección eIDAS (PP) EN 419 221-5 “Módulo criptográfico para servicios de confianza”.
Configuración
Las siguientes secciones cubren información sobre la configuración del Utimaco CryptoServer CP5.
Clave de autenticación de HSM
La clave de autenticación del HSM, abreviada como HSMAuthKey, es utilizada por CryptoServer CP5 para autenticarse ante un usuario durante la fase de inicialización de una sesión de mensajería segura (canal seguro). Debe recuperar la parte pública de la clave de autenticación del HSM mediante el comando csadm GetHSMAuthKey y exportarla a un archivo de texto llamado <serial number>.key. La variable de entorno CS_AUTH_KEYS debe configurarse para que apunte al archivo de clave del número de serie. Este archivo puede contener varias entradas separadas por una línea en blanco, por ejemplo, si se implementa un clúster de CryptoServer CP5.
csadm GetHSMAuthKey > /opt/utimaco/auth/cs0000.keyecho 'export CS_AUTH_KEYS=/opt/utimaco/auth/cs0000.key' >> ~/.bashrcsource ~/.bashrc Asegúrese de exportar el entorno " CS_AUTH_KEYS " al servicio systemd de la aplicación web.
Archivo de configuración
El archivo de configuración PKCS#11 de CryptoServer cs_pkcs11_R2.cfg debe copiarse en /etc/utimaco/cs_pkcs11_R2.cfg .
Abra el archivo de configuración /etc/utimaco/cs_pkcs11_R2.cfg con un editor de texto y actualice el parámetro "SlotMultiSession" según el siguiente ejemplo. Opcionalmente, también se pueden modificar el nivel de registro, la ruta de salida del registro y los tiempos de espera.
[Global] Logpath = /tmp Logging = 0 Logsize = 10mb RandomizeKeyHandles = false SlotMultiSession = false SlotCount = 10 KeepLeadZeros = false FallbackInterval = 0 KeepAlive = false ConnectionTimeout = 5000 CommandTimeout = 60000 [CryptoServer] Device = TCP:3001@172.16.175.128 Generando claves
Al utilizar un token CP5 PKCS#11, primero cree claves utilizando el siguiente comando CLI P11Ng :
$EJBCA_HOME/dist/p11ng-cli/p11ng-cli.sh generatekeypairTenga en cuenta que cada CA debe tener su propia ranura, y cada ranura debe inicializarse antes de generar las claves. La inicialización incluye la configuración de un PIN de usuario para la ranura, que también requiere inicio de sesión. Las herramientas para la inicialización de la ranura deben ser proporcionadas por el proveedor del HSM; PrimeKey no las proporciona.
A continuación se muestra un ejemplo de generación de claves: generación y asociación de una "Clave de Autorización de Clave" con cada clave HSM y autorización de uso. Al inicializar la ranura con los dos primeros comandos p11tool2, se creará el usuario HSM USR_0000, que se utilizará en comandos posteriores. Puede listar usuarios con "csadm ListUsers"; consulte el manual de CryptoServerCP5 para obtener más información.
. /p11tool2 Slot=0 Label=RootCA Login=ADMIN, /opt/utimaco/ADMIN .key InitToken=officer1. /p11tool2 Slot=0 LoginSO=officer1 InitPin=user1$EJBCA_HOME /dist/p11ng-cli/p11ng-cli .sh generatekeypair --lib- file . /libcs_pkcs11_R2 .so --slot-ref SLOT_INDEX --slot 0 -- alias signKey --key-spec RSA2048 --key-usage SIGNEnter slot login password:Generated key pair with alias signKey$EJBCA_HOME /dist/p11ng-cli/p11ng-cli .sh initializekey --lib- file . /libcs_pkcs11_R2 .so --slot-ref SLOT_INDEX --slot 0 -- alias signKey --user USR_0000 --padding-scheme PKCS1 --kak-size 2048 --kak- file -path ~ /kakEnter slot login password:Successfully initialized the key on the HSM!$EJBCA_HOME /dist/p11ng-cli/p11ng-cli .sh authorizekey --lib- file . /libcs_pkcs11_R2 .so --slot-ref SLOT_INDEX --slot 0 -- alias signKey --user USR_0000 --padding-scheme PKCS1 --kak- file -path ~ /kakEnter slot login password:Successfully authorized the key on the HSM!$EJBCA_HOME /dist/p11ng-cli/p11ng-cli .sh generatekeypair --lib- file . /libcs_pkcs11_R2 .so --slot-ref SLOT_INDEX --slot 0 -- alias defaultKey --key-spec RSA2048 --key-usage SIGNEnter slot login password:Generated key pair with alias defaultKey$EJBCA_HOME /dist/p11ng-cli/p11ng-cli .sh initializekey --lib- file . /libcs_pkcs11_R2 .so --slot-ref SLOT_INDEX --slot 0 -- alias defaultKey --user USR_0000 --padding-scheme PKCS1 --kak-size 2048 --kak- file -path ~ /kakEnter slot login password:Successfully initialized the key on the HSM!$EJBCA_HOME /dist/p11ng-cli/p11ng-cli .sh authorizekey --lib- file . /libcs_pkcs11_R2 .so --slot-ref SLOT_INDEX --slot 0 -- alias defaultKey --user USR_0000 --padding-scheme PKCS1 --kak- file -path ~ /kakEnter slot login password:Successfully authorized the key on the HSM!$EJBCA_HOME /dist/p11ng-cli/p11ng-cli .sh generatekeypair --lib- file . /libcs_pkcs11_R2 .so --slot-ref SLOT_INDEX --slot 0 -- alias testKey --key-spec RSA2048 --key-usage SIGNEnter slot login password:Generated key pair with alias testKey$EJBCA_HOME /dist/p11ng-cli/p11ng-cli .sh initializekey --lib- file . /libcs_pkcs11_R2 .so --slot-ref SLOT_INDEX --slot 0 -- alias testKey --user USR_0000 --padding-scheme PKCS1 --kak-size 2048 --kak- file -path ~ /kakEnter slot login password:Successfully initialized the key on the HSM!$EJBCA_HOME /dist/p11ng-cli/p11ng-cli .sh authorizekey --lib- file . /libcs_pkcs11_R2 .so --slot-ref SLOT_INDEX --slot 0 -- alias testKey --user USR_0000 --padding-scheme PKCS1 --kak- file -path ~ /kakEnter slot login password:Successfully authorized the key on the HSM! Lista de objetos
Para ver los objetos PKCS#11 creados, ejecute lo siguiente:
$EJBCA_HOME /dist/p11ng-cli/p11ng-cli .sh listobjects --lib- file . /libcs_pkcs11_R2 .so --slot-ref SLOT_INDEX --slot 0 Propiedades de ejemplo
A continuación se muestra un ejemplo de las propiedades (catoken.properties) para el token PKCS#11 al crear una nueva CA mediante la CLI:
sharedLibrary /opt/utimaco/p11/libcs2_pkcs11.so slotLabelType=SLOT_NUMBER slotLabelValue=0 pin user1 defaultKey defaultKey certSignKey signKey crlSignKey signKey testKey testKeyTambién puede crear tokens criptográficos en la interfaz de administración, asegúrese de que ' CS_AUTH_KEYS ' esté configurado para el servidor de aplicaciones en ejecución.
Emulador de LAN de CryptoServer
El emulador Utimaco para su HSM LAN CryptoServer se puede usar para pruebas y desarrollo. Si tiene el kit de emulación, consulte la información en doc/howto/cryptoserver-lan-emulator.txt con instrucciones sobre cómo usarlo con EJBCA.
Para comprobar el estado de un dispositivo LAN CryptoServer, ejecute el emulador con un comando según el siguiente ejemplo:
. /csadm Device=TCP:3001@172.16.175.128 GetState