Gestion du chiffrement et des certificats dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Septembre 2014
 
 

Affichage de la liste des fournisseurs disponibles

Les fournisseurs de matériel sont localisés et chargés automatiquement. Pour plus d'informations, reportez-vous à la page de manuel driver.conf(4).

Lorsque du matériel doit être connecté à la structure cryptographique, le matériel s'enregistre sur la SPI dans le noyau. La structure vérifie que le pilote matériel est signé. Plus précisément, la structure vérifie que le fichier d'objet du pilote est signé au moyen d'un certificat émis par Oracle.

Par exemple, la carte Sun Crypto Accelerator 6000 (mca), le pilote ncp pour l'accélérateur cryptographique sur les processeurs UltraSPARC T1 et T2 (ncp), le pilote n2cp pour les processeurs UltraSPARC T2 (n2cp) et le pilote /dev/crypto pour les systèmes de série T connectent les mécanismes matériels à la structure.

Pour plus d'informations sur l'obtention de votre fournisseur signé, reportez-vous aux informations relatives à la commande elfsign dans Commandes au niveau de l'utilisateur dans la structure cryptographique.

Pour répertorier les fournisseurs disponibles, vous utilisez les commandes cryptoadm list avec différentes options, selon les informations spécifiques que vous souhaitez obtenir.

  • Création d'une liste de tous les fournisseurs sur le système.

    Le contenu et le format de la liste de fournisseurs varient selon les versions d'Oracle Solaris et les plates-formes. Exécutez la commande cryptoadm list sur votre système pour afficher les fournisseurs que votre système prend en charge. Seuls les mécanismes au niveau de l'utilisateur sont disponibles pour l'utilisation directe par les utilisateurs standard.

    % 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
    
  • Création de la liste des fournisseurs et de leurs mécanismes dans la structure cryptographique.

    Vous pouvez afficher la force et les modes, tels qu'ECB et CBC, des mécanismes disponibles. Cependant, certains de ces mécanismes peuvent ne pas être disponibles pour l'utilisation. Reportez-vous à l'élément suivant pour obtenir des instructions sur l'affichage de la liste des mécanismes pouvant être utilisés.

    La sortie suivante est tronquée à des fins d'affichage.

    % 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
    
  • Création de la liste des mécanismes cryptographiques disponibles.

    La stratégie détermine quels mécanismes sont disponibles pour l'utilisation. L'administrateur définit la stratégie. Un administrateur peut choisir de désactiver des mécanismes à partir d'un fournisseur particulier. L'option –p affiche la liste des mécanismes autorisés par la stratégie définie par l'administrateur.

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

Les exemples suivants montrent des utilisations spécifiques supplémentaires de la commande cryptoadm list.

Exemple 3-11  Affichage de la liste des informations cryptographiques d'un fournisseur spécifique

La spécification du fournisseur dans la commande cryptoadm options limite la sortie uniquement aux informations qui s'appliquent au fournisseur.

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

Dans la sortie suivante, seuls les mécanismes sont activés. Le générateur aléatoire reste désactivé.

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

La sortie suivante montre que toutes les fonctions et tous les mécanismes de la carte sont activés.

# 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.
Exemple 3-12  Mécanismes cryptographique au niveau de la recherche de l'utilisateur uniquement

Dans l'exemple suivant, tous les mécanismes proposés par la bibliothèque au niveau de l'utilisateur, pkcs11_softtoken, sont répertoriés.

% 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
Exemple 3-13  Détermination des fonctions exécutées par les différents mécanismes cryptographiques

Les mécanismes exécutent des fonctions cryptographiques spécifiques, telles que la signature ou la génération de clé. Les options –v –m affichent tous les mécanismes et leurs fonctions.

Dans cet exemple, l'administrateur souhaite déterminer les fonctions pour lesquelles le mécanisme CKM_ECDSA* peut être utilisé.

% 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 liste indique que ces mécanismes sont disponibles à partir des fournisseurs au niveau de l'utilisateur suivants :

  • CKM_ECDSA et CKM_ECDSA_SHA1 : en tant que mise en oeuvre logicielle dans la bibliothèque /usr/lib/security/$ISA/pkcs11_softtoken.so

  • CKM_ECDSA : accéléré par ncp/0 Crypto Accel Asym 1.0 dans la bibliothèque /usr/lib/security/$ISA/pkcs11_kernel.so

    Chaque élément dans une entrée représente un élément d'information sur le mécanisme. Pour ces mécanismes ECC, la liste indique les éléments suivants :

  • Longueur minimale : 112 octets

  • Longueur maximale : 571 octets

  • Matériel : est ou n'est pas disponible sur le matériel

  • Chiffrer : n'est pas utilisé pour chiffrer les données.

  • Déchiffrer : n'est pas utilisé pour déchiffrer les données.

  • Résumé : n'est pas utilisé pour créer des résumés de message.

  • Signer : est utilisé pour signer les données.

  • Signer + récupérer : n'est pas utilisé pour signer les données, lorsque les données peuvent être récupérées à partir de la signature.

  • Vérifier : est utilisé pour vérifier les données signées.

  • Vérifier + récupérer : n'est pas utilisé pour vérifier les données qui peuvent être récupérées à partir de la signature.

  • Génération de clé : n'est pas utilisé pour générer une clé privée.

  • Génération de paire : n'est pas utilisé pour générer une paire de clés.

  • Encapsuler : n'est pas utilisé pour encapsuler c'est-à-dire, chiffrer, une clé existante.

  • Désencapsuler : n'est pas utilisé pour désencapsuler une clé encapsulée.

  • Dériver : n'est pas utilisé pour dériver une nouvelle clé à partir d'une clé de base.

  • Capacités EC : capacités EC (courbe elliptique) absentes qui ne sont pas couvertes par les éléments précédents