Beaucoup de choses ont été faites dans notre industrie pour garantir que les utilisateurs de bitcoin puissent conserver leurs bitcoins en sécurité. Nous travaillons pour que même le scénario d’attaque le plus improbable devienne irréalisable pour un attaquant.
Pourtant, il existe une partie du parcours utilisateur où la sécurité n’a pas été poussée à un niveau que nous décririons comme « sûr ».
Plateformes d’échange
Pour acquérir du bitcoin, la plupart des utilisateurs passent aujourd’hui par des plateformes d’échange centralisées, comme Coinbase, Kraken ou Bitstamp. Ils créent un compte, passent par un processus KYC, effectuent un virement bancaire et achètent leurs premiers satoshis.
Comme ils ne veulent pas confier leur argent à la plateforme d’échange, ils retirent leurs fonds vers leur propre hardware wallet.
Le processus de retrait actuel
Pendant le processus de retrait, la plupart des plateformes d’échange demandent à l’utilisateur d’indiquer le montant de bitcoin à retirer ainsi qu’une adresse bitcoin de destination. L’utilisateur se sert de son hardware wallet pour créer une nouvelle adresse bitcoin, copie cette adresse dans l’interface de la plateforme d’échange et vérifie qu’elle correspond à celle affichée sur l’écran du hardware wallet avant de cliquer sur « Withdraw ».

Le processus de retrait habituel sur les plateformes d’échange
Certaines plateformes demandent ensuite à l’utilisateur de confirmer le retrait via un email de confirmation ou un code 2FA. Une fois la transaction confirmée par l’utilisateur, la plateforme envoie les bitcoins à l’adresse fournie.
Pourquoi ce n’est pas sûr
L’utilisateur sait quelle adresse il a envoyée à la plateforme d’échange, mais comment savoir quelle adresse la plateforme a réellement reçue ? Envoie-t-elle vraiment l’argent à la bonne adresse ?

Sur un appareil hôte compromis, un attaquant peut injecter sa propre adresse bitcoin
Une extension de navigateur malveillante ou un autre type de virus peut facilement faire croire qu’elle envoie la bonne adresse bitcoin à la plateforme d’échange, alors qu’elle lui transmet en réalité une adresse bitcoin contrôlée par un attaquant.
Il suffit à l’extension de remplacer automatiquement en arrière-plan l’adresse bitcoin envoyée à la plateforme, tout en continuant d’afficher celle que l’utilisateur a collée. Comme la plupart des extensions de navigateur se mettent à jour automatiquement en arrière-plan, le risque d’une mise à jour malveillante est loin d’être négligeable.
Une solution peu pratique
Pour confirmer que la plateforme d’échange a bien reçu des informations de retrait authentiques, l’utilisateur devrait les vérifier sur un deuxième appareil. Comme la plupart des plateformes d’échange n’incluent pas, pour des raisons de confidentialité, les détails du retrait comme les montants et les adresses dans l’email, l’utilisateur doit se connecter une seconde fois sur ce deuxième appareil et vérifier que les informations de son compte correspondent à celles de son hardware wallet.

Confirmer votre adresse sur un deuxième appareil est facile avec le widget Pocket
Malheureusement, comme c’est fastidieux, la plupart des utilisateurs ne le feront pas. Sur certaines plateformes d’échange, il est même impossible de retirer ses bitcoins de manière sûre !
C’est pour cette raison que le widget Pocket Bitcoin dans la BitBoxApp offre un moyen assez simple de confirmer votre adresse bitcoin « hors bande ». Vous recevez un email de confirmation contenant un lien vers le site web de Pocket. Ce lien affiche votre adresse bitcoin de retrait et s’ouvre facilement sur un deuxième appareil, comme votre téléphone.
Mais même avec cette implémentation plus pratique du processus de retrait de Pocket, la plupart des gens ouvriront simplement l’email sur le même appareil et ne revérifieront pas l’adresse sur un deuxième appareil.
Une solution pratique
Alors, comment rendre ce processus plus sûr tout en le rendant plus pratique ?
Bien sûr, en utilisant la cryptographie !
Communication
Et si notre hardware wallet pouvait communiquer directement avec la plateforme d’échange sans que personne ne puisse altérer les informations ? Ce type de communication sécurisée est aujourd’hui très courant : le chiffrement de bout en bout est standard dans la plupart des applications de messagerie directe, des services VPN et même sur le site web que vous consultez en ce moment.
Chiffrement
Si le hardware wallet de l’utilisateur peut chiffrer son adresse de retrait (ou même son xpub) de sorte que seule la plateforme d’échange puisse la déchiffrer, l’utilisateur peut être sûr que personne ne pourra la modifier. En stockant la pubkey d’une plateforme d’échange dans son firmware, le hardware wallet peut créer un message chiffré contenant toutes les données dont la plateforme a besoin pour effectuer le retrait.

