PROJET AUTOBLOG


ThomasInTheSky

Archivé

source: ThomasInTheSky

⇐ retour index

Crypter les mots de passe dans les bases de données ? Mais pour quoi faire ?!

vendredi 27 septembre 2013 à 18:18

Si il y a bien quelque chose d’important aujourd’hui sur Internet c’est la sécurité de vos informations. D’ailleurs, certains sites, pour cacher leur manque d’intérêt général mettront cet argument en avant (Mega pour ne citer personne) sans que ça n’ait vraiment d’importance ou d’utilité dans l’utilisation quotidienne du produit.

Cependant, il y a une chose qui me choque et ce depuis des années, c’est les sites qui n’appliquent absolument aucun cryptage aux informations de leurs utilisateurs (oui, même leurs mots de passe).
Et à partir de là je me pose une question simple : si vous étiez le gestionnaire de… je ne sais pas moi, une banque (oui exagérons les choses ça ne fera de mal à personne), vous viendrait-il à l’idée d’avoir les codes personnels de tous vos clients écrits sur une feuille de papier cachée sous le troisième pot de fleur à gauche de la porte d’entrée de votre maison. J’espère que non, parce que c’est tout simplement presque aussi risqué que de donner directement les informations aux méchants… voleurs.

Si jamais vous vous y connaissez un petit peu en informatique, vous devez savoir qu’il existe des algorithmes (très complexes) permettant de transformer une chaîne de caractères en une autre, la particularité de cette dernière étant qu’elle est unique – normalement -, qu’elle a un nombre précis de caractères (qu’importe la longueur de la chaîne d’entrée, la chaîne de sortie aura toujours une longueur constante) et surtout qu’il est impossible de récupérer la chaîne originale à partir de la chaîne de sortie. C’est ce qu’on appelle des hashs, la méthode la plus connue étant le MD5 aujourd’hui dépassé et la plus puissante le SHA512 (mais avant on a eu le SHA256 et plein d’autres). Si vous voulez en découvrir plus, je vous invite à aller essayer ce que j’ai programmé ici.

Quand vous vous inscrivez à un site tel que Facebook, ou Google, ou n’importe quel bon site qui se respecte, le script d’inscription se chargera de stocker vos informations dans une base de données, en prenant bien soin de hasher votre mot de passe pour que personne ne le voie. Ainsi quand vous vous connectez, le site en question vérifie que votre adresse e-mail – ou votre nom d’utilisateur – existe bien dans sa base de données puis hashe le mot de passe que vous lui avez fourni puis le compare avec le hash qu’il a dans sa base de données. Ça ne demande pas de décrypter le mot de passe et, surtout, jamais le site ne peut le lire ou le voir. Si un employé de chez Google voulait regarder vos mails, en admettant qu’il ait les moyens d’entrer dans la base de données, il faudrait qu’il arrive à décrypter le hash de votre mot de passe, et croyez moi ça prend du temps (rapide calcul, un mot de passe alphanumérique de huit caractères ne peut être trouvé que par Bruteforce, c’est à dire essayer toutes les combinaisons possibles, vous devriez donc tenter pas moins de huit puissance soixante-deux mots de passe avant de trouver le bon, enfin au maximum). Cela dit s’il le veut il a qu’à demander à la NSA elle est bien au courant paraît-il.

Maintenant que nous avons vu la théorie, passons à la pratique. Aujourd’hui – je le sais de source sûre – nous sommes en 2013. Et aujourd’hui en 2013 il existe encore des tonnes de sites qui ne hashent pas leurs mots de passe. Non ce n’est pas une blague. Comment je le sais ? Quand vous oubliez votre mot de passe sur un site, le seul moyen de le récupérer est qu’ils vous envoient un mail, et là deux cas possibles :

Et n’allez pas me dire que cette méthode n’est pas répandue. L’un des plus gros sites français, JeuxVideo.com le fait. EklaBlog le fait. Des tas de gens le font alors qu’il suffirait de rajouter un hash(‘sha512′, $string); pour une sécurité infiniment plus grande ! Mais ne rouvrons pas le débat sur JeuxVideo.com, ce site est une honte (pas pour son contenu là c’est encore une chose mais pour son obsolescence et la façon dont il est fait qui n’est absolument pas bien pensée).

Je vous jure qu’il y a des claques qui se perdent, et il y a encore pire : les sites qui vous envoient le mot de passe à l’inscription. Oui parce que c’est vrai que :

Les claques perdues doivent être quantifiées en puissances de dix.