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

Salir de la Vista de impresión

Actualización: Septiembre de 2014
 
 

Lista de proveedores disponibles

Los proveedores de hardware se ubican y cargan automáticamente. Para obtener más información, consulte la página del comando man driver.conf(4).

Cuando cuenta con hardware que piensa conectar a la estructura criptográfica, el hardware se registra con el SPI en el núcleo. La estructura comprueba que el controlador de hardware esté registrado. Específicamente, la estructura comprueba que el archivo de objeto del controlador esté registrado con un certificado emitido por Oracle.

Por ejemplo, la placa Sun Crypto Accelerator 6000 (mca), el controlador ncp para el acelerador criptográfico en los procesadores UltraSPARC T1 y T2 (ncp), el controlador n2cp para los procesadores UltraSPARC T2 (n2cp) y el controlador /dev/crypto para los sistemas T-Series conectan los mecanismos de hardware a la estructura.

Para obtener información sobre cómo registrar a su proveedor, consulte la información sobre el comando elfsign en Comandos de nivel de usuario de la estructura criptográfica.

Para ver los proveedores disponibles, utilice los comandos cryptoadm list con opciones diferentes en función de la información específica que desee obtener.

  • Lista de todos los proveedores en el sistema.

    El contenido y el formato de la lista de proveedores varía para las distintas versiones y plataformas de Oracle Solaris. Ejecute el comando cryptoadm list en el sistema, para ver los proveedores que admite el sistema. Sólo los mecanismos en el nivel de usuario están disponibles para ser utilizados directamente por los usuarios comunes.

    % cryptoadm list
    User-level providers:  /* for applications */
    Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
    Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
    Provider: /usr/lib/security/$ISA/pkcs11_tpm.so
    
    Kernel software providers:  /* for IPsec, kssl, Kerberos */
    des
    aes
    arcfour
    blowfish
    camellia
    ecc
    sha1
    sha2
    md4
    md5
    rsa
    swrand
    n2rng/0 /* for hardware */
    ncp/0
    n2cp/0
    
  • Lista de los proveedores y sus mecanismos en la estructura criptográfica.

    Puede ver la potencia y los modos, como ECB y CBC, de los mecanismos disponibles. Sin embargo, es posible que algunos de los mecanismos de la lista no estén disponibles para su uso. Consulte el siguiente elemento para obtener instrucciones sobre cómo enumerar los mecanismos que se pueden utilizar.

    La siguiente salida se trunca con fines de visualización.

    % cryptoadm list -m [provider=provider]
    User-level providers:
    =====================
    
    Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
    
    Mechanisms:
    CKM_DSA
    CKM_RSA_X_509
    CKM_RSA_PKCS
    ...
    CKM_SHA256_HMAC_GENERAL
    CKM_SSL3_MD5_MAC
    
    Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
    Mechanisms:
    CKM_DES_CBC
    CKM_DES_CBC_PAD
    CKM_DES_ECB
    CKM_DES_KEY_GEN
    CKM_DES_MAC_GENERAL
    ...
    CKM_ECDSA_SHA1
    CKM_ECDH1_DERIVE
    
    Provider: /usr/lib/security/$ISA/pkcs11_tpm.so
    /usr/lib/security/$ISA/pkcs11_tpm.so: no slots presented.
    
    Kernel providers:
    ==========================
    des: CKM_DES_ECB,CKM_DES_CBC,CKM_DES3_ECB,CKM_DES3_CBC
    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
    arcfour: CKM_RC4
    blowfish: CKM_BLOWFISH_ECB,CKM_BLOWFISH_CBC
    ecc: CKM_EC_KEY_PAIR_GEN,CKM_ECDH1_DERIVE,CKM_ECDSA, \
         CKM_ECDSA_SHA1
    sha1: CKM_SHA_1,CKM_SHA_1_HMAC,CKM_SHA_1_HMAC_GENERAL
    sha2: CKM_SHA224,CKM_SHA224_HMAC,...CKM_SHA512_256_HMAC_GENERAL
    
    md4: CKM_MD4
    md5: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL
    rsa: CKM_RSA_PKCS,CKM_RSA_X_509,CKM_MD5_RSA_PKCS, \
         CKM_SHA1_RSA_PKCS,CKM_SHA224_RSA_PKCS,
    CKM_SHA256_RSA_PKCS,CKM_SHA384_RSA_PKCS,CKM_SHA512_RSA_PKCS
    swrand: No mechanisms presented.
    n2rng/0: No mechanisms presented.
    ncp/0: CKM_DSA,CKM_RSA_X_509,CKM_RSA_PKCS,CKM_RSA_PKCS_KEY_PAIR_GEN,
    CKM_DH_PKCS_KEY_PAIR_GEN,CKM_DH_PKCS_DERIVE,CKM_EC_KEY_PAIR_GEN,
    CKM_ECDH1_DERIVE,CKM_ECDSA
    n2cp/0: CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB,CKM_DES3_CBC, \
         ...CKM_SSL3_SHA1_MAC
    
  • Lista de los mecanismos criptográficos disponibles.

    La política determina qué mecanismos están disponibles para su uso. El administrador define la política. Un administrador puede elegir desactivar los mecanismos de un proveedor determinado. La opción –p muestra la lista de los mecanismos permitidos por la política que el administrador ha definido.

    % cryptoadm list -p [provider=provider]
    User-level providers:
    =====================
    /usr/lib/security/$ISA/pkcs11_kernel.so: \
         all mechanisms are enabled.random is enabled.
    /usr/lib/security/$ISA/pkcs11_softtoken.so: \
         all mechanisms are enabled, random is enabled.
    /usr/lib/security/$ISA/pkcs11_tpm.so: all mechanisms are enabled.
    Kernel providers:
    ==========================
    des: all mechanisms are enabled.
    aes: all mechanisms are enabled.
    arcfour: all mechanisms are enabled.
    blowfish: all mechanisms are enabled.
    ecc: all mechanisms are enabled.
    sha1: all mechanisms are enabled.
    sha2: all mechanisms are enabled.
    md4: all mechanisms are enabled.
    md5: all mechanisms are enabled.
    rsa: all mechanisms are enabled.
    swrand: random is enabled.
    n2rng/0: all mechanisms are enabled. random is enabled.
    ncp/0: all mechanisms are enabled.
    n2cp/0: all mechanisms are enabled.

