2 pontos por GN⁺ 3 일 전 | 1 comentários | Compartilhar no WhatsApp
  • É divulgado como uma verificação com proteção de privacidade que prova apenas a idade, mas a estrutura real de implantação depende de apps nacionais e caminhos opcionais, e não funciona como um único app da UE
  • Grandes plataformas podem usar um provider KYC comum que faz escaneamento de passaporte e verificação de liveness, em vez da carteira da UE, de modo que o caminho com proteção de privacidade não é um requisito obrigatório, mas apenas uma opção
  • No momento, o caminho principal da implementação de referência usa ISO 18013-5 mdoc with ES256, e não zero-knowledge proofs; a unlinkability também depende mais das regras de rotação de credenciais descartáveis da carteira do que de garantias matemáticas fortes
  • Se a verificação de integridade do app incluir hardware attestation, o binário final precisa corresponder ao código aprovado pelo Google ou pela Apple, o que pode excluir dispositivos como GrapheneOS ou celulares Linux customizados
  • Um relay attack não é impedido mesmo quando todas as assinaturas e attestation são válidas, e também se levanta o alerta de que essa estrutura pode abrir caminho para a aceitação de identidades digitais revogáveis além da simples verificação de idade

Caminhos para contornar a DSA e substituição por KYC

  • Plataformas grandes que lidam com determinado tipo de conteúdo precisam verificar idade, mas não são obrigadas a usar a carteira da UE voltada à privacidade
    • A plataforma pode optar pela EU wallet
    • Ao mesmo tempo, também pode integrar um provider KYC comum que faz escaneamento completo do passaporte e verificação de liveness
  • Os recursos de privacidade continuam sendo opcionais
    • A divulgação se concentra no lado privacy-preserving, mas as regras também permitem caminhos alternativos com menos privacidade
  • O caminho de integrar diretamente os eIDs nacionais é descrito como operacionalmente difícil
    • Integrar os diferentes national eID systems dos 27 países é algo complexo
    • Para empresas de KYC, costuma ser mais barato e mais genérico manter bases de dados da aparência física dos documentos e processos baseados em foto
  • O estado atual de preparo da interoperabilidade também é avaliado como baixo
    • Na trusted list oficial há 0 apps em produção
    • A própria implementação de referência ainda é descrita como incompleta
    • A expectativa de que até o fim de 2026 haverá interoperabilidade limpa entre os 27 países é vista como irrealista

Fluxo real de verificação e controle do dispositivo

  • O principal caminho de alta confiança usa NFC passport
    • Faz-se a leitura da MRZ na parte inferior da página com foto para obter a chave que permite ler e descriptografar os dados do chip NFC
    • O chip contém dados assinados e a JPEG photo do titular
    • Pelo desenho do sistema, o celular tira uma foto do rosto em tempo real e a compara localmente com a foto do chip
  • Essa comparação facial local é descrita como forma de impedir que uma criança escaneie o passaporte dos pais e emita uma credencial para si mesma
  • Mesmo que o app seja open source, se o hardware attestation for obrigatório na versão distribuída pelo país, modificações arbitrárias deixam de ser possíveis
    • Segundo o texto, na reference code atual a verificação de attestation no servidor ainda não está conectada
    • Ainda assim, a estrutura prevê que as versões nacionais adicionem isso
    • O binário final precisa corresponder exatamente ao código assinado pelo Google ou pela Apple
  • Esse modelo de segurança exclui certos dispositivos e sistemas operacionais
    • GrapheneOS e celulares Linux customizados não seriam aceitos
    • Dispositivos Huawei, embora possam ter seu próprio hardware attestation, supostamente não passam no Play Integrity
    • Como exemplo relacionado, é citado GrapheneOS attestation compatibility guide
  • Existe também um caminho mais simples, o MRZ-only, mas com fortes limitações
    • É um fluxo em que se tira apenas a foto do documento, sem leitura NFC nem comparação facial
    • O texto diz que não está claro se apps nacionais reais vão oferecer suporte a isso
    • A referência recomenda o caminho de alta confiança baseado no chip

