Le projet open source Mooltipass a été lancé il y a maintenant sept ans, avec pour but d’offrir une solution hors ligne de stockage de noms d’utilisateur et mots de passe, de petits fichiers et de clefs SSH. Au contraire des solutions similaires existantes sur ordinateurs et téléphones, le Mooltipass est un élément dédié qui effectue seulement les opérations de sécurité. Composé d’extensions navigateur (Chrome, Firefox et Opera), d’un logiciel de gestion de bases de données multi‑plate‑forme et d’un appareil dédié branché en USB ou Bluetooth, nous vous faisons découvrir le fruit de sept ans de travail de contributeurs non rémunérés.
Sommaire
- L’appareil Mooltipass — principe de fonctionnement
- Le Mooltipass Mini BLE — l’architecture interne
- Mooltipass Mini BLE — l’émulateur
- Le logiciel compagnon — Moolticute
- Les extensions
- Compromis entre facilité d’utilisation et sécurité
L’appareil Mooltipass — principe de fonctionnement
Les trois appareils Mooltipass (Mooltipass Standard, Mooltipass Mini et Mooltipass Mini BLE) reposent sur le même principe de fonctionnement : chaque appareil contient une base de données chiffrée (AES‑256) par une clef contenue sur une carte à puce, elle‑même verrouillée par un code PIN (entré sur l’appareil). Comme avec les cartes bancaires, trois tentatives erronées bloquent indéfiniment la carte. Une telle solution permet ainsi à une personne d’utiliser plusieurs appareils, et à plusieurs utilisateurs de partager un seul appareil. La carte à puce peut être clonée, la base de données peut être exportée.
Pour éviter l’enfermement propriétaire (vendor lock‑in), l’équipe de Mooltipass fournit un script Python qui, avec un lecteur de carte à puce acheté sur le marché, permet de déchiffrer le fichier de sauvegarde d’un utilisateur.
Le Mooltipass Mini BLE — l’architecture interne
L’équipe de Mooltipass lance en ce moment une campagne Kickstarter pour son dernier appareil : le Mooltipass Mini BLE. Comme tout le reste de l’écosystème, micrologiciel et matériel sont open source. Comparé à ses prédécesseurs, le Mooltipass Mini BLE se caractérise par une architecture basée sur deux microcontrôleurs : l’un est dédié aux communications externes (USB et Bluetooth), l’autre à la partie sécurité.
Le Mooltipass Mini BLE comprend aussi :
- une mémoire Flash dédiée aux bases de données utilisateurs ;
- une mémoire Flash dédiée aux ressources micrologicielles (graphiques, chaînes de caractères, mises à jour) ;
- un écran OLED de 256 × 64 px monochrome ;
- un adaptateur Bluetooth ;
- une batterie NiMH pour une utilisation mobile.
Côté micrologiciel, le processeur « sécurisé » n’utilise que des bibliothèques développées par l’équipe de Mooltipass, à l’exception bien sûr des fonctions de chiffrement : la librairie BearSSL est ainsi utilisée. En se perdant dans les fichiers sources sur le projet GitHub officiel, vous pourrez ainsi trouver :
- un format de stockage de fichiers (graphiques, chaînes de caractères, fichiers binaires, etc., et doc) ;
- un format de stockage de base de données (doc) ;
- une bibliothèque graphique avec gestion de la compression RLE et du tampon de trame (frame buffer).
À noter que le micrologiciel gère l’Unicode BMP et qu’il est possible de changer la langue de l’interface utilisateur (sont pour l’instant présents : anglais, français, allemand, italien, néerlandais, portugais, slovénien et finnois). L’équipe invite des contributeurs à rajouter des traductions en fournissant un fichier texte dédié.
Mooltipass Mini BLE — l’émulateur
Afin de faciliter les contributions, un émulateur de Mooltipass Mini BLE est disponible, pouvant être compilé sur Windows ou GNU/Linux. Celui‑ci est ensuite directement reconnu par l’écosystème, permettant de directement tester ce dernier.
Le logiciel compagnon — Moolticute
Moolticute est le logiciel compagnon du Mooltipass, compatible GNU/Linux, Windows et macOS, et entièrement libre. Il est écrit en Qt. Celui‑ci permet de :
- gérer ses fichiers, noms d’utilisateur et mots de passe ;
- exporter, importer et synchroniser sa base de données ;
- paramétrer son Mooltipass ;
- réaliser l’interface entre les navigateurs et l’appareil.
Il utilise une architecture réseau avec un démon qui s’occupe de la communication avec l’appareil et qui exporte un protocole simple via WebSocket aux différents clients. Le principal client est Moolticute, mais les différentes extensions des navigateurs l’utilisent également. Il existe aussi des outils en ligne de commande pour interagir avec ses identifiants, mc-cli, ou encore un agent SSH, mc-agent, qui fait le lien avec les clefs SSH stockées dans l’appareil.
Exemples :
moolticute-cli login get mywebsite.fr raoulh
mysql -u root -p=$(moolticute-cli login get mydb root)
Les extensions
Dernier élément de la chaîne, les extensions permettent à l’appareil de détecter automatiquement quand un couple nom d’utilisateur et mot de passe doit être enregistré ou entré sur une page. Lorsqu’une action est nécessaire, le Mooltipass vous invite à la confirmer directement sur l’appareil.
Il est aussi important de noter que le Mooltipass permet aussi de « simuler » un clavier, vous permettant ainsi via son interface de lui faire taper n’importe quel texte dans n’importe quelle application.
Compromis entre facilité d’utilisation et sécurité
Convivialité et sécurité ne vont pas forcément toujours de pair, et c’est pourquoi le Mooltipass Mini BLE permet aux utilisateurs de paramétrer leurs préférences. Par exemple, vous pouvez choisir si vous aimeriez approuver chaque requête de nom d’utilisateur ou tout simplement laisser l’appareil faire son travail.
Les mises à jour des micrologiciels faisant l’objet d’une signature cryptographique, l’équipe espère ainsi pouvoir offrir de nouvelles fonctionnalités en fonction des contributions obtenues. Il est important de noter que l’appareil gère la nouvelle norme FIDO2/WebAuthn, permettant une identification à des services sans nom d’utilisateur ou mot de passe, en utilisant des challenges cryptographiques.
Aller plus loin
- Dépôt GitHub (87 clics)
- Kickstarter Mooltipass Mini BLE (220 clics)
- Site du projet (305 clics)
# J'hésite
Posté par claudex . Évalué à 10.
Je trouve ça très intéressant, j'ai juste peur que ça ne soit pas si pratique que ça. Actuellement, j'utilise un keepass synchronisé sur mon téléphone et mon PC, du coup, j'ai tout le temps mes mots de passe avec moi. Là, ça voudrait dire prendre toujours avec moi un appareil en plus (et toujours penser à le prendre).
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: J'hésite
Posté par stopspam . Évalué à 2.
Pareil, un keepass synchronisé régulièrement et une copie de sauvegarde dans un endroit différent, à l'abris et caché.
[^] # Re: J'hésite
Posté par Eiffel . Évalué à 1.
Ma question va paraître bête et peut-être indiscrète mais où est synchronisé votre keepass ?
Je sais que le fichier kdbx est chiffré mais je pense qu'il faut vraiment avoir confiance en l'hébergeur du fichier.
[^] # Re: J'hésite
Posté par Psychofox (Mastodon) . Évalué à 3.
Avec syncthing tu peux synchroniser différents appareils qui t'appartiennent quand ils se retrouvent sur le même réseau.
Il est aussi possible de s'arranger avec un tiers de confiance (famille ou amis) dont tu sais que leurs compètences leur permettre de sécuriser le tout correctement.
[^] # Re: J'hésite
Posté par stopspam . Évalué à 2. Dernière modification le 04 août 2020 à 08:12.
Le port non officiel android prend en charge de nombreuses source de données dont les grands clouds. J'utilise gdrive et j'ai une backup ailleurs dans le cas ou je ne peux pas accéder à gdrive dans la minute.
[^] # Re: J'hésite
Posté par NicolasP . Évalué à 5.
C'est surtout en la robustesse du chiffrement du fichier qu'il faut avoir confiance. L'objectif est justement de ne pas avoir besoin de faire confiance à l'hébergeur.
Ça nécessite aussi d'avoir un mot de passe très fort. Un point utile pour améliorer la sécurité si on n'est pas sûr de son mot de passe, c'est d'utiliser en plus un fichier clé. Il faut ensuite le synchroniser une fois manuellement sur tous les PC ayant besoin d’accéder au kdbx et de ne surtout pas le synchroniser sur l'hébergeur.
[^] # Re: J'hésite
Posté par Frederic Bourgeois (site web personnel) . Évalué à 2.
Pour ma part j'utilise bitwarden en (auto hébergé) j'en suis vraiment content, du coup j'ai viré keepass de toutes mes machines, android, pc, etc que je trouvais moins pratique en mode multi
[^] # Re: J'hésite
Posté par monsieurw . Évalué à 1.
Hello
J'utilise aussi un Keepass synchronisé, et j'hésite également à investir dans une solution autre.
J'ai vu la clef Pastilda https://www.pastilda.com/ de Third Pin.
- se connecte entre un clavier et PC (donc plutôt réservé à un PC fixe)
- vu comme un clavier et une clef USB
- une base Keepass est installée sur la clef USB
- transmet normalement toutes les touches du clavier ; après une combinaison particulière, passe en mode "pastida"
- le mot de passe maître de la base Keypass n'est jamais transmis au PC (sauf à l'initialisation de la base, je pense).
Un point positif à mon sens, c'est qu'en cas de perte de la clef, il reste toujours possible d'utiliser Keepass (à condition bien évidemment d'avoir pensé à faire une sauvegarde de la base ailleurs), pas besoin d'outil spécifique.
Cela dit, je ne suis pas certain que ça soit extrêmement pratique dès qu'on dépasse la vingtaine de mots de passe.
# Keepass + Inpustick
Posté par hgwells . Évalué à 10.
Bonjour,
Je serais intéressé par un retour d'expérience sur un tel matériel.
S'il est déchargé ou perdu, peut-on accéder à ses mots de passe par un autre biais ?
Pour ma part j'utilise depuis quelques années Keepass sur Android avec un adaptateur physique Inpustick.
On sait que les mots de passe longs, complexes, différents (pour chaque compte) et aléatoires améliorent la sécurité.
Le soucis est que la saisie manuelle sur clavier finit par vite rebuter.
L’adaptateur Inpustick est un récepteur sans fil (bluetooth + chiffrement 128 bits) qui se branche en USB.
Il sera reconnu comme un clavier et une souris sur la machine où vous le brancherez.
C'est pratique car il est reconnu sans pilote et cela même avant le chargement de l'OS: on peut ainsi mieux sécuriser son BIOS ou la clef de chiffrement matériel d'un SSD/HDD.
Par exemple quand j'ai besoin de saisir un mot de passe, j'ouvre Keepass sur le mobile qui "injectera" le mot de passe directement vers mon PC, et je n'ai aucun logiciel à installer sur ce dernier.
Pour la première mise en service on installe sur le mobile l'application InpustickUtility puis le plugin "KP2A" pour Keepass, un peu de configuration et voilà !
Le prix est de 35 €, j'ai fini par en prendre un deuxième tellement c'est pratique (maison + travail).
A noter que l'Inpustick ne stock rien, si vous le perdez vous aurez perdu le prix de son investissement - c'est tout.
# clé
Posté par arnauld . Évalué à 4.
Et ça peut remplacer une clé type yubikey, on peut mettre des clés pgp/gpg dessus et faire de la double autentification ?
arnauld
[^] # Re: clé
Posté par Franck Routier (Mastodon) . Évalué à 5. Dernière modification le 03 août 2020 à 13:12.
Je partage un peu cette interrogation: quels avantages / inconvénients par rapport à une carte OpenPGP comme la Yubikey, combinée avec par exemple le logiciel pass (https://www.passwordstore.org/) ?
A priori:
1) avantages :
2) inconvénients :
Nb :
Avec pass + yubikey, j'utilise un petit dépôt git (autohébergé) pour rendre disponible les fichiers de pass et les synchroniser entre mes différents appareils (mobile, ordinateur portable, etc…). Ca marche bien, mais la mise en place est un peu lourde.
Nb2: outre le code pin de déverrouilage, la yubikey possède également un "bouton" capacitif qui permet de rendre obligatoire un accès physique à la clé à chaque usage, tout en étant ultra rapide, ce que je trouve à la fois pratique et sécurisant
[^] # Re: clé
Posté par limpkin . Évalué à 2.
Je suis d'accord avec vos points… cependant nous espèrons qu'à l'avenir nous pourrons avoir le temps d'implémenter les fonctionnalités PGP sur l'appareil (ou peut être un futur contributeur?).
Une rapide remarque qu'avec une yubikey, vous ne savez jamais ce que vous approuvez avec certitude…
[^] # Re: clé
Posté par aiolos . Évalué à 1.
Puisque tu semble faire parti du projet. Je n'arrive pas à trouver les sources de la partie carte à puce, ni même de quel SE il s'agit, avec quelle application. Tu aurais des pointeurs (ou à defaut des infos) ?
[^] # Re: clé
Posté par gouttegd . Évalué à 5.
Je ne sais pas quel microcontrôleur vous utilisez (je n’ai trouvé cette information nulle part sur votre site, et je ne sais pas interpréter les fichiers disponibles dans le dépôt minible_hw), mais pour information, il existe une implémentation complètement libre de la carte OpenPGP pour contrôleur STM32F103 : Gnuk.
(Je n’ai pas la moindre idée de l’effort que demanderait le portage de cette implémentation sur le contrôleur du Mooltipass, si ce n’est pas un STM32…)
[^] # Re: clé
Posté par Thomas Capricelli (site web personnel) . Évalué à 2.
Pareil, je me demande bien ce qu'ils utilisent, surtout pour le "secure MCU".
[^] # Re: clé
Posté par aiolos . Évalué à 3. Dernière modification le 04 août 2020 à 23:32.
D'après le résumé en pdf du dépôt minible_hw, le "secure" MCU est un ATSAMD21E15, un mcu 32 bits generaliste de chez Atmel/Microchip ; la partie "core" est un combo SIP bluetooth/MCU, le ATBTLC1000, également de chez Atmel/Microchip.
# Qui de la mobilité ?
Posté par unam . Évalué à 1. Dernière modification le 03 août 2020 à 11:05.
L'outil et le concept semblent prometteurs.
Qu'en est il en mobilité ? Si je veux accéder à mes mots de passe sur téléphone, puis je connecter le device en usb et accéder aux identifiants ?
[Edit] Commentaire envoyé trop vite, leur site mentionne un usage sur smartphone avec une démonstration ici : https://www.themooltipass.com/ressources/android.mp4
[^] # Re: Qui de la mobilité ?
Posté par ptit_poulet . Évalué à 2.
Effectivement c'est possible mais ça a l'air super contraignant et lourd comme procédure…
[^] # Re: Qui de la mobilité ?
Posté par limpkin . Évalué à 2.
Merci! La connectivité bluetooth rend les choses beaucoup plus faciles… dans la vidéo principale de la campagne kickstarter vous pourrez voir ce cas de figure :)
[^] # Re: Qui de la mobilité ?
Posté par aiolos . Évalué à 1.
Il me semble que ça marche en BLE…
# Commentaire supprimé
Posté par Anonyme . Évalué à -2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Sur la garantie de conformité d'un dispositif matériel numérique (même libre)
Posté par BAud (site web personnel) . Évalué à 5.
TL;DR
vala ça c'est fait ;-)
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -10.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Sur la garantie de conformité d'un dispositif matériel numérique (même libre)
Posté par BAud (site web personnel) . Évalué à 5.
fais gaffe : samwang-13 — ton prochain pseudo — risque de ne pas te porter plus de chance, même si tu n'es pas superstitieux car ça porte malheur :p
bref, j'espère ne pas avoir trop trahi ton propos, j'ai essayé d'en extraire ce qui m'en paraissait les 2 points intéressants (et je ne t'ai pas moinssé : je surfe à -42 de toute façon et je préfère relever le positif plutôt que sanctionner tes logorrhées que je prends parfois le temps de lire).
bin, si : suffit de cliquer sur le [-], non ?
[^] # Re: Sur la garantie de conformité d'un dispositif matériel numérique (même libre)
Posté par Faya . Évalué à 3.
Malheureusement non :
Il faut cliquer sur le titre du message replié pour y accéder. Et du coup on quitte la lecture en cours.
Je comprends qu'on replie les messages moinssés mais c'est quand même dommage qu'il faille carrément changer de page pour les lire. Je surfe aussi à -42 mais sachant que les nouveaux postent à 0 par défaut (sauf dans les forums), leurs messages sont masqués par défaut et difficilement accessibles pour tous les non-connectés.
[^] # Re: Sur la garantie de conformité d'un dispositif matériel numérique (même libre)
Posté par Arkem . Évalué à 3.
Le [-], c'est pour replier, c'est un [+] pour déplier. Dans tous les cas, ça n'apparaît que si on est connecté. C'est vrai que ça n'est pas très pratique pour le lecteur de passage, mais est-ce vraiment si gênant que ça ?
Personnellement, je ne moinsse que très rarement aussi. Il faut vraiment que ça aille loin pour que j'en arrive à vouloir pénaliser les propos de quelqu'un.
# Commentaire supprimé
Posté par Anonyme . Évalué à -7. Dernière modification le 04 août 2020 à 09:58.
Ce commentaire a été supprimé par l’équipe de modération.
# Sauvegardes ?
Posté par damaki . Évalué à 4.
Comment faites-vous pour sauvegarder la smartcard et /ou les mots de passe ? J'ai vu qu'il y a des exports fichier, mais ils restent très évasifs, ils parlent juste d'exports fichiers dans le cloud, à l'opposé de la sécurité hors-ligne tant vantée.
Est-ce qu'on peut facilement imprimer un listing de mots de passes en clair pour avoir une copie physique en cas de pépin ?
Est-ce que les exports fichiers sont chiffrés ? Si oui, y-a-t’il des détails d'implem là dessus ? Ca pourrait être une source de grosses faiblesses.
Est-ce qu'on peut cloner facilement la smartcard pour en faire une copie de sauvegarde ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.