De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Cryptografische algoritmen en protocols (2) Cursus informatiebeveiliging Eric Laermans – Tom Dhaene.

Verwante presentaties


Presentatie over: "Cryptografische algoritmen en protocols (2) Cursus informatiebeveiliging Eric Laermans – Tom Dhaene."— Transcript van de presentatie:

1 Cryptografische algoritmen en protocols (2) Cursus informatiebeveiliging Eric Laermans – Tom Dhaene

2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 2 Asymmetrische encryptie Symmetrische encryptie enkele nadelen:  zowel afzender als ontvanger moeten geheime sleutel kennen  hoe moet men sleutel uitwisselen? alternatieve techniek zou nuttig zijn

3 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 3 Asymmetrische encryptie ook: versleuteling met publieke sleutel Engels: asymmetric (public key) encryption principe:  in plaats van geheime sleutel voor elk paar gebruikers  sleutelpaar voor elke gebruiker –een vertrouwelijke sleutel (private key) »alleen door gebruiker zelf gekend –een publieke sleutel (public key) »openbaar voor iedereen »liefst zo openbaar mogelijk

4 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 4 Asymmetrische encryptie principe:  uit kennis van publieke sleutel, kan niets afgeleid worden over vertrouwelijke sleutel  steunt typisch op wiskundig moeilijke problemen –bv. factorisatie product van twee grote priemgetallen voorbeelden:  RSA (Rivest – Shamir – Adleman) –cf. boek H. 9, p. 301vv.  ElGamal  ECC (Elliptic Curve Cryptography) –cf. boek H. 10, p. 332vv. (hier slechts kort besproken)

5 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 5 vertrouwelijke sleutel Bob publieke sleutel Bob decryptieencryptie Vertrouwelijkheid leesbaar bericht leesbaar bericht versleuteld bericht afzender Alice ontvanger Bob

6 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 6 Vertrouwelijkheid Asymmetrische encryptie gebruik voor vertrouwelijkheid  transformeert leesbaar bericht in versleuteld bericht –transformatie op basis van publieke sleutel van ontvanger van het bericht  omgekeerde bewerking: decryptie –omzetting van versleuteld bericht in leesbaar bericht –op basis van vertrouwelijke sleutel van ontvanger van het bericht  alleen bezitter van vertrouwelijke sleutel kan bericht ontcijferen

7 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 7 Vertrouwelijkheid Asymmetrische encryptie vergelijking met symmetrische encryptie bij gebruik voor vertrouwelijkheid  geen uitwisseling van geheime sleutel meer nodig  vaak veel langere sleutels  maar daarom niet veiliger –RSA met 1024 bits, niet beter dan AES met 128 bits  veel trager (2 à 3 grootteordes) –geen vervanging, wel complementair: »bv. versleutelen geheime sleutel voor symmetrische encryptie

8 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 8 encryptie Authenticatie decryptie leesbaar bericht leesbaar bericht versleuteld bericht publieke sleutel Alice vertrouwelijke sleutel Alice afzender Alice ontvanger Bob

9 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 9 Authenticatie Asymmetrische encryptie gebruik voor authenticatie  transformeert leesbaar bericht in versleuteld bericht –transformatie op basis van vertrouwelijke sleutel van afzender van het bericht »alleen bezitter van deze vertrouwelijke sleutel kan bericht op deze manier versleutelen »soort “handtekening” van afzender voor bericht

10 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 10 Authenticatie Asymmetrische encryptie gebruik voor authenticatie  omgekeerde bewerking: decryptie –omzetting versleuteld bericht in leesbaar bericht –op basis van publieke sleutel van afzender van het bericht »verificatie van authenticiteit van afzender »verificatie van data-integriteit van bericht (beperkt) »afzender moet bezitter zijn van vertrouwelijke sleutel die bij deze publieke sleutel hoort –vereist wel dat ontvanger weet wie eigenaar van sleutelpaar is waarvan hij publieke sleutel gebruikt

11 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 11 encryptiedecryptie Vertrouwelijkheid + authenticatie leesbaar bericht leesbaar bericht versleuteld bericht vertrouwelijke sleutel Bob publieke sleutel Bob afzender Alice ontvanger Bob publieke sleutel Alice vertrouwelijke sleutel Alice

