De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

1 InternettechnologieRik Van de WalleGent, maart 2008 Architecturale aspecten van beveiliging Internettechnologie (ITech) Rik Van de Walle academiejaar.

Verwante presentaties


Presentatie over: "1 InternettechnologieRik Van de WalleGent, maart 2008 Architecturale aspecten van beveiliging Internettechnologie (ITech) Rik Van de Walle academiejaar."— Transcript van de presentatie:

1 1 InternettechnologieRik Van de WalleGent, maart 2008 Architecturale aspecten van beveiliging Internettechnologie (ITech) Rik Van de Walle academiejaar

2 2 InternettechnologieRik Van de WalleGent, maart 2008 Basisprincipes

3 Internettechnologie 3 Rik Van de WalleGent, maart 2008 Basisprincipes Noodzaak van beveiliging o Eerste computernetwerken Onderzoeksomgevingen versturen (klare tekst) Delen van randapparaten (printers) o Moderne netwerkgebaseerde systemen Miljoenen gebruikers met elkaar “verbonden” op een publiek netwerk (het Internet !) E-handel Bankzaken Toegang tot kritische data via databanken

4 Internettechnologie 4 Rik Van de WalleGent, maart 2008 Basisprincipes Belangrijkste aspecten o Onbevoegden toegang ontzeggen tot sommige gegevens o “Toegang ontzeggen” heeft verschillende betekenissen en kan met behulp van Encryptie (vercijfering) Authentisering Firewalls o Vereist beveiliging in diverse lagen van het OSI-model Wij gaan kijken naar beveiliging in de applicatielaag

5 Internettechnologie 5 Rik Van de WalleGent, maart 2008 Basisprincipes Belangrijkste aspecten van beveiliging o Verificatie werkelijke afzender van een bericht o Vermijden “afspeelaanval” Legitiem bericht wordt onderschept Dit bericht wordt opnieuw afgespeeld Voorbeeld: herhalen betalingsorder (t.a.v. bank) van een klant o Niet-loochening Identiteit kunnen aantonen Voorbeeld: is van belang bij bestelling dure goederen

6 Internettechnologie 6 Rik Van de WalleGent, maart 2008 Vier deelaspecten van beveiliging Geheimhouding o Informatie uit handen van onbevoegden houden Authentisering o Bepalen van wie informatie/vraag afkomstig is vooraleer zelf vertrouwelijke informatie te versturen Niet-loochening o Toevoegen van handtekening o Laat afzender + ontvanger toe te bewijzen wie data verstuurd heeft Integriteitscontrole o Geeft ontvanger zekerheid dat bericht onderweg niet (kwaadwillig) gewijzigd werd

7 Internettechnologie 7 Rik Van de WalleGent, maart 2008 Basisprincipes Analogie: fysische wereld o Geheimhouding Versturen van post onder gesloten omslag o Authentisering Herkenning iemands gezicht, stem, handschrift, vingerafdrukken, … Gebruik van cijfercodes, paswoorden, … Geavanceerde authentiseringsmethoden zoals biosensoren o Niet-loochening Ondertekening documenten “met pen en papier” o Integriteitscontrole Opbergen documenten “achter slot en grendel”

8 8 InternettechnologieRik Van de WalleGent, maart 2008 Cryptografie (Geheimhouding)

9 Internettechnologie 9 Rik Van de WalleGent, maart 2008 Traditionele cryptografie Doel cryptografie o Berichten onleesbaar (onbegrijpbaar) maken voor onbevoegden o Middel: vercijfering (of encryptie of versleuteling) o Algemeen principe vercijfering Bericht = klare tekst P Vercijfering door afzender levert de vercijferde tekst C op –P wordt omgezet via een vercijferingsprocedure E K – met sleutel K als parameter C = E K (P)

10 Internettechnologie 10 Rik Van de WalleGent, maart 2008 Traditionele cryptografie Algemeen principe ontcijfering Code C = vercijferd bericht Eng. cipher text Ontcijfering door ontvanger levert het ontcijferd bericht (klare tekst) P op –C wordt omgezet via een ontcijferingsprocedure D K – met sleutel K als parameter P = D K (C)

11 Internettechnologie 11 Rik Van de WalleGent, maart 2008 Eenvoudig vercijferings/ontcijferingsmodel vercijferingsmethode E K ontcijferingsmethode D K C = E K (P) klare tekst P klare tekst D K (E K (P)) = P Sleutel K passieve indringer actieve indringer

12 Internettechnologie 12 Rik Van de WalleGent, maart 2008 Cryptografie Terminologie o Cryptografie Houdt zich bezig met de vercijfering van berichten o Cryptoanalyse De “kunst” van het kraken van vercijferingsmethoden Bij traditionele cryptografie gaat men steeds uit van –Hypothese 1: cryptoanalist kent de algemene methoden (E en D) –Hypothese 2: cryptoanalist kent de bijbehorende sleutel K niet

13 Internettechnologie 13 Rik Van de WalleGent, maart 2008 Cryptografie Terminologie o Cryptoanalyse (vervolg) Veiligheid kan verhoogd worden door K regelmatig te wijzigen Lengte van sleutels bepaalt in belangrijke mate veiligheidsniveau –Analogie: cijferslot met 3 cijfers (10 3 mogelijkheden) versus cijferslot met 6 cijfers (10 6 mogelijkheden) o Cryptologie Geheel van cryptografie en cryptoanalyse Term die niet zoveel gebruikt wordt in het Nederlands

14 Internettechnologie 14 Rik Van de WalleGent, maart 2008 Cryptografie o Substitutie Mapt x-bit op y-bit Gebeurt met zogenaamde S- boxen Zorgt voor niet-lineariteit Zorgt voor confusion o Transpositie Verwisselt symbolen van plaats (permutatie) Gebeurt met zogenaamde P- boxen Zorgt voor diffusion (6 bit) (4 bit) S-box (7 bit) P-box In de cryptografie wordt er gebruik gemaakt van twee basismethoden om klare tekst te vercijferen

15 Internettechnologie 15 Rik Van de WalleGent, maart 2008 Cryptografie Substitutiesystemen o Elke letter(groep) vervangen door andere letter(groep) o Volgorde symbolen wordt niet gewijzigd o Voorbeeld: Caesar-methode Cyclische verschuiving van de 26 letters van het alfabet met bv. een stap 3: a b c d e f g h i j k l m n o p q r s t u v w x y z d e f g h i j k l m n o p q r s t u v w x y z a b c Mathematisch: C = E K (P) = P + 3 (mod 26) Het geheim zit in het algoritme (!) Er is maar 1 sleutel (vaste permutatie), kan veralgemeend worden naar 26 sleutels Eenvoudig te breken (als algoritme gekend is)

16 Internettechnologie 16 Rik Van de WalleGent, maart 2008 Cryptografie Substitutiesystemen o Veralgemening: mono-alfabetische substitutie Elke letter afbeelden op een andere Sleutel K = rij van letters die correspondeert met abcde...z Aantal elementen in de sleutelruimte = 26! (ongeveer 4 x ) Desondanks niet veilig: frequentie- en woordanalyse

17 Internettechnologie 17 Rik Van de WalleGent, maart 2008 Cryptografie Transpositiesystemen o De symbolen zelf worden niet gewijzigd o De volgorde waarin de symbolen worden geplaatst verandert o Voorbeeld: kolomtranspositie

18 Voorbeeld: kolomtranspositie COMPUTER ditiseen voorbeel dvanverc ijfering sleutel K: woord waarin elke letter 1 keer voorkomt nummering volgens het rangnummer corresponderende letter K bericht P wordt uitgeschreven op verschillende rijen klare tekst:ditiseenvoorbeeldvanvercijfering vercijferde tekst: uitschrijven bericht volgens rangnummers kolommen vercijferde tekst:dvdieerntoafiovjirnenlcgeeeisbvr

19 Internettechnologie 19 Rik Van de WalleGent, maart 2008 Cryptografie Traditionele cryptografie o E en D eenvoudig o Lange sleutels K Moderne cryptografie o E en D zeer ingewikkeld o Substitutie- en transpositiecodering wordt nog steeds gebruikt

20 20 InternettechnologieRik Van de WalleGent, maart 2008 Cryptografie Cryptografie met geheime sleutels

21 Internettechnologie 21 Rik Van de WalleGent, maart 2008 Het Vernam cipher Vernam cipher is een zogenaamde “stroom cipher” Gilbert Vernam diende in 1919 “één van de belangrijkste patenten in de cryptografie” in Vercijfering- en ontcijfersmethode is eenvoudige modulo-2 of XOR ( ) berekening 0 0 = 1 1 = 0 en 0 1 = 1 0 = 1 Merk op dat de voorgestelde vercijfer- en ontcijferstap identiek zijn  0010  veilig kanaal ontcijfering vercijfering    

22 Internettechnologie 22 Rik Van de WalleGent, maart 2008 Vernam cipher (ook “one-time pad” genoemd) Shannon bewees dat Vernam cipher eerste en ook enige vercijferalgoritme is dat “informatietheoretisch” onbreekbaar (dus perfect veilig) is, indien voldaan aan 1.De lengte van de sleutel dient even lang te zijn als de te vercijferen gegevens 2.De sleutel mag enkel bestaan uit werkelijk willekeurige tekens 3.Een sleutel mag slechts één maal gebruikt worden om één bericht te vercijferen en dient na gebruik vernietigd te worden 4.Van een sleutel mogen slechts twee kopijen bestaan, zijnde één voor de verzender en één voor de ontvanger van de gegevens Het Vernam cipher is dus een theoretisch onbreekbare maar in de praktijk ondoenbare vercijfertechniek

23 Internettechnologie 23 Rik Van de WalleGent, maart 2008 Moderne block ciphers klare tekst preprocessing iteratiestappen 1, 2, … postprocessing vercijferde tekst iteratiesleutel 2 iteratiesleutel 3…sleutel K creatie iteratiesleutels iteratiesleutel 1

24 Internettechnologie 24 Rik Van de WalleGent, maart 2008 Feistel ciphers (I) Feistel is een van de pioniers van moderne cryptografische algoritmen (IBM, begin jaren 1970) Feistel code (Feistel cipher) is een schema dat een algoritme specificeert voor een block cipher Feistel schema laat vercijfering en ontcijfering toe met o Hetzelfde hardware circuit o Dezelfde software implementatie Algoritmen die gebruik maken van Feistel ciphers o DES (en 3DES) o IDEA

25 Internettechnologie 25 Rik Van de WalleGent, maart 2008 Feistel ciphers (II) Bevat een aantal iteraties n M i-1 L i-1 R i-1 In elke iteratie i wordt een input blok M opgedeeld in twee halfblokken L i-1 en R i-1 LiLi Linkeroutput L i = R i-1 RiRi f  KiKi Rechteroutput R i is afhankelijk van o Linker- en rechterinput o Een functie f o Iteratiesleutel K i o L i-1 XOR f(R i-1,K i ): bitsgewijze exclusieve OR MiMi M i bestaat uit de samenstelling van L i en R i

26 Internettechnologie 26 Rik Van de WalleGent, maart 2008 Feistel ciphers (III) L0L0 R0R0 L1L1 R1R1 f  K1K1 L2L2 R2R2 f  K2K2 C R2R2 L2L2 R1R1 L1L1 f  K2K2 R0R0 L0L0 f  K1K1 P C ontcijfering P vercijfering Voorbeeld 2 iteraties

27 Internettechnologie 27 Rik Van de WalleGent, maart 2008 Feistel ciphers (IV) Vercijferings- en ontcijferingsalgoritme zijn identiek, enkel volgorde sleutels K i moet worden omgekeerd De functie f kan eender wat zijn; typisch een functie die eenvoudig te berekenen is maar moeilijk te inverteren Na laatste iteratie n worden L n en R n “geswapped” Het Feistel schema specificeert niet: o Grootte van de input blokken M o Grootte van de sleutel K o Aantal iteraties n o Algoritme om sleutels per iteratie te genereren o Functie f !

28 Internettechnologie 28 Rik Van de WalleGent, maart 2008 DES – Data Encryption Standard (I) DES (Data Encryption Standard) o Door IBM ontwikkeld in 1977 o Overgenomen door Amerikaanse overheid o Ook nu nog zeer veel gebruikt bv. Bancontact (drievoudige DES, zie later) bv. IPVPN-oplossingen op het Internet o Basisprincipe werking van DES Klare tekst wordt vercijferd in blokken van 64 bit Dit levert stukken vercijferde tekst van 64 bit op Zelfde sleutel van 56 bit wordt gebruikt voor vercijfering en ontcijfering Gebaseerd op Feistel ciphers

29 DES – Data Encryption Standard (II) klare tekst van 64 bit iteratie 16 eerste transpositieiteratie 1iteratie 2verwisseling van 32 bitomgekeerde transpositie L i-1 R i-1 L i-1 XOR f(R i-1,K i ) LiLi RiRi sleutel van 56 bit

30 Internettechnologie 30 Rik Van de WalleGent, maart 2008 DES – Data Encryption Standard (III) Werking van enkelvoudige DES o Transposities (stap 1 en 19) hangen niet af van K Deze stap werd ingevoerd om software implementaties van DES te vertragen o Ontcijferingsalgoritme = vercijferingsalgoritme (met sleutels in omgekeerde volgorde) o Binnen één iteratie i Sleutel K i verschilt voor iedere i –56 bit DES-sleutel K opsplitsen in 2 groepen van 28 bit –Elke groep naar links roteren over aantal bits (1 of 2) dat afhangt van de iteratie i –Transpositie op globale resultaat (56 bit) –Selectie van 48 bit hieruit + permutatie

31 Internettechnologie 31 Rik Van de WalleGent, maart 2008 DES – Data Encryption Standard (IV) Werking van enkelvoudige DES o Binnen één iteratie i 2 inputs van 32 bit 2 outputs van 32 bit Linkeroutput L i = rechterinput R i-1 Rechteroutput R i is afhankelijk van –Linker- en rechterinput –Een functie f –Iteratiesleutel K i –L i-1 XOR f(R i-1,K i ): bitsgewijze exclusieve OR De complexiteit van DES zit vervat in de functie f die bestaat uit 4 stappen

32 Internettechnologie 32 Rik Van de WalleGent, maart 2008 DES – Data Encryption Standard (V) Werking van enkelvoudige DES L i-1 R i-1 LiLi RiRi f  KiKi permutatie uitbreiding (32 bit) (48 bit)  (32 bit) S-box o De functie f die bestaat uit 4 stappen KiKi R i-1  RiRi (32 bit)

33 Internettechnologie 33 Rik Van de WalleGent, maart 2008 DES – Data Encryption Standard (V) De 4 stappen van de functie f samengevat 1.Opbouw van een getal E van 48 bit door uitbreiding van R i-1 via vaste regel voor transpositie en duplicering 2.Combinatie van E en K i via XOR operatie 3.Resultaat van (E XOR K i ) wordt opgesplitst in 8 groepen van 6 bit 1.Die elk worden doorgegeven aan een verschillende S-box (substitutiecoder) 2.De S-box beeldt elk van de 64 mogelijke inputs af op een 4 bit output 4.De resulterende 32 bit worden doorgegeven aan een P-box (transpositiecoder)

34 DES – Data Encryption Standard (VI) DES o Juli 1998: EFF DES Cracker (Deep Crack) EFF = Electronic Frontier Foundation kostprijs hardware < 250 kUSD tijd nodig om DES te kraken: < 3 dagen o Januari 1999: Deep Cracker + distributed.net Distributed.net is een wereldwijd initiatief om rekenintensieve problemen op te lossen met “idle” CPU-tijd van clients In 1999 reeds meer dan PCs verbonden via Internet tijd nodig om DES te kraken: < 1 dag (22 uren)

35 Internettechnologie 35 Rik Van de WalleGent, maart 2008 DES – Data Encryption Standard (VII) Beperkte veiligheid o Standaard DES: "electronic code book mode" Originele klare tekst opsplitsen in opeenvolgende stukken van 64 bit Ieder stuk wordt vercijferd met zelfde sleutel Slechts mono-alfabetische substitutie met tekens van 64 bit Niet veilig o Cijferblokketening Vóór vercijfering: –Elk blok van 64 bit combineren met het vorige via exclusieve OR –Eerste blok: combinatie met een initialisatievector

36 Internettechnologie 36 Rik Van de WalleGent, maart 2008 DES – Data Encryption Standard (VIII) Beperkte veiligheid o Cijferblokketening Gevolgen: –Zelfde blok klare tekst wordt niet altijd op zelfde blok vercijferde tekst afgebeeld (contextafhankelijkheid) –Globale codering vs mono-alfabetische substitutie Nadeel: vercijfering kan slechts beginnen als gans blok van 64 bit is gearriveerd (client hosts: beperkte invoer !)

37 Cijferblokketening (cipher block chaining) P0P0 # E C0C0 P1P1 E C1C1 P2P2 E C2C2 ## IV D C0C0 C1C1 C2C2 DD # P0P0 P1P1 P2P2 ## C 0 = E(P 0 XOR IV) C 1 = E(P 1 XOR C 0 ) C 2 = E(P 2 XOR C 1 ) P 0 = D(C 0 ) XOR IV P 1 = D(C 1 ) XOR C 0 P 2 = D(C 2 ) XOR C 1 IV zorgt voor ontcijfering (oef.) Nadeel: vercijfering kan slechts beginnen als gans blok van 64 bit gearriveerd is (client hosts: beperkte invoer !)

38 Cijferterugkoppeling (cipher feedback chaining) Eigenschap: byte per byte vercijfering Nadeel: Transmissiefout van 1 bit verminkt 1 blok van 64 bit klare tekst Stel: bytes 0 tot 9 zijn reeds vercijferd C3C3 C4C4 C5C5 C6C6 C7C7 C8C8 C9C9 C2C2 schuifregister 64 bit E P 10 C 10 sleutel selectie linkerbyte # C3C3 C4C4 C5C5 C6C6 C7C7 C8C8 C9C9 C2C2 schuifregister 64 bit E C 10 P 10 sleutel selectie linkerbyte #

39 Internettechnologie 39 Rik Van de WalleGent, maart 2008 DES – Data Encryption Standard (IX) Beperkte veiligheid o Aan te raden: Standaard DES enkel gebruiken voor sessiesleutels (zie later) Cijferblokketening gebruiken indien invoer in eenheden van 8 bytes toekomt (bv. bestanden) Cijferterugkoppeling gebruiken voor onregelmatige invoer (bv. toetsenbord) o DES twee keer na elkaar ? "aanval halverwege" (meet-in-the-middle attack) is mogelijk Niet veilig genoeg !

40 Internettechnologie 40 Rik Van de WalleGent, maart 2008 Meet-in-the-middle attack Stel dat een aanvaller een paar (P, C) kent Hierbij geldt dat C = E K 2 (E K 1 (P)) of D K 2 (C) = E K 1 (P) De aanval werkt door te vercijferen vanuit één kant en te ontcijferen van de andere kant, dus “meeting-in-the-middle” Voor gegeven P en C o Zoek 2 56 sleutels K 1 en K 2 Double DES (I) K1K1 P C E K2K2 E

41 Internettechnologie 41 Rik Van de WalleGent, maart 2008 Double DES (II) Meet-in-the-middle attack Vercijfer P met alle 2 56 mogelijkheden voor K 1 -> E K 1 (P) o Levert volgende waarden op: X 1, X 2, X 3, …, X 2 56 o Sorteer de waarden X 1, X 2, X 3, …, X 2 56 Ontcijfer C met alle 2 56 mogelijkheden voor K 2 -> D K 2 (C) o Levert volgende waarden op: Y 1, Y 2, Y 3, …, Y 2 56 o Sorteer de waarden: Y 1, Y 2, Y 3, …, Y 2 56 Zoek een gelijke waarde van X i en Y j : o Indien gevonden dan is het mogelijk dat i = K 1 en j = K 2 o Gebruik een paar (P’,C’) en check of C’ = E j (E i (P’)) Indien ja, dan werden de juiste sleutels gevonden Indien niet, probeer met 2 andere gelijkenissen van X i en Y j Er zal vaak loos alarm zijn vooraleer men een overeenkomstige X i en Y j vindt, maar uiteindelijk zal men een match vinden

42 Internettechnologie 42 Rik Van de WalleGent, maart 2008 Double DES (III) Meet-in-the-middle attack Het aantal kandidaat sleutelparen is 2 48 o Totaal aantal sleutelparen is 2 56 x 2 56 o Elk van de sleutels heeft een probabiliteit van Deze aanval vereist 2 57 vercijfer/ontcijferoperaties t.o.v bij een brute-force attack Merk wel op dat er grootte-orde 2 60 (of ) bytes geheugenruimte nodig is !!

43 Internettechnologie 43 Rik Van de WalleGent, maart 2008 Triple DES – 3DES Beperkte veiligheid o DES drie keer na elkaar uitvoeren, bv. EDE of EEE ? K1K1 PC K1K1 CP E K2K2 D K 3 = K 1 E D K2K2 E D Waarom 2 sleutels in plaats van 3 ? o 112 bit voldoende voor commerciële toepassingen Waarom EDE in plaats van EEE ? o Achterwaartse compatibiliteit met enkelvoudige DES mogelijk (oef.) Indien zeer sterke beveiliging gewenst: EEE (168 bit) Vercijfering Ontcijfering

44 Internettechnologie 44 Rik Van de WalleGent, maart 2008 IDEA – International Data Encryption Algorithm Algemeen principe o Blokvercijfering, blokken van 64 bit o Sleutel van 128 bit o Basisstructuur lijkt sterk op DES klare tekst van 64 bit iteratie 8 iteratie 1iteratie 2transformatie64 bit vercijferde tekst sleutel van 128 bit Eigenschappen o Iedere outputbit hangt af van elke inputbit o 8 iteraties voldoende o Alle DES-modes kunnen gebruikt worden Gepatenteerd, gratis te gebruiken voor niet- commerciële toepassingen

45 Internettechnologie 45 Rik Van de WalleGent, maart 2008 AES – Advanced Encryption Standard (I) Staat ook bekend als Rijndael algoritme 1997: NIST schrijft een RFP voor de opvolger van o DES (niet veilig genoeg) o 3DES (te traag) o IDEA (niet vrij beschikbaar) Request for Proposal (RFP) o Verschillende sleutelgroottes mogelijk (tot 256 bit) o Efficiënte HW implementatie mogelijk o 20 algoritmen werden geëvalueerd o Rijndael werd gekozen in 2001, ontworpen door Belgische onderzoekers (Daemen en Rijmen) AES is een subset van Rijndael algoritme

46 Internettechnologie 46 Rik Van de WalleGent, maart 2008 AES – Advanced Encryption Standard (II) AES is een subset van Rijndael algoritme o Blokgrootte = 128 bit (voorgesteld als 4 x 4 blokken van 8 bit) o Sleutelgrootte = 128 / 192 / 256 bit o Aantal iteraties = 10 (AES-128) / 12 (AES-192) / 14 (AES-256) Twee parallelle processen o Vercijferingsproces (4 bouwblokken) SubBytes ShiftRows MixColumns AddRoundkey o Sleutelgeneratieproces

