Gestión de cifrado y certificados en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Septiembre de 2014
 
 

Prevención del uso de mecanismos

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.

Cómo evitar el uso de un mecanismo de nivel de usuario

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 .

  1. Muestre los mecanismos ofrecidos por un proveedor de software de nivel de usuario determinado.
    % 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,
    …
  2. Muestre los mecanismos que están disponibles para su uso.
    $ cryptoadm list -p
    user-level providers:
    =====================
    …
    /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled.
    random is enabled.
    …
  3. Desactive los mecanismos que no se deben utilizar.
    $ cryptoadm disable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so \
    > mechanism=CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB
  4. Muestre los mecanismos que están disponibles para su uso.
    $ 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.
Ejemplo 3-15  Activación de un mecanismo de proveedor de software de nivel de usuario

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:
…

Prevención del uso de un mecanismo de software de núcleo

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 .

  1. Muestre los mecanismos ofrecidos por un proveedor de software de núcleo determinado.
    $ 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
  2. Muestre los mecanismos que están disponibles para su uso.
    $ cryptoadm list -p provider=aes
    aes: all mechanisms are enabled.
  3. Desactive los mecanismos que no se deben utilizar.
    $ cryptoadm disable provider=aes mechanism=CKM_AES_ECB
  4. Muestre los mecanismos que están disponibles para su uso.
    $ cryptoadm list -p provider=aes
    aes: all mechanisms are enabled, except CKM_AES_ECB.
Ejemplo 3-18  Activación de un mecanismo de proveedor de software de núcleo

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 software

En 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 eliminado

En 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

Cómo desactivar funciones y mecanismos del proveedor de hardware

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 .

  • Seleccione los mecanismos o la función que desea desactivar.

    Muestre el proveedor de hardware.

    # cryptoadm list
    ...
    Kernel hardware providers:
    dca/0
    • Desactive los mecanismos seleccionados.
      # 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.
    • Desactive el generador de números aleatorios.
      # 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.
    • Desactive todos los mecanismos. No desactive el generador de números aleatorios.
      # 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.
    • Desactive todas las funciones y los mecanismos en el hardware.
      # 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.
Ejemplo 3-22  Activación de mecanismos y funciones en un proveedor de hardware

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.