Saltar para o conteúdo principal
Didit angaria 7,5 milhões de dólares para construir a infraestrutura para identidade e fraude
Didit
Voltar ao blog
Blog · 6 de outubro de 2026

SD-JWT VC vs mdoc (ISO/IEC 18013-5): comparação dos formatos da EUDI Wallet

SD-JWT VC vs mdoc (ISO/IEC 18013-5) para programadores: divulgação seletiva, key binding, OpenID4VP e ISO/IEC 18013-7, o que o Regulamento de Execução (UE) 2026/1731 exige para o PID e de que formato precisa um verificador.

Por DiditAtualizado
sd-jwt-vc-vs-mdoc-cover.png

Em resumo

SD-JWT VC e mdoc (ISO/IEC 18013-5) são os dois formatos de credencial que qualquer carteira europeia de identidade digital (EUDI Wallet) tem de suportar. O SD-JWT VC é JSON e foi concebido para utilização remota. O mdoc é CBOR binário e é o único que também funciona em proximidade.[1]

  • Ambos ocultam e revelam atributos com a mesma ideia: hashes com salt assinados pelo emissor.[1]
  • Desde o Regulamento de Execução (UE) 2026/1731, os dados de identificação pessoal são emitidos em ambos.[2]
  • Um verificador remoto pode ler qualquer um deles através do OpenID4VP. Um leitor de proximidade precisa de mdoc.[1]

Última revisão: 5 de outubro de 2026 · Não constitui aconselhamento jurídico

Um SD-JWT VC é uma credencial verificável empacotada como um JSON Web Token assinado, cujas declarações podem ser divulgadas uma a uma. Um mdoc é um documento móvel no formato da ISO/IEC 18013-5, a norma escrita inicialmente para cartas de condução móveis. O Architecture and Reference Framework (ARF) da EUDI Wallet indica ambos como obrigatórios para as carteiras. Indica também um terceiro formato, o W3C Verifiable Credentials Data Model 2.0, como opcional e "destinado apenas a EAAs não qualificados".[1]

Este guia compara os dois formatos para programadores que desenvolvem um verificador. Baseia-se no ARF v3.0.0, no texto do OpenID for Verifiable Presentations (OpenID4VP) 1.0 e no Jornal Oficial. PID significa dados de identificação pessoal.

O que é um SD-JWT VC

O ARF descreve as "SD-JWT-based Verifiable Credentials" como um formato de dados e um conjunto de regras de processamento para exprimir credenciais verificáveis, em que SD-JWT "significa 'Selectively Disclosable JSON Web Token'".[1] Abrange a codificação JSON, um mecanismo de prova com divulgação seletiva e uma vinculação opcional ao dispositivo.[1]

No OpenID4VP, o identificador de formato é dc+sd-jwt e uma consulta indica o tipo de credencial através de vct_values.[4] Segue-se o exemplo de payload emitido da especificação, reduzido a dois dos seus oito digests:[4]

{ "_sd": [ "jsu9yVulwQQlhFlM_3JlzMaSFzglhQG0DpfayQwLUK4", "TGf4oLbgwd5JQaHyKVQZU9UdGE0w5rtDsrZzfUaomLo" ], "vct": "https://credentials.example.com/identity_credential", "_sd_alg": "sha-256", "cnf": { "jwk": { "kty": "EC", "crv": "P-256" } } }

Nota

O SD-JWT VC deixa muitas opções em aberto. O ARF afirma que o High Assurance Interoperability Profile (HAIP) "é necessário para garantir a interoperabilidade entre as unidades de carteira e as partes utilizadoras".[1] Desenvolva com base no HAIP.

O que é um mdoc (ISO/IEC 18013-5)

A ISO/IEC 18013-5 define os atributos da carta de condução e a sua codificação em Concise Binary Object Representation (CBOR). Define também namespaces que evitam colisões entre identificadores, um mecanismo de prova com divulgação seletiva, a vinculação obrigatória ao dispositivo e a troca em proximidade.[1]

