Skip to main content

An end-to-end verification architecture for building Certified Implementations of Robust, Cryptographically Secure web applications

Article Category

Article available in the folowing languages:

Une approche exhaustive de la cybersécurité

Alors que la plupart des solutions de cybersécurité sont réactives et se concentrent sur une seule menace, un nouveau cadre de vérification de la sécurité s’est donné pour objectif d’identifier et d’éliminer des catégories entières de cybermenaces.

Économie numérique

La plupart d’entre nous vaquent allègrement à leurs occupations numériques sans se soucier des menaces constantes qui pèsent sur nos dispositifs et nos applications. Cela s’explique par le fait que la sécurité de ces appareils est le plus souvent assurée par tout un éventail de composants critiques, notamment les bibliothèques cryptographiques, le protocole de sécurité de la couche de transport (TLS pour Transport Layer Security), les mécanismes de sécurité des navigateurs et les protocoles d’authentification unique. Cette approche est toutefois loin d’être parfaite, comme le montrent clairement les cyberattaques perpétrées régulièrement. «Bien que l’usage de ces composants soit très répandu, nous n’avons pas une idée précise du niveau de sécurité qu’ils offrent réellement», explique Karthik Bhargavan, chercheur à l’Institut national de recherche en sciences et technologies du numérique (Inria), en France. «En fait, le moindre petit bogue présent dans le codage d’un composant peut conduire – et conduit – à des attaques embarrassantes et retentissantes.» Au lieu d’essayer de résoudre chaque problème individuellement, Karthik Bhargavan envisage un champ d’action bien plus étendu grâce au soutien du projet CIRCUS, financé par l’UE. «Au lieu de perdre notre temps à traquer chaque nouvelle menace, nous proposons de développer un cadre formel de vérification de la sécurité capable d’identifier et d’éliminer d’un seul coup des catégories entières de vulnérabilités», ajoute-t-il.

Plus aucune excuse

Pour commencer, les chercheurs du projet CIRCUS ont participé à la conception, l’analyse et la normalisation de TLS 1.3 la dernière version du protocole TLS sur lequel repose la sécurité de la navigation web. «Nos contributions ont été mentionnées dans la norme publiée et nos recherches ont été récompensées par le prix du meilleur article», souligne Karthik Bhargavan. La deuxième phase de ce projet soutenu par le Conseil européen de la recherche s’est concentrée sur la création de HACL*, la première bibliothèque d’algorithmes cryptographiques à haute performance formellement vérifiée. «Avec HACL*, plus rien ne justifie l’utilisation d’un code cryptographique non vérifié dans les applications courantes critiques en matière de sécurité», fait-il remarquer. Selon Karthik Bhargavan, un certain nombre d’entreprises ont immédiatement demandé de l’aide pour déployer le code HACL* dans leurs produits, notamment Mozilla Firefox, Linux Kernel, WireGuard, Microsoft MsQuic, Tezos et ElectionGuard. «Prendre un logiciel issu d’un projet de recherche et améliorer sa qualité pour qu’il soit prêt à être utilisé en production a nécessité un gros travail d’apprentissage et d’ingénierie de notre part», indique-t-il. «Même si ce travail ne faisait pas partie de nos ambitions initiales pour le projet, il nous a permis d’accélérer le transfert de nos recherches vers de véritables applications industrielles.»

Repousser les limites de la cybersécurité

Le projet CIRCUS a réussi à repousser les limites de la cybersécurité en termes de vérification formelle et de cryptographie appliquée. «Avec le soutien du financement de l’UE, nous avons démontré qu’il était possible de vérifier formellement des logiciels cryptographiques de haute performance prêts pour la phase de production», conclut Karthik Bhargavan. Bien que le projet soit désormais terminé, le code HACL* est disponible gratuitement via GitHub. Par ailleurs, Karthik Bhargavan et son équipe continuent de progresser sur de nombreux thèmes identifiés au cours du projet, notamment en ce qui concerne la vérification de logiciels de cryptographie écrits dans des langages orientés vérification courants, tels que Rust. Les chercheurs entament également les premières étapes du transfert des recherches et des résultats du projet CIRCUS vers une entreprise privée, en vue de créer une communauté industrielle axée sur les logiciels cryptographiques vérifiés.

Mots‑clés

CIRCUS, cybersécurité, cadre de vérification de la sécurité, cybermenace, Transport Layer Security, cyberattaques, codage, HACL*, algorithmes cryptographiques, code cryptographique, cryptographie

Découvrir d’autres articles du même domaine d’application