Datacommunicatie Cryptografie en netwerkbeveiliging ir. Patrick Colleman
Inhoud Voorwoord 1 1. Inleiding Wat 2 2. Model 5 3. Systemen 5 3.1 Substitutiesystemen 6 3.1.1 Caesar 6 3.1.2 Monoalfabetische vercijfering 7 3.1.3 Polybius 7 3.1.4 Meerletterige vercijfering 8 3.1.5 Trithemius 9 3.1.6 Polyalfabetische vercijfering 9 3.2 Transpositiesystemen 11 3.3 One time pads 11 3.3.1 Lineair feedback schuifregister 12 3.3.2 RC4 13 3.3.3 A5 GSM algoritme 13 3.3.3.1 Stroomversleuteling 13 3.3.3.2 Het A5 algoritme voor GSM telefonie 14 3.3.3.3 Aanval op A5 15 4. Principes 15 4.1 Redundantie 16 4.2 Tijdsstempel 16 4.3 Blokvercijfering 17 5. Geheime sleutel 17 5.1 Inleiding - elementen 18 5.2 DES 19 5.2.1 DES permutatietabellen 20 5.2.2 DES: één ronde 21 5.2.3 DES: substitutie 24 5.2.4 DES sleutelgeneratie 25 5.2.5 geketende DES 26 5.2.5.1 ECB mode 27 5.2.5.2 CBC mode 28 5.2.5.3 CFB mode 29 5.2.5.4 OFB mode 30 5.2.5.5 CTR mode 31 5.2.6 DES kraken 32 5.2.7 Veilige DES (3DES) 34 5.2.8 Differentiële cryptografie 34 5.2.9 Lineaire cryptografie 35 5.3 IDEA 36 5.3.1 IDEA sleutelgeneratie 37 5.4 Blowfish 39 5.5 AES: advanced encryption standard 39 5.5.1 Rijndael: korte beschrijving 46 5.5.2 Waarom Rijndael?
47 6. Vertrouwelijkheid 47 6.1 Verkeersvertrouwelijkheid 47 6.2 Encryptieplaats 49 6.3 Sleuteldistributie 50 6.4 Random getallen 51 6.4.1 Lehmer 51 6.4.2 X9.17 52 6.4.3 Met een counter 52 7. Publieke sleutel 54 7.1 RSA 55 7.2 Sleutelbeheer 56 7.2.1 Aankondiging 56 7.2.2 Bestand 57 7.2.3 Autoriteit 58 7.2.4 Certificaat 59 8. Authentisering 61 8.1 Sessiesleutel maken 37 8.1.1 Common secret key 63 8.1.2 Diffie-Hellman 65 8.1.3 Keydistributiecentrum 1 (Otway en Rees) 67 8.1.4 Keydistributiecentrum 2 68 8.1.5 Public key distributie van een secret key 69 8.2 Kerberos 69 8.2.1 Doel 70 8.2.2 Kerberos werking 71 8.2.3 Realm en Kerberi 72 8.2.4 Versie 4 en 5 73 8.3 Publieke sleutel 73 8.3.1 Public key principe 74 8.3.2 Public key met geheimhouding 75 8.3.3 Public key authentisering en afspraak sessiesleutel 76 8.4 X.509 76 8.4.1 Inleiding 77 8.4.2 Certificaatformaten 79 8.4.3 X.509 authenticatie 81 8.4.4 Versie 3 81 8.5 Elliptische kromme 81 9. Niet verloochening 82 9.1 Handtekening met geheime sleutel 83 9.2 Handtekening met publieke sleutel 84 9.3 Message digests 87 9.3.1 MAC 89 9.3.1.1 X9.17 MAC 90 9.3.1.2 Verjaardagsaanval 91 9.3.2 MD5 91 9.3.2.1 MD5 blokschema
92 9.3.2.2 MD5 intern 93 9.3.3 SHA 95 9.3.4 RIPEMD-160 97 9.3.5 HMAC 99 9.4 DSS 100 10. E-mail 100 10.1 PGP 102 10.1.1 Authenticatie 102 10.1.2 Vertrouwelijkheid 103 10.1.3 Compressie 103 10.1.4 Compatibiliteit 103 10.1.5 Segmentatie 103 10.1.6 Sleutelidentificatie 104 10.1.7 Sleutelringen 106 10.2 S/MIME 106 10.2.1 Cryptografische algorithmen 107 10.2.2 Certificaten 108 11. IP Security 109 11.1 Security associations 110 11.2 Modes 110 11.3 Authenticatieheader 113 11.4 Encapsulated Security Payload 115 11.5 Sleutelbeheer 116 11.5.1 Oakley protocol 116 11.5.2 ISAKMP 118 12. WWW beveiliging 118 12.1 SSL (en TLS) 118 12.1.1 SSL protocol stack 119 12.1.2 SSL record protocol 120 12.1.3 SSL record frame 121 12.1.4 Change Cipher Spec Protocol 121 12.1.5 Alert protocol 121 12.1.6 Handshake protocol 121 12.2 SET
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.