Précédent   Forum du club des développeurs et IT Pro > Bases de données > Décisions SGBD > Autres
Autres Autres sujets sur les SGBD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 11/07/2012, 15h19   #1
StringBuilder
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 517
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 34
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : février 2010
Messages : 1 517
Points : 2 381
Points : 2 381
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
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2012, 16h40   #2
Oishiiii
Membre chevronné
 
Avatar de Oishiiii
 
Administrateur de bases de données
Inscription : août 2009
Messages : 407
Détails du profil
Informations personnelles :
Âge : 25

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

Informations forums :
Inscription : août 2009
Messages : 407
Points : 694
Points : 694
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.
Oishiiii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2012, 16h43   #3
StringBuilder
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 517
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 34
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : février 2010
Messages : 1 517
Points : 2 381
Points : 2 381
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.
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2012, 23h40   #4
SQLpro
Rédacteur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 12 099
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 12 099
Points : 21 728
Points : 21 728
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
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2012, 08h53   #5
vmolines
Membre Expert
 
Inscription : mars 2005
Messages : 1 682
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2005
Messages : 1 682
Points : 2 494
Points : 2 494
Citation:
Envoyé par StringBuilder Voir le message
De ce fait, je ne vois pas bien en quoi c'est tellement mieux que de stocker le mot de passe en clair.
Un exemple : http://korben.info/figaro-importante...registres.html
vmolines est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2012, 09h24   #6
CinePhil
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 13 659
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 49
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 : 13 659
Points : 25 562
Points : 25 562
Envoyer un message via MSN à CinePhil
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 de Formation Agronomique. Autoentrepreneur.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2012, 09h35   #7
vmolines
Membre Expert
 
Inscription : mars 2005
Messages : 1 682
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2005
Messages : 1 682
Points : 2 494
Points : 2 494
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.
vmolines est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2012, 10h12   #8
Waldar
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 6 278
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 35
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2008
Messages : 6 278
Points : 13 549
Points : 13 549
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
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.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2012, 10h58   #9
StringBuilder
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 517
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 34
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : février 2010
Messages : 1 517
Points : 2 381
Points : 2 381
Citation:
Envoyé par vmolines Voir le message
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.
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2012, 10h59   #10
StringBuilder
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 517
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 34
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : février 2010
Messages : 1 517
Points : 2 381
Points : 2 381
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.
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2012, 11h00   #11
vmolines
Membre Expert
 
Inscription : mars 2005
Messages : 1 682
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2005
Messages : 1 682
Points : 2 494
Points : 2 494
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.
vmolines est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h44.


 
 
 
 
Partenaires

Hébergement Web