Sécurité
Comment M5 Vault fonctionne réellement
Cette page explique le mécanisme plutôt que d'affirmer qu'il est sûr. Là où il existe une limite ou un compromis, il est indiqué.
La cérémonie de signature
Ce qui traverse le canal n'est jamais un fragment
Signer est un protocole interactif. Chaque partie calcule des messages à partir de son propre fragment, les envoie, puis dérive la signature finale. À aucun moment l'une des parties ne transmet son fragment, et à aucun moment la clé complète n'existe.
Deux types de coffre
C'est vous qui choisissez qui détient le second fragment
Le protocole est identique dans les deux cas. Ce qui change, c'est l'identité de la seconde partie, et donc ce à quoi vous accordez votre confiance.
Fast Vault
Le second fragment est détenu par le service de cosignature de M5. Il est stocké chiffré en AES-256-GCM sous un mot de passe que vous seul connaissez, et le service ne peut pas l'utiliser si vous ne fournissez pas ce mot de passe avec la requête.
Compromis : pratique, et suffisant avec un seul appareil — mais M5 exploite la seconde partie, si bien que la signature dépend de la disponibilité de ce service.
Secure Vault
Le second fragment est détenu par un deuxième appareil qui vous appartient. La cérémonie se déroule entre vos deux appareils, M5 n'exploitant que le relais qui transmet les messages chiffrés entre eux.
Compromis : aucune dépendance à M5 pour signer — mais vos deux appareils doivent être présents pour approuver une transaction.
Dit clairement
Ce que M5 peut et ne peut pas faire
M5 ne peut pas
- Déplacer vos fonds. Un seul fragment ne peut pas signer ; celui d'un Fast Vault est de plus chiffré sous votre mot de passe, que M5 ne détient pas.
- Reconstituer votre clé. Le protocole ne l'assemble jamais : il n'y a rien à recombiner de notre côté.
- Récupérer votre coffre à votre place. C'est de l'auto-conservation : aucune procédure d'assistance ne peut rétablir l'accès.
- Lire le trafic de vos cérémonies. Les messages du relais sont chiffrés de bout en bout entre les deux parties.
Vous êtes responsable de
- Conserver la sauvegarde de votre coffre. Les deux fragments sont nécessaires pour signer ; perdre l'accès sans sauvegarde revient à perdre les fonds.
- Votre mot de passe Fast Vault. Il chiffre le fragment détenu par le serveur et nous ne pouvons pas le récupérer.
- La sécurité de vos appareils. Un appareil compromis peut vous amener à approuver une transaction que vous n'aviez pas voulue.
- Ce que vous signez. Approuver une transaction malveillante reste une approbation, quel que soit le mécanisme de clés.
Sur l'appareil
Au-delà du protocole
Chiffrement local
Le stockage local sensible est chiffré en AES-256. Le matériel des fragments n'apparaît jamais dans les journaux ni dans les rapports d'incident.
Signature isolée
Les opérations sur les clés et la communication avec les portefeuilles matériels s'exécutent dans un processus en arrière-plan, séparé de toute page ou de tout contenu web affiché par le portefeuille.
Vérification des transactions
Les transactions sont décodées et analysées avant qu'on vous demande de les approuver, et les URL des dApps sont vérifiées avant l'ouverture d'une connexion.
Implémentations natives
Les bibliothèques de signature à seuil sont livrées sous forme de modules natifs sur Android et iOS, et non en JavaScript.
Ce que nous n'affirmons pas
M5wallet n'a pas fait l'objet d'un audit de sécurité indépendant, et ce site n'en revendique aucun. Il ne comporte ni certification, ni assurance, ni garantie contre les pertes. Le protocole décrit plus haut est une construction bien étudiée, mais une construction correcte implémentée dans un logiciel réel reste un logiciel. Traitez la bêta comme une bêta et n'y placez pas plus que ce que vous êtes prêt à perdre pendant la phase de test.
Le service de cosignature, le relais et les clients du portefeuille font partie du code de M5. Si vous évaluez sérieusement le produit, lisez l'implémentation plutôt que de vous fier à cette page.