Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Introduktion til Kryptologi Jesper Buus Nielsen September.

Lignende præsentationer


Præsentationer af emnet: "Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Introduktion til Kryptologi Jesper Buus Nielsen September."— Præsentationens transcript:

1 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Introduktion til Kryptologi Jesper Buus Nielsen September 2, 2009

2 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Kryptologi  Datasikkerhed  Sikker kommunikation over usikre kanaler  Kryptografi: Bygge systemer  Kryptoanalyse: Bryde systemer  Avancerede Protokoller  Data ikke er passiv men noget der ”regnes” på  men uden at lække den!  Elektroniske Valg  Elektroniske Skjult-Bud Auktioner  Benchmarking  …

3 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Datasikkerhed  Videnskaben om at lave sikker kommunikation over usikre kanaler  To vigtige emner:  Konfidentialitet: Skjul data  Autenticitet: Beskyt data mod forvanskning  Kan overvejes i forhold til mange ting:  Besked  Sender  …

4 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Datasikkerhed Besked Sender KonfidentialitetAutenticitet Integritet AnonymitetAutenticitet Konfidentialitet

5 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Old-School Krypto 1.Byg et system som ser sikkert ud 2.Sæt det i brug 3.Hvis det viser sig at være usikkert, så prøv at fixe det og gå så til 2.  Kan være tidskrævende, dyrt og pinligt …  Og man ved aldrig om ens system er sikkert

6 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Anatomi af Moderne Krypto  Antagelser:  Veldefinerede, simple antagelser som kan falsificeres  Helst studeret i 100er af år uden at blive falsificeret  Fx at det er nemmere at gange end at faktorisere  Primitiver:  Simple værktøjer med deres sikkerhed baseret på antagelser  Fx envejsfunktioner  Systemer  Avancerede værktøjer bygget vha. primitiver  Fx autenticitetssystemer og kryptosystemer  Protokoller:  Detaljerede beskrivelser af hvordan man sikkert bruger fx autenticitetssystemer og kryptosystemer i en større kontekst  Fx dankortsystemet, elektroniske valg, elektroniske skjult bud auktioner, …

7 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Den Reduktionistiske Metode  Sikkerhed på det avancerede niveau bevises under antagelse af at det simplere niveau er sikker:  Hvis antagelserne er sande, så er primitivet sikkert  Hvis primitiverne er sikre, så er systemet sikkert  Hvis systemerne er sikre, så er protokollen sikker  Så, hvis antagelserne er sikre, så er protokollen sikker  Fordel over old-school krypto:  Meget nemmere at vurdere om nogle simple antagelser er sikre end om et avanceret system er sikkert

8 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Nogle One-liners  Old-school krypto: En protokol er sikker indtil den er bevist usikker  Moderne krypto: En protokol er usikker indtil den er bevist sikker

9 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Antagelser  Skal være veldefinerede, dvs. matematisk  Helst så nemmere at falsificere som muligt (hvis falsk)  Helst så simple som muligt  Helst så gamle så muligt  Eksempel: Intet Boolsk kredsløb med 2 160 gates kan faktorisere et produkt af 2 tilfældige 256-cifre primtal med sandsynlighed bedre end 2 -60  Denne antagelse kan bruges til at bygge public-key kryptosystemer og signatursystemer

10 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Eksempel på Primitiv  Vi kalder f: AB en one-way function hvis:  Nem fremad: Nemt at beregne f(x) fra x  Hård bagud: Givet tilfældig y=f(x) er det svært at beregne x’ så y=f(x’) med god sandsynlighed  Skal desuden definere ”nemt”, ”svært” og ”god sandsynlighed” matematisk  En del af kompleksitetsteorien

11 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Kryptosystem  Givet ved tre algoritmer (G, E, D)  Nøglegeneratoren G laver tilfældige nøglepar (ke, kd)  En enkrypteringnøgle ke definerer en funktion: E ke : MC fra klartekstrum M til ciffertekstrum C  En dekrypteringnøgle ke definerer en funktion: D kd : CM  Korrekthed: For all  mM : D kd (E ke (m))=m

