+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Consultant
    Inscrit en
    juillet 2013
    Messages
    1 529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2013
    Messages : 1 529
    Points : 43 920
    Points
    43 920
    Billets dans le blog
    2

    Par défaut ZeroDB : une base de données open source chiffrée de bout en bout

    ZeroDB : une base de données open source chiffrée de bout en bout
    Elle permet aux applications d’interroger des données chiffrées

    ZeroDB est une base de données open source « zero knowlegde » ou chiffrée de bout en bout. Écrite en Python, elle est basée sur ZODB (Zope Object DataBase), la base de données du serveur d’applications Zope. D’après sa description sur GitHub, « ZeroDB rend plus facile de développer des applications avec des garanties de sécurité et de confidentialité fortes, en permettant aux applications d’interroger des données chiffrées ».

    Le serveur de base de données ne sait rien sur les données qu’il stocke, ce qui réduit considérablement le risque de violation des données. En effet, toutes les opérations se font du côté client, qu’il s’agisse du chiffrement, du déchiffrement ou de la compression des données. La logique de base de données est également gérée côté client. En ce qui concerne les requêtes, elles sont chiffrées de bout en bout. Cela signifie que les clients peuvent exécuter des requêtes sur les bases de données chiffrées et récupérer des enregistrements sans jamais exposer les données déchiffrées au serveur de base de données. Les données sur le serveur sont toujours chiffrées, qu’elles soient au repos, en transit, ou en cours d’utilisation. Le serveur n’a jamais aucune connaissance sur les données, leur structure ou leur ordre. Cela implique que même si des attaquants arrivent à infiltrer le serveur, ils ne pourront pas avoir accès aux données en clair.

    En ce qui concerne les fonctionnalités offertes par ZeroDB, il lui est attribué d’offrir la plupart des fonctionnalités attendues dans une base de données moderne. La base de données offre également des performances adéquates. En exécutant la logique de requête côté client, ZeroDB ne ralentit pas les requêtes parallèles. Les clients peuvent encore exécuter des requêtes à distance sur les données chiffrées sans avoir à les télécharger totalement et sans rencontrer une baisse de performance excessive. Ils disposent également d’un cache qui stocke les parties les plus utilisées des structures de données et qui accélère considérablement les requêtes, quelles que soient leurs tailles.

    ZeroDB pourra donc permettre aux développeurs de décharger des applications sensibles dans le cloud. Ces derniers pourront ainsi bénéficier des avantages de coût et de performance du cloud, sans compromettre la sécurité ou la facilité d’utilisation de leurs données.

    Une implémentation en Python de la base de données chiffrée de bout en bout est disponible depuis hier. Un client JavaScript de ZeroDB est également prévu dans un avenir proche.

    Sources : Blog ZeroDB, ZeroDB sur GitHub, ZeroDB Server sur GitHub

    Et vous ?

    Que pensez-vous de ZeroDB ?
    Utilisez-vous d’autres bases de données chiffrées ? Lesquelles ?

    Voir aussi

    Forums Bases de données
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    février 2010
    Messages
    3 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2010
    Messages : 3 013
    Points : 4 954
    Points
    4 954
    Billets dans le blog
    1

    Par défaut

    Je suis peut-être pas bien réveillé mais...

    1/ Comment assurer l'intégrité des données si les requêtes se font côté client, et que le serveur ne peut pas analyser les données ? (pas de FK, de contrainte d'unicité, etc.), ou alors au prix d'une gestion des locks au niveau table de très longue durée
    2/ J'ai toujours cru que le point d'entrée vulnérable d'un SI, c'est pas le serveur, mais les clients qui s'y connectent (Régis qui ramène la clé USB verrolée de chez lui pour jouer à Tetrinet avec son pote Robert), ou bien Ginette qui lance la macro contenue dans le PPTX bourré de chatons qu'elle vient de recevoir par mail

    Du coup je vois mal l'intérêt de cette base, qui ne joue finalement pas d'autre rôle qu'une gestion d'artiches protégées par mot de passe (genre un dossier partagé avec des ZIP protégés dedans...)
    On ne jouit bien que de ce qu’on partage.

  3. #3
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS
    Inscrit en
    avril 2013
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 1 473
    Points : 4 922
    Points
    4 922
    Billets dans le blog
    6

    Par défaut

    Citation Envoyé par StringBuilder Voir le message
    Je suis peut-être pas bien réveillé mais...

    1/ Comment assurer l'intégrité des données si les requêtes se font côté client, et que le serveur ne peut pas analyser les données ? (pas de FK, de contrainte d'unicité, etc.), ou alors au prix d'une gestion des locks au niveau table de très longue durée
    2/ J'ai toujours cru que le point d'entrée vulnérable d'un SI, c'est pas le serveur, mais les clients qui s'y connectent (Régis qui ramène la clé USB verrolée de chez lui pour jouer à Tetrinet avec son pote Robert), ou bien Ginette qui lance la macro contenue dans le PPTX bourré de chatons qu'elle vient de recevoir par mail

    Du coup je vois mal l'intérêt de cette base, qui ne joue finalement pas d'autre rôle qu'une gestion d'artiches protégées par mot de passe (genre un dossier partagé avec des ZIP protégés dedans...)
    c'est sans doute une base document
    quand à sont intérêt cela peut se présenter si la base est sur un serveur à part et pas forcément dans la même architecture réseau que le client
    merci de me mettre des quand mes messages sont pertinent, et pour les pas contents voici mon service client pour eux

    [Projet en cours] Strategy(nom provisoire) - Advance wars like
    cordova-plugin-file-hash Plugin cordova servant à obtenir le hash d'un fichier

  4. #4
    Membre confirmé Avatar de heid
    Profil pro
    Inscrit en
    mai 2002
    Messages
    380
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : mai 2002
    Messages : 380
    Points : 558
    Points
    558

    Par défaut

    Pour les index j'imagine que la valeur chiffrée est indexable mais comment fonctionnent les requête de range dans ce cas si le déchiffrage se fait coté client : where name > "B" ?

  5. #5
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    17 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 17 155
    Points : 39 799
    Points
    39 799
    Billets dans le blog
    1

    Par défaut

    Il faut bien stocker les clefs quelque part... Si c'est sur le poste client c'est évidemment mien bien sécurisé en général que sur un serveur.
    Le seul moyen efficace de stocker les clefs de chiffrement sans qu'elles soient volable est d'utiliser un HSM (Hardware Security Module) qui se branche sur le réseau, contient les clefs et s'autodétruit en cas de tentative d'accès malintentionné. Exemple Thales nShield

    En outre pour éviter les attaques de décryptage par analyse fréquentielle il convient de saler le chiffrement ce que ne fais aucun SGBD open source (ni MySQL ni PostGreSQL...).

    Enfin, le chiffrement du stockage des bases existe à travers TDE (Transparent Data Encryption) depuis de nombreuses années dans les SGBDR modernes (2008 par exemple pour SQL Server...).

    Pour couronner le tout, effectivement les performances risque d'être lamentable car :
    1) on n'a pas encore trouvé d'algorithme permettant de rendre cherchable par range (>, <, BETWEEN...) des données chiffrées sans salage
    2) avec salage du chiffrement aucun prédicat de recherche, même l'égalité, n'est cherchable ! Il faut décrypter toutes les données pour comparer ce qui conduit à des "scans" systématique de table pour toute recherches avec en sus l'extraoverhead du déchiffrement ligne à ligne... !

    Et ne parlons pas d'un sujet déjà évoqué... L'impossible gestion de l'intégrité des données !

    Donc, une vrai foutaise !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur Java
    Inscrit en
    décembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2012
    Messages : 31
    Points : 153
    Points
    153

    Par défaut

    Le serveur n’a jamais aucune connaissance sur les données, leur structure ou leur ordre
    Cela remet en cause les performances du serveur. Comment peut-il récupérer les données en se basant sur les PK, FK ou INDEX?
    De plus, toutes les données stockées ne sont pas toutes critiques, il n'est donc pas util de les crypter/décrypter à chaque fois!

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2003
    Messages : 3 995
    Points : 1 970
    Points
    1 970

    Par défaut

    Il y a aussi un site officiel : http://www.zerodb.io/

    Je dois reconnaitre que pour l'instant, je ne comprends pas vraiment ce que ça fait ni comment ça marche...

    Edit : j'ai lu la page de documentation, et je ne comprends toujours pas en quoi on peut même considérer que c'est une base de données (puisque tout le travail de résolution des requêtes est fait au niveau du client), et contre quels risques elle est supposée nous prémunir. Bof...

  8. #8
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS
    Inscrit en
    avril 2013
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 1 473
    Points : 4 922
    Points
    4 922
    Billets dans le blog
    6

    Par défaut

    Dans la doc j'ai pus voir que ça s'utilise comme le 'Cloud Storage Azure' de Microsoft, des requêtes simples, pas de JOIN et une simple condition de recharche
    Les tables stockquent des 'Entité' dont le format est variable dans les tables donc le client doit gérer la logique
    merci de me mettre des quand mes messages sont pertinent, et pour les pas contents voici mon service client pour eux

    [Projet en cours] Strategy(nom provisoire) - Advance wars like
    cordova-plugin-file-hash Plugin cordova servant à obtenir le hash d'un fichier

  9. #9
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    février 2010
    Messages
    3 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2010
    Messages : 3 013
    Points : 4 954
    Points
    4 954
    Billets dans le blog
    1

    Par défaut

    On en revient donc au fameux serveur de fichier ZIP protégés par mot de passe que j'évoquais...
    On ne jouit bien que de ce qu’on partage.

  10. #10
    Membre chevronné

    Profil pro
    Inscrit en
    décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2003
    Messages : 3 995
    Points : 1 970
    Points
    1 970

    Par défaut

    Citation Envoyé par StringBuilder Voir le message
    On en revient donc au fameux serveur de fichier ZIP protégés par mot de passe que j'évoquais...
    Ben ça ressemble assez à ça, en fait. Avec une API...

  11. #11
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 1 694
    Points : 4 327
    Points
    4 327

    Par défaut

    Donc... ya une DB chiffrée sur un serveur, un client fait une requête...
    La requête est chiffrée donc le serveur ne peut pas la traiter.
    Il envoie la base complète au client qui la déchiffre, effectue sa requête, chiffre la base et la renvoie au serveur ?

  12. #12
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS
    Inscrit en
    avril 2013
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 1 473
    Points : 4 922
    Points
    4 922
    Billets dans le blog
    6

    Par défaut

    Citation Envoyé par Iradrille Voir le message
    Donc... ya une DB chiffrée sur un serveur, un client fait une requête...
    La requête est chiffrée donc le serveur ne peut pas la traiter.
    Il envoie la base complète au client qui la déchiffre, effectue sa requête, chiffre la base et la renvoie au serveur ?
    non sur ce genre de base tu fait une requête sur une table, il te renvois des données que sur la table et la recherche est possible car ton client vas donnez les valeurs de recherche cryptées au serveur, sinon tu l'aurait bien mal
    merci de me mettre des quand mes messages sont pertinent, et pour les pas contents voici mon service client pour eux

    [Projet en cours] Strategy(nom provisoire) - Advance wars like
    cordova-plugin-file-hash Plugin cordova servant à obtenir le hash d'un fichier

Discussions similaires

  1. Solution open source: centraliser et gérer une base de données
    Par mond14 dans le forum Autres Solutions d'entreprise
    Réponses: 0
    Dernier message: 01/11/2014, 12h17
  2. MapDB : une base de données open source pour JAVA annoncée par CodeFutures
    Par Malick dans le forum Logiciels Libres & Open Source
    Réponses: 0
    Dernier message: 14/05/2014, 14h50
  3. Réponses: 1
    Dernier message: 26/03/2007, 18h50
  4. VB6 Connection à une base de données dont la source est une adresse url
    Par yangoal25 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/11/2006, 18h47
  5. De nouveaux moteurs de bases de données open source pour MySQL
    Par brice01 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 10/05/2006, 14h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo