Codice a barre patente AAMVA
Il codice a barre 2D sul retro di ogni patente di guida statunitense è un simbolo PDF417 che codifica i campi di identità del titolare secondo l'AAMVA Card Design Standard. Originariamente specificato nel 2000, attualmente alla versione 10 (2020). Questa è la referenza per lo sviluppo di parser, test di chioschi e flussi di emittenti autorizzati.
Barcode symbology: PDF417 (ISO/IEC 15438).
Prior versions: v8 (2013), v9 (2016), v10 (2020). Most states are on v8 or higher; v10 adoption varies by state.
Cos'è
An AAMVA barcode is a PDF417 symbol whose decoded payload begins with a fixed header, then one "subfile" per data domain. The core subfile is DL (driver license); commercial licenses add ZA..ZZ jurisdiction-specific subfiles.
Header structure:
@
ANSI <IIN><version><jurisdiction version><subfile count>DL<subfile offset><subfile length>The first four bytes are compliance indicator (@), data element separator (\x1e), record separator (\x0d), and the literal ANSI . Parsers that miss these bytes reject the code.
Codici degli elementi
Ogni elemento di dati è un codice di 3 caratteri seguito dal suo valore, con separatore di nuova riga. I più comuni:
| Codice | Significato | Formato |
|---|---|---|
DAA | Nome del cliente (legacy, pre-v8) | LAST,FIRST,MIDDLE |
DAC | Nome | Text |
DCS | Cognome | Text |
DAD | Secondo nome | Text |
DBB | Data di nascita | MMDDYYYY |
DBA | Scadenza patente | MMDDYYYY |
DBD | Data di emissione patente | MMDDYYYY |
DBC | Sesso (1=maschio, 2=femmina, 9=N/A) | 1 digit |
DAQ | Numero patente | Alphanumeric |
DAG | Indirizzo riga 1 | Text |
DAI | Città | Text |
DAJ | Stato (2 char) | Alpha |
DAK | CAP | 5 or 9 digits |
DAU | Altezza | e.g. 070 in |
DAW | Peso (libbre) | e.g. 180 |
DAY | Colore occhi | 3 letters: BLU / BRO / GRN / GRY / HZL / BLK / MAR / PNK / DIC / UNK |
DAZ | Colore capelli | 3 letters: BAL / BLK / BLN / BRO / GRY / RED / SDY / WHI / UNK |
DCA | Classe veicolo | A / B / C / D / M / Others |
DCB | Restrizioni | Alphanumeric |
DCD | Autorizzazioni | Alphanumeric |
DCF | Discriminatore documento | Jurisdiction-specific |
DDE | Troncamento cognome | T / N / U |
Numero di identificazione dell'emittente (IIN)
Ogni stato degli USA ha un IIN di 6 cifre assegnato da AAMVA. Esempi:
| Stato | IIN | Stato | IIN |
|---|---|---|---|
| California | 636014 | New York | 636001 |
| Texas | 636015 | Florida | 636010 |
| Illinois | 636035 | Pennsylvania | 636025 |
| Ohio | 636023 | Georgia | 636055 |
| North Carolina | 636004 | Michigan | 636032 |
La tabella completa degli IIN di giurisdizione (50 stati + DC + province canadesi + territori USA) si trova nel menu a tendina della giurisdizione del generatore, scorri per trovare qualsiasi emittente.
Differenze di versione
| Versione | Pubblicata | Cambiamenti principali |
|---|---|---|
| v8 | 2013 | Aggiunta l'intestazione di conformità (@\x1e\r). Linea di base per parser moderni. |
| v9 | 2016 | Chiarito il formato del discriminatore di documento DCF. Aggiunti indicatori di troncamento DDE/DDF/DDG. |
| v10 | 2020 | Aggiunti elementi immagine documento; allentate le unità di altezza. La maggior parte dei DMV moderni emette intestazioni v10. |
Cosa hanno le patenti vere che un codice a barre AAMVA stampato NON ha
I chioschi di verifica dell'età che si affidano solo all'analisi PDF417 vengono sistematicamente falsificati. I flussi di produzione devono combinare l'analisi del codice a barre con almeno una verifica di una caratteristica fisica.
- Ologrammi, Sigillo dello stato, pattern di laminazione, dispositivi otticamente variabili.
- Caratteristiche UV/IR, Inchiostri visibili solo sotto UV a 365 nm o illuminazione infrarossa. Presenti su ogni patente moderna.
- Microstampa, Testo da 0,2 mm incorporato nella tessera che resiste alla copia reprografica.
- Caratteristiche tattili, Superfici in rilievo su nome e data di nascita, incise laser su tessere in policarbonato.
- Attestazione crittografica (Mobile DL), ISO/IEC 18013-5 mDL è lo strato emergente di firma digitale che dimostra che la tessera è stata emessa dalla giurisdizione.
I chioschi di verifica dell'età che si affidano solo all'analisi PDF417 vengono sistematicamente falsificati. I flussi di produzione devono combinare l'analisi del codice a barre con almeno una verifica di una caratteristica fisica.
Vettori di test canonici
Usa dati ovviamente sintetici quando generi payload di test. JOHN TEST, JANE SAMPLE, data di nascita nel futuro o prima del 1900, qualsiasi cosa che non possa essere scambiata per una persona reale.
| Caso | Input | Sottostringa di intestazione attesa |
|---|---|---|
| California v10, synthetic | jurisdiction=CA | ANSI 636014100002DL |
| Texas v10, synthetic | jurisdiction=TX | ANSI 636015100002DL |
| New York v9, synthetic | jurisdiction=NY | ANSI 636001090002DL |
Insidie comuni
- Intestazione di conformità mancante. I parser che iniziano a leggere da
ANSIe saltano il prefisso@\x1e\rrifiuteranno il payload perché il byte 0 non è@. - Formato data errato. AAMVA usa
MMDDYYYY, nonYYYY-MM-DD. Una scadenza al 2030-03-01 è codificata come03012030. - Unità di altezza. v10 accetta sia pollici (
070 in) che centimetri (178 cm). Le versioni precedenti accettano solo pollici. - Indicatori di troncamento del nome.
DDE/DDF/DDGdevono essereT(troncato),N(non troncato) oU(sconosciuto). Qualsiasi altro valore manda in crash alcuni parser. - Codici di elementi specifici della giurisdizione. Gli stati aggiungono codici con prefisso
ZA-ZZ(California haZCA, Texas haZTX, ecc.). I codici sconosciuti devono essere saltati dai parser, non rifiutati. - Mancata corrispondenza IIN. Una patente californiana con IIN 636015 (Texas) viene analizzata correttamente ma fallisce qualsiasi verifica di validità post-analisi. I veri DMV verificano l'IIN rispetto allo stato incorporato nel MRZ.
Compatibilità scanner
| Lettore | Supporto | Note |
|---|---|---|
| Fotocamera iOS (iOS 17+) | Riconosce le patenti | L'app Wallet riconosce i payload AAMVA e può offrire di aggiungerli come carta d'identità. |
| Fotocamera Android | Non nativo | Tratta come PDF417 grezzo. L'analisi riconoscitrice di patenti richiede un'app di verifica dell'identità. |
| Google Lens | Solo PDF417 grezzo | Visualizza il testo decodificato senza analisi AAMVA. |
| SDK commerciale di verifica ID (IDEMIA, Jumio, Onfido) | Analisi completa | Standard del settore per chioschi di verifica dell'età e KYC online. |
| Scanner PDF417 industriale (Zebra, Honeywell) | Analisi completa | La maggior parte del firmware moderno include l'analisi AAMVA di serie. |
Vedi anche
- /drivers-license-aamva-barcode-generator/, il generatore con la checklist di conformità.
- /standards/, torna all'indice degli standard.
- AAMVA.org, Card Design Standard, specifica di riferimento.