12 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 12 Vertrouwelijkheid + authenticatie Asymmetrische encryptie combinatie vertrouwelijkheid/authenticatie  alleen afzender A(lice) kan bericht versturen dat versleuteld werd met vertrouwelijke sleutel van A(lice) –authenticiteit van entiteit A(lice) –data-integriteit van bericht (beperkt) –te verifiëren met publieke sleutel van A(lice)  alleen ontvanger B(ob) kan bericht ontcijferen dat versleuteld werd met publieke sleutel van ontvanger B(ob) –vertrouwelijkheid communicatie tussen A(lice) en B(ob)  vereist wel dat partijen weten tot wie de gebruikte sleutelparen behoren

13 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 13 Asymmetrische encryptie nadelen  traag  onhandig om volledig bericht te moeten versleutelen met asymmetrisch algoritme voor authenticatiedoeleinden combineren met symmetrische encryptie voor vertrouwelijkheid  cf. PGP combineren met hashfuncties voor authenticatie wel geschikt voor korte berichten  bv. sleuteluitwisseling

14 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 14 RSA steunt op moeilijkheid van factorisatie van product van twee grote priemgetallen praktisch meest gebruikt algoritme veranderlijke sleutellengte  aantal bits voor representatie van product  typisch: –512 bits (zwak, kraakbaar op moderne PC) –1024 bits (nog een paar jaar veilig) –2048 bits (zeer veilig) encryptie en decryptie zijn dezelfde bewerking

15 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 15 RSA Sleutelgeneratie selecteer p, q (priemgetallen; vertrouwelijk) bereken n = p × q (publiek) bereken  (n) = (p–1) × (q–1) (vertrouwelijk) selecteer e (publiek)  gcd(  (n),e)=1 en 1 < e <  (n) bereken d (vertrouwelijk)  d = e -1 mod  (n) publieke sleutel: KU={e,n} vertrouwelijke sleutel: KR={d,n} of KR={d,p,q}

16 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 16 RSA: basisprincipe Encryptie (met publieke sleutel {e,n}) C = M e mod n Decryptie M = C d mod n  want ed=k  (n)+1  dus M ed mod n = M mod n (cf. uitbreiding van stelling van Euler) alleen eigenaar van vertrouwelijke sleutel {d,n} kan versleuteld bericht C ontcijferen  realiseert vertrouwelijkheidsfunctie

17 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 17 RSA: basisprincipe Digitale handtekening (met vertrouwelijke sleutel) S = M d mod n alleen eigenaar van vertrouwelijke sleutel {d,n} kan deze signatuur genereren  realiseert authenticatiefunctie Verificatie M = S e mod n iedereen die over publieke sleutel {e,n} beschikt kan signatuur verifiëren

18 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 18 RSA: veiligheid Veiligheid van het algoritme berust op moeilijkheidsgraad van de factorisatie van het product van twee grote priemgetallen  uit p of q kan de vertrouwelijke sleutel {d,n} achterhaald worden  uit  (n) kunnen p en q bepaald worden  uit vertrouwelijke sleutel {d,n} kunnen p en q bepaald worden –bepaal s,t zodat ed – 1 = 2 s t –zoek naar a en i waarvoor a 2 i–1 t ≠±1 mod n en a 2 i t =1 mod n »met 1≤i≤s; dit kan voor de helft van de waarden uit Z n * –gcd(a 2 i–1 t –1, n) > 1 (waarom?)

19 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 19 RSA: veiligheid Veiligheid van het algoritme berust op moeilijkheidsgraad van de factorisatie van het product van twee grote priemgetallen  het is even moeilijk d af te leiden uit KU={n,e} als n te factoriseren –wat niet betekent dat het RSA-probleem equivalent is met de factorisatie van het product van twee grote priemgetallen

20 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 20 RSA: veiligheid Veiligheid van het algoritme berust eveneens op de moeilijkheidsgraad van de berekening van discrete logaritmen  anders kan de vertrouwelijke sleutel {d,n} uit de publieke sleutel {e,n} worden afgeleid  bereken C = M e mod n (gekozen M)  dan moet M = C d mod n  bereken d = ind C,n (M)