47 Internettechnologie 47 Rik Van de WalleGent, maart 2008 AES – Advanced Encryption Standard (III) SubBytes o Niet-lineaire substitutiecodering (S-box) o Bytes worden vervangen via vaste look-up tabel o S-box is afgeleid uit een speciaal type veeltermen die goede niet-lineaire eigenschappen heeft a 0,0 a 0,1 a 0,2 a 0,3 a 1,0 a 1,1 a 1,2 a 1,3 a 2,0 a 2,1 a 2,2 a 2,3 a 3,0 a 3,1 a 3,2 a 3,3 b 0,0 b 0,1 b 0,2 b 0,3 b 1,0 b 1,1 b 1,2 b 1,3 b 2,0 b 2,1 b 2,2 b 2,3 b 3,0 b 3,1 b 3,2 b 3,3 a 2,2 b 2,2 S SubBytes

48 Internettechnologie 48 Rik Van de WalleGent, maart 2008 AES – Advanced Encryption Standard (IV) ShiftRows o Transpositiecodering wordt toegepast o Op elke rij van de matrix Elementen worden cyclisch verschoven o Elke kolom van outputmatrix in deze stap is samengesteld uit bytes afkomstig van elke kolom van inputmatrix a 0,0 a 0,1 a 0,2 a 0,3 a 1,0 a 1,1 a 1,2 a 1,3 a 2,0 a 2,1 a 2,2 a 2,3 a 3,0 a 3,1 a 3,2 a 3,3 ShiftRows a 0,0 a 0,1 a 0,2 a 0,3 a 1,1 a 1,2 a 1,3 a 1,0 a 2,2 a 2,3 a 2,0 a 2,1 a 3,3 a 3,0 a 3,1 a 3,2

49 Internettechnologie 49 Rik Van de WalleGent, maart 2008 AES – Advanced Encryption Standard (V) MixColumns o Transformatie op de kolommen van de matrix o Elke 4 bytes in elke kolom worden getransformeerd via een lineaire transformatie met een vaste veelterm a 0,0 a 0,1 a 0,2 a 0,3 a 1,0 a 1,1 a 1,2 a 1,3 a 2,0 a 2,1 a 2,2 a 2,3 a 3,0 a 3,1 a 3,2 a 3,3 b 0,0 b 0,1 b 0,2 b 0,3 b 1,0 b 1,1 b 1,2 b 1,3 b 2,0 b 2,1 b 2,2 b 2,3 b 3,0 b 3,1 b 3,2 b 3,3 MixColumns a 0,1 a 1,1 a 2,1 a 3,1 b 0,1 b 1,1 b 2,1 b 3,1 Transformation

50 Internettechnologie 50 Rik Van de WalleGent, maart 2008 AES – Advanced Encryption Standard (VI) AddRoundkey o Elke byte uit de inputmatrix wordt gecombineerd (XOR) met een geheel getal afgeleid uit de iteratievercijfersleutel a 0,0 a 0,1 a 0,2 a 0,3 a 1,0 a 1,1 a 1,2 a 1,3 a 2,0 a 2,1 a 2,2 a 2,3 a 3,0 a 3,1 a 3,2 a 3,3 b 0,0 b 0,1 b 0,2 b 0,3 b 1,0 b 1,1 b 1,2 b 1,3 b 2,0 b 2,1 b 2,2 b 2,3 b 3,0 b 3,1 b 3,2 b 3,3 a 2,2 b 2,2 AddRoundKey k 0,0 k 0,1 k 0,2 k 0,3 k 1,0 k 1,1 k 1,2 k 1,3 k 2,0 k 2,1 k 2,2 k 2,3 k 3,0 k 3,1 k 3,2 k 3,3 k 2,2 

51 Internettechnologie 51 Rik Van de WalleGent, maart 2008 AES – Voorstelling AddRoundKey  initiële stap initiële iteratievercijfersleutel Klare tekst SubBytes ShiftRows MixColumns AddRoundKey  iteratievercijfersleutel 1 tot 9 9 iteraties SubBytes ShiftRows  AddRoundKey10de iteratie iteratievercijfersleutel 10 Vercijferde tekst

52 Internettechnologie 52 Rik Van de WalleGent, maart 2008 AES – Advanced Encryption Standard (VII) Vercijfersleutels o Hoofdvercijfersleutel o Iteratievercijfersleutels worden eruit afgeleid Sleuteluitbreiding (key expansion) Sleutelselectie (key selection) o Vrij complex proces o Iteratievercijfersleutels worden ondermeer afgeleid uit vorige vercijfersleutels AES wordt in de praktijk meer en meer gebruikt Heeft tot nog toe alle cryptoanalytische aanvalstechnieken met succes doorstaan Wordt algemeen beschouwd als meest veilige vercijferingsprocedure die vandaag bestaat Illustratie van werking a.d.h.v. Flash simulatie

53 53 InternettechnologieRik Van de WalleGent, maart 2008 Cryptografie Cryptografie met publieke sleutels

54 Internettechnologie 54 Rik Van de WalleGent, maart 2008 Cryptografie met publieke sleutels Algemeen o Zwakke schakel cryptografie met geheime sleutels is het sleutelbeheer o Hypothesen uit het voorgaande (cryptografie met geheime sleutels): Vercijfersleutel = ontcijfersleutel (of afleidbaar uit elkaar) Sleutels moeten aan alle gebruikers van het systeem worden uitgedeeld

55 Internettechnologie 55 Rik Van de WalleGent, maart 2008 Cryptografie met publieke sleutels Algemeen o Nieuwe hypothese: gebruik maken van publieke sleutels E: publieke vercijfersleutel D: geheime ontcijfersleutel D(E(P)) = P D kan in de praktijk niet uit E afgeleid worden E kan niet gekraakt worden via aanval met “gekozen klare tekst” o Iedere gebruiker heeft twee sleutels Publieke sleutel: laat anderen toe berichten naar de eigenaar van de sleutel te sturen Geheime sleutel: laat de eigenaar toe ontvangen berichten te ontcijferen

56 C=E B (P) Alice Bob D B (C) = P hoofdrolspeler 1: afzender Alice hoofdrolspeler 2: ontvanger Bob publieke sleutel Bob geheime sleutel Bob Cryptografie met publieke sleutels

57 Internettechnologie 57 Rik Van de WalleGent, maart 2008 Cryptografie met publieke sleutels Merk op dat dat in een communicatie tussen twee gebruikers (of een client en een host) iedere gebruiker van het computersysteem 2 sleutels heeft o Openbare sleutel van de bestemmeling bericht o Geheime sleutel die de afzender nodig heeft om berichten, naar hem gestuurd, te ontcijferen o Men spreekt van asymmetrische cryptografie In het voorgaande gedeelte van cryptografie met geheime sleutels hadden we telkens te maken met sleutel identiek voor vercijfering en ontcijfering o Men spreekt in dat geval van symmetrische cryptografie

58 Internettechnologie 58 Rik Van de WalleGent, maart 2008 RSA (Rivest, Shamir, Adleman) o Mechanisme 1.Kies twee grote priemgetallen p en q (> ) 2.Bereken n = pq z = (p-1)(q-1) 3.kies getal d zodat d geen factoren gemeen heeft met z 4.zoek getal e, zodat ed = 1 (mod z) RSA (I) Hou d geheimGeef e aan anderen

59 Internettechnologie 59 Rik Van de WalleGent, maart 2008 RSA (II) RSA (Rivest, Shamir, Adleman) o Mechanisme (vervolg) Klare tekst wordt opgesplitst in bitstrings P, zodat 0  P  n Vercijfering: publieke sleutel (e,n) C = P e (mod n) Ontcijfering: geheime sleutel (d,n) P = C d (mod n)

60 Voorbeeld van RSA-encryptie Gegeven: klare tekst: P = "systeem" Kies: p = 3 / q = 11 / d = 7 (d geheim houden) Berekening: n = 33 / z = 20 / e = 3 PcijfersPePe C = P e (mod n)CdCd P = C d (mod n)letters S S Y Y S S T T E E E E M M vercijferingontcijfering

61 RSA (III) Alice heeft geheime sleutel (d A,n A ) en publieke sleutel (e A,n A ) Bob heeft geheime sleutel (d B,n B ) en publieke sleutel (e B,n B ) C= P e B (mod n B ) Alice Bob hoofdrolspeler 1: afzender Alice hoofdrolspeler 2: ontvanger Bob Vercijfering met publieke sleutel Bob geheime sleutel Bob P= C d B (mod n B ) C= P’ e A (mod n A ) P’= C d A (mod n A ) geheime sleutel Alice Vercijfering met publieke sleutel Alice

62 Internettechnologie 62 Rik Van de WalleGent, maart 2008 RSA (IV) RSA is zeer rekenintensief o Grote priemgetallen o Niet geschikt voor het vercijferen van grote hoeveelheden data RSA wordt in systemen vaak gebruikt voor o Vercijfering van het proces voor het uitdelen van eenmalige geheime sessiesleutels die voor 3DES, IDEA of AES worden gebruikt PKCS – Public Key Cryptographic Standards o Definieert hoe RSA schema te gebruiken (syntax van berichten) o Wordt gebruikt in bv. SSL of SSH

63 63 InternettechnologieRik Van de WalleGent, maart 2008 Authentisering

64 Internettechnologie 64 Rik Van de WalleGent, maart 2008 Algemeen "Spelers": o Alice Neemt initiatief; wil veilige verbinding met o Bob o Eve: aanvaller Kan berichten onderscheppen, wijzigen en/of opnieuw afspelen Principe (doel authentisering) o Na authentisering: Alice is zeker dat ze met Bob communiceert o + omgekeerd

65 Internettechnologie 65 Rik Van de WalleGent, maart 2008 Algemeen Principe o Meestal bestaan de algoritmen uit 2 stappen 1.Publieke-sleutelcryptografie (bv. RSA) voor –Authentisering –Opstellen en uitwisselen sessiesleutel 2.Geheime-sleutelcryptografie voor het dataverkeer na authentisering (bv. 3DES) o Alle permanente sleutels best wissen na de tot standbrenging van de sessie Op die manier blijven enkel de sessiesleutels over Hoeveelheid data die daarmee vercijferd is, is slechts beperkt geldig in de tijd (goed tegen aanvallen)

66 Internettechnologie 66 Rik Van de WalleGent, maart 2008 Authentisering op basis van een gemeenschappelijke geheime sleutel Uitdagings-reactieprotocol (challenge-response) o Ene partij stuurt random getal naar andere partij o Tweede partij transformeert getal en stuurt resultaat terug o Eerste partij kan hierdoor identiteit van de tweede partij verifiëren o Terminologie A, BIdentiteit van Alice en Bob K i sleutel van eigenaar i -> indien een gemeenschappelijke sleutel : K AB R i uitdaging van uitdager i K S sessiesleutel

67 Internettechnologie 67 Rik Van de WalleGent, maart 2008 Authentisering op basis van een gemeenschappelijke geheime sleutel Bob A, R A 1 2 R B, K AB (R A ) 3 K AB (R B ) Alice

68 Authentisering op basis van een gemeenschappelijke geheime sleutel - Spiegelaanval Eve Bob A, R E 1 R B, K AB (R E ) 2 A, R B 3 R B2, K AB (R B ) 4 K AB (R B ) 5 eerste sessie – aanval gelukt tweede sessie eerste sessie Doel Eve: kunnen antwoorden op uitdaging Bob Eve geeft zich voor Alice uit

69 Internettechnologie 69 Rik Van de WalleGent, maart 2008 Authentisering op basis van een gemeenschappelijke geheime sleutel Besluit o Veilige authentisering: verre van evident ! Enkele basisregels o Initiatiefnemer dient altijd als eerste zijn/haar identiteit te bewijzen o Gebruik verschillende sleutels of zorg dat de gemeenschappelijke sleutel dynamisch kan worden gecreëerd o Gebruik verschillende verzamelingen van mogelijke uitdagingen Voorbeeld: even vs. oneven random getallen

