Discussion ouverte sur la sécurité des gestionnaires de MdP

TiTwo102

Membre confirmé
25 Août 2017
93
15
42
Bonjour,

Je me tâte à commencer à utiliser un gestionnaire de mots de passe, par contre, j’ai clairement une inquiétude, c’est la sécurité. L’expression « ne pas mettre tous ses oeufs dans le même panier » prend en effet ici une grosse claque dans la gueule.

Je compte m’orienter vers Bitwarden. La raison est simple : je suis allergique aux abonnements.

J’ai pas vraiment de questions spécifiques, si ce n’est d’essayer de comprendre en language non pro à quel point on peux faire confiance à ce genre de logiciel ? Le sujet est donc très ouvert.
Un exemple parmi d’autres, les mots de passes stockés sur les serveurs sont ils accessibles ou non, un peu comme des conversations qui sont cryptées de bout en bout ou non pour des applications de messagerie.

Si des gens au point sur ce genre de sujets, ou travaillant sur ce genre de trucs, sont capable d’expliquer en language simple ? Merci d’avance et bon confinement.
 
Bitwarden utilise le chiffrement de bout en bout : tu es le seul à pouvoir déchiffrer tes données. Leur serveur ne fait grosso modo rien d’autre que de stocker des données chiffrées.
 
Ok, mais du coup (et ça vaut pour n’importe quel système équivalent), vu qu’on peut se connecter avec notre MdP maître depuis n’importe où, il faut bien que celui-ci soit stocké par l’entreprise sur ses serveurs, et meme si elle le stocke de façon chiffrée, il faut bien qu’elle puisse le déchiffrer ? Sinon elle n’a aucun moyen de vérifier que le MdP maître est le bon quand on se connecte quelque part . Donc même avec ce chiffrement de bout en bout, un malandrin pourrait s’attaquer au stockage des MdP maîtres plutôt qu’au stockage de tous les MdP géré par l’appli ?

Par exemple, sur le site de Bitwaren, y’a ça d’indiqué :

Bitwarden salts and hashes your master password with your email address on the client (your computer/device) before it is transmitted to our servers. Once the server receives the hashed password from your computer/device it is then salted again with a cryptographically secure random value, hashed again and stored in our database. This process is repeated and hashes are compared every time you log in.

Admettons que je crée mon MdP maître sur mon telephone. Si je comprend bien, il est encrypté avant même d’être envoyé sur les serveurs, puis encore sur les serveurs (de façon aléatoire). Mais du coup, quand je vais me connecter depuis un autre endroit (une tablette par exemple), comment les serveurs font pour vérifier que mon MdP est le bon puisqu’ils ne peuvent pas le déchiffrer et que le premier chiffrement a été fait au hasard sur mon téléphone ? A moi que le téléphone dise à la tablette comment il a crypté le MdP la première fois.

Au final tout ça ne s’applique pas qu’aux gestionnaires de MdP d’ailleurs.
 
il faut bien qu’elle puisse le déchiffrer ?

Bah non justement... Bitwarden conserve en quelque sorte une empreinte (à partir de laquelle il est impossible de trouver le mot de passe ou de déchiffrer les données) qui permet de t’authentifier. Empreinte unique calculée savamment (c’est-à-dire avec tout la panoplie des méthodes de chiffrement) en utilisant, semble-t-il, le mot de passe maître et l’adresse e-mail. Tout ça calculé sur ton device.
Quand tu t’authentifies le serveur compare les empreintes, si elles correspondent le serveur t’envoie tes données chiffrés et c’est ton device qui les déchiffre.

Tu peux te connecter depuis n’importe quel device à partir du moment où tu as ton mot de passe maître et ton login (ton adresse e-mail).
 
OK, mais du coup, qu’est ce qui empeche quelqu’un de voler cette empreinte, et, sans meme pouvoir remonter jusqu’au mot de passe, l’utiliser pour se connecter ?
Puisque que quand on tape son mail et son MdP pour se connecter, ça recrée l’empreinte qui est ensuite comparée à celle sur les serveurs, avoir l’empreinte c’est finalement avoir à la fois l´identifiant et le mot de passe, non ? Il « « « suffirait » » » de faire croire au serveur qu’on vient de rentrer l’identifiant et le MdP quelque part et que donc l’empreinte a été recréé, alors qu’en fait on a « « « juste » » » rentré directement l’empreinte.

Dans l’idée que je m’en fait d’après ce que tu écris, c’est comme si pour ouvrir un gros coffre avec une clef il faut d’abord un code pour ouvrir un petit coffre contenant cette clef. On a pas besoin du code du petit coffre si on a déjà une copie de la clef du gros coffre.

Je dis pas que c’est possible, ni facile, ni que j’ai bien compris ce que tu as dis. Je cherche juste à comprendre un peu tout ce système dont on nous rabâche les vertus régulièrement sans jamais vraiment en expliquer le fonctionnement.
 