Apenas o modelo de dados da carta de condução é específico da condução. O ARF refere que todos os outros aspetos "são genéricos e podem ser utilizados para qualquer outro tipo de atestado, incluindo PID".[1]

O OpenID4VP descreve estas credenciais como "codificadas em CBOR e protegidas com COSE_Sign1" e atribui-lhes o identificador de formato mso_mdoc. Uma consulta indica o tipo de documento através de doctype_value.[4]

Nota

Está em preparação uma norma geral para a apresentação de documentos móveis, a ISO/IEC 23220-4. O ARF afirma que "ainda não está concluída" e continua a remeter para a ISO/IEC 18013-5.[1]

Como funciona a divulgação seletiva em cada formato

A divulgação seletiva permite ao utilizador partilhar alguns atributos e ocultar os restantes. O verificador continua a validar a assinatura do emissor. O eIDAS 2 exige que as carteiras tornem isto possível.[6] O ARF chama ao mecanismo do SD-JWT "hashes com salt" e afirma que "é conceptualmente idêntico ao mecanismo utilizado para o mesmo fim na [ISO/IEC 18013-5]".[1]

JSON

SD-JWT VC

  • O emissor assina um JWT que contém digests e não valores
  • Cada declaração oculta segue como uma divulgação separada
  • A carteira envia apenas as divulgações aprovadas

OpenID4VP 1.0, Apêndice B.3

CBOR

mdoc (ISO/IEC 18013-5)

  • O emissor assina hashes com salt dos elementos de dados
  • Os elementos de dados ficam em namespaces
  • A carteira devolve apenas os elementos aprovados

ARF v3.0.0, secções 5.4.2 e 5.4.3

Um mecanismo, duas codificações.[1][4]

No exemplo acima, o array _sd contém digests SHA-256. Cada divulgação é um array com um valor aleatório, o nome da declaração e o valor da declaração. Para o nome próprio é ["2GLC42sKQveCfGfryNRN9w", "given_name", "John"], e o seu hash é o primeiro digest da lista. O verificador calcula o hash de cada divulgação que recebe e procura o digest no payload assinado.[4]

As declarações são endereçadas de forma diferente. Numa credencial JSON, um caminho de declaração é uma lista de chaves, como ["address", "street_address"]. Num mdoc, o caminho "contém dois elementos do tipo string": o namespace e o identificador do elemento de dados, por exemplo ["org.iso.18013.5.1", "first_name"].[4]

Atenção

A tabela de atributos do PID não tem nenhum atributo "maior de 18". Os obrigatórios são o apelido, o nome próprio, a data de nascimento, o local de nascimento e a nacionalidade.[3] A divulgação seletiva oculta atributos. Não transforma uma data de nascimento num sim ou não.

Key binding e device engagement

A vinculação ao dispositivo associa uma credencial a chaves guardadas na carteira do utilizador, para que não possa ser clonada. O verificador confirma-a pedindo à carteira que assine dados aleatórios novos com a chave privada correspondente à chave pública contida na credencial.[1] Os nomes diferem: "Na [ISO/IEC 18013-5] chama-se 'mdoc authentication'. No [SD-JWT VC] chama-se 'key binding'."[1]

QuestãoSD-JWT VCmdoc (ISO/IEC 18013-5)
Nome da provaKey bindingmdoc authentication
Exigida pelo formatoOpcional na especificaçãoObrigatória na norma
Onde fica a chave do titularA declaração cnfDentro do mdoc assinado pelo emissor
O que a carteira devolve via OpenID4VPO SD-JWT com um Key Binding JWTUm DeviceResponse com uma assinatura ou MAC sobre a transcrição da sessão
O que a liga ao seu pedidononce e aud no Key Binding JWTO handover OpenID4VP dentro da transcrição da sessão

A vinculação ao dispositivo é obrigatória para os PID em ambos os formatos.[1][4]

