Er der et mønster i NemID-tallene?

Jesper Nielsen spørger: Når man kigger på sit NemID-papkort, forekommer det en, at der er en eller anden form for mønster i talkonstruktionerne, som kan gennemskues. Kan man forestille sig, at det er muligt at reverse engineere algoritmen bag genereringen af koder ved hjælp af et eller flere kort, således at man kun behøver at opsnappe en enkelt kode for at kunne genskabe alle koderne på et kort og give ubegrænset adgang via NemID?

Ulf Munkedal, CEO, Bs. E.E., FortConsult A/S, svarer:

Jeg har stor respekt for folk, der er i stand til at se mønstre, og man kan jo forestille sig mange ting. Flere koder og krypteringer er faktisk blevet brudt på den måde gennem tiderne.

Jeg har selv siddet og kigget på flere NemID-kort, og jeg kan 'desværre' eller 'heldigvis' (alt efter hvordan man ser det) ikke selv umiddelbart se et mønster. Jeg ser 11+13+13 rækker og 4 kolonner af talsæt bestående af 1 stk. nøgle-id på 4 cifre og 1 stk. nøgle på 6 cifre. Øverst på kortet er der et nøglekort-id bestående af et bogstav og 9 cifre. Når jeg kigger, kan jeg ikke se en afhængighed mellem nogle af disse, hvor indholdet af et af dem gør det muligt at udlede noget om et andet ciffer, nøgle-id eller nøgle. Og sådan bør det også være. Alle cifrene i nøgle-id'er og nøgler bør genereres af en tilfældighedsgenerator af en sådan standard, at cifrene virkelig er tilfældigt valgt og helt uafhængige.

I praksis har der dog været flere eksempler på, at tilfældighedsgeneratorer ikke har afleveret helt så tilfældige tal, som det ellers var meningen. Så en praktisk test kunne foretages, hvor man indscanner et antal NemID-kort og foretager noget statistisk matematisk analyse på data for at se, om hypotesen, at tilfældighedsgenereringen faktisk er tilfældig, holder i praksis eller ej. Jeg er sikker på, at en ingeniør eller matematiker, der er stærk i statistisk analyse, relativt hurtigt vil kunne opstille en model og krav til statistisk afprøvning af, om hypotesen kan forkastes ud fra indlæsning af en række faktiske data. Den bold er hermed givet videre ...

Spørg Scientariet

Du kan spørge om alt inden for teknologi og naturvidenskab. Redaktionen udvælger indsendte spørgsmål og finder den bedste ekspert til at svare – eller sender spørgsmålet videre til vores kloge læsere. Klik her for at stille dit spørgsmål til Scientariet.

Kommentarer (25)

Der kan sagtens være nogle tal eller talkombinationer der optræder usædvanligt ofte i et bestemt udpluk uden at det betyder der er et forudsigeligt mønster.

En statistiker vil måske kunne påpege at der er en mistænkelig talfordeling, men vil på den anden side ikke være i stand til at bekræfte eller udelukke at der er et mønster.

Iøvrigt er den menneskelige hjerne hyperaktiv når det kommer til mønstergenkendelse - når man ser antydninger af mønstre på et NemID-kort er det (forhåbentligt) blot fordi hjernen VIL have at der er et mønster.

Man kan godt forestille sig at en evt. svaghed i NemIDs tilfældighedsgenerator kan opdages ved at lave reverse engineering vha. tal fra nøglekort - og det tror jeg såmænd nok der skal være et par stykker der arbejder på lige nu.

Vi må håbe at DanID har skrevet generatoren ordentligt - det har vi desværre ingen mulighed for at verificere idet vi ikke har kildekoden. Lukketheden indikerer at DanID mener at deres programmører er snedigere end de snedigste crackere eller måske bare at ledelsen ikke ved tilstrækkeligt om IT-sikkerhed...

  • 0
  • 0

Der kan sagtens være nogle tal eller talkombinationer der optræder usædvanligt ofte i et bestemt udpluk uden at det betyder der er et forudsigeligt mønster.

..

Ja, faktisk ville det være ret betænkeligt, hvis tal eller talkombinationer forekom jævnt fordelt.

...En ulykke komme sjældent alene, siger skeptikeren, der vil imødegå statistikeren. Netop, siger statistikeren, det ville da være usandsynligt, at de skulle være jævnt fordelt...

  • 0
  • 0

Tallene er sikkert tilfældige, som de skal være, men jeg tror nu også der er mønstre i dem, forstået på den måde at på tastaturet er de nemmere at taste. Jeg har sjældent skullet lave et mønster på tastaturet der var "asymetrisk" eller "forkert". Det er svært at forklare, men det er ligesom der er et system i måden tallenes rækkefølge kommer på, så de er lettere at taste.

Jeg har tænkt over det, som spørgeren også har, men bare tænkt, hold da fest hvor er det smart.

Anyway, jeg har stor tillid til at det her er så sikkert som det overhovedet kan tænkes.

  • 0
  • 0

