Gestion du chiffrement et des certificats dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Septembre 2014
 
 

Prévention de l'utilisation des mécanismes

Si certains des mécanismes cryptographiques provenant d'un fournisseur de bibliothèques ne doivent pas être utilisés, vous pouvez supprimer les mécanismes sélectionnés. Vous pouvez envisager d'empêcher l'utilisation de mécanismes si, par exemple, le même mécanisme dans une autre bibliothèque fonctionne mieux, ou si une vulnérabilité de sécurité est en cours d'étude.

Si la structure cryptographique fournit plusieurs modes d'un fournisseur tel qu'AES, vous pouvez supprimer un mécanisme lent ou endommagé. Vous pouvez également avoir recours à cette procédure pour supprimer un algorithme avec des failles de sécurité avérées.

Vous pouvez désactiver de façon sélective des mécanismes et la fonction de nombres aléatoires à partir d'un fournisseur de matériel. Pour les réactiver, reportez-vous à l'Example 3–22. Le matériel de cet exemple, la carte Sun Crypto Accelerator 1000, fournit un générateur de nombres aléatoires.

Interdiction de l'utilisation d'un mécanisme au niveau de l'utilisateur

Avant de commencer

Vous devez vous connecter en tant qu'administrateur disposant du profil de droits Crypto Management (gestion de la cryptographie). Pour plus d'informations, reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .

  1. Répertoriez les mécanismes offerts par un fournisseur de logiciels particulier au niveau de l'utilisateur.
    % 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. Répertoriez les mécanismes disponibles pour l'utilisation.
    $ cryptoadm list -p
    user-level providers:
    =====================
    …
    /usr/lib/security/$ISA/pkcs11_softtoken.so: all mechanisms are enabled.
    random is enabled.
    …
  3. Désactivez les mécanismes qui ne doivent pas être utilisés.
    $ cryptoadm disable provider=/usr/lib/security/\$ISA/pkcs11_softtoken.so \
    > mechanism=CKM_DES_CBC,CKM_DES_CBC_PAD,CKM_DES_ECB
  4. Répertoriez les mécanismes disponibles pour l'utilisation.
    $ 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.
Exemple 3-15  Activation d'un mécanisme d'un fournisseur de logiciels au niveau de l'utilisateur

Dans l'exemple suivant, un mécanisme DES désactivé est de nouveau rendu disponible pour l'utilisation.

$ 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.
Exemple 3-16  Activation de tous les mécanismes d'un fournisseur de logiciels au niveau de l'utilisateur

Dans l'exemple suivant, tous les mécanismes de la bibliothèque au niveau de l'utilisateur sont activés.

$ 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.
Exemple 3-17  Suppression définitive d'une bibliothèque au niveau de l'utilisateur

Dans l'exemple suivant, une bibliothèque libpkcs11.so.1 est supprimée du répertoire /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:
…

Interdiction de l'utilisation d'un mécanisme de logiciel noyau

Avant de commencer

Vous devez vous connecter en tant qu'administrateur disposant du profil de droits Crypto Management (gestion de la cryptographie). Pour plus d'informations, reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .

  1. Répertoriez les mécanismes offerts par un fournisseur de logiciels noyau particulier.
    $ 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. Répertoriez les mécanismes disponibles pour l'utilisation.
    $ cryptoadm list -p provider=aes
    aes: all mechanisms are enabled.
  3. Désactivez le mécanisme qui ne doit pas être utilisé.
    $ cryptoadm disable provider=aes mechanism=CKM_AES_ECB
  4. Répertoriez les mécanismes disponibles pour l'utilisation.
    $ cryptoadm list -p provider=aes
    aes: all mechanisms are enabled, except CKM_AES_ECB.
Exemple 3-18  Activation d'un mécanisme d'un fournisseur de logiciels noyau

Dans l'exemple suivant, un mécanisme AES désactivé est de nouveau rendu disponible pour l'utilisation.

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.
Exemple 3-19  Suppression temporaire de la disponibilité d'un fournisseur de logiciels noyau

Dans l'exemple suivant, l'utilisation du fournisseur AES est temporairement rendue impossible. La sous-commande unload est utile pour empêcher le chargement automatique d'un fournisseur pendant que le fournisseur est en cours de désinstallation. Par exemple, la sous-commande unload peut être utilisée pour modifier un mécanisme de ce fournisseur.

$ 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

Le fournisseur AES reste indisponible jusqu'à l'actualisation de la structure cryptographique.

$ 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 consommateur de noyau utilise le fournisseur de logiciels noyau, le logiciel n'est pas déchargé. Un message d'erreur s'affiche et le fournisseur continue d'être disponible pour l'utilisation.

Exemple 3-20  Suppression définitive de la disponibilité du fournisseur de logiciels

Dans l'exemple suivant, l'utilisation du fournisseur AES est définitivement rendue impossible. Une fois supprimé, le fournisseur AES n'apparaît plus dans la liste des stratégies des fournisseurs de logiciels noyau.

$ 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 un consommateur de noyau utilise ce fournisseur de logiciels noyau, un message d'erreur s'affiche et le fournisseur continue d'être disponible pour l'utilisation.

Exemple 3-21  Réinstallation d'un fournisseur de logiciels noyau supprimé

Dans l'exemple suivant, le fournisseur de logiciels noyau AES est réinstallé. Pour réinstaller un fournisseur de noyau supprimé, vous devez énumérer les mécanismes à installer.

$ 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

Désactivation des mécanismes et fonctions d'un fournisseur de matériel

Avant de commencer

Vous devez vous connecter en tant qu'administrateur disposant du profil de droits Crypto Management (gestion de la cryptographie). Pour plus d'informations, reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .

  • Choisissez les mécanismes ou la fonction à désactiver.

    Répertoriez le fournisseur de matériel.

    # cryptoadm list
    ...
    Kernel hardware providers:
    dca/0
    • Désactivez les mécanismes sélectionnés.
      # 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.
    • Désactivez le générateur de nombres aléatoires.
      # 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.
    • Désactivez tous les mécanismes. Ne désactivez pas le générateur de nombres aléatoires.
      # 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.
    • Désactivez toutes les fonctions et tous les mécanismes sur le matériel.
      # 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.
Exemple 3-22  Activation des mécanismes et fonctions sur un fournisseur de matériel

Dans les exemples suivants, les mécanismes désactivés sur un élément matériel sont activés individuellement.

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

Dans l'exemple ci-dessous, seul le générateur aléatoire est activé.

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

Dans l'exemple ci-dessous, 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,….
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.

Dans l'exemple suivant, toutes les fonctions et tous les mécanismes de la carte sont activés.

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