Para SD-JWT VC, a regra no OpenID4VP é rigorosa. Quando require_cryptographic_holder_binding é true, o valor predefinido, a carteira "TEM DE devolver um SD-JWT" com um Key Binding JWT. A claim nonce tem de ser igual ao nonce do seu pedido, e aud tem de ser igual ao seu Client Identifier, exceto através da Digital Credentials API, em que tem de ser igual à sua origem precedida de origin:.[4]

O device engagement pertence apenas ao mdoc. Num fluxo de proximidade, o utilizador mostra um código QR ou apresenta uma etiqueta NFC. Esta contém o que o leitor precisa para abrir uma ligação NFC, Bluetooth Low Energy ou Wi-Fi Aware e estabelecer sobre ela um canal autenticado e cifrado, sem ligação à internet entre os dois.[1]

Utilizador Carteira O seu leitor
1Abre a carteira
2Mostra QR ou etiqueta NFC
3Liga-se, canal seguro
4Pedido de apresentação

A carteira autentica o leitor

5Pede aprovação
6Aprova
7Elementos de dados selecionados

Uma apresentação de proximidade com mdoc (ISO/IEC 18013-5), simplificada.[1]

O que o utilizador vê:

EUDI Wallet

Mostre a sua identificação

Mostrar código QR

1O utilizador abre a carteira e inicia uma apresentação.

EUDI Wallet

Deixe o leitor fazer a leitura

Ou aproxime do leitor.

2Um código QR ou um toque NFC estabelece o canal.

EUDI Wallet

Escolha o que partilhar

  • ApelidoPartilhado
  • Data de nascimentoPartilhado
  • Local de nascimentoNão partilhado

Partilhar

3A carteira indica o nome do leitor e o utilizador aprova.

EUDI Wallet

Partilhado

4Só os atributos aprovados saem do telemóvel.[1]

Protocolos de apresentação: OpenID4VP, ISO/IEC 18013-7 e proximidade

A ARF enumera o que uma carteira suporta: ISO/IEC 18013-5 em proximidade e OpenID4VP ou ISO/IEC 18013-7 à distância.[1]

ProtocoloOndeSD-JWT VCmdoc (ISO/IEC 18013-5)
ISO/IEC 18013-5Proximidade: QR ou NFC e, depois, NFC, Bluetooth Low Energy ou Wi-Fi AwareNãoSim
OpenID4VP com HAIPRemoto: redirecionamentos e esquemas de URI personalizados, ou a Digital Credentials APISimSim
ISO/IEC 18013-7Remoto: Anexo C sobre a Digital Credentials API; o esquema de URI personalizado do Anexo A é opcional para as carteirasNãoSim

Que protocolo transporta que formato, segundo a ARF.[1]

Os atestados SD-JWT VC "não podem ser utilizados em apresentações de proximidade". A ISO/IEC 18013-7 "só pode ser utilizada para pedir e apresentar atestados em formato conforme com a [ISO/IEC 18013-5]". O OpenID4VP "é adequado apenas para fluxos de transações de apresentação remota" e transporta ambos os formatos.[1] O OpenID4VP 1.0 passou a especificação final em 10 de julho de 2025.[5]

Vídeo pendente: flow-eudi-openid4vp

Uma apresentação remota a partir de uma carteira com OpenID4VP, do início ao fim.

A ARF não recomenda esquemas de URI personalizados entre dispositivos, porque esses fluxos "são vulneráveis a ataques de phishing e de retransmissão", e indica a Digital Credentials API como alternativa.[1] Essa API ainda é um rascunho do W3C, e o Chrome 141 ativa-a por predefinição.[9][10] A ISO indica a especificação técnica de 2024 da 18013-7 como retirada e substituída, com uma terceira edição em desenvolvimento. Por isso, verifique que edição o seu código segue.[7][8] Os detalhes do pedido estão no guia do verificador OpenID4VP.

O que o Regulamento de Execução (UE) 2026/1731 exige para o PID

