La billetera europea de ID digital depende de los servicios de seguridad de Google y Apple
(waag.org)- La billetera europea de ID digital está prevista para usarse en el acceso a servicios públicos y la verificación de edad en línea, pero su estructura delega la verificación de seguridad en plataformas privadas como Google Play Integrity API y Apple Managed Device Attestation
- Play Integrity verifica si una app se ejecuta en un dispositivo Android genuino y certificado, tomando como referencia si usa Android con licencia de Google y si fue instalada desde Play Store, lo que profundiza la dependencia del ecosistema de Google
- Los desarrolladores de las billeteras de Países Bajos e Italia implementaron Play Integrity, por lo que los usuarios de sistemas operativos sin Google como e/OS y GrapheneOS podrían quedar excluidos de los servicios públicos
- El Architecture Reference Framework de la UE no exige la certificación de Google, pero la recomienda; mientras Italia lo interpretó casi como una obligación, Suiza la excluyó por preocupaciones sobre protección de datos, soberanía de los datos y libertad de elección
- Si la billetera de ID es infraestructura pública, debería exigirse un mecanismo de certificación basado en hardware abierto en lugar de depender de la certificación de Google y Apple
La estructura de las billeteras de ID digital que depende de servicios privados de certificación
- Los gobiernos europeos están introduciendo billeteras de ID digital para que la ciudadanía pueda acceder a servicios y verificar su edad en línea
- Estas billeteras dependen de servicios de seguridad como Google Play Integrity API y Apple Managed Device Attestation
- Estos servicios de seguridad se conocen como atestación remota (remote attestation) y se usan para verificar si la app de la billetera se ejecuta en hardware no alterado
- Incluir servicios de seguridad de empresas privadas en infraestructura pública puede hacer que la sociedad europea dependa de corporaciones como Google y Apple, creando una estructura favorable a sus intereses
El control centrado en Google que crea Play Integrity API
- Google Play Integrity API es un software que Google ofrece gratuitamente para que los desarrolladores verifiquen la integridad del entorno donde corre una app
- Con esto, los desarrolladores pueden comprobar si la app se ejecuta en un “genuine certified Android device”
- reducir abusos por bots
- prevenir fraudes en apps bancarias
- evitar trampas en apps de juegos
- El problema es que esta API también verifica si el dispositivo ejecuta Android con licencia de Google, y trata las alternativas sin licencia como posibles riesgos de seguridad
- Al determinar si una app fue modificada, Google Play Store también se usa como referencia
- verifica si la app fue modificada
- verifica si la app fue instalada a través de Play Store
- Como resultado, Play Integrity excluye sistemas operativos sin licencia de Google y empuja a instalar Play Store e iniciar sesión con una cuenta de Google
- Este diseño entra en conflicto con la Digital Markets Act (DMA)
- Una alternativa más abierta es la Hardware Attestation API de Android, que ofrece verificación de seguridad basada en hardware sin imponer políticas del ecosistema de Google
Cómo las implementaciones gubernamentales refuerzan una estructura monopólica
- Aunque la UE suele declarar que quiere romper los monopolios de las big tech, algunos Estados miembros corren el riesgo de reforzar el ecosistema de Google al incorporar Google Play Integrity API en la arquitectura de sus billeteras de ID digital
- Los desarrolladores de las billeteras de Países Bajos e Italia implementaron Play Integrity
- Con este enfoque, los usuarios de sistemas operativos sin Google como e/OS y GrapheneOS podrían quedar excluidos del acceso a los servicios de la billetera
- Cuando un gobierno incorpora el servicio de seguridad de Google en la billetera, una institución pública termina ejecutando en la práctica las políticas de plataforma de una empresa privada
- Esto entra en tensión con los objetivos europeos de construir infraestructura pública digital basada en valores públicos como apertura, inclusión y soberanía tecnológica
- Las regulaciones de la billetera de ID de la UE tienen la interoperabilidad como objetivo central, pero quienes quieran usar sistemas operativos sin software de Google, sin rastreadores de Google y sin LLM integrados preinstalados podrían verse obligados a aceptar software de Google para poder usar la billetera
La billetera de ID no es una app cualquiera, sino infraestructura pública
- La billetera de ID es un medio clave para acceder a documentos gubernamentales y gestionar el inicio de sesión en servicios públicos
- Por eso, es un componente importante de la infraestructura pública digital que debería estar disponible para todas las personas sin depender de Google o Apple
- Los sistemas operativos alternativos sin Google pierden gran parte de su atractivo si no pueden usar apps esenciales para iniciar sesión en servicios gubernamentales, como las billeteras de identidad
- La investigación del proyecto europeo Mobifree de Waag respalda este problema
- durante los últimos dos años investigó qué valor tiene el ecosistema móvil sin Google para distintos usuarios finales
- entre 120 personas que probaron estos sistemas, muchas consideraron que la compatibilidad con apps esenciales, como apps de pago y apps gubernamentales de verificación de identidad, era una condición clave para cambiar a un sistema operativo sin Google
- Al optimizar la interoperabilidad, los desarrolladores gubernamentales deben considerar niveles más profundos del stack
- Como la Play Integrity API entra en conflicto con la DMA, también contradice el objetivo de las billeteras de ID de reforzar la soberanía europea
Métodos de certificación divergentes según el país
- La UE ofrece el Architecture Reference Framework, un marco técnico general para la arquitectura de estas billeteras
- Este marco no exige a los gobiernos europeos usar certificación de Google, pero sí la recomienda
- Esa recomendación ha generado enfoques divergentes entre países
- algunos países no usan certificación de Google
- algunos países implementan la billetera de forma que obliga en la práctica a seguir las políticas del ecosistema de Google
- Italia interpretó la recomendación de usar Play Integrity API casi como si fuera obligatoria
- Suiza depende del mecanismo de certificación de Android y excluyó Play Integrity por preocupaciones sobre protección de datos, soberanía de los datos y libertad de elección
- Países Bajos e Italia están usando Play Integrity sin condiciones y han interpretado de forma muy estricta la recomendación de usar el software de certificación de Google y Apple
- Si Europa realmente quiere avanzar en autonomía digital, debería excluir por completo la certificación de Google y Apple del Architecture Reference Framework y hacer obligatorio un mecanismo de certificación abierto basado en hardware
- El caso suizo muestra que el uso de Google Play Integrity no está justificado y que existen otras soluciones posibles
Responsabilidad pública y vías de respuesta
- Como las billeteras digitales son infraestructura pública, se necesita participación pública y rendición de cuentas en el proceso de diseño
- Ciudadanía y desarrolladores ya están planteando preocupaciones en repositorios nacionales
- el rastreador público de desarrollo de la billetera alemana, gitlab.opencode.de
- el foro público de discusión de Suiza, github.com/orgs/swiyu-admin-ch
- Estos canales son vías legítimas para plantear objeciones, pero su alcance está limitado a una audiencia técnica reducida
- Los usuarios de sistemas operativos alternativos sin Google pueden exigir a los desarrolladores de las apps nacionales de EUDI Wallet independencia frente a la certificación de Google y Apple
- en el caso de la billetera neerlandesa, puede usarse la contact page del sitio EDI del Ministerio de Relaciones Exteriores
- La ciudadanía preocupada puede pedir a sus representantes electos que hagan independiente la billetera de ID frente a Google y Apple
- Los periodistas pueden seguir los procesos políticos y de diseño
- las actualizaciones de desarrollo y los repositorios pueden consultarse en la página de EUDI Wallet en developer.overheid.nl
- reuniones y contactos pueden consultarse en el sitio web EDI del Ministerio de Relaciones Exteriores de Países Bajos
1 comentarios
Opiniones de Hacker News
La implementación de referencia de la wallet de la UE exigía estrictamente Google Play services
https://github.com/eu-digital-identity-wallet/eudi-app-andro...
Por eso, la app IO de Italia https://github.com/pagopa/io-app también sigue rechazando las solicitudes de soporte para GrapheneOS en funciones de wallet, documentos y verificación de edad, y exige Google
Parece que nada va a cambiar hasta que empiecen las demandas, y las únicas esperanzas son la colaboración Motorola/GrapheneOS y las organizaciones de consumidores que puedan demandar por prácticas anticompetitivas
Hay que alzar la voz por todos los canales posibles contra las apps que exigen Play services. Cuando más adelante empiecen las demandas, esos registros ayudarán a demostrar el apoyo de los usuarios
Hacen que cada ciudadano les pague cientos de euros a esas empresas, y esas empresas luego financian campañas contrarias a los derechos de los ciudadanos
Si algo sale mal, el ciudadano no recibe ningún soporte, y tiene que aceptar un contrato extremadamente asimétrico en el que la empresa casi no tiene responsabilidades, pero sí amplios derechos para rastrear a la otra parte de una forma muy inquietante
Así cualquiera podría usar el sistema operativo que quiera en el hardware que quiera
La UE previó explícitamente el riesgo de depender por completo de iOS y Android, y diseñó el marco de EUDI Wallet para permitir también otros formatos físicos
Por ejemplo, tarjetas inteligentes como las identificaciones nacionales actuales, tokens de hardware independientes y llaves USB
A lo que hay que oponerse es a la atestación de hardware, que es inherentemente hostil al usuario. Permitir una distribución popular de Android no cambia gran cosa en el panorama general
Incluso si en vez de Play Integrity se depende de la API de atestación de hardware de Android, para mí eso sigue siendo un ataque contra la autonomía digital
Una función de seguridad que depende de la atestación remota de toda la plataforma del usuario termina dándole al gobierno la facultad de elegir qué sistemas operativos son aceptables, y eso es un abuso de poder estatal
Es cuestión de tiempo antes de que ese poder se use indebidamente para presionar a los desarrolladores de sistemas operativos a instalar backdoors para agencias de inteligencia, y decirle a la gente que tenga dos smartphones no es una solución
La verificación anónima de edad digital basada en un esquema adecuado de pruebas de conocimiento cero (ZKP) o firmas ciegas no necesita un sistema operativo de propósito general; bastan algunas primitivas criptográficas y un conjunto de claves vinculadas al dispositivo
No es una exigencia exagerada que la UE desarrolle un token de hardware dedicado con solo esas funciones y lo entregue gratis a todos los ciudadanos como alternativa a la app. Así también se garantiza la libertad de que el acceso a servicios digitales no quede gravemente limitado por no tener un smartphone
Pero no debe limitarse la capacidad de ejecutar software personalizado en el teléfono y, en especial, no se debe exigir a todos un teléfono firmado por Google/Apple
Las apps bancarias y gubernamentales deberían funcionar en un Pixel con GrapheneOS, y creo que eso es posible incluso imponiendo seguridad por hardware
Desde el punto de vista del cliente, tiene la posible ventaja de poder confiar en que sus claves están seguras dentro del dispositivo, pero eso no apunta al tema central
Lo que realmente se necesita es una especificación open source que defina un protocolo estándar. El dispositivo sabría que una solicitud viene de una fuente confiable, por ejemplo una solicitud firmada con una clave del gobierno, y firmaría esa solicitud con una clave que la API gubernamental sabe que representa a esa persona
Imagino algo como agregar varias claves públicas por dispositivo en un portal gubernamental, y compartir también la clave pública del gobierno que se usará para verificar solicitudes. Un servicio que necesita verificar identidad pide la clave pública del usuario, recibe un token de desafío de la API gubernamental y se lo pasa al usuario
El usuario verifica que ese desafío esté firmado por una clave en la que confía, lo firma y lo devuelve a la app; la app lo envía a la API gubernamental y recibe autorización para acceder solo a una parte de la información solicitada. Si la app solo necesita la edad, recibe únicamente ese dato
Puede que la implementación del teléfono quiera usar atestación de hardware para proteger las claves, pero no hay razón para hacerla obligatoria. Un sistema de claves públicas bien diseñado es suficiente y, si hace falta, debería ser fácil revocar claves y agregar nuevas
¿Un sistema europeo de identidad digital que depende por completo de dos empresas estadounidenses?
¿No se decía hasta hace poco que la soberanía digital de Europa era urgente? ¿O era pura palabrería para la foto?
Pero en muchos casos no existe una alternativa europea propia que pueda respaldar. No hay ni una sola empresa de la UE capaz de sustituir siquiera una parte considerable del stack de software que ofrecen Google y Apple
Y probablemente seguirá sin haberla mientras no cambie el entorno regulatorio
Solo porque alguien quizá iba a bordo; en realidad ni siquiera estaba a bordo, y su único “delito” real fue avergonzar a EE. UU. al revelar actos ilegales fundamentalmente inconstitucionales cometidos por ese país
Con los fiscales suecos pasó lo mismo. Con una sola llamada telefónica, EE. UU. consiguió una declaración oficial suficiente para que esa noche “Assange” y “rape” aparecieran juntos en titulares de todo el mundo, aunque no fuera una acusación formal
En general, los países europeos actúan como perritos falderos de EE. UU., y es realmente triste. Aun así, el presidente de EE. UU. los apuñala por la espalda amenazando con invasiones y anexiones, o ignorando por completo las obligaciones básicas de los miembros de la OTAN
No entiendo por qué Europa sigue dejándose arrastrar por los juegos estúpidos de EE. UU. Como vemos una y otra vez, esa actitud no recibe reciprocidad de la misma manera
Está funcionando tal como se pretendía. La UE quiere hacer que la gente use dispositivos y sistemas operativos totalmente controlables
Si no cumples con regulaciones nuevas y absurdas, tu app puede ser prohibida
La regulación crea monopolios. Aunque sea una regulación que busca reducir el control de las grandes empresas, las pequeñas normalmente no pueden absorberla y pierden cuota de mercado.
Esto es algo que de hecho se enseña en las escuelas de negocios como estrategia de ventaja competitiva. Las empresas hacen lobby ante los gobiernos para que creen leyes que, en apariencia, las perjudican, pero en realidad elevan los costos de implementación, crean una cancha inclinada y se quedan con cuota de mercado.
No toda regulación rompe monopolios, pero la regulación también es la única herramienta que puede romperlos.
Se sabe que todos los mercados “libres” tienden al monopolio por la ley del 1%. Como el libre mercado perfecto solo existe en abstracto y no en la realidad, para garantizar un mercado realmente libre se necesita regulación.
En algunos casos, el libre mercado es la solución equivocada y se necesita un monopolio regulado; creo que el ámbito de la identidad es precisamente uno de esos casos, porque la identidad es única para cada persona.
En teoría, una persona debería tener una sola identidad y, salvo en casos extremadamente excepcionales y bien documentados, esa identidad no debería cambiar.
El Estado debe contar con una buena forma de proporcionar identidad, y si un país pequeño no tiene recursos suficientes, un país grande debería ofrecerla para todos. Esto reduce las incompatibilidades entre países y excluye intereses privados.
El Estado debería tener el único monopolio sobre la prueba de identidad de las personas, porque es el único actor que no está sujeto a las condiciones del mercado.
Los países que van más adelantados en este tema de hecho funcionan así. Si los países individuales no logran llegar a una solución común, el colectivo debe hacerlo.
Aquí el colectivo fracasó, porque recomendó soluciones privadas en lugar de imponer una solución a nivel europeo.
El sector privado tiene una agenda de búsqueda de ganancias, por lo que no debería dictar con qué ni cómo se prueba la identidad. El Estado debe evaluar las soluciones, pero la operación y la implementación deberían estar a cargo del Estado.
Hay muchos ámbitos donde las soluciones de mercado son buenas, pero este no es uno de ellos.
Por ejemplo, MMTIS (información multimodal para pasajeros) apunta explícitamente a la innovación y a nuevos actores. Hay más ejemplos similares.
También importa qué tan cara sea la regulación en cuestión. En muchos ámbitos la regulación es absolutamente necesaria para que los edificios no se derrumben, la comida no sea tóxica y los medicamentos no se conviertan en una ruleta rusa farmacológica.
Por lo tanto, el objetivo debería ser optimizar la relación costo-beneficio de la regulación.
Pero eso es distinto de la afirmación general de que “la regulación crea monopolios”.
Si Google bloquea a alguien, ¿esa persona también pierde para siempre el acceso a todos los servicios que requieren una ID digital?
Hace un tiempo, un YouTuber pidió a los espectadores de una transmisión en vivo que “votaran” escribiendo emojis, y varias cuentas de Google de esos espectadores fueron bloqueadas por spam[1].
Google también es famosa por su reticencia a dar soporte a usuarios, así que es difícil esperar una reparación caso por caso.
Ya se ve el nuevo ransomware: “Si no pagas, enviaré spam desde tu Gmail para que pierdas tu ID digital”.
[1] https://www.engadget.com/2019-11-10-youtube-reinstates-banne...
Una solución relativamente simple, mucho más abierta y segura para esto sería usar la tarjeta física de identidad de la UE como fuente de prueba, y exigir que el usuario acerque la tarjeta al teléfono para operaciones importantes, como firmas de alto valor, iniciar sesión en un dispositivo nuevo o iniciar sesión después de repetidos fallos de autenticación.
Así desaparece por completo el “problema” del hardware y del sistema operativo abiertos del lado del dispositivo, porque ya no se necesitan hardware confiable ni firmas del sistema operativo.
Se podría argumentar que aparece la posibilidad de ataques de intermediario en el teléfono, porque la tarjeta no tiene pantalla ni teclado de PIN, así que no puede saber qué se está firmando ni a quién se le está dando el PIN.
Pero cabe preguntarse si mitigar ese riesgo vale tanto como para aceptar todas las preocupaciones de dependencia que vienen con la prueba basada en el teléfono.
Actualmente todas las tarjetas de identidad de la UE ya están obligadas a contar con autenticación criptográfica fuerte, pero en una forma que solo puede usarse para verificación presencial de identidad según el estándar de documentos biométricos de identidad de la ICAO, no para prueba remota de identidad. Está frustrantemente cerca de lo que se necesita, pero no es la función que realmente hace falta.
En Alemania hubo un fallo judicial que determinó que Deutsche Bahn (DB) debe ofrecer boletos offline que puedan comprarse sin computadora ni smartphone, para no discriminar a las personas mayores.
Creo que es muy probable que haya un fallo similar si EUDI Wallet exige Google/Apple.
Por eso, mientras EUDI siga siendo una alternativa opcional para quienes quieran usar servicios online, dudo que se dicte un fallo similar.
La gente depende de Play Store o App Store, y DB tampoco ofrece su app mediante descarga directa.
La UE debería haber impuesto un esquema de autenticación para usuarios que use cadenas aleatorias como único factor de autenticación para todo.
Sería casi igual a los tokens de API del software empresarial moderno, pero en una forma usada por personas comunes y no por desarrolladores de apps.
Y para las aplicaciones de alta sensibilidad, se podría complementar con tokens de hardware.
Las passkeys podrían haber cumplido ese papel, pero la industria las degradó rápidamente.
¿Cómo vas a dar soporte si cada día hay 50.000 personas que pierden la cadena aleatoria? ¿Y qué harás con otras 50.000 que pegan esa cadena en cualquier sitio web? En Europa hay 1.000 millones de personas.
El criterio general es este:
Si no puedo usar algún servicio o producto digital ejecutando código que escribí completamente yo mismo, o que pude encargarle a alguien de mi elección, en una computadora que construí completamente yo mismo, o que pude encargarle a alguien de mi elección, entonces es totalmente inaceptable.