Centrale Androïde

Comment Android enregistre-t-il vos empreintes digitales ?

protection click fraud

La sortie d'un iPhone sans capteur d'empreintes digitales a suscité des discussions sur l'utilisation des empreintes digitales pour l'authentification et sur la sécurité du stockage des données. C'est génial. Même si vous ne vous souciez pas de la façon dont cela se passe, vous avez besoin que beaucoup d'autres personnes s'en préoccupent pour que cela se fasse d'une manière dont vous n'avez pas à vous soucier !

Pour commencer, Apple utilise une solution similaire et si vous avez un ancien modèle avec un capteur d'empreintes digitales, vous êtes tout aussi sûr de l'utiliser qu'auparavant. Il en va de même pour les plus âgés Samsung téléphones qui ont lancé pré-Marshmallow et ont utilisé les propres méthodes de Samsung.

La façon dont Google stocke vos données d'empreintes digitales est la manière la plus sécurisée possible avec la technologie actuelle. Il est également fascinant de voir à quel point la vue d'ensemble de l'ensemble est simple une fois que vous y avez jeté un coup d'œil. Simple et sécurisé est toujours un combo gagnant.

Le stockage est, par nature, peu sécurisé. C'est la même chose que d'écrire quelque chose sur un post-it et de le mettre dans un classeur. Il est là parce qu'il doit être là, et la meilleure chose que vous puissiez faire est de contrôler qui y a accès. Pour un classeur, vous utilisez un verrou et pour votre téléphone, vous utilisez le cryptage. Pour vos données d'empreintes digitales, les choses vont encore plus loin: un environnement d'exécution fiable (TEE).

Un TEE est une zone séparée et isolée dans le matériel du téléphone. Un TEE peut utiliser son propre processeur et sa propre mémoire ou il peut utiliser une instance virtualisée sur le CPU principal. Dans les deux cas, le TEE est entièrement isolé et isolé à l'aide d'une mémoire matérielle et d'une protection d'entrée/sortie. La seule façon d'entrer est si le TEE vous laisse entrer, et il ne le fera jamais. Même si le téléphone est rooté ou le chargeur de démarrage déverrouillé, le TEE est séparé et toujours intact.

Un processeur séparé avec sa propre mémoire et son propre système d'exploitation est utilisé pour analyser et stocker vos données d'empreintes digitales.

Google utilise ce qu'ils appellent TEE fidèle pour soutenir cela. Un système d'exploitation très petit et efficace, nommé à juste titre Trusty OS, s'exécute sur le matériel TEE et les pilotes du noyau lui permettent de communiquer avec le système. Il existe des bibliothèques Android (vous l'avez deviné: l'API Trusty) que les développeurs peuvent utiliser afin qu'ils puissent demander ce qui équivaut à une question oui ou non au TEE. Il n'y a pas que les données d'empreintes digitales qui sont stockées dans le TEE. Des éléments tels que les clés DRM et les clés de chiffrement du chargeur de démarrage du fabricant résident également dans le TEE et fonctionnent de la même manière que votre les données d'empreintes digitales le font - répondez si les données qui lui sont présentées par une application correspondent aux bonnes données connues dont il s'agit stockage.

D'autres fabricants peuvent utiliser Trusty OS ou alors utiliser un système différent. Tant que tous les critères sont remplis (énumérés ci-dessous) et que le TEE est isolé et isolé, il répondra aux normes de sécurité nécessaires pour utiliser Pixel Imprint (anciennement Nexus Imprint).

Schéma fonctionnel ARM TrustZone TEE.
Schéma fonctionnel ARM TrustZone TEE.

Lorsque vous enregistrez une empreinte digitale sur votre téléphone Android, le capteur récupère les données du scan. Trusty OS analyse ces données à l'intérieur du TEE, puis crée deux éléments: un ensemble de données de validation et un modèle d'empreinte digitale chiffré. Cela semble être des données indésirables pour tout sauf le TEE qui a également la clé pour déchiffrer ces données indésirables. Ce modèle d'empreinte digitale crypté est stocké dans un conteneur crypté soit sur le TEE, soit sur le stockage crypté de votre téléphone. Trois couches de cryptage signifient qu'il est presque impossible d'obtenir les données, et même si vous le pouviez, cela ne servirait à rien sans un moyen de les déchiffrer.

Android exige que vos données d'empreintes digitales soient sécurisées avec une clé unique, et vous pouvez; Ne l'emportez pas sur un autre téléphone ou ne le réutilisez pas pour un autre utilisateur.

Les données de validation sont stockées dans le TEE. Lorsque vous placez votre doigt sur le scanner pour essayer de faire quelque chose, le scanner crée un profil de données. Via l'API Trusty, l'application associée demande au noyau de demander au TEE si c'est juste. Le TEE vérifie les données de validation stockées à l'aide de son processeur et de sa mémoire séparés, et si suffisamment de données correspondent, il dit oui. S'il n'y a pas assez de données correspondantes, il dit non. Cette réponse de réussite ou d'échec est renvoyée au noyau sous la forme d'un jeton logiciel que l'API peut lire pour voir le résultat.

Alors que le TEE lui-même utilise un système d'exploitation et un matériel autonomes pour rester sécurisé, le modèle d'empreintes digitales utilise un cryptage logiciel. Il doit être signé par une clé bien précise pour être valide. Cette clé est créée à l'aide d'informations spécifiques à l'appareil, d'informations spécifiques à l'utilisateur et d'informations spécifiques à l'heure. En d'autres termes, si vous supprimez un utilisateur, changez d'appareil ou essayez de réenregistrer une empreinte digitale (le système peut dire si vous écrasez une empreinte digitale existante) la clé n'est plus reconnue et ne peut pas être utilisée pour déchiffrer l'empreinte digitale modèle.

Les règles de base que chaque entreprise fabriquant des téléphones Android avec un capteur d'empreintes digitales doivent suivre :

  • Toutes les analyses de données d'empreintes digitales doivent être effectuées à l'intérieur du TEE
  • Toutes les données associées à une empreinte digitale doivent être stockées dans le TEE ou en mémoire de confiance (mémoire que le CPU principal ne peut même pas voir)
  • Les données de profil d'empreintes digitales doivent être auto-cryptées même si elles sont stockées dans la mémoire de téléphone cryptée
  • La suppression d'un compte d'utilisateur doit également effacer en toute sécurité toutes les données associées aux empreintes digitales de cet utilisateur.
  • L'endroit où les profils d'empreintes digitales sont stockés ne doit être visible par aucune application, processus ou utilisateur, y compris l'utilisateur root
  • Les données d'empreintes digitales de quelque nature que ce soit ne doivent pas être sauvegardées sur une autre source, y compris le cloud, votre ordinateur ou toute autre application.
  • L'authentification par empreintes digitales doit être utilisée par le processus qui l'a demandée (pas de partage de données d'empreintes digitales, même juste la réponse oui ou non pour voir si elle était correcte)

Lorsque vous avez quelques spécifications standard claires, il n'est pas difficile de les respecter. C'est ce qui garantit que, quel que soit le téléphone Android que vous utilisez, vos données d'empreintes digitales seront stockées en toute sécurité et qu'aucun autre processus système ou application ne pourra y accéder. Au fur et à mesure que la cryptographie évolue, en particulier le cryptage matériel, cette méthode de protection de vos données d'empreintes digitales évoluera également. Il sera intéressant de regarder en arrière une fois Android Z lancé et de voir jusqu'où nous sommes allés.

instagram story viewer