A primeira regra sobre os formatos do PID, o Regulamento de Execução (UE) 2024/2977, determinava que o PID "deve ser emitido em dois formatos": ISO/IEC 18013-5:2021 e o Verifiable Credentials Data Model 1.1.[2][3] O ato modificativo de julho de 2026 substituiu essa frase. O PID passa agora a "ser emitido em conformidade com as normas estabelecidas no anexo II do Regulamento de Execução (UE) 2024/2979, pontos 5 (formato SD-JWT VC) e 6 (formato ISO/IEC-mdoc)".[2]

  1. 4 de dezembro de 2024Primeira regra2024/2977: 18013-5 e VCDM 1.1.
  2. 22 de julho de 2026Alteração2026/1731: SD-JWT VC e mdoc.
  3. 23 de julho de 2026ARF v3.0.0Alinhada com os atos modificativos.
  4. 24 de dezembro de 2026Prazo das carteirasUma carteira por Estado-Membro.
  5. 11 de agosto de 2028RetratoO requisito do retrato aplica-se, salvo se o utilizador optar expressamente por não o incluir, quando aplicável.

Como evoluiu a legislação sobre os formatos de PID.[1][2][3][6]

O mesmo ato estabelece dois perfis de apresentação no seu anexo ao Regulamento de Execução (UE) 2024/2982: um "perfil ISO/IEC-mdoc" e um "perfil OpenID4VC-HAIP".[2]

  • Envie o seu certificado de registo: um elemento de verifier_info "deve incluir o certificado de registo".[2]
  • Utilize o seu certificado de acesso como certificado folha com o Client Identifier Prefix x509_hash.[2]
  • Siga o "Anexo C da ISO/IEC 18013-7:2025" para mdoc através da Digital Credentials API.[2]

O registo é abordado no guia para partes utilizadoras da carteira europeia de identidade digital (EUDI Wallet), e o calendário em Prazos da EUDI Wallet para 2026 e 2027.

SD-JWT VC vs mdoc (ISO/IEC 18013-5): tabela comparativa

CaracterísticaSD-JWT VCmdoc (ISO/IEC 18013-5)
CodificaçãoJSON Web TokenCBOR, binário
Divulgação seletivaHashes com saltHashes com salt
Principal caso de utilização no ARFRemoto, por exemplo identificação remotaProximidade, por exemplo uma carta de condução móvel
Obrigação da carteiraObrigatórioObrigatório
PID emitido neste formatoSimSim
ProximidadeNãoSim, ISO/IEC 18013-5
RemotoOpenID4VP com HAIPOpenID4VP com HAIP, ou ISO/IEC 18013-7
Vinculação ao dispositivoOpcional no formato, obrigatória para PIDObrigatória na norma
Identificador de formato OpenID4VPdc+sd-jwtmso_mdoc
Caminho dos atributosChaves JSONNamespace, seguido do identificador do elemento de dados

Com base no ARF, exceto a linha do PID (Regulamento de Execução 2026/1731) e as duas últimas linhas (OpenID4VP 1.0).[1][2][4]

As cartas de condução móveis nos Estados Unidos assentam na ISO/IEC 18013-5 para proximidade.[7][8] A solução europeia de verificação de idade indica a prova de conhecimento zero como mecanismo de apresentação obrigatório, "com apresentação mDoc simples como alternativa".[13] A EVO Wallet da Moldávia documenta o OpenID4VP 1.0 com um mdoc ISO/IEC 18013-5, com perfil segundo o HAIP 1.0.[11]

Que formato uma parte utilizadora tem de suportar

As unidades de carteira tratam os dois formatos, e o PID é emitido em ambos.[1][2] Os textos lidos para este guia não contêm nenhuma disposição que obrigue uma parte utilizadora a pedir os dois. A leitura prática: um verificador remoto pode pedir qualquer um deles, e um leitor sem ligação à internet precisa de mdoc, o único formato que funciona em proximidade.[1]

1Liste onde encontra o utilizador

Website, aplicação, balcão ou portão.

Algum deles é um fluxo de proximidade

Sim

Implemente mdoc (ISO/IEC 18013-5)

