1 / 47

Introduktion til Kryptologi

Introduktion til Kryptologi. Jesper Buus Nielsen September 2, 2009. 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!

jasper
Download Presentation

Introduktion til Kryptologi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 • … A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  3. 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 • … A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  4. Datasikkerhed Konfidentialitet Autenticitet Besked Konfidentialitet Integritet Sender Anonymitet Autenticitet A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  5. Old-School Krypto • Byg et system som ser sikkert ud • Sæt det i brug • 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  6. 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, … A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  7. 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  8. 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  9. 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 2160 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  10. 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  11. Kryptosystem • Givet ved tre algoritmer (G, E, D) • Nøglegeneratoren G laver tilfældige nøglepar (ke, kd) • En enkrypteringnøgleke definerer en funktion: Eke: MCfra klartekstrumM til ciffertekstrum C • En dekrypteringnøgleke definerer en funktion: Dkd: CM • Korrekthed: For all mM : Dkd(Eke(m))=m A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  12. 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  13. Vernam’s One-time Pad • Nøglerum = bitstrenge af længde L • Samme for klartekstrum og ciffertekstrum • m 01011101100100010101001ke 00110110010011010100101c=mke 01101011110111000001100kd 00110110010011010100101m=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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  14. 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  15. 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  16. Generisk Angrebsmodel O: Orakel • 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 Input A: Angriber Output Vind/Tab A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  17. Orakler for Kryptosystemer • Ciphertext only: O outputter Eke(m) for tilfældige m valgt af O • Known plaintext: Som ovenfor, menO outputter (m, Eke(m)) • Chosen plaintext: Som ovenfor, men A vælger m • Chosen ciphertext: A giver ciffertekster c til O og får Dkd(c) tilbage A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  18. Beslutninger for Kryptosystemer • Total break: A vinder hvis den outputter kd • Instance deduction: A bliver givet c=Eke(m) af O og vinder ved at outputte m • Information deduction: A bliver givet c=Eke(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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  19. 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  A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  20. 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  21. 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 1020 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  22. Pseudo-Random Function • Ingen input data • OrakelO: • Lav en tilfældig nøgle ke og en tilfældig bit b: • Hvis b=0: På input en klartekst m, svar Eke(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: Eke 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

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

  24. Friedman • Brød mange kryptosystemer omkring anden verdenskrig A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

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

  26. 1 1 0 0 1 1 0 0 0 1 0 0 1 0 1 1 PRF? Transposition • 16*15*14*…*2*1 muligheder • Fylder log2(16*15*14*…*2*1) < 45 bits 0 1 1 1 0 1 0 1 1 0 0 0 0 0 1 1 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

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

  28. Substitution af Små Blokke • 24 = 16 bitstrenge af længde 4 • log2(16*15*14*…*2*1) ~ 45 bits i nøglen 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 Substitution Substitution Substitution Substitution 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

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

  30. 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  31. Substitution Substitution Substitution Substitution Substitution Substitution Substitution Substitution A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  32. Eksempel PRF • Vi bruger vores transposition og substitution skiftevis i 5 omgange • 45-bits + 45-bits = 90-bits nøgle • 290 ~ 1027 forskellige nøgler, så udtømmende søgning er udelukket • Overraskende sikker PRF! • Krypterer nu Friedman blokvis med denne PRF A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

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

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

  35. 5*(Subst+Trans) og CBC Nice! A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  36. 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

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

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

  39. 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 = Aka(m) = a + b m mod N • Vkv(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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

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

  41. 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  42. 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 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  43. Sikker Distribuering • Eksempel med tre servere: • En hemmelighed s  {0,…,9} som skal distribueres sikkert • Vælg tre tilfældige tal s1,s2,s3 {0,…,9} hvors = s1+s2+s3 mod 10og send sn til server nummer n A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  44. Sikker Distribuering 8 + 3 + 4 mod 10 =15 mod 10 =5 5 8 3 4 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

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

  46. Multiplikation 8 8 4 4 6 6 2 2 8 5 7 8 5 (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 (s1+s2+s3)(t1+t2+t3) = s1t1 + s1t2 + s1t3 + s2t1 + s2t2 + s2t3 + s3t1 + s3t2 + s3t3 9 3 3 9 9 A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

  47. 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 232 eller 264 • En sidste one-line:Alt hvad der kan beregnes kan beregnes sikker A A R H U S U N I V E R S I T E T Datalogisk Institut Kryptogruppen

More Related