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

SQL Oracle Discussion :

Crypter des données dans une table


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut Crypter des données dans une table
    Bonjour,

    je sais pas si le terme "Crypter" est le bon. Mais j'aimerai savoir s'il est possible de stocker dans une table des informations assez sensibles de façon à ce qu'elles n’apparaissent pas clairement par un simple select.

    L'idée est qu'il ne soit possible de les lire qu'a travers un select possédant une sorte de clé de décryptage.

    J'ai besoin d'une sorte de cryptage réversible mais pas facilement. Car ces données seront exploitées dans une application dont j'ai la charge de développement.

    Ces données seraient aussi mise à jour.

    Je suis sous Oracle 10G.

    Merci à vous

  2. #2
    Membre Expert Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Par défaut
    Oui c'est possible ...
    Maintenant du coup c'est moins simple à indexer et le modèle est difficile à concevoir.

    En effet si on connait la taille du champ non crypté on ne connait pas forcément sa taille après cryptage difficile alors de tailler correctement le conteneur.

    D'autre part la charge réseau va augmenter aussi.

    Il y a aussi des options oracle qui permettent ces manipulations (advanced security/ db vault) mais ne protège pas contre le select simple, en effet l'utilisateur propriétaire des tables a accès à leur contenu par select. par contre l'avantage est que l'indexation reste valable.

  3. #3
    Membre Expert Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Par défaut
    Une autre solution serait de crypter les données directement dans la table et d'utiliser la clé de décryptage uniquement quand tu le souhaite dans ton application.

  4. #4
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    c'est à dire. il est possible d'avoir des tables avec des colonnes déjà cryptées ?

    je complète ma réflexion , il s'agira d'écran spécifique englobé dans une application client / serveur utilisant le même utilisateur "Oracle".

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2002
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 549
    Par défaut
    une autre solution : les VPD et l'implémentation des policies

    regarde dans la doc tout ce qui concerne le package DBMS_RLS

  6. #6
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    je crois comprendre que cela s'appuie sur le "User" Oracle.
    en fonction du user on voit tel ou tel information.

    est ce bien cela ?

  7. #7
    Membre à l'essai
    Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Par défaut
    Je suis l'auteur de l'article sur DBMS_CRYPTO d'Oracle.

    Ce que celà vaut ?
    - c'est du cryptage AES128 (Advanced Encryptions Standard 128 bits) couplé à une fonction de chiffrement par bloc (CHAIN_CBC) + fonction de padding (PAD_PKCS5) , autant dire que si on perd la clé de cryptage, les infos sensibles sont perdues à jamais avec.

    je l'utilise pour le stockage de mots de passe (données interrogées par des Select) donc rarement mis à jour.

    L'avantage, la donnée est protégée quelque soit l'utilisateur (admin, user finaux, prestataire--> dump par exp etc.)

    Combien de colonnes devez vous protéger ?
    quel type de données ? (financières, mot de passe, commentaires, ...)

    Portabilité --> votre projet est uniquement basé sur de la bdd Oracle?

    DROE

  8. #8
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    Bonjour,

    Je risque fortement de devoir crypter des données de type texte ou date qui seront avant tout utilisées en lecture dans le cadre de création de liste pour du mailling.

    Ces données seront certainement mise à jour mais de façon occasionnelles. La plus part du temps il s'agira d'enrichir ces données par de nouvelles entrées dans la table donc de l'insert.

    Je n'ai pas encore de vision sur la volumétrie des données et le nombre de colonnes à crypter , je n'ai pas encore tous les éléments de mon cahier des charges.

    Dans l'hypothèse ou je dois par exemple remonter 380 entrées sur cette table qui possède 20 de colonnes cryptée, un simple select peut prendre combien de temps ?

    Sinon je n'ai pas de soucis coté portabilité je suis et reste sous Oracle en espérant que si je monte de version d'Oracle le principe reste le même.

    Au passage, l'article est très bien , n'ayant pas de grosse compétance en administration Oracle , j'ai pu sans soucis mettre en place le cryptage.

    Merci à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enregistrer des données dans une table à partir du code
    Par Ragnarok85 dans le forum Access
    Réponses: 4
    Dernier message: 24/01/2007, 13h03
  2. [MySQL] Php, je ne comprends pas comment faire pour introduire des données dans une table
    Par Liondd dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 14/12/2006, 12h53
  3. extraction des données dans une table Access
    Par moabomotal dans le forum Access
    Réponses: 2
    Dernier message: 26/05/2006, 11h17
  4. Inserer des données dans une table access SQL
    Par ouellet5 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/11/2005, 21h11
  5. Réponses: 2
    Dernier message: 15/06/2005, 17h32

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