Aller au contenu principal
Cryptographie

Anti-Klepto / Anti-Exfil

Anti-Klepto (BitBox) protège contre une attaque où un firmware malicieux ferait fuiter la clé via un nonce non-aléatoire. La signature est co-générée avec l'host. Présent dans BitBox, Coldcard.

L'attaque kleptographique en deux mots

Une kleptographic attack est une porte dérobée invisible : un signataire ECDSA ou Schnorr a besoin, à chaque signature, d'un nonce aléatoire k. Si ce nonce est biaisé d'une manière connue uniquement de l'attaquant, ce dernier peut extraire la clé privée après seulement quelques signatures, sans que rien ne paraisse anormal. Le danger est réel pour les hardware wallets propriétaires dont l'utilisateur ne peut auditer le firmware.

Le principe d'Anti-Klepto

Le protocole Anti-Klepto (aussi appelé Anti-Exfil signing, formalisé par Stepan Snigirev et Pieter Wuille) impose au matériel de commiter à son nonce avant de connaître la part de hasard apportée par l'hôte. Le flux est :

  1. L'hôte génère un nonce auxiliaire n_h.
  2. L'hôte envoie hash(n_h) au signataire.
  3. Le hardware wallet calcule son propre nonce k_w, le commit, et envoie R_w = k_w·G.
  4. L'hôte révèle n_h.
  5. Le hardware wallet utilise k = k_w + n_h pour signer.

Si le firmware essaye de glisser un nonce biaisé, il doit le faire avant de voir n_h, ce qui rend l'exfiltration mathématiquement impossible.

Implémentations

  • BitBox02 : Anti-Klepto activé par défaut sur ECDSA et Schnorr.
  • Coldcard : version maison appelée deterministic signatures + audit.
  • Specter DIY / Krux : compatibles via PSBT custom.
  • Electrum et BitBoxApp côté hôte.

Limites

Anti-Klepto protège uniquement contre l'exfiltration via le nonce. Une compromission complète du firmware (qui modifierait l'adresse de destination, par exemple) ne serait pas couverte ; c'est le rôle du secure display et de la signature humaine d'adresse de protéger contre cela.

À retenir

Anti-Klepto est un excellent exemple d'ingénierie défensive : on ne demande pas confiance au firmware, on la rend mathématiquement vérifiable. Toute personne stockant un montant sérieux devrait privilégier un wallet implémentant ce protocole.

Termes lies

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.