ZeroDB : une base de données open-source chiffrée de bout en bout
La faille Heartbleed découverte en 2014 sur le protocole OpenSSL a montré que même le chiffrement des données ne servait à rien si des vulnérabilités sur les serveurs permettaient d'accéder aux données en clair au moment où elles sont reçues ou déchiffrées.
C'est donc pour ajouter une autre couche de sécurisation que MacLane Wilkison et Michael Egorov ont créé ZeroDB, un protocole de base de données (adapté de ZODB) qui permet de rendre le serveur aveugle aux données qu'il contient. Toutes les données stockées et indexées dans la BDD sont chiffrées, ainsi que toutes les requêtes envoyées par le client.
Le serveur se contente de stocker les données, alors que la partie logique est réalisée côté client. Les données sont structurées en arbres binaires où chaque nœud est chiffré par le client avec une clé inconnue par le serveur. Les objets référencés sont eux aussi chiffrés, et le serveur ne sait pas comment les objets sont organisés dans l'arbre, ni même s'ils appartiennent à une structure d'arbre. Lorsque le client réalise une requête, le serveur renvoie les nœuds qu'il traverse et peut fournir les objets chiffrés demandés en retour.
« Comparé à des bases de données traditionnelles, ce protocole demande des requêtes multiples pour réaliser une seule requête », préviennent les créateurs de ZeroDB, qui ont toutefois optimisé le processus pour minimiser le temps de latence.
« En séparant l'index de la base de données en morceaux qui sont chiffrés et stockés sur le serveur, ZeroDB est capable de fournir un chiffrement de bout en bout tout en conservant toutes les fonctionnalités que vous attendez d'une base de données moderne. Et c'est aussi plutôt rapide », promettent ainsi les auteurs qui viennent de rendre ZeroDB open-source. Ils fournissent en outre une implémentation en Python et bientôt un client JavaScript.
https://www.youtube.com/watch?v=73T_tBbgRFs&feature=youtu.be