21 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 21 RSA: illustratie Principiële illustratie: sleutelgeneratie  p = 13q = 19n = p × q = 247   (n) = (p–1) × (q–1) = 216  kies e = 5(gcd(e,  (n)) = 1)  bepaal d = (e -1 ) mod 216 = 173  (5 × 173 = 865 = 1 mod 216)  KU = {5, 247} (publiek)  KR = {173, 247} (vertrouwelijk) encryptie/decryptie  gegeven bericht M = 71  encryptie: C = M 5 mod 247 = 67  decryptie: M = C 173 mod 247 = 71

22 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 22 RSA-signatuur: versnelling Berekening van S = m d mod n via CRT bereken S p = m d mod p bereken S q = m d mod q  maar d = d mod (p–1) + k (p–1) = d mod (p–1) + k  (p)  zodat S p = m d mod (p–1) m k  (p) mod p = m d mod (p–1) mod p –wegens de stelling van Fermat  analoog: S q = m d mod (q–1) mod q –zowel S p als S q zijn stuk sneller te berekenen dan S: berekeningen gebeuren mod p en mod q i.p.v. mod n bereken hieruit dan S = CRT(S p, S q )  met behulp van de Chinese reststelling

23 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 23 RSA-aanvallen Kleine publieke exponenten soms e klein gekozen en gemeenschappelijk voor vele gebruikers (bv. e = 3) voordeel:  tijdwinst bij encryptie met publieke sleutel of verificatie signatuur nadeel:  kwetsbaar als hetzelfde bericht met verschillende publieke sleutels {3,n i } versleuteld wordt –C 1 =M 3 mod n 1 C 2 =M 3 mod n 2 C 3 =M 3 mod n 3 –met CRT hieruit M 3 (waaruit M gemakkelijk af te leiden is)  kwetsbaar voor berichten M < n 1/e

24 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 24 RSA-aanvallen Kleine publieke exponenten oplossing  gebruik grotere “kleine” exponenten (bv. e= )  “salting”: toevoegen van random bits aan te versleutelen bericht

25 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 25 RSA-aanvallen Beperkt aantal mogelijke berichten probleem:  exhaustief uitproberen van mogelijke berichten tot bericht gevonden is dat zelfde versleutelde bericht genereert oplossing:  “salting” –maakt berichtruimte veel minder beperkt

26 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 26 RSA-aanvallen Kleine vertrouwelijke exponent d voordeel:  snellere decryptie of digitale handtekening nadeel:  er bestaan specifieke snellere factorisatiealgoritmen wanneer gcd(p–1, q–1) klein is en lg(d) < 1/4 lg(n) oplossing:  gebruik geen kleine vertrouwelijke exponenten

27 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 27 RSA-aanvallen Multiplicatieve eigenschappen vervalsbare handtekeningen  S(m 1 ) = m 1 d mod nS(m 2 ) = m 2 d mod n  S(m 1 × m 2 ) = S(m 1 ) × S(m 2 ) mod n  S(r e × m 1 ) = r × S(m 1 ) mod n “adaptive chosen ciphertext”-aanval  laat c’ = r e ×c mod n decrypteren, waaruit decryptie van c volgt oplossing:  encryptie van gestructureerde berichten

28 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 28 RSA-aanvallen Gemeenschappelijke modulus n voor ≠ entiteiten voordeel:  slechts 1 paar priemgetallen te genereren (bv. door vertrouwde centrale autoriteit) nadeel:  elke gebruiker kent vertrouwelijke sleutel van andere gebruikers –uit e i, d i kan de factorisatie van n afgeleid worden –uit e j en de factorisatie van n kan d j afgeleid worden  buitenstaander kan uit 2 verschillende encrypties van hetzelfde bericht, leesbare bericht weer afleiden

29 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 29 RSA-aanvallen Gemeenschappelijke modulus n voor ≠ entiteiten oplossing:  aparte modulus voor elke gebruiker

30 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 30 RSA-aanvallen Cyclische aanvallen (“cycling attacks”) voor versleuteld bericht c  zoek zekere waarde k, zodat gcd(c e k –c,n)≠1  als gcd(c e k –c,n)=n, kan m bepaald worden: –m=c e k–1 mod n  als gcd(c e k –c,n)≠n, kunnen p en q (factoren van n) bepaald worden geen reëel gevaar  probleem even moeilijk als RSA zelf

