Pourquoi l’élément sécurisé n’est pas un point unique de confiance
La majorité des compromissions de wallet surviennent autour de l’élément sécurisé, et non à l’intérieur.
Cet article est disponible dans les langues suivantes :
Le premier article de la série sur l’élément sécurisé expliquait ce qu’est un élément sécurisé. Le second détaillait les types d’attaquants qu’il peut stopper, et ceux qu’il ne peut pas. Cet article prend du recul pour poser une autre question : même si la puce elle-même est parfaitement sécurisée, est-ce suffisant ?
The short answer is no. And the reason has nothing to do with the chip's engineering. Most successful attacks against hardware wallet users do not break the secure element. They don't need to. They exploit the layers around it, the seed phrase written on a piece of paper, the firmware that tells the chip what to do, and the PIN that controls access to the device. The secure element can be technically impenetrable while the wallet it lives inside is thoroughly compromised. This is what it means to say that wallet security is a system, not a chip. The secure element is the strongest component of that system, its innermost defense. But it is one component. Treating it as the whole story is a misunderstanding that attackers are happy to exploit.
Un château médiéval n’était pas qu’un donjon. C’était un ensemble de défenses en couches : un fossé, des murailles extérieures, des murs intérieurs, une porte fortifiée, et enfin le donjon au centre. Chaque couche avait un rôle spécifique et arrêtait des types d’attaquants différents. Franchir une couche ne signifiait pas la fin du combat : cela rapprochait simplement l’assaillant de la suivante. Le donjon était le point le plus défendable, mais un château dont les murs extérieurs étaient abandonnés n’était pas bien protégé, quelle que soit la solidité du donjon.
Première couche : intégrité du firmware et secure boot
L’élément sécurisé stocke et protège la clé privée. Mais il ne décide pas seul de ce qu’il doit faire avec cette clé. Il reçoit des instructions. Et ces instructions proviennent du firmware de l’appareil, le code qui s’exécute sur le processeur principal du hardware wallet et qui régit son comportement.
Cela soulève une question essentielle : comment savoir si le firmware qui envoie des instructions à l’élément sécurisé est bien celui du fabricant, et non un firmware altéré ?
Ce que signifie l’intégrité du firmware
L’intégrité du firmware garantit que le code exécuté sur votre appareil est exactement celui fourni par le fabricant : non modifié, non compromis, authentique. Sur un hardware wallet, le firmware gère tout ce qui est visible : la façon dont l’appareil réagit, la construction et la présentation des transactions à signer.
Si un attaquant peut remplacer ou modifier le firmware, il obtient un avantage considérable. Un firmware malveillant pourrait afficher une adresse différente à l’écran de celle réellement signée. Il pourrait modifier silencieusement les montants des transactions. Il pourrait manipuler l’interface utilisateur pour extraire le code PIN. Il pourrait, selon l’architecture, créer des conditions qui rendent les protections de l’élément sécurisé plus faciles à contourner. Aucune de ces attaques ne nécessite de casser l’élément sécurisé lui-même. Elles fonctionnent en contrôlant ce qui lui est envoyé et ce qui s’affiche à l’écran.
Secure boot
La principale défense technique contre la modification du firmware est le secure boot : un processus qui vérifie la signature cryptographique du firmware avant de l’exécuter. Le fabricant détient une clé privée de signature. Chaque version officielle du firmware est signée avec cette clé. Au démarrage, l’appareil vérifie le firmware avec la clé publique du fabricant. Si la signature ne correspond pas, parce que le firmware a été modifié, remplacé ou corrompu, l’appareil refuse de démarrer.
C’est une défense efficace, mais qui a ses limites. Le secure boot garantit que seul un firmware signé par le fabricant peut s’exécuter. Il ne garantit pas que l’infrastructure de signature du fabricant n’a jamais été compromise, que le firmware ne contient aucune faille exploitable, ou qu’une future mise à jour n’introduira pas de vulnérabilité. Ce sont des risques résiduels, réels mais généralement faibles chez les fabricants réputés appliquant de bonnes pratiques de sécurité.
Ce que cette couche ne couvre pas
Le secure boot ne protège pas contre les failles présentes dans un firmware authentique et correctement signé. Un bug dans le firmware officiel, même introduit par inadvertance, peut ouvrir une brèche exploitable. D’où l’importance de la gestion des mises à jour : garder le firmware à jour permet de corriger les vulnérabilités connues, mais cela suppose aussi de faire confiance à chaque nouvelle version.
Les fabricants de hardware wallets réputés publient les journaux de modifications du firmware, rendent le firmware immuable, imposent des audits indépendants et, dans certains cas, permettent aux utilisateurs de vérifier eux-mêmes les empreintes du firmware avant installation.
Deuxième couche : code PIN et contrôle d’accès
En supposant que le firmware est authentique et l’élément sécurisé intact, la couche de protection suivante est le contrôle d’accès : qui est autorisé à utiliser cet appareil ?
Les hardware wallets exigent généralement un code PIN, une suite de chiffres saisie sur l’appareil, avant de répondre à toute commande. Le PIN empêche quiconque d’utiliser votre appareil s’il l’a physiquement en main. Sans le bon code, l’appareil ne signera aucune transaction, n’affichera aucune adresse, et n’autorisera aucun accès à ses fonctions.
Comment la protection PIN fonctionne avec l’élément sécurisé
Le code PIN est vérifié directement par l’élément sécurisé, et non par le processeur général de l’appareil. Ce détail architectural est crucial. Si la vérification du PIN se faisait dans le logiciel du processeur principal, un attaquant capable d’exécuter du code arbitraire sur ce processeur pourrait le contourner. Lorsque la vérification s’effectue dans l’élément sécurisé, elle bénéficie des mêmes protections anti-effraction que le stockage de la clé.
La plupart des hardware wallets certifiés intègrent également un compteur de tentatives de PIN dans l’élément sécurisé. Après un certain nombre d’essais incorrects, généralement entre trois et dix, l’appareil s’efface, se bloque définitivement ou, dans le cas de Tangem, augmente le délai de sécurité. Cela neutralise les attaques par force brute : même un PIN à quatre chiffres avec 10 tentatives possibles serait quasi impossible à deviner au hasard.
Quand la protection PIN est forte
Face au vol opportuniste, si quelqu’un trouve ou vole votre appareil sans connaître le code PIN, la combinaison de la vérification sur l’appareil et de la limite de tentatives est très efficace. L’attaquant se retrouve face à un appareil verrouillé qui s’autodétruira avant qu’il ne puisse deviner le code. C’est la porte fortifiée qui fait son travail.
Quand la protection PIN est faible
Le code PIN protège l’appareil contre une utilisation non autorisée. Il ne protège pas la phrase de récupération. Ce sont deux couches distinctes du château, qui protègent des éléments différents.
Si quelqu’un vole votre appareil et la phrase de récupération écrite lors du même cambriolage, votre PIN devient inutile. Il n’a même pas besoin de l’appareil : il peut restaurer le wallet à partir de la phrase sur n’importe quel wallet logiciel compatible. La porte fortifiée a été contournée.
La sécurité du PIN dépend aussi du fait qu’il ne soit pas observé. Un code saisi dans un lieu public, filmé ou vu par un tiers à proximité, est compromis, quelle que soit la robustesse de l’élément sécurisé.
De plus, le PIN protège contre l’utilisation non autorisée, mais pas contre l’utilisation autorisée sous la contrainte. Une personne menacée physiquement pour révéler son code PIN ne pourra pas être protégée par la puce. Ce n’est pas un défaut de conception : cela sort simplement du champ de la sécurité technique.
Troisième couche : stockage de la phrase de récupération
La phrase de récupération, ces 12 ou 24 mots générés lors de la configuration d’un hardware wallet, est la représentation lisible par l’humain de votre clé privée. Elle sert de mécanisme de secours : si vous perdez ou cassez votre appareil, vous pouvez restaurer votre wallet sur un nouvel appareil grâce à ces mots. Chaque mot est un point de contrôle : ensemble, ils reconstituent la clé que l’élément sécurisé protégeait.
Cette conception est à la fois essentielle et constitue la plus grande vulnérabilité structurelle de la plupart des configurations de hardware wallet.
Pourquoi la phrase de récupération casse la métaphore du château
Tout ce qui a été évoqué jusqu’ici : le secure boot, la protection PIN, la résistance de l’élément sécurisé, repose sur une seule idée : la clé privée reste dans la puce, et la puce est le seul moyen d’y accéder.
La phrase de récupération invalide ce principe. C’est une copie de la clé, en clair, sous forme de mots, qui existe en dehors de la puce : sur papier, sur métal, chez vous, parfois à plusieurs endroits. Toute personne qui l’obtient peut reconstituer votre clé privée sans jamais toucher à votre hardware wallet. Toutes les défenses de la puce deviennent inutiles dès que la phrase est entre de mauvaises mains.
Ce n’est pas un défaut du hardware wallet, mais un choix délibéré : perdre son appareil ne doit pas signifier perdre définitivement ses fonds. Le mécanisme de récupération introduit nécessairement une vulnérabilité. La question est de savoir comment cette faille est gérée.
Le paysage des menaces pour les phrases de récupération
Les phrases de récupération sont exposées à des risques que les puces matérielles ne sont pas conçues pour contrer :
Vol physique : une phrase de récupération écrite sur papier, stockée dans une maison cambriolée, est accessible à quiconque la trouve. Elle ne requiert aucune compétence technique, juste une application wallet compatible.
Incendie et dégâts des eaux : à la différence d’un hardware wallet, qui peut être remplacé si la phrase est sauve, une phrase détruite ou endommagée signifie une perte définitive sans possibilité de récupération.
Exposition involontaire : photographier une phrase de récupération, la stocker dans une application cloud ou la taper sur un appareil numérique l’expose à un vol à distance.
Héritage et succession : une phrase de récupération sans plan d’accès pour des personnes de confiance rend les fonds inaccessibles en cas de décès ou d’incapacité du propriétaire.
Comment renforcer le stockage de la phrase de récupération
La base consiste en une sauvegarde physique sur un support durable : au minimum du papier, ou des plaques métalliques dédiées pour les montants importants, stockées dans un lieu physiquement sécurisé (coffre-fort, coffre bancaire) et difficile à relier à l’identité du propriétaire.
Au-delà de cette base, plusieurs approches architecturales existent pour réduire le risque lié à la phrase de récupération :
Passphrase protection (25th word) : la plupart des standards de phrase de récupération permettent d’ajouter une passphrase optionnelle, combinée à la phrase pour dériver la clé. Un attaquant qui possède la phrase mais pas la passphrase ne pourra pas accéder aux fonds. La passphrase doit être mémorisée ou stockée séparément : elle devient un secret supplémentaire à protéger.
Shamir's Secret Sharing : la phrase de récupération peut être divisée en plusieurs parts, chacune inutile seule, grâce à des techniques cryptographiques. Un seuil de parts (par exemple trois sur cinq) doit être réuni pour reconstituer la clé. Cela répartit le risque géographiquement et entre plusieurs dépositaires.
Multi-signature wallets : au lieu d’une seule phrase de récupération, une configuration multi-signature exige plusieurs clés indépendantes pour valider une transaction. Compromettre une seule clé ou phrase ne suffit pas. Ce modèle diffère fondamentalement du simple renforcement de la protection d’une phrase unique : il modifie entièrement le modèle de menace.
Ce qu’aucune solution technique ne résout totalement
La sécurité de la phrase de récupération dépend en dernier ressort du comportement humain : choix du lieu de stockage, personnes qui la connaissent, maintien dans le temps, mise à jour en cas de changement de situation. Aucune puce ne peut garantir le bon sens concernant la cachette d’un bout de papier. C’est la couche du château la plus dépendante de la personne, non du matériel.
Le système dans son ensemble
Transposer la métaphore du château à ces trois couches donne une vision claire du fonctionnement réel de la sécurité d’un hardware wallet, et de ses points faibles.
The secure element is the keep : le point le plus défendable, là où la clé réside réellement, protégé par une ingénierie conçue pour résister à la plupart des attaques directes. C’est souvent la couche la plus difficile à franchir.
Firmware integrity and secure boot are the outer walls : ils contrôlent quel code peut seulement approcher le donjon, en s’assurant que les instructions reçues par la puce sont légitimes. Un château sans murailles extérieures n’est pas bien défendu, même si le donjon est solide.
The PIN and access controls are the gatehouse : le point de contrôle humain qui empêche tout utilisateur non autorisé d’interagir avec le château. Efficace contre les intrus opportunistes ; moins contre les menaces ciblées.
The seed phrase is the secret passage : la voie de secours légitime, mais qui contourne toutes les autres défenses si elle tombe entre de mauvaises mains. La sécurité de ce passage dépend presque entièrement de son emplacement et des personnes qui en ont connaissance.
La conséquence concrète de cette architecture est que la sécurité réelle du système ne dépend pas de sa couche la plus solide, mais de la plus faible au regard de la menace réelle pour l’utilisateur. Quelqu’un dont l’élément sécurisé est certifié EAL6+, mais qui stocke sa phrase de récupération dans une application de notes en clair sur son téléphone, n’est protégé que par la sécurité de l’application de notes, indépendamment de la puce.
La sécurité d’un wallet est un système. L’élément sécurisé en est la pièce maîtresse. Mais « l’élément sécurisé est robuste » ne signifie pas « le wallet est sécurisé ». Ce sont deux affirmations distinctes.
L’élément sécurisé mérite sa place centrale. Il résout la partie la plus difficile : protéger la clé privée contre les attaques techniques à distance ou physiques. Mais il le fait dans une architecture plus large : firmware, contrôles d’accès, sauvegarde de la clé, qui doivent eux aussi être pris au sérieux.
Comprendre le système n’est pas un argument contre les hardware wallets ni contre l’élément sécurisé. C’est au contraire la raison de prendre l’ensemble du système au sérieux, à commencer par la compréhension du rôle et des limites de chaque couche.