Também funciona remotamente.

Não

Comece com SD-JWT VC

JSON sobre OpenID4VP com HAIP.

2Mantenha a camada de consulta neutra quanto ao formato

Uma única consulta DCQL pode indicar os dois formatos.

3Verifique o emissor, a revogação e a vinculação

As mesmas verificações aplicam-se a ambos.

A Digital Credentials Query Language (DCQL) do OpenID4VP permite que um único pedido inclua uma consulta dc+sd-jwt e uma consulta mso_mdoc lado a lado; a especificação apresenta um pedido deste tipo.[4] Segundo o ARF, a parte utilizadora verifica a assinatura do emissor face a uma âncora de confiança de uma Lista de Confiança ou de uma Lista de Entidades de Confiança, verifica a revogação através de uma lista de estado ou de uma lista de revogação, e verifica a vinculação ao dispositivo.[1]

Ao abrigo do eIDAS 2, Regulamento (UE) 2024/1183, cada Estado-Membro tem de disponibilizar pelo menos uma carteira até 24 de dezembro de 2026, e as partes utilizadoras privadas obrigadas a utilizar autenticação forte do utilizador têm de a aceitar, a pedido do utilizador, até 24 de dezembro de 2027, ficando isentas as micro e pequenas empresas.[6] A situação de cada país consta do monitor de lançamento da EUDI Wallet.

Bibliotecas e ferramentas de teste

As fontes deste guia não indicam bibliotecas de código aberto, por isso esta secção não indica nenhuma. Indicam, sim, onde testar e o que verificar em qualquer biblioteca que escolha.

  • Execute os testes de conformidade em conformance.eudi.dev, referidos nas notas de versão do ARF v3.0.0.[1]
  • Leia a documentação da implementação de referência em docs.eudi.dev.[1]
  • Estude um verificador publicado: o Banco Nacional da Moldávia disponibilizou às instituições financeiras um verificador de demonstração com o código-fonte.[12]
  • Confirme que a biblioteca segue o HAIP, e não apenas as especificações de base.[1]
  • Confirme qual a edição da ISO/IEC 18013-7 que a biblioteca implementa.[2][8]

Como a Didit ajuda na verificação com a carteira europeia de identidade digital (EUDI Wallet)

A aceitação da EUDI Wallet chega em breve à Didit: está no nosso roteiro, alinhada com o calendário da EUDI Wallet, no mesmo fluxo de trabalho que já utiliza hoje. Já pode verificar pessoas à distância.

A documentação das carteiras mostra como as eID são ativadas por país.

A Didit fornece

  • Autenticação com eID nacionais e a via documental num único fluxo de trabalho
  • A prova de cada verificação

Fica consigo

  • O seu registo como parte utilizadora da carteira
  • A escolha dos formatos e dos atributos que solicita
  • A decisão de integração do cliente e as suas políticas

Planeie connosco os formatos de carteira

Indique-nos os seus países e onde encontra os seus utilizadores, e comece hoje com eID nacionais e documentos.

Fale connoscoComece grátisLeia a documentação

Pontos-chave

  • As carteiras suportam SD-JWT VC e mdoc (ISO/IEC 18013-5), e o PID é emitido em ambos os formatos.
  • Ambos usam hashes com salt para a divulgação seletiva. Diferem na codificação: JSON face a CBOR.
  • O SD-JWT VC funciona apenas à distância. O mdoc funciona em proximidade e à distância.
  • O OpenID4VP com HAIP transporta ambos os formatos, pelo que um único verificador pode pedir qualquer um deles.

Perguntas frequentes

O que é um SD-JWT VC?

Uma credencial verificável empacotada como um Selectively Disclosable JSON Web Token. O emissor assina resumos (digests) das declarações e a carteira revela apenas as declarações que o utilizador aprova.[1]

O que é um mdoc nos termos da ISO/IEC 18013-5?

Um documento móvel no formato CBOR, definido inicialmente para as cartas de condução móveis. O resto da norma é genérico e pode transportar outros atestados, incluindo PID.[1]

