Digitale Signaturer

32
Digitale Signaturer Definisjoner

description

Digitale Signaturer. Definisjoner. Hvorfor. Sikre seg for at sender er rette sender Autentisere avsender av et dokument Autentisere underskriver av et dokument Forsikre seg mot at en melding ikke er forandret på kanalen Kan brukes på alle meldinger (krypterte og ukrypterte). Bruksområder. - PowerPoint PPT Presentation

Transcript of Digitale Signaturer

Page 1: Digitale Signaturer

Digitale Signaturer

Definisjoner

Page 2: Digitale Signaturer

Hvorfor

• Sikre seg for at sender er rette sender

• Autentisere avsender av et dokument

• Autentisere underskriver av et dokument

• Forsikre seg mot at en melding ikke er forandret på kanalen

• Kan brukes på alle meldinger (krypterte og ukrypterte)

Page 3: Digitale Signaturer

Bruksområder

• e-Handel

• Nettbank

• Kryptering / signering av mail

• Brukerverifisering i VPN klienter

• Pålogging på PC / nett

Page 4: Digitale Signaturer

Hva ligger i grunn?

• Offentlig nøkkel kryptografi

– Oppfunnet av Diffie og Hellman

– Baserer seg på et nøkkelpar (Offentlig og Privat nøkkel)

Page 5: Digitale Signaturer

Hva er Digital Signatur

Bob

Alle har tilgang på Bob’soffentlige nøkkel, men den hemmelige holder han for seg selv.

Bob’s hemmelige nøkkel

Bob har to nøkler; en offentlig og en hemmelig.

Bob har mange venner som han sender meldinger til

David Einar Trine

Bob’s offentlige nøkkel

Page 6: Digitale Signaturer

Alle som har lyst på Bob sin offentlige nøkkel (KP) har tilgang til denne, men den hemmelige nøkkelen (KS) beholder han for seg selv.

Offentlig nøkkel brukes til å kryptere meldinger (m) med.

En kryptert melding er en melding som er omformet slik at den er uleselig. Dette gjør at Bob med sin hemmelige nøkkel kan dekryptere slik at meldingen blir leselig.

Page 7: Digitale Signaturer

Trine kan kryptere en melding med Bob sin offentlige nøkkel. Bob kan dekryptere meldingen fra Trine ved å bruke sin hemmelige nøkkel.

Alle vennene til Bob kan ha tilgang til den krypterte meldingen fra Trine, men den er ubrukelig uten Bob sin hemmelige nøkkel.

”Hei Bob. Skal du være med på kino i dag? Det er jo premieredag i dag.”

Kryptert med KP

Dekrypter med KS

HNFmsEm6UnBejhhyCGKOKJUxhiygSBCEiC 0QYIh/Hn3xgiKBcyLK1UcYiYlxx2lCFHDC/A

HNFmsEm6UnBejhhyCGKOKJUxhiygSBCEiC 0QYIh/Hn3xgiKBcyLK1UcYiYlxx2lCFHDC/A

”Hei Bob. Skal du være med på kino i dag? Det er jo premieredag i dag.”

Page 8: Digitale Signaturer

Med sin hemmelige nøkkel og riktig program, kan Bob signere (Digital Signatur) meldinger og andre data.

En digital signatur er et ”stempel” som Bob setter på meldingen. Dette stempelet blir unikt med Bobs hemmelig nøkkel og er sikker mot forfalsking.

Digitale signaturer kan i tillegg brukes til å verifisere at meldingen ikke har forandret seg etter at den ble sendt.

Page 9: Digitale Signaturer

For å signere et dokument bruker Bob programmet sitt. Dette ”pakker” dataene til et par linjer, f.eks. 160 bits, ved hjelp av en funksjon kalt ”one-way hash”.

Disse linjene kalles ”message digest”. (Det er ikke mulig å gjenskape dokumentet ut i fra ”message digest”)

Page 10: Digitale Signaturer

Krypter med KS

Programmet til Bob krypterer ”message digest” med den hemmelige nøkkelen. Dette resulterer i en digital signatur.

Til slutt legger programmet den digitale signaturen til dokumentet. All data som ble ”hashet” har nå blitt signert.

Legg til

Bob har nå en melding som er signert som han kan sende til David.

Page 11: Digitale Signaturer

David dekrypterer først signaturen fra Bob med Bob sin offentlige nøkkel, og får ut ”message digest”.

Dersom dette gikk bra viser dette at det er Bob som har signert dokumentet, da det kun er Bob som har tilgang til sin hemmelige nøkkel.

David sitt program ”hasher” så dokumentet på nytt og får ut sin ”message digest”.

Dersom denne ”message digest” er lik den som ble laget og signert av Bob, vet David at de signerte data ikke har blitt endret og stammer fra Bob.

Page 12: Digitale Signaturer

… and the plot thickens …

Page 13: Digitale Signaturer

Einar (den slemme vennen) ønsker å narre David. Einar forsikrer seg at David mottar en signert melding og offentlig nøkkel som ser ut til å komme fra Bob.

Uvisst for David, har Einar sendt en melding og nøkkel han lagde ved å bruke Bob sitt navn.

Uten å motta Bob sin offentlige nøkkel fra Bob selv, hvordan kan David vite at det er Bob som har laget nøklene?

Page 14: Digitale Signaturer

Trine jobber i et ”Certificate Authority Center” . Hun kan utstede et digitalt sertifikat av Bob sin nøkkel sammen med informasjon om Bob.

Bob’s info:

Certificate info:

Bob’s public key:

• Navn• Adresse• Jobb

• Serie nummer• ”Holdbarhets” dato

