De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

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

Verwante presentaties


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

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

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

3 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 3 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

4 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

5 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

6 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

7 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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”  beveiligd bericht nodig  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

8 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 8 Aanvallen tegen beveiligingstransformatie Categorieën van aanvallen “chosen text”  een combinatie van zowel “chosen plaintext” als “chosen ciphertext”

9 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

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

11 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

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

13 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

14 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

15 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

16 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

17 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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)

18 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 18 Blokversleuteling Feistel-encryptieschema n ronden  F  F  F onversleutelde tekst versleutelde tekst L0L0 R0R0 L1L1 R1R1 LiLi RiRi LnLn RnRn ronde 1 ronde i ronde n K1K1 KiKi KnKn F: rondefunctie  : bitgewijze XOR K i : sleutel voor ronde i

19 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 19 Blokversleuteling Feistel- decryptieschema n ronden zelfde structuur als encryptieschema voordelig bij hardware- implementatie  F  F  F versleutelde tekst onversleutelde tekst L0L0 R0R0 L1L1 R1R1 LiLi RiRi LnLn RnRn ronde 1 ronde i ronde n KnKn K n–i+1 K1K1

20 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 20 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

21 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 21 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

22 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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 K i en XOR-functie) –permutaties (verwisselen linker- en rechterhelft data bij elke ronde)

23 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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)

24 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 24 DES 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.

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

26 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 26 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) DES: details van één ronde

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

28 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 28 DES: sleutelgeneratie – permutatiekeuze X X PC-1 Input key

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

30 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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)

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

32 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p PC DES: sleutelgeneratie – permutatiekeuze 2

33 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

34 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p IP DES: encryptie – initiële permutatie

35 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

36 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p E-box DES: encryptieronde – expansie

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

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

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

40 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 40 S1S2S3S4S5S6S7S8 DES: encryptie – substituties in: 8 × 6 bits uit: 8 × 4 bits

41 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p DES: encryptie – eerste S-box S1

42 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p S DES: encryptie – eerste S-box Details over andere S-boxes (cf. boek p. 108 tabel 3.3)

43 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 43 S-boxes DES: encryptie – substituties

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

45 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 45 P-box DES: encryptie – permutatie

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

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

48 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 48 Cryptanalyse Basisbegrippen van cryptanalyse lineaire cryptanalyse  gegeven invoer X=[x 1, x 2,…] (met x i individuele invoerbits, inclusief sleutelbits) en uitvoer Y=[y 1, y 2,…] (met y i individuele uitvoerbits)  beschouw lineaire combinatie van in- en uitvoerbits: –x i 1  x i 2  …  x i u  y j 1  y j 2  …  y j v  als encryptiealgoritme ideaal werkt zal zo’n lineaire combinatie probabiliteit van 1/2 hebben om waarde 0 (of 1) te hebben

49 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 49 Cryptanalyse 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

50 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 50 Cryptanalyse Basisbegrippen van cryptanalyse differentiële cryptanalyse  gegeven invoer X=[x 1, x 2,…] (met x i individuele invoerbits) en uitvoer Y=[y 1, y 2,…] (met y i 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”

51 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 51 Cryptanalyse 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

52 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 52 Gebruiksmodes 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),…

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

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

55 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 55 ECB 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

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

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

58 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 58 CBC 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

59 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 59 encryptie s-bit CFB: encryptie IV C1 geheime sleutel C2 versleutelde datablokken leesbare datablokken   P1 P2 s bits

60 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 60 encryptie s-bit CFB: decryptie IV C1 geheime sleutel C2 versleutelde datablokken leesbare datablokken   P1 P2 s bits

61 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 61 CFB 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

62 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 62 encryptie s-bit OFB: encryptie IV C1 geheime sleutel C2 versleutelde datablokken leesbare datablokken   P1 P2 s bits

63 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 63 encryptie s-bit OFB: decryptie IVP1 geheime sleutel P2 leesbare datablokken versleutelde datablokken   C1 C2 s bits

64 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 64 OFB 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

65 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 65 OFB 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

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

67 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 67 encryptie CTR: decryptie tellerP1 geheime sleutel P2 leesbare datablokken versleutelde datablokken   C1 C2 teller+1

68 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

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

70 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p 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.

71 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 71 encryptiedecryptie encryptie 3-DES: encryptie 3-DES (Triple DES) (encryptie) leesbaar bericht versleuteld bericht K1K1 K2K2 K3K3 afzender Alice ontvanger Bob

72 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 72 decryptie encryptie 3-DES: decryptie 3-DES (Triple DES) (decryptie) leesbaar bericht versleuteld bericht K1K1 K2K2 K3K3 afzender Alice ontvanger Bob

73 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 73 AES 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.

74 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 74 plain Rnd 9 Rnd 1 Rnd 10 cipher Add Key Rnd 9 Rnd 1 Rnd 10 Add Key Exp Key w[0,3] w[4,7] w[40,43] w[36,39] key: 128 bits AES-128: overzicht plain cipher blok van 128 bits w i : woord van 32 bits

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