12 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Kryptosystem  Symmetrisk: kd=ke  Går mindst tilbage til Cæsar  Public-key kryptosystem  Sikker at gøre ke offentlig så alle kan enkryptere  ke kaldes så public key  Går tilbage til 1976  Diffie, Hellman: “New Directions in Cryptography” in IEEE Transactions on Information Theory, Volume 22, Issue 6

13 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Cæsar Substitution  Nøglerum: K = {0,1,2,…,25}  Klartekstrum, Ciffertekstrum: M={A,B,…,Z}  dk=ek  E ke (m) = gå ek skridt frem i alfabetet fra m  D kd (c) = gå dk skridt baglæns i alfabetet fra c

14 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Vernam’s One-time Pad  Nøglerum = bitstrenge af længde L  Samme for klartekstrum og ciffertekstrum  m 01011101100100010101001 ke 00110110010011010100101 c=m  ke 01101011110111000001100 kd 00110110010011010100101 m=c  kd 01011101100100010101001  Perfekt konfidentialitet så længe nøglen kun bruges én gang  En given klartekstbit giver anledning til begge ciffertekstbits med samme sandsynlighed

15 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Typer af Sikkerhed  Betinget sikkerhed:  Systemets sikkerhed kan reduceres til beregningsmæssige antagelser såsom sværhed af faktorisering  Sikkert mod modstander med begrænset regnekraft  Sikkerhed måles vha. kompleksitetsteori  Ubetinget sikkerhed:  Sikkerhed kan bevises uden antagelser  Sikkert mod modstander med uendelig regnekraft  Sikkerhed måles vha. informationsteori

16 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Resten af Foredraget  Detaljer om hvordan sikkerhed af et kryptosystem defineres  Eksempel på hvordan primitivet pseudo- random funktion (PRF) bygges  Eksempler på hvordan PRF bruges forkert og rigtigt  Eksempel på ubetinget sikkert autentificeringssystem  Hvis tid  Eksempel på sikre flerpartsberegninger  Hvis tid

17 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Generisk Angrebsmodel  Angriber: Angriberen modeleret som et program  Effektiv for betinget sikkerhed  Input: Al offentlig information såsom public key ke  Orakel: Program der forsyner A med ekstra information under angrebet, for at modellere den kontekst angrebet finder sted i  Output: Angriber kan fx prøve at beregne kd og outputte denne  Vind/Tab: Ud fra Output besluttes om A vandt eller tabte  Sikkerhed: Et system kaldes sikker hvis alle (effektive) A vinder med lille sandsynlighed InputA: AngriberOutput O: Orakel Vind/ Tab

18 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Orakler for Kryptosystemer  Ciphertext only: O outputter E ke (m) for tilfældige m valgt af O  Known plaintext: Som ovenfor, men O outputter (m, E ke (m))  Chosen plaintext: Som ovenfor, men A vælger m  Chosen ciphertext: A giver ciffertekster c til O og får D kd (c) tilbage

19 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Beslutninger for Kryptosystemer  Total break: A vinder hvis den outputter kd  Instance deduction: A bliver givet c=E ke (m) af O og vinder ved at outputte m  Information deduction: A bliver givet c=E ke (m) af O og vinder hvis den kan outputte en enkelt bit af information om m  Fx om der er et lige eller ulige antal 0’er i m

20 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Idealet er Muligt  Muligt at bygge et kryptosystem som er sikker med information deduction under chosen ciphertext angreb  Kan bygges fra en vilkårlig one-way function  Så, hvis en af de simpleste primitiver findes, så kan man bygge et af de stærkeste systemer

21 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Resten af Foredraget  Detaljer om hvordan sikkerhed af et kryptosystem defineres   Eksempel på hvordan primitivet pseudo- random funktion (PRF) bygges  Eksempler på hvordan PRF bruges forkert og rigtigt  Eksempel på ubetinget sikkert autentificeringssystem  Hvis tid  Eksempel på sikre flerpartsberegninger  Hvis tid