31 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 31 RSA-aanvallen Onbeveiligde (“unconcealed”) berichten er bestaan berichten m waarvoor:  m e = m mod n –bv. m = 0; m = 1; m = n–1  hun aantal is [1+gcd(e–1, p–1)][1+gcd(e–1, q–1)] (≥9) voor random gekozen p en q dit is geen significant probleem voor  e = 3  e =  e random

32 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 32 RSA: selectie priemgetallen Selectie p en q beide van zelfde grootteorde  anders kwetsbaar voor elliptische- krommenfactorisatie p–q voldoende groot  anders risico voor factorisatie rond n 1/2  geen probleem bij random keuze van p en q

33 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 33 RSA: selectie priemgetallen Selectie p en q aanbeveling voor keuze van sterke priemgetallen (“strong primes”) p (?)  p–1 heeft voldoende grote priemfactor r –beveiliging tegen (p–1)-algoritme van Pollard  p+1 heeft voldoende grote priemfactor –beveiliging tegen andere efficiënte algoritmen  r+1 heeft voldoende grote priemfactor –beveiliging tegen cyclische aanvallen

34 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 34 RSA: selectie publieke exponent Selectie e random waarde  voordeel: geen specifieke kwetsbaarheden  nadeel: orde lg(n) modulaire vermenigvuldigingen e = 3  voordeel: veel sneller (2 modulaire vermenigvuldigingen)  nadeel: specifieke kwetsbaarheid (cf. slide 22) e =  voordeel: sneller (17 modulaire vermenigvuldigingen)  nadeel: specifieke kwetsbaarheid bij versleuteling van lineair gerelateerde berichten (m 1 = a m 2 + b, met a en b gekend)

35 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 35 RSA-schema’s Specifieke schema’s om zwakheden in “naakt” RSA-algoritme te vermijden encryptie van gestructureerde berichten eventueel toevoegen van random bits

36 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 36 RSA-schema’s Specifieke schema’s voorbeelden:  PKCS#1-1.5 (Public-Key Cryptography Standards) –zowel voor encryptie als voor digitale handtekening  PKCS#1-2.0 en 2.1 –RSA-OAEP (Optimal Asymmetric Encryption Padding) »voor encryptie (gebruik makend van hashfuncties) –RSA-PSS (Probabilistic Signature Scheme) »voor digitale handtekeningen (gebruik makend van hashfuncties)

37 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 37 RSA-schema’s PKCS#1-1.5 voor encryptie:  1) formattering van te encrypteren data  2) conversie van byte-string naar geheel getal  3) uitvoering van (standaard) RSA berekening  4) conversie van geheel getal naar byte-string voor decryptie:  inverse bewerkingen van encryptieprocedure vooral aandacht voor formattering

38 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 38 RSA-schema’s PKCS#1-1.5-formattering EB = 00 || BT || PS || 00 || D  “encryption block”  te encrypteren blok van k bytes (k is 128 voor RSA- 1024)  meest significante byte links (voor conversie naar geheel getal)  k moet minstens 12 zijn  00: enkelvoudige byte  BT: “block type” (type formattering)  PS: “padding string” (vulling)  D: “data” 1 byte max. k–11 bytes* min. 8 bytes* *: deze regel geldt strikt genomen niet voor alle “block types”, maar wel voor de meest gebruikelijke

39 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 39 RSA-schema’s PKCS#1-1.5-formattering EB = 00 || BT || PS || 00 || D  eerste “00”-byte garandeert dat getal kleiner is dan modulus  D: “data” –eventueel afkomstig van hashalgoritme (voor digitale handtekening) 1 byte max. k–11 bytes* min. 8 bytes* *: voor BT =“01” of “02”

40 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 40 RSA-schema’s PKCS#1-1.5-formattering EB = 00 || BT || PS || 00 || D  BT: “block type” –“00” of “01” voor bewerkingen met vertrouwelijke sleutel (o.a. handtekening) »aangeraden wordt “01” te gebruiken »als BT=“00” moet data (D) gekende lengte hebben of niet met “00”-byte beginnen –“02” voor bewerkingen met publieke sleutel (bv. encryptie)  tweede “00”-byte scheidt vulling (PS) van data (D) voor BT=“01” of “02” 1 byte max. k–11 bytes* min. 8 bytes* *: voor BT =“01” of “02”