Signer

Nå kan Bob sine venner sjekke med det digitale seterfikatet for å være sikker på at nøkkelen kommer fra ham.

Page 15: Digitale Signaturer

Kort fortalt

m

KSa

Signert melding

Signert melding m

KPa

m – Melding som skal sendes

KSa – Private nøkkel til a

KPa – Offentlige nøkkel til a

A

B

Page 16: Digitale Signaturer

Komponenter

• Nøkkelrom

• Nøkkelgenerator

• Meldingsrom

• Signaturrom

• Signeringsfunksjon

• Signatur verifisering

Page 17: Digitale Signaturer

Komponenter

• Nøkkelrom (eng: Key Space)Et subset av {0,1}* x {0,1}* private og offentlige nøkkelpar.

• Nøkkelgenerator (eng: Key Generator)En algoritme gen() som har som output den private nøkkelen (KP) og den tilhørende offentlige nøkkelen (KS).

Page 18: Digitale Signaturer

Komponenter

• Meldingsrom (eng: Message Space)Et subset av {0,1}*

• Signaturrom (eng: Signature Space)Et subset av {0,1}*

• Signeringsfunksjon (eng: Signing Function)En algoritme sign() som tar en melding m og en private nøkkel KP som input og gir en signatur σ som output.

σ = sign(m,KP)

Page 19: Digitale Signaturer

Komponenter

• Signatur verifiseringEn verifiseringsfunksjon test() som tar en melding m, en offentlig nøkkel KP og en signatur σ som input og returnerer 1 hvis σ er gyldig med hensyn på KP og 0 ellers.

0 hvis σ er ugyldig

1 hvis σ er gyldig test(m,KP,σ)

Page 20: Digitale Signaturer

Def: Signatursystem

• Ofte blir et signatursystem definert til å bestå av følgende tre funksjoner:

– gen()

– sign()

– test()

Page 21: Digitale Signaturer

Signaturtyper

• En skiller vanligvis mellom to typer av signaturer:

– Signaturer med appendix

– Signaturer som gir message recovery.

Page 22: Digitale Signaturer

Signatur med appendix

• Digitale signaturer med appendix refererer til situasjoner hvor kryptografisk beskyttet data blir tilføyd datamengden. Dataene som representerer signaturen kan blir dekoblet fra datamengden som den signerer.

Page 23: Digitale Signaturer

Signatur med appendix

• Signeringsprosessen foregår i to steg.

1. Meldingen m som skal signeres blir behandlet av en kryptografisk hashfunksjon. D = H(m)

2. Dataene D blir prosessert ved å bruke den private nøkkelen til den som signerer og resulterer i en signatur sign(m,KS)

Page 24: Digitale Signaturer

Signatur med appendix

• En signatur σ på meldingen m blir så verifisert i en to-steg prosess.

1. D = H(m) blir beregnet.

2. Verifiser at σ stemmer overens med D ved å bruke den offentlige nøkkelen.

Page 25: Digitale Signaturer

Signatur med appendix

Message, m

H(m) Signatur, σ

Verifisert: TRUE/FALSE

Offentlig nøkkel, KP

Verifiserting av signatur med appendix

Page 26: Digitale Signaturer

Signatur med message recovery

• En digital signatur som gir message recovery refererer til en situasjon hvor en kryptografisk transformasjon blir utført på en datamengde. Mottager vil være i stand til å identifisere senderen samt gjen-opprette den opprinnelige datamengden.

Page 27: Digitale Signaturer

Signatur med message recovery

• Signeringsprosessen skjer her også i to steg:

1. Redundans blir lagt til meldingen m og resulterer i data D.

2. Disse data D blir så prosessert ved å bruke den private nøkkelen og resulterer i en signatur.

Page 28: Digitale Signaturer

Signatur med message recovery

• Verifiseringsprosessen skjer så ved følgende to steg:

1. Gjenopprett data D fra signaturen σ ved å bruke den offentlige nøkkelen.

2. Verifiser at redundansen i D er korrekt og at D er på gyldig form. Returner deretter den gjenopprettede meldingen.

Page 29: Digitale Signaturer

Signatur med message recovery

Offentlig nøkkel, KP

Melding med redundans

Signatur, σ

Gjenopprettetmelding

Del av melding

Verifiserting av signatur som gir message recovery

Page 30: Digitale Signaturer

Digital Signatures

With appendix With message recovery

Deterministic Randomized Deterministic Randomized

•RSA with ISO-14888 padding

•PKCS#1 signature padding

•DSA •RSA with ISO-9796 padding

•Nyberg-Rueppel with padding.

Page 31: Digitale Signaturer

Angrep på signaturer

• Key only– Angriper vet kun offentlig nøkkel– Angriper kan da verifisere tilfeldige meldinger, men ingenting

annet.• Known message attack

– Angriper vet om noen meldingssignaturer, men kan ikke påvirke videresendingen av meldingene

• Chosen message attack– Angriper lager en liste med meldinger og kan få (fra et orakel)

signaturene på disse• Adaptively chosen message attack

– Angriper kan få tak i den korrekte signaturen ved å følge med på meldingsutvekslingen over flere omganger. For hver omgang kan angriper velge meldinger som skal signeres basert på signaturer mottatt så langt

Page 32: Digitale Signaturer

Mål for angrep

• Total break– Gir mulighet til å selv signere meldinger

• Selective forgery– Gir mulighet til å signere noen egne valgte

meldinger

• Existential forgery– Gir mulighet til å lage noen signerte meldinger– Angriper har ikke mulighet til å velge hvilken

melding som skal signeres