22 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Kryptering med Fuldstændig Tilfældig Funktion  ke:  For hver mulig klartekst m vælg en fuldstændig tilfældig klartekst c  Eneste krav er at til forskellige m ikke rammer samme c  Nøglen består af tabellen over m og c  ke=kd  Er intuitivt ubetinget sikkert da angriberen kun ser fuldstændigt tilfældige værdier  Hvis klartekstrummet er alle bitstrenge af længde 64 fylder nøglen dog omkring 10 20 bits  Fylder 10,000,000,000 DVD’er  I praksis bruges en funktion som ligner en fuldstændig tilfældig funktion og som har en meget kortere nøgle

23 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Pseudo-Random Function  Ingen input data  Orakel O:  Lav en tilfældig nøgle ke og en tilfældig bit b:  Hvis b=0: På input en klartekst m, svar E ke (m)  Hvis b=1: På input m svar med en tilfældig cC  Output data: en bit c  Tab/Vind: A vinder hvis c=b  Sikkerhed: E ke kaldes en PRF hvis alle effektive algoritmer A vinder med sandsynlighed ½ + ε for et meget lille ε (fx 2 -128 )  En PRF kan bruges i stedet for en fuldstændig tilfældig funktion så længe man kan tåle usikkerhed med sandsynlighed ε og tror at modstanderen har begrænset regnekraft

24 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen PRF? One-time Pad  Nøgle, Klartekst, Ciffertekst = 16 bits  E ke (m) = m  ke  En meget dårlig PRF da tilsvarende bits i hver blok krypteres på samme måde

25 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Friedman  Brød mange kryptosystemer omkring anden verdenskrig

26 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen PRF? One-time Pad Koloner er krypteret med samme bit, hvilket nemt ses!!

27 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen PRF? Transposition 0111010110000011 011  16*15*14*…*2*1 muligheder  Fylder log 2 (16*15*14*…*2*1) < 45 bits 1010110000011

28 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen PRF? Transposition Bevarer antal 0’ere og 1’ere og derfor lyse og mørke flader!!

29 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Substitution af Små Blokke 0111011110000011 0100010001010001 Substitution  2 4 = 16 bitstrenge af længde 4  log 2 (16*15*14*…*2*1) ~ 45 bits i nøglen

30 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen PRF? Substitution Samme 4 bits bliver altid til samme 4 bits, så “ensfarvede” flader skinner igennem!!

31 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Avalanche Effect  Ved at gentage substitution af små blokke og permutation kan man få en såkaldt avalanche effect  Hvis man ændrer en enkelt bit i inputtet så ændrer alle bits i outputtet sig tilfældigt  Får funktionen til at ligne en tilfældig funktion  Princippet bag moderne PRF’er som DES og AES

32 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Substitution

33 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Eksempel PRF  Vi bruger vores transposition og substitution skiftevis i 5 omgange  45-bits + 45-bits = 90-bits nøgle  2 90 ~ 10 27 forskellige nøgler, så udtømmende søgning er udelukket  Overraskende sikker PRF!  Krypterer nu Friedman blokvis med denne PRF

34 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen PRF = 5*(Subst+Perm) Samme 16 bits bliver altid til samme 16 bits, hvilket stadig ses!! Godt kryptosystem, men forkert brug!

35 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Løsning: Cipher Block Chaining m1 E ke c1 E ke m2 c2 m3 c3 E ke m4 c4 E ke  Hvis én blok ændres, så ændres alle de følgende

36 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen 5*(Subst+Trans) og CBC Nice!

37 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Resten af Foredraget  Detaljer om hvordan sikkerhed af et kryptosystem defineres   Eksempel på hvordan primitivet pseudo-random funktion (PRF) bygges   Eksempler på hvordan PRF bruges forkert og rigtigt   Eksempel på ubetinget sikkert autentificeringssystem  Hvis tid  Eksempel på sikre flerpartsberegninger  Hvis tid