41 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 41 RSA-schema’s PKCS#1-1.5-formattering EB = 00 || BT || PS || 00 || D  PS: “padding string” –nodige vulling om tot een encryptieblok van k bytes te komen –voor BT=“00”: vulling met “00”-bytes »vandaar vereiste voor data (D) –voor BT=“01”: vulling met “FF”-bytes »geen speciale vereiste voor data (D) 1 byte max. k–11 bytes* min. 8 bytes* *: voor BT =“01” of “02”

42 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 42 RSA-schema’s PKCS#1-1.5-formattering EB = 00 || BT || PS || 00 || D  PS: “padding string” –voor BT=“02”: vulling met pseudo-random bytes verschillend van “00” »aangeraden wordt deze pseudo-random bytes voor elke encryptie afzonderlijk te genereren (hergebruik houdt risico in) –minimaal 8 bytes bij BT=“01” of “02” »voor BT=“02” is er anders het gevaar dat iemand alle mogelijke vullingen zou uitproberen 1 byte max. k–11 bytes* min. 8 bytes* *: voor BT =“01” of “02”

43 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 43 RSA-schema’s PKCS#1-1.5-formattering bescherming tegen enkele RSA-aanvallen  kleine publieke exponenten –BT=“02”: gebruik van pseudo-random vulling (nooit tweemaal hetzelfde bericht) + bericht nooit < n 1/e  beperkt aantal mogelijke berichten –BT=“02”: gebruik van pseudo-random vulling (min. 8 bytes)

44 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 44 RSA-schema’s PKCS#1-1.5-formattering bescherming tegen enkele RSA-aanvallen  multiplicatieve eigenschappen –BT=“01”: gestructureerd bericht, vervalsbare handtekeningen praktisch onmogelijk –BT=“02”: structuur, “adaptive chosen ciphertext”- aanval bemoeilijkt  andere aanvallen konden al eenvoudig vermeden worden

45 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 45 RSA-schema’s PKCS#1-1.5: encryptieschema toch kwetsbaar gebleken voor specifieke aanval:  “Million Message Attack” –ontcijfering van versleuteld bericht (zonder sleutel te achterhalen) –zie oefeningen voor basisprincipe hiervan  voor geïnteresseerden: –“Chosen Ciphertext Attacks against Protocols based on RSA Encryption Standard PKCS #1” van Daniel Bleichenbacher

46 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 46 RSA-schema’s PKCS#1-2.0: RSA-OAEP aantoonbaar veilig encryptieschema  onder zekere hypotheses (o.a. ideale hashfuncties) formeel aan te tonen dat het achterhalen van een leesbaar bericht uit een versleuteld bericht even moeilijk is als het oplossen van het RSA-probleem

47 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 47 RSA-schema’s PKCS#1-1.5: signatuurschema niet aantoonbaar veilig  d.w.z. er bestaat geen formeel bewijs om aan te tonen dat deze vorm van asymmetrische encryptie gerelateerd is met een moeilijk wiskundig probleem (i.c. het RSA-probleem) –het is niet uit te sluiten dat er technieken bestaan om met dit schema efficiënt vervalste handtekeningen te genereren –praktisch is dit schema echter nog altijd niet gekraakt

48 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 48 RSA-schema’s PKCS#1-2.1: RSA-PSS aantoonbaar veilig signatuurschema  onder zekere hypotheses (o.a. ideale hashfuncties) formeel aan te tonen dat genereren van vervalste handtekeningen even moeilijk is als het oplossen van het RSA-probleem

49 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 49 RSA: onverwachte aanvalshoeken Timing niet echt op totale tijd nodig voor algoritme  geeft typisch slechts indicatie over aantal 1-bits in exponent wel op variaties in berekeningstijd  nodige informatie: –voldoende aantal paren (leesbaar bericht, versleuteld bericht) + decryptietijd + precies gebruikt algoritme en architectuur  berekening van machten afhankelijk van grondtal en bewerking (kwadratering of kwadratering en vermenigvuldiging)  indien juiste bit gegokt, correlatie tussen oorspronkelijke decryptietijd en tijdens cryptanalyse gemeten tijd, anders niet

50 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 50 RSA: onverwachte aanvalshoeken Timing voor geïnteresseerden  “Timing Attacks on Implementations of Diffie- Hellman, RSA, DSS, and Other Systems” van Paul C. Kocher

