De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Cryptografische algoritmen en protocols (1)

Verwante presentaties


Presentatie over: "Cryptografische algoritmen en protocols (1)"— Transcript van de presentatie:

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

2 beveiligingstransformatie
Beveiligingsmodel Model voor netwerkbeveiliging (ter herinnering) Afzender (A, Alice,) Ontvanger (B, Bob,) Trusted 3rd Party bericht bericht geheime informatie geheime informatie beveiligingstransformatie beveiligd bericht beveiligd bericht informatiekanaal Aanvaller (C, Carol, Trudy,) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

3 Principe van Kerckhoff:
Beveiligingsmodel Principe van Kerckhoff: beveiligingstransformatie is door iedereen gekend alleen de geheime informatie (sleutel) die aan de hand van deze transformatie het bericht omzet tot een beveiligd bericht wordt geheim gehouden Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

4 Aanvallen tegen beveiligingstransformatie
Aanvalshoeken brute kracht alle mogelijke sleutels uitproberen tot juiste sleutel gevonden is cryptanalyse subtielere aanvallen die gebruik maken van kennis over structuur van het algoritme en eventueel ook van extra kennis over paren (leesbaar bericht, versleuteld bericht) om leesbaar bericht of sleutel zelf te achterhalen Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

5 Aanvallen tegen beveiligingstransformatie
Aanvalshoeken onverwachte aanvalshoeken (“side-channel attack”) subtiele aanvallen die gebruik maken van fysische karakteristieken (vermogen, rekentijd, elektromagnetische straling,…) of van geïnduceerde fouten in de berekening om leesbaar bericht of sleutel te achterhalen Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

6 Aanvallen tegen beveiligingstransformatie
Categorieën van aanvallen zie ook boek, p. 60, tabel 2.1 “ciphertext only” alleen beveiligd bericht nodig “known plaintext” beveiligd bericht nodig een aantal paren (leesbaar bericht, beveiligd bericht) met dezelfde sleutel bekomen Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

7 Aanvallen tegen beveiligingstransformatie
Categorieën van aanvallen “chosen plaintext” beveiligd bericht nodig een aantal paren (leesbaar bericht, beveiligd bericht) met dezelfde sleutel bekomen, waarvan het leesbare bericht door de aanvaller gekozen is “chosen ciphertext” een aantal paren (leesbaar bericht, beveiligd bericht) met dezelfde sleutel bekomen, waarvan het beveiligde bericht door de aanvaller gekozen is eruit volgend “leesbaar” bericht eventueel niet zinvol Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

