Secure Element
Un Secure Element est une puce dédiée résistante aux attaques physiques (CC EAL5+). Stocke la seed et signe sans la révéler. Présent dans Ledger, BitBox, Passport. Compromis entre sécurité et code fermé.
Définition
Un Secure Element (SE) est un microcontrôleur cryptographique spécialement conçu pour stocker des secrets et exécuter des opérations cryptographiques en résistant aux attaques physiques. C'est la même classe de puces qu'on trouve dans les cartes bancaires, les passeports biométriques, les SIM mobiles et les Trusted Platform Modules d'ordinateurs portables.
Caractéristiques techniques
| Propriété | Détail | |-----------|--------| | Certification | Common Criteria EAL5+ à EAL6+ | | Résistance physique | Contre microscopie électronique, glitching, side-channel | | RAM/ROM intégrée | Pour exécuter sans CPU externe | | Générateur d'aléa | TRNG matériel certifié | | Anti-rollback | Compteurs anti-rejeu, fusibles | | Boîtier | Mesh sensor, blindage |
Les principales fonderies sont NXP (Pays-Bas), Infineon (Allemagne), STMicroelectronics (Franco-italien) et Samsung.
Usage dans les hardware wallets
Un hardware wallet équipé d'un Secure Element y stocke :
- La seed BIP-39 chiffrée.
- Les clés privées dérivées pour chaque signature.
- Le PIN code avec compteur d'essais.
- Éventuellement la passphrase BIP-39.
Quand l'utilisateur valide une signature, le SE :
- Reconstruit la clé privée en interne.
- Signe le hash de transaction.
- Renvoie uniquement la signature.
- La clé ne quitte jamais la puce.
Hardware wallets avec SE
| Wallet | Secure Element | |--------|----------------| | Ledger Nano S/X/S+ | ST33 (ST31 + applet) | | BitBox02 | ATECC608B (Microchip) | | Foundation Passport | NXP SE050 | | Coldcard Mk4/Q | ATECC608A | | Trezor (T, Safe 3/5) | Optaire (Safe 3+) | | Tangem | NXP / Samsung | | Satochip | Infineon SLE78 |
Trezor One classique et SeedSigner se passent volontairement de SE pour rester 100% open-source.
Le débat open-source
Les SE posent un dilemme :
Pour : protection physique éprouvée, certification indépendante, garantie de non-extraction des clés.
Contre : firmware propriétaire (NDA imposé par les fonderies), confiance dans le fabricant, impossible d'auditer le code exact qui tourne dans la puce.
C'est la raison pour laquelle Trezor a historiquement refusé d'utiliser un SE, et pourquoi Ledger a essuyé des critiques après l'épisode Recover en mai 2023, qui a révélé que le SE pouvait techniquement exfiltrer des shares de la seed.
Évolution récente
- 2023 : controverse Ledger Recover, démonstration que le SE peut extraire la seed si le firmware l'autorise.
- 2024 : Trezor Safe 3 et Safe 5 adoptent un SE optionnel, en complément du STM32 ouvert.
- 2025 : Foundation et BitBox renforcent leur transparence sur les firmwares SE.
À retenir
Un Secure Element est une protection physique de premier rang contre les attaques matérielles. Le compromis "fermé" qu'il impose reste l'un des choix les plus politiques d'un fabricant de hardware wallet, et chaque utilisateur doit décider où placer le curseur entre sécurité physique et vérifiabilité du code.
Termes lies
- Hardware walletUn hardware wallet (portefeuille materiel) est un appareil physique qui stocke vos cles privees Bitcoin de maniere securisee, isolees d'Internet. Les transactions sont signees sur l'appareil, protegeant vos fonds meme si votre ordinateur est compromis. Les marques populaires incluent Ledger, Trezor, Coldcard et BitBox.
- Anti-Klepto / Anti-ExfilAnti-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.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.