51 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 51 RSA: onverwachte aanvalshoeken Timing illustratie  voorbeeld mod 247  67 1 mod 247 = 67  67 2×1 mod 247 = 67 2 mod 247 = 43  67 2×2+1 mod 247 = 67 5 mod 247 = 136  67 2×5 mod 247 = mod 247 = 218  67 2×10+1 mod 247 = mod 247 = 31  67 2×21+1 mod 247 = mod 247 = 167  67 2×43 mod 247 = mod 247 = 225  67 2×86+1 mod 247 = mod 247 = 71 (173 = in binaire representatie) kan trager zijn voor bepaalde waarden van exponent en grondtal

52 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 52 RSA: onverwachte aanvalshoeken Timing vooral nuttig als men over smartcard beschikt  bevat geheime sleutel  maar sleutel is niet rechtstreeks toegankelijk oplossingen  toevoegen van een willekeurige vertraging –bemoeilijkt timing-analyse  “blinding” van decryptiebewerking –i.p.v. M = C d mod n –bereken eerst r e mod n (r willekeurig en geheim) –bereken dan M = r -1 ×(C × r e ) d mod n »waarde grondtal voor machtsverheffing onbekend voor aanvaller »maakt timing-analyse onmogelijk

53 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 53 RSA: onverwachte aanvalshoeken Verbruikt vermogen uit vermogen dat smartcard verbruikt kan informatie afgeleid worden over bewerking die uitgevoerd wordt  onderscheiden kwadratering en kwadratering+vermenigvuldiging in combinatie met timing-aanval te gebruiken

54 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 54 RSA: onverwachte aanvalshoeken Foutinjectie bij versnelde RSA-signatuur berekening van S = m d mod n in 3 stappen (n = p × q):  bereken S p = m d mod (p-1) mod p  bereken S q = m d mod (q-1) mod q  S = CRT(S p, S q )

55 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 55 RSA: onverwachte aanvalshoeken Foutinjectie bij versnelde RSA-signatuur bereken S, maar zorg ervoor dat fout optreedt bij berekening van S p (door opwarming of interferentie)  we bekomen S’ = CRT(S’ p, S q )  S = S’ mod q, maar S ≠ S’ mod p (CRT)  S e = (S’) e mod q, maar S e ≠ (S’) e mod p  en we weten dat m = S e mod n (dus ook mod p of mod q)  m.a.w. m = (S’) e mod q, maar m ≠ (S’) e mod p  zodat gcd((S’) e – m, n) = q: factorisatie geslaagd!!

56 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 56 ElGamal steunt op moeilijkheid van berekening van discrete logaritmen in Z p * (DLP)  of in eindige cyclische groep G (veralgemening ElGamal) (GDLP) steunt op moeilijkheidsgraad van zogeheten Diffie-Hellman-probleem in Z p * (DHP)  of veralgemening ervan in cyclische groep G (GDHP)

57 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 57 ElGamal veranderlijke sleutellengte  aantal bits voor representatie van orde van groep  typisch: –512 bits (zwak, kraakbaar op moderne PC) –1024 bits (nog een paar jaar veilig) –2048 bits (zeer veilig)

58 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 58 ElGamal Het Diffie-Hellman-probleem (DHP) gegeven: priemgetal p, generator  voor Z p *,  a mod p en  b mod p gevraagd:  ab mod p dit blijkt een moeilijk probleem te zijn veralgemening (GDHP):  gegeven: eindige cyclische groep G, met generator ,  a en  b  gevraagd:  ab –met alle machtsverheffingen binnen cyclische groep G

59 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 59 ElGamal Het Diffie-Hellman-probleem (DHP) (G)DHP ≤ P (G)DLP  het omgekeerde is nog niet aangetoond  het is dus niet bekend of beide problemen equivalent zijn

60 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 60 ElGamal Sleutelgeneratie selecteer p (priemgetal; publiek) bepaal generator  voor Z p * (publiek) kies random exponent a (vertrouwelijk) (1 ≤ a ≤ p–2) bereken  a (publiek) publieke sleutel: KU={p, ,  a } vertrouwelijke sleutel: KR={a}

61 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 61 ElGamal: basisprincipe Encryptie (met publieke sleutel {p, ,  a }) kies random exponent k (1 ≤ k ≤ p–2) (vertrouwelijk) bereken  =  k mod p en  = M (  a ) k mod p C = ( ,  ) Decryptie bereken  -a =  p–1–a mod p bereken M =  -a  mod p alleen eigenaar van vertrouwelijke sleutel {a} kan versleuteld bericht C ontcijferen  realiseert vertrouwelijkheidsfunctie