.Så en praktisk test kunne foretages, hvor man indscanner et antal NemID-kort og foretager noget statistisk matematisk analyse på data

Jeg vil gerne undersøge det.
KLIK HER for at sende en kopi af dit NemID kort sammen med dit brugernavn og password. På forhånd tak.

Vi må håbe at DanID har skrevet generatoren ordentligt - det har vi desværre ingen mulighed for at verificere idet vi ikke har kildekoden. Lukketheden indikerer at DanID mener at deres programmører er snedigere end de snedigste crackere eller måske bare at ledelsen ikke ved tilstrækkeligt om IT-sikkerhed...

DanID har selvfølgelig ikke kodet en tilfældighedsgenerator. Hvis i finder et mønster er det en international historie, super hvis i finder noget!
Selvom kildekoden ikke er tilgængelig kan Kerckhoff godt være et grundliggende princip i NemID.

  • 0
  • 0

Jeg har sjældent skullet lave et mønster på tastaturet der var "asymetrisk" eller "forkert". Det er svært at forklare, men det er ligesom der er et system i måden tallenes rækkefølge kommer på, så de er lettere at taste.

Otto, har du et eksempel på nogle 6-cifrede tal som er "asymetriske" eller "forkerte" og dermed, i fald din hypotese er korrekt, ikke bør forekomme på NemID kort?

  • 0
  • 0

Egentlig ikke nogen dårlig ide at samle brugte NemID kort og kigge på om der er et mønster bare udfra det der er på kortet. Man må vel antage at kortene er preproducerede, og blot associeres med en bruger når det udstedes eller hvad?

Anyways, jeg skriver gerne en OCR-læser og database til at indsamle og offentliggøre oplysningerne. Noget der har interesse? Og er der nogen der kan sige mig om jeg kan komme i klemme ved det her?

  • 0
  • 0

Anyways, jeg skriver gerne en OCR-læser og database til at indsamle og offentliggøre oplysningerne. Noget der har interesse? Og er der nogen der kan sige mig om jeg kan komme i klemme ved det her?

Jeg kan ikke huske den præcise ordlyd i brugerbetingelserne for NemID, men det er ikke tilladt at tage en digital kopi af sådan et kort.

  • 0
  • 0

NemID har FORHÅBENLIGT brug en ægte tilfældighedsgenerator.

Det ville være dumt, og helt uden pointe, hvis der var et mønster bag.

Alle kan f.eks. bruge random.org, til at få ægte tilfældige tal, genereret ud fra atmosfærisk støj.

De kan UMULIGT forudsiges.

At du kan finde lokaliserede mønstre, betyder overhovedet ikke at der er et mønster. Jo større mængden er, jo større lokale mønstre vil også opstå, helt tilfældigt.

  • 0
  • 0

Til Thomas Pedersen. Det er ligesom med telefonnumre. Nogle er svære at huske, andre er lette. Jeg ringer rigtig meget og det er tit at jeg løber ind i et telefonnummer der er "svær at taste" forstået på den måde at det er svært at huske, også selvom der er fex to nuller og to 7'ere. Man kan se at de der har valgt nummeret har tænkt at det er smart, men at det så i virkeligheden bliver svært at taste.

Disse "svære tastekombinationer" synes jeg sjældent jeg oplever i NemID, men det kan godt være det bare er mig der har en fetish for talkombinationer. Og så at der er stor forskel på at huske 8 cifre i forhold til 6.

Jeg har ikke et gammel NemID kort, så jeg vil ikke give eksempler.

Som jeg sagde før, så kan det her ikke få mig til at betvivle DanID's sikkerhed.

  • 0
  • 0

Jeg vil da gerne gentage, at DanID selvfølgelig benytter en international testet og certificeret pseudo-vilkårlig nummergenerator.
Nøglerne generes i en HSM (hardware security module).

Så længe generatoren kun er pseudovilkårlig, er det et potentielt problem. For enhver pseudovilkårlig nummergenerator gælder det, at hvis du har en sekvens af tal, der tilsammen har flere bits end den seed, der bruges i generatoren, så kan du med meget stor sikkerhed forudsige det næste tal. Det kan være så beregningsmæssigt tungt at gøre det, at det i praksis ikke lader sig gøre, men det er ualmindeligt svært at bevise, at der ikke findes en effektiv metode til beregningen (hvilket er årsagen til at P=NP problemet ikke er løst). Derudover siger den slags resultater normalt kun noget om værstetilfælde: Der kan sagtens være instanser, der er hurtige at beregne. Det gælder for eksempel NP-komplette problemer: Selv om ingen kender metoder, der kan løse alle instanser af et NP-komplet i polynomiel tid, så bliver selv store instanser af NP-komplette problemer rutinemæssigt løst på få sekunder.