Bonjour

Dans le principe, tu aurais raison.
Mais en pratique, ce système d’empreinte dispose d’un mécanisme anti rejeu:
  • tu ne peux pas déduire le mot de passe depuis l’empreinte
  • une empreinte envoyée en direct sera vue, car elle n’a pas été calculée à la volée.
  • les empreintes ont souvent une durée de vie. Donc le temps d’intercepter l’empreinte et de la renvoyer, la durée de vie est dépassée.

Et il peut y avoir plein d’autres systèmes.

Ceci dit, peut être à tort, je suis allergique aux gestionnaires de mot de passe « cloud ». Je refuse que tous mes mots de passe soient stockés sur un espace que je ne maitrise pas.
J’utilise, depuis fort fort longtemps splashid (je l’utilisais déjà sur mes Palm!). Il stocke tout en local, avec une synchro wifi avec mon iphone.
 
dont on nous rabâche les vertus régulièrement sans jamais vraiment en expliquer le fonctionnement.

Suis loin d’être spécialiste dans ce domaine. J’en comprends une partie et pour le reste je fais confiance au consensus des chercheurs dans ce domaine (lequel est assez complexe c’est vrai).


avoir l’empreinte c’est finalement avoir à la fois l´identifiant et le mot de passe, non ? Il « « « suffirait » » » de faire croire au serveur qu’on vient de rentrer l’identifiant et le MdP quelque part et que donc l’empreinte a été recréé, alors qu’en fait on a « « « juste » » » rentré directement l’empreinte.

Et ? Rappelles toi : l’empreinte seule ne sert à rien. Même le serveur ne peut pas déchiffrer alors qu’il possède l’empreinte.
Il y a deux mécanismes en fait : l’authentification (c’est ce que l’empreinte met en œuvre) et le déchiffrement (que tu fais sur ton device).
Donc finalement ce que tu veux, c’est qu’on te vole ton mot de passe et ton login. Est-ce que cela peut arriver ? Bah oui : est-ce que ton ordinateur est sûr ? Etc... Les hackers ne sont jamais à court d’idées.
 
L'empreinte c'est surtout utilisé pour l'accès à un site : tu donnes ton mot de passe, on le transforme en empreinte, si ça colle avec l'empreinte mémorisée, tu passes, sinon dehors.
Mais pour un gestionnaire de mot de passe on ne fait pas comme ça, on ne garde pas tous les mots de passe en clair pour ne te les donner que si tu as le bon mot de passe maître, ce serait trop facile à contourner en allant voir directement dans le fichier.
Les mots de passe sont encodés avec le mot de passe maître, et décodés avec le mot de passe que tu redonnes. Si c'est le même, le décodage se fait bien, si ce n'est pas le même ça décode aussi, mais donne un autre résultat totalement inutile. Alors il peut aussi y avoir une empreinte pour le détecter et te mettre un joli message d'erreur, mais elle ne participe pas au décodage.
 
Arf, je pensais avoir compris avec le message de @drs, et finalement les 2 messages suivant me font penser le contraire.

Si je devais résumer ma pensée sur les 2 derniers messages, je dirais :
  1. On se connecte avec notre login et MdP,
  2. Cela crée une empreinte,
  3. Cette empreinte est comparée à celle sur les serveurs,
  4. Si c’est la bonne, le serveurs nous envois nos données, mais toujours chiffrées,
  5. Pour les déchiffrer, il y a une comparaison qui est faite avec notre MdP maître, mais en local.

Pour l’étape 5, j’imagine que le MdP maître est stocké chiffré sur les serveurs, donc il faut qu’en local il soit fait exactement le même chiffrement de ce MdP maitre, sinon la comparaison est fausse.
C’est bien ça ? (Et vu qu’il n’est pas possible de remonter au MdP maître depuis les données chiffrées sur serveur, on ne peut pas faire l’inverse et déchiffrer le MdP maître en local pour le comparer à celui qu’on vient de taper).

Si c’est bien ça, j’ai quand même un problème avec cette étape 5. Si c’est possible d’utiliser le même chiffrement, ca ve dire qu’il est fixe et pas aléatoire (sinon impossible de savoir lequel il faut utiliser pour que la comparaison soit bonne à la fin), donc je vois pas finalement ce qui empêche de déchiffrer ce qui est chiffré (vu que la méthode est connue) ? Et la méthode de chiffrement doit forcément être stockée sur les serveurs, sinon, admettons que nous n’ayons aucune session ouverte, il faut bien que l’appareil ou on se connecte sache quelle chiffrement utiliser pour que la comparaison soit bonne.

