Microsoft a open-sourcé une branche de sa bibliothèque cryptographique SymCrypt contenant des spécifications formelles et des preuves pour les implémentations Rust de ML-KEM et SHA-3. Cette publication démontre une méthodologie où les algorithmes de production sont écrits en Rust sûr et vérifiés contre des modèles Lean dérivés des normes à l'aide de la chaîne d'outils Aeneas.

  • L'approche utilise Aeneas pour traduire la représentation intermédiaire de Rust en modèles Lean purs, tirant parti des règles de propriété de Rust pour simplifier le raisonnement sur la sécurité mémoire.
  • Les spécifications formelles sont conçues pour refléter étroitement les normes publiques telles que NIST ou les RFC de l'IETF, permettant des tests exécutables contre des vecteurs officiels et une revue humaine ligne par ligne.
  • La branche open-sourcée comprend des preuves complètes pour le code ML-KEM et SHA-3 actuellement utilisé dans les builds Insider de Windows, avec des plans pour étendre ce flux de travail à AES-GCM, FrodoKEM et ML-DSA.

Cette méthodologie offre deux couches d'assurance en combinant les garanties de sécurité mémoire de Rust avec des preuves Lean de correction fonctionnelle, visant à mettre à l'échelle la vérification formelle pour les algorithmes cryptographiques de production.