Telematica Hoofdstuk 20 4Passief: n Afluisteren Bedreigingen n Alleen gegevens (inclusief passwords) opgenomen n Geen gegevens gewijzigd of vernietigd n Op LAN kan elk station alle boodschappen ontvangen (laptops!) n Fysieke toegang via de bekabeling (binnen of buiten) of PC's zelf (USB aftappen) n Via de routers van WAN n Via draadloze verbindingen 4Actief: Bedreigingen n Indringer verandert/vernietigt/voegt toe n Virussen n Niet goed beveiligde programma's n Lekken in operating system n Via passwords afluisteren n Slechte keuze van passwords n Door ingrijpen in netwerk infrastructuur 4Fysieke afsluiting n Geen toegang voor onbevoegden tot computers en netwerk n (Via een USB sniffer kun je passwords opnemen) n Computers locken als je weg bent 4Netwerk afsluiten n Firewalls om toegang van buitenaf te reguleren n Geen open draadloos netwerk n Diensten die niet nodig zijn afsluiten (bijv. telnet) 4Passwords n Gebruik passwords om toegang tot computers te beveiligen n Passwords niet te raden (geen namen, geboortedata, woorden uit woordenboek etc.) n Passwords regelmatig veranderen n Passwords niet over het netwerk sturen als dit niet safe is n Gebruik encryptie (bijvoorbeeld ssh i.p.v. telnet) 4Gebruik goede software n Windows 95/98/Me zijn niet te beveiligen n Outlook Express, Internet Information Server e.d. zijn kwetsbaar voor virussen n Security patches bijhouden n Instellingen goed zetten (niet automatisch bijlagen openen, permissies van files) n Antivirussoftware 1
Encryptie 4Encryptie = versleutelen van gegevens zodat ze alleen leesbaar zijn voor iemand die de sleutel kent Elementen van encryptie 4Plaintext = de originele gegevens 4Encryptie algoritme = de berekening die gebruikt wordt om de plaintext onleesbaar te maken 4Sleutel = parameter voor de algoritme 4Ciphertext = het resultaat van de encryptie (onleesbaar) 4Decryptie algoritme = omgekeerde van encryptie algoritme: maakt van ciphertext weer de oorspronkelijk plaintext Soorten encryptie 1 4Symmetrische (conventionele) encryptie n Gebruikt dezelfde sleutel voor encryptie en decryptie n Sleutel is een gedeeld geheim n Sleutel moet veilig van verzender naar ontvanger gebracht worden (of omgekeerd) n Per paar (verzender, ontvanger) een aparte sleutel nodig n Sleutelbeheer is een probleem Eisen symmetrische encryptie 4Algoritme is bekend 4Uit een aantal ciphertexts mag niet de sleutel af te leiden zijn 4Zelfs niet als zowel de ciphertext als bijbehorende plaintext bekend is 4Sleutels moeten geheim gehouden worden 4Brute force: probeer alle mogelijke sleutels 4Het aantal mogelijke sleutels moet groot genoeg zijn Soorten encryptie 2 4Asymmetrische (public key) encryptie n Gebruikt verschillende sleutels voor encryptie en decryptie n Eén sleutel wordt geheim gehouden, de andere wordt gepubliceerd n Geen probleem met sleuteldistributie Voorbeeld symmetrisch 4Substitutiealgoritme n Elke letter/byte/blokje bits wordt vervangen door een andere n Vervangingstabel moet omkeerbaar zijn (elke vervanging komt maar één keer voor) n Is kwetsbaar voor frequentie-analyse n Poly-alfabetische substitutie: telkens een andere vervangingstabel -- afhankelijk van vorige teken(s) n Vervangingstabel wordt berekend uit sleutel n Ingewikkelde verandering vervangingstabel op basis van sleutel n Vb: RC4, Blowfish 2
Sleutel Plaintext: Ciphertext: Voorbeeld dit is een geheime tekst mhguhvuttfu txthqtugtbvg Dit voorbeeld is onveilig (waarom?) Cryptanalyse 4Als de algoritme zwak is dan kan dit gebruikt worden 4Bijvoorbeeld bij substitutie gebruik maken van frequenties van de letters in de taal 4Bij een sterk algoritme alleen brute-force: probeer alle mogelijke sleutels 4Daarom is het nodig dat het aantal mogelijke sleutels groot genoeg is, zodat brute-force vele jaren kost DES 4Data Encryption Standard 4Ontwikkeld door IBM in samenwerking met Amerikaanse regering 4Symmetrisch 4Zeer snel via speciale DES chips (niet in software) 456-bits sleutel 4Sleutel is nu te klein 4Wordt zeer veel gebruikt, o.a door banken (pinpas) Triple DES 4Gebruikt 3 keer DES achter elkaar 4Daardoor sleutel 168 bits Triple DES eigenschappen 4168 bits sleutel is voorlopig onbreekbaar 4Door K1 = K3 te nemen 112bits sleutel: is voorlopig ook voldoende 4Door K1 = K2 = K3 te nemen heb je de oorspronkelijke DES weer terug: n Je hebt dus alleen 3DES chips nodig 4In plaats van 3DES (TDEA) is er nu een nieuwe standaard (Advanced Encryption Standard AES) Sleuteldistributie (conv) 1 2 3 3
Asymmetrische encryptie Public Key encryptie 4Public Key encryptie n Twee sleutels n Publieke sleutel wordt gepubliceerd n Privé sleutel blijft geheim n Wordt gebruikt voor encryptie en digitale handtekening n Is helaas erg langzaam 4Veel gebruikt systeem: RSA n Rivest, Shamir, Adleman Eisen public key encryptie Digitale handtekening 4Het is ondoenlijk om de private key af te leiden uit de public key. 4Public key en private key zijn elkaars `omgekeerden' 4De geldigheid van een public key moet kunnen worden vastgesteld 4Private key moet geheim gehouden worden Procedure handtekening Public key encryptie Public key encryptie is te langzaam: gebruik conventionele session key 4
Sleuteldistributie 4Bij public key encryptie hoeft de public key niet geheim gehouden te worden 4Distributie kan via email, Web site, LDAP server etc. 4Maar hoe weet je dat de key echt van iemand is 4Charlie stuurt Alice een public key maar doet net alsof hij Bob is 4Alice denkt dat dit Bobs public key is 4Als Alice Bob kent kan ze hem opbellen om te controleren Certificates 1 4Iemand (een organisatie) moet controleren dat de public key inderdaad van Bob is 4Om te voorkomen dat iemand er een wijziging in aanbrengt moet de public key voorzien worden van een digitale handtekening van deze organisatie 4Dit heet een public key certificate 4De organisatie heet Certificate Authority of Trusted Third Party (TTP) Certificates 2 4Certificate bevat ook n een `timestamp' (datum+tijd) n identiteit van de eigenaar n Identiteit van de CA Controle 4Hoe controleeer je een certificate? 4Decrypt met de public key van de CA 4Controleer of Bobs identiteit erin staat 4Hoe weet je dat de public key van de CA echt is? n Misschien is deze weer getekend door een hogere CA n Maar de bovenste moet je op een veilige wijze verkregen hebben n Bijv. In Netscape, Internet Explorer zitten diverse CA ingebouwd Gebruik encryptie Gebruik in Netwerk kwetsbaar Alleen data Niet header 4In email: encryptie en digitale handtekening n Bijv. Met programma PGP (Pretty Good Privacy) of S/MIME gebaseerd op Internet/ITU standaard X.509 4SSL/TLS (Secure Sockets Layer/Transport Layer Security): n Werkt aan beide kanten van socket (transport laag verbinding) n Werkt met X.509 certificaten 4IPSec (IP Security): n Inhoud van IP pakketten wordt versleuteld 5
VPN VPN voorbeeld 4Virtual Private Network n Netwerk dat niet toegankelijk is voor buitenstaanders n Niet fysiek, maar via encryptie n Bijvoorbeeld voor gebruik door thuiswerkers n Of voor intranet/extranet n De fysieke verbindingen lopen over het onveilige Internet n Gebruikt IPSec (encryptie + certicicates) Transport/Tunnel SSL vs. IPSec 4Bij SSL/TLS moet de encryptiecode in de toepassingsprogramma's staan n Bijvoorbeeld in de browser en de Webserver n Geen wijzigingen in het netwerk nodig n Alleen programma's met SSL/TLS ingebouwd kunnen het gebruiken 4Bij IPSec wordt cryptografische code in het operating system en/of routers geplaatst n Alle programma's kunnen het gebruiken zonder wijzigingen n Wel netwerkaanpassingen 6