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

Bases de données Delphi Discussion :

Crypter une BD: que choisir ?


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut Crypter une BD: que choisir ?
    Je désire crypter les data que je stocke dans ma BD.
    J'hésite toutefois entre nottament MD5 ou un simple XOR comme j'ai pu trouver ici: http://delphipage.free.fr/cryptage.html

    Une idée? Merci

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    • Le chiffrement MD5 permet de faire une empreinte, une signature de la donnée. Il ne permet pas de pouvoir la récupérer. On s'en sert uniquement pour faire des comparaisons; Par exemple, avec le CRC d'un fichier, si l'on veut savoir si un autre fichier est le même, on le chiffre et on compare les clés.

    • XOR, est un chiffrement symétrique. Il permet de récupérer les données originales lorsqu'on connaît l'agorythme d'encodage et surtout la clé, on est capable d'obtenir les données de départ. Par exemple AES, 3DES, RCA sont des chiffrement XOR.

    • Reste que l'on peut protéger cette clé XOR avec un chiffrement asymétrique comme RSA. C'est cette méthode qui est utilisé par le SSL (https pour les sites sécurisés sur internet). Cette solution permet aussi d'authentifier les utilisateurs (certificats).
    De retour parmis vous après 10 ans!!

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Merci Sub0, voilà qui m'explique simplement et clairement le principe

    Plus qu'à trouver une librairie gratuite fonctionnant sous Delphi2007...

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Tu peux peut-être envisager d'utiliser une librairie de compression au format RAR ou ZIP (zlib) puisqu'il ya moyen d'ajouter un mot de passe et de crypter les données...
    De retour parmis vous après 10 ans!!

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par Sub0 Voir le message
    Tu peux peut-être envisager d'utiliser une librairie de compression au format RAR ou ZIP (zlib) puisqu'il ya moyen d'ajouter un mot de passe et de crypter les données...
    Non car il faudrait je suppose décrypter toute la base pour pouvoir la lire, je ne le souhaite pas d'autant que des accès concourrants doivent être possibles.

    Il faut donc que je crypte et décrypte à chaque accès en lecture/écriture dans la BD. Un peu comme si je voulais crypter uniquement les mots de passe. Sauf que je considère d'autres données comme sensibles également.

    J'utilise Access.

  6. #6
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Citation Envoyé par thibouille Voir le message
    Non car il faudrait je suppose décrypter toute la base pour pouvoir la lire
    Pas du tout. Tu peux très bien choisir les données que tu veux traîter, tu n'es pas obligé de crypter toute la base. Par exemple, lorsque tu fais un update ou un insert, tu cryptes les données avant de les enregistrer dans la base. Ensuite, lorsque tu fais un select de ces données, tu les décryptes avant de les utiliser...
    A propos, quel type de données comptes-tu crypter ? VARCHAR, BLOB ?
    De retour parmis vous après 10 ans!!

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    des VARCHAR essentiellement; si je pouvais crypter les Blob tant mieux mais crypter des photos c'est vraiment moins essentiel quede crypter les mots de passe

  8. #8
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Je te conseille le XOR car facile à implémenter et peu gourmand en performances (sauf si tu veux un truc 'secret défense').
    Une astuce si tu veux crypter des mots de passe : tu les "complètes", avant cryptage avec des caractères espaces à concurrence de la longueur de ton VARCHAR puis tu cryptes et tu stockes.
    Lors de la récup. tu décryptes puis tu 'TRIM' ton résultat.
    C'est rapide et ça ajoute une difficulté au hack car la longueur du mot de passe est du coup inconnue.

  9. #9
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Merci !!

    Y a-t-il un algo de cryptage à privilégier particulièrement, genre un bon rapport qualité d'encryption/vitesse de cryptage/décryptage ??

  11. #11
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Soir Bon, un benchmark parmi d'autres http://www.cryptopp.com/benchmarks.html

  12. #12
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Merci, encore !

  13. #13
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 49
    Points : 48
    Points
    48
    Par défaut Crypte avant d'insérer
    Moi j'utilise un algorithme pour crypter juste les mots de passe. L'avantage est que ça prend des varchar et ne renvoie que des nombres. Même si quelques se conecte à ta base de donnée il ne pourra jamais imaginé le contenu. Le mieux serait pour toi de crypter avant des les insérer dans la table et quend tu veux afficher tu les décrypte. Ainsi tu gagneras en temps et en exécution.

  14. #14
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Idem que valer, à part les mots de passe, je ne crypte que rarement ...

    Sinon, j'ai répondu à un sujet similaire ICI, si l'on crypter plusieurs champs, cela devient la misère, en sauvegarde tous les champs dans un blob, décrypter\encrypter à la volée, puis lier à un TClientDataSet, on peut conserver la puissance des composants DB Ware, tout en cryptant ses colonnes, ... j'utilise cette solution, si le nombre de colonne change dans la table et que l'écran est généré automatiquement

    Pour les grilles, un petit OnDrawDataCell, et le tour est joué assez facilement ... mais grille évidemment en lecture seule ... mettre de l'edition, c'est plus complexe, il faut gérer tout un tas d'évènement AfterPost, OnCalcField ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Que choisir pour une application de "gestion d'une todo liste" ? Python ou Java ?
    Par Yoshidu62 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 10/08/2007, 09h03
  2. Réponses: 11
    Dernier message: 08/05/2007, 14h24
  3. Réponses: 13
    Dernier message: 12/12/2006, 21h44
  4. Que choisir juste pour une BDD ?
    Par wolfjeremy dans le forum Hébergement
    Réponses: 11
    Dernier message: 04/02/2006, 13h57
  5. [des panneaux dans une page web] que choisir ?
    Par oursblanc dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 02/12/2005, 11h02

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