70 Internettechnologie 70 Rik Van de WalleGent, maart 2008 Een gemeenschappelijke sleutel maken: Sleuteluitwisseling volgens Diffie-Hellman (I) We zijn ervan uitgegaan dat Alice en Bob reeds een gemeenschappelijke geheime sleutel hebben o Wat indien dit niet het geval? Diffie-Hellman o Afspreken van gemeenschappelijke sleutel tussen 2 gebruikers o Over een onbeveiligd medium Principe Diffie-Hellman 1.Alice en Bob kiezen elk twee grote priemgetallen n en g die openbaar mogen zijn 2.Alice kiest een groot getal x en houdt het geheim (getal typisch groter dan 512 bit) 3.Bob kiest een groot getal y en houdt het geheim (getal typisch groter dan 512 bit)

71 Internettechnologie 71 Rik Van de WalleGent, maart 2008 Een gemeenschappelijke sleutel maken: Sleuteluitwisseling volgens Diffie-Hellman (II) Principe Diffie-Hellman 4.Alice stuurt (n, g, g x mod n) 5.Bob stuurt g y mod n naar Alice 6.Bob verheft (g x mod n) y = g xy mod n 7.Alice verheft (g y mod n) x = g xy mod n 8.Beide partijen hebben nu een gemeenschappelijke geheime sleutel !

72 Internettechnologie 72 Rik Van de WalleGent, maart 2008 Een gemeenschappelijke sleutel maken: Sleuteluitwisseling volgens Diffie-Hellman (III) (n, g, g x mod n) g y mod n 4 5 Alice Bob Alice kiest x Bob kiest y Alice berekent (g y mod n) x = g xy mod n Bob berekent (g x mod n) y = g xy mod n

73 Internettechnologie 73 Rik Van de WalleGent, maart 2008 Een gemeenschappelijke sleutel maken: Sleuteluitwisseling volgens Diffie-Hellman (IV) Veilig ? o Stel dat Eve de berichten 4 en 5 onderschept o Als ze x of y zou kunnen berekenen (g en n zijn immers ook gekend) dan kan ze de geheime sleutel berekenen o Er bestaat echter geen uitvoerbaar algoritme om discrete logaritmen modulo een zeer groot priemgetal te berekenen Er bestaat echter wel een ander gevaar o Man-in-the-middle attack

74 Internettechnologie 74 Rik Van de WalleGent, maart 2008 Een gemeenschappelijke sleutel maken: Sleuteluitwisseling volgens Diffie-Hellman (V) Man-in-the-middle attack o Als Bob in stap 4 (n, g, g x mod n) ontvangt hoe weet hij dan zeker dat het bericht van Alice komt ? o Hij kan dit niet weten, dus Eve kan Alice en Bob misleiden Gelukkig bestaan er oplossingen om dit te vermijden o Werken met elektronische handtekening (zie verder) o Mogelijk indien Bob en Alice gebruiken maken van een “publieke sleutel infrastructuur” (PKI) o Het is dan ook in deze vorm dat Diffie-Hellman vaak gebruikt wordt op het Internet o Bovendien laat men sleutels gegenereerd met Diffie-Hellman regelmatig vernieuwen in de tijd

75 Een gemeenschappelijke sleutel maken: Sleuteluitwisseling volgens Diffie-Hellman (VI) Man-in-the-middle attack (n, g, g x mod n) 1 3 g z mod n Alice Eve Alice kiest x Eve kiest z Bob kiest y (n, g, g z mod n) 2 4 g y mod n

76 Internettechnologie 76 Rik Van de WalleGent, maart 2008 Authentisering met een sleuteldistributiecentrum (I) Principe o Sleuteldistributiecentrum (SDC) Eng. Key Distribution Center (KDC) Vertrouwd door alle gebruikers Iedere gebruiker heeft één geheime sleutel gemeen met SDC die enkel zij kennen –Bv. voor Alice : K A –Bv. voor Bob : K B SDC zorgt voor –Authentisering –Beheer van sessiesleutels

77 Authentisering met een sleuteldistributiecentrum (II) Alice Bob sleuteldistributiecentrum (SDC) A, K A (B, K S ) 1 K B (A, K S ) 2 Alice: bewijst eigen identiteit stelt sessiesleutel voor SDC: ontcijfert identiteit Bob ontcijfert sessiesleutel vercijfert met K B sessiesleutel identiteit Alice

78 Internettechnologie 78 Rik Van de WalleGent, maart 2008 Authentisering met een sleuteldistributiecentrum (III) Zoals voorgesteld in vorige slide is het protocol niet veilig voor een afspeelaanval o Herhaaldelijk opnieuw afspelen van bericht 2 + dataverkeer dat erop volgt o Oplossingen: Toevoegen van een tijdstempel, maar –Niet alle klokken binnen netwerk lopen synchroon –Eindig geldigheidsinterval nodig –Afspeelaanval binnen dit interval blijft mogelijk

79 Internettechnologie 79 Rik Van de WalleGent, maart 2008 Authentisering met een sleuteldistributiecentrum (IV) Afspeelaanval o Oplossingen Ieder bericht unieke ID toekennen –Zorgt voor extra dataverkeer (“overhead”) –IDs moeten “eeuwig” bewaard worden Beter: uitdagings-reactiemethode in 2 richtingen –Voorbeeld: authentiseringsprotocol van Otway en Rees

80 Authentiseringsprotocol van Otway en Rees Alice Bob sleuteldistributiecentrum A, K A (A, B, R, R A ), B, K B (A, B, R, R B ) 2 A, B, R, K A (A, B, R, R A ) 1 K B (R B, K S ) 3 K A (R A, K S ) 4 Rgemeenschappelijke ID R A uitdaging Alice identificatie Alice identificatie Bob R B uitdaging Bob controle gelijkheid R generatie sessiesleutel K S vercijfering K S uitdagingen

81 Internettechnologie 81 Rik Van de WalleGent, maart 2008 Kerberos (I) Architectuur o Client host: Alice Wenst gebruik te maken van een server (Bob) o Authentiseringsserver (AS) Controleert gebruikers tijdens inloggen Functioneel te vergelijken met SDC Heeft geheim wachtwoord gemeen met iedere gebruiker o Ticketafleveringsserver (TAS) Geeft tickets voor identiteitsbewijs af voor gebruik bij andere hosts Laat server toe te controleren wie de client is o Server host: Bob Biedt diensten aan (bv. fileserver)

