Aller au contenu
ecdsa.com

Signature à l’aveugle (blind signing)

Le fait d’approuver une transaction ou un message dont l’appareil de signature ne peut pas afficher le sens (il n’en montre en général qu’un condensat ou les calldata brutes), si bien que le signataire doit faire confiance à l’ordinateur, peut-être compromis, qui l’a préparé.
Autres graphiesblind signingclear signingERC-7730

Les portefeuilles matériels protègent les clés, mais ils ne protègent les fonds que si leur écran montre ce qui est signé. Les calldata complexes, les messages EIP-712 destinés à des contrats inconnus et les transactions Safe apparaissent souvent sous forme de condensats ou d’hexadécimal. Les attaquants qui contrôlent le logiciel hôte ou un front-end web en profitent : le vol du portefeuille Safe de Bybit en février 2025 et de nombreux détournements de fonds par hameçonnage à la signature permit ont fonctionné en faisant approuver aux utilisateurs autre chose que ce qu’affichait leur navigateur.

Le remède est la signature en clair (clear signing) : les appareils décodent les calldata et les données typées en champs à l’aide de métadonnées de confiance. ERC-7730 définit pour cela un format de descripteur JSON, avec un registre public maintenu au sein de l’organisation Ethereum. Tant qu’un appareil ne sait pas décoder une transaction, vérifiez son condensat sur une machine indépendante.

Normes et références

Tous les termes