Att läsa en PDF417-streckkod
Vad som faktiskt är kodat på baksidan av ett nordamerikanskt körkort, AAMVA-standarden bakom det och hur det kontrolleras mot framsidan.
Det här inlägget är ett arbetsutkast: fakta kommer från vår egen research, och formuleringarna kan fortfarande ändras i den redaktionella granskningen. Det är inte juridisk, ekonomisk eller regelefterlevnadsrådgivning.
Vänd på nästan vilket nordamerikanskt körkort eller provinsiellt ID-kort som helst så hittar du en tät, rektangulär streckkod på baksidan – rader av svarta och vita staplar tätt packade. Det är en PDF417-streckkod, och den är en av de mest användbara delarna av ett ID-dokument, eftersom den i maskinläsbar form upprepar det mesta av informationen som är tryckt på framsidan. Det här inlägget förklarar vad den faktiskt innehåller, standarden som definierar den och hur den används tillsammans med den tryckta sidan för att verifiera ett dokument.
Vad PDF417 egentligen är
PDF417 är ett staplat linjärt streckkodsformat – ”PDF” står för Portable Data File, och ”417” syftar på strukturen i varje kodad symbol (4 staplar och mellanrum, 17 enheter breda). Den rymmer betydligt mer data än en enkel endimensionell streckkod av det slag som finns på en matvara: namn, adresser, datum, dokumentnummer, fysiska kännetecken, allt i en enda skanning. Det är formatet som nordamerikanska körkort och ID-kort använder eftersom det packar en betydande mängd strukturerad text på en liten, utskrivbar yta som en vanlig skanner eller kamera kan avkoda utan särskild hårdvara.
AAMVA-standarden
Det specifika sättet som datan organiseras i streckkoden – vilka fält som förekommer, i vilken ordning och med vilka koder – definieras av AAMVA, American Association of Motor Vehicle Administrators. AAMVA-standarden gör att en streckkodsläsare kan avkoda ett körkort från Nova Scotia och ett från Kalifornien på samma sätt, trots att de två korten ser olika ut och trycks av olika provinsiella och delstatliga myndigheter. Varje utfärdare implementerar AAMVA-strukturen med egna jurisdiktionsspecifika detaljer, och därför måste pålitlig streckkodsläsning först identifiera utfärdaren och sedan tillämpa just den utfärdarens version av standarden.
En del av att avkoda en streckkod korrekt är att identifiera vem som utfärdade den. Varje AAMVA-kompatibel streckkod innehåller ett IIN – Issuer Identification Number – en kort numerisk kod som identifierar den specifika licensmyndighet som tog fram kortet. ShieldIDs dokumentläsning känner igen alla 13 kanadensiska provinser och territorier samt de allra flesta amerikanska delstater, territorier och DC utifrån streckkodens utfärdaridentifiering, med begynnande stöd även för vissa mexikanska delstater, så att streckkoden i sig talar om för systemet vilken jurisdiktions fältlayout som ska förväntas innan datan ens har lästs.
Vad som faktiskt kodas
En typisk AAMVA-streckkod på ett körkort kodar strukturerade fält som innehavarens fullständiga juridiska namn, födelsedatum, adress, dokument-/körkortsnummer, utfärdande- och utgångsdatum, kön, längd, ögonfärg samt körkortsklass eller restriktioner, beroende på utfärdare. Inget av detta är ett foto – streckkoden är textdata, inte en bild – vilket är precis varför den är användbar som en andra, oberoende källa för samma uppgifter som är tryckta på kortets framsida.
Därför är det viktigt att jämföra streckkoden med framsidan
Kortets tryckta framsida, PDF417-streckkoden på baksidan och – för pass – MRZ (maskinläsbar zon) längst ned på fotosidan är tre separata representationer av i stort sett samma information, framtagna genom olika tryck- och kodningsprocesser. ShieldID läser alla tre, kontrollsummerar och korsjämför resultaten fält för fält i stället för att lita på en enda källa. Om namnet i streckkoden inte stämmer med namnet på framsidan, eller om en kontrollsumma i MRZ inte validerar, flaggas det som en egen signal – en avvikelse per fält, inte tyst invävd i ett enda övergripande godkänt eller underkänt.
Det är också därför ett obekant eller icke-standardiserat dokument inte bara nekas rakt av. Om en streckkod är oläsbar men den tryckta framsidan och ett pass-MRZ (där det är tillämpligt) ändå stämmer, redovisar systemet vad det kunde verifiera och vad det inte kunde, fält för fält, i stället för att avvisa hela dokumentet för att en av tre källor inte fungerade. En hyresvärd, en långivare eller en compliance-ansvarig ser exakt vilken uppgift som har förtroende bakom sig och vilken som inte har det – ett mer användbart svar än ett enda ogenomskinligt ja eller nej.
Varför det spelar roll för bedrägerier
Att förfalska en streckkod som korrekt matchar en bedräglig kortframsida, i exakt AAMVA-layout för den uppgivna utfärdaren och med kontrollsummor som validerar, är ett betydligt svårare problem än att bara ändra ett tryckt namn eller foto. Att korsjämföra tre oberoende källor – tryck, streckkod och MRZ där det är tillämpligt – är ett av de effektivare och mindre glamorösa verktygen inom dokumentverifiering: det förlitar sig inte på att upptäcka en visuellt manipulerad bild, utan på att fånga de ställen där en förfalsknings olika lager motsäger varandra.
Kom igång
Se hur det fungerar med ditt eget ID.
Skapa en kostnadsfri sandbox-session och kör en verifiering på din egen telefon.