Construire soi-même son Hardware Wallet, Partie I : Construisez votre Trezor One, Model T et BitBox02

Nous vivons l’âge d’or du bricolage DIY. Grâce aux progrès réalisés dans le domaine des microprocesseurs et de leur production/distribution, on peut aujourd’hui acheter des ordinateurs minuscules et pourtant assez puissants à des prix étonnamment abordables – et s’en servir pour effectuer des tâches étonnamment complexes.

La communauté Bitcoin s’en est clairement rendu compte et a transformé certaines de ces puces destinées à usage général en machines en petites machines de souveraineté financière. Des populaires puces ARM Cortex STM32 à l’étonnamment bon marché Raspberry Pi Zero, il existe de nombreuses options que vous pouvez utiliser pour construire votre propre hardware wallet. Mais avant de parler des options dont vous disposez pour construire ces derniers, il est important de mentionner les raisons pour lesquelles vous devriez embrasser cette solution.

Pourquoi le bricolage “Do It Yourself” est-il préférable ?

Tout d’abord, il faut prendre en considération la situation de personnes vivant dans un pays dont la distribution de Trezor, Ledger ou BitBox02 est inexistante; dans ce cas construire son propre appareil est certainement l’option la plus abordable. Deuxièmement, si votre gouvernement est hostile au Bitcoin et à tout ce qui le concerne, alors c’est également fortement recommandé d’utiliser les mêmes composants que ceux pouvant par exemple être utilisés pour construire un petit appareil portable pour jouer à Tetris afin de sécuriser votre précieux or numérique.

Et même si vous vivez dans un pays où la distribution des hardware wallets commerciaux est possible, vous devriez envisager la voie du bricolage DIY. Si vous vous préoccupez réellement de la protection de votre vie privée (et ça devrait clairement être le cas), vous ne devriez pas donner votre nom et votre adresse à un vendeur ou à une société de livraison qui conserveront vos données dans leurs archives pendant plusieurs années – le cas du hack de la base de données Ledger est un très bon exemple de l’importance de la protection de la vie privée et de l’avantage apporté par du matos bricolé en DIY.

From top-left to bottom-right: KeepKey, Ledger Nano S, Trezor Model T, BitBox02, Trezor One, Digital BitBox (ShiftCrypto), Blockstream Jade, Coldcard Mk3 (Coinkite), Foundation Devices Passport, KeyStone

En outre, les risques d’attaque au niveau de la chaîne d’approvisionnement sont réels : vous ne savez pas qui va manipuler votre hardware wallet à partir du moment où il quitte l’usine jusqu’à ce qu’il vous soit finalement livré. Si un livreur sait ce qu’est un Trezor, il peut compromettre son matériel ou son emballage (une attaque très populaire implique l’insertion de seed phrases BIP 39 déjà générées, dans l’espoir que les nouveaux venus déposent leurs coins à des adresses contrôlées par l’acteur malveillant). Bien sûr, les sociétés font de gros efforts pour empêcher de telles attaques en superposant plusieurs couches de protections pour leurs emballages et en introduisant des astuces cryptographiques pour vérifier l’intégrité du matériel et du logiciel. Mais si vous avez un minimum de maitrise, le bricolage DIY est définitivement plus sûr : l’utilisation d’un matériel polyvalent disponible sur le marché et d’un logiciel libre que vous pouvez personnellement vérifier est définitivement l’approche conseillée pour un utilisateur expérimenté.

Les hardware wallets que vous pouvez construire vous-même :

Il est donc temps maintenant de considérer les hardware wallets que vous pouvez construire vous-même. Il se divisent essentiellement en deux catégories : les appareils commerciaux dont les circuits et les schémas ont été mis en libre accès et les projets communautaires à but non lucratif qui ont été conçus spécifiquement pour le bricolage DIY. Le Trezor et le BitBox02, qui font partie de la première catégorie, ont l’avantage d’avoir un codebase et une architecture bien plus testées et scrupuleusement examinées puisqu’ils sont vendus dans le commerce. Les équipes à l’origine de ces projets peuvent se permettre de payer des bounties et des audits de sécurité, mais d’un autre côté les pirates sont également plus enclins à les “casser”.

