Digitale Signaturer

Post on 03-Jan-2016

38 views 1 download

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

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

• e-Handel

• Nettbank

• Kryptering / signering av mail

• Brukerverifisering i VPN klienter

• Pålogging på PC / nett

Hva ligger i grunn?

• Offentlig nøkkel kryptografi

– Oppfunnet av Diffie og Hellman

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

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

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.

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.”

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.

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”)

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.

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.

… and the plot thickens …

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?

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.

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

Komponenter

• Nøkkelrom

• Nøkkelgenerator

• Meldingsrom

• Signaturrom

• Signeringsfunksjon

• Signatur verifisering

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).

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)

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,σ)

Def: Signatursystem

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

– gen()

– sign()

– test()

Signaturtyper

• En skiller vanligvis mellom to typer av signaturer:

– Signaturer med appendix

– Signaturer som gir message recovery.

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.

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)

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.

Signatur med appendix

Message, m

H(m) Signatur, σ

Verifisert: TRUE/FALSE

Offentlig nøkkel, KP

Verifiserting av signatur med appendix

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.

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.

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.

Signatur med message recovery

Offentlig nøkkel, KP

Melding med redundans

Signatur, σ

Gjenopprettetmelding

Del av melding

Verifiserting av signatur som gir message recovery

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.

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

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