Aarhus-forskere har hacket løs på 4.841.990 danskeres NemID-nøgler i et år
Forskere fra Aarhus Universitet har testet Nem-ID’s sikkerhed mod mulige angreb som følge af dårlig tilfældighed, og konklusionen er klar - NemID er sikkert. Det fremgår af Aarhus Universitets hjemmeside.
»Vi har testet for en ganske bestemt svaghed. Når vi ikke har fundet noget, så betyder det, at den bestemte svaghed i forhold til tilfældighed, ikke findes her. Der kan jo være andre, det kan vi jo ikke garantere noget i forhold til,« siger en af dem, der står bag testen, professor ved datalogisk institut på Aarhus Universitet Ivan Damgård til Version2.
Forskerne har testet den komponent af NemID, der kaldes Offentlige Certifikater til Elektronisk Service (OCES), der bruges, når man skal logge ind til offentlige og private servicer, og når man skal signere dokumenter.
I denne brug af NemID indgår en offentlig og en privat nøgle. Den offentlige nøgle bruges til at kontrollere ægtheden af brugernes signatur, mens den private kan bruges til at underskrive dokumenter.
Dårlig tilfældighed
Inden for de seneste år har der været øget fokus på sikkerheden ved denne form for nøgler, da der i nogle tilfælde kan være en bias eller skævhed i den tilfældighed, der bruges til at generere den private nøgle, og det mindsker sikkerheden.
Det har især været i fokus ved systemer med mange millioner af nøgler, at man udfra en analyse af de offentlige nøgler kunne finde frem til de private nøgler på grund af skævheden i måden nøglerne er blevet genereret.
Testen af NemID startede i januar 2014, hvor en gruppe forskere fra “Kryptografi og Datasikkerhed” kontaktede Nets Dan-ID A/S om udlevering af data. De fik alle 4.841.990 offentlige NemID OCES nøgler fra tilsendt, og de kan altså nu konkludere, at NemID OCES ikke lider under dårlig tilfældighed.
Matematikken bagved
NemID benytter sig af en såkaldt RSA-signatur, hvor alle brugeres private nøgler indeholder to store primtal (a og b). Produktet (n) af de to primtal (a og b) er så den offentlige nøgle. Sikkerheden ligger i, at det er svært at finde ud af, hvad a og b er - altså den private nøgle - kun ud fra deres produkt (n).
Primtallene i den private nøgle findes ved generering af tilfældige tal. Og her er det vigtigt, at tilfældigheden fungerer ordentligt.
»Det afgørende er, at det ikke må være for nemt at gætte, hvilke to primtal der er valgt (til den private nøgle, red.). Man vælger et helt tilfældigt tal, som kandidat til et primtal. Og så tester man, om det er et primtal, man har fat i. Hvis ikke det er det, så smider man det væk, og vælger et nyt tilfældigt tal,« forklarer Ivan Damgård og fortsætter:
»Der er en rimelig chance for, at det man vælger faktisk er et primtal, selvom man bare tager en helt tilfældig kandidat.«
Hvis tilfældigheden ikke er tilstrækkelig, kan flere brugere ende med, at dele af den private nøgle er ens, og så kan systemet knækkes.
Hvis n og n1 deler et primtal - enten a eller b - kan man hurtigt finde det delte primtal ved at finde det største tal, som n og n1 kan divideres med. Og har man på den måde fundet frem til f.eks. a, kan man hurtigt finde b, og dermed kan man signere dokumenter på brugerens vegne.
»Hvis der er to offentlige nøgler, der har denne forbindelse til hinanden, så vil man kunne se det ved at teste for det. Og det er den test, vi har lavet,« siger Ivan Damgård.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.