38 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Autentifikationssystem  Givet ved tre algoritmer (G,A,V)  Nøglegeneratoren G outputter tilfældige nøglepar (ka,kv) hvor ka er autentifikationsnøglen og kv er verifikationsnøglen  c = A ka (m) kaldes en checkværdi  V kv (m,c) outputter accept eller afvis  Korrekthed: V kv (m,A ka (m))=accept for alle m  Message Authentication Code (MAC): kv=ka  Digital signatur: vk kan gøres offentlig

39 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Sikkerhed af Autentifikationssystemer  Orakler:  Known message attack: O outputter (m,A ka (m)) for tilfældige m  Chosen message attack: A vælger m  Vind/Tab: A vinder ved at outputte (m’,c’) hvor:  V kv (m’,c’)=accept  A fik ikke c’ fra oraklet O  Sikkerhed: Alle effektive A vinder med meget lav sandsynlighed

40 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Eksempel på en MAC  ak=(a,b,N) hvor N er en øvre grænse på størrelsen af de tal der regnes med og a og b er tilfældige tal fra {0,…,N-1}  kv=ka  c = A ka (m) = a + b m mod N  V kv (m,c): Er c = a + b m mod N?  Ubetinget sikkert så længe det kun bruges én gang (a la Vernams one-time pad)  Chancen for at gætte checkværdi c’ for nyt m’ er 1/N

41 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen m c a b key Alle nøgler gennem (m,c) er stadig mulige m’ c’? Alle checkværdier er stadig mulige!

42 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Resten af Foredraget  Detaljer om hvordan sikkerhed af et kryptosystem defineres   Eksempel på hvordan primitivet pseudo-random funktion (PRF) bygges   Eksempler på hvordan PRF bruges forkert og rigtigt   Eksempel på ubetinget sikkert autentificeringssystem   Eksempel på sikre flerpartsberegninger  Hvis tid

43 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Sikre Distribuerede Beregninger  Muligt at lade flere parter som ikke stoler på hinanden lave beregninger på deres samlede datasæt uden at samle data på nogen enkelt maskine  Bruger fx tre servere hvor hver enkelt server på intet tidspunkt ved noget som helst om dataene

44 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Sikker Distribuering  Eksempel med tre servere:  En hemmelighed s  {0,…,9} som skal distribueres sikkert  Vælg tre tilfældige tal s 1,s 2,s 3  {0,…,9} hvor s = s 1 +s 2 +s 3 mod 10 og send s n til server nummer n

45 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Sikker Distribuering 5 384 8 + 3 + 4 mod 10 = 15 mod 10 = 5

46 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen 8 4 3 Addition af Distribuerede Værdier 5 7 962 6 4 2 2 Ønsker at beregne distribueret version af 5+7 mod 10 = 2 Lækker ingen information da der ikke er kommunikation!

47 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Multiplikation 5 3 8 4 7 9 6 2 8 8 9 5 8 4 3 6 2 9 (s 1 +s 2 +s 3 )(t 1 +t 2 +t 3 ) = s 1 t 1 + s 1 t 2 + s 1 t 3 + s 2 t 1 + s 2 t 2 + s 2 t 3 + s 3 t 1 + s 3 t 2 + s 3 t 3 (8+4+3)(6+2+9) = 8  6 + 8  2 + 8  9 + 4  6 + 4  2 + 4  9 + 3  6 + 3  2 + 3  9 = 255

48 Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Generelle Beregninger  Nu kan vi addére og multiplicere sikkert modulo et tal N  Tillader at udføre en vilkårlig beregning sikkert  Computere regner jo fx typisk modulo 2 32 eller 2 64  En sidste one-line: Alt hvad der kan beregnes kan beregnes sikker


Download ppt "Jesper Buus Nielsen dPersp09 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen Introduktion til Kryptologi Jesper Buus Nielsen September."

Lignende præsentationer


Annoncer fra Google