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

Autres SGBD Discussion :

Stockage de mots de passe : cryptage ou pas ?


Sujet :

Autres SGBD

  1. #1
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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 : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut Stockage de mots de passe : cryptage ou pas ?
    Bonjour,

    Lorsque j'ai commencé à travailler sur des sites internet, en 1999, la sécurité était loin d'être le point le plus épineux, et les outils à disposition étaient bien moins avancés qu'actuellement : pas de LDAP, pas de possibilité de crypter un mot de passe depuis la base de données, pas de libs existantes en PHP ou ASP, etc.

    Du coup, j'ai pris l'habitude de stocker dans mes tables "utilisateur" le mot de passe en claire.

    Régulièrement, je vois des personnes, à la limite de l'intégrisme, ne jurer que par un cryptage MD5 du mot de passe dans la base.

    Et là, je bloque.

    En effet, lorsqu'on stock le mot de passe de façon crytée, le seul avantage que je vois, c'est qu'on ne connait plus le mot de passe "tel qu'il est saisi par l'utilisateur".
    Mais si le mot de passe crypté fuite, le risque d'utilisation de la signature MD5 reste entier... Sans parler d'un simple brute force sur cette signature, qui permettra en quelques minutes, au pire quelques heures, de retrouver le mot de passe original.

    De ce fait, je ne vois pas bien en quoi c'est tellement mieux que de stocker le mot de passe en clair.

    Je me pose cette question surtout car je vois très souvent des personnes partir du principe que le mot de passe est crypté, ne vont pas chercher à protéger la table de quelque que façon que ce soit.
    Habituellement, je fais un certain nombre d'actions au niveau de la base de données de façon à ne pouvoir en aucun cas accéder au champ mot de passe par requête :
    - Suppression des droits de lecture et autres sur la colonne mot de passe, voir de toute la table, pour tous les utilisateurs
    - Création de procédures/fonctions stockées CheckPassword(login, password), SetPassword(login, oldpwd, newpwd) etc. qui seront les seules façon d'accéder à cette colonne. En aucun cas ces fonction ne retourneront la valeur

    => A quoi ça servira de rajouter une encryption ?

    Cordialement,
    Sylvain Devidal
    On ne jouit bien que de ce qu’on partage.

  2. #2
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    MD5 n'est pas la seule méthode de hashage. Il y en existe des plus "sécurisantes"; les SHA-2 par exemple.

    Ce sont des méthodes de hash et non "d'encryption". Le hash n'est pas reversible, décryptable.

    Pour éviter la bête attaque par dictionnaire il suffit d'utiliser un grain de sel au moment de la création du hash.
    Je n'ai pas vérifier récemment mais il me semble que c'est tout de même très long le "brut force" sur un hash sha-2.

    Certes vous utilisez des fonctions et procédures stockées, mais les mots de passes sont tout de même envoyés au SGBD en clair, sur le réseau.
    Il n'est pas difficile de scanner les packets TCP sur le port qui est souvent par défaut le 1433 et retrouver ces mots de passes....

    De plus avec un stockage des MDP en clair, ce n'est pas seulement la table SQL qu'il faut sécuriser. Mais toute votre méthode de sauvegarde (et restauration?), puisqu'il suffit de récupérer un fichier de sauvegarde pour accéder aux mots de passe.

  3. #3
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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 : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Habituellement, on utilise une connexion sécurisée entre le serveur web et le serveur de base de données, donc non, le mot de passe ne circule pas en claire.

    Un bon point pour la sauvegarde. Je n'y avait pas pensé. Mais je trouve ça maigre.

    Ceci dit, je pense qu'à l'avenir, je passerai par une phase d'encryption du mot de passe (qui peut le plus peu le moins)... Sans pour autant être bien convaincu
    Je pense que les autres éléments de sécurisation sont bien plus importants.
    On ne jouit bien que de ce qu’on partage.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 760
    Points : 52 541
    Points
    52 541
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Régulièrement, je vois des personnes, à la limite de l'intégrisme, ne jurer que par un cryptage MD5 du mot de passe dans la base.
    MD5 et tous les algorithmes de hachage (MD2, MD4, MD5, SHA, SHA1) ne sont ABSOLUMENT PAS des méthodes de cryptage, malgré que quelques produits commerciaux pour demeurés les présentent ainsi, parce ces produits sont incapable de mettre en œuvre une véritable cryptographie.

    En effet, il faut pas plus de 5 minutes pour trouver par force brute, les quelques centaines de littéraux correspondant à une clef de hachage....

    En revanche voici quelques algorithmes de cryptage un peu sérieux :
    • Symétriques : DES, RIPLE_DES, RIPLE_DES_3KEY, RC2, RC4, RC4_128, DESX, AES_128, AES_192, AES_256
    • Asymétriques : RSA_512, RSA_1024, RSA_2048


    La plupart des SGBDR sérieux comme Oralce ou SQL Server utilisent systématiquement un chiffrement (et non cryptage) des mots de passe de type DES à minima !

    A +

    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...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Peut-être que je ne suis pas doué mais j'ai l'impression qu'ils ont corrigé en mettant en oeuvre l'URL rewriting. En tout cas, je ne trouve pas de liens avec un mot de passe.

    Pour autant que je sache, Le Figaro a son site développé à partir de Drupal et je crois que c'est Linagora qui a fait la prestation.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    A la date de parution de cette actu, les mots de passes ressortaient toujours. Regardez les commentaires pour les dégâts potentiels. Un simple hashage aurait déjà bien limité les dégâts, un hashage salé les aurait presque réduit à néant.

    edit: je dis une bêtise : Explication de la faille

    Au final sans rapport avec le sujet puisque je partais de l'hypothèse que les mdp étaient stockés en clair.

    Mais il n'y a aucune utilité de stocker le mdp saisi au départ pour vérifier que c'est bien le même qui est resaisi lors de l'authentification. Donc autant ne pas le stocker en clair.

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Au niveau de la CNIL, ils en pensent quoi ?
    J'ai cherché rapidement sur le site mais je n'ai pas trouvé d'explication précise sur les mots de passe.

  8. #8
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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 : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    J'ai discuté de ce problème sur G+, et crypté ou pas, le problème serait le même. Le souci, c'est que jamais de la vie le mot de passe ne devrait :
    1/ Etre baladé entre le client et le serveur plus d'une fois par session (au moment de l'authentification)
    2/ Jamais de la vie dans une querystring

    Ici, si le mot de passe était crypté, on pourrait toujours exploiter ces url pour s'authentifier à la place de l'utilisateur sur le site, et ainsi effectuer des opérations à leur place.
    On ne jouit bien que de ce qu’on partage.

  9. #9
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    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 : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Au niveau de la CNIL, ils en pensent quoi ?
    J'ai cherché rapidement sur le site mais je n'ai pas trouvé d'explication précise sur les mots de passe.
    Pour moi, la CNIL n'a de compétence que d'un point de vue "fonctionnel", c'est à dire "ce qu'on fait de quelle information, notamment comment on la récupère, comment on la restitue et comment on la diffuse". Les aspects techniques ne sont, à mon avis, pas du ressort de la CNIL.
    On ne jouit bien que de ce qu’on partage.

  10. #10
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    J'ai rectifié mon post suite à la découverte de l'explication. Ca n'enlève rien à l'inutilité de stocker un mdp en clair.

Discussions similaires

  1. [Sécurité] Stockage des mots de passe
    Par Jesmar dans le forum Langage
    Réponses: 4
    Dernier message: 29/03/2007, 21h05
  2. [MySQL] le mot de passe ne tient pas compte des majuscules
    Par jeanfi77 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 28/03/2007, 16h17
  3. [Formulaire]Formulaire login / mot de passe ne marche pas
    Par crissud dans le forum Sécurité
    Réponses: 2
    Dernier message: 22/03/2007, 21h54
  4. [10gR2] Stockage de mots de passe
    Par hotkebab99 dans le forum Oracle
    Réponses: 7
    Dernier message: 10/02/2006, 15h01
  5. stockage de mot de passe. ASP contre md5
    Par christel1982 dans le forum ASP
    Réponses: 15
    Dernier message: 02/12/2005, 08h45

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