R15 — Consentement physique, PIN, timeout, effacement et RAM¶
Statut : NON EXÉCUTÉ sur matériel — T2B1 et T3B1.
Appliquer le registre commun et conserver une ligne par modèle/OS requis. Les sorties des tests hôte/émulateur restent des preuves séparées.
Préconditions¶
R01–R14 réussis ; appareil sacrifiable et copie restaurée des identités ; outils standards host et binaire sans debuglink ; build instrumenté distinct si inspection RAM nécessaire.
Étapes¶
- Depuis HID/CCID/MSC, essayer création, signature, déchiffrement, export et suppression sans accord local, en refusant et en laissant expirer. Vérifier qu’aucun secret/export brut n’est obtenu et qu’aucune action sensible n’est acceptée implicitement.
- Verrouiller et contrôler les opérations privées ; après cinq minutes d’inactivité contrôler même résultat. Vérifier re-saisie PIN avant exports QR et opérations de gestion sensibles ; une phrase de sauvegarde égale au PIN doit être refusée.
- Avec des secrets jetables, vérifier essais et blocages distincts du PIN appareil, PIN FIDO, PW1/PW3, PIN/PUK PIV ; couper/rebrancher entre erreurs pour confirmer persistance. L’épuisement des essais appareil doit effacer, pas permettre une boucle illimitée.
- Après export/import/annulation/timeout, observer écran masqué, purge des buffers natifs temporaires et absence de disque secret. Sur build instrumenté, examiner les buffers effaçables et références abandonnées après lock. Documenter séparément la limite de zéroïsation des objets bytes/str immuables MicroPython ; ne pas prétendre que toute RAM est physiquement effacée sans preuve.
- Déclencher Réglages → Effacement intégral : refuser chaque écran de confirmation, constater aucune perte ; enfin accepter avec PIN et maintien, redémarrer et vérifier onboarding vierge, clés absentes, anciens codes/identifiants inutilisables.
- Vérifier l’absence de debuglink et de logs de secrets dans les trois modes du candidat et les artefacts livrés, après retour au binaire non instrumenté.
Résultat attendu¶
Consentement local et authentification requis selon politique, limites d’essais persistantes, effacement explicite effectif, absence d’export USB caché/debuglink, nettoyage vérifié selon les garanties réellement atteignables du runtime.
Preuves à conserver¶
Matrice opérations/refus/timeout/PIN, vidéos d’effacement/annulation, descripteurs USB, résultats inspection de buffers et limites résiduelles motivées, hashes de builds séparés et aucune donnée secrète publiée.