Ici on parle de cybersécurité, de Linux et d'open source.

OpenSSL 3.5.4 avec les algorithmes ML-DSA + RSA/ECDSA

⏱️ 4 min de lecture

Introduction

En septembre dernier, j’ai publié mon premier billet sur ce blogue [1] qui abordait le Q-Day et la cryptographie à l’ère du quantique.

Dans ce billet, je vais vous démontrer qu’il est maintenant possible de déployer un PKI (Public Key Infrastructure) postquantique à l’aide d’OpenSSL version 3.5.4, des algorithmes ML-DSA du module oqsprovider (Open Quantum Safe provider) et de quelques lignes de code en Bash pour orchestrer le tout.

Comment j’ai structurer le script Bash ?

J’ai codé mon script pour répondre à plusieurs besoins qui sont:

  • D’automatiser l’installation d’un environnement PKI privé Postquantique complet, sans forcément suivre les meilleures pratiques, car le CA racine et le CA intermédiaire sont installés sur la même machine. Pour un lab de test c’est correct ! 😃

  • D’avoir la capacité de faire la gestion des certificats (Générer, révoquer, vérifier, mais aussi de les lister)

  • De pouvoir créer et restaurer des sauvegardes chiffrées

  • D’afficher le statut de la PKI

Les algorithmes ML-DSA c’est quoi ?

ML-DSA pour Module-Lattice Digital Signature Algorithm est un des algorithmes postquantique standardisé par le NIST [2] en 2024.

Les Algorithmes Hybrides de Signature supportées par la PLI sont:

  • p256_mldsa44 @ oqsprovider

  • rsa3072_mldsa44 @ oqsprovider

  • p384_mldsa65 @ oqsprovider

  • p521_mldsa87 @ oqsprovider

P-xxx, fait référence aux courbes elliptiques définies par le NIST (National Institute of Standards and Technology) & ML-DSA-xx, fait référence aux niveaux de sécurité et aux paramètres spécifiques de l’algorithme de signature de niveau PQ2 à PQ5 [3]

Les algorithmes Frodo,ML-KEM,BIKE c’est quoi ?

  • x25519_frodo640aes @ oqsprovider

  • x25519_frodo640shake @ oqsprovider

  • x25519_mlkem512 @ oqsprovider

  • x25519_bikel1 @ oqsprovider

X25519 fait référence à l’algorithme classique éponyme qui est basé sur l’échange de clés Diffie-Hellman sur courbe elliptique (ECDH), standardisé dans la RFC 7748. [4]

Frodo-xx est un composant quantique, une variante d’AES qui propose plusieurs mécanismes d’encapsulation postquantique (KEM, SHAKE). [5]

ML-KEM-xx et BIKE-xx sont des protocoles qui permettent de remplacer les méthodes classiques de négociation de clés, [6] ils sont utilisés pour le partage d’un secret partagé et robuste aux ordinateurs quantiques.

@oqsprovider, fait référence au module développé par Open Quantum Safe (OQS) qui permet l’ajout des algorithmes postquantiques dans OpenSSL.

La PKI finalement va permettre de déployer des certificats X.509, d’utiliser un échange de clés hybride postquantique, afin de combiner la sécurité classique résistant aux attaques quantiques.

À quoi il sert concrètement ce script ?

Plusieurs raisons telles que :

  • Tester la cryptographie postquantique dans un environnement Open Source avec OpenSSL.

  • Expérimenter dans un laboratoire comment implémenter, tester, intégrer et utiliser le postquantique en mode hybride.

  • Automatiser l’utilisation d’une PKI privée.

Pourquoi l’importation du CA Racine dans Firefox échoue ?

Pour rester bref, je ne vous inflige pas le détail des multiples tests et essais réalisés au cours de ce laboratoire. Je vais directement au fait.

La compilation des différents prérequis, leur installation et leur configuration sont un succès, la PKI postquantique est fonctionnelle.

Sauf que la version actuelle de Firefox ne supporte pas encore ML-DSA nativement.

Toutes mes tentatives d’importation de ma CA Racine postquantique (PQ) de Confiance, ML-DSA échouent et les tentatives d’accès à https://serveurweb.vollenberg.local cassent.

Exemple concret

Rien de mieux qu’une vidéo pour vous faire voir comment fonctionne ce script.

Conclusion

👉 J’ai presque atteint les objectifs que je m’étais donnée dans la mise en place de ce laboratoire qui sont:

#1 Trouver la recette pour une transition vers des technologies de cryptographie postquantique (PQC). Celle-ci est maintenant testée et elle est dorénavant connue et reproductible.

#2 Avoir la capcité de mitiger le scénario de menace “Harvest Now, Decrypt Later" [7] non atteint puisque la PKI n’est pas 100 % fonctionnelle en raison des algorithmes PQ comme ML-DSA qui ne sont pas encore adoptés et intégrés dans la liste des CA racines de confiance de Firefox.

Sinon, l’utilisation de l’open source dans le contexte d’une PKI privée amène plusieurs atouts. Le premier est certainement l’absence de licence pour pouvoir exploiter ce type de PKI.

Un autre atout est le coût associé à ce genre d’environnement, car en dehors de la technologie, les dépenses liées à l’émission de certificats sont dérisoires comparées à celles engagées pour faire appel à une autorité privée de confiance basée sur des services propriétaires.

Lorsque les fureteurs comme Firefox et consorts auront intégré de façon native les algorithmes PQ, ce type de PKI interne pourrait répondre à un besoin de sécuriser des communications au sein d’un réseau privé, comme par exemple authentifier des machines, des services, etc. ❗

Commentaires et Discussion