82 Internettechnologie 82 Rik Van de WalleGent, maart 2008 Kerberos (II) Architectuur o Gebruik van tijdstempels om afspeelaanvallen te voorkomen o Wachtwoord van Alice slechts paar ms in client aanwezig

83 Kerberos (III) Alice AS A 1 K A (K S, K TAS (A, K S )) 2 K TAS (A, K S ), B, K S (t) 3 K S (B, K AB ), K B (A, K AB ) 4 TAS K B (A, K AB ), K AB (t) 5 K AB (t+1) 6 Bob inloggen K TAS (A, K S )ticket K S sessiesleutel aflevering ticket K TAS (A, K S )bewijst id. Alice K AB sessiesleutel voor A en B K S (.)begrijpbaar voor A K B (.)begrijpbaar voor B opdracht uitvoeren bericht Alice bewijst haar id. antwoord Bob bewijst zijn id. Alice logt in aan werkstation Haar naam wordt in klare tekst doorgestuurd naar AS Alice tikt paswoord in - > creëert K A (een hash) Bericht wordt ontcijferd en paswoord en K A wordt vernietigd

84 Internettechnologie 84 Rik Van de WalleGent, maart 2008 Kerberos (IV) Opmerkingen o Afspeelaanval niet mogelijk Bericht 3 bevat tijdstempel Zelfs bij snel afspelen bericht 3: bericht 4 wordt niet begrepen door Eve o Alice wil later met server “Charles” communiceren Authentisering bij AS moet niet herhaald worden Voldoende: bericht 3 versturen, waarbij Bob vervangen wordt door “Charles” o Na stap 2 heeft Eve toegang tot alle servers in netwerk Wachtwoord Alice nooit buiten eigen client Elke server zorgt voor eigen intepretatie gebruiker en bepaalt dus wat Alice uiteindelijk op server mag doen (met behulp van ACLs) Alternatief o Authentisering met publieke-sleutelcryptografie

85 Internettechnologie 85 Rik Van de WalleGent, maart 2008 Authentisering met publieke-sleutelcryptografie Alice Bob E B (A, R A ) 1 E A (R A, R B, K S ) 2 K S (R B ) 3 id. Alice niet gegarandeerd id. Bob wel gegarandeerd id. Alice wel gegarandeerd

86 86 InternettechnologieRik Van de WalleGent, maart 2008 Elektronische handtekening

87 Internettechnologie 87 Rik Van de WalleGent, maart 2008 Elektronische handtekening Elektronische versus digitale handtekening o Eng. Digital signature Noodzaak elektronische handtekening o Verifiëren identiteit afzender o Vermijden dat afzender bericht later loochent o Vermijden dat “ontvanger” berichten zelf maakt Handtekening met geheime sleutel o Centrale authoriteit (CA) Wordt door alle gebruikers vertrouwd Elke gebruiker heeft geheime sleutel gemeen met de CA, alle berichten passeren de CA Kan bewijsstukken leveren bij betwisting o Probleem handtekening met geheime sleutels Alle gebruikers moeten vertrouwen hebben in CA & de CA kan alle berichten lezen

88 Internettechnologie 88 Rik Van de WalleGent, maart 2008 Elektronische handtekening Handtekening met publieke sleutel biedt oplossing o Gebruik van publieke-sleutelcryptografie (bv. met RSA), waarbij D(E(P)) = PD = geheime sleutel E(D(P)) = PE = publieke sleutel Alice heeft het sleutelpaar (D A,E A ) Bob heeft het sleutelpaar (D B,E B ) o Een “Certificate Authority” (CA) levert deze sleutelparen af (+ “echtheidsbewijzen” of certificaten) maar is voor de rest niet betrokken in de communicatie zelf Voorbeelden: Verisign, Thawte, GlobalSign (Belgisch), … Certificaten hebben steeds een bepaalde geldigheidsduur

89 Internettechnologie 89 Rik Van de WalleGent, maart 2008 Elektronische handtekening Handtekening met publieke sleutel o Oplossing (vervolg) Alice verstuurt C = E B (D A (P)) naar Bob Bob berekent –D B (C) = D A (P) –E A (D A (P)) = P Beveiliging tegen loochening: –Bob bezit P en D A (P) –D A (P) moet afkomstig zijn van Alice, want D A is geheim + bijhorend certificaat dat werd afgeleverd door CA garandeert “echtheid” Alice o Om deze methode te beschrijven wordt ook vaak de term Public Key Infrastructure (PKI) gebruikt

90 Internettechnologie 90 Rik Van de WalleGent, maart 2008 Elektronische handtekening Hash-functies (bv. MD5) o Ook “Message Digest” of “Checksum” genoemd o Kritiek op bovenstaande methoden voor elektronische handtekening Combinatie authentisering en geheimhouding Geheimhouding is vaak niet nodig o Oplossing: gebruik maken van een hash-functie H, waarbij berekening H(P) is gemakkelijk voor een gegeven P P kan niet afgeleid worden uit kennis H(P) Er kunnen geen twee berichten P en P’ gevonden worden waarvoor geldt dat H(P) = H(P’) Gebruik van hash-functies om algoritmen voor elektronische handtekeningen te versnellen

91 Internettechnologie 91 Rik Van de WalleGent, maart 2008 Elektronische handtekening in publieke sleutel cryptografie en met hash functie Bericht zelf wordt niet vercijferd Hash wordt berekend en vercijferd (dus beveiligd) Wordt vaak gebruikt in de praktijk Bob Alice P, D A (H(P))


Download ppt "1 InternettechnologieRik Van de WalleGent, maart 2008 Architecturale aspecten van beveiliging Internettechnologie (ITech) Rik Van de Walle academiejaar."

Verwante presentaties


Ads door Google