Une analyse d'ingénierie démontrant comment GemReader contourne les claviers système par des primitives tactiles, coordonne FLAG_SECURE par comptage de références et dérive les clés AES-GCM.
La vulnérabilité des saisies mobiles classiques
Lorsque les érudits protégeaient leurs manuscrits privés dans les bibliothèques traditionnelles, la sécurité était physique et absolue. Les coffrets fermés et les combinaisons secrètes étaient conçus pour que le déverrouillage ne laisse aucun indice aux observateurs. Dans un environnement de lecture numérique moderne, la protection des documents d'étude exige une rigueur identique. Pourtant, les champs de saisie standard des systèmes d'exploitation compromettent souvent la confidentialité par des fuites architecturales discrètes.
La plupart des applications mobiles s'appuient sur des champs de texte standard directement reliés au clavier virtuel du système d'exploitation. Bien que pratique au quotidien, ce clavier système est surveillé par des méthodes de saisie tierces (IME), des moteurs de prédiction connectés au cloud et des services d'accessibilité en arrière-plan. Saisir un code secret via le clavier système expose vos frappes à des pipelines de télémétrie et aux tampons du presse-papiers bien avant l'exécution du contrôle d'authentification.
Isolation tactile sans signal via NumericKeypad
Afin d'éliminer totalement la surface d'attaque des claviers tiers, GemReader contourne entièrement le clavier virtuel d'Android lors du déverrouillage des bibliothèques verrouillées (Locked Libraries). Au lieu de monter un champ de texte standard, notre interface déploie un pavé numérique dédié, conçu directement à partir de primitives tactiles personnalisées.
Ce pavé personnalisé fonctionnant exclusivement dans l'arborescence UI isolée de l'application, le système Android ne reçoit jamais l'instruction d'afficher un clavier logiciel. Les appuis mettent à jour l'état du composant directement en mémoire sans émettre d'événements vers les IMEs externes ni alimenter les mémoires prédictives. Le masquage visuel optionnel dissimule les chiffres des regards indiscrets tout en assurant un retour tactile précis.
Protection de fenêtre par comptage de références et masquage multitâche
Sécuriser la frappe ne résout qu'une partie de la confidentialité physique ; les instantanés visuels en cache constituent un risque tout aussi critique. Lorsque l'utilisateur passe d'une application à l'autre, les systèmes d'exploitation mobiles capturent des captures d'écran haute résolution pour afficher des vignettes dans le sélecteur d'applications récentes. Sans verrouillage explicite, une session de lecture en arrière-plan peut exposer des titres d'ouvrages et des passages confidentiels.
Android répond à cette faille via le drapeau natif `FLAG_SECURE`, qui ordonne au compositeur d'affichage de bloquer les captures d'écran, les enregistrements vidéo, le partage d'écran et les aperçus multitâches. Cependant, dans les applications complexes où se superposent plusieurs boîtes de dialogue modales, des invites de sauvegarde et des dossiers verrouillés, un simple interrupteur booléen engendre des conditions de concurrence : fermer une modale risque de désactiver prématurément la protection de la vue sous-jacente.
GemReader résout ce problème grâce à un registre de protection par comptage de références. Chaque composant sensible enregistre une clé unique lors de son montage et la libère lors de son démontage. L'état `FLAG_SECURE` reste actif tant que le compteur est supérieur à zéro et n'est relâché que lorsque tous les composants enregistrés sont fermés en toute sécurité.
Dérivation et déverrouillage cryptographique de clés AES-GCM
Dans de nombreuses applications de lecture, le verrouillage de dossiers n'est qu'un simple artifice visuel qui masque l'interface tout en laissant les fichiers EPUB en clair sur le stockage local. GemReader conçoit la saisie du code PIN comme un véritable déverrouillage cryptographique et non comme une simple barrière graphique.
Les livres des collections verrouillées sont chiffrés au repos à l'aide d'AES-GCM. Lorsque vous entrez votre PIN, l'application dérive une clé de déchiffrement éphémère à partir de votre clé maîtresse et du code saisi. Les ressources EPUB sont déchiffrées à la demande en mémoire dans un moteur de lecture sécurisé uniquement pendant votre session active. Si un code incorrect est entré, la dérivation échoue instantanément et les fichiers bruts restent cryptographiquement illisibles.
Une isolation architecturale au service d'un sanctuaire d'étude
Un véritable sanctuaire numérique ne repose pas sur une promesse vague, mais sur une défense en profondeur rigoureuse et vérifiable. En combinant la saisie tactile isolée, la protection de fenêtre par comptage de références et la cryptographie locale AES-GCM, GemReader veille à ce que vos recherches, notes et documents restent sous votre contrôle exclusif.
Que vous analysiez des manuscrits sensibles ou teniez un journal d'étude privé, votre lecture doit demeurer à l'abri de la télémétrie, des captures d'écran sauvages et des regards indiscrets. Sans télémétrie, avec une dérivation de clés locale et une sécurité multicouche, votre bibliothèque vous appartient pleinement.
Try it yourself
Related guides