Diferença entre a criptografia promovida e a criptografia realmente embarcada

  • A narrativa pública gira em torno de zero-knowledge proofs, mas o caminho de execução real do app Android de referência não usa criptografia ZK
  • O modo que funciona hoje é descrito como ISO 18013-5 mdoc with ES256
    • Cada atributo é assinado previamente
    • A carteira revela apenas os atributos solicitados e oculta os demais com salted-digest commitments
  • Mesmo que a biblioteca ZK esteja incluída no repositório, o caminho de apresentação não a chama
    • O texto diferencia claramente entre estar presente no repositório e estar de fato switched on
    • Fica em aberto se os apps nacionais vão ativar isso depois
  • A unlinkability da referência atual também é explicada como algo diferente de uma garantia matemática forte
    • O texto chama isso de disposable-batch unlinkability
    • Se credenciais assinadas forem usadas uma única vez, elas podem revelar apenas que a pessoa tem mais de 18 anos e quem é o emissor, sem identificador único

Características e limitações de privacidade

  • O fluxo completo é próximo de local-first, mas ainda exige um servidor de emissão de credenciais
    • O escaneamento do documento e a checagem inicial são feitos no celular
    • Sob a premissa de um app com attestation, o servidor de emissão pode confiar até certo ponto em qual código foi executado
    • O servidor valida a assinatura do documento e emite uma credential assinada
  • Do ponto de vista do verificador, a unlinkability só vale se a carteira seguir as regras
    • O desenho não cria duas provas matematicamente impossíveis de correlacionar; em vez disso, usa disposable credentials uma vez e depois obtém novas
    • Se a carteira obedecer isso, verificadores diferentes verão assinaturas diferentes e terão dificuldade para correlacioná-las
    • Se a carteira trapacear ou se a proof for reutilizada, os mesmos bytes de assinatura aparecem e a correlação fica fácil
  • A narrativa comum de ZK = unlinkability permanente não se aplica aqui
    • Essa propriedade é mantida não porque a criptografia neutraliza a reutilização, mas porque a carteira precisa respeitar a regra de rotação
    • BBS+ e CL signatures são citados como contraste, já que esses métodos podem produzir provas não correlacionáveis mesmo com reutilização
  • O alcance do rastreamento do ponto de vista do emissor também é limitado
    • O emissor gera a credential quando o usuário apresenta seu ID
    • Depois disso, o servidor não sabe onde nem quantas vezes essa credential é usada
    • Mesmo um possível rate limit só limitaria a quantidade emitida, não o número real de usos
  • Sob o funcionamento normal da carteira, seria possível inferir algo como o fato de a pessoa ser cidadã de um país da UE, mas seria difícil saber quais contas pertencem à mesma pessoa ou vincular atividades entre sites

Problema de relay attack

  • É apresentado um cenário de relay attack ao qual a especificação não responde adequadamente
    • Quando um menor tenta entrar em um site com restrição de idade, ele repassa o QR code ou link para um serviço de autenticação por terceiros
    • Esse serviço o encaminha para um celular limpo de um adulto que possui a carteira governamental real
    • Quando o adulto aprova, o site recebe uma proof de maior de 18 completamente válida e libera o acesso
  • Nesse fluxo, nenhuma verificação criptográfica falha
    • Todas as assinaturas são reais, a attestation também é real, e o adulto é de fato adulto
    • O problema é que o protocolo se vincula não ao humano atualmente diante deste navegador, mas apenas ao fato de que alguma carteira em algum lugar aprovou a operação
  • A ausência de proximity check é apresentada como a limitação central
    • A Digital Credentials API do navegador pode atenuar parte do problema apenas quando navegação e autenticação ocorrem no mesmo celular
    • QR codes e deep links usados entre dispositivos continuariam abertos a isso
  • Play Integrity também não impede esse problema
    • O Play Integrity apenas atesta qual código está rodando em qual dispositivo
    • Ele não informa quem está diante do aparelho nem onde o aparelho está
    • Em um fluxo com proxy, o serviço web intermediário não é alvo da attestation; ele apenas retransmite os bytes
  • Depois que um adulto se cadastra, um modelo de revenda fica mais fácil
    • O texto diz que a carteira contém 30 disposable credentials renovadas em ciclos curtos
    • O emissor não vê como essas credenciais são efetivamente consumidas
    • Assim, um operador de proxy pode reutilizar a mesma credential para muitos menores, e o sistema a montante não consegue detectar isso
  • O problema é definido não como bug de implementação, mas como propriedade estrutural da protocol shape
    • Por isso, é tratado como algo que permanecerá nos apps dos 27 países que seguirem essa especificação

