149 / 736AIRGAP

Air-gapped Wallet

Un portefeuille qui signe à l’écart de l’ordinateur connecté

L’ordinateur prépare le paiement, un appareil séparé le signe. Ce qu’apporte cette séparation, ce que transportent les QR codes et pourquoi il faut encore vérifier l’écran.

Un Air-gapped Wallet signe les paiements sur un appareil séparé des communications réseau habituelles avec l’ordinateur ou le téléphone connecté. Les clés privées doivent rester dans cet environnement distinct ; les propositions de paiement et les signatures passent par un transfert contrôlé, par QR code ou carte mémoire par exemple.

Un portefeuille est une application ou un appareil permettant de recevoir et d’envoyer des bitcoins. Anna navigue sur internet avec son ordinateur portable. Elle ne veut pas y conserver aussi ses clés privées : les informations secrètes permettant de créer les signatures qui autorisent à dépenser du bitcoin. Elle répartit donc le travail. Le logiciel du portable suit les paiements et en prépare de nouveaux ; c’est le coordinateur. Un appareil séparé vérifie la proposition et la signe après l’accord d’Anna ; c’est le dispositif de signature. Un Hardware Wallet, un portefeuille matériel, peut fonctionner ainsi. Air gap décrit surtout la séparation et le transfert des données, pas une propriété automatique de tous les portefeuilles matériels. Couper temporairement le Wi-Fi d’un ordinateur ordinaire ne suffit pas : ses autres connexions, son logiciel et une éventuelle reconnexion avec les secrets encore présents comptent aussi. [3] [5]

Anna saisit le destinataire et le montant dans le coordinateur. Celui-ci prépare un PSBT : un ensemble de données contenant la proposition de transaction et les éléments nécessaires pour la signer. Il comprend des informations sur les UTXO, les sorties non dépensées de paiements antérieurs. Ce sont des montants distincts auxquels les entrées de la nouvelle transaction font référence. Anna transmet l’ensemble au dispositif de signature, par exemple en scannant un QR code. L’appareil traite les données qu’il prend en charge et ajoute une signature après vérification et approbation. Le résultat retourne au portable. Lorsque les conditions de signature requises sont réunies, la transaction complète peut être assemblée puis diffusée sur le réseau. Elle n’est pas encore confirmée dans un bloc pour autant. Un bloc regroupe des transactions inscrites ensemble dans l’historique public de Bitcoin. Ce sont la proposition et la signature qui voyagent, pas la clé secrète ni la sauvegarde du portefeuille. [1] [6]

Prenons une entrée de 100000 sat. Le sat est la plus petite unité du bitcoin. Anna veut envoyer 60000 sat, récupérer 39000 sat et laisser 1000 sat de frais. Le montant qui lui revient possède sa propre sortie, appelée Change Output. Le dispositif doit vérifier qu’elle correspond aux bonnes clés et à la configuration du portefeuille ; l’étiquette « monnaie rendue » fournie par le portable ne suffit pas. Anna compare aussi l’adresse complète du destinataire, le montant et les frais affichés sur l’écran fiable du dispositif avec son intention. Un ordinateur infecté peut proposer une adresse étrangère tout en faisant un calcul exact. Si Anna approuve cette proposition, la séparation des appareils ne protégera pas son argent. [1] [4]

Un QR code représente des données sous forme d’image ; il ne certifie pas qu’elles sont sûres. Un ensemble plus volumineux peut passer par une séquence d’images au format BBQr ou UR, que les deux appareils doivent comprendre. Le logiciel qui lit l’image et le PSBT peut avoir des défauts comme tout programme. Il faut surtout distinguer le QR d’une transaction d’un SeedQR. Ce dernier contient une sauvegarde d’informations secrètes, pas une proposition de paiement. Il ne doit donc pas passer devant la caméra d’un ordinateur ou téléphone connecté. La possibilité de sortir un code de l’environnement isolé dépend de son contenu et de son rôle, pas de sa ressemblance avec d’autres petits carrés. [2] [4]

Une autre méthode utilise MicroSD : Anna enregistre le PSBT sur une carte, l’insère dans le dispositif et rapporte le résultat. Aucun câble réseau n’est nécessaire, mais l’appareil lit toujours un fichier extérieur. La sécurité dépend du programme qui le traite, du contrôleur et du système de fichiers, qui assurent la lecture et l’organisation des données. Une carte dédiée aide à garder de l’ordre ; elle ne garantit pas un contenu inoffensif. L’alimentation mérite la même attention. USB peut transporter du courant et des données. S’il ne doit fournir que du courant, il ne doit réellement exister aucun chemin de données actif. Une mention « recharge » ne le prouve pas à elle seule. [2] [3]

COLDCARD classe aussi NFC parmi ses méthodes air gap. NFC utilise la radio à courte portée, tandis que QR transmet une image et MicroSD un fichier sur un support physique. Ces canaux ne sont pas équivalents. Si l’objectif est d’exclure les communications radio, NFC activé ne répond pas à ce critère. Pour un appareil précis, mieux vaut savoir quel canal est actif, quand il s’active et ce qui peut le traverser que se contenter du mot air-gapped. Une connexion USB de données permanente établit encore une autre frontière que le transport manuel d’un fichier. [2]

Le coordinateur peut fonctionner en mode watch-only : observer le portefeuille sans pouvoir signer lui-même un paiement. Il peut utiliser un xpub, une clé publique étendue qui permet de dériver d’autres clés publiques, ou un Descriptor public, décrivant les clés et les règles de création des adresses. Ces données seules n’autorisent pas à dépenser, mais peuvent relier adresses et paiements à un portefeuille. Un PSBT peut aussi contenir des clés publiques, leurs chemins de dérivation et des informations sur les UTXO. Avec Multisig, où plusieurs clés autorisent la dépense selon une règle définie, la bonne configuration de tous les participants compte pour la restauration et la vérification de la monnaie rendue. Isoler le dispositif de signature ne rend donc ni le portable anonyme ni ses requêtes réseau privées. [1] [4]

Anna a toujours besoin d’une Seed Phrase conservée en sécurité, la sauvegarde sous forme de mots, et des autres informations requises par son portefeuille. SeedSigner charge les secrets temporairement : une fois éteint, sa mémoire ne peut pas tenir lieu de sauvegarde. L’air gap ne remplace ni un firmware fiable, le programme interne de l’appareil, ni la vérification du paiement. Un Secure Element protège un autre aspect en rendant certaines attaques contre la puce plus difficiles. Cold Storage désigne la conservation des clés hors de l’environnement connecté ; air gap décrit le fonctionnement avec une signature séparée. Avant d’y confier une épargne importante, mieux vaut répéter transfert, vérification et restauration avec des clés de test distinctes. Le but est de comprendre chaque étape, pas seulement d’ajouter des appareils sur la table. [3] [4]

Pour une vision complète, lisez aussi Hardware Wallet, PSBT, Cold Storage, Seed Phrase, Output Descriptor, Multisig. Cette entrée est également citée par Cold Storage, Secure Element, SeedQR, BBQr.

DOC · 001BIP 174 — Partially Signed Bitcoin Transaction FormatSpécification DOC · 002COLDCARD — Bitcoin Air-Gap Signing MethodsDocumentation DOC · 003SeedSigner — Frequently Asked QuestionsSource primaire DOC · 004SeedSigner — Independent Custody GuideDocumentation DOC · 005Bitcoin Developer Guide — WalletsDocumentation DOC · 006Bitcoin Developer Guide — Block ChainDocumentation
Révisé le: Sources d’abord · Pas un conseil financier