Los siguientes ejemplos muestran usos específicos adicionales del comando cryptoadm list.

Ejemplo 3-11  Lista de información criptográfica de un proveedor específico

Especificar el proveedor en el comando cryptoadm options limita la salida sólo a información aplicable al proveedor.

# 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.

La siguiente salida muestra sólo que los mecanismos están activados. El generador aleatorio continúa desactivado.

# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled, except CKM_MD5,CKM_MD5_HMAC,....

# cryptoadm enable provider=dca/0 mechanism=all
# cryptoadm list -p provider=dca/0
dca/0: all mechanisms are enabled. random is disabled.

En la salida siguiente, se muestra que todas las funciones y los mecanismos de la placa están activados.

# cryptoadm list -p provider=dca/0
dca/0: all mechanisms ar 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.
Ejemplo 3-12  Búsqueda sólo de mecanismos criptográficos de nivel de usuario

En el siguiente ejemplo, se muestran todos los mecanismos que ofrece la biblioteca de nivel de usuario, pkcs11_softtoken.

% cryptoadm list -m provider=/usr/lib/security/\
   $ISA/pkcs11_softtoken.so
Mechanisms:
CKM_DES_CBC
CKM_DES_CBC_PAD
CKM_DES_ECB
CKM_DES_KEY_GEN
CKM_DES_MAC_GENERAL
CKM_DES_MAC
…
CKM_ECDSA
CKM_ECDSA_SHA1
CKM_ECDH1_DERIVE
Ejemplo 3-13  Determinación de qué mecanismo criptográfico realiza cada función

Los mecanismos realizan funciones criptográficas específicas, como la firma o generación de claves. Las opciones –v y –m muestran cada mecanismo y sus funciones.

En esta instancia, el administrador desea determinar para qué funciones los mecanismos CKM_ECDSA* se pueden utilizar.

% cryptoadm list -vm
User-level providers:
=====================
Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
Number of slots: 3
Slot #2
Description: ncp/0 Crypto Accel Asym 1.0
...
CKM_ECDSA                    163  571  X  .  .  .  X  .  X  .  .  .  .  .  .  .
...

Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
...
CKM_ECDSA       112 571  .  .  .  .  X  .  X  .  .  .  .  .  .  .  .
CKM_ECDSA_SHA1  112 571  .  .  .  .  X  .  X  .  .  .  .  .  .  .  .
...
Kernel providers:
=================
...
ecc: CKM_EC_KEY_PAIR_GEN,CKM_ECDH1_DERIVE,CKM_ECDSA,CKM_ECDSA_SHA1
...

    La lista indica que estos mecanismos están disponibles de los siguientes proveedores de nivel de usuario:

  • CKM_ECDSA y CKM_ECDSA_SHA1: como una implementación de software en la biblioteca /usr/lib/security/$ISA/pkcs11_softtoken.so.

  • CKM_ECDSA: acelerado por ncp/0 Crypto Accel Asym 1.0 en la biblioteca /usr/lib/security/$ISA/pkcs11_kernel.so.

    Cada artículo en una entrada representa una parte de la información sobre el mecanismo. Para estos mecanismos ECC, la lista indica lo siguiente:

  • Longitud mínima: 112 bytes.

  • Longitud máxima: 571 bytes.

  • Hardware: está disponible o no está disponible en el hardware.

  • Cifrar: no se utiliza para cifrar datos.

  • Descifrar: no se utiliza para descifrar datos.

  • Resumir: no se utiliza para crear resúmenes de mensajes.

  • Firmar: se utiliza para firmar datos.

  • Firmar + recuperar: no se utiliza para firmar datos, donde los datos se pueden recuperar de la firma.

  • Verificar: se utiliza para verificar datos firmados.

  • Verificar + recuperar: no se utiliza para verificar los datos que se pueden recuperar de la firma.

  • Generación de claves: no se utiliza para generar una clave privada.

  • Generación de par: no se utiliza para generar un par de claves.

  • Ajustar: no se utiliza para ajustar. Es decir, cifrar una clave existente.

  • Desajustar: no se utiliza para desajustar una clave ajustada.

  • Derivar: no se utiliza para derivar una nueva clave de una clave de base.

  • Funciones EC: funciones EC ausentes que no se tratan en elementos anteriores.