Nous avons publié notre API JavaScript de BitBox02, avec une implémentation de référence, afin de faciliter l’intégration du hardware wallet BitBox02 dans des services en ligne. Grâce au BitBoxBridge, léger et simple à déployer, nous permettons d’utiliser le hardware wallet BitBox02 dans tous les navigateurs. Contactez-nous si vous souhaitez ajouter BitBox02 à votre service, nous serons ravis de vous aider !

Tout passe sur le web

Les hardware wallets comme BitBox02 apportent un niveau de sécurité bien supérieur pour conserver soi-même ses bitcoins et autres cryptomonnaies. Ils sont principalement conçus pour fonctionner avec leur application compagnon, comme la BitBoxApp.

Mais tout se déplace en ligne. De plus en plus de services et d’applications reposent sur les technologies web et s’exécutent directement dans votre navigateur. C’est très pratique, car cela offre une compatibilité multiplateforme, y compris sur mobile, et permet une utilisation depuis n’importe où.

Mais comment concilier cela avec la souveraineté individuelle ? Les données sont soit stockées de façon centralisée sur un serveur web, soit gérées localement par le navigateur sur l’appareil. L’intégration d’un hardware wallet remet les choses sur les rails. Elle permet aux services en ligne soit de confier la gestion des clés privées à un keystore contrôlé par l’utilisateur, soit d’interagir directement avec lui.

C’est pourquoi nous publions notre API JavaScript de BitBox02 gratuitement et en open source pour tous les services qui veulent prendre en charge directement le hardware wallet BitBox02.

Cas d’usage

Il existe de nombreux cas où l’intégration directe d’un hardware wallet a du sens, à la fois pour le service et pour ses utilisateurs :

  • Gestion sécurisée des clés pour les web wallets Imaginez utiliser un web wallet comme MyEtherwallet pour gérer des montants importants, tout en laissant vos clés privées être gérées par votre navigateur web. Inquiétant. Pouvoir stocker vos clés sur un hardware wallet apporte un vrai gain de sécurité.
  • Intégration directe dans les services web Les plateformes d’échange ou les solutions de conservation peuvent interagir directement avec le hardware wallet, par exemple pour permettre des retraits plus sûrs, limiter les erreurs manuelles et éviter le copier-coller (et les risques associés de détournement du presse-papiers).
  • Plateformes multisignatures C’est particulièrement utile avec des solutions multisignatures basées sur le web. BitBox02 vous permet de stocker directement sur l’appareil les informations pertinentes de tous les co-signataires. Ces informations peuvent être fournies directement au hardware wallet et — une fois vérifiées via un second canal — utilisées pour toutes les transactions futures.
  • Dollar Cost Averaging (DCA) sans réutilisation d’adresse Les services en ligne peuvent vous envoyer de futures transactions en toute sécurité sans réutiliser d’adresses. Il suffit de partager avec le service la clé publique étendue d’un compte dédié, ce qui peut se faire facilement grâce à une intégration directe. C’est particulièrement utile pour les utilisateurs qui achètent régulièrement des cryptomonnaies selon une stratégie de DCA.

C’est un peu en dehors du sujet de cet article, mais cela mérite d’être mentionné : même sans intégration directe de BitBox02, il peut encore renforcer la sécurité de connexion comme dispositif d’authentification à deux facteurs. Enfin, débarrassez-vous de ces SMS !

Comment cela fonctionne

L’objectif de notre bibliothèque JavaScript est de permettre à n’importe quel service web de s’intégrer facilement avec BitBox02. Pour cela, le navigateur doit pouvoir communiquer avec le périphérique USB. Nous utilisons BitBoxBridge, un service local dédié, léger et exécuté en arrière-plan, pour établir cette connexion. Nous avons choisi de développer BitBoxBridge pour prendre en charge toutes les plateformes et tous les navigateurs, car d’autres options comme WebUSB ou U2F-hijack sont soit limitées à certains navigateurs, soit expérimentales, soit très instables.

BitBoxBridge agit comme un proxy. Il accepte les requêtes provenant du navigateur pour des adresses web autorisées, puis les relaie vers BitBox02 via un canal chiffré de bout en bout.

Dans ce contexte, nous devons faire confiance au modèle de sécurité du navigateur pour qu’il n’accepte pas de sites web usurpés. De plus, des extensions de navigateur malveillantes pourraient encore interférer avec la communication entre le navigateur et le serveur. Les services doivent donc être mis en œuvre avec les protections appropriées.

Ce que nous proposons

Notre framework d’intégration de hardware wallet repose sur les deux composants suivants :

  • BitBoxBridge est un proxy simple et léger qu’il suffit de mettre à jour pour ajouter de nouvelles adresses web autorisées.
  • La bibliothèque JavaScript de BitBox02 contient l’implémentation client complète, compilée en JavaScript à partir de notre backend Go utilisé dans la BitBoxApp.

De plus, le dossier /demo dans le dépôt de la bibliothèque JavaScript contient notre implémentation de référence entièrement fonctionnelle dans un environnement sandbox.

Besoin d’aide ?

Si vous souhaitez ajouter l’intégration BitBox02 à votre projet, nous serons ravis de vous aider. Contactez-nous à [email protected] afin que nous puissions discuter de la meilleure façon d’y parvenir !

L’équipe Shift

This post was translated with the help of AI