Qual é a diferença entre SD-JWT VC e mdoc?

Codificação e alcance. O SD-JWT VC é JSON e funciona apenas à distância; o mdoc é CBOR e funciona também em proximidade. Ambos usam hashes com salt para a divulgação seletiva.[1]

Que formatos utiliza o PID da carteira europeia de identidade digital (EUDI Wallet)?

Ambos. O Regulamento de Execução (UE) 2026/1731 determina que o PID é emitido segundo o formato SD-JWT VC e o formato ISO/IEC-mdoc.[2]

Uma parte utilizadora tem de suportar ambos os formatos?

Os textos consultados para este guia obrigam as carteiras a suportar ambos e não dizem que uma parte utilizadora tem de pedir ambos. Um verificador remoto pode pedir qualquer um deles. Um leitor de proximidade precisa de mdoc.[1][2]

Como funciona a divulgação seletiva no SD-JWT VC?

O token assinado contém resumos em vez dos valores das declarações. Cada declaração é transmitida como uma divulgação com um valor aleatório, o nome e o valor. O verificador calcula o hash e procura o resumo.[4]

O que é a key binding e é o mesmo que a autenticação mdoc?

Ambos são nomes para a vinculação ao dispositivo, a prova de que a credencial pertence a chaves que estão na carteira do utilizador. É obrigatória para os PID.[1]

O OpenID4VP funciona com mdoc?

Sim. O OpenID4VP transporta ambos os formatos, com o identificador mso_mdoc para o mdoc e dc+sd-jwt para o SD-JWT VC. A ISO/IEC 18013-7 é a outra opção remota e transporta apenas mdoc.[1][4]

Onde posso testar um verificador para ambos os formatos?

Utilize os testes de conformidade em conformance.eudi.dev e a documentação em docs.eudi.dev. O Banco Nacional da Moldávia também publicou um verificador de demonstração com código-fonte.[1][12]

Fontes

  1. Architecture and Reference Framework v3.0.0, eu-digital-identity-wallet no GitHub, versão de 23 de julho de 2026.
  2. Regulamento de Execução (UE) 2026/1731 da Comissão, EUR-Lex, Jornal Oficial de 22 de julho de 2026.
  3. Regulamento de Execução (UE) 2024/2977 da Comissão relativo aos dados de identificação pessoal, EUR-Lex, Jornal Oficial de 4 de dezembro de 2024.
  4. OpenID for Verifiable Presentations 1.0, OpenID Foundation, especificação final.
  5. OpenID for Verifiable Presentations 1.0 Final Specification Approved, OpenID Foundation, 10 de julho de 2025.
  6. Regulamento (UE) 2024/1183 (eIDAS 2), EUR-Lex, Jornal Oficial de 30 de abril de 2024.
  7. Série ISO/IEC 18013, carta de condução móvel, página da norma ISO.
  8. ISO/IEC 18013-7, página da norma ISO.
  9. Digital Credentials, projeto do W3C.
  10. Digital Credentials API shipped, Chrome for Developers.
  11. Guia para programadores da EVO Wallet, Governo da Moldávia, egov4dev.
  12. Verificador de demonstração do BNM, Governo da Moldávia, egov4dev.
  13. Solução da UE de verificação da idade, portal técnico, ageverification.dev.

SD-JWT VC e mdoc (ISO/IEC 18013-5) são duas codificações da mesma promessa: atributos assinados que o utilizador controla. Veja como a Didit aborda a aceitação de carteiras na página da solução EUDI Wallet e todos os esquemas nacionais em esquemas de eID por país.

Verifique pessoas à distância enquanto as carteiras são implementadas

Utilize já as eID nacionais e a via documental e fale connosco sobre a EUDI Wallet.

Começar grátisFale connosco

Infraestrutura para identidade e fraude.

Uma API para KYC, KYB, Monitorização de Transações e Rastreio de Carteiras. Integre em 5 minutos.

Peça a uma IA para resumir esta página