Le contenu du message chiffré
La plateforme doit alors simplement prouver à l’utilisateur qu’elle a bien reçu la bonne adresse. Pour cela, le hardware wallet inclut un secret aléatoire dans le message chiffré envoyé à la plateforme d’échange. Pour prouver qu’elle a reçu la bonne adresse, la plateforme présente le secret aléatoire déchiffré à l’appareil hôte.
Un attaquant ne peut pas connaître ce secret à l’avance, car il ne possède pas la clé privée permettant de déchiffrer le message. Seule la plateforme d’échange dispose de cette clé.

Le message est chiffré afin que l’appareil hôte ne puisse pas en connaître le contenu
Pour éviter une attaque de type man-in-the-middle, le message chiffré doit aussi inclure le compte de l’utilisateur, par exemple son adresse email. Sinon, l’attaquant pourrait simplement utiliser son propre compte sur la plateforme d’échange pour découvrir le secret et l’afficher sur l’ordinateur de la victime.
Vérification

Au lieu de vérifier une adresse bitcoin, l’utilisateur vérifie le secret et l’email
Pour retirer des bitcoins du service en toute sécurité, il suffit à l’utilisateur de comparer le secret déchiffré affiché sur le site web avec celui affiché sur le hardware wallet, puis de vérifier que l’adresse email montrée sur le hardware wallet est bien la sienne.
Conclusion
Bien sûr, un tel protocole de retrait doit encore être conçu, standardisé et implémenté à la fois par les plateformes d’échange et les hardware wallets. Nous souhaitons utiliser cet article de blog pour évaluer l’intérêt pour un tel protocole, non seulement du côté des utilisateurs, mais aussi des plateformes d’échange bitcoin et des courtiers.
Si vous souhaitez renforcer la sécurité de la self-custody pour vos clients, ou si vous avez un avis sur cette idée, n’hésitez pas à nous contacter !
Questions fréquentes (FAQ)
Pourquoi le processus actuel de retrait depuis les plateformes d’échange est-il considéré comme peu sûr ? Le processus est vulnérable à des attaques dans lesquelles une entité malveillante peut remplacer l’adresse bitcoin fournie par l’utilisateur par la sienne, ce qui peut entraîner une perte de fonds.
Comment un appareil hôte compromis peut-il représenter une menace pendant un retrait ? Sur un appareil compromis, une extension de navigateur malveillante ou un virus peut remplacer l’adresse bitcoin de l’utilisateur par une adresse contrôlée par un attaquant, sans que l’utilisateur s’en rende compte.
Quelle est la « solution peu pratique » pour garantir un retrait sécurisé ? Les utilisateurs devraient confirmer les détails du retrait sur un deuxième appareil. Cependant, cette méthode est fastidieuse et elle est souvent ignorée.
Comment le widget Pocket Bitcoin améliore-t-il la sécurité des retraits ? Il permet aux utilisateurs de confirmer leur adresse bitcoin « hors bande » en envoyant un email de confirmation contenant un lien pour vérifier l’adresse de retrait sur un appareil distinct.
Quelle est la « solution pratique » proposée pour des retraits sécurisés ? En utilisant la cryptographie, un hardware wallet peut communiquer directement avec la plateforme d’échange, ce qui garantit que les informations ne sont pas altérées pendant le processus de retrait.
Vous n’avez pas encore de BitBox ?
Sécuriser vos cryptos n’a pas besoin d’être compliqué. Le hardware wallet BitBox02 stocke hors ligne les clés privées de vos cryptomonnaies. Vous pouvez ainsi gérer vos cryptomonnaies en toute sécurité.
BitBox02 existe aussi en version Bitcoin-only, avec un firmware radicalement focalisé : moins de code signifie moins de surface d’attaque, ce qui améliore encore votre sécurité si vous ne stockez que du Bitcoin.
Procurez-vous-en une dans notre boutique !

Shift Crypto est une société privée basée à Zurich, en Suisse. Notre équipe de contributeurs Bitcoin, d’experts crypto et d’ingénieurs sécurité conçoit des produits qui permettent à nos clients de passer sereinement du niveau débutant à celui d’expert dans la gestion des cryptomonnaies. BitBox02, notre hardware wallet de deuxième génération, permet de stocker, protéger et utiliser Bitcoin et d’autres cryptomonnaies en toute simplicité, avec son compagnon logiciel, la BitBoxApp.
This post was translated with the help of AI