Ceci dit, peut être à tort, je suis allergique aux gestionnaires de mot de passe « cloud ». Je refuse que tous mes mots de passe soient stockés sur un espace que je ne maitrise pas.
J’utilise, depuis fort fort longtemps splashid (je l’utilisais déjà sur mes Palm!). Il stocke tout en local, avec une synchro wifi avec mon iphone.

Je jèterai un œil à splashID. Ceci dit le cloud a quand même un avantage dans ce cas, eviter de perdre ses donnée (bien que je me suis toujours demandé s’il y avait des cas ou le serveur sur lequel sont stockées les données de telles ou telles personne rend l’âme...). Ce qui m’a fait me diriger vers Bitwarden aussi, c’est qu’il est totalement open source.

@Chris K , pour le fait que le plus facile soit de s’attaquer au PC utilisateur, je suis d’accord. Il faut espérer que dans ces cas la double authentification fasse sont boulot. Il faut être fou pour ne pas l’activer pour des données aussi sensible qu’un gestionnaire de MdP.
 
vu que la méthode est connue

C’est la base même d’un bon protocole de chiffrement ! Le système de chiffrement ne doit pas exiger le secret : il doit être connu de tous et résister même si un attaquant connaît la méthode de chiffrement.

Est-ce qu’un protocole de chiffrement (et de sécurité) peut-être totalement sûr ? C’est indécidable par nature (démontré par Turing).
 
Quand je disais connu, je voulais dire sans partie aléatoire. Mais bon je commence à y voir un peu plus clair .

Bizarrement, y’a énormément de trucs qui reposent sur la sécurité informatique, à commencé par quelque chose qu’on a tous : notre argent à la banque. Pourtant, autant pour la banque je me pose pas trop de questions, autant pour le cloud et les gestionnaires de MdP, c’est autre chose. A tort peut-être...
 
Quand je disais connu, je voulais dire sans partie aléatoire. Mais bon je commence à y voir un peu plus clair .

Bizarrement, y’a énormément de trucs qui reposent sur la sécurité informatique, à commencé par quelque chose qu’on a tous : notre argent à la banque. Pourtant, autant pour la banque je me pose pas trop de questions, autant pour le cloud et les gestionnaires de MdP, c’est autre chose. A tort peut-être...

Il y a une partie aléatoire : c’est le salage. Qui consiste à ajouter des caractères (c’est le serveur qui le fait) au mot de passe donné par l’utilisateur et d’en calculer l’empreinte. Deux utilisateurs ayant le même mot de passe n’auront donc pas la même empreinte. Cela permet également de lutter contre certains types d’attaques.

Ayant longtemps bossé dans l’informatique bancaire (il y a une dizaine d’année tout de même), niveau sécurité c’était ... proche de zéro.
 
Pour la perte des données sur splashid, c’est dans mon cas peu probable car:
  • j’ai une version dans mon mac
  • une autre dans mon iphone
  • des sauvegardes régulières (et chiffrées) sur mon syno
Donc même dans le cas peu probable où mon mac et mon iphone ont un problème en même temps sur la base splashid, j’ai toujours la sauvegarde.
 
Ayant longtemps bossé dans l’informatique bancaire (il y a une dizaine d’année tout de même), niveau sécurité c’était ... proche de zéro.

C’est pas rassurant, mais d’un autre côté ca ne m’étonne pas. Y’a qu’à voir le peu de banques qui proposent la double authentification. Et même celles qui le font, c’est généralement via SMS, qui est la méthode la moins sécurisée de toutes.

Pour la perte des données sur splashid, c’est dans mon cas peu probable car:
  • j’ai une version dans mon mac
  • une autre dans mon iphone
  • des sauvegardes régulières (et chiffrées) sur mon syno
Donc même dans le cas peu probable où mon mac et mon iphone ont un problème en même temps sur la base splashid, j’ai toujours la sauvegarde.

J’ai vu ce système de synchro Wifi entre appareils. C’est pas mal du tout, mais c’est uniquement avec abonnement. Dommage. Ca permet de s’affranchir du cloud pour ceux qui sont pas à l’aise avec ça.

Les serveurs à la maison type Synology je me méfie un peu quand même (pourtant leurs produits sont tops). J’ai rien contre, mais quand on s’y connait pas et qu’on ne sait pas le sécuriser (ce qui est mon cas) je pense que ça peut vite être à double tranchant.
 
Pour Splashid, j'ai une version "lifetime", sans abonnement et sans synchro cloud, juste avec la synchro wifi, exactement ce qu'il me faut.
Concernant le syno, je suis d'accord, mais en ce qui me concerne, c'est mon boulot, donc ca va. Ensuite, tu peux aussi faire une sauvegarde régulière sur une clé usb par exemple.
 
Trop tard, j’ai commencé à utiliser Bitwarden hier.

Bizarre -et surtout dommage- cette politique de cacher l’achat comme ça.