Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afJacob Brøgger Redigeret for ca. et år siden
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: AB 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 : MC fra klartekstrum M til ciffertekstrum C En dekrypteringnøgle ke definerer en funktion: D kd : CM Korrekthed: For all mM : 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 cC 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
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.