62 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 62 ElGamal: basisprincipe Digitale handtekening (met vertrouwelijke sleutel) kies random exponent k (1 ≤ k ≤ n–2) (vertrouwelijk)  waarbij gcd(k, p–1)=1 bereken  =  k mod p en  = k -1 (M – a  ) mod (p–1) S = ( ,  ) alleen eigenaar van vertrouwelijke sleutel {a} kan deze signatuur genereren  realiseert authenticatiefunctie

63 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 63 ElGamal: basisprincipe Digitale handtekening: verificatie (  a )    =  M mod p (reken na!) iedereen die over publieke sleutel {p, ,  a } beschikt kan signatuur verifiëren

64 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 64 ElGamal Veiligheid van het algoritme even moeilijk te breken als Diffie-Hellman- probleem typisch gelijkaardige parameterwaarden als voor RSA  lengte van p van 1024 bits is vergelijkbaar met RSA –tenzij p hergebruikt wordt voor verscheidene sleutelparen »dan beter langere priemgetallen te kiezen

65 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 65 ElGamal Veralgemening in plaats van in Z p * te werken, kan in een algemene cyclische groep G van orde n gewerkt worden  voorwaarde: voldoende moeilijkheidsgraad van GDLP en GDHP  over GF(p m ), over Z n * (met n samengesteld), over elliptische krommen over een eindig veld,…

66 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 66 ElGamal Hergebruik van p en  mogelijk in tegenstelling tot hergebruik van RSA-modulus n vermijdt telkens genereren van priemgetal en generator  vrij rekenintensieve activiteiten indien gedeeld over verschillende entiteiten  mogelijkheid om lengte van publieke sleutel te beperken –alleen  a meegeven  wel kwetsbaarder voor cryptanalyseaanvallen –op te vangen door langere p te kiezen

67 ECC Cryptografie met elliptische krommen Engels: Elliptic Curve Cryptography zeer analoog met ElGamal  ook over elliptische krommen is DLP en DHP moeilijk op te lossen –complexiteit kraken O(q 1/2 ) »met q aantal elementen van elliptische kromme  vervang vermenigvuldiging door optelling  vervang machtsverheffing door vermenigvuldiging  nood aan geschikte mapping tussen berichten en punten op EC cf. boek H. 10, p. 343vv. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 67

68 ECC Sleutelgeneratie selecteer elliptische kromme EC (publiek)  meestal beperkte keuze tussen standaardkrommen bepaal generator G voor {EC,+} (publiek)  punt op EC kies random vermenigvuldiger a (vertrouwelijk) (1 ≤ a < q)  met q aantal elementen EC bereken P a = a G (publiek) publieke sleutel: KU={EC, G, P a } vertrouwelijke sleutel: KR={a} Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 68

69 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 69 ECC Encryptie (met publieke sleutel {EC, G, P a }) kies random factor k (1 ≤ k < q–1) (vertrouwelijk) bereken C M = (k G, P M + k P a ) Decryptie bereken P M = (P M + k P a ) – a (k G) alleen eigenaar van vertrouwelijke sleutel {a} kan versleuteld bericht C M ontcijferen  realiseert vertrouwelijkheidsfunctie

70 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 70 ECC Digitale handtekening zie later DSA Sleuteluitwisseling zie later DH

71 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 71 Asymmetrische encryptie Lange berichten berichten groter dan te encrypteren blok moeten eerst opgesplitst worden voor ze versleuteld kunnen worden  bericht moet kleiner zijn dan modulus n bij “naakte” RSA  bericht mag maximaal 936 bits bevatten bij RSA-1024 in PKCS#1-1.5-schema opsplitsing in blokken mogelijk zoals bij symmetrische encryptie  wel veel langere blokken

72 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 72 Asymmetrische encryptie Lange berichten modes voor symmetrische encryptie ook hier bruikbaar  althans modes met zowel encryptie als decryptie –ECB, CBC –NIET CFB, OFB, CTR


Download ppt "Cryptografische algoritmen en protocols (2) Cursus informatiebeveiliging Eric Laermans – Tom Dhaene."

Verwante presentaties


Ads door Google