Si algunos de los mecanismos criptográficos de un proveedor de biblioteca no se debe utilizar, puede eliminar los mecanismos seleccionados. Puede considerar impedir el uso de mecanismos si, por ejemplo, el mismo mecanismo de otra biblioteca funciona mejor o si una vulnerabilidad de seguridad se está investigando.
Si la estructura criptográfica proporciona múltiples modos de un proveedor como AES, puede eliminar un mecanismo lento para no utilizarlo o un mecanismo dañado. También puede utilizar este procedimiento para eliminar un algoritmo con vulnerabilidades de seguridad probadas.
Puede desactivar de manera selectiva los mecanismos y la función de números aleatorios de un proveedor de hardware. Para activarlos nuevamente, consulte Example 3–22. El hardware de este ejemplo, la placa Crypto Accelerator 1000 de Sun, proporciona un generador de números aleatorios.
Antes de empezar
Debe convertirse en un administrador con el perfil de derechos de gestión de criptografía asignado. Para obtener más información, consulte Uso de sus derechos administrativos asignados de Protección de los usuarios y los procesos en Oracle Solaris 11.2 .
% cryptoadm list -m provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES_KEY_GEN, CKM_DES3_CBC,CKM_DES3_CBC_PAD,CKM_DES3_ECB,CKM_DES3_KEY_GEN, CKM_AES_CBC,CKM_AES_CBC_PAD,CKM_AES_ECB,CKM_AES_KEY_GEN, …
$ cryptoadm list -p user-level providers: ===================== … /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled. random is enabled. …
$ cryptoadm disable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so \ > mechanism=CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB
$ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled, except CKM_DES_ECB,CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled.
En el ejemplo siguiente, un mecanismo DES desactivado se vuelve a poner a disposición para su uso.
$ cryptoadm list -m provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES_KEY_GEN, CKM_DES3_CBC,CKM_DES3_CBC_PAD,CKM_DES3_ECB,CKM_DES3_KEY_GEN, … $ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled, except CKM_DES_ECB,CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled. $ cryptoadm enable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so \ > mechanism=CKM_DES_ECB $ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled, except CKM_DES_CBC_PAD,CKM_DES_CBC. random is enabled.Ejemplo 3-16 Activación de todos los mecanismos de proveedor de software de nivel de usuario
En el siguiente ejemplo, todos los mecanismos de la biblioteca de nivel de usuario están activados.
$ cryptoadm enable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so all $ cryptoadm list -p provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled. random is enabled.Ejemplo 3-17 Eliminación permanente de una biblioteca de nivel de usuario
En el siguiente ejemplo, una biblioteca libpkcs11.so.1 se elimina del directorio /opt.
$ cryptoadm uninstall provider=/opt/lib/\$ISA/libpkcs11.so.1 $ cryptoadm list user-level providers: /usr/lib/security/$ISA/pkcs11_kernel.so /usr/lib/security/$ISA/pkcs11_softtoken.so /usr/lib/security/$ISA/pkcs11_tpm.so kernel providers: …
Antes de empezar
Debe convertirse en un administrador con el perfil de derechos de gestión de criptografía asignado. Para obtener más información, consulte Uso de sus derechos administrativos asignados de Protección de los usuarios y los procesos en Oracle Solaris 11.2 .
$ cryptoadm list -m provider=aes aes: CKM_AES_ECB,CKM_AES_CBC,CKM_AES_CTR,CKM_AES_CCM,CKM_AES_GCM, CKM_AES_GMAC,CKM_AES_CFB128,CKM_AES_XTS,CKM_AES_XCBC_MAC
$ cryptoadm list -p provider=aes aes: all mechanisms are enabled.
$ cryptoadm disable provider=aes mechanism=CKM_AES_ECB
$ cryptoadm list -p provider=aes aes: all mechanisms are enabled, except CKM_AES_ECB.
En el ejemplo siguiente, un mecanismo AES desactivado se vuelve a poner a disposición para su uso.
cryptoadm list -m provider=aes aes: CKM_AES_ECB,CKM_AES_CBC,CKM_AES_CTR,CKM_AES_CCM, CKM_AES_GCM,CKM_AES_GMAC,CKM_AES_CFB128,CKM_AES_XTS,CKM_AES_XCBC_MAC $ cryptoadm list -p provider=aes aes: all mechanisms are enabled, except CKM_AES_ECB. $ cryptoadm enable provider=aes mechanism=CKM_AES_ECB $ cryptoadm list -p provider=aes aes: all mechanisms are enabled.Ejemplo 3-19 Eliminación temporal de la disponibilidad de un proveedor de software de núcleo
En el siguiente ejemplo, se elimina temporalmente el proveedor AES para no utilizarlo. El subcomando unload es útil para evitar que un proveedor se cargue automáticamente mientras el proveedor se está desinstalando. Por ejemplo, se podría utilizar el subcomando unload al modificar un mecanismo de este proveedor.
$ cryptoadm unload provider=aes
$ cryptoadm list … Kernel software providers: des aes (inactive) arcfour blowfish ecc sha1 sha2 md4 md5 rsa swrand n2rng/0 ncp/0 n2cp/0
El proveedor AES no estará disponible hasta que la estructura criptográfica se haya refrescado.
$ svcadm refresh system/cryptosvc
$ cryptoadm list … Kernel software providers: des aes arcfour blowfish camellia ecc sha1 sha2 md4 md5 rsa swrand n2rng/0 ncp/0 n2cp/0
Si un consumidor de núcleo está utilizando el proveedor de software de núcleo, el software no se descarga. Se muestra un mensaje de error y el proveedor sigue estando disponible para su uso.
Ejemplo 3-20 Eliminación permanente de la disponibilidad de un proveedor de softwareEn el siguiente ejemplo, se elimina el proveedor AES para no utilizarlo. Una vez eliminado, el proveedor AES no aparece en la lista de la política de los proveedores de software de núcleo.
$ cryptoadm uninstall provider=aes
$ cryptoadm list … Kernel software providers: des arcfour blowfish camellia ecc sha1 sha2 md4 md5 rsa swrand n2rng/0 ncp/0 n2cp/0
Si el consumidor de núcleo está utilizando el proveedor de software de núcleo, se muestra un mensaje de error y el proveedor sigue estando disponible para su uso.
Ejemplo 3-21 Reinstalación de un proveedor de software de núcleo eliminadoEn el siguiente ejemplo, se reinstala el proveedor de software de núcleo AES. Para reinstalar un proveedor de núcleo que fue eliminado, debe enumerar los mecanismos que se instalarán.
$ cryptoadm install provider=aes \ mechanism=CKM_AES_ECB,CKM_AES_CBC,CKM_AES_CTR,CKM_AES_CCM, CKM_AES_GCM,CKM_AES_GMAC,CKM_AES_CFB128,CKM_AES_XTS,CKM_AES_XCBC_MAC
$ cryptoadm list … Kernel software providers: des aes arcfour blowfish camellia ecc sha1 sha2 md4 md5 rsa swrand n2rng/0 ncp/0 n2cp/0
Antes de empezar
Debe convertirse en un administrador con el perfil de derechos de gestión de criptografía asignado. Para obtener más información, consulte Uso de sus derechos administrativos asignados de Protección de los usuarios y los procesos en Oracle Solaris 11.2 .
Muestre el proveedor de hardware.
# cryptoadm list ... Kernel hardware providers: dca/0
# cryptoadm list -m provider=dca/0 dca/0: CKM_RSA_PKCS, CKM_RSA_X_509, CKM_DSA, CKM_DES_CBC, CKM_DES3_CBC random is enabled. # cryptoadm disable provider=dca/0 mechanism=CKM_DES_CBC,CKM_DES3_CBC # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled except CKM_DES_CBC,CKM_DES3_CBC. random is enabled.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled. # cryptoadm disable provider=dca/0 random # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is disabled.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled. # cryptoadm disable provider=dca/0 mechanism=all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are disabled. random is enabled.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled. # cryptoadm disable provider=dca/0 all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are disabled. random is disabled.
En los siguientes ejemplos, los mecanismos desactivados en una herramienta de hardware se activan de manera selectiva.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled except CKM_DES_ECB,CKM_DES3_ECB
. random is enabled. # cryptoadm enable provider=dca/0 mechanism=CKM_DES3_ECB # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled except CKM_DES_ECB. random is enabled.
En el ejemplo siguiente, sólo se activa el generador aleatorio.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,…. random is disabled. # cryptoadm enable provider=dca/0 random # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,…. random is enabled.
En el ejemplo siguiente, sólo se activan los mecanismos. El generador aleatorio continúa desactivado.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,…. random is disabled. # cryptoadm enable provider=dca/0 mechanism=all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is disabled.
En el ejemplo siguiente, se activan todas las funciones y los mecanismos de la placa.
# cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled, except CKM_DES_ECB,CKM_DES3_ECB. random is disabled. # cryptoadm enable provider=dca/0 all # cryptoadm list -p provider=dca/0 dca/0: all mechanisms are enabled. random is enabled.