8 Aanvallen tegen beveiligingstransformatie
Categorieën van aanvallen “chosen text” een combinatie van zowel “chosen plaintext” als “chosen ciphertext” Aanvallen van het type “ciphertext only” berusten op informatie die de aanvaller vrij gemakkelijk kan bekomen (hiervoor hoeft hij slechts een beveiligd kanaal af te luisteren). Het is echter veel moeilijker om een dergelijke aanval te laten slagen. Omgekeerd is een aanval van het type “chosen text” allesbehalve evident om op te zetten (het kan erg moeilijk zijn om aan de gewenste paren (leesbaar bericht, versleuteld bericht) te raken. Daarentegen is het een aanval die meer kans op slagen heeft. Bepaalde algoritmen zijn goed beveiligd tegen “ciphertext only” aanvallen, maar niet tegen andere types aanvallen. Dit kan aanvaardbaar zijn als het algoritme goed gebruikt wordt. Andere algoritmen zullen zelfs aan een “chosen text” aanval kunnen weerstaan. We zullen dit soms vermelden bij bepaalde specifieke beveiligingstransformaties. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

9 Welke beveiligingsgraad?
Wat is gewenste beveiligingsgraad? onvoorwaardelijk veilig onmogelijk beveiligingstransformatie te inverteren zonder over geheime informatie te beschikken er bestaan echter geen echt praktische technieken om dit te realiseren computationeel veilig (“computationally secure”) de kost om de versleuteling te verbreken overtreft de waarde van de versleutelde informatie de tijd nodig om de versleuteling te verbreken overtreft de nuttige levensduur van de informatie hieronder vallen alle algoritmen die we zullen bespreken Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

10 Beveiligingstransformatie
Encryptiealgoritmen symmetrische encryptie blokversleuteling stroomversleuteling asymmetrische encryptie Codes voor berichtauthenticatie Hashfuncties Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

11 Symmetrische encryptie
Conventionele of symmetrische encryptie Engels: symmetric encryption principe: transformeert leesbaar bericht in versleuteld bericht transformatie op basis van geheime sleutel omgekeerde bewerking: decryptie (decryption) omzetting van versleuteld bericht in leesbaar bericht ook op basis van zelfde geheime sleutel ongeveer ondoenbaar decryptie uit te voeren zonder kennis van de geheime sleutel Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

12 Symmetrische encryptie
Basiswerking geheime sleutel, zelfde voor encryptie als voor decryptie afzender Alice ontvanger Bob leesbaar bericht leesbaar bericht encryptie decryptie versleuteld bericht Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

13 Symmetrische encryptie
Principe: gebruik van geheime sleutel (secret key) beperkt, maar voldoende aantal bits 40 bits: vrij zwak algoritme 128 of meer bits: sterk tot zeer sterk algoritme enigszins vergelijkbaar met traditioneel wachtwoord Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

14 Symmetrische encryptie
Vertrouwelijkheid beveiligde opslag van gevoelige informatie alleen versleutelde bestanden worden opgeslagen alleen bezitter geheime sleutel kan versleutelde bestanden ontcijferen verloren laptop betekent geen verlies van vertrouwelijkheid alleen geheime sleutel moet beschermd worden bv. opslag op aparte drager Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

15 Symmetrische encryptie
Vertrouwelijkheid beveiligde verzending van gevoelige informatie afluisteren communicatiekanaal geeft geen bruikbare informatie afzender en ontvanger moeten over geheime sleutel beschikken afzender en ontvanger moeten elkaar kunnen vertrouwen verschillende geheime sleutel voor elk communicerend gebruikerspaar Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

16 Symmetrische encryptie
Authenticatie authenticatie van communicerende entiteit A(lice) alleen A(lice) kan deze bepaalde sleutel gebruiken in communicatie met B(ob) nadelen server B(ob) moet over geheime sleutel beschikken van elke partij die met B(ob) wil communiceren onhandig + kwetsbaar geen 100% authenticiteit van oorsprong van bericht ook B(ob) kan dit bericht genereren Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

17 Blok- en stroomversleuteling
Blokversleuteling (“block cipher”) te versleutelen data behandeld in blokken van een zeker aantal bytes (blokgrootte; 8 of 16 bytes bv.) oorspronkelijke data eventueel aan te vullen (“padding”) tot veelvoud van blokgrootte meeste algoritmen Stroomversleuteling (“stream cipher”) versleuteling van data byte na byte (of zelfs bit na bit) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

18 Feistel-encryptieschema
Blokversleuteling Feistel-encryptieschema n ronden onversleutelde tekst F L0 R0 K1 ronde 1 L1 R1 Ki F: rondefunctie ronde i Li Ri : bitgewijze XOR Kn ronde n Ki: sleutel voor ronde i Ln Rn Vele symmetrische encryptiealgoritmen volgen dit schema (o.a. DES), maar niet alle: een tegenvoorbeeld is AES. versleutelde tekst Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

19 Feistel-decryptieschema
Blokversleuteling Feistel-decryptieschema n ronden zelfde structuur als encryptieschema voordelig bij hardware-implementatie versleutelde tekst F L0 R0 Kn ronde 1 L1 R1 Kn–i+1 ronde i Li Ri K1 ronde n Ln Rn Het is gemakkelijk aan te tonen dat dit decryptieschema inderdaad het encryptieschema inverteert, ongeacht de gebruikte rondefunctie F en ongeacht het algoritme om de rondesleutels te genereren. onversleutelde tekst Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

20 Bedoeling Feistelschema
Blokversleuteling Bedoeling Feistelschema alterneren van verwarrings- en verspreidingsfuncties (confusion en diffusion) bedoeling is dat statistische eigenschappen van leesbare tekst (frequentie van voorkomen van tekens bv.) niet meer terug te vinden zijn in versleutelde tekst verspreiding: wijzigen van 1 karakter in invoer heeft invloed op vele karakters in uitvoer, d.w.z. dat elk karakter van uitvoer bepaald is door vele karakters van invoer gerealiseerd door combinatie van permutaties en transformaties Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

21 Bedoeling Feistelschema
Blokversleuteling Bedoeling Feistelschema alterneren van verwarrings- en verspreidingsfuncties (confusion en diffusion) verwarring: zo complex mogelijk maken van verband tussen statistische eigenschappen van versleutelde tekst en sleutel gerealiseerd door complexe substitutieschema’s Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

22 Blokversleuteling Feistelschema principe
enkelvoudige ronde biedt onvoldoende beveiliging alleen voldoende aantal ronden biedt gewenste beveiliging combinatie van: substituties (m.b.v. rondefunctie F, rondesleutel Ki en XOR-functie) permutaties (verwisselen linker- en rechterhelft data bij elke ronde) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

23 Blokversleuteling Feistelschema parameters
blokgrootte (betere “verspreiding” bij grotere blokken) sleutellengte (langer is veiliger) aantal ronden (hoe meer, hoe veiliger) algoritme om rondesleutels te genereren (complexe functie beter bestand tegen cryptanalyse) rondefunctie (complexe functie beter bestand tegen cryptanalyse) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

24 DES (Data Encryption Standard)
aangenomen door NIST (toen nog National Bureau of Standards) als encryptiestandaard in 1977 (!) eigenschappen volgens Feistel-schema blokgrootte van 64 bits sleutellengte van 56 bits intussen niet meer als sterke cryptografie te beschouwen (gekraakt sinds 1998) ontworpen voor hardware-implementaties (8 bits), eerder dan voor software-implementaties (32 bits) verouderd en traag cf. boek, H. 3, p. 101vv. DES is vandaag kraakbaar in minder dan een dag rekentijd op (niet ál te dure) specifiek hiervoor ontworpen hardware (FPGA’s): Het is nog steeds niet haalbaar om DES op 1 PC te kraken met brute kracht binnen een aanvaardbare rekentijd (onder andere doordat DES zo traag werkt in software-implementaties). Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

25 DES tekst: 64 bits sleutel: 56 bits Rnd-16 IP Rnd-i Swap IP-1 PC-2
LS(16) LS(1) LS(i) Rnd-1 PC-1 F Feistel-schema met 16 ronden Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

26 DES: details van één ronde
S-boxes E-box L(i-1) R(i) L(i) R(i-1) P-box F PC-2 D(i-1) D(i) C(i-1) C(i) LS(i) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

27 DES: initiële permutatie en eerste ronde
sleutel: 56 bits Rnd-16 IP Rnd-i Swap IP-1 PC-2 LS(16) LS(1) LS(i) Rnd-1 PC-1 permutatiekeuze 1 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

28 DES: sleutelgeneratie – permutatiekeuze 1
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 X X X X PC-1 Input key 01 15 29 43 08 22 36 50 02 03 04 05 06 07 09 10 11 17 18 19 20 21 23 24 25 26 27 28 12 13 14 16 30 31 32 33 34 35 37 38 39 40 41 42 44 45 46 47 48 49 51 52 53 54 55 56 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

29 DES: sleutelgeneratie voor ronde 1
Rnd-16 IP Rnd-i Swap IP-1 PC-2 LS(16) LS(1) LS(i) Rnd-1 PC-1 PC-2 D(0) D(1) C(0) C(1) LS(1) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

30 DES: sleutelgeneratie – 1 bit naar links
LS(1) voor andere ronden: 1 of 2 bits naar links verschuiven (cf. boek p. 109 tabel 3.4d) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

31 DES: sleutelgeneratie voor ronde 1
PC-2 D(0) D(1) C(0) C(1) LS(1) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

32 DES: sleutelgeneratie – permutatiekeuze 2
07 05 03 01 06 04 02 28 15 23 55 51 43 35 14 22 54 21 53 49 41 33 12 20 52 48 40 32 50 42 34 13 11 19 27 47 39 31 10 18 26 46 38 30 09 17 25 45 37 29 08 16 24 44 36 56 PC-2 07 05 03 01 06 04 02 28 15 23 55 51 14 21 53 49 41 33 12 20 52 48 40 32 50 42 34 13 11 19 27 47 39 31 10 26 46 30 17 45 37 29 08 16 24 44 36 56 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

33 DES: encryptie – initiële permutatie
Rnd-16 IP Rnd-i Swap IP-1 PC-2 LS(16) LS(1) LS(i) Rnd-1 PC-1 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

34 DES: encryptie – initiële permutatie
01 02 03 04 05 06 07 08 09 10 11 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 12 13 14 15 16 33 34 35 36 37 38 39 40 41 42 43 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 44 45 46 47 48 IP 01 02 03 04 05 06 07 08 09 10 11 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 12 13 14 15 16 33 34 35 36 37 38 39 40 41 42 43 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 44 45 46 47 48 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

35 DES: encryptie – details rondefunctie
Rnd-16 IP Rnd-i Swap IP-1 PC-2 LS(16) LS(1) LS(i) Rnd-1 PC-1 S-boxes E-box L(0) R(1) L(1) R(0) P-box F Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

36 DES: encryptieronde – expansie
01 02 03 04 05 06 07 08 09 10 11 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 12 13 14 15 16 12 13 14 15 16 01 02 03 04 05 06 07 08 09 10 11 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 E-box 011110 100001 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

37 DES: encryptie – details rondefunctie
S-boxes E-box L(0) R(1) L(1) R(0) P-box F Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

38 DES: encryptie – XOR met deelsleutel
= Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

39 DES: encryptie – details rondefunctie
S-boxes E-box L(0) R(1) L(1) R(0) P-box F Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

40 DES: encryptie – substituties
in: 8 × 6 bits S1 S2 S3 S4 S5 S6 S7 S8 uit: 8 × 4 bits Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

41 DES: encryptie – eerste S-box
101001 000010 100101 110001 000100 111111 001110 110111 101001 S1 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

42 DES: encryptie – eerste S-box
S1 Details over andere S-boxes (cf. boek p. 108 tabel 3.3) 0100 14 4 13 1 2 15 11 8 3 10 6 12 5 9 7 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

43 DES: encryptie – substituties
101001 000010 100101 110001 000100 111111 001110 110111 S-boxes Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

44 DES: encryptie – details rondefunctie
S-boxes E-box L(0) R(1) L(1) R(0) P-box F Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

45 DES: encryptie – permutatie
01 02 03 04 05 06 07 08 09 10 11 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 12 13 14 15 16 P-box 01 02 03 04 05 06 07 08 09 10 11 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 12 13 14 15 16 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

46 DES: encryptie – details rondefunctie
S-boxes E-box L(0) R(1) L(1) R(0) P-box F Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

47 DES: encryptie – XOR van linker- en rechterlid
= Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

48 Basisbegrippen van cryptanalyse
lineaire cryptanalyse gegeven invoer X=[x1, x2,…] (met xi individuele invoerbits, inclusief sleutelbits) en uitvoer Y=[y1, y2,…] (met yi individuele uitvoerbits) beschouw lineaire combinatie van in- en uitvoerbits: xi1  xi2  …  xiu  yj1  yj2  …  yjv als encryptiealgoritme ideaal werkt zal zo’n lineaire combinatie probabiliteit van 1/2 hebben om waarde 0 (of 1) te hebben Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

49 Basisbegrippen van cryptanalyse
lineaire cryptanalyse zoek naar lineaire combinaties waarvoor probabiliteit voldoende verschilt van 1/2 op basis van structuur van individuele ronde vooral concentreren op niet-lineaire elementen: S-boxes proberen te gebruiken om meer informatie af te leiden over volledig algoritme Lineaire cryptanalyse kan uitgevoerd worden op basis van een “known plaintext” aanvalsschema. Deze vorm van cryptanalyse blijkt niet echt effectief te kunnen gebruikt worden tegen een algoritme als DES. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

50 Basisbegrippen van cryptanalyse
differentiële cryptanalyse gegeven invoer X=[x1, x2,…] (met xi individuele invoerbits) en uitvoer Y=[y1, y2,…] (met yi individuele uitvoerbits) bepaal koppels van invoer- en uitvoerwaarden (X’, X” en Y’,Y”), zodat verschil tussen invoerwaarden ΔX= X’X” met een voldoende grote waarschijnlijkheid aanleiding geeft tot verschil tussen uitvoerwaarden ΔY= Y’Y” Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

51 Basisbegrippen van cryptanalyse
differentiële cryptanalyse zoek naar verschillen waarvoor probabiliteit voldoende groot is op basis van structuur van individuele ronde vooral concentreren op niet-lineaire elementen: S-boxes proberen te gebruiken om meer informatie af te leiden over volledig algoritme Differentiële cryptanalyse vereist typisch een “chosen plaintext” aanvalsschema, wat moeilijker te verwezenlijken is dan een “known plaintext” aanval. Ook deze vorm van cryptanalyse blijkt niet echt effectief te kunnen gebruikt worden tegen een algoritme als DES (dit zou wel het geval geweest zijn met een kleiner aantal rondes). Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

52 Gebruiksmodes voor blokversleuteling
modes niet beperkt tot specifiek encryptiealgoritme encryptiealgoritme als zwarte doos te beschouwen enkele voorbeelden ECB (Electronic CodeBook) CBC (Cipher Block Chaining) CFB (Cipher FeedBack) OFB (Output FeedBack) CTR (CounTeR) andere, zoals CTS (CipherText Stealing; eigen aan RC5; laat toe versleutelde tekst van zelfde lengte als oorspronkelijke tekst te genereren), CCM (Counter with Cbc-Mac),… Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

53 ECB: encryptie geheime sleutel encryptie P1 C1 leesbare datablokken
versleutelde datablokken encryptie P1, P2,…: opeenvolgende blokken klare tekst (“plaintext”) C1, C2,…: opeenvolgende blokken versleutelde tekst (“ciphertext”) P2 C2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

54 ECB: decryptie geheime sleutel decryptie C1 P1 versleutelde
datablokken leesbare datablokken decryptie C2 P2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

55 ECB (Electronic CodeBook)
versleuteling van het bericht blok per blok zelfde datablok genereert zelfde versleuteld blok (met zelfde sleutel) in orde voor korte te versleutelen berichten geeft relatief veel informatie vrij geknoei mogelijk met volgorde van doorgestuurde versleutelde blokken geknoei mogelijk door versleutelde blokken opnieuw te sturen (replay-aanvallen) bitfout in transmissie maakt 1 blok onleesbaar gemakkelijk te parallelliseren Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

56 CBC: encryptie geheime sleutel IV encryptie P1 C1  leesbare
datablokken versleutelde datablokken encryptie IV: intialisatievector (Initialisation Vector) : XOR-bewerking P2 C2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

57 CBC: decryptie geheime sleutel IV decryptie C1 P1  versleutelde
datablokken leesbare datablokken decryptie C2 P2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

58 CBC (Cipher Block Chaining)
nieuw versleuteld blok afhankelijk van resultaat versleuteling vorig blok samenvoeging m.b.v. bitgewijze XOR voor algemeen gebruik (ook langere berichten) bruikbaar voor authenticatie werkt met een initiële waarde IV te kennen door afzender en ontvanger best beveiligd uit te wisselen zoals sleutel bitfout in transmissie maakt 1 blok onleesbaar en genereert bitfout in volgend blok niet te parallelliseren Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

59 s-bit CFB: encryptie geheime sleutel leesbare datablokken P1 encryptie
IV C1 versleutelde datablokken P2 s bits encryptie Het aantal bits s is typisch 1, 8, 64 of 128 (voor encryptiealgoritmen met een blokgrootte van 128 bits). Op deze manier kan men een stroomversleuteling realiseren m.b.v. een blokversleutelingsalgoritme. De prijs die men hiervoor moet betalen is een sterke vertraging van het encryptiemechanisme. C2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

60 s-bit CFB: decryptie geheime sleutel leesbare datablokken P1 encryptie
IV C1 versleutelde datablokken P2 s bits encryptie Merk op dat hier ook voor de decryptie van de versleutelde data (C1, C2,…) gebruikt gemaakt wordt van het encryptiealgoritme, en niet van het decryptiealgoritme. C2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

61 CFB (Cipher FeedBack; volledig register)
vrij gelijkaardige eigenschappen als CBC laat toe stroomversleuteling te verwezenlijken m.b.v. blokversleuteling ten koste van nodige rekentijd bitfout in transmissie maakt n/s volgende blokken onleesbaar (met n de blokgrootte) en genereert bitfout in eerste blok Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

62 s-bit OFB: encryptie geheime sleutel leesbare datablokken P1 encryptie
IV C1 versleutelde datablokken P2 s bits encryptie Ook hier is het aantal bits s typisch 1, 8, 64 of 128 (voor encryptiealgoritmen met een blokgrootte van 128 bits). Op deze manier kan men een stroomversleuteling realiseren m.b.v. een blokversleutelingsalgoritme. De prijs die men hiervoor moet betalen is een sterke vertraging van het encryptiemechanisme. Bovendien blijkt OFB alleen veilig te gebruiken bij volledige feedback (s gelijk aan de blokgrootte) voor DES. Anders is het schema kwetsbaar (R.R. Jueneman, “Analysis of certain aspects of Output Feedback Mode,” Advances in Cryptology, Proceedings Crypto’82, D. Chaum, R.L. Rivest, en A.T. Sherman, Eds., Plenum Press, New York, 1983, pp. 99–127). De reden hiervoor is dat de gegenereerde sleutelstroom cyclisch wordt met een te korte gemiddelde periode (orde 231 i.p.v. 264) bij onvolledige feedback. C2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

63 s-bit OFB: decryptie geheime sleutel versleutelde datablokken C1
encryptie IV P1 leesbare datablokken C2 s bits encryptie Merk op dat hier ook voor de decryptie van de versleutelde data (C1, C2,…) gebruikt gemaakt wordt van het encryptiealgoritme, en niet van het decryptiealgoritme. P2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

64 OFB (Output FeedBack; volledig register)
creëert een soort bloksgewijze sleutelstroom elk zo gegenereerd blok wordt via bitgewijze XOR gecombineerd met datablok tot versleuteld datablok vooraf berekenen sleutelstroom mogelijk als echte sleutelstroom (byte-gewijze) is deze mode niet veilig voor DES Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

65 OFB (Output FeedBack; volledig register)
voordeel: bitfout in transmissie beperkt zich tot 1 bit geschikt voor kanalen met veel ruis nadeel: geknoei met verzonden data niet onmogelijk 1 bit wijzigen in versleutelde tekst komt overeen met 1 bit wijzigen in oorspronkelijke tekst te combineren met echte data-integriteitsfunctie Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

66 CTR: encryptie geheime sleutel leesbare datablokken P1 encryptie
teller C1 versleutelde datablokken P2 encryptie teller+1 C2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

67 CTR: decryptie geheime sleutel versleutelde datablokken C1 encryptie
teller P1 leesbare datablokken C2 encryptie Merk op dat hier ook voor de decryptie van de versleutelde data (C1, C2,…) gebruikt gemaakt wordt van het encryptiealgoritme, en niet van het decryptiealgoritme. teller+1 P2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

68 CTR CTR (CounTeR) creëert een soort bloksgewijze sleutelstroom
elk zo gegenereerd blok wordt via bitgewijze XOR gecombineerd met datablok tot versleuteld datablok vooraf berekenen sleutelstroom mogelijk voordeel: bitfout in transmissie beperkt zich tot 1 bit nadeel: geknoei met verzonden data niet onmogelijk 1 bit wijzigen in versleutelde tekst komt overeen met 1 bit wijzigen in oorspronkelijke tekst te combineren met echte data-integriteitsfunctie Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

69 CTR CTR (CounTeR) replay-aanvallen wel bemoeilijkt
als unieke initiële tellerwaarde gebruikt wordt gemakkelijk te parallelliseren Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

70 3-DES Van DES naar 3-DES 56 bits van DES-sleutel te weinig…
vandaag kraakbaar …maar DES in veel hardware aanwezig 3 maal achter elkaar uitvoeren van DES-algoritme met verschillende sleutels, nieuwe sleutellengte van 168 bits verlenging van levensduur van DES wel veilig maar nog trager dan DES cf. boek, H. 6, p. 217vv. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

71 3-DES (Triple DES) (encryptie)
K1 K2 K3 afzender Alice ontvanger Bob encryptie decryptie encryptie De werking van 3-DES is vrij eenvoudig. De sleutel van 168 bits wordt in drie deelsleutels (K1, K2 en K3) van 56 bits onderverdeeld, die gebruikt worden in de 3 DES-versleutelingen (encryptie – decryptie – encryptie). Een van de redenen waarom de middelste stap een DES-decryptie is, is compatibiliteit met gewone DES versleuteling. Als de drie deelsleutels gelijk zijn (K1 = K2 = K3 = K), komt 3-DES overeen met gewone DES (met sleutel K). Zo kan hardware voor 3-DES ook gebruikt worden wanneer gewone DES moet gebruikt worden (ten koste van enige rekentijd). Het kan ook gebruikt worden met slechts twee sleutels (K1 = K3 en K2). De effectieve sleutellengte is dan 112 bits. Om helemaal correct te zijn, moeten we vermelden dat de sterkte van 3-DES wat minder is dan de sleutellengte (112 or 168 bits) zou laten vermoeden. “Meet-in-the-middle”-aanvallen, die fataal bleken voor 2-DES, verzwakken het 3-DES-encryptieschema (ten koste, voor de aanvaller, van een complexere aanval, met onder andere een grotere hoeveelheid te verzamelen data). Tenslotte zijn er ook nog meer gevorderede cryptanalyse-aanvallen die de sterkte van het 3-DES-schema verminderen. Wanneer slechts 2 sleutels gebruikt worden (K1 = K3 en K2) is de beveiliging slechts equivalent met een symmetrische encryptie met 80 bits. leesbaar bericht versleuteld bericht Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

72 3-DES (Triple DES) (decryptie)
K1 K2 K3 afzender Alice ontvanger Bob decryptie encryptie decryptie leesbaar bericht versleuteld bericht Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

73 AES (Advanced Encryption Standard)
gebaseerd op het Rijndaelalgoritme. NIST-standaard voor de komende decennia ontwikkeld om te weerstaan aan bekende cryptanalyseaanvallen blokgrootte van 128 bits sleutellengte: 128, 192 of 256 bits geschikt voor hardware- (8 bits) én software-implementaties (32 bits en meer) beduidend sneller dan 3DES voor 32-bit-architectuur cf. boek, H. 5, p. 171vv. Intussen bestaan er ook al cryptanalytische aanvallen tegen AES, die minder inspanning vergen dan een “brute-force attack”. Deze aanvallen zijn voorlopig nog altijd theoretisch van aard. Meestal gaat het om een beperkt aantal rondes, ofwel gaat het om zeer specifieke situaties zoals “related key”- of “related subkey”-attacks, die niet zomaar toepasbaar zijn. Wel blijkt dat AES-256 kwetsbaarder is voor deze aanvallen dan de andere versies. Het grotere aantal bits van de sleutel kan dus een ietwat vals gevoel van veiligheid geven… Voor de (ietwat sarcastische) reactie van een van de auteurs van Rijndael op dit soort exotische aanvallen: De enige aanval (2011) op het echte algoritme biedt slechts vrij minieme winsten (ongeveer een factor 4 ten opzichte van “brute force”). Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

74 Encryptie Decryptie AES-128: overzicht key: 128 bits blok van 128 bits
plain plain w[0,3] Add Key Rnd 10 Exp Key Rnd 1 w[4,7] Rnd 9 Encryptie Decryptie Rnd 9 w[36,39] Rnd 1 De versies van AES met een sleutel van 192 (AES-192) of 256 (AES-256) bits werken volkomen analoog. Er is een klein verschil in de sleutelgeneratie en het aantal rondes verschilt (12 rondes voor AES-192 en 14 voor AES-256). Rnd 10 w[40,43] Add Key cipher wi: woord van 32 bits cipher Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

75 AES: encryptie – rondedetails
Geen Feistel-structuur Substitution Inv column mix Row shift Add round key Column mix Inv substitution Add round key Inv row shift niet in de laatste ronde Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

76 AES-128: sleutelgeneratie
k0 k4 k8 k12 byte LS S-box RC[j] k1 k5 k9 k13 sleutel: 16 bytes zelfde S-box als voor encryptie k2 k6 k10 k14 k3 k7 k11 k15 w0 w1 w2 w3 g j 1 2 3 4 5 RC[j] 01 02 04 08 10 6 7 8 9 20 40 80 1B 36 In het geval van AES-192 bestaat de sleutel uit 24 bytes. De 6 eerste woorden worden rechtstreeks uit de sleutel genomen. Overigens is de behandeling dezelfde, maar per 6 woorden i.p.v. per 4 woorden. Er geldt dus voor AES-192 dat: w6=g(w5)w w7=w6w1 w8=w7w2 w9=w8w w10=w9w w11=w10w5 In het geval van AES-256 bestaat de sleutel uit 32 bytes. De 8 eerste woorden worden rechtstreeks uit de sleutel genomen. Overigens is de behandeling bijna dezelfde, maar per 8 woorden i.p.v. per 4 woorden. Er geldt dus voor AES-256 dat: w8=g(w7)w w9=w8w w10=w9w w11=w10w3 w12=s(w11)w4 w13=w12w5 w14=w13w w15=w14w7 (met s(w11) wordt bedoeld dat woord w11 de substitutie door de S-box ondergaat) RC[j]=xj–1 mod x8+x4+x3+x+1 (berekening in GF(28)), met j het rondenummer voor de sleutelgeneratie. Dit geldt ook voor AES-192 of AES-256. De waarden in de tabel zijn hier in hexadecimale notatie gegeven voor de 10 sleutelgeneratierondes van AES-128. woorden: 4 bytes w4 w5 w6 w7 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

77 AES-128: sleutelgeneratie
w4i w4i+1 w4i+2 w4i+3 g w4i+4 w4i+5 w4i+6 w4i+7 De uitbreiding naar AES-192 of AES-256 is analoog aan wat voor de eerste woorden gebeurde. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

78 AES: encryptie – rondedetails
Substitution Row shift Column mix Add round key Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

79 AES: encryptie – substituties
b0,1=A2 b0,0 b0,1 b0,2 b0,3 kolom 10 (=A) a1,0 a1,1 rij 1 a1,2 a1,3 b1,0 b1,1 b1,2 b1,3 a2,0 a2,1 a2,2 a2,3 b2,0 b2,1 b2,2 b2,3 a3,0 a3,1 a3,2 a3,3 b3,0 b3,1 b3,2 b3,3 S-box A2 bv. a0,1=1A (hexadecimale notatie) De constructie van de S-box is vrij eenvoudig. De S-box kan gezien worden als een matrix van 16 rijen en 16 kolommen. Deze matrix wordt dan rij na rij gevuld met de byte-waarden {00}, {01},…,{FF} (dit alles in hexadecimale notatie). Al deze waarden kunnen geïnterpreteerd worden als elementen van GF(28) (met als irreducibele polynoom x8+x4+x3+x+1). Met uitzondering van {00} worden alle waarden dan geïnverteerd in GF(28). Tenslotte wordt de volgende transformatie op de bits van de nieuw bekomen bytes (b=(b7b6b5b4b3b2b1b0)) uitgevoerd: b’i=bib(i+4)mod8b(i+5)mod8b(i+6)mod8b(i+7)mod8ci met c=(c7c6c5c4c3c2c1c0)={63} Met deze S-box zou een eenvoudige mathematische beschrijving van de relatie tussen de invoer en de uitvoer moeilijk moeten zijn. Bovendien wordt geen enkel element op zichzelf afgebeeld door deze substitutie. Deze S-box zou bestand moeten zijn tegen bekende cryptanalyseaanvallen. meer details over S-box: cf. boek p. 145vv. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

80 AES: encryptie – rondedetails
Substitution Row shift Column mix Add round key Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

81 AES: encryptie – rijverschuivingen
b0,0 b0,1 b0,2 b0,3 b0,0 b0,2 b0,1 b0,3 b1,0 b1,1 b1,2 b1,3 b1,1 b1,3 b1,2 b1,0 b2,0 b2,1 b2,2 b2,3 b2,2 b2,0 b2,1 b2,3 b3,0 b3,1 b3,2 b3,3 b3,3 b3,1 b3,2 b3,0 bytes uit 1e rij 0 bytes naar links verschuiven bytes uit 2e rij 1 byte naar links verschuiven bytes uit 3e rij 2 bytes naar links verschuiven bytes uit 4e rij 3 bytes naar links verschuiven Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

82 AES: encryptie – rondedetails
Substitution Row shift Column mix Add round key Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

83 AES: encryptie – kolombewerkingen
d0,0 d2,0 d1,0 d3,0 d1,1 d3,1 d0,1 d2,1 d2,2 d0,2 d1,2 d3,2 d3,3 d1,3 d0,3 d2,3 02 03 01 c3,3 c1,3 c0,3 c2,3 c1,1 c3,1 c0,1 c2,1 c0,0 c2,0 c1,0 c3,0 c2,2 c0,2 c1,2 c3,2 d3,3 d1,3 d0,3 d2,3 d1,1 d3,1 d0,1 d2,1 d0,0 d2,0 d1,0 d3,0 d2,2 d0,2 d1,2 d3,2 (hexadecimale notatie) × = De bedoeling van de combinatie van de rijverschuivingen en kolombewerkingen is de informatie te permuteren over de hele toestandsblok van 16 bytes. In tegenstelling tot een traditioneel Feistelschema worden alle bits van de toestand behandeld in AES (i.p.v. slechts de helft). De kolombewerkingen zijn zeer eenvoudig (deze voor de equivalente decryptiebewerking zijn het net iets minder). De coëfficiënten zijn zo gekozen dat na enkele rondes alle uitvoerbits afhangen van alle invoerbits. optelling en vermenigvuldiging in GF(28) met irreducibele polynoom x8+x4+x3+x+1 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

84 AES: encryptie – rondedetails
Substitution Row shift Column mix Add round key Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

85 AES: encryptie – toevoegen rondesleutel
w4i+4 w4i+6 w4i+5 w4i+7 rondesleutel voor ronde i d0,0 d2,0 d1,0 d3,0 d1,1 d3,1 d0,1 d2,1 d2,2 d0,2 d1,2 d3,2 d3,3 d1,3 d0,3 d2,3 e0,0 e2,0 e1,0 e3,0 e1,1 e3,1 e0,1 e2,1 e2,2 e0,2 e1,2 e3,2 e3,3 e1,3 e0,3 e2,3 Ook voor AES-192 of AES-256 worden de rondesleutels per 4 woorden van 32 bits toegevoegd aan de toestand. Alleen de sleutelgeneratie werkt per groepen van 6, respectievelijk 8 woorden. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

86 AES: decryptie – kolombewerkingen
Voor AES-decryptie inverse substitutiematrix inverse rijverschuiving inverse kolombewerking zelfde als oorspronkelijke bewerking maar met andere matrix: 0E 0B 0D 09 (hexadecimale notatie) optelling en vermenigvuldiging in GF(28) met irreducibele polynoom x8+x4+x3+x+1 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

87 Blokversleuteling Andere algoritmen Blowfish RC5
veranderlijke sleutellengte (32 tot 448 bits) 64 bit blokgrootte RC5 veranderlijke blokgrootte (2 woorden van 16, 32 of 64 bits) veranderlijk aantal rondes (0 tot 255) veranderlijke sleutellengte (0 tot 255 bytes) normaal RC5-32/12/16 RC2 (verouderd), CAST, IDEA,… Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

88 Vergelijking algoritmen
Vergelijking van snelheid van algoritmen op PC AES-128 ongeveer 3 à 4 maal sneller dan DES 3-DES nog 3 maal trager dan DES Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

89 Stroomversleuteling RC4 sleutellengte van 8 tot 2048 bits
voldoende veilig bij voldoende lange sleutels snel: ongeveer 2 maal sneller dan AES vaak gebruikt in TLS/SSL voor beveiligd internetverkeer maar eerder lange initialisatie nadelen van stroomversleuteling hergebruik van sleutel absoluut afgeraden hetzelfde geldt voor OFB-mode van blokversleuteling (of zelfs CTR-mode met hergebruik van dezelfde teller) cf. boek, H. 7, p. 258vv. Het probleem met elke versleuteling d.m.v. een bitgewijze XOR van een sleutelstroom en de leesbare tekst is dat de sleutelstroom niet mag hergebruikt worden. Stel dat 2 versleutelde berichten (C1 en C2) met dezelfde sleutelstroom gegenereerd werden, dan kan een aanvaller zeer nuttige informatie bekomen over hun respectievelijke leesbare berichten (M1 en M2): M1M2=C1C2. Enige informatie over de aard van het leesbare bericht (tekst, beeld,…) kan voldoende zijn om de leesbare berichten via correlatieanalyse te achterhalen. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

90 RC4 (Rivest Cipher) sleutel (1 tot 256 bytes) KSA
SGA initialisatiealgoritme (key setup algoritme) stroomgeneratie (stream generation algoritme) versleutelingsstroom plain cipher Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

91 RC4: initialisatiealgoritme
S-vector (256 bytes) 1 2 3 4 252 253 254 255 initiële toestand Sleutel K (1 tot 256 bytes) Tijdelijke vector T (256 bytes) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

92 RC4: initialisatiealgoritme – voorbeeld
S[i] S[i] S[i] S[j] S[j] S 242 1 220 4 2 3 2 4 1 242 220 252 253 254 255 K 242 233 38 132 (sleutel van slechts 32 bits) T 242 233 38 132 242 233 38 132 T[i] T[i] T[i] j: 220 242 4 j  (j+S[i]+T[i]) mod 256 i: 1 2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

93 versleutelingsstroom
RC4 sleutel KSA SGA stroomgeneratie versleutelingsstroom plain cipher Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

94 RC4: stroomgeneratie – voorbeeld
S[i] S[i] S[i] S[t] S[j] S 94 164 220 105 4 139 17 127 210 6 187 105 164 220 139 4 17 87 30 93 185 k 6 210 187 i: 1 3 2 i  (i+1) mod 256 j: 107 220 224 j  (j+S[i]) mod 256 t: 128 156 109 t  (S[i]+S[j]) mod 256 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

95 versleutelingsstroom
RC4 sleutel KSA SGA versleutelingsstroom plain cipher Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

96 RC4: stroomversleuteling
bitrepresentatie k 6 210 187 m 88 77 76 = = = c 94 159 247 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

97 RC4 Hoe goed is RC4? slechte reputatie wegens WEP (Wired Equivalent Privacy), gebruikt voor beveiliging WiFi (IEEE b) initialisatie van sleutelstroom is kwetsbaar voor families van zwakke sleutels laten toe om volledige sleutel te achterhalen m.b.v. “ciphertext only” aanval op voldoende versleutelde berichten te vermijden door deze sleutels uit te sluiten (of tenminste niet bekend te maken dat het om een dergelijke zwakke sleutel gaat zoals in WEP!) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

98 RC4 Hoe goed is RC4? eerste twee versleutelde bytes mogelijk kwetsbaar
te vermijden door eerste bytes van sleutelstroom weg te gooien OK voor sleutellengtes vanaf 128 bits en intelligent gebruik (o.a. geen hergebruik van sleutelstroom) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)


Download ppt "Cryptografische algoritmen en protocols (1)"

Verwante presentaties


Ads door Google