Les fuites de données sont anormalement courantes ces derniers temps. Les cybercriminels ont recours à diverses astuces pour accéder aux bases de données et aux fichiers qui y sont stockés. Le plus logique serait de protéger les bases de données en utilisant le chiffrement, mais c’est souvent irréalisable. Après tout, plus un service a besoin d’accéder à une base de données, plus la réponse est lente. Si cette base de données est chiffrée, le temps de réponse peut être encore plus long. Et ce n’est pas tout selon une étude faite en 2009 qui a analysé les problèmes principaux ! Avançons rapidement jusqu’en 2022, et plus précisément jusqu’à juin de cette année lorsque les développeurs du système de gestion de bases de données MongoDB (DBMS) ont annoncé une grande avancée lors de la sortie de la dernière version : une fonction de chiffrement interrogeable. Cette méthode permet de stocker les données dans un format chiffré tout en ayant un temps de réponse acceptable à la requête.
Les performances dans le monde réel
Les neurones à l’origine de cette nouvelle technologie appartiennent à Seny Kamara, professeur agrégé en informatique à l’Université de Brown (Providence, État du Rhode Island aux États-Unis), qui a durement travaillé sur l’application d’un chiffrement fiable dans le monde réel. Dès que MongoDB a racheté sa start-up, ses recherches se sont concentrées sur le développement d’une méthode fiable qui protégerait les bases de données sans nuire aux performances.
Ce n’est un secret pour personne que les développeurs et les opérateurs de bases de données ont toujours donné la priorité à la vitesse et à la fiabilité plutôt qu’à la protection. D’autre part, pour les experts en chiffrement, la priorité est de garantir que les données ne peuvent pas être déchiffrées, alors que la commodité passe au second plan. C’est à cause de cela que les solutions précédentes ont oscillé entre un chiffrement des données rapide mais peu fiable, et un système sûr mais terriblement lent. Kamara a combiné une approche scientifique (autrement dit, un chiffrement fort) avec les besoins réels des utilisateurs, c’est-à-dire une réponse rapide. Voici à quoi ça ressemble chez MongoDB :
Imaginons que nous devions obtenir les données d’un utilisateur à partir de son numéro de sécurité sociale. Nous prenons le SSN, nous le chiffrons et nous l’envoyons sous un format chiffré comme requête à la base de données. En retour, la base de données nous renvoie d’autres renseignements sur l’utilisateur : nom, numéro de téléphone et adresse e-mail. Il convient de souligner que la base de données n’effectue aucun déchiffrement. La requête ne contient que des données chiffrées, tout comme la réponse. Plus important encore, les clés secrètes de déchiffrement ne sont pas stockées sur le serveur de la base de données ni sur le serveur du client. Cela signifie que même si les cybercriminels ont accès à la base de données, les données des utilisateurs ne sont pas en danger.
Un avenir brillant, avec un peu de chance
Vous vous demandez sûrement pourquoi il n’y avait aucune solution de chiffrement des bases de données jusqu’à maintenant si ce problème est si important?! Il y en a eu et elles existent depuis un certain temps. Mais elles cherchaient avant tout à privilégier les performances et laissaient de côté le chiffrement. Par exemple, pour démontrer aux régulateurs que la protection n’avait pas été complètement négligée. Ainsi, les solutions existantes ont quelques vulnérabilités. Il a notamment été prouvé que si toute une base de données chiffrée avec CryptDB était menacée, la plupart du contenu pourrait être déchiffré. En d’autres termes, ce chiffrement n’est qu’un petit inconvénient pour les cybercriminels, rien de plus. Cette solution, tout comme les autres, n’a jamais été formellement auditée pour déterminer la force de sa méthode de chiffrement.
En pratique, c’est un problème courant de la cryptographie. Lorsque les développeurs d’un système d’informations se sentent obligés de fabriquer quelque chose en interne pour répondre aux exigences spécifiques de leur entreprise en termes de chiffrement de données. Ce « quelque chose » s’avère souvent être vulnérable puisque le processus de développement n’arrive pas à prendre en compte les dernières recherches scientifiques. Les vulnérabilités sont telles qu’elles peuvent être détectées simplement en analysant l’algorithme et en prédisant les opérations. Par conséquent, vos données sont en théorie chiffrées alors qu’en pratique elles sont en vente depuis longtemps sur le marché noir.
En termes de fonctionnalité, le chiffrement interrogeable de MongoDB repose sur la rencontre du monde de la science avec celui des affaires. Une première on dirait bien ! Cette nouvelle méthode de chiffrement n’a plus qu’à réaliser un audit formel pour prouver la sécurité des données, et les résultats préliminaires sont extrêmement positifs. Les utilisateurs devraient aussi pouvoir apporter leur point de vue : le chiffrement interfère-t-il avec les performances ? Il serait également intéressant de voir l’apparence d’un système rival qui repose sur des principes similaires : après tout, une concurrence saine est la clé du progrès.
Et maintenant ?…
Les entreprises qui se sentent concernées par les données de leurs clients chiffrent déjà presque tout : sauvegardes, e-mail, communications entre les dispositifs et le réseau de l’entreprise. Les bases de données pourraient être le dernier rempart d’informations importantes qui est encore en texte clair. Oui, ces bases de données sont extrêmement bien protégées contre les tentatives d’accès externes, mais elles sont encore vulnérables. Espérons que le déploiement réussi des systèmes chiffrés de gestion des bases de données aide à empêcher le vol des données des utilisateurs. Il est vrai qu’il sera encore possible de s’en prendre aux utilisateurs individuels, ou de collecter les données ouvertes qui, par définition, sont disponibles en ligne. Et pour voler des centaines de millions de comptes en une seule fois ? Les progrès faits en chiffrement des bases de données devraient rendre ces incidents extrêmement improbables.