Datacommunicatie Cryptografie en netwerkbeveiliging
ir. Patrick Colleman
1 2
1. 2.
Inhoud Voorwoord Inleiding – Wat Model
5 5 6 6 7 7 8 9 9 11 11 12 13 13 13 14
3. 3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.2 3.3 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.3.2 3.3.3.3
Systemen Substitutiesystemen Caesar Monoalfabetische vercijfering Polybius Meerletterige vercijfering Trithemius Polyalfabetische vercijfering Transpositiesystemen One time pads Lineair feedback schuifregister RC4 A5 GSM algoritme Stroomversleuteling Het A5 algoritme voor GSM telefonie Aanval op A5
15 15 16 16
4. 4.1 4.2 4.3
Principes Redundantie Tijdsstempel Blokvercijfering
17 17 18 19 20 21 24 25 26 27 28 29 30 31 32 34 34 35 36 37 39 39 46
5. 5.1 5.2 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.5.1 5.2.5.2 5.2.5.3 5.2.5.4 5.2.5.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3 5.3.1 5.4 5.5 5.5.1 5.5.2
Geheime sleutel Inleiding - elementen DES DES permutatietabellen DES: één ronde DES: substitutie DES sleutelgeneratie geketende DES ECB mode CBC mode CFB mode OFB mode CTR mode DES kraken Veilige DES (3DES) Differentiële cryptografie Lineaire cryptografie IDEA IDEA sleutelgeneratie Blowfish AES: advanced encryption standard Rijndael: korte beschrijving Waarom Rijndael?
47 47 47 49 50 51 51 52
6. 6.1 6.2 6.3 6.4 6.4.1 6.4.2 6.4.3
Vertrouwelijkheid Verkeersvertrouwelijkheid Encryptieplaats Sleuteldistributie Random getallen Lehmer X9.17 Met een counter
52 54 55 56 56 57 58
7. 7.1 7.2 7.2.1 7.2.2 7.2.3 7.2.4
Publieke sleutel RSA Sleutelbeheer Aankondiging Bestand Autoriteit Certificaat
59 61 37 63 65 67 68 69 69 70 71 72 73 73 74 75 76 76 77 79 81 81
8. 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.1.5 8.2 8.2.1 8.2.2 8.2.3 8.2.4 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.5
Authentisering Sessiesleutel maken Common secret key Diffie-Hellman Keydistributiecentrum 1 (Otway en Rees) Keydistributiecentrum 2 Public key distributie van een secret key Kerberos Doel Kerberos werking Realm en Kerberi Versie 4 en 5 Publieke sleutel Public key principe Public key met geheimhouding Public key authentisering en afspraak sessiesleutel X.509 Inleiding Certificaatformaten X.509 authenticatie Versie 3 Elliptische kromme
81 82 83 84 87 89 90 91 91
9. 9.1 9.2 9.3 9.3.1 9.3.1.1 9.3.1.2 9.3.2 9.3.2.1
Niet verloochening Handtekening met geheime sleutel Handtekening met publieke sleutel Message digests MAC X9.17 MAC Verjaardagsaanval MD5 MD5 blokschema
92 93 95 97 99
9.3.2.2 9.3.3 9.3.4 9.3.5 9.4
MD5 intern SHA RIPEMD-160 HMAC DSS
100 100 102 102 103 103 103 103 104 106 106 107
10. 10.1 10.1.1 10.1.2 10.1.3 10.1.4 10.1.5 10.1.6 10.1.7 10.2 10.2.1 10.2.2
E-mail PGP
108 109 110 110 113 115 116 116
11. 11.1 11.2 11.3 11.4 11.5 11.5.1 11.5.2
IP Security Security associations Modes Authenticatieheader Encapsulated Security Payload Sleutelbeheer Oakley protocol ISAKMP
118 118 118 119 120 121 121 121 121
12. 12.1 12.1.1 12.1.2 12.1.3 12.1.4 12.1.5 12.1.6 12.2
WWW beveiliging SSL (en TLS) SSL protocol stack SSL record protocol SSL record frame Change Cipher Spec Protocol Alert protocol Handshake protocol SET
Authenticatie Vertrouwelijkheid Compressie Compatibiliteit Segmentatie Sleutelidentificatie Sleutelringen S/MIME Cryptografische algorithmen Certificaten
Voorwoord
Deze tekst is een in cursustekst verwerkte vorm van een website. Hij gaat over twee grote delen, namelijk de studie van de cryptologie en daarna de mogelijkheden tot netwerkbeveiliging. Het deel over cryptologie begint met een situering en de verklaring van een aantal termen. Daarna worden een aantal principes verklaard. Een eerste groot deel over cryptologie is de studie van secret key cryptologie. Hierbij worden onder meer DES en zijn varianten, IDEA, en AES in detail besproken. Een aanverwante vraag is die van de vertrouwelijkheid. Een volgend groot deel gaat over de public key cryptografie. Hierbij bespreken we RSA en de mogelijkheden tot sleutelbeheer. Een volgend deel gaat over de authentisering: is de communicatiepartner echt wie hij zegt te zijn? Hierbij bespreken we onder meer Diffie-Hellman en Kerberos. We gaan na wat de mogelijkheden zijn om met public key cryptografie een geheime sleutel door te sturen. Een volgende vraag is die van de niet-verloochening of het zetten van een digitale handtekening. Dit kan zowel met public key als secret key cryptologie. Technieken als MAC en hashfuncties worden eveneens besproken. Zoals reeds vermeld gaat het tweede deel over netwerkbeveiliging. Een eerste onderdeel hierin is de beveiliging van e-mail. Meestal wensen we dat alleen de correspondent deze kan lezen en niet zomaar iedereen. Hierbij kan men PGP en S/MIME gebruiken. Het tweede onderdeel gaat over IP beveiliging. We bespreken hier de tunneling met de authenticatieheader en ESP. Het laatste en kleinste deel gaat over de beveiliging van het WWW.
In deze versie, werden vele figuren overgenomen uit:
Cryptography and Network Security Principles and Practices, 3e William Stallings ISBN: 0-13-111502-2 of 0-13-091429-0 (ingebonden) Prentice Hall – 2003 De figuren zijn beschikbaar op: http://williamstallings.com Men kan dit boek eveneens gebruiken als referentiewerk wanneer de tekst verwijst naar gespecialiseerde literatuur.
Andere informatie kan men vinden in:
Computernetwerken, 4e Andrew Tanenbaum ISBN: 0-13-066102-3 (Engels, Prentice Hall) - 2003 ISBN: 90-430-0698-X (Nederlands, Prentice Hall - Pearson Education) - 2003
Boortmeerbeek, 5 juli 2003.