Preocupação com expansão para infraestrutura de identidade digital

  • O app de verificação de idade é tratado como porta de entrada para uma digital ID infrastructure
  • O ponto de partida é a proteção de crianças e o bloqueio de conteúdo nocivo, mas na prática a estrutura é descrita como um mecanismo de atrito para levar as pessoas a escolherem a attested wallet mais conveniente
  • Nessa estrutura, o próprio app também é objeto de attestation, então Google ou Apple acabam decidindo o que pode ser executado
  • O texto diz que as credenciais podem ser revogadas pelo issuer
  • O app de referência é descrito como algo que vaza a foto do rosto apenas localmente
    • Ao mesmo tempo, como os 27 países criarão versões separadas, considera-se possível que cada implementação nacional introduza bugs próprios de privacidade
  • Chamadas repetidas da carteira gerariam um Hawthorne effect
    • Se a pessoa tiver de abrir a carteira toda vez para acessar sites controversos, a autocensura pode aumentar mesmo que a proof seja anônima
    • O texto afirma que o histórico dos governos em proteger bem esse tipo de dado não é bom
  • Também se levanta a preocupação de integração futura com outros sistemas, como o Digital Euro
    • Nesse caso, uma grande parte da vida poderia ser desligada remotamente
    • Dá-se como exemplo o cenário de suspensão temporária de credenciais por causa de multa de estacionamento não paga
  • A conclusão é enfática ao dizer que não é preciso aceitar identidades digitais revogáveis como preço para acessar a internet

Distinção em relação a casos de hacking divulgados publicamente

  • Os problemas relatados são divididos em duas categorias
    • mock-up bugs: vazamento de arquivos, leitura de MRZ sem validação, demo com extensão do Chrome atacando backend placeholder etc.
    • structural properties: ausência de proximity binding, uso único controlado no cliente, unlinkability que se quebra com reutilização etc.
  • A primeira categoria é tratada como algo que pode ser corrigido em implementações nacionais
    • O vazamento de arquivos em disco no app de referência seria corrigido e não é visto como problema essencial
    • Mesmo que seja possível enganar o sistema para obter uma credential de teste, o caminho real principal não seria um mock-up de scanner MRZ sem validação, mas sim os sistemas nacionais de eID
  • A segunda categoria é tratada não como bug, mas como consequência direta da especificação
    • É definida como um problema que permanecerá em todas as implementações nacionais que sigam a especificação
  • Também se considera improvável que o hacking com custom Chrome extension funcione em produção
    • Se attestation for obrigatória, ele falhará na verificação do app
    • O caminho MRZ também não se conecta ao backend comum real da UE, e o registro de documentos válidos estaria sob jurisdição nacional
  • Demonstrações que alegam ter “quebrado o mock-up” são resumidas como algo mais próximo de atacar um exemplo de uso da biblioteca
    • Na prática, o texto diz que existirão apps nacionais separados, como os da Eslováquia, Hungria, Alemanha, Holanda e França