Det har da også i mange tilfælde, at man lang tid efter en krypteringsmetode er taget i brug har fundet klasser af "svage nøgler", der gør det muligt effektivt at bryde koderne. Man har så efterfølgende undgået de kendte svage nøgler i nøglegeneratorerne, men der er ikke nogen beviser for, at der ikke findes svage nøgler blandt de resterende.

Derfor bør nøglesystemer som NemID altid bruge ægte tilfældighed til at generere nøgler. Det kan sagtens kombineres med pseudotilfældighed, sådan at man måske til hver nøgle kun bruger et tilfældigt bit kombineret med en lang seed til at generere en nøgle og en ny seed.

  • 0
  • 0

Men ikke et et menneske kan se og selv den bedste computeranalyse kan nok ikke finde den mindste antydning af mønster.
Hvis et menneske kunne se mønster i tallene har de virkeligt gjort det forkert.

Det er one time pad kodning og det kan i praksis ikke brydes med mindre man har adgang til kortet eller kan agere mellemmand.

  • 0
  • 0

Der er et klart mønater, det starter med et 1.tal i øverste række og det gentager sig flere steder.

Mvh."kodeknuseren"

  • 0
  • 0

Så er der svar fra NemID-supporten. Først min mail:

Hej

Jeg kan umiddelbart ikke finde noget om reglerne for bortskaffelse af mit opbrugte NemID. Jeg vil derfor henholde mig til princippet om bonus pater og antage at jeg blot kan smide mit opbrugte kort i skraldespanden, da det er det de fleste gør.
Sat i kontekst af at jeg er IT-professionel, vil jeg stadig gøre det samme, da jeg antager at jeres nøglegenerering til NemID er sikker, og foregår uafhængigt af den bruger et nøglekort senere tilknyttes.
Jeg savner dog klare regler på området. Kan jeg f.eks. anvende mit opbrugte ID-kort til hvad jeg vil? Kan jeg give det til min nevø til at lege med, eller skanne til hans stil? Kan jeg bruge det skannet i en nyhedsartikel? Til et forskningsforsøg om sikkerheden af NemID-nøglerne? Stoler I selv nok på jeres løsning til at lade mig anvende det opbrugte kort som jeg vil? Eftersom de fleste alligevel smider det i skraldespanden, er der vel nem adgang til data for eventuelle kriminelle med et ønske om at forsøge at bryde jeres nøgle-system alligevel.

Mvh.
Jimmy Merrild Krag

--

Og her er svaret:

Kære Jimmy

Tak for din henvendelse

Nøglerne genereres uafhængigt af brugeren. Dette kan ses ved, at borgerservice har nøglekort til at ligge, som allerede er printede, og senere kan tilknyttes et hvilket som helst NemID. Nøglegenereringen er helt sikker.

Hvad du gør med dit opbrugte nøglekort er op til dig selv. Når et nøglekort er forbrugt vil det fortsat kunne bruges til at slå dig op i systemet inde hos os. Dvs., at du kan oplyse os om nøglekortnummeret på et af dine brugte nøglekort, og så vil vi kunne slå dig op ud fra det. Det er dog uhyre sjældent, at vi rent faktisk slår folk op via deres nøglekortnummer, da de fleste har lettere ved at håndtere enten deres CPR-nummer, NemID-nummer eller selvvalgte bruger-id, som vi også kan slå op på.
Nøglekortet kan ikke misbruges til login når det er opbrugt, og da vi hos NemID suppporten ikke kan ændre i kontaktoplysningerne for en kunde, er der ingen sikkerhedsfare i, at dit nøglekort havner i de forkerte hænder. Vi anbefaler naturligvis, at du bortskaffer opbrugte nøglekort, men der er ingen specifikke regler på området.

--
Så vi kan vel bare slå os løs i brugte NemID, og prøve om det kan brydes.

  • 0
  • 0

Jeg vil da gerne gentage, at DanID selvfølgelig benytter en international testet og certificeret pseudo-vilkårlig nummergenerator.
Nøglerne generes i en HSM (hardware security module).

Det kan du da bare gentage alt det du vil, uden at det dog gør det til et faktum.

  • 0
  • 0

Til denne kommentar vil jeg tilføje At jeg synes at de er svære at huske.
Når man læser på kortet er det ofte. at jeg er nød til at se en ekstra gang om det nu er rigtigt det jeg taster.
Om det så muner ud i at det så bliver fællesnævner ved tallene ved jeg ikke.

Tallene er sikkert tilfældige, som de skal være, men jeg tror nu også der er mønstre i dem, forstået på den måde at på tastaturet er de nemmere at taste. Jeg har sjældent skullet lave et mønster på tastaturet der var "asymetrisk" eller "forkert". Det er svært at forklare, men det er ligesom der er et system i måden tallenes rækkefølge kommer på, så de er lettere at taste.

Jeg har tænkt over det, som spørgeren også har, men bare tænkt, hold da fest hvor er det smart.

Anyway, jeg har stor tillid til at det her er så sikkert som det overhovedet kan tænkes.

  • 0
  • 0