Code-barres AAMVA permis de conduire
Le code-barres 2D au dos de chaque permis de conduire américain est un symbole PDF417 encodant les champs d'identité du titulaire selon l'AAMVA Card Design Standard. Initialement spécifié en 2000, actuellement à la version 10 (2020). C'est la référence pour le développement de parsers, les tests de kiosques et les workflows d'émetteurs autorisés.
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.
Ce que c'est
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.
Codes d'éléments
Chaque élément de données est un code de 3 caractères suivi de sa valeur, avec un séparateur de nouvelle ligne. Les plus courants :
| Code | Signification | Format |
|---|---|---|
DAA | Nom du client (hérité, pré-v8) | LAST,FIRST,MIDDLE |
DAC | Prénom | Text |
DCS | Nom de famille | Text |
DAD | Deuxième prénom | Text |
DBB | Date de naissance | MMDDYYYY |
DBA | Expiration du permis | MMDDYYYY |
DBD | Date d'émission du permis | MMDDYYYY |
DBC | Sexe (1=masculin, 2=féminin, 9=N/A) | 1 digit |
DAQ | Numéro de permis | Alphanumeric |
DAG | Ligne 1 d'adresse | Text |
DAI | Ville | Text |
DAJ | État (2 caractères) | Alpha |
DAK | Code postal | 5 or 9 digits |
DAU | Taille | e.g. 070 in |
DAW | Poids (livres) | e.g. 180 |
DAY | Couleur des yeux | 3 letters: BLU / BRO / GRN / GRY / HZL / BLK / MAR / PNK / DIC / UNK |
DAZ | Couleur des cheveux | 3 letters: BAL / BLK / BLN / BRO / GRY / RED / SDY / WHI / UNK |
DCA | Classe de véhicule | A / B / C / D / M / Others |
DCB | Restrictions | Alphanumeric |
DCD | Autorisations | Alphanumeric |
DCF | Discriminateur de document | Jurisdiction-specific |
DDE | Troncature du nom de famille | T / N / U |
Numéro d'identification d'émetteur (IIN)
Chaque État américain a un IIN de 6 chiffres assigné par AAMVA. Exemples :
| État | IIN | État | IIN |
|---|---|---|---|
| California | 636014 | New York | 636001 |
| Texas | 636015 | Florida | 636010 |
| Illinois | 636035 | Pennsylvania | 636025 |
| Ohio | 636023 | Georgia | 636055 |
| North Carolina | 636004 | Michigan | 636032 |
Le tableau complet des IIN de juridictions (50 États + DC + provinces canadiennes + territoires américains) se trouve dans le menu déroulant des juridictions du générateur, faites défiler pour trouver n'importe quel émetteur.
Différences entre versions
| Version | Publiée | Changements clés |
|---|---|---|
| v8 | 2013 | Ajouté l'en-tête de conformité (@\x1e\r). Référence pour les parsers modernes. |
| v9 | 2016 | Clarifié le format du discriminateur de document DCF. Ajouté les indicateurs de troncature DDE/DDF/DDG. |
| v10 | 2020 | Ajouté des éléments d'image de document ; assoupli les unités de hauteur. La plupart des DMV modernes émettent des en-têtes v10. |
Ce que les vraies licences ont qu'un code-barres AAMVA imprimé n'a PAS
Les kiosques de vérification d'âge qui ne s'appuient que sur l'analyse PDF417 sont régulièrement piratés. Les workflows de production doivent combiner l'analyse du code-barres avec au moins une vérification de caractéristique physique.
- Hologrammes, Sceau d'État, motifs de laminage, dispositifs à variation optique.
- Caractéristiques UV/IR, Encres visibles uniquement sous UV 365 nm ou éclairage infrarouge. Présentes sur chaque permis moderne.
- Micro-impression, Texte de 0,2 mm intégré dans la carte qui résiste à la copie reprographique.
- Caractéristiques tactiles, Surfaces en relief sur le nom et la date de naissance, gravées au laser sur les cartes en polycarbonate.
- Attestation cryptographique (Mobile DL), ISO/IEC 18013-5 mDL est la couche de signature numérique émergente qui prouve que la carte a été émise par la juridiction.
Les kiosques de vérification d'âge qui ne s'appuient que sur l'analyse PDF417 sont régulièrement piratés. Les workflows de production doivent combiner l'analyse du code-barres avec au moins une vérification de caractéristique physique.
Vecteurs de test canoniques
Utilisez des données évidemment synthétiques lors de la génération de payloads de test. JOHN TEST, JANE SAMPLE, date de naissance dans le futur ou avant 1900, n'importe quoi qui ne peut pas être confondu avec une vraie personne.
| Cas | Entrées | Sous-chaîne d'en-tête attendue |
|---|---|---|
| California v10, synthetic | jurisdiction=CA | ANSI 636014100002DL |
| Texas v10, synthetic | jurisdiction=TX | ANSI 636015100002DL |
| New York v9, synthetic | jurisdiction=NY | ANSI 636001090002DL |
Pièges courants
- En-tête de conformité manquant. Les parsers qui commencent à lire depuis
ANSIen omettant le préfixe@\x1e\rrejetteront votre payload car l'octet 0 n'est pas@. - Mauvais format de date. AAMVA utilise
MMDDYYYY, pasYYYY-MM-DD. Une expiration le 2030-03-01 s'encode en03012030. - Unités de hauteur. v10 accepte pouces (
070 in) et centimètres (178 cm). Les versions antérieures n'acceptent que les pouces. - Indicateurs de troncature du nom.
DDE/DDF/DDGdoivent êtreT(tronqué),N(non tronqué) ouU(inconnu). Toute autre valeur plante certains parsers. - Codes d'éléments spécifiques à la juridiction. Les États ajoutent des codes préfixés
ZA-ZZ(California aZCA, Texas aZTX, etc.). Les codes inconnus doivent être ignorés par les parsers, pas rejetés. - Non-concordance d'IIN. Un permis californien avec l'IIN 636015 (Texas) se parse avec succès mais échoue tout contrôle de validité post-parse. Les vrais DMV vérifient l'IIN par rapport à l'État intégré dans le MRZ.
Compatibilité des scanners
| Lecteur | Support | Notes |
|---|---|---|
| Caméra iOS (iOS 17+) | Reconnaissant les permis | L'app Wallet reconnaît les payloads AAMVA et peut proposer de les ajouter comme carte d'identité. |
| Caméra Android | Non natif | Traite comme PDF417 brut. L'analyse reconnaissant les permis nécessite une app de vérification d'identité. |
| Google Lens | PDF417 brut uniquement | Affiche le texte décodé sans analyse AAMVA. |
| SDK commercial de vérification d'ID (IDEMIA, Jumio, Onfido) | Analyse complète | Standard industriel pour les kiosques de vérification d'âge et le KYC en ligne. |
| Scanner PDF417 industriel (Zebra, Honeywell) | Analyse complète | La plupart des firmwares modernes incluent l'analyse AAMVA d'origine. |
Voir aussi
- /drivers-license-aamva-barcode-generator/, le générateur avec la liste de conformité.
- /standards/, retour à l'index des standards.
- AAMVA.org, Card Design Standard, spec de référence.