76 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 76 k0k0 k5k5 k 10 k 15 k8k8 k 13 k2k2 k7k7 k4k4 k9k9 k 12 k1k1 k6k6 k 11 k 14 k3k3 w0w0 w2w2 w1w1 w3w3  g w4w4 w6w6 w5w5 w7w7  byte LS S-box  RC[j] 000 j j6789 RC[j] B36 AES-128: sleutelgeneratie sleutel: 16 bytes woorden: 4 bytes zelfde S-box als voor encryptie

77 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 77  g  w 4i w 4i+2 w 4i+1 w 4i+3 w 4i+4 w 4i+6 w 4i+5 w 4i+7 AES-128: sleutelgeneratie

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

79 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 79 a 0,0 a 1,1 a 2,2 a 3,3 a 0,2 a 1,3 a 2,0 a 3,1 a 0,1 a 1,2 a 0,3 a 1,0 a 2,1 a 3,2 a 2,3 a 3,0 b 0,0 b 1,1 b 2,2 b 3,3 b 0,2 b 1,3 b 2,0 b 3,1 b 0,1 b 1,2 b 0,3 b 1,0 b 2,1 b 3,2 b 2,3 b 3,0 S-box bv. a 0,1 =1A rij 1 kolom 10 (=A) b 0,1 =A2 A2 AES: encryptie – substituties (hexadecimale notatie) meer details over S-box: cf. boek p. 145vv.

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

81 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 81 b 0,0 b 1,1 b 2,2 b 3,3 b 0,2 b 1,3 b 2,0 b 3,1 b 0,1 b 1,2 b 0,3 b 1,0 b 2,1 b 3,2 b 2,3 b 3,0 b 0,0 b 0,2 b 0,1 b 0,3 b 1,1 b 1,3 b 1,2 b 1,0 b 2,2 b 2,0 b 2,1 b 2,3 b 3,3 b 3,1 b 3,2 b 3,0 AES: encryptie – rijverschuivingen 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

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

83 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 83 c 0,0 c 2,0 c 1,0 c 3,0 c 1,1 c 3,1 c 0,1 c 2,1 c 2,2 c 0,2 c 1,2 c 3,2 c 3,3 c 1,3 c 0,3 c 2,3 d 0,0 d 2,0 d 1,0 d 3,0 d 1,1 d 3,1 d 0,1 d 2,1 d 2,2 d 0,2 d 1,2 d 3,2 d 3,3 d 1,3 d 0,3 d 2,3 c 1,1 c 3,1 c 0,1 c 2,1 c 2,2 c 0,2 c 1,2 c 3,2 c 3,3 c 1,3 c 0,3 c 2,3 c 0,0 c 2,0 c 1,0 c 3,0 d 1,1 d 3,1 d 0,1 d 2,1 d 2,2 d 0,2 d 1,2 d 3,2 d 3,3 d 1,3 d 0,3 d 2,3 d 0,0 d 2,0 d 1,0 d 3, × = optelling en vermenigvuldiging in GF(2 8 ) met irreducibele polynoom x 8 +x 4 +x 3 +x+1 AES: encryptie – kolombewerkingen (hexadecimale notatie)

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

85 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 85 d 1,1 d 3,1 d 0,1 d 2,1 d 2,2 d 0,2 d 1,2 d 3,2 d 3,3 d 1,3 d 0,3 d 2,3 d 0,0 d 2,0 d 1,0 d 3,0 e 1,1 e 3,1 e 0,1 e 2,1 e 2,2 e 0,2 e 1,2 e 3,2 e 3,3 e 1,3 e 0,3 e 2,3 e 0,0 e 2,0 e 1,0 e 3,0  w 4i+4 w 4i+6 w 4i+5 w 4i+7 AES: encryptie – toevoegen rondesleutel rondesleutel voor ronde i

86 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 86 0E0B0D09 0E0B0D 090E0B 0D090E optelling en vermenigvuldiging in GF(2 8 ) met irreducibele polynoom x 8 +x 4 +x 3 +x+1 AES: decryptie – kolombewerkingen Voor AES-decryptie inverse substitutiematrix inverse rijverschuiving inverse kolombewerking  zelfde als oorspronkelijke bewerking maar met andere matrix: (hexadecimale notatie)

87 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 87 Blokversleuteling Andere algoritmen Blowfish  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,…

88 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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

89 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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.

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

91 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p S-vector (256 bytes) initiële toestand Sleutel K (1 tot 256 bytes)   Tijdelijke vector T (256 bytes)   RC4: initialisatiealgoritme

92 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p S  T  K i:0 j:0 S[i] T[i] j  (j+S[i]+T[i]) mod   S[j] 1 S[i] T[i] S[i] T[i] 4 S[j] RC4: initialisatiealgoritme – voorbeeld (sleutel van slechts 32 bits)

93 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 93  plain cipher sleutel KSA SGA stroomgeneratieversleutelingsstroom RC4

94 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p S  i:0 j:0 j  (j+S[i]) mod 256 i  (i+1) mod 256 t:128 t  (S[i]+S[j]) mod 256 S[j]S[i] k S[t] 2 S[i] S[i]  RC4: stroomgeneratie – voorbeeld

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

96 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 96 k  m   c  === RC4: stroomversleuteling bitrepresentatie

97 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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!)

98 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN) p. 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)


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

Verwante presentaties


Ads door Google