Sécurité
TEE : Trusted Execution Environment, en français environnement d'exécution de confiance. « Une pièce isolée à l'intérieur du processeur, où le système principal n'a pas le droit d'entrer bien qu'il habite la maison », par analogie avec le confessionnal installé au milieu de l'église : tout le monde sait qu'il est là, personne d'autre n'entend ce qui s'y dit.
Principe : Le processeur fait tourner côte à côte deux mondes : le système habituel (Android, par exemple) et un petit système sécurisé, isolé par le matériel. Sur les puces ARM, cette séparation repose sur TrustZone ; les clés et les opérations sensibles restent dans le monde sécurisé, et le système principal ne reçoit que le résultat.
Sur mobile : Android Keystore peut conserver les clés dans le TEE, ou dans StrongBox, une puce de sécurité séparée et plus résistante aux attaques physiques. Apple utilise de son côté la Secure Enclave, un coprocesseur dédié. L'attestation de clé permet de vérifier à distance où la clé réside réellement, plutôt que de croire l'application sur parole.
Limites : Le TEE réduit la surface d'attaque sans l'annuler : son propre système et ses applications de confiance ont déjà eu des failles, et sur un appareil compromis, un attaquant peut faire signer ce qu'il veut par une clé qu'il ne peut pas extraire. La clé reste à l'abri ; son usage, beaucoup moins.
Ce qui arrive si on s'en passe
Une application qui stocke ses clés dans un simple fichier, même chiffré, les livre au premier maliciel qui obtient les droits du système ou à l'analyste qui copie la mémoire du téléphone. Une application qui suppose le TEE présent sans vérifier l'attestation de clé accepte aussi bien un émulateur ou un appareil modifié, et applique alors sa confiance la plus large à l'environnement qui en mérite le moins. Dans le paiement mobile ou l'authentification forte, ce détail sépare une clé non extractible d'une clé simplement bien cachée, c'est-à-dire bientôt trouvée.
Explication de la marmotte
Dans un téléphone, le processeur contient une petite zone séparée, protégée par le matériel, que le système principal ne peut pas lire. On y range les éléments les plus sensibles, comme les clés qui servent à déverrouiller l'appareil ou à valider un paiement. Même si une application malveillante prend le contrôle du système, elle ne peut pas copier ces clés, seulement demander à la zone protégée de s'en servir. Les applications sérieuses vérifient que cette zone existe vraiment avant de lui faire confiance.
Où ce terme est utilisé
- Sécuriser les données en mémoire dans le cloud (10 occurrences)
- Chiffrement homomorphe dans le cloud : promesses et limites réelles (3 occurrences)
- Comment sécuriser les jetons stockés sur mobile (2 occurrences)
- SGX et TrustZone pour isoler du code sensible (2 occurrences)
