Pular para o conteúdo principal
A autenticação por NFC da Didit permite verificar documentos de identidade lendo o chip seguro embutido em passaportes e documentos modernos, usando os recursos de NFC do celular. Isso oferece o mais alto nível de segurança disponível na Verificação de identidade.
Interação NFC

Principais benefícios


Como ativar a verificação NFC

Integração com SDK nativo (recomendada)

A verificação NFC está disponível pelos nossos SDKs nativos, que dão acesso total aos recursos de NFC do dispositivo: O SDK de iOS cuida automaticamente de toda a configuração de NFC, incluindo:
  • Identificadores de aplicação ISO7816 para ePassports
  • Configuração de entitlements e capabilities
  • Leitura do chip em tempo real com feedback visual

Integração web

⚠️ Limitações dos navegadores A verificação NFC não está disponível em navegadores web por restrições das plataformas: Em integrações web, a verificação NFC é ignorada automaticamente e os usuários seguem com a verificação padrão de documento + selfie.

Como funciona

Início da sessão

O usuário inicia o processo de verificação pelo seu app ou plataforma:
  • SDK nativo: inicie o fluxo de verificação diretamente no seu app
  • Web/Web mobile: o usuário é orientado a usar o app da Didit para a verificação com NFC, ou segue com a verificação padrão

Captura da foto do documento

O usuário fotografa o documento de identidade, capturando:
  • MRZ (Machine Readable Zone) - usada para derivar as chaves de acesso ao chip
  • Imagens da frente e do verso do documento - dados visuais e elementos de segurança
  • Elementos de segurança visuais - hologramas, marcas d’água, microimpressão

Detecção de suporte a NFC

O sistema verifica automaticamente a compatibilidade do dispositivo e do documento:
Se o NFC não estiver disponível, a verificação continua de forma transparente com a verificação padrão de documento + biometria.

Leitura do chip NFC

Para dispositivos e documentos compatíveis:
  1. O usuário é orientado a aproximar o documento do leitor NFC do celular
  2. O feedback visual mostra o progresso da leitura em tempo real
  3. Uma comunicação segura com o chip é estabelecida pelos protocolos PACE/BAC

Extração de dados

O sistema extrai dados completos do chip seguindo os padrões ICAO 9303:

Verificação criptográfica

Os dados extraídos passam por uma rigorosa verificação criptográfica:
O hash de cada grupo de dados é verificado contra as assinaturas armazenadas no SOD, garantindo a integridade dos dados.
A cadeia de confiança é validada: Certificado do documento → Country Signing CA → Raiz do ICAO PKD, conferindo as listas mestras CSCA e o ICAO Public Key Directory.
Os certificados são verificados contra as Listas de Certificados Revogados (CRLs) para garantir que não foram revogados e que o documento não foi reportado como roubado/comprometido.
Os dados extraídos por NFC são validados de forma cruzada com os dados de OCR das fotos do documento, a comparação biométrica facial e a verificação do checksum da MRZ.

Resultado e pontuação de confiança

O resultado final da verificação inclui:

Documentos compatíveis

A verificação NFC funciona com ePassports e eIDs que contêm um chip NFC, normalmente indicado por este símbolo no documento:
Logo do ePassport
A maioria dos passaportes emitidos após 2006 contém chips NFC. A cobertura dos documentos nacionais de identidade varia por país. Consulte todos os documentos compatíveis. O My Number Card do Japão tem um tipo diferente de chip, lido por JPKI em vez de ICAO 9303. Veja My Number Card do Japão (JPKI).

My Number Card do Japão (JPKI)

O My Number Card do Japão (マイナンバーカード) tem um chip, mas não um chip ICAO 9303. Ele guarda certificados emitidos sob a JPKI, a infraestrutura de chaves públicas do Japão, e chaves privadas que só assinam depois que o titular digita o PIN do cartão. A Didit o lê na mesma etapa de NFC, por JPKI em vez de ICAO 9303, e todo resultado de NFC informa qual protocolo foi usado em chip_protocol (icao ou jpki).
Ainda não disponível. A leitura do My Number Card por JPKI não está ativada em produção. Até que esteja, um My Number Card capturado em um SDK nativo pula a etapa de NFC com o motivo de omissão JPKI_UNAVAILABLE, e o cartão é verificado com captura do documento e correspondência facial, como antes.

Requisitos

O que a pessoa faz

Fotografe o cartão

A pessoa captura o My Number Card na etapa de verificação de identidade, como qualquer documento. A Didit reconhece o cartão e envia uma etapa de NFC JPKI em vez de uma leitura de chip de passaporte.

Digite o PIN do cartão

O SDK pede o PIN de 4 dígitos do cartão (利用者証明用電子証明書の暗証番号). Quando a configuração jpki_request_attributes do nó de NFC está ativada (o padrão), ele também pede a senha de assinatura, também chamada de PIN de assinatura (署名用電子証明書の暗証番号, de 6 a 16 letras maiúsculas e números).

Aproxime o cartão do celular

O SDK lê os certificados do cartão, e o cartão assina um desafio de uso único da Didit com a própria chave. O SDK envia os certificados e as assinaturas. Os PINs vão apenas para o cartão, nunca para a Didit.
O cartão conta as tentativas erradas: ele bloqueia o PIN de 4 dígitos após 3 seguidas e a senha de assinatura após 5, e um cartão bloqueado precisa ser desbloqueado na prefeitura do titular. Após uma entrada errada, o SDK mostra quantas tentativas restam. Ele nunca faz a última tentativa: quando resta só uma, ele para e diz à pessoa onde redefinir. Peça às pessoas que tenham o PIN e a senha de assinatura à mão antes de começar.

O que a Didit verifica

Cada ação é uma configuração do nó de NFC, então você pode mudá-la para Sem ação, Em revisão ou Recusar. Veja os avisos de NFC e a configuração de recursos de NFC.

O que significa um status de revogação não verificado

revocation_status: "unchecked" significa que a Didit verificou a cadeia de certificados e a assinatura do cartão, mas não obteve resposta sobre se algum certificado foi revogado. Um certificado é revogado quando, por exemplo, o cartão é reportado como perdido. Como não é possível descartar que o cartão tenha sido revogado, unchecked nunca é tratado como good. Ele gera JPKI_REVOCATION_UNCHECKED, que por padrão envia a etapa de NFC para revisão. Escolha outro resultado com jpki_revocation_unchecked_action. Quando a cadeia de certificados ou a assinatura não é válida, a Didit não consulta a revogação: o status permanece unchecked e apenas o aviso da cadeia ou da assinatura é gerado.

Dados do titular e privacidade

  • Com jpki_request_attributes ativado, a decisão inclui o nome, a data de nascimento, o sexo e o endereço do titular a partir do certificado de assinatura em jpki.attributes. Com ele desativado, a pessoa digita apenas o PIN de 4 dígitos: a leitura ainda comprova o cartão e o PIN, mas não traz dados do titular e não é comparada com a foto do cartão.
  • A etapa de NFC nunca lê do chip o Número Individual de 12 dígitos do cartão (My Number).
  • A decisão informa o que o cartão comprovou, nunca os certificados em si, seus números de série ou as assinaturas.
O resultado completo está descrito no relatório de verificação NFC.

Exemplos de integração

SDK de iOS (disponível agora)

Documentação completa do SDK de iOS →

SDK de Android (em breve)

Documentação do SDK de Android →

Arquitetura de segurança


FAQ