Carteiras de identidade digital europeias dependem de serviços de segurança do Google e da Apple
(waag.org)- As carteiras de identidade digital da Europa devem ser usadas para acessar serviços públicos e verificar idade online, mas sua estrutura delega verificações de segurança a plataformas privadas como a Google Play Integrity API e o Apple Managed Device Attestation
- O Play Integrity verifica se um app está sendo executado em um dispositivo Android certificado e genuíno, tomando como base o Android licenciado pelo Google e a instalação pela Play Store, o que aumenta a dependência do ecossistema do Google
- Desenvolvedores de carteiras na Holanda e na Itália implementaram o Play Integrity, o que pode excluir usuários de sistemas operacionais sem Google como e/OS e GrapheneOS de serviços públicos
- O Architecture Reference Framework da UE não exige comprovação do Google, mas a recomenda; a Itália interpretou isso quase como uma obrigação, enquanto a Suíça a excluiu por preocupações com proteção de dados, soberania de dados e liberdade de escolha
- Se as carteiras de identidade forem infraestrutura pública, mecanismos abertos de comprovação baseados em hardware deveriam ser obrigatórios, em vez de depender de comprovações do Google e da Apple
A estrutura em que carteiras de identidade digital dependem de serviços privados de comprovação
- Governos europeus estão adotando carteiras de identidade digital para que cidadãos possam acessar serviços e confirmar sua idade online
- Essas carteiras dependem de serviços de segurança como a Google Play Integrity API e o Apple Managed Device Attestation
- Esses serviços de segurança são chamados de comprovação remota (remote attestation) e são usados para verificar se o app da carteira está sendo executado em hardware não adulterado
- Inserir serviços de segurança de empresas privadas em infraestrutura pública faz com que a sociedade europeia dependa de empresas privadas como Google e Apple, podendo criar uma estrutura favorável aos interesses dessas empresas
O controle centrado no Google criado pela Play Integrity API
- A Google Play Integrity API é um software oferecido gratuitamente pelo Google para que desenvolvedores verifiquem a integridade do ambiente em que um app é executado
- Com ela, desenvolvedores podem confirmar se o app está rodando em um “genuine certified Android device”
- Redução de abusos por bots
- Prevenção de fraudes em apps bancários
- Prevenção de trapaças em jogos
- O problema é que essa API também verifica se o dispositivo executa um Android licenciado pelo Google e trata alternativas sem licença como potenciais riscos de segurança
- A Google Play Store também se torna o critério ao avaliar se o app foi adulterado
- Verifica se o app foi modificado
- Verifica se o app foi instalado pela Play Store
- Como resultado, o Play Integrity tem uma estrutura que exclui sistemas operacionais sem licença do Google e incentiva a instalação pela Play Store e o login com uma conta Google
- Esse desenho entra em conflito com o Digital Markets Act (DMA)
- Uma alternativa mais aberta é a Hardware Attestation API do Android, que oferece verificação de segurança baseada em hardware sem impor as políticas do ecossistema do Google
Como implementações governamentais reforçam estruturas monopolistas
- A UE frequentemente declara o objetivo de quebrar monopólios das big techs, mas alguns Estados-membros estão criando o risco de fortalecer o ecossistema do Google ao incluir a Google Play Integrity API na arquitetura das carteiras de identidade digital
- Desenvolvedores de carteiras na Holanda e na Itália implementaram o Play Integrity
- Nessa abordagem, usuários de sistemas operacionais sem Google como e/OS e GrapheneOS podem ser excluídos do acesso aos serviços de carteira
- Quando um governo inclui serviços de segurança do Google em uma carteira, órgãos públicos passam a desempenhar o papel de aplicar políticas de plataforma de uma empresa privada
- Isso cria tensão com o objetivo europeu de construir infraestrutura pública digital com base em valores públicos como abertura, inclusão e soberania tecnológica
- A regulamentação da UE para carteiras de identidade tem a interoperabilidade como objetivo central, mas usuários que queiram usar sistemas operacionais sem software do Google, rastreadores do Google ou LLMs embutidos pré-instalados ficam na situação de precisar aceitar software do Google para usar a carteira
Carteiras de identidade não são apps comuns, mas infraestrutura pública
- Carteiras de identidade são meios essenciais para acessar documentos governamentais e gerenciar login em serviços públicos
- Portanto, são um componente importante de uma infraestrutura pública digital que deve estar disponível para todos, sem depender do Google e da Apple
- Sistemas operacionais alternativos sem Google perdem muito de seu apelo de adoção se não puderem usar apps essenciais necessários para login em serviços governamentais, como carteiras de identidade
- A pesquisa do projeto Mobifree da Waag, apoiado pela UE, também sustenta essa questão
- Nos últimos dois anos, investigou que valor um ecossistema de software móvel sem Google tem para diferentes usuários finais
- Muitos dos 120 testadores consideraram a compatibilidade com apps de serviços essenciais, como apps de pagamento e apps governamentais de verificação de identidade, uma condição importante para migrar para um sistema operacional sem Google
- Desenvolvedores governamentais precisam considerar níveis mais profundos da pilha ao otimizar a interoperabilidade
- Como a Play Integrity API entra em conflito com o DMA, ela também contradiz o objetivo das carteiras de identidade de fortalecer a soberania europeia
Métodos de comprovação divergem de país para país
- A UE fornece o Architecture Reference Framework, um arcabouço técnico geral para a arquitetura das carteiras
- Esse arcabouço não exige que governos europeus usem comprovação do Google, mas a recomenda
- Por causa dessa recomendação, as abordagens variam entre países
- Alguns países não usam comprovação do Google
- Alguns países a implementam de uma forma que impõe as políticas do ecossistema do Google
- A Itália interpretou a recomendação de uso da Play Integrity API como se fosse obrigatória
- A Suíça depende dos mecanismos de comprovação do Android e excluiu o Play Integrity por preocupações com proteção de dados, soberania de dados e liberdade de escolha
- Holanda e Itália usam o Play Integrity sem ressalvas e interpretam de forma muito rígida a recomendação de usar software de comprovação do Google e da Apple
- Se a Europa leva a sério a busca por autonomia digital, deve excluir completamente as comprovações do Google e da Apple do Architecture Reference Framework e tornar obrigatórios mecanismos abertos de comprovação baseados em hardware
- O caso da Suíça mostra que o uso do Google Play Integrity não é justificável e que outras soluções são possíveis
Responsabilidade pública e caminhos de resposta
- Como carteiras digitais são infraestrutura pública, seu processo de desenho exige participação pública e responsabilização
- Cidadãos e desenvolvedores vêm levantando preocupações em repositórios nacionais
- gitlab.opencode.de, rastreador público de desenvolvimento da carteira da Alemanha
- github.com/orgs/swiyu-admin-ch, fórum público de discussão da Suíça
- Esses canais são caminhos legítimos para questionamentos, mas seu alcance se limita a um público técnico restrito
- Usuários de sistemas operacionais alternativos sem Google podem exigir dos desenvolvedores dos apps EUDI Wallet de seus países independência em relação às comprovações do Google e da Apple
- No caso da carteira holandesa, é possível usar a página de contato do site EDI do Ministério das Relações Exteriores
- Cidadãos preocupados podem pedir a seus representantes eleitos que tornem as carteiras de identidade independentes do Google e da Apple
- Jornalistas podem acompanhar os processos políticos e de desenho
- Atualizações de desenvolvimento e repositórios podem ser conferidos na página sobre a EUDI Wallet em developer.overheid.nl
- Reuniões e contatos podem ser conferidos no site EDI do Ministério das Relações Exteriores da Holanda
1 comentários
Comentários do Hacker News
A implementação de referência da carteira da UE exigia estritamente o Google Play services
https://github.com/eu-digital-identity-wallet/eudi-app-andro...
Por isso, o app italiano IO https://github.com/pagopa/io-app também continua recusando pedidos de suporte ao GrapheneOS para recursos de carteira, documentos e verificação de idade, exigindo o Google
Parece que nada vai mudar até começarem os processos, e a esperança está apenas na colaboração Motorola/GrapheneOS e em entidades de defesa do consumidor que possam processar por conduta anticompetitiva
É preciso se manifestar em todos os canais possíveis sobre apps que exigem o Play services. Quando os processos começarem depois, esse tipo de registro ajuda a mostrar o apoio dos usuários
Isso faz com que cada cidadão pague algumas centenas de euros a essas empresas, e essas empresas então fazem campanha contra os direitos dos próprios cidadãos
Mesmo quando há problemas, o cidadão não recebe nenhum suporte e ainda precisa aceitar um contrato extremamente assimétrico no qual a empresa quase não tem responsabilidade, mas ganha amplos direitos de rastrear a outra parte de um jeito muito perturbador
Assim, qualquer pessoa pode usar o sistema operacional que quiser no hardware que quiser
A UE previu explicitamente o risco de depender totalmente de iOS e Android e desenhou o framework da EUDI Wallet para permitir também outras formas físicas
Por exemplo, smartcards como os documentos de identidade nacionais atuais, além de tokens de hardware independentes e chaves USB
O que deve ser combatido é a atestação de hardware, que é inerentemente hostil ao usuário. Permitir uma distribuição Android popular a mais não significa muita coisa no panorama geral
Mesmo que, em vez do Play Integrity, haja dependência da API de atestação de hardware do Android, para mim isso é um ataque à autonomia digital
Recursos de segurança que dependem de atestação remota de toda a plataforma do usuário acabam dando ao governo o poder de escolher quais sistemas operacionais são aceitáveis, o que é abuso de poder estatal
É só uma questão de tempo até que esse poder seja usado de forma indevida para pressionar desenvolvedores de sistemas operacionais a instalar backdoors para agências de inteligência, e dizer às pessoas para terem dois smartphones não é solução
Para verificação digital anônima de idade baseada em provas de conhecimento zero (ZKP) adequadas ou em assinaturas cegas, não é preciso um sistema operacional de uso geral; bastam algumas primitivas criptográficas e um conjunto de chaves vinculadas ao dispositivo
Não é absurdo exigir que a UE desenvolva um token de hardware dedicado apenas com essas funções e o forneça gratuitamente a todos os cidadãos como alternativa ao app. Isso também garantiria a liberdade de não ter o acesso a serviços digitais severamente limitado por não possuir um smartphone
O que não se deve fazer é limitar a capacidade de executar software personalizado no telefone e, em especial, não se deve exigir de todos um telefone assinado por Google/Apple
Se eu instalar o GrapheneOS em um Pixel, apps de banco e do governo ainda deveriam funcionar, e acredito que isso é possível mesmo impondo segurança de hardware
Do ponto de vista do cliente, há a vantagem potencial de poder confiar que suas chaves estão seguras dentro do dispositivo, mas isso erra o alvo
O que realmente é necessário é uma especificação open source que defina protocolos padrão. O dispositivo saberia que uma solicitação vem de uma fonte confiável, por exemplo, assinada com uma chave do governo, e então assinaria essa solicitação com a chave que a API do governo conhece como pertencente àquele usuário
Imagino algo como adicionar várias chaves públicas por dispositivo em um portal do governo, além de compartilhar a chave pública do governo usada para verificar solicitações. Um serviço que precise confirmar identidade pediria a chave pública do usuário, obteria um token de desafio da API do governo e o encaminharia ao usuário
O usuário verificaria se esse desafio foi assinado por uma chave em que confia, assinaria o desafio e o devolveria ao app, e o app o enviaria à API do governo para receber autorização de acesso apenas a parte das informações solicitadas. Se o app só precisar da idade, então receberá apenas essa informação
A implementação no telefone pode até querer usar atestação de hardware para proteger as chaves, mas não há motivo para torná-la obrigatória. Um sistema de chave pública bem projetado é suficiente e, se necessário, deve permitir revogar chaves com facilidade e adicionar novas
Um sistema europeu de ID digital totalmente dependente de duas empresas americanas
Até pouco tempo atrás não estavam dizendo que a soberania digital da Europa era urgente? Ou era só conversa fiada para inglês ver?
Mas, em muitos casos, não existem alternativas europeias próprias que possam dar suporte. Não há nenhuma empresa da UE capaz de substituir nem que seja uma parte significativa da stack de software oferecida por Google e Apple
A menos que o ambiente regulatório mude, provavelmente continuará não havendo
Tudo isso só porque alguém poderia talvez estar a bordo; na prática, essa pessoa nem estava no avião, e seu único “crime” real foi expor atos ilegais dos EUA, fundamentalmente inconstitucionais, e constranger o país
Os promotores suecos fizeram o mesmo. Com um telefonema, os EUA conseguiram obter uma declaração oficial que não era uma acusação formal, mas foi suficiente para colocar “Assange” e “rape” juntos nas manchetes do mundo inteiro naquela mesma noite
Os países europeus em geral agem como cães de estimação dos EUA, o que é realmente triste. E, mesmo assim, o presidente americano os apunhala pelas costas ao ameaçar invasão e anexação ou ao ignorar completamente as obrigações básicas de um membro da OTAN
Não entendo por que a Europa continua entrando no jogo idiota dos EUA. Como vemos repetidamente, essa postura não é retribuída da mesma forma
Está funcionando como pretendido. A UE quer forçar o uso de dispositivos e sistemas operacionais totalmente controláveis
Apps podem ser banidos se não seguirem regulações novas e absurdas
A regulação cria monopólios. Mesmo quando a regulação tenta reduzir o controle das grandes empresas, as menores normalmente não conseguem arcar com isso e perdem participação de mercado
Isso é algo realmente ensinado em escolas de negócios como estratégia de vantagem competitiva. As empresas fazem lobby junto ao governo para aprovar leis que parecem prejudicá-las, mas que na prática elevam o custo de implementação, criam um campo inclinado e capturam participação de mercado
Nem toda regulação quebra monopólios, mas a regulação também é o único meio capaz de quebrá-los
É sabido que todo mercado “livre” tende ao monopólio por causa da regra de 1%. Como um mercado totalmente livre só existe na abstração e não na realidade, é preciso regulação para garantir um mercado realmente livre
Em alguns casos, o livre mercado é a solução errada e é preciso um monopólio regulado, e eu diria que identidade é exatamente um desses casos. Identidade é algo inerente ao indivíduo
Em teoria, uma pessoa deveria ter apenas uma identidade e, exceto em casos extremamente excepcionais e bem documentados, essa identidade não deveria mudar
Os Estados deveriam ter uma boa forma de fornecer identidade e, se um Estado pequeno não tiver recursos suficientes, um Estado maior deveria fornecer isso para todos. Isso reduz incompatibilidades entre países e elimina interesses privados
O Estado deveria ter o monopólio exclusivo sobre decidir cuja identidade será atestada. É o único agente que não é afetado por condições de mercado
Os países mais avançados nesse tema funcionam de fato assim. Se os países individualmente não conseguem chegar a uma solução comum, o coletivo deve fazê-lo
Nesse caso, o coletivo falhou. Não tornou obrigatória uma solução em nível europeu e recomendou uma solução privada
O setor privado tem uma agenda de busca por lucro, então não deveria ditar o que constitui identidade nem como ela deve ser comprovada. O Estado deve avaliar a solução, mas a operação e a implementação deveriam ser responsabilidade do Estado
Há muitas áreas em que soluções de mercado são boas, mas esta não é uma delas
Por exemplo, MMTIS (informações multimodais de transporte para passageiros) explicita inovação e novos participantes como objetivo. Há outros exemplos parecidos
Também importa o quão cara é a regulação em questão. Em muitos setores, a regulação é absolutamente necessária para que prédios não desabem, alimentos não sejam tóxicos e remédios não virem uma roleta-russa farmacológica
Portanto, o objetivo deveria ser otimizar o custo-benefício da regulação
Mas isso é diferente da afirmação ampla de que “a regulação cria monopólios”
Se o Google bloquear alguém, essa pessoa perde para sempre o acesso a todos os serviços que exigem identidade digital?
Houve um caso em que um YouTuber pediu aos espectadores da live que “votassem” digitando emojis, e várias contas Google de espectadores acabaram bloqueadas por spam[1]
O Google também é conhecido por relutar em oferecer suporte ao usuário, então é difícil esperar reparação individual
Já apareceu até um novo tipo de ransomware. “Pague ou vamos enviar spam pelo seu Gmail e fazer você perder sua identidade digital”
[1] https://www.engadget.com/2019-11-10-youtube-reinstates-banne...
Uma solução relativamente simples, muito mais aberta e mais segura para isso seria usar o cartão físico de identidade da UE como fonte de prova e exigir que o usuário encoste o cartão no celular para operações importantes, como assinaturas de alto valor, login em um novo dispositivo ou acesso após repetidas falhas de autenticação
Isso eliminaria completamente o “problema” do hardware e do sistema operacional abertos no lado do dispositivo. Não seria mais necessário confiar em assinaturas de hardware ou de sistema operacional
Dá para argumentar que isso introduz a possibilidade de ataque man-in-the-middle no celular. Como o cartão não tem tela nem teclado PIN, não há como saber o que está sendo assinado nem para quem o PIN está sendo fornecido
Mas é discutível se mitigar esse risco vale a pena ao custo de aceitar todas as preocupações de dependência que vêm com a atestação do celular
Atualmente, todos os cartões de identidade da UE já têm obrigatoriamente autenticação criptográfica forte, mas em uma forma que só pode ser usada para verificação presencial de identidade segundo o padrão de documentos biométricos da ICAO, e não para comprovação remota de identidade. Está frustrantemente perto do que seria necessário, mas ainda não é a funcionalidade de que se precisa
Na Alemanha, houve uma decisão judicial determinando que a Deutsche Bahn (DB) precisa oferecer passagens offline que possam ser compradas sem computador nem smartphone, para não discriminar idosos
Acho bem provável que haja uma decisão semelhante se a EUDI Wallet exigir Google/Apple
Então duvido que haja uma decisão semelhante, desde que a EUDI continue sendo uma alternativa opcional para quem quer usar serviços online
As pessoas dependem da Play Store ou da App Store, e a DB também não oferece o app por download direto
A UE deveria ter exigido um esquema de autenticação para usuários que usasse strings aleatórias como único fator de autenticação para tudo
Seria quase igual aos tokens de API do software corporativo moderno, mas em uma forma voltada para pessoas comuns, não para desenvolvedores de apps
E, para aplicações mais sensíveis, bastaria complementar com tokens de hardware
As passkeys poderiam ter cumprido esse papel, mas foram rapidamente deturpadas pelo setor
Como você daria suporte a 50 mil pessoas por dia que perderam uma string aleatória? E a outras 50 mil que a colaram em algum site qualquer? A Europa tem 1 bilhão de pessoas
O critério geral é este
se eu não puder usar algum serviço ou produto digital executando código em um computador que eu mesmo construí completamente, ou que eu possa fazer alguém da minha escolha construir, e que eu mesmo escrevi completamente, ou que eu possa fazer alguém da minha escolha escrever, então isso é completamente inaceitável