Demanda e conclusão

  • Considera-se que existe, sim, demanda por esse tipo de sistema
    • Pais que veem a internet como perigosa querem meios de proteger seus filhos
    • Independentemente de as crianças conseguirem contornar o sistema, o cliente real é descrito menos como a criança protegida e mais como os pais em busca de tranquilidade
  • O texto também inclui links de referência relacionados
  • O julgamento final é resumido em quatro pontos
    • Os EU fancy ZK apps estão atrasados, então é grande a chance de plataformas recorrerem a providers KYC comuns, estimadores de idade facial por IA e outros meios
    • Se implementado conforme a especificação, o sistema tem uma característica de privacidade significativa: plataformas tendem a ter dificuldade para saber o nome real do usuário ou vincular contas entre si
    • Ainda assim, essa característica depende mais do wallet behavior do que de imposição criptográfica, e a matemática ZK presente no repositório não está ativada hoje
    • Junto com isso vêm a restrição de só funcionar em Google/Apple approved device e a limitação estrutural do relay attack

1 comentários

 
GN⁺ 3 일 전
Comentários do Hacker News
  • Isso não é um cavalo de Troia, e sim o objetivo explicitamente declarado em decisões, debates e textos legais
    Os requisitos de verificação de idade servem para demonstrar que a tecnologia é viável e foram escolhidos como o ponto de partida mais simples para chegar a uma identidade digital completa
    A UE já conta com governos nacionais oferecendo serviços de autenticação parecidos com OIDC, baseados em smartcards ou contas governamentais, e a carteira digital é uma extensão disso para facilitar a autenticação de cidadãos de outros países da UE e permitir levar o documento no celular
    O cenário de passar um token de verificação de idade para o filho já é possível na prática, e esse risco sempre foi tratado como algo a ser tolerado e punido se descoberto; o bar não vai atrás para verificar se quem comprou é realmente quem está bebendo

    • Hoje é verificação de idade, amanhã é identidade digital, depois vigilância permanente; o padrão parece sempre o mesmo
    • A diferença é grande
      Um documento físico de identidade normalmente só precisa ser mostrado em situações raras, como serviços bancários, assinatura de documentos ou contato com o governo, e quase nunca era exigido até para comprar bebida
      Mesmo quando exigido, você apenas mostra o documento; não deixa que tirem foto e armazenem em banco de dados
      Mas se mercearia, farmácia, posto de gasolina, estacionamento, restaurante e bar começarem a exigir identidade, tirar foto e guardar num DB, ninguém vai gostar disso
    • Fiquei curioso se existe um roadmap ou cronograma
      Assim como o autor, eu também tenho um ID eslovaco e queria saber quando isso realmente vai se tornar útil para acessar serviços na internet
    • A analogia com o que já é possível no mundo real é uma falsa equivalência
      O defeito aqui é que ele permite industrializar a evasão, o que é muito diferente de alguns casos ocasionais de compra por terceiros no mundo físico
  • Unlinkability criptográfica de verdade, como em BBS+ ou assinaturas CL, gera provas sem correlação mesmo com reutilização, mas este sistema não é isso
    Como também apareceu no debate sobre o eID suíço, a razão para usar assinaturas rotativas em vez de ZKP é que a maioria do hardware de segurança dos celulares não suporta algoritmos como BBS+
    Em vez de cada país criar seu próprio esquema de armazenamento criptográfico, a conclusão foi que é mais realista e menos problemático usar em rotação um conjunto de assinaturas já preparado pelos módulos de hardware
    A vantagem do módulo de hardware é tornar muito mais difícil para um invasor extrair a chave secreta real quando o celular é perdido
    Toda vez que surge o assunto identidade digital, o lado mais alarmista fica repetindo as mesmas preocupações copiadas e coladas, mas se você ler a especificação da EUDI, verá que boa parte disso já foi tratada
    https://eudi.dev/1.6.0/architecture-and-reference-framework-main/

    • Eu li a especificação, mas ainda não entendi como o fluxo de revogação impede que emissor/governo e operador do site revelem a identidade de um usuário de verificação de idade se agirem em conluio
    • Se alguém tiver um bom material introdutório que organize propostas, vantagens, desvantagens e experiências reais de operação de vários sistemas de ID, eu gostaria de conhecer
      Preciso de um ponto de partida melhor do que ficar lendo no Wikipedia artigos de eID de cada país
    • Exato
      Essa repetição de alarme estilo Pedro e o Lobo já cansou mesmo
  • Dá para ver por outro ângulo
    O EU Age Control em si não é um cavalo de Troia, e o app faz exatamente o que diz fazer
    Ninguém quer usá-lo
    O verdadeiro cavalo de Troia é o SO móvel corporativo
    Como parece um presente grátis e bonito, as pessoas o aceitam de bom grado, mas na prática o núcleo do modelo de negócios é software de erosão de privacidade que favorece Google, Apple e seus parceiros de publicidade
    As pessoas não enxergam isso, só veem o presente bonito e grátis
    É por isso que o app de verificação de idade só funciona em SOs móveis corporativos
    Como disse o autor, se o dispositivo não for aprovado por Google ou Apple, Linux, GrapheneOS, Huawei e firmware customizado ficam de fora, e isso faz parte do modelo de segurança
    A desculpa real para exigir ID não é verificação de idade, e sim segurança, e é exatamente essa lógica que impede o dono do aparelho de usar um SO compilado por ele mesmo

  • Na minha visão, identidade digital provavelmente vai acabar se tornando inevitável, assim como moeda digital
    Por ser mais conveniente e eficiente, continuará sendo emitida, e a comprovação de identidade em papel vai desaparecer com o tempo
    Em um mundo conectado, tokens físicos como cartão bancário ou carteira de motorista não são indispensáveis nem a melhor solução
    Por isso, o foco deveria estar em controlar o que o governo não pode fazer com isso
    Por exemplo, assim como não se deve poder retirar a cidadania de alguém, também não se deveria permitir com facilidade a desativação ou exclusão do ID

    • Parece que, quando as pessoas ouvem digital ids, elas imaginam coisas diferentes
      Existe a identidade digital usada pelo governo holandês para declaração de imposto etc., e também é possível fazer algo parecido com certificados X509 emitidos pelo governo da Ucrânia e um app
      Não entendo muito bem por que até isso seria considerado ruim
    • Mas muitos países realmente permitem retirar a cidadania
      No Reino Unido isso pode ocorrer até por decisão política, e outros direitos também podem ser bloqueados, como congelar conta bancária, então sou cético de que isso possa ser proibido de forma efetiva
      Também não vejo bem qual é o problema dos tokens físicos
      Eles são simples, não criam um ponto único de falha, e se você perder o celular ainda ficam o cartão e o dinheiro, além de serem resilientes a falhas de rede ou do sistema
      Não me parece que carregar alguns cartões seja uma desvantagem tão grande
    • Identidade digital provavelmente vai coexistir com formatos de token físico
      Além disso, também dá para colocar em papel uma identidade digitalizada e assinada criptograficamente, que pode cumprir um papel bem parecido com o eletrônico em termos de segurança e leitura por máquina
      Onde o token eletrônico realmente se destaca, seja para ID ou outra coisa, é em provar a posse física de uma cópia única
    • Concordo que é inevitável, mas daí em diante parece uma toca do coelho bem profunda
      A UE já está há anos indo nessa direção sob o pretexto de controlar o que os governos podem fazer
      https://escapekey.substack.com/p/europe-goes-full-digital
    • Mesmo falando em proibir o bloqueio do ID, assim como um passaporte perdido precisa ser comunicado à polícia para ser invalidado, uma identidade digital no celular também precisa poder ser revogada em caso de perda
  • Vendo como as eleições mudaram depois do crescimento das redes sociais, parece que os governos querem recuperar o controle de antes
    Usando o medo de material de abuso sexual infantil, terrorismo e agora CP gerado por IA, vão apertando cada vez mais a internet aberta, e no fim parece que teremos uma versão ocidental de segunda linha da Grande Muralha de Fogo e de algo parecido com crédito social
    Alguns países de democracia liberal já parecem ter plantado essas raízes

    • Eu vejo mais como uma tentativa de usar verificação de identidade digital nas redes sociais para eliminar contas de bot que destroem o debate público
      Algumas grandes contas de influenciadores acabaram se revelando bots da China ou da Rússia, e o movimento para ampliar ódio e divisão só vai piorar com LLMs
      Algum tipo de identidade digital capaz de verificar quem está por trás de uma conta social talvez seja a última esperança real para preservar o debate público
    • Se a ideia é o governo recuperar o controle, então é estranho nos obrigarem a passar por dispositivos totalmente controlados por empresas americanas
    • Não sei se isso está diretamente ligado à mudança nas eleições
      Meu governo já diz há algum tempo que as redes sociais nos deixaram mais burros, mais deprimidos e mais ansiosos, e acho isso verdade
      Sei que isso também afeta eleições, mas não me parece que a eleição em si seja o principal alvo de quem quer resolver o problema
      Se você resolve o problema, é natural que isso acabe afetando as eleições também
    • Não acho que os governos estejam realmente levando CP gerado por IA tão a sério assim
      Mesmo quando é baseado em crianças reais, parece passar batido se algum bilionário vender abertamente acesso ao gerador
      Por isso, isso me soa ainda mais como um espantalho inflado para causar medo
  • Seja app de demonstração ou não, o mais importante é implementar direito
    Porque a chance de todos os Estados-membros implementarem isso corretamente é baixa
    Até a solução proposta para proteger crianças tem limites óbvios
    Não dar celular nem computador para a criança pode ser uma solução simples, e de qualquer forma sites ilegais não vão cumprir verificação de idade
    Se lugares como o Pirate Bay fossem bons em seguir a lei, nem existiriam, então isso acaba parecendo uma solução sem eficácia real

    • Mais do que ser um app único, o que me preocupa é o banco de dados e a interoperabilidade
      Especialmente quais protocolos de autorização e controle serão adotados entre os países
      A ideia de querer um DB único ou uma rede sem controle parece bem assustadora
    • Não dar celular ou computador para a criança não é uma solução
      Hoje em dia muitas escolas exigem acesso a computador
  • Já usamos eID há muito tempo, e tudo bem que isso passe a ser mais usado online
    O mesmo vale para verificação de idade, mas de um jeito que não envolva empresas americanas ou a Palantir no processo

  • Parece improvável que um sistema real de Zero Knowledge Proof venha a ser aceito para algo como verificação de idade
    E remote attestation também não funciona desse jeito
    Em um sistema de ZKP de verdade, basta uma única chave vazar ou ser extraída para se poder gerar infinitas provas falsas, e isso fica difícil de detectar

    • A verificação de idade da UE discutida neste texto explicitamente menciona o uso de ZKP nos documentos técnicos que eu vi
      https://eudi.dev/2.5.0/discussion-topics/g-zero-knowledge-proof/
    • Nesse caso, Google Play Integrity não pode ser usado
      Ele ainda certifica aparelhos antigos como os com Oreo, mas nesses dispositivos cujos fabricantes já encerraram as atualizações existem vulnerabilidades praticamente infinitas que permitem vazamento de chaves
  • Muitos países já operam identidade digital há anos
    O problema não é a identidade digital em si, e sim a vigilância
    Uma identidade digital usada apenas para se comunicar diretamente com a entidade governamental que a emitiu é aceitável, até desejável
    Mas forçar verificação de idade é um mecanismo para abrir essas informações também para empresas privadas, e é por isso que eu considero isso o verdadeiro cavalo de Troia

    • A informação aqui na prática é algo como {"over_18": true} ou {"over_16": true, "over_18": false} com uma assinatura do governo em cima
      Claro, em casos peculiares como um ID do Vaticano isso poderia ser problemático, mas esse tipo de caso nem participa desse sistema
  • A internet era originalmente uma rota de fuga cyberpunk, mas agora parece estar indo para um mundo em que querem acabar com o anonimato a qualquer custo
    Um mundo em que você desbloqueia o celular com reconhecimento facial e seu histórico de internet fica vinculado 1:1 ao seu documento do governo é simplesmente deprimente