14
Digital signatur og digital identitet 2015 Onsdag den 7. oktober 2015 Test af tilfældighedsgeneratoren på NemID Ivan Bjerre Damgaard, professor, Aarhus Universitet

Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Embed Size (px)

Citation preview

Page 1: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Digital signatur og digital identitet 2015Onsdag den 7. oktober 2015

Test af tilfældighedsgeneratoren på NemIDIvan Bjerre Damgaard, professor, Aarhus Universitet

Page 2: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Test af tilfældighedsgeneratoren i NemID

eller

Er Sikkerhed en Tilfældighed?

Ivan Damgård

Institut for Datalogi, Aarhus Universitet

Page 3: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Tilfældighed er kritisk for sikkerhed

Eks.: Password sikkerhed – når det går galt og nogen gætter dit password, er problemet er mangel på tilfældighed!

Hvorfor håber vi RSA er sikker?

Vi vælger to store primtal p og q tilfældigt.

Vi offentliggør n=pq men beholder selv p og q.

Hele sikkerheden hviler på at ingen andre end den rigtige person har adgang til p og q.

Selvfølgelig håber vi det er svært at regne ud hvad p og q er, ud fra n.

Men det giver kun mening at håbe hvis valget af p og q faktisk er tilfældigt!

Page 4: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Tilfældighed er svært at få fat i

Computere er bygget at udføre programmer pålideligt. Vi gør alt hvad vi kan for at sørge for, at hver gang vi kører et program med det samme input bliver resultatet det samme.

Men det er netop det vi IKKE vil have når vi vælger passwords eller RSA nøgler! Vi vil have tilfældige valg der ikke kan forudsiges..

Løsninger:

Kig på systemtiden,

Kig på mængden af netværkstrafik,

Bed brugeren om at taste noget tilfældigt - og mål tiden der går imellem tastetryk. Etc..

Og for nylig: Intels CPUer kommer med hardware-baseret tilfældighed ombord.

Page 5: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Konklusion

•Sikkerheden i alt hvad der har med kryptografi at gøre afhænger kritisk af, om vores system er i stand til at gøre tilfældige valg, som en angriber ikke kan forudsige.

•Det er ikke ligetil at lave et system der producerer ”god”tilfældighed på standard computere.

Naturligt spørgsmål: hvor godt er det lykkedes i de systemer vi bruger i dag? Går det faktisk galt engang imellem?

Page 6: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Tilbage til RSA

Hvad nu hvis flere forskellige brugere kom til at vælge det samme primtal?

Burde være grotesk usandsynligt – men hvad nu hvis?

Eksempel:

A vælger 17 og 19, og offentliggør 323

B vælger 19 og 23, og offentliggør 437

Det betyder jo, at 19 går op i begge de offentlige nøgler, man siger at den største fælles divisor er 19.

Faktum: Det er nemt at beregne største fælles divisor af to tal, også selvom de er flere tusind bit lange – som RSA nøgler er.

Page 7: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Konsekvens

Hvis to RSA brugere er kommet til at vælge det samme primtal, så kan man bryde sikkerheden af begge nøgler ved at beregne største fælles divisor.

Den store test

For et par år siden - to forskerteams i USA starter et projekt:

Lad os teste om der er nogen derude der har lavet RSA nøgler med så dårlig tilfældighed, at der er primtal der er valgt flere gange.

Testen: hent alle de offentlige nøgler man kan få fat i fra Internettet, og test om største fælles divisor af to eller flere af dem giver en primfaktor, og dermed tillader at bryde nøglerne.

Page 8: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Resultatet

Var ret chokerende: man fandt faktisk nøgler, som var valgt så dårligt at primtallene gentog sig!

Ikke mange, og ikke overalt, men nok til at det skabte

opmærksomhed.

Problemet var typisk i embeddede systemer med små ressourcer og dårlig tilgang til eksterne kilder til tilfældighed..

Page 9: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Hvad med NemID?

De offentlige nøgler der bruges i NemID er ikke tilgængelige fra nettet.

Derfor var de ikke med i den amerikanske test.

Claudio Orlandi og Roberto Trefiletti fra Aarhus Universitet fik udleveret en USB stick med samtlige offentlige nøgler, og lavede testen med største fælles divisor.

Og resultatet….

….Var at vi ikke fandt nogen problemer

ganske som vi forventede.

Page 10: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Det handler ikke kun om RSA

Krypto baseret på elliptiske kurver (ECC).

En naturlig afløser for RSA i mange anvendelser. Mindre signaturer og nøgler, og nu efterhånden hurtigere end RSA.

MEN: signaturer baseret på ECC kræver tilfældige valg hver gang du laver en signatur!

En signatur:

(et tal a, flere tal som vi kan ignorere her)

Hvis valget gentager sig selv betyder det at du laver to signaturer som ser sådan ud:

(a,….) og (a,….).

Hvis en angriber får fat i de signaturer, kan han nemt finde din hemmelige nøgle!

Page 11: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Konsekvenser.

Vi må regne med at ECC bliver anvendt fremover, og derfor er god tilfældighed endnu mere kritisk i fremtiden.

Nøglegenerering er kun nødvendig med lange mellemrum, så vi har råd til at bruge mange ressourcer, også på tilfældighed.

Men med ECC skal vi også gøre det hver gang vi skriver under!

Kryptering med RSA er også afhængig af tilfældighed.

Baggrund for at Intel nu har ægte tilfældighed ombord.

Ved udviklerne det? Bruger de det?

Page 12: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Gode Råd og Opfordringer.

Hvis du er udvikler og implementerer kryptografi: brug rigtig tilfældighed fra hardware hvis du kan, og ellers tænk dig rigtig godt om!

#define random=4 //generated by random roll of a die

Ikke lige det vi håber at se!

Hvis du er udvikler og bruger et modul der leverer kryptografiske funktioner:

Husk at stille de rigtige spørgsmål!

Hvor kommer modulets tilfældighed fra?

Forventer det at du leverer en tilfældig ”seed” når det starter op? Hvis ja, står og falder det hele med kvaliteten af den seed du leverer. Så det er ikke lige meget hvor den kommer fra..

Page 13: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Gode Råd og Opfordringer.

Hvis du leverer en (web)service og har købt en færdig pakke med krypto inde i maven:

Kan leverandøren eller andre sige noget om kvaliteten af den tilfældighed der bruges?

Afhænger det f.eks. af det system pakken kører som en del af?

Hvis du er slutbruger:

Fold hænderne og håb det bedste – tilfældigheden bør ikke være dit problem!

Page 14: Ivan Bjerre Damgaard - Digital signatur & digital identitet 2015

Tak!