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écifiqueLa 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_DERIVEExemple 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