MRZ: o que os dígitos verificadores do padrão ICAO 9303 provam
A faixa de OCR-B do passaporte e do verso da CIN carrega uma aritmética de conferência com pesos 7, 3 e 1. O que o dígito composto denuncia, o que ele deixa passar e por que MRZ que não fecha não é recusa.
A faixa de duas ou três linhas em letras monoespaçadas no rodapé da página de dados do passaporte tem nome técnico: zona de leitura mecânica, ou MRZ, do inglês machine readable zone. Quase todo fluxo de verificação lê essa faixa e quase nenhum explica o que a leitura prova. Daí saem dois erros de produto: tratar MRZ que fecha como prova de autenticidade, e MRZ que não fecha como prova de fraude.
A norma é o Doc 9303 da Organização Internacional da Aviação Civil, a OACI, oitava edição de 2021. A Parte 3 traz as especificações comuns a todos os documentos; as Partes 4, 5 e 6 descrevem os formatos TD3, TD1 e TD2; a Parte 1 registra o endosso dessas especificações pela ISO como norma ISO 7501. No Brasil o assunto saiu do passaporte: o artigo 11 do Decreto 10.977/2022 exige que a Carteira de Identidade traga "a zona de leitura mecânica (machine readable zone), de acordo com o padrão estabelecido pela OACI".
A conta: pesos 7, 3 e 1, módulo 10
A seção 4.9 da Parte 3 define quatro passos: multiplicar cada caractere, da esquerda para a direita, pelo peso da posição numa repetição contínua de 7, 3, 1; somar os produtos; dividir por 10; usar o resto como dígito. O caractere de preenchimento vale zero e, quando o campo tem letras, A a Z valem de 10 a 35.
Os exemplos canônicos estão no Apêndice A. A data 27 de julho de 1952, escrita 520727 no formato ano, mês e dia da seção 4.8, dá os produtos 35, 6, 0, 49, 6 e 7: soma 103, resto 3, campo 5207273. O mesmo cálculo sobre o número AB2134 num campo fixo de nove posições, com A valendo 10, B valendo 11 e três preenchimentos no fim, soma 125 e dá dígito 5. Cada campo tem o seu: número do documento, nascimento e validade.
O dígito composto, que denuncia o campo trocado
Um dígito por campo pega erro de leitura, não adulteração: quem altera um campo recalcula o dígito dele, porque a conta é pública. É para isso que existe o composto.
No TD3, a Parte 4 põe o composto na posição 44 da linha inferior, sobre as posições 1 a 10, 14 a 20 e 22 a 43, com nota expressa de que nacionalidade e sexo ficam de fora. No TD2 ele fica na posição 36; no TD1, na posição 30 da linha do meio, atravessando duas linhas.
O terceiro exemplo do Apêndice A usa a linha HA672242<6YTO5802254M9601086, seguida de catorze preenchimentos e do dígito 0: soma 448, resto 8. Troque nela a validade 960108, de dígito 6, por 260108 e recalcule apenas o dígito daquele campo, que passa a 7. Os dois campos ficam coerentes entre si e mesmo assim o composto cai de 8 para 2. É esse desencontro que denuncia a alteração.
O limite da conta é honesto: módulo 10 não é assinatura. Na mesma linha, trocar a validade por 990108, com o dígito recalculado para 5, mantém o composto em 8. Há só dez valores possíveis, então parte das alterações fecha por coincidência.
Três formatos, três lugares onde a foto precisa acontecer
O TD1 mede 85,60 mm por 53,98 mm e tem três linhas de 30 caracteres, e a Parte 5 coloca a MRZ no verso do cartão: fluxo que fotografa só a frente nunca a vê. A norma reconhece o incômodo e prevê o CAN, número de seis dígitos na frente cujo propósito declarado é dar acesso ao chip sem virar o cartão. O TD2 mede 105 mm por 74 mm, com duas linhas de 36, e o TD3 mede 125 mm por 88 mm, com duas linhas de 44 na página de dados.
As restrições de captura vêm da Parte 3: fonte OCR-B, passo fixo de 2,54 mm, alfabeto restrito a 0 a 9, A a Z e o preenchimento, sem diacrítico, e zona efetiva de leitura de 17,0 mm por 118,0 mm. A linha inteira precisa entrar no enquadramento, em foco e sem inclinação, porque recorte que come dois caracteres do fim não perde dois caracteres, invalida o composto. A seção 4.5 ainda permite elementos de segurança impressos sobre a MRZ e exige legibilidade no infravermelho próximo, a banda B900 da ISO 1831, que leitor de mesa enxerga e câmera de celular, não.
O que o dígito verificador não separa
A tabela de valores da própria norma permite deduzir onde a conferência é cega. A troca de um caractere só escapa quando os dois valores diferem por múltiplo de 10, porque os pesos 7, 3 e 1 são todos primos com 10. Como as letras valem de 10 a 35, formam-se grupos indistinguíveis: 0, A, K e U; 1, B, L e V; e assim por diante até 8, I e S. O preenchimento vale zero, então a conta não o separa do algarismo 0.
Nos erros que o reconhecimento óptico comete de verdade: 8 lido como B é sempre pego, porque 8 e 11 diferem por 3, e 0 lido como O também. Mas 8 lido como S ou como I passa batido. Dígito que fecha reduz erro de leitura, não dispensa conferir os campos contra a base cadastral.
Nome e país: onde a comparação literal reprova documento bom
O campo de nome do TD3 tem 39 caracteres na linha superior, e a seção 4.2.3 da Parte 4 manda truncar o que não couber. O sinal de truncamento é sutil: o último caractere ser alfabético em vez de preenchimento, e a norma manda tratar como truncado todo nome que chega à última posição. Igualdade estrita entre nome da MRZ e nome do cadastro reprova nome comprido legítimo, coisa nada rara em nomes brasileiros.
A transliteração é o segundo tropeço. A seção 6 da Parte 3 traz tabelas recomendadas e ambíguas por desenho: Ä pode virar AE ou A, Ü pode virar UE, UXX ou U, Ñ pode virar N ou NXX, Ø vira OE e o duplo s alemão vira SS. Duas emissões corretas do mesmo nome divergem na MRZ.
O terceiro é a lista de países. A seção 5 manda usar a ISO 3166-1 e em seguida lista o que não está nela: D para a Alemanha; GBD, GBN, GBO, GBP e GBS para categorias britânicas; XXA para apátrida e XXB para refugiado; XXX para nacionalidade não especificada; XOM para a Ordem de Malta. Validar contra lista fechada de ISO 3166-1 reprova documento válido, e a mesma seção reserva UTO, de Utopia, para espécimes. Na UNIFOKAL, a regra é ler a lista da norma inteira, inclusive as partes que parecem folclore, porque é nelas que mora a reprovação injusta.
O limite honesto: consistência não é autenticidade
A MRZ prova que o que está impresso é internamente consistente. Não prova documento autêntico, não prova identidade de quem apresenta, não lê o chip e não avalia elemento de segurança físico.
Vale registrar quanto esses dígitos pesam para o chip. Na Parte 11, a informação de MRZ usada para abrir o circuito por controle de acesso básico é a concatenação de número do documento, nascimento e validade, incluindo os respectivos dígitos verificadores, e os 16 bytes mais significativos do resumo SHA-1 disso viram a semente das chaves. No PACE, a senha é o SHA-1 dessas mesmas três informações. Dígito lido errado não gera aviso, gera chip que não abre.
Mesmo com o chip aberto, a Parte 11 é explícita: a Autenticação Passiva prova que o conteúdo do objeto de segurança e da estrutura lógica de dados é autêntico e não foi alterado, e a mesma tabela diz que ela não impede cópia exata nem substituição do circuito.
Daí sai a regra de decisão. A Parte 1 traz uma nota que serve de princípio de produto: documento eletrônico que falha na leitura continua sendo documento válido, a falha pode ser ataque, mas pode não envolver nenhuma intenção fraudulenta. Em fluxo digital: MRZ que não fecha é motivo de nova captura ou de revisão humana, nunca de recusa automática. Quase sempre a causa é reflexo, corte ou foco, e quando é fraude quem denuncia não é o dígito do campo, é o composto.
Fontes citadas
- ICAO Doc 9303, Machine Readable Travel Documents, oitava edição, 2021: Parte 1 (3.4 e a nota sobre falha de leitura), Parte 3 (4.3 a 4.9, 5, 6 e Apêndice A), Parte 4 (4.2.2 a 4.2.4), Parte 5 (3.1.2, 3.2.3 e 4.2.4), Parte 6 (4.2.4) e Parte 11 (3, 4.3 e 9.7.3)
- Normas ISO citadas pelo próprio Doc 9303: ISO 7501, ISO 1831 e ISO 3166-1
- Decreto 10.977/2022, artigo 11, no portal do Senado Federal: legis.senado.leg.br