#SoH on irc.geeknode.org
Vous n'êtes pas identifié.
Bonjour tous,
On entend souvent parler des problèmes liés à l'utilisation d'un seul et unique mot de passe pour l'ensemble des services/sites web par utilisateur.
Que quand on en récupère un sur un site pas très net, on récupère la messagerie et tout ce qui en découle. Bref, rien de neuf.
D'où l'idée de créer un genre d'extension Firefox/Chrome/... qui marche selon le principe suivant :
L'utilisateur utilise une passphrase qui lui est propre. Une unique. L'outil "incruste" le nom de domaine( ou autre, à voir) dans cette passphrase, puis utilise un algorithme de hashage, typiquement sha1, afin d'obtenir un mot de passe solide, qui est ensuite utilisé sur le site.
Les différents avantages de cette méthode sont que le mot de passe va totalement changé selon le site visité ; qu'il n'est pas possible de remonter à la passphrase original et donc de déduire les pass pour les autres sites ( du moins pour le sha1) ; que plusieurs utilisateur sur la même machine auront des mots de passe différent et que les mots de passe ne sont pas à proprement parler stocké sur la machine cliente.
Et bien entendu, l'utilisateur n'a a retenir qu'un seul et unique mot de passe, qu'il peut choisir suffisamment simple ( du à l'algorithme de hashage ).
Voici donc mes questions :
- Avez vous la connaissance d'un projet similaire ? Ça ne sert à rien de réinventer la roue
- Pensez-vous que ce projet est viable ? Ne souffre-t-il pas d'un défaut de conception
- Si il voyait le jour, l'utiliseriez-vous ?
Merci d'avance pour vos réponse, n'hésitez pas à critiquer ( de façon constructive ! ) le projet ![]()
Cordialement,
Ajax
Hors ligne
Le gros problème, c'est que tu deviens intimement lié à ta machine pour la consultation de tes sites : Depuis une autre machine, tu aurais du mal à retrouver un mot de passe de 40 caractères hexa ![]()
Sinon, là comme ça, je n'y vois pas d'autres freins.
Hors ligne
il y en a un, qui est dû au hashage. Comme la plupart des sites (et c'est une bonne pratique) vont hasher ton mot de passe à l'inscription, fournir un hash en entrée (qui sera donc ensuite hashé lui-même par dessus) élève au carré la probabilité de collisions et ce, quel que soit l'algo. Pour détailler un peu plus, j'avais écris sur un forum un truc un peu plus long à ce sujet ( http://www.zdnet.fr/actualites/les-10-mots-de-passe-a-ne-surtout-jamais-employer-39711315.htm#comment-28078864 )
La probabilité de collision est ce danger selon lequel il n'est pas nécessaire de connaitre le bon mot de passe pour accéder au compte.
Hors ligne
Effectivement, je ne savais pas cela. Néanmoins, la probabilité, même élevée au carré, reste très très faible. De plus, il est possible d'utiliser un autre algorithme de hashage, ou alors d'exécuter une opération sur le hash obtenu ( substitution ou autre ). Celà pourrait-il réglé le problème ?
Hors ligne
disons qu'un principe de base en sécurité est surtout de ne jamais se satisfaire d'une probabilité très très (et autant de "très" qu'on veut)...faible. Parce que quel que soit le score de proba, ça veut surtout dire que c'est possible.
Et un peu dans la même idée, ce qui parait faible aujourd'hui ne présage pas de ce que sera demain. Je m'explique : même si on constate aujourd'hui que forcer un algo de hash à la recherche d'un clair correspondant peut prendre des siècles, ce n'est pas non plus une valeur de sécurité. Je le dis avant que d'autres pensent que, bon, SHA-x ça va, on est pas couchés si on veut s'y attaquer. Je réponds : oui, _aujourd'hui_. Et demain ?
Quand CUDA est sorti pour le grand public on est passés quasiment du jour au lendemain de dizaines de millions de mots de passe par seconde à plusieurs centaines pour MD5 (je ne veux pas parler ici de la sécu de MD5, c'est juste pour prendre une base d'exemple connue de tous)
Quant à utiliser un autre algo ( je comprends : "que celui de la base du site"), je vois difficilement comment étant donné qu'à priori quand l'utilisateur s'inscrit il n'est pas censé savoir ou prédire quel algo va se cacher derrière et s'y adapter en fonction (c'est à dire : en choisir un autre dans ton plugin si j'ai bien compris ce que tu voulais dire).
Enfin, concernant le fait d'y opérer une transformation, même si je trouve l'idée de départ d'un mot de passe unique mais qui s'adapte au contexte séduisante je me dis qu'avec toutes ces opérations (salt avec le domaine, hash, manip' (s ?) du hash) on a peut être aussi bien (et vite) fait de tout simplement revenir au bon vieux générateur aléatoire qui, en plus, présente l'intérêt de pouvoir élargir le charset (on en a pas parlé, de ça !).
Hors ligne
Hum, je suis tout à fait d'accord avec ce que tu dis. A comparaison avec un générateur aléatoire, l'avantage est ici que le "script" est "portable". Plusieurs utilisateur ou plusieurs navigateur/machine ne posent pas de problème ( contrairement au générateur aléatoire qui va devoir stocker les mots de passes, bref ).
En faite, il faudrait pouvoir comparé la probabilité de réussite (i.e. une réussite en un temps raisonnable ) de retrouvé le mot à partir du hash, avec celle que le mot de passe "original" de l'utilisateur soit trouvé ( par brute force, dico, faille sur le site, .. ), probabilité incalculable.
J'avoue ne pas avoir d'idée pour contourner le problème. ( Utiliser un autre algorithme au lieu du hashage, comme par exemple un chiffrement style RSA sans connaissance de la clé privé, avec un ajout de bruit au départ pour faire varier la taille du texte, ajout de bruit déterminé par le domain name ou autre... mais seulement revient à hasher, non ? )
Merci pour tes réponses argumentés en tout cas!
EDIT : La question se pose-t-elle réellement ? L'hypothèse selon laquelle l'attaquant sait que le pass de départ appartient à l'ensemble fini de l'image par "sha-x" est-elle justifiée ?
Dernière modification par Ajax (15/07/2010 14:34:02)
Hors ligne
le mieux si tu réfléchis réellement à une nouvelle méthode de sécurité serait éventuellement d'en rédiger un RFC. C'est ce qu'on fait dans les développements de projets quand il s'agit de présenter et demander les avis autours d'une modification majeure, ca permet de bien expliquer dans le détail et de façon claire et complète l'ensemble de ce à quoi on pense.
On devrait donc y trouver la description de la problématique actuelle ou des champs (besoins) non couverts par les solutions déjà disponibles, en quoi la solution qui est proposée pourrait y apporter des réponses pertinentes, l'étude de tous les aspects de la question, des exemples théoriques avec mises en situation, éventuellement des schémas simples (ca doit rester en txt) si nécessaire, des références vers les notions citées qui sont importantes...
En bref, une mise à plat complète qui permet à chaque personne souhaitant y réfléchir d'avoir tous les éléments. Un exemple de ce genre de document : http://fz-corp.net/repository/echo_proposal.txt
Hors ligne
Je viens de tomber là dessus: http://wijjo.com/Category/Passwordhasher
Dernière modification par Mikiael (11/08/2010 16:25:29)
Hors ligne
Merci pour l'info, je n'avais en effet pas vu ce logiciel.
Hors ligne