Trezor One mnemonic entry

D’un autre côté, les projets complètement DIY comme SeedSigner, Specter DIY ou Bowser offrent un niveau de facilité supplémentaire, car ils peuvent être construits à partir de composants très courants et ne nécessitent quasiment aucune soudure ou expérience en électronique. Ils ne sont pas aussi éprouvés que leurs homologues commerciaux et vous pouvez difficilement vous attendre à recevoir autant de soutien dans le processus. Pourtant, ils présentent des avantages qui leur sont propres et donnent à chacun la possibilité de devenir financièrement souverain.

Commençons tout d’abord par analyser ce qui est nécessaire afin de construire votre propre Trezor et/ou BitBox02. Ensuite, la seconde partie se concentrera sur le Seedsigner, le Specter DIY, et le Bowser wallet.

Construire son propre Trezor One :

Lors de la campagne Kickstarter de 2014 qui a conduit au lancement du premier hardware wallet Bitcoin, les cofondateurs de Trezor, Marek “Slush” Palatinus et Pavol “Stick” Rusnak, ont affiché leur intention de créer un appareil qui pourrait satisfaire jusqu’aux exigences du créateur de Bitcoin, Satoshi Nakamoto lui même. Ça signifie concrètement que le logiciel et toute la circuiterie sont transparents et 100% open source, de sorte que tout le monde puisse voir ce que fait l’appareil à tout moment.

Le repository GitHub de la société tchèque propose le circuit imprimé complet, les schémas et la la nomenclature (BOM). Selon ces documents, vous avez besoin de 24 composants différents, les plus importantes étant l’écran OLED, le microcontrôleur STM32F10XRXT6, les boutons, le boîtier, le commutateur tactile et le port micro-USB. Le coût de l’ensemble ne devrait pas dépasser 20€, mais vous devez également disposer d’un fer à souder et de la dextérité nécessaire pour assembler le tout par vous-même.

Trezor One hardware wallet

En toute objectivité, même si le coût de production d’un hardware wallet Trezor One est faible, la partie assemblage peut s’avérer difficile et intimidante pour un débutant. Clairement, notez que si vous choisissez de construire vous-même le hardware wallet le plus éprouvé au monde, vous allez devoir développer quelques compétences pratiques. Ce n’est pas surprenant en fait que le Trezor One soit l’appareil le plus copié du marché et qu’il existe des centaines d’entreprises qui le vendent sous différentes marques partout sur la planète. En fait, des appareils plus récents tels que BitBox02, Coldcard et le Passport de la société Foundation utilisent des parties importantes du code du Trezor et, dans une certaine mesure, peuvent être qualifiés de “clones”.

Dès que vous aurez fini d’assembler votre Trezor One personnalisé, vous pourrez flasher le firmware en suivant les instructions du depository GitHub. Une fois ceci accompli, votre nouveau hardware wallet fonctionnera parfaitement avec la plupart des wallet du marché si vous choisissez de ne pas opter pour Trezor Suite.

Pour plus d’informations sur l’éthique et l’engagement open source de Trezor, vous pouvez écouter l’entretien avec le PDG Marek “Slush” Palatinus sur le podcast de Bitcoin Takeover S4E8.

Construire son propre Trezor model T :

Lancé à l’automne 2017, la deuxième génération de hardware wallet Trezor comporte des améliorations indispensables. Il remplace le panneau à deux boutons précédent par un écran tactile couleur plus facile à utiliser, et il est également doté d’un processeur plus rapide qui permet de réaliser des sauvegardes plus complexes, comme le partage de clés secrètes de Shamir. L’appareil est également plus fiable pour gérer les configurations multisig complexes (telles qu’un 8 sur 8 par exemple), comme cela a été démontré par Jameson Lopp dans l’une de ses études comparatives.

