Fonctionnement du test
Le scanner s'appuie sur OpenSSL 3.5 ou ultérieur, première version d'OpenSSL à prendre en charge nativement ML-KEM. Pour chaque domaine, il effectue une série de négociations TLS ordinaires, jamais plus de quatre à la fois :
- Échange de clés post-quantique. Nous proposons chaque groupe post-quantique normalisé isolément (X25519MLKEM768, SecP256r1MLKEM768, SecP384r1MLKEM1024 et ML-KEM-512/768/1024 purs). Un groupe n'est déclaré pris en charge que si le serveur mène la négociation à son terme avec ce groupe. Nous relevons aussi le groupe qu'obtiendrait un navigateur récent proposant à la fois des options hybrides et classiques.
- Versions de protocole. Une négociation par version, de TLS 1.0 à TLS 1.3. Pour les versions obsolètes, le client accepte des paramètres faibles, afin que les configurations non sûres soient inventoriées plutôt qu'ignorées.
- Suites cryptographiques. Pour TLS 1.2 et versions antérieures, nous proposons toutes les suites, relevons le choix du serveur, le retirons et recommençons jusqu'à ce que le serveur refuse. Pour TLS 1.3, chacune des cinq suites standard est testée individuellement.
- Certificats. La chaîne complète est analysée : type et taille de clé, courbe, algorithme de signature, validité et noms. Chaque clé est rapprochée du catalogue d'algorithmes pour indiquer son risque quantique.
- HTTP. Une requête en HTTPS lit les en-têtes HSTS et CDN ; une requête en HTTP simple vérifie la redirection vers HTTPS.
Le catalogue
Les classifications proviennent d'un catalogue versionné d'algorithmes, de groupes TLS et de réglementations. Chaque entrée doit citer au moins une source ; les entrées qui citent des projets, comme NIST IR 8547 et SP 800-131A Rev. 3, sont signalées comme telles. Le catalogue est validé automatiquement : une position sans source, une autorité inconnue ou un algorithme vulnérable au quantique sans remplaçant post-quantique bloque la publication.
Les limites à connaître
- Vue externe uniquement. Nous voyons ce que voit Internet. Derrière un CDN, les résultats décrivent la périphérie du CDN, pas votre serveur d'origine, et les services internes sont hors de portée d'un test web.
- Instantané. Un test reflète la configuration à un instant donné ; les résultats sont mis en cache pendant une heure.
- Projets obsolètes. Les groupes Kyber antérieurs à la norme, comme X25519Kyber768Draft00, ne sont pas testés : ils sont obsolètes et devraient être remplacés par ML-KEM.
- Pas une certification. Les résultats sont des faits sur une configuration, utiles pour constituer un inventaire. Ils ne constituent ni un audit, ni une certification, ni un conseil juridique.