Les experts en sécurité de Google ont développé une suite de tests qui permettent aux développeurs de trouver des failles dans leurs bibliothèques de chiffrement et dans leurs mises en oeuvre. Le projet Wycheproof, disponible sur GitHub, contient plus de 80 procédures permettant de tester les algorithmes de chiffrement les plus répandus, notamment RSA, AES-GCM, AES-EAX, Diffie-Hellman, les courbes elliptiques Diffie-Hellman (ECDH), et la signature algorithmique digitale (DSA). Pour mettre au point ces tests, les chercheurs de Google ont reproduit des attaques courantes. Grâce à ces procédures, ils ont déjà découvert plus de 40 bogues de sécurité dans les bibliothèques, failles qu’ils ont signalées aux éditeurs concernés.

« En cryptographie, la moindre erreur peut avoir des conséquences catastrophiques, et trop souvent, les bibliothèques de logiciels de chiffrement open source comportent des erreurs qui restent inconnues pendant longtemps », écrivent dans un billet Daniel Bleichenbacher et Thaï Duong, ingénieurs en sécurité chez Google. « Cependant, il est très difficile de définir les meilleures pratiques : il faut digérer des décennies de littérature universitaire pour savoir comment mettre en œuvre du chiffrement de manière sécurisée ».

Des tests écrits en Java mais bientôt convertis

Les chercheurs de Google espèrent qu'en livrant ces tests au public, les développeurs et les utilisateurs pourront tester les mises en oeuvre de chiffrement qu'ils créent ou qu’ils utilisent. Certaines bibliothèques sont très populaires et sont couramment intégrées dans de nombreux produits commerciaux ou utilisées dans des applications d'entreprise. Les tests disponibles actuellement ont été écrits en Java, mais les chercheurs de Google vont les convertir en vecteurs de test afin de les porter facilement vers d'autres langages de programmation. Certes, même si une bibliothèque passe sans encombre les tests Wycheproof, cela ne signifie pas pour autant qu’elle est sécurisée et que son code ne comporte pas de failles. Mais ses utilisateurs peuvent estimer au minimum qu’elle n’est pas vulnérable aux attaques les plus courantes.