Cependant, le Trezor Model T est doté d’une bien grande complexité électronique : la nomenclature (BOM) énumère 109 composants, en même temps que les circuits imprimés sont bien plus élaborés et sophistiqués. Cela signifie que le Trezor Model T est un projet de bricolage largement plus difficile et plus exigeant que son prédécesseur. Pour compenser tout ça, les instructions de montage sont également bien plus détaillées et comportent davantage de photos pour vous guider à chacune des étapes.

Trezor Model T Corazon Fashion

En termes de sécurité, le modèle T présente l’avantage de vous permettre de taper votre passphrase directement depuis votre appareil, ce qui est une fonctionnalité intéressante, surtout si vous suspectez le clavier de votre ordinateur d’être potentiellement compromis/enregistré. Donc, même si vous ne vous souciez pas beaucoup des options multisig ou des sauvegardes Shamir, ça vaut tout de même la peine de considérer le Modèle T pour son upgrade au niveau de la saisie.

La puce qui pilote le Trezor Model T est le microcontrôleur STM32F427VIT6, une unité ARM Cortex M4 dotée de 2 mégaoctets de mémoire flash et cadencée à 168 Mhz. Vous pouvez la trouver pour environ 20€, mais vous obtiendrez certainement de meilleurs deals si vous en achetez plusieurs à la fois. L’écran coûte pour sa part environ 5€, et le reste de l’électronique devrait ajouter à la note encore 20€ supplémentaires (du boîtier aux ports USB-C et micro-SD, jusqu’aux divers connecteurs). Mais avant de juger Trezor pour avoir vendu son appareil à un prix qui dépasse largement ses coûts de production, il ne faut pas oublier que la fabrication de cet appareil nécessite des compétences avancées en matière de soudure (bien supérieures à celles nécessaires pour le Trezor One), que la société se concentre principalement sur l’amélioration des normes de sécurité logicielle (vous payez donc pour la recherche et le développement des SLIPs) et qu’une partie du prix est liée au support client offert par Trezor.

Pour un bricoleur expérimenté, le modèle Trezor T peut être un projet amusant pour vous occuper le week-end. Le fait que les composants soient des pièces communes et faciles à trouver en ligne devrait fournir une forte quantité de déni plausible si vous résidez dans un état autoritaire, et les caractéristiques supplémentaires feront que l’effort supplémentaire en vaudra la peine (par rapport au Trezor One plus simple).

Tout comme le Trezor One, vous pouvez utiliser votre Model T nouvellement construit avec une multitude de wallets disponibles sur le marché. Gardez à l’esprit cependant que certains d’entre eux ne fonctionneront pas avec les configurations multisig et le partage de clé secrète Shamir. Seules les configurations BIP39 seront effectives. 

Construire son propre BitBox02 :

Lancé à l’automne 2019, le BitBox02 est une variation du design original du Trezor qui apporte plusieurs modifications matérielles et logicielles substancielles. Bien que le produit s’appuye sur la même codebase de départ, il est suffisamment différent pour mériter qu’on le mette en avant. D’un point de vue philosophique, le dispositif vise à offrir le compromis entre l’auditabilité de l’open source et la sécurité physique, ce qui le place dans une position intermédiaire entre Trezor (100% open source) et Ledger (environ 40% open source, et avec sa puce de sécurisation qui reste opaque).

La partie qui rend le BitBox02 moins open source que le Trezor mais plus sûr physiquement c’est l’utilisation de la puce de sécurisation plus générale ATECC608B. Ça signifie que vous pouvez empêcher un accès physique d’un acteur malveillant à votre appareil sans avoir recours à une passphrase logicielle (que vous pouvez potentiellement oublier ou perdre si vous n’êtes pas assez prudent). Donc, si vous voulez faire passer votre sécurité physique au niveau supérieur, vous devriez envisager de construire un BitBox02.

BitBox02 hardware wallet by ShiftCrypto

