Cuentas del sistema
Toda configuración realizada mediante la consola Dinamocon de HSM se realizará en el ámbito del usuarioactual. Para configurar los parámetros de las cuentas del sistema, es necesario suplantar la ejecución de la consola en Windows bajo la cuenta en cuestión. Para ello se pueden utilizar herramientas proporcionadas por el propio Microsoft, fabricante del sistema operativo.
Las cuentas del sistema tratadas aquí son:
Sistema
(o SISTEMA), sid:S-1-5-18
ServicioLocal
(o SERVICIO LOCAL), sid:S-1-5-19
Servicio de red
(o SERVICIO DE RED), sid:S-1-5-20
Estrictamente hablando, no son exactamente cuentas de Windows, pero las llamaremos así para facilitar la comprensión.
Herramientas utilizadas
- Herramienta utilizada para la suplantación de identidad:
psexec64
de la suite PSTtools proporcionada por Microsoft. - DinamoSoftware cliente HSM:msi 64 bits, incluye consola de gestión GUI (Dinamocon).
- Utilidad para HSM Dinamo:
hsmutil
.
Procedimiento para asociar un certificado de una cuenta del sistema a una clave del HSM
Peligro
Advertencia: la ejecución con la identidad SYSTEM proporciona un acceso prácticamente ilimitado a todo el entorno y puede causar daños reales si se utiliza de forma inadecuada. Sea muy cauteloso al utilizar esta facilidad.
-
Creación de un terminal
cmd
bajo el perfil de una cuenta del sistema Windows. Ejecute el siguiente comando (dependiendo de la cuenta de interés) en un terminal (powershell o cmd) con elevación de privilegios administrativos:psexec64 -i -u "NT AUTHORITY\System" cmd
psexec64 -i -u "NT AUTHORITY\LocalService" cmd
psexec64 -i -u "NT AUTHORITY\NetworkService" cmd
Las cuentas deben tener exactamente estos nombres(en inglés) incluso en sistemas portugueses; aunque pueden mostrarse localizadas en ciertas utilidades de Windows (gui y cli).
Tenga en cuenta que estas cuentas no tienen contraseña. Si se le pide una, es probable que el nombre de la cuenta se esté introduciendo incorrectamente.
Ex:
> psexec64 -i -u "NT AUTHORITY\system" cmd PsExec v2.43 - Execute processes remotely Copyright (C) 2001-2023 Mark Russinovich Sysinternals - www.sysinternals.com . . . cmd lançado em outro terminal (interativo) ... . . . ... exit no terminal do cmd. cmd exited on MYHOST with error code 0. > _
El nuevo
cmd
iniciado se ejecutará bajo el perfil de la cuenta indicada, es decir, esta cuenta será la usuario actual para cualquier aplicación que se ejecute desde él. -
Ejecutar la consola GUI gestión de HSM de terminal
cmd
."\Program Files\Dinamo Networks\HSM Dinamo\dinamocon.exe"
La barra de título muestra la cuenta con la que se ejecuta la consola (v 4.8.0+).
En Configuración del entorno/MS CAPI/Contenedores marque o cree el contenedor e indique la clave privada que se utilizará. Anote el nombre del contenedor. Para más información consulte el tema específico Contenedores / Almacén de Certificados.
-
Ejecutar el gestor de certificados gui de de
cmd
.certmgr
Localice el certificado que se asociará y anote el hash del certificado (también llamado huella digital). El valor hash se utilizará más adelante, así que anótelo. Si aún no ha importado el certificado, puede hacerlo ahora utilizando el gestor.
También puede listar los certificados ejecutando la línea de comandos:
certutil -user -store "My"
-
Ejecutar, de de
cmd
la utilidad hsmutil para hacer la asociación entre un certificado en el almacén de certificados y una llave en el HSM:Ej. 1, para proveedor de CSP:
-conteiner
es un nombre de contenedor csp-keyspec
es el uso de la clave en el contenedor (firmar o intercambio_de_claves)
hsmutil -j cert-assign-key --csp "Dinamo HSM Cryptographic Provider" --store current_user --repo My --container prod --keyspec at_keyexchange --certhash 9A714AEFD314BE74C7953002A6FDC83248C7868A
Ej. 2, para proveedor de GNC (GNC habilitado):
-conteiner
es un nombre de clave en HSM-keyspec
égnc
(literal)
hsmutil -j cert-assign-key --csp "Dinamo HSM Cryptographic Provider" --store current_user --repo My --container mykey --keyspec cng --certhash 9A714AEFD314BE74C7953002A6FDC83248C7868A
-
Para realizar una prueba de firma a través de CSP/CNG puede utilizar hsmutil:
Ex:
cmd hsmutil -j cert-sign --store current_user --repo My --certhash 9979222498057bc1e2867da9c02dc500f080a264 --inform hex --in 1234EEFF BB187A708484AE518C527DBEF56C92F404ECF49EDCD7A5EFA7BBC0C19D67CBE7E8243F45164831F340A6FE59A805CC F4B90140C4AD7BD0C63D44AF7487DCA85521E191EF809BC1DF92232FE8DC5B74A9FE549417FE78B463FCC0D72FBA93 474072E8D7A6FC70E59C22879F2FCC71C43D0095F2D8A84392182AFE62DAAF7CF0D46238C9F41480576449557CE8A6 3DFCFDBCE6E66A9E13E48F7D82C0F5C50A05F350C0FFE1B06841FAA11D8F1E6C6E700665F5ECD72982DBF198F6E728 6997FE35E4984B7A5A59DDBDF6F84A4998343EF2E2C62DB45EE5A4BF954C6A57E572DA8ACB5008EAA25E363F0FCAF0 C1DF95204C4A68D57D4AEF31F737845329A2D0A980 Tiempo total: 125,84 ms (0,13 seg) [7,95 op/seg].