IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Chiffrement côté client et proxy interceptant et posttraitant les requêtes


Sujet :

PostgreSQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Chiffrement côté client et proxy interceptant et posttraitant les requêtes
    Bonjour à tous,

    Je travailles sur une application d'accès sécurisé à une base de données dans le cas où l'administrateur SGBD n'est pas considéré comme sûr (aucun déchiffrement autorisé côté serveur). Je me tourne donc vers un chiffrement/déchiffrement côté client.(http://www.postgresql.org/docs/8.4/i...n-options.html -> Client-side encryption)

    L'idée est de réaliser un proxy côté client qui recevrait les requêtes SQL en clair et qui ferait la translation de ces requêtes pour accéder aux données chiffrées. Le SGBD traiterait donc une requête qu'il ne "comprend pas" sur des données chiffrées et renverrait un résultat chiffré. Ainsi même si le canal de transmission et tout le côté serveur est compromis, cela ne pose pas de problèmes.

    Cette fonctionnalité est plutôt côté "driver" et j'ai donc cherché sans succès des traces d'implémentations de telles fonctionnalités dans libpq. Le message de la mailing list [HACKERS] PostgreSQL traite de la question sans donner de réponses ni de pistes. http://www.mail-archive.com/pgsql-ha...msg131276.html

    L'architecture serait la suivante :

    Application
    cliente <->JDBC <-> Le proxy à développer <-> SGBD (PostgreSQL)

    Le but est de rendre ce proxy "invisible" pour l'application cliente utilisant des drivers standards (JDBC, libpq,....)

    J'ai donc plusieurs questions :

    - Auriez vous connaissance de drivers présentant ce genre de fonctionnalités ?
    - Je vais avoir à "intercepter" les requêtes SQL sortant des drivers pour les post-traiter, puis les rediriger et enfin renvoyer les résultats du SGBD vers le client initial. Je manque de documentation claire sur les protocoles de communication entre le driver JDBC et la base de données. Suffit-il d'indiquer au client le port du proxy à la place du port du SGBD et de mettre une socket en écoute sur ce port pour récupérer le "flux" SQL ?

    Merci à tous ceux qui auront pris le temps de lire ce long post
    Je le mettrai à jour au fur et à mesure de mon avancement.

    PS : langage de programmation pour le proxy, probablement Python ou Java

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Du point de vue de l'architecture, un tel proxy serait au même niveau que des programmes comme pgpool ou pgbouncer.
    Du point de vue de la programmation réseau ce n'est pas très difficile de se positionner comme intermédiaire entre le client et le serveur.
    En revanche pour transformer les flux SQL pour crypter et décrypter, il faut décoder le protocole client-serveur postgresql et là c'est certainement un gros travail.

Discussions similaires

  1. Http client avec proxy
    Par mermoz dans le forum Pentaho
    Réponses: 4
    Dernier message: 27/05/2010, 20h30
  2. Réponses: 1
    Dernier message: 02/07/2009, 08h00
  3. Client MSN proxy
    Par c-ve dans le forum Internet
    Réponses: 1
    Dernier message: 09/09/2007, 00h36
  4. Info Client derrière proxy
    Par thierryG dans le forum Langage
    Réponses: 2
    Dernier message: 26/07/2006, 17h24
  5. Intercepter les requêtes HTTP et les modifier.
    Par Alexandre T dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 21/09/2005, 19h25

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