Outre la puce de sécurisation, cette deuxième génération de hardware wallets produits  par ShiftCrypto nous gratifie de plusieurs choix intéressants : l’appareil utilise un connecteur USB-C mâle qui permet de le brancher facilement sur votre téléphone portable (aucun câble n’est nécessaire tant que vous disposez du bon port sur votre ordinateur ou votre téléphone), et l’écran tactile est remplacé par des capteurs tactiles sur le dessus et le dessous du hardware wallet.

En termes de logiciel, le BitBox02 utilise les signatures de Schnorr pour vérifier l’intégrité du logiciel et empêcher les attaques de la chaîne d’approvisionnement. Ce système est appelé anti-klepto et, même s’il ne semble pas forcément très pertinent pour quelqu’un qui construit lui même son propre hardware wallet, il s’agit d’un excellent outil d’auto-vérification qui empêche toute intervention extérieure sur le code. Pour en savoir plus sur ce mécanisme de sécurité, vous pouvez écouter l’interview de Benma, chercheur et développeur de logiciel chez ShiftCrypto (BTCTKVR S8E2).

Pour vous aider à construire votre propre BitBox02, ShiftCrypto a publié une nomenclature (BOM qui devrait être mise à jour pour inclure la puce ATECC608B qui a remplacé la 608A en 2021), une fiche technique détaillée, les schémas du circuit imprimé et même une photo aux rayons X qui devrait vous aider à comprendre comment connecter chaque composant au circuit. Le guide n’est pas aussi détaillé que dans le cas des hardware wallet Trezor, mais tout amateur un peu expérimenté devrait être en mesure de le comprendre.

Parlons maintenant des coûts : en gros, la puce sécurisée ATECC608B peut être achetée pour environ 1€. Mais en raison de problèmes d’approvisionnement dans l’industrie des micropuces, elle semble actuellement être en rupture de stock sur certains sites de vente en ligne les plus populaires (et entrainant ainsi surement une hausse de son prix en raison de sa rareté). D’autre part, la puce microcontrôleur 32 bits ARM Cortex M4F ATSAMD51J20A coûte environ 6€ et semble également difficile à trouver. Les diodes de suppression PRTR5V0U2F et tous les autres petits composants ajoutent également environ 3€ au coût de production. Au total, l’achat des pièces nécessaires à la construction de votre propre BitBox02 devrait coûter environ 20€ (inclus le port USB-C, le logement pour carte micro-SD, les capteurs tactiles et l’écran OLED).

Le BitBox02 comporte plus de composants que le Trezor One, mais moins que le Trezor Model T. Il comporte également des composants plus abordables que le modèle phare de Trezor et offre une certaine sécurité physique. Donc si vous recherchez ces caractéristiques, vous devriez dès à présent empoigner votre fer à souder et commencer à commander les composants pendant qu’ils sont encore en stock.

La construction de votre hardware wallet doit-elle être nécessairement aussi difficile ?

Eh bien, non. Aujourd’hui, nous avons les appareils SeedSigner, Specter DIY et Bowser et ils sont beaucoup plus accessibles aux amateurs qui ne veulent pas souder des diodes sur un PCB tout en consultant des schémas complexes. Cependant, ils ne sont pas aussi testés que les appareils commerciaux, et c’est donc toujours une histoire de compromis. L’article suivant vous en dira plus sur la façon dont vous pouvez construire ces hardware wallet et sur les coûts que ça implique !

Soutenez Bitcoin Takeover

Cet article est la traduction d’un texte original de Vlad Costea

N’hésitez pas à vous inscrire à sa newsletter, suivez le sur YouTube, Twitter ou Instagram et assurez vous de ne pas manquer ses podcasts

Pour le soutenir financièrement, reportez vous aux instructions dans ses différents posts.

Si vous voulez aussi m’encourager à continuer de publier des articles en français, vous pouvez me lâcher quelques sats ici: bc1qj0z6eu07wydhrgpky6qqsse3sn9yldvalw3rj5

So, what do you think?

Follow Me