- Les portefeuilles d’identité numérique européens doivent servir à accéder aux services publics et à vérifier l’âge en ligne, mais leur architecture confie les contrôles de sécurité à des plateformes privées comme Google Play Integrity API et Apple Managed Device Attestation
- Play Integrity vérifie qu’une app s’exécute sur un appareil Android authentifié et certifié, en se fondant sur la présence d’un Android sous licence Google et d’une installation via le Play Store, ce qui accroît la dépendance à l’écosystème Google
- Les développeurs des portefeuilles néerlandais et italiens ont implémenté Play Integrity, ce qui pourrait exclure des services publics les utilisateurs de systèmes d’exploitation dégooglisés comme e/OS et GrapheneOS
- L’Architecture Reference Framework de l’UE n’exige pas l’attestation de Google, mais la recommande ; l’Italie l’a interprétée comme une obligation, tandis que la Suisse l’a écartée pour des raisons de protection des données, de souveraineté des données et de liberté de choix
- Si les portefeuilles d’identité relèvent d’une infrastructure publique, il faut imposer des mécanismes d’attestation ouverts fondés sur le matériel plutôt que de s’appuyer sur les attestations de Google et d’Apple
Des portefeuilles d’identité numérique dépendants de services privés d’attestation
- Les gouvernements européens déploient des portefeuilles d’identité numérique afin de permettre aux citoyens d’accéder à des services et de vérifier leur âge en ligne
- Ces portefeuilles s’appuient sur des services de sécurité comme Google Play Integrity API et Apple Managed Device Attestation
- Ces services de sécurité sont appelés attestation à distance (remote attestation) et servent à vérifier que l’app de portefeuille s’exécute sur du matériel non altéré
- Intégrer les services de sécurité d’entreprises privées dans une infrastructure publique rend la société européenne dépendante de sociétés privées comme Google et Apple, et peut créer une architecture favorable aux intérêts de ces entreprises
Le contrôle centré sur Google créé par Play Integrity API
- Google Play Integrity API est un logiciel fourni gratuitement par Google aux développeurs pour vérifier l’intégrité de l’environnement d’exécution d’une app
- Les développeurs peuvent l’utiliser pour vérifier qu’une app s’exécute sur un « genuine certified Android device »
- Réduire les abus liés aux bots
- Prévenir la fraude dans les apps bancaires
- Empêcher la triche dans les jeux
- Le problème est que cette API vérifie aussi si l’appareil exécute un Android sous licence Google et traite les alternatives non licenciées comme des risques de sécurité potentiels
- Pour déterminer si une app a été modifiée, le Google Play Store sert également de référence
- Vérification de la modification éventuelle de l’app
- Vérification de l’installation de l’app via le Play Store
- En conséquence, Play Integrity exclut les systèmes d’exploitation sans licence Google et pousse à l’installation via le Play Store ainsi qu’à la connexion avec un compte Google
- Cette conception entre en conflit avec le Digital Markets Act (DMA)
- Une alternative plus ouverte existe avec la Hardware Attestation API d’Android, qui fournit une vérification de sécurité fondée sur le matériel sans imposer les règles de l’écosystème Google
Comment les implémentations publiques renforcent une structure monopolistique
- L’UE affirme souvent vouloir mettre fin aux monopoles des grandes plateformes, mais certains États membres risquent de renforcer l’écosystème Google en intégrant Google Play Integrity API dans l’architecture de leurs portefeuilles d’identité numérique
- Les développeurs des portefeuilles néerlandais et italiens ont implémenté Play Integrity
- Avec cette approche, les utilisateurs de systèmes d’exploitation dégooglisés comme e/OS et GrapheneOS peuvent être exclus de l’accès aux services de portefeuille
- Quand un gouvernement intègre les services de sécurité de Google à un portefeuille, les administrations publiques se retrouvent à faire appliquer les politiques de plateforme d’une entreprise privée
- Cela crée une tension avec l’objectif européen de bâtir une infrastructure publique numérique fondée sur des valeurs publiques comme l’ouverture, l’inclusion et la souveraineté technologique
- La réglementation européenne sur les portefeuilles d’identité fait de l’interopérabilité un objectif central, mais les utilisateurs qui veulent utiliser un système d’exploitation sans logiciels Google, sans traceurs Google ni LLM intégré préinstallés se retrouvent contraints d’accepter les logiciels Google pour utiliser le portefeuille
Un portefeuille d’identité n’est pas une app ordinaire, mais une infrastructure publique
- Les portefeuilles d’identité sont des moyens essentiels pour accéder aux documents administratifs et gérer la connexion aux services publics
- Ils constituent donc une composante importante de l’infrastructure publique numérique, qui devrait être accessible à tous sans dépendre de Google et d’Apple
- Les systèmes d’exploitation alternatifs dégooglisés deviennent beaucoup moins attractifs s’ils ne peuvent pas utiliser des apps essentielles nécessaires à la connexion aux services publics, comme les portefeuilles d’identité
- Les recherches menées dans le cadre du projet Mobifree de Waag, soutenu par l’UE, confirment ce problème
- Au cours des deux dernières années, le projet a étudié la valeur que l’écosystème mobile dégooglisé peut avoir pour différents utilisateurs finaux
- Parmi 120 testeurs, beaucoup ont considéré la compatibilité avec des apps de services essentiels, comme les apps de paiement et d’identification gouvernementale, comme une condition majeure du passage à un système d’exploitation dégooglisé
- Les développeurs publics doivent prendre en compte des niveaux plus profonds de la pile lorsqu’ils optimisent l’interopérabilité
- Play Integrity API étant en conflit avec le DMA, elle contredit aussi l’objectif des portefeuilles d’identité visant à renforcer la souveraineté européenne
Des méthodes d’attestation divergentes selon les pays
- L’UE fournit un cadre technique général pour l’architecture des portefeuilles, l’Architecture Reference Framework
- Ce cadre n’oblige pas les gouvernements européens à utiliser l’attestation de Google, mais la recommande
- Cette recommandation conduit à des approches différentes selon les pays
- Certains pays n’utilisent pas l’attestation de Google
- Certains pays l’implémentent d’une manière qui impose les règles de l’écosystème Google
- L’Italie a interprété la recommandation d’utiliser Play Integrity API comme une obligation
- La Suisse s’appuie sur le mécanisme d’attestation d’Android et exclut Play Integrity en raison de préoccupations liées à la protection des données, à la souveraineté des données et à la liberté de choix
- Les Pays-Bas et l’Italie utilisent Play Integrity sans condition et interprètent de manière très stricte la recommandation d’utiliser les logiciels d’attestation de Google et d’Apple
- Si l’Europe prend au sérieux l’autonomie numérique, elle doit exclure complètement les attestations de Google et d’Apple de l’Architecture Reference Framework et rendre obligatoires des mécanismes d’attestation ouverts fondés sur le matériel
- Le cas suisse montre que l’utilisation de Google Play Integrity n’est pas justifiée et que d’autres solutions sont possibles
Responsabilité publique et pistes d’action
- Les portefeuilles numériques étant une infrastructure publique, leur conception exige une participation du public et de la responsabilité
- Des citoyens et des développeurs soulèvent leurs préoccupations dans des dépôts nationaux
- gitlab.opencode.de, le tracker public de développement du portefeuille allemand
- github.com/orgs/swiyu-admin-ch, le forum public de discussion suisse
- Ces canaux constituent des voies légitimes pour signaler des problèmes, mais leur portée se limite à un public technique restreint
- Les utilisateurs de systèmes d’exploitation alternatifs dégooglisés peuvent demander aux développeurs des apps EUDI Wallet de leur pays de garantir l’indépendance vis-à-vis des attestations de Google et d’Apple
- Pour le portefeuille néerlandais, ils peuvent utiliser la page de contact du site EDI du ministère des Affaires étrangères
- Les citoyens préoccupés peuvent demander à leurs représentants élus de rendre les portefeuilles d’identité indépendants de Google et d’Apple
- Les journalistes peuvent suivre les procédures politiques et de conception
- Les mises à jour de développement et les dépôts sont accessibles sur la page EUDI Wallet de developer.overheid.nl
- Les réunions et les contacts sont disponibles sur le site EDI du ministère néerlandais des Affaires étrangères
1 commentaires
Avis sur Hacker News
L’implémentation de référence du portefeuille de l’UE exigeait strictement Google Play services
https://github.com/eu-digital-identity-wallet/eudi-app-andro...
C’est pourquoi l’app IO italienne https://github.com/pagopa/io-app continue elle aussi de refuser les demandes de prise en charge de GrapheneOS pour les fonctions de portefeuille, de documents et de vérification de l’âge, et exige Google
Rien ne devrait changer avant le début de procédures judiciaires ; les seuls espoirs sont la collaboration Motorola/GrapheneOS et des associations de consommateurs capables d’attaquer en justice pour pratiques anticoncurrentielles
Il faut se faire entendre par tous les canaux possibles au sujet des apps qui exigent Play services. Si des actions en justice commencent plus tard, ces traces aideront à montrer le soutien des utilisateurs
On pousse chaque citoyen à verser quelques centaines d’euros à ces entreprises, qui mènent ensuite des campagnes contre les droits de ces mêmes citoyens
En cas de problème, les citoyens ne reçoivent aucune assistance, et ils doivent conclure un contrat extrêmement asymétrique avec des entreprises qui n’assument quasiment aucune responsabilité tout en obtenant de vastes droits pour les suivre de manière très inquiétante
Ainsi, chacun pourra utiliser le matériel et le système d’exploitation de son choix
L’UE a explicitement anticipé le risque d’une dépendance totale à iOS et Android, et a conçu le framework EUDI Wallet pour permettre aussi d’autres formats physiques
Par exemple des cartes à puce comme les cartes d’identité nationales actuelles, des tokens matériels autonomes et des clés USB
Ce qu’il faut contester, c’est la hardware attestation, intrinsèquement hostile à l’utilisateur. Autoriser une distribution Android populaire ne change pas grand-chose dans la vision d’ensemble
Même si l’on s’appuie sur l’API d’attestation matérielle d’Android au lieu de Play Integrity, c’est à mes yeux une attaque contre la souveraineté numérique
Une fonction de sécurité qui dépend d’une attestation à distance de toute la plateforme de l’utilisateur revient à donner au gouvernement le pouvoir de choisir les systèmes d’exploitation acceptables, ce qui constitue un abus de pouvoir de l’État
Ce n’est qu’une question de temps avant que ce pouvoir ne soit détourné pour faire pression sur les développeurs de systèmes d’exploitation afin qu’ils installent des backdoors pour les services de renseignement, et dire aux gens d’avoir deux smartphones n’est pas une solution
Une vérification d’âge numérique anonyme fondée sur de bonnes preuves à divulgation nulle de connaissance (ZKP) ou sur des signatures aveugles n’a pas besoin d’un système d’exploitation généraliste : quelques primitives cryptographiques et un ensemble de clés liées à l’appareil suffisent
Il n’est pas excessif de demander à l’UE de développer un token matériel dédié doté uniquement de ces fonctions et de le fournir gratuitement à tous les citoyens comme alternative à l’app. Cela garantit aussi la liberté de ne pas voir son accès aux services numériques fortement limité parce qu’on ne possède pas de smartphone
Mais il ne faut pas limiter la capacité à exécuter des logiciels personnalisés sur son téléphone, et surtout pas exiger de tout le monde un téléphone signé par Google/Apple
Les apps bancaires et gouvernementales devraient fonctionner sur un Pixel avec GrapheneOS, et je pense que c’est possible tout en imposant de la sécurité matérielle
Pour le client, il y a l’avantage potentiel de pouvoir croire que sa clé est en sécurité dans l’appareil, mais ce n’est pas le sujet principal
Ce qu’il faut vraiment, c’est une spécification open source définissant un protocole standard. L’appareil saurait qu’une requête provient d’une source de confiance, par exemple parce qu’elle est signée avec une clé gouvernementale, et signerait cette requête avec une clé que l’API gouvernementale connaît comme représentant l’utilisateur
J’imagine un portail gouvernemental où l’on ajoute plusieurs clés publiques par appareil et où l’on partage aussi la clé publique du gouvernement à utiliser pour vérifier les requêtes. Un service qui a besoin de vérifier l’identité demande la clé publique de l’utilisateur, obtient un jeton de défi auprès de l’API gouvernementale et le transmet à l’utilisateur
L’utilisateur vérifie que ce défi a été signé par une clé de confiance, le signe et le renvoie à l’app ; l’app l’envoie ensuite à l’API gouvernementale et n’obtient l’autorisation d’accéder qu’à une partie des informations demandées. Si l’app n’a besoin que de l’âge, elle ne reçoit que cette information
L’implémentation sur téléphone peut vouloir utiliser l’attestation matérielle pour protéger les clés, mais il n’y a aucune raison de la rendre obligatoire. Un système à clés publiques bien conçu suffit, et il doit être possible de révoquer facilement des clés et d’en ajouter de nouvelles si nécessaire
Un système d’identité numérique européen qui dépend entièrement de deux entreprises américaines ?
Il n’y a pas si longtemps, on disait que la souveraineté numérique de l’Europe était une urgence, non ? Ou ce n’était que du baratin de façade ?
Mais, dans beaucoup de cas, il n’existe aucune alternative européenne propre qu’elle puisse soutenir. Aucune entreprise de l’UE n’est capable de remplacer ne serait-ce qu’une grande partie de la stack logicielle fournie par Google et Apple.
Et tant que l’environnement réglementaire ne changera pas, il n’y en aura probablement pas non plus.
Simplement parce que quelqu’un aurait peut-être été à bord ; en réalité il n’y était même pas, et son seul « crime » réellement substantiel était d’avoir embarrassé les États-Unis en révélant leurs actes illégaux et fondamentalement anticonstitutionnels.
Même chose avec les procureurs suédois. D’un simple coup de téléphone, les États-Unis ont obtenu non pas une inculpation, mais une déclaration officielle suffisante pour que « Assange » et « rape » se retrouvent côte à côte dans les gros titres du monde entier le soir même.
Les pays européens se comportent globalement comme les chiens de compagnie des États-Unis, et c’est vraiment triste. Et pourtant, le président américain les poignarde dans le dos en menaçant d’invasion et d’annexion, ou en ignorant complètement les obligations fondamentales d’un membre de l’OTAN.
Je ne comprends pas pourquoi l’Europe continue de se laisser entraîner dans les jeux stupides des États-Unis. Comme on le voit à répétition, cette attitude n’est pas payée de retour de la même manière.
Cela fonctionne comme prévu. L’UE veut forcer l’usage d’appareils et de systèmes d’exploitation entièrement contrôlables.
Si l’on ne respecte pas des règles nouvelles et absurdes, une application peut être interdite.
La réglementation crée des monopoles. Même lorsqu’elle vise à réduire le contrôle des géants, les petits acteurs ne peuvent généralement pas suivre et perdent des parts de marché
C’est quelque chose qui est réellement enseigné en école de commerce comme stratégie d’avantage concurrentiel. Les entreprises font pression sur les gouvernements pour faire adopter des lois qui semblent, en apparence, leur nuire, mais qui en réalité augmentent les coûts de mise en œuvre, créent un terrain de jeu inégal et leur permettent de gagner des parts de marché
Toutes les réglementations ne cassent pas les monopoles, mais la réglementation est aussi le seul moyen de les casser
On sait que tous les marchés « libres » tendent vers le monopole à cause de la règle des 1 %. Le marché totalement libre n’existe que dans l’abstrait, pas dans la réalité ; garantir un vrai marché libre nécessite donc de la réglementation
Dans certains cas, le marché libre est la mauvaise solution et il faut un monopole régulé ; à mon avis, l’identité en fait précisément partie. Parce que l’identité est propre à chaque personne
En théorie, une personne ne devrait avoir qu’une seule identité, et sauf cas extrêmement exceptionnels et bien documentés, cette identité ne devrait pas changer
L’État doit disposer d’un bon moyen de fournir l’identité ; si un petit État manque de ressources, un grand État devrait la fournir pour tout le monde. Cela réduit les incompatibilités entre États et exclut les intérêts privés
L’État devrait avoir le seul monopole sur la preuve de l’identité des personnes, parce que c’est le seul acteur qui n’est pas soumis aux conditions du marché
Les pays en avance sur ce sujet fonctionnent effectivement ainsi. Si les États pris individuellement n’arrivent pas à une solution commune, le collectif doit le faire
Ici, le collectif a échoué, parce qu’il n’a pas imposé une solution au niveau européen et a recommandé des solutions privées
Le secteur privé ayant un objectif de profit, il ne devrait pas dicter ce qui prouve l’identité ni comment elle est prouvée. L’État doit évaluer les solutions, mais l’exploitation et la mise en œuvre devraient lui revenir
Il existe beaucoup de domaines où les solutions de marché sont bonnes, mais celui-ci n’en fait pas partie
Par exemple, MMTIS (information multimodale pour les voyageurs) vise explicitement l’innovation et les nouveaux acteurs. Il existe d’autres exemples similaires
Le coût de la réglementation en question compte aussi. Dans de nombreux domaines, la réglementation est absolument nécessaire pour éviter que les bâtiments ne s’effondrent, que la nourriture ne soit toxique ou que les médicaments ne deviennent une roulette russe pharmacologique
L’objectif devrait donc être d’optimiser le rapport coût-efficacité de la réglementation
Mais c’est différent de l’affirmation générale selon laquelle « la réglementation crée des monopoles »
Si Google bloque quelqu’un, cette personne perd-elle aussi pour toujours l’accès à tous les services nécessitant une identité numérique ?
Il y a quelque temps, un YouTuber avait demandé aux spectateurs de son direct de « voter » en saisissant des emojis, et plusieurs comptes Google de spectateurs avaient été bloqués pour spam[1]
Google est aussi connu pour rechigner à fournir une assistance utilisateur, donc il est difficile d’espérer un recours au cas par cas
On voit déjà poindre un nouveau ransomware : « paie, sinon j’enverrai du spam depuis ton Gmail pour te faire perdre ton identité numérique »
[1] https://www.engadget.com/2019-11-10-youtube-reinstates-banne...
Une solution relativement simple, beaucoup plus ouverte et sûre, serait d’utiliser la carte d’identité physique de l’UE comme source de preuve, et d’exiger que l’utilisateur approche la carte de son téléphone pour les opérations importantes, comme les signatures à forte valeur, la connexion sur un nouvel appareil ou une connexion après des échecs d’authentification répétés
Dans ce cas, le « problème » du matériel et du système d’exploitation ouverts côté appareil disparaît complètement. Il n’y a plus besoin de matériel de confiance ni de signature du système d’exploitation
On peut soutenir que cela crée un risque d’attaque de l’homme du milieu sur le téléphone. La carte n’a ni écran ni pavé PIN, donc on ne sait pas ce que l’on signe ni à qui on fournit son PIN
Mais on peut se demander si atténuer ce risque vaut la peine d’accepter toutes les dépendances liées à l’attestation du téléphone
Aujourd’hui, toutes les cartes d’identité de l’UE disposent déjà obligatoirement d’une authentification cryptographique forte, mais sous une forme qui ne peut servir qu’à une vérification d’identité en face à face selon la norme de l’OACI sur les documents d’identité biométriques, et pas à une preuve d’identité à distance. C’est frustrant tant c’est proche de ce qu’il faudrait, sans fournir la fonctionnalité réellement nécessaire
En Allemagne, un tribunal a jugé que la Deutsche Bahn (DB) devait proposer des billets hors ligne pouvant être achetés sans ordinateur ni smartphone, afin de ne pas discriminer les personnes âgées
Je pense qu’un jugement similaire est très probable si l’EUDI Wallet exige Google/Apple
Donc tant que l’EUDI reste une alternative facultative pour les personnes qui veulent utiliser des services en ligne, je doute qu’un jugement similaire intervienne
Les gens dépendent du Play Store ou de l’App Store, et la DB ne propose pas non plus son application en téléchargement direct
L’UE aurait dû imposer un système d’authentification grand public utilisant une chaîne aléatoire comme unique facteur d’authentification pour tout
C’est presque comme les tokens d’API des logiciels d’entreprise modernes, mais destiné aux particuliers plutôt qu’aux développeurs d’applications
Et pour les applications très sensibles, on pourrait compléter avec un token matériel
Les passkeys auraient pu jouer ce rôle, mais elles ont rapidement été dévoyées par l’industrie
Comment assurer le support si 50 000 personnes perdent leur chaîne aléatoire chaque jour ? Et que faire des 50 000 autres qui la collent sur n’importe quel site web ? Il y a 1 milliard de personnes en Europe
Le critère général est le suivant
Si je ne peux pas utiliser un service ou produit numérique quelconque en exécutant, sur un ordinateur que j’ai entièrement construit moi-même ou que je peux faire construire par quelqu’un de mon choix, du code que j’ai entièrement écrit moi-même ou que je peux faire écrire par quelqu’un de mon choix, alors c’est totalement inacceptable.