Google travaille sur le stockage sécurisé des licences de pilotes numériques dans Android

Mise à jour 1 (3/6/19 à 20h44 HE) : Shawn Willden, responsable de l'équipe de sécurité basée sur le matériel Android, a présenté plus de détails sur les plans de Google concernant l'API IdentityCredential. L'article a été mis à jour avec ces détails à la fin. L'article original suit.

Porter un portefeuille est devenu une nécessité moins importante depuis que j'ai commencé à utiliser Google Pay pour gérer mes cartes de crédit, mais je ne peux toujours pas me déplacer sans mon permis de conduire. Je connais quelques personnes qui utilisent des étuis de portefeuille pour conserver les quelques cartes qu’elles doivent porter, mais j’attends le jour où je pourrai me rendre légalement à Walmart avec juste mon téléphone. Un permis de conduire numérique offre de nombreux avantages par rapport à la carte d'identité traditionnelle. Vous ne pouvez pas le perdre, vous pouvez le mettre à jour à distance pour ne pas avoir à faire la queue devant le DMV, vous pouvez l'effacer à distance si votre téléphone est volé, vous risquerez moins de vous faire voler votre identité Vous n’avez pas besoin de porter un portefeuille contenant des informations facilement accessibles, vous êtes moins susceptible de laisser votre téléphone à la maison et vous aurez plus de facilité à l’afficher sur demande. Aux États-Unis, les autorités reconnaissent peu à peu les avantages d'un permis de conduire pour téléphone portable. C'est pourquoi de plus en plus d'États américains testent leur adoption chaque année.

Par exemple, les résidents de la Louisiane peuvent télécharger l'application LA Wallet développée par Envoc, qui a été approuvée par les autorités de maintien de l'ordre de Los Angeles pour la vérification de licence et par l'ATC de Los Angeles pour les transactions alcool et tabac. La vérification de l'âge est particulièrement intéressante car les utilisateurs peuvent limiter l'application mobile pour ne montrer que les informations nécessaires à un vendeur d'alcool ou de tabac. Par ailleurs, la société de sécurité numérique Gemalto, en partenariat avec le Colorado, l'Idaho, le Maryland, Washington DC et le Wyoming, a lancé des programmes pilotes avant de déployer sa solution de permis de conduire numérique. Parallèlement, l’Association américaine des administrateurs de véhicules automobiles s’emploie à normaliser cette nouvelle forme d’identification électronique.

Un exemple d’image du permis de conduire numérique accessible via l’application LA Wallet. Source: Envoc

Le permis de conduire numérique présente toutefois des inconvénients. Vous avez beaucoup de contrôle sur qui va voir votre identité physique, mais vous avez moins de contrôle sur qui ou quoi a accès à son formulaire numérisé. Vous pouvez protéger votre téléphone par un mot de passe ou un code PIN, ou par l'application qui récupère votre licence mobile, mais il est toujours possible que votre téléphone et toutes ses données soient compromis. De plus, vous devez vous assurer que votre téléphone dispose de suffisamment de jus pour que Android continue de fonctionner, de sorte que vous puissiez obtenir la licence. Avec l’API IdentityCredential, Google s’efforce de résoudre ces deux problèmes. Dans une future version d'Android, peut-être Android R, les périphériques dotés du matériel adéquat pourront stocker en toute sécurité les cartes d'identification, notamment les licences de pilote numériques, et y accéder même lorsque le périphérique ne dispose pas de suffisamment de puissance pour démarrer Android.

API IdentityCredential

À première vue, le commit, soumis par Shawn Willden, responsable de l'équipe Keystore basée sur le matériel Android d'Android, ne semble pas très intéressant. Toutefois, si vous affichez les fichiers IdentityCredential et IdentityCredentialStore, vous trouverez plusieurs références à quels types de "références d'identité" auxquelles Google fait référence. Par exemple, IdentityCredential utilise un protocole d’échange de clés «utilisé par la norme ISO18013-5 pour les permis de conduire mobiles». En outre, ce protocole est utilisé comme «base du travail en cours de l’ISO sur d’autres identifiants d’identité standardisés». nous verrons bientôt les passeports mobiles, il est clair que cette API est destinée à plus que des permis de conduire mobiles.

Pour aller plus loin, Google élabore sur les types de clés de signature pris en charge par l’API IdentityCredential. Il existe deux types d'authentification de données: statique et dynamique. L’authentification statique implique des clés créées par une autorité émettrice, tandis que l’authentification dynamique implique des clés créées par le matériel de sécurité du périphérique (tel que le Titan M dans Pixel 3 et Pixel 3 XL.) L’avantage de l’authentification dynamique est qu’il est plus difficile pour un attaquant de: compromettre le matériel sécurisé pour copier les informations d'identification sur un autre périphérique. En outre, l'authentification dynamique rend plus difficile la liaison d'un identifiant particulier avec les données d'un utilisateur.

Une application Android peut présenter un IdentityCredential à un lecteur en demandant à l'utilisateur d'établir une connexion sans fil via NFC. Il est recommandé aux applications de protéger ces transactions en demandant l'autorisation de l'utilisateur sous la forme d'un dialogue et / ou d'une protection par mot de passe.

Si un appareil dispose du matériel pris en charge, le mode «accès direct» sera disponible pour permettre la présentation d’un IdentityCredential même s’il n’ya pas assez de puissance pour continuer à faire fonctionner Android. Cela n'est possible que lorsque le périphérique dispose d'un matériel sécurisé discret et de suffisamment de puissance pour que ce matériel puisse partager les informations d'identification via NFC. Les appareils tels que Google Pixel 2 et Google Pixel 3 devraient être éligibles, car les deux appareils sont dotés de modules de sécurité inviolables distincts du SoC principal.

Si le périphérique ne dispose pas d'un processeur sécurisé discret, il peut toujours prendre en charge l'API IdentityCredential, mais sans la prise en charge de l'accès direct. Si le magasin d'informations d'identification est implémenté dans le logiciel uniquement, il peut être compromis par une attaque du noyau. Si le magasin d'informations d'identification est implémenté dans le TEE, il peut être compromis par des attaques par canaux latéraux sur le processeur, telles que Meltdown et Spectre. Si le magasin d'informations d'identification est implémenté dans un processeur distinct intégré dans le même package que le processeur principal, il résiste aux attaques de matériel physique, mais ne peut pas être alimenté sans alimenter également le processeur principal.

La sensibilité du document déterminera si une ou plusieurs de ces implémentations de banque d'identifiants d'identité seront prises en charge. Les développeurs peuvent vérifier la certification de sécurité de la mise en œuvre du magasin de justificatifs d'identité. Les implémentations de magasin de justificatifs d'identité peuvent être non certifiées ou avoir un niveau d'assurance de l'évaluation de 4 ou plus. La couche EAL indique aux développeurs d'applications à quel point la mise en œuvre est sécurisée contre les attaques potentielles.

Comme je l'ai déjà mentionné, Google souhaite que cette API soit utilisée pour tout type de document normalisé, bien qu'ils citent en exemple les permis de conduire mobiles ISO 18013. Le type de document est nécessaire pour que le matériel de sécurité sache quel type d’authentification il s’agit dans le cas où le mode d’accès direct devrait être pris en charge, et pour permettre aux applications de savoir quel type de document est demandé par un lecteur.

C’est toute l’information dont nous disposons jusqu’à présent sur cette nouvelle API. Étant donné que nous sommes si près de la sortie de la première version d'Android Q Developer Preview, je ne pense pas qu'il soit probable que le stockage sécurisé des licences de conducteur mobile dans Android Q. soit pris en charge. Cependant, cette API pourrait être prête pour le moment où Android R sortira en 2020. Google Pixel 2, Google Pixel 3 et le prochain Google Pixel 4 devraient prendre en charge cette API avec le mode d'accès direct sous Android R, grâce au processeur sécurisé discret nécessaire. Nous vous informerons si nous en apprenons plus sur ce que Google a l'intention de faire avec cette API.


Mise à jour 1: plus de détails sur l'API IdentityCredential

Shawn Willden, l'auteur de la validation de l'API IdentityCredential, a partagé des détails supplémentaires sur l'API dans les sections de commentaires. Il a répondu à quelques commentaires d'utilisateurs que nous reproduirons ci-dessous:

L'utilisateur Munnimi a déclaré:

"Et lorsque la police prend votre téléphone et se dirige vers sa voiture de police, elle peut vérifier ce qu'il y a dans le téléphone."

M. Willden a répondu:

«C’est quelque chose que je travaille précisément à rendre impossible. L'intention est de structurer le flux de sorte que l'agent ne puisse pas prendre votre téléphone utilement. L'idée est que vous faites le tapotement NFC avec le téléphone de l'officier, puis que vous déverrouillez avec une empreinte digitale / mot de passe, puis que votre téléphone passe en mode verrouillage pendant que les données sont transférées via Bluetooth / Wifi. Le mode Verrouillage signifie que l'authentification par empreinte digitale ne le déverrouillera pas, un mot de passe est requis. C’est précisément pour forcer l’invocation du cinquième amendement que certains tribunaux ont constaté que la protection contre l’auto-incrimination n’empêchait pas la police de vous forcer à débloquer des données biométriques, mais que tout le monde l’empêchait de vous obliger à donner votre mot de passe (du moins dans les NOUS).

Notez que c'est une aspiration, pas un engagement. Les moyens par lesquels nous pouvons imposer le flux sur les développeurs d'applications d'identité sont limités, car si nous allons trop loin, ils peuvent simplement choisir de ne pas utiliser nos API. Mais ce que nous pouvons faire, c’est de leur faciliter la tâche et de faire ce qu’il faut, dans le respect de la vie privée. »

L'utilisateur RobboW a déclaré:

«Cela ne sert à rien en Australie. Nous sommes tenus d'avoir notre permis de conduire physique et officiel avec nous pendant que nous conduisons. Une copie numérique est juste mûre pour le vol d'identité. "

M. Willden a répondu:

“L'Australie participe activement au comité ISO 18013-5 et est très intéressée par le soutien aux permis de conduire mobiles. En ce qui concerne le vol d'identité, il existe de nombreuses protections contre son intégration. L'article en mentionne quelques-unes. "

L'utilisateur solitarios.lupus a déclaré:

«Compte tenu de ce que fait ce site, je pense que tout le monde ici sait que cela ne fonctionnera pas et constitue un problème de sécurité énorme pour les forces de l'ordre. Se forger, se tromper et se manipuler facilement.

M. Willden a répondu:

«La falsification pure et simple sera quasiment impossible, car les données sont toutes signées numériquement. Pour falsifier un justificatif, il faudrait falsifier la signature numérique, ce qui nécessite soit une rupture radicale de la cryptographie pertinente (qui romprait le protocole TLS et presque tout le reste), soit le vol des clés de signature de l'autorité émettrice. Même une modification, en prenant certains éléments de données signés d'une liste de distribution (par exemple, une date de naissance indiquant que vous avez plus de 21 ans) et d'autres d'une autre (par exemple, votre photo réelle) sera impossible, car la signature couvre l'intégralité du document, liant tous les éléments. ensemble."

La marque de l'utilisateur a déclaré:

«Si une photocopie n'a jamais été valable pour une pièce d'identité, pourquoi être au téléphone fait-il une différence? Même si Google promet de le sécuriser, comment cela empêche-t-il quelqu'un d'afficher une fausse application?

Malgré tout, même s’il n’ya pas de réponse à cela, je pense toujours que c’est une bonne chose pour les raisons données dans cet article. Je l’aimerais pour les passeports - pas pour voyager nécessairement, mais pour d’autres occasions où une pièce d’identité est nécessaire (je ne conduis pas, mon passeport est donc ma seule pièce d’identité).

Bien sûr, je préférerais aussi que le Royaume-Uni ne se transforme pas en une société «à papiers», où vous devez numériser un passeport même pour aller dans un pub dans certains cas… »

M. Willden a répondu:

«Les signatures numériques vont le rendre sécurisé. Vous pouvez avoir une fausse application, mais elle ne peut pas produire de données correctement signées.

Les passeports sont également très utiles pour ce travail, BTW. Le permis de conduire est le point de départ, mais les protocoles et l'infrastructure sont soigneusement conçus pour prendre en charge un large éventail d'informations d'identification, notamment les passeports. Bien sûr, nous devrons convaincre l’OACI d’adopter cette approche, mais je pense que c’est très probable. ”


Merci au développeur reconnu luca020400 pour le conseil!