Bases : algorithmes de clés, algorithmes de signature et algorithmes de hachage de signature

Lors de la planification d'une infrastructure à clé publique, la question se pose de savoir quels algorithmes cryptographiques celle-ci doit utiliser.

Les principes fondamentaux sont expliqués ci-après.

L'examen des procédés cryptographiques et leur évaluation en termes d'utilisabilité ne peuvent être qu'un instantané au moment de la publication de l'article. L'évaluation peut tout à fait être dépassée à l'avenir, par exemple en raison d'incidents de sécurité ou de progrès techniques.

Algorithme clé

Der Schlüsselalgorithmus bezeichnet den Algorithmus, mit welchem das kryptographische Schlüsselpaar des Zertifikats erzeugt wurde.

Depuis Windows Server 2008, les services de certificats Active Directory prennent en charge les algorithmes et longueurs de bits suivants :

Algorithme cléNotes
RSALongueur de bit librement sélectionnable (par pas de 64 bits).
Cependant, les longueurs de clé inférieures à 3000 bits ne devraient plus être utilisées aujourd'hui.
Voir aussi à ce sujet l'article "Quelles sont les longueurs de clé à utiliser pour les autorités de certification et les certificats ?„ .
ECDSA_P256 / ECDH_P256Longueur de clé de 256 bits (nistp256). Fait partie de la suite B de la NSA.
ECDSA_P384 / ECDH_P384 Longueur de clé de 384 bits (nistp384). Fait partie de la suite B de la NSA.
ECDSA_P521 / ECDH_P521Longueur de clé de 521 bits (nistp521). Pas Fait partie de la suite B de la NSA.
(par ailleurs, il s'agit de 521 Ce n'est pas une faute de frappe.

L'utilisation de courbes elliptiques pour les certificats ne les rend pas „ meilleures “ ou „ plus sûres “ que celles utilisant RSA. Le facteur décisif en termes de puissance cryptographique est dans les deux cas la longueur en bits ou la résilience correspondante aux attaques par force brute par rapport à la longueur en bits des clés symétriques.

La très bonne compatibilité dans le domaine des terminaux continue de plaider en faveur de l'utilisation du RSA.

La cryptographie à courbes elliptiques présente l'avantage d'être très efficace en termes de puissance de calcul requise (en particulier pour les clés de grande taille). Elle est donc particulièrement adaptée aux systèmes embarqués qui ne disposent pas d'une grande capacité de calcul.

En raison de la standardisation imminente des algorithmes résistants aux ordinateurs quantiques, la National Security Agency (NSA) recommande désormais de renoncer à des investissements importants pour convertir les PKI existantes en courbes elliptiques. Voir à ce sujet l'article „Principes de base : les courbes elliptiques en vue de leur utilisation dans l'infrastructure à clé publique„ .

algorithme de hachage de signature

Connaissez-vous TameMyCerts? TameMyCerts est un add-on pour l'autorité de certification Microsoft (Active Directory Certificate Services). Il étend la fonction de l'autorité de certification et permet de Application de la réglementationIl s'agit d'un logiciel de gestion des certificats qui permet d'automatiser l'émission de certificats en toute sécurité. TameMyCerts est unique dans l'écosystème Microsoft, a déjà fait ses preuves dans d'innombrables entreprises du monde entier et est disponible sous une licence libre. Il peut téléchargé via GitHub et être utilisé gratuitement. Une maintenance professionnelle est également proposée.

Der Signaturhashalgorithmus bezeichnet den Algorithmus, mit welchem die Prüfsumme des Zertifikats erzeugt wird, um dessen Authentizität festzustellen. Sie wird dann mit dem privaten Schlüssel der Zertifizierungsstelle unter Verwendung des Signaturalgorithmus verschlüsselt.

Les participants qui vérifient le certificat utilisent le même algorithme pour reproduire la somme de contrôle et la comparer à la signature de l'autorité de certification (voir également l'article „Bases de la cryptographie„ ).

Signature
algorithme de hachage
Description
MD5Classé comme dangereux, ne devrait plus être utilisé. Les attaques efficaces contre les PKI sont connues.
SHA1Classé comme non sécurisé, ne devrait plus être utilisé. Cependant, aucune attaque effective contre les PKI n'est connue à ce jour.
Paramètre par défaut jusqu'à Windows Server 2012 pour les nouvelles installations CA
SHA256Paramètre par défaut depuis Windows Server 2016 pour les nouvelles installations CA
Fait partie de la suite B de la NSA.
SHA384Fait partie de la suite B de la NSA.
SHA512Pas Fait partie de la suite B de la NSA.

algorithme de signature

L'algorithme de signature décrit la méthode utilisée par l'autorité de certification pour signer la somme de contrôle calculée par l'algorithme de hachage de signature à l'aide de sa clé privée. La partie vérificatrice doit utiliser le même algorithme pour pouvoir décrypter et vérifier la somme de contrôle à l'aide de la clé publique.

Le „ schéma de remplissage “ utilisé est particulièrement intéressant à cet égard. On utilise pour cela la norme PKCS#1, qui est implémentée en deux versions :

  • PKCS#1 version 1.5 (RFC 2313) est le paramètre par défaut pour les services de certificats Active Directory.
  • PKCS#1 version 2.1 (RFC 3447) a été adopté en 2003, notamment en raison d'une faille de sécurité découverte en 1998 (Bleichenbacher), et est utilisé depuis Windows Server 2008 avec la directive AlternateSignatureAlgorithm soutenu.

Même si la description précédente plaide clairement en faveur de l'utilisation de PKCS#1 2.1, il existe un argument décisif contre cette solution : la compatibilité. Certains fabricants, tels que Cisco, n'ont pas implémenté la version 2.1 dans leurs produits, ou ne l'ont pas fait de manière systématique, de sorte que les certificats signés avec PKCS#1 2.1 ne peuvent pas être utilisés avec leurs produits. Dans la pratique, cela signifie généralement que la version 1.5 continue d'être utilisée pour des raisons de compatibilité.

Selon les connaissances actuelles, l'attaque décrite par Bleichenbacher ne fonctionne toutefois pas contre les certificats, mais vise plutôt les connexions TLS, de sorte qu'il ne devrait y avoir aucun inconvénient à cet égard.

La directive AlternateSignatureAlgorithm se configure comme suit :

  • AlternateSignatureAlgorithm = 0 (ou omission de la directive) entraîne l'utilisation de PKCS#1 1.5.
  • AlternateSignatureAlgorithm = 1 entraîne l'utilisation de PKCS#1 2.1

Dans le dernier livre „officiel“ sur les services de certificats Microsoft Active Directory, „Sécurité de l'infrastructure de clés publiques et des certificats de Microsoft Windows Server 2008“Dans le livre de Brian Komar, on parle à tort de DiscreteSignatureAlgorithm, et les valeurs étaient exactement inversées. Au moment de l'impression du livre, c'était également correct, mais lors du passage de la version bêta de Windows Server 2008 à la version finale, la directive a été rebaptisée „AlternateSignatureAlgorithm“, y compris le fonctionnement inverse. Ainsi, PKCS#1 a continué à être utilisé par défaut dans la version 1.5 si la directive n'était pas explicitement configurée.

Exemples de différentes combinaisons

L'algorithme de signature affiché dans la boîte de dialogue Propriétés d'un certificat est déterminé par la combinaison des trois facteurs suivants :

  • Algorithme clé
  • algorithme de hachage de signature
  • Algorithme de signature (version PKCS#1)
PKCS#1
Version
Hachage
algorithme
Clé
algorithme
Affiché
Signature
algorithme
1.5SHA256RSAsha256RSA
2.1SHA256RSARSASSA-PSS
1.5SHA256ECDSA_P256sha256ECDSA
2.1SHA256ECDSA_P256ECDSA spécifié
Exemple : SHA256 avec clé RSA et PKCS#1 version 1.5
Exemple : SHA256 avec clé RSA et PKCS#1 version 2.1
Exemple : SHA256 avec clé ECC et PKCS#1 version 1.5
Exemple : SHA256 avec clé ECC et PKCS#1 version 2.1

Conclusion

Une hiérarchie courante des organismes de certification dans l'entreprise utilise généralement les paramètres suivants afin de garantir une compatibilité maximale tout en maintenant un niveau de sécurité élevé :

ParamètresValeur
Algorithme clé et longueur de bitRSA 4096 bits pour les certificats d'autorité de certification
RSA de 2048 à 4096 bits pour les certificats d'entité finale
algorithme de hachage de signatureSHA256
Algorithme de signature (version PKCS#1)PKCS#1 version 1.5
Exemple d'algorithmes utilisés dans une infrastructure PKI d'entreprise courante

Liens complémentaires

Sources externes

Les commentaires sont fermés.

fr_FRFrançais