Inhoud leereenheid 7c
Bedreigingen voor computernetwerken – voorkomen van een aanval Introductie Leerkern 7.3
79 80
Network Security Controls
Zelftoets
91
Terugkoppeling 1 2
78
80
93
Uitwerking van de opgaven 93 Uitwerking van de zelftoets 95
Leereenheid 7c
Bedreigingen voor computernetwerken – voorkomen van een aanval ‘The world is a dangerous place to live, not because of the people who are evil, but because of the people who don't do anything about it.’ Albert Einstein INTRODUCTIE
In de vorige leereenheden stonden het voorbereiden en uitvoeren van een aanval centraal. In deze leereenheid bekijken we methoden om een aanval op een computernetwerk te voorkomen. De nadruk ligt hierbij op protocollen waarin cryptografie wordt toegepast. Het vercijferen van berichten beschermt de geheimhouding en integriteit van de inhoud van de verstuurde berichten. Verder vormt het toepassen en beheren van sleutels een belangrijk hulpmiddel voor authenticatie. In de volgende leereenheden zullen we ook enkele softwaretools bekijken om aanvallen te voorkomen en te detecteren. LEERDOELEN
Na het bestuderen van deze leereenheid wordt verwacht dat u – een analyse van beveiligingsrisico’s in een computernetwerk kunt maken – kunt uitleggen hoe een gesegmenteerde architectuur de veiligheid van een computernetwerk kan vergroten – kunt uitleggen wat de voor- en nadelen zijn van het toepassen van cryptografie in verschillende lagen van de protocolstack – kunt uitleggen wat link encryptie en end-to-end encryptie is – kunt uitleggen wat een virtual private network is – kunt uitleggen wat een public key infrastructure is en welke rol certificaten daarin spelen – globaal de werking kunt uitleggen van de protocollen SSH, SSL en IPsec – kunt uitleggen hoe cryptografie, foutendetecterende codes, foutencorrigerende codes en checksums de integriteit van berichten beschermen – kunt uitlegen hoe authenticatie gerealiseerd kan worden met wachtwoorden en cryptografie – globaal de werking kunt uitleggen van Kerberos voor access control in een gedistribueerd systeem – kunt aangeven in hoeverre beveiliging mogelijk is in routers met behulp van access control lists – kunt aangeven welke vormen van beveiliging er zijn voor draadloze netwerken – kunt uitleggen wat een honeypot is – kunt uitleggen hoe traffic-flowanalyse voorkomen kan worden.
OUN
79
Security en IT
Studeeraanwijzing U dient sectie 7.3 ‘Network Security Controls’ uit het tekstboek in zijn geheel te bestuderen met uitzondering van de sectie ‘Mobile Agents’ op pagina 444 en enkele onderdelen van de secties ‘Kerberos’, ‘WEP’ en ’WPA and WPA2’. De studielast van deze leereenheid inclusief de opdrachten is ongeveer 7 uur.
LEERKERN 7.3 Studeeraanwijzing
Network Security Controls
Sectie 7.3 bestaat uit de volgende secties: ‘Security Threat Analysis’, ‘Design and Implementation’, ‘Architecture’, ‘Encryption’, ‘Content Integrity’, ‘Strong Authentication’, ‘Access Controls’, ‘Wireless Security’, ‘Alarms and Alerts’, ‘Honeypots’, ‘Traffic Flow Security’ en ‘Controls Review’. In deze secties komen verschillende methoden aan de orde om aanvallen te ontdekken en te voorkomen. De nadruk ligt hierbij op de architectuur van een computernetwerk en het toepassen van cryptografie, authenticatie en toegangscontrole. Firewalls en intrusion detection systems komen nu slechts kort aan bod en worden in de volgende leereenheid uitgebreid behandeld. DESIGN AND IMPLEMENTATION
Toelichting Weblink OWASP
Het Open Web Applications Security Project (OWASP) is een organisatie die zich bezighoudt met security van softwareapplicaties en die daartoe softwaretools en richtlijnen voor het genereren van veilige programmacode creëert. Segmentation
Segmentering
DMZ
80
Aanvulling
Met segmentering van een computernetwerk bedoelen we dat het computernetwerk wordt opgedeeld in een aantal stukken of segmenten. Eigenschappen zoals beveiliging en toegang kunnen per segment worden aangepast al naar gelang de behoefte. Een veelgebruikte vorm van segmentering om een computernetwerk te beveiligen, is een zogenaamde demilitarized zone (DMZ). Een DMZ is een netwerksegment dat zich bevindt tussen een intern netwerk, bijvoorbeeld het intranet van een bedrijf, en een extern netwerk, bijvoorbeeld het internet. Zowel vanuit het interne als het externe netwerk kan verbinding worden gemaakt met de DMZ. Vanuit de DMZ kan daarentegen alleen verbinding worden gemaakt met het externe netwerk en niet met het interne netwerk. Vanuit het externe netwerk kan dus wel een host in de DMZ worden bereikt, maar niet in het interne netwerk. Een DMZ wordt vaak gebruikt voor servers zoals e-mailservers, webservers en DNS-servers. Zulke servers moeten zowel vanuit het externe als het interne netwerk kunnen worden bereikt, maar voorkomen moet worden dat deze servers een brug vormen waarmee een hacker vanuit het externe netwerk op het interne netwerk kan komen.
OUN
Leereenheid 7c Bedreigingen voor computernetwerken – voorkomen van een aanval
Een DMZ kan gecreëerd worden met behulp van een of meerdere firewalls, zoals getoond in figuur 7c.1. Een firewall is een soort verdedigingslinie waarmee het inkomende en uitgaande verkeer gefilterd en gecontroleerd kan worden. In geval van een enkele firewall worden het externe netwerk, het interne netwerk en de DMZ elk op aparte poorten van de firewall aangesloten. Een veiligere aanpak is om twee firewalls toe te passen; een tussen het interne netwerk en de DMZ en een tussen de DMZ en het externe netwerk. Firewalls bestuderen we in leereenheid 7d gedetailleerder.
Firewall
FIGUUR 7c.1
Firewall configuraties en DMZ
Mobile Agents Studeeraanwijzing
Deze sectie behoort niet tot de leerstof. ENCRYPTION
OSI-model
Het OSI-model bestaat uit zeven lagen. Het internetprotocolmodel kent slechts vijf lagen. De bovenste drie lagen van het OSI-model (de applicatie-, presentatie- en sessielaag) zijn in het internetprotocolmodel samengevoegd in de applicatielaag. Link Encryption
Link encryption
Figure 7-21 op pagina 446 toont hoe bericht M uit de applicatielaag is ingekapseld. In elke laag wordt een header toegevoegd. Bij link encryption vindt vercijfering plaats in de datalinklaag of in de fysieke laag. Bericht M wordt dan samen met de headers uit de hogere lagen vercijferd.
OUN
81
Security en IT
OPGAVE 7c.1
Waarom is bij link encryption het bericht in klare tekst leesbaar in een router? End-to-end Encryption End-to-end encryption
Figure 7-22 op pagina 447 toont hoe bericht M bij end-to-end encryption in de applicatielaag wordt vercijferd. Vervolgens wordt in elk van de onderliggende lagen een header toegevoegd. De term end-to-end encryption wordt soms ook toegepast als vercijfering plaatsvindt in de transportlaag of netwerklaag. Comparison of Encryption Methods Toelichting
In sectie 2.7 ‘Public Key Encryption’ van leereenheid 2b hebt u dit reeds eerder gezien.
Beschouw n gebruikers die berichten naar elkaar toesturen. Als de berichten worden vercijferd met geheime sleutelcryptografie, dient elk paar gebruikers te beschikken over een geheime sleutel waarmee ze de berichten vercijferen die ze onderling uitwisselen. Het totaal aantal sleutels is dan gelijk aan het aantal paren gebruikers. Gebruiker n1 wisselt berichten uit met n – 1 gebruikers waarvoor n – 1 sleutels nodig zijn. Gebruiker n2 wisselt berichten uit met n1 en de overige n – 2 gebruikers, waarvoor n – 2 extra sleutels nodig zijn. In totaal zijn er (n – 1) + (n – 2) + (n – 3) + ... + 1 sleutels nodig. Deze som wordt ook wel het driehoeksgetal genoemd en is gelijk aan n(n – 1)/2. Als gebruik wordt gemaakt van publieke sleutelcryptografie, heeft elke gebruiker een privésleutel en een publieke sleutel. Er zijn dan 2n sleutels nodig, namelijk n privésleutels en n publieke sleutels. Voor grotere waarden van n zijn er nu aanzienlijk minder sleutels nodig dan bij geheime sleutelcryptografie het geval is.
OPGAVE 7c.2
Is het zinvol om zowel link encryption als end-to-end encryption toe te passen? Virtual Private Networks VPN
Een virtual private network (VPN) bestaat in essentie uit een verzameling computers die veilig met elkaar kunnen communiceren via een onveilig netwerk zoals het internet. Dit is mogelijk door het toepassen van beveiligingsmaatregelen zoals encryptie en speciale protocollen. Gebruikers van een VPN hebben de indruk dat hun communicatie plaatsvindt over een veilig (privé)netwerk. Er zijn diverse manieren om een VPN te realiseren. Het tekstboek vermeldt dat een VPN is gebaseerd op link encryption waarbij vercijfering plaatsvindt in de datalinklaag. Een VPN kan echter ook gebaseerd zijn op end-to-end encyrption in een hogere laag. Zo kan een VPN gerealiseerd worden met behulp van het SSL-protocol in de transportlaag of het IPsecprotocol in de netwerklaag. In de volgende secties gaan we daar dieper op in. OPGAVE 7c.3
Waarom is het geschikter om een VPN te realiseren tussen een client en een firewall dan tussen een client en een server?
82
OUN
Leereenheid 7c Bedreigingen voor computernetwerken – voorkomen van een aanval
PKI and Certificates
Certificaat Zie ook sectie 2.8 ‘The Use of Encryption’ van leereenheid 2b
CA PKI
Weblink PKInl
Weblink VECOZO
Het gebruik van publieke sleutelcryptografie vereist dat we kunnen verifiëren wie de eigenaar is van een publieke sleutel. Om dit te bewerkstelligen zijn certificaten ingevoerd. Een certificaat is in het algemeen een digitaal ondertekend document waarin wordt vastgelegd dat bepaalde informatie verbonden is aan de houder van het certificaat. Een concreet voorbeeld is een certificaat waarin de publieke sleutel en de naam van de houder van het certificaat worden vermeld. Een certificaat wordt uitgegeven en ondertekend door een Certificate Authority (CA). Een public key infrastructure (PKI) is een systeem voor het uitgeven en beheren van certificaten. In het ideale geval zou er een wereldwijde PKI bestaan. In de praktijk is er echter sprake van enige wildgroei en zijn er vele PKI’s operationeel. Ook in Nederland zijn er diverse PKI’s. Zo maakt de Nederlandse overheid gebruik van PKI-overheid voor het beveiligen van websites, het plaatsen van rechtsgeldige elektronische handtekeningen, authenticatie op afstand en vercijfering van berichten. In de gezondheidszorg verstrekt VECOZO, een organisatie opgezet door zorgverzekeraars, digitale certificaten om veilige communicatie mogelijk te maken tussen zorgverzekeraars en zorgverleners zoals huisartsen en ziekenhuizen.
OPGAVE 7c.4
Host A en host B wisselen berichten uit en willen deze met behulp van geheime sleutelcryptografie beveiligen. Zowel host A als host B dienen de geheime sleutel te kennen. Hoe kan een PKI gebruikt worden om de geheime sleutel uit te wisselen? SSH Encryption Studeeraanwijzing
SSH Zie leereenheid 7b
Zie leereenheid 2b
SSH, SSL en IPsec zijn complexe protocollen. Het voert te ver om deze protocollen in detail te bestuderen. We volstaan daarom met het schetsen van de grote lijnen. In elk van deze protocollen speelt cryptografie een centrale rol om het uitwisselen van berichten te beveiligen. De protocollen hebben verschillende achtergronden en zijn ontwikkeld voor verschillende doeleinden. SSH en SSL spelen zich grotendeels af in de transportlaag; IPsec is een onderdeel van IPv6 en biedt beveiliging in de netwerklaag.
SSH (secure shell) is een protocol dat het mogelijk maakt om veilig in te loggen op en gebruik te maken van een remote host via een netwerk. SSH-2 is een complex protocol dat bestaat uit verschillende componenten. SSH-2 biedt onder andere authenticatie van de server gebaseerd op publieke sleutelcryptografie en authenticatie van de client. Via een key exchange protocol zoals Diffie-Hellman wordt een geheime sleutel uitgewisseld waarmee de berichten tussen server en client vercijferd worden.
OUN
83
Security en IT
SSL Encryption SSL TLS
SSL (Secure Sockets Layer), ook wel TLS (Transport Layer Security) genoemd, is origineel ontwikkeld door Netscape om de communicatie tussen een webbrowser en een webserver te beveiligen. SSL is tegenwoordig het meest toegepaste protocol om communicatie over het internet te beveiligen. In een client-serverapplicatie verzoekt de client om een verbinding op te zetten die met SSL beveiligd is. De server stuurt vervolgens zijn certificaat ter authenticatie naar de client, zodat de client kan controleren of hij inderdaad met de juiste server te maken heeft. Optioneel kan de client ook zijn certificaat voor wederzijdse authenticatie naar de server sturen, zodat de server kan controleren met welke client hij te maken heeft, maar dat is geen verplicht onderdeel van SSL. De client en server bepalen onderling welke cryptografische algoritmen ze toepassen om hun communicatie te beveiligen. De client en server maken gebruik van publieke sleutelcryptografie om een geheime sleutel uit te wisselen. De verdere berichten tussen client en server worden vervolgens met deze geheime sleutel vercijferd. Als een webbrowser gebruik maakt van SSL, wordt ‘https’ als protocol identifier in de URL vermeld. Verder vertonen webbrowsers zoals Internet Explorer en Firefox een icoon in de vorm van een gesloten slot. Door op dit slot te klikken, verschijnt gedetailleerde informatie over het certificaat van de webserver. De verificatie van het certificaat gebeurt gewoonlijk achter de schermen. De webbrowser geeft een foutmelding als het certificaat niet in orde is of als de Certificate Authority die het certificaat heeft uitgegeven, onbekend is. OPGAVE 7c.5
Gebruik de webbrowser op uw pc of de webbrowser in het virtuele lab om met SSL te surfen naar de website van het bedrijf VeriSign (https://www.verisign.com). VeriSign is wereldwijd de grootste uitgever van certificaten. Op de website kunt u bijvoorbeeld een certificaat kopen of een gratis certificaat met een beperkte geldigheidsduur aanvragen. Klik in de webbrowser op het icoon met het gesloten slot en bekijk de informatie over het certificaat. Door welke CA is het certificaat verleend, wat is de geldigheidsduur, hoe lang is de publieke sleutel en welk algoritme hoort daarbij? IPSec IPsec
84
Erratum pagina 454
Het IPsec-protocol werd in eerdere versies met ‘IPSec’ aangeduid. IPsec is onderdeel van de netwerklaag en in feite een uitbreiding van het IPprotocol. Het is een optioneel onderdeel van IPv4 maar een verplicht onderdeel van IPv6.
Toelichting
Een segment uit de transportlaag wordt in het IPsec-protocol op een andere, veiligere wijze in een netwerklaagdatagram ingekapseld dan in het IP-protocol. Dit datagram wordt vervolgens in de datalinklaag op de gebruikelijke wijze ingekapseld in een frame. De protocollen in de bovenliggende transportlaag en de onderliggende datalinklaag hoeven daarom niet of nauwelijks aangepast te worden.
OUN
Leereenheid 7c Bedreigingen voor computernetwerken – voorkomen van een aanval
Security association AH-protocol ESP-protocol
IKE-protocol
Transport mode
Tunnel mode
IPsec heeft een open, modulaire opbouw. De IPsec-standaard beschrijft niet in detail welke cryptografische algoritmes en protocollen toegepast moeten worden en laat een grote keuzevrijheid toe. De hosts die via IPsec communiceren, bepalen onderling welke algoritmes en protocollen ze zullen gaan toepassen. Deze informatie wordt opgeslagen in een zogenaamde security association. IPsec ondersteunt twee protocollen om veilige communicatie tussen hosts mogelijk te maken: het authentication header (AH) protocol en het encapsulating security payload (ESP) protocol. Het AH-protocol en het ESPprotocol beveiligen beide de integriteit en authenticiteit van pakketten. Het ESP-protocol past verder ook vercijfering toe, in tegenstelling tot het AH-protocol. Het is daarom vanuit het oogpunt van security aan te bevelen om het ESP-protocol te gebruiken. Daarnaast ondersteunt IPsec ook het IKE-protocol waarmee sleutels veilig uitgewisseld kunnen worden. Figure 7-28 op pagina 456 toont de structuur van een ESP-pakket. Een ESP-pakket bevat de volgende velden: – De security parameters index (SPI) duidt de security association aan. – Het sequence number geeft het volgnummer van het pakket aan. – De payload data bevat het pakket uit de transportlaag. – De payload data wordt vercijferd met een blokcijfer. De grootte van de payload data dient een veelvoud te zijn van de blokgrootte waarmee het cryptografische algoritme werkt. Als de grootte van de payload data afwijkt van de blokgrootte worden extra bits (padding) als opvulling toegevoegd. – In het padding-lengthveld wordt opgeslagen hoe groot de padding data is. – Next header geeft het type aan van de payload data, bijvoorbeeld TCP of UDP. – De authentication data bevat ten slotte een checksum die berekend wordt door een hashfunctie toe te passen over alle vorige velden in het ESP-pakket. Deze checksum wordt vercijferd met een geheime sleutel. De SPI duidt aan welk hashalgoritme wordt toegepast. De authentication data zorgt dus voor zowel integriteit als authenticatie. De payload data, padding, padding length en next header velden zijn vercijferd. De SPI duidt aan welk cryptografisch algoritme wordt toegepast. Figure 7-27b toont dat aan het ESP-pakket uit Figure 7-28 ten slotte een IP header wordt toegevoegd volgens het IP-protocol. De structuur van een AH-pakket komt grotendeels overeen met die van een ESP-pakket, er vindt echter geen vercijfering plaats.
Het AH-protocol en het ESP-protocol kunnen beide op twee manieren gebruikt worden: transport mode en tunnel mode. – In transport mode bevat de payload data het segment uit de transportlaag. Transport mode wordt toegepast om de communicatie tussen twee hosts te beveiligen. De authenticiteit en de integriteit van berichten is dan beveiligd. Het ESP-protocol biedt daarnaast ook confidentialiteit omdat onder andere de payload data vercijferd is, zoals aangegeven in Figure 7-28. – In tunnel mode bevat de payload data het datagram uit de netwerklaag dat bestaat uit het segment uit de transportlaag en de IP header. Tunnel mode wordt toegepast om een VPN te realiseren. Aan het AH- of ESPpakket wordt een IP header toegevoegd zoals weergegeven in Figure 7-27. Het uiteindelijke pakket bevat dus twee IP headers.
OUN
85
Security en IT
Tunnel mode kan omschreven worden als IP in IP. De beeldspraak van een tunnel is hier toepasselijk omdat er in feite een tunnel wordt gegraven waardoor het originele IP-datagram wordt getransporteerd. De authenticiteit en de integriteit van dit IP-datagram is beveiligd. In het ESPprotocol is dit IP-datagram bovendien vercijferd en kan dus niet bekeken of veranderd worden; het bevindt zich in de tunnel en is onzichtbaar aan de buitenkant van de tunnel. Om een VPN te realiseren kunnen we het beste het ESP-protocol in tunnel mode toepassen. Figure 7-25 en Figure 7-26 op pagina 450 tonen een VPN tussen een client en een server in een intranet. Een datagram dat de client naar de server verstuurt, bevat een IP header met de IP-adressen van de client en de server als zender en ontvanger. De tunnel wordt nu opgezet tussen de client en de firewall. Een datagram dat de client naar de server verstuurt, wordt eerst vercijferd en verpakt in een ESP-pakket. Vervolgens voegt de client aan dit ESP-pakket een IP header toe met daarin de IP-adressen van de client en de firewall als zender en ontvanger. De firewall ontvangt het bericht, pakt het uit en ontcijfert het. Hierbij komt het originele IP-datagram uit de tunnel tevoorschijn. De IP header bevat het IP-adres van de client en de server als zender en ontvanger. De firewall kan het bericht controleren en access control uitvoeren om de client toegang tot de server te verlenen. Onder een tunnel in computernetwerken verstaan we in het algemeen de techniek waarbij een bericht MA van een protocol A wordt ingebed in een bericht MB van een protocol B. We maken dan gebruik van de faciliteiten van protocol B om het bericht MB te versturen. Op de bestemming wordt het bericht uitgepakt en komt MA weer tevoorschijn dat volgens protocol A verder wordt afgehandeld. Protocol B vormt hier dus een tunnel voor berichten van protocol A. In IPsec tunnel mode correspondeert protocol A met IP en protocol B met AH of ESP. Er zijn ook tunnels waarbij andere protocollen worden gebruikt. OPGAVE 7c.6
Wat is het nut van het sequencenummer in een IPsec-pakket voor security? Encrypted E-mail Studeeraanwijzing
In leereenheid 7e komen S/MIME en PGP voor het beveiligen van e-mail uitgebreid aan de orde. CONTENT INTEGRITY
In sectie 6.3 ‘Reliability and Integrity’ uit leereenheid 6a hebt u reeds kennisgemaakt met foutendetecterende en foutencorrigerende codes. Foutendetecterende code
86
Met behulp van een foutendetecterende code of het toevoegen van een cryptografische checksum kan worden gedetecteerd of een bericht gewijzigd is. Wijzigingen die een hacker bewust aanbrengt om de betekenis van het bericht te veranderen of om het bericht te verminken, worden hiermee gedetecteerd. Ook wijzigingen in het bericht ten gevolge van fouten in het communicatiepad van zender naar ontvanger worden gedetecteerd.
OUN
Leereenheid 7c Bedreigingen voor computernetwerken – voorkomen van een aanval
Foutencorrigerende code
Met behulp van een foutencorrigerende code kunnen wijzigingen in een bericht niet alleen worden ontdekt maar ook worden hersteld. In hoeverre deze reparatie mogelijk is, hangt af van het soort code dat wordt toegepast en het aantal bits dat hersteld moet worden. Sommige codes kunnen meer fouten herstellen dan andere codes.
STRONG AUTHENTICATION
Strong authentication
Authenticatie kan op verschillende manieren gerealiseerd worden, maar niet alle manieren zijn even veilig. De term strong authentication duidt op veilige technieken voor authenticatie die niet of nauwelijks door een hacker omzeild kunnen worden. One-Time Password OPGAVE 7c.7
Een gebruiker genereert een one-time password met behulp van een SecureID device en gebruikt dit password vervolgens om zich te authenticeren aan een server. Het password is tijdafhankelijk. De server kan de gebruiker alleen maar authenticeren als de klok van het SecureID device synchroon loopt met de klok van de server. In de praktijk lopen deze klokken echter vaak iets uit de pas. Hoe kunnen we hiermee omgaan? Challenge-Response Systems Challengeresponsesysteem
Veel banken maken gebruik van challenge-responsesystemen voor internetbankieren. De Rabobank verstrekt bijvoorbeeld aan klanten een bankpas met pincode en een zogenaamde random reader. De random reader is een apparaatje bestaande uit een numeriek toetsenbord, een display en een lezer waarmee de magneetstrip of de chip op de bankpas uitgelezen kan worden. Via de website van de bank kan een klant een bedrag overschrijven naar een rekening. Dit verloopt globaal als volgt. – De klant logt in op de website van de bank waarbij hij gebruikmaakt van het beveiligde protocol SSL. In de webbrowser ziet hij dat in de URL ‘https’ wordt vermeld. In geval er geen beveiligde verbinding is of als de URL afwijkt, bevindt de klant zich niet op de website van de bank maar heeft hij te maken met een masquerade. – Ter identificatie tikt de klant zijn rekeningnummer in op de website. De klant steekt zijn bankpas in de random reader en tikt zijn pincode in. De random reader genereert een getal dat de klant vervolgens intikt in de website. De bank gebruikt dit getal als een one-time password voor authenticatie. Vervolgens krijgt de klant toegang tot zijn rekening. – Als de klant een bedrag wil overschrijven, vraagt de bank om een bevestiging. Via de website ontvangt de klant van de bank een getal, een challenge, dat hij op de random reader intikt. De random reader genereert vervolgens een getal als response dat de klant op de website intikt. Alleen als de response klopt, zal de bank het bedrag overschrijven.
OUN
87
Security en IT
OPGAVE 7c.8
Het challenge-responsesysteem dat de klant van de Rabobank gebruikt met behulp van de random reader, zorgt voor identificatie en authenticatie van de klant aan de bank. Hoe zit het met de identificatie en authenticatie van de bank aan de klant? Kerberos Studeeraanwijzing
Kerberos
De tekst bij Figure 7-29 en Figure 7-30 kunt u overslaan. Deze tekst begint op regel 8 onderaan pagina 461 (’The first step in using Kerberos...’) en eindigt op regel 9 onderaan pagina 462 (‘...and servers are handled similarly.’). In plaats daarvan bestudeert u onderstaande tekst, waarin een gesimplificeerde beschrijving wordt gegeven van de werking van Kerberos. Kerberos is een applicatie waarmee access control gerealiseerd kan worden in een gedistribueerd systeem. In leereenheid 4a hebt u reeds met access control kennisgemaakt en geleerd dat dit bestaat uit zowel authenticatie, om een identiteit vast te stellen, als autorisatie, om te bepalen welke operaties die identiteit mag uitvoeren. In een gedistribueerd systeem verzorgt Kerberos access control voor clients die gebruik willen maken van services die op servers draaien. Figure 7-31 op pagina 465 toont de architectuur van een gedistribueerd systeem waarin Kerberos wordt toegepast voor access control. De gebruiker (User) zit achter een host machine en wil als client een service gebruiken die door een server (Other Server) wordt aangeboden. Om toegang te verkrijgen tot deze server, vindt access control plaats in drie stappen. Allereerst vindt authenticatie plaats tussen de User en de Kerberos Server. De Kerberos Server verstrekt de User een eerste ticket, het ticket-granting ticket, waarmee hij zich kan authenticeren bij de TicketGranting Server. Als tweede stap vindt authenticatie plaats tussen de User en de Ticket-Granting Server. De Ticket-Granting Server verleent de User een tweede ticket, een service-granting ticket, waarmee hij zich kan authenticeren bij een bepaalde Other Server. Als derde stap maakt de User gebruik van de service die door de Other Server wordt aangeboden, waarbij het service-granting ticket wordt gebruikt voor authenticatie.
Ticket-granting ticket Service-granting ticket
We gaan nu de communicatie tussen de User en de diverse servers nader bekijken. We gebruiken hierbij de volgende aanduidingen: – User U zit achter een host machine die client A uitvoert. – A wil gebruikmaken van een service die door Other Server B wordt aangeboden. – De Kerberos (Authentication) Server duiden we aan met KAS. – De Ticket-Granting Server duiden we aan met TGS. Zoals getoond in figuur 7c.2, verloopt de communicatie in de volgende 6 stappen:
‘Nonce’ is in leereenheid 7b aan de orde geweest.
88
1 U logt in op A met een gebruikersnaam en wachtwoord. A vertelt dat A gebruik wil maken van TGS. Daartoe stuurt A als klare tekst een bericht naar KAS met daarin nonce nA en de namen van A en TGS.
KAS
OUN
Leereenheid 7c Bedreigingen voor computernetwerken – voorkomen van een aanval
2 KAS heeft een database met bekende hosts en zoekt daarin A en TGS op. De database bevat geheime sleutel KA,KAS, die alleen A en KAS kennen, en geheime sleutel KTGS,KAS, die alleen TGS en KAS kennen. KAS genereert vervolgens een geheime sleutel KA,TGS waarmee A en TGS veilig kunnen communiceren. Ook genereert KAS een ticket-granting ticket TA,TGS waarmee A zich aan TGS kan authenticeren. Dit ticket bevat de geheime sleutel KA,TGS, de naam van A en een tijdaanduiding L1 die aangeeft hoelang het ticket geldig is. KAS vercijfert het ticket met KTGS,KAS en stuurt dit ticket naar A. KAS verstuurt verder een bericht naar A dat KAS met KA,KAS vercijfert. Dit bericht bevat KA,TGS, nonce nA, tijdaanduiding L1 en de naam van TGS. 3 A ontvangt het bericht van KAS en ontcijfert dit met de geheime sleutel KA,KAS. A verifieert de nonce nA om er zeker van te zijn dat het bericht door KAS is verstuurd. A beschikt nu over KA,TGS, tijdaanduiding L1 en de naam van TGS. A beschikt ook over het ticket TA,TGS maar kan dit niet ontcijferen; het ticket is immers vercijferd met KTGS,KAS. A verstuurt een bericht naar TGS en vercijfert dit met KA,TGS. Dit bericht bevat de naam van A en de huidige tijd TA volgens de klok van A. Daarnaast verstuurt A ook het ticket TA,TGS, de naam van B en een nonce nA’ naar TGS. 4 TGS ontvangt het ticket TA,TGS van A en ontcijfert dit met de geheime sleutel KTGS,KAS. TGS beschikt dan over KA,TGS, tijdaanduiding L1 en de naam van A. Met behulp van KA,TGS ontcijfert TGS vervolgens het bericht van A. TGS beschikt dan over de naam van A en tijdstip TA. TGS verifieert met behulp van L1 en TA of het ticket nog geldig is en de naam van A. TGS genereert een service-granting ticket TA,B en verstuurt dit naar A. Dit ticket is vercijferd met geheime sleutel KB,TGS die alleen B en TGS kennen. Het ticket bevat geheime sleutel KA,B, tijdaanduiding L2 die aangeeft hoelang het ticket geldig is en de naam van A. TGS verstuurt ook een bericht naar A dat vercijferd is met KA,TGS. Dit bericht bevat de geheime sleutel KA,B, nonce nA’, tijdaanduiding L2 en de naam van B. 5 A ontvangt het bericht van TGS en ontcijfert dit met KA,TGS. A verifieert nonce nA’ om er zeker van te zijn dat het bericht door TGS is verstuurd. A beschikt nu over de geheime sleutel KA,B, tijdaanduiding L2, de naam van B en ticket TA,B. A kan ticket TA,B niet ontcijferen; dit is immers vercijferd met KB,TGS. A verstuurt nu naar B een bericht dat vercijferd is met KA,B. Dit bericht bevat de naam van A en de huidige tijd TA’ volgens de klok van A. A verstuurt ook ticket TA,B naar B. 6 B ontcijfert ticket TA,B met sleutel KB,TGS. B kent nu de geheime sleutel KA,B, tijdaanduiding L2 en de naam van A. Met behulp van KA,B ontcijfert B het bericht van A. B verifieert met L2 en TA’ of het ticket nog geldig is en de naam van A. B stuurt TA’ terug naar A in een bericht dat vercijferd is met KA,B. A ontvangt het bericht van B en ontcijfert het. TA’ doet nu dienst als nonce waarmee A kan verifiëren dat het bericht afkomstig is van B.
OUN
89
Security en IT
FIGUUR 7c.2
Berichtenverkeer in Kerberos De notatie E_KX(y) geeft aan dat bericht y is vercijferd met sleutel KX.
OPGAVE 7c.9
In Kerberos dient een client met twee authentication servers, de Kerberos authentication server en de ticket-granting server, te communiceren alvorens gebruik te kunnen maken van een server. Wat is hierbij het voordeel voor de gebruiker? WEP Studeeraanwijzing
WEP
90
De tweede en derde alinea van deze sectie (‘First, the WEP standard uses ... wireless session can be broken.’) kunt u overslaan. WEP maakt gebruik van geheime sleutelcryptografie waarbij de client en het access point over een geheime sleutel beschikken. Bij het opzetten van een verbinding stuurt het access point een getal (een nonce) naar de client. De client vercijfert deze nonce met de geheime sleutel en stuurt de vercijferde nonce naar het access point. Het access point ontcijfert deze. Als het resultaat gelijk is aan de oorspronkelijk nonce, weet het access point dat de client over de juiste geheime sleutel bezit, waarmee authenticatie van de client een feit is. In veel gevallen zal de gebruiker van een draadloos netwerk zelf een geheime sleutel kiezen en deze handmatig invoeren bij het access point en de client. Net zoals gebruikers vaak zwakke wachtwoorden kiezen, worden ook vaak zwakke geheime sleutels genomen die relatief eenvoudig te achterhalen zijn. Verder is de effectieve sleutellengte relatief kort, waardoor een hacker alle mogelijke sleutels in relatief korte tijd kan uitproberen.
OUN
Leereenheid 7c Bedreigingen voor computernetwerken – voorkomen van een aanval
WPA and WPA2 Studeeraanwijzing
De tekst op pagina 468 vanaf de tweede alinea (‘The encryption algorithm for WEP ... with limited processor capabilities’) kunt u overslaan. CONTROLS REVIEW
Studeeraanwijzing
Table 7-7 geeft een overzicht van voorbereidende acties voor een aanval, soorten aanvallen en mogelijkheden om zulke aanvallen te detecteren en te voorkomen. Het is niet nodig dat u deze tabel uit uw hoofd kent, maar u moet wel alle termen kunnen plaatsen en kunnen beredeneren of een bepaalde combinatie van voorbereiding, aanval en verdediging zinvol is.
ZELFTOETS
1
In het onderstaande netwerk communiceren Alice en Bob met elkaar en is Charlie een hacker. Welke beveiligingsrisico’s lopen Alice en Bob?
FIGUUR 7c.3
Communicatie tussen Alice en Bob
2
Geef twee voorbeelden waarbij de veiligheid verbeterd is door de architectuur van een computernetwerk op te delen in segmenten.
3
Geef twee voor- en twee nadelen van het gebruik van link encryption ten opzichte van end-to-end encryption.
4
Welke stappen vinden plaats bij het opzetten van een verbinding in een virtual private network?
5
Wat is een PKI en wat is het nut van certificaten?
6
Wat is het verschil tussen transport mode en tunnel mode in het IPsecprotocol?
7
Welke bescherming biedt het coderen van berichten met een foutencorrigerende code?
OUN
91
Security en IT
92
8
Wat is het verschil tussen authenticatie met een one-time password en authenticatie met een challenge-response? Wat is het verschil in veiligheid?
9
a Welke tickets worden gebruikt in Kerberos en hoe worden deze tickets vercijferd? b Kan een client een ticket gebruiken om zich te authenticeren?
10
Is het wenselijk om beveiliging in routers te implementeren met behulp van access control lists?
11
Welke tekortkomingen heeft WEP voor beveiliging van draadloze netwerken?
12
Wat is het verschil tussen een intrusion detection system en een honeypot?
13
Wat is onion routing?
OUN
Leereenheid 7c Bedreigingen voor computernetwerken – voorkomen van een aanval
TERUGKOPPELING 1
Uitwerking van de opgaven
7c.1
Bij link encryption vindt vercijfering plaats in de datalinklaag of de fysieke laag. In de netwerklaag is een bericht niet vercijferd. Een router implementeert de fysieke laag, de datalinklaag en de netwerklaag. Als een router een bericht ontvangt, wordt dit bericht in de fysieke laag of datalinklaag ontcijferd. In de netwerklaag kan de router dan het IP-adres van de bestemming in de IP header als klare tekst lezen en aan de hand daarvan bepalen waar het bericht heen gestuurd moet worden. Vervolgens wordt het bericht, inclusief de IP header, weer vercijferd in de datalinklaag of de fysieke laag en verstuurd.
7c.2
Toepassen van zowel end-to-end encryption als link encryption biedt extra veiligheid en is dus zinvol. Bij end-to-end encryption wordt een bericht gewoonlijk in de applicatielaag vercijferd. De headers die in de onderliggende lagen worden toegevoegd aan het bericht, zijn echter niet vercijferd. De IP header zou bijvoorbeeld gemodificeerd kunnen worden door een hacker die IP address spoofing wil plegen. Als ook link encryption wordt toegepast, worden deze headers wel vercijferd. In systemen die alleen end-to-end encryption toepassen, heeft link encryption dus toegevoegde waarde. Bij link encryption wordt een bericht in de datalinklaag of fysieke laag vercijferd. In de bovenliggende lagen is het bericht in klare tekst te lezen. Ook in routers is het bericht als klare tekst zichtbaar in de netwerklaag. Dit kan voorkomen worden door ook end-to-end encryption toe te passen. In systemen die alleen link encryption toepassen, heeft end-toend encryption dus ook toegevoegde waarde.
7c.3
Een firewall bevindt zich aan de rand van een beschermd netwerksegment zoals een intranet. De firewall is de toegangspoort tot het intranet. Het is efficiënter om de VPN te implementeren in de firewall dan in elke afzonderlijke server in het intranet. Een client in het externe netwerk zal via VPN verbinding maken met de firewall en vervolgens, als de firewall dat toestaat, via het intranet verbinding maken met de server. Het intranet is een afgeschermde, relatief veilige omgeving waarbinnen het vercijferen van berichten gewoonlijk niet noodzakelijk is. Het VPN hoeft zich daarom niet binnen het intranet tot aan de server voort te zetten.
7c.4
Een PKI is een infrastructuur voor het uitgeven en beheren van certificaten. Een certificaat bevat de publieke sleutel en andere informatie van de houder van het certificaat. Host A kan zijn certificaat aan host B sturen. Host B kan uit dit certificaat de publieke sleutel van A afleiden. Host B kan de integriteit van het certificaat verifiëren met behulp van de publieke sleutel van de Certificate Authority die het certificaat heeft uitgegeven. Host B kan vervolgens een geheime sleutel vercijferen met de publieke sleutel van A en deze naar A sturen. A kan het bericht ontcijferen met zijn privésleutel. Op deze wijze kunnen A en B veilig een geheime sleutel uitwisselen die ze voor hun verdere communicatie kunnen toepassen.
OUN
93
Security en IT
7c.5
Figuur 7c.4 toont de uitvoer van Internet Explorer op 29 april 2008. Het getoonde certificaat is verleend door de CA VeriSign en is geldig in de periode van 9-5-2007 tot en met 9-5-2009. De publieke sleutel is 1024 bits lang en hoort bij het RSA-algoritme.
FIGUUR 7c.4
94
Certificaat van de webserver van VeriSign
7c.6
Het sequencenummer is het volgnummer waarmee de ontvanger de volgorde van pakketten kan bepalen. Het gebruik van volgnummers voorkomt dat er onopgemerkt pakketten in de berichtenstroom toegevoegd, gedupliceerd of verwijderd kunnen worden.
7c.7
Het SecureID device genereert elke minuut een ander getal dat als onetime password dienst kan doen. Als de klokken van het SecureID device en de server niet synchroon lopen, of als de gebruiker te lang wacht om het one-time password in te voeren, zal de server een password verwachten dat hoort bij een eerder of later tijdstip. De server zal daarom niet alleen het verwachte password berekenen voor het huidige tijstip, maar ook de passwords van eerdere en latere tijdstippen in een zeker tijdinterval T. Als de klokken niet teveel uit elkaar lopen, zal het password dat het SecureID device genereert overeenkomen met een van de passwords die de server berekend heeft. Aan de hand daarvan kan de server ook zijn klok synchroniseren met de klok van het SecureID device. Naarmate het tijdinterval tussen twee zulke synchronisatiemomenten groter wordt, zal de server het tijdinterval T waarvoor hij passwords berekent, laten toenemen.
7c.8
Dit challenge-responsesysteem zorgt niet voor automatische identificatie en authenticatie van de bank aan de klant. De challenge die de klant ontvangt, kan net zo goed van een hacker als van de bank afkomstig zijn. De klant kan alleen nagaan of hij met de bank communiceert door verificatie van de URL, hetgeen in de praktijk nogal eens wordt vergeten.
OUN
Leereenheid 7c Bedreigingen voor computernetwerken – voorkomen van een aanval
Zelfs als de klant verifieert dat de URL correct is, is dit nog geen waterdicht bewijs dat de klant inderdaad met de bank communiceert. Het DNS wordt immers gebruikt om het IP-adres op te zoeken dat bij deze URL hoort. Een hacker zou via DNS cache poisoning alsnog het dataverkeer naar een masquerade van de website kunnen leiden. De communicatie tussen de klant en de bank is wel beveiligd met het SSL- protocol, waarbij authenticatie van de server aan de client plaatsvindt met behulp van een certificaat. Echter, er wordt alleen geverifieerd of het certificaat geldig is. Ook een hacker kan een geldig certificaat overleggen. De client zou dus ook moeten verifiëren of de Rabobank inderdaad de eigenaar van het certificaat is. 7c.9
Het voordeel voor de gebruiker is dat hij niet telkens zijn wachtwoord hoeft in te tikken als hij van een bepaalde service gebruik wil maken. Een gebruiker zal normaliter veelvuldig van een printserver, een e-mailserver, een fileserver en een webserver gebruikmaken. Het is voor de gebruiker erg vervelend als hij hiervoor steeds zijn wachtwoord dient in te tikken. In Kerberos worden geen wachtwoorden uitgewisseld. De Kerberos authentication server en de client delen een geheime sleutel. Deze geheime sleutel wordt bepaald door een one-way hashfunctie toe te passen op het wachtwoord van de gebruiker. Het is in Kerberos voldoende dat de gebruiker zich eenmalig authenticeert bij de Kerberos authentication server en dus eenmalig zijn wachtwoord intikt. De Kerberos authentication server verleent aan de client een ticket-granting ticket waarmee de client zich vervolgens kan authenticeren bij de ticket-granting server. De ticket-granting server verleent op zijn beurt aan de client een service-granting ticket waarmee de client zich uiteindelijk kan authenticeren bij de server die de gewenste service aanbiedt. Voor deze authenticatie hoeft de gebruiker geen wachtwoord in te tikkken; het is voldoende als de client de tickets verstuurt. Als de gebruiker nu een fileserver, een e-mailserver, een printserver of een webserver wil gebruiken, hoeft hij dus niet telkens zijn wachtwoord in te tikken. Tickets hebben een eindige levensduur. Na verloop van tijd dient een gebruiker een nieuw ticket-granting ticket aan te vragen, waarvoor hij wel weer zijn wachtwoord moet intikken. 2
1
Uitwerking van de zelftoets
Dit eenvoudige netwerk bestaat uit de host machines van Alice en Bob, een communicatielink daartussen en de host machine van hacker Charlie. Charlie zou de berichten tussen Alice en Bob kunnen afluisteren, modificeren, tegenhouden of nieuwe berichten verzinnen waarbij hij zich als Alice of Bob voordoet. In een denial-of-service-aanval zou Charlie zelfs de communicatie tussen Alice en Bob onmogelijk kunnen maken. Charlie zou verder kunnen indringen in de host machines van Alice en Bob en daar gegevens kunnen lezen, veranderen, verwijderen of toevoegen. Deze gegevens kunnen bestaan uit data of programma’s. Charlie zou een programma op een host kunnen uitvoeren. Al deze bedreigingen moeten met de juiste beveiligingsmaatregelen voorkomen worden.
OUN
95
Security en IT
96
2
Een DMZ is een eerste voorbeeld van een gesegmenteerde architectuur om de veiligheid van een computernetwerk te verbeteren. Een DMZ is een netwerksegment tussen een intern netwerk en een extern netwerk. In een DMZ worden servers geplaatst zoals e-mailservers, webservers en DNS-servers. Deze servers zijn toegankelijk vanuit het interne en externe netwerk, maar vanuit een server in de DMZ kan alleen toegang tot het externe netwerk verkregen worden. Een voorbeeld van een toepassing van een DMZ is e-commerce, waar klanten via een website artikelen kunnen bestellen. De website bevindt zich op een webserver in de DMZ. In het interne netwerk bevinden zich de servers met databases waarin bestellingen, klanten, rekeningen en voorraad worden geadministreerd. Een tweede voorbeeld is het onderverdelen van een netwerk in segmenten waarbij in elk segment een andere systeemversie of applicatie wordt uitgevoerd. Een eerste segment bevat het productiesysteem voor gebruikers; een tweede segment bevat een testversie waarin de volgende versie van het systeem door ontwikkelaars wordt getest; een derde segment bevat de daaropvolgende versie van het systeem die nog volop in ontwikkeling is. Elk segment is slechts toegankelijk voor bepaalde gebruikersgroepen. Zo hebben normale gebruikers geen toegang tot de testversie en de ontwikkelversie, terwijl ontwikkelaars niet zomaar een verandering in het productiesysteem kunnen maken.
3
Bij link encryption vindt vercijfering plaats in de datalinklaag of de fysieke laag. Bij end-to-end encryption vindt vercijfering meestal plaats in de applicatielaag. Een eerste voordeel van link encryption is dat niet alleen het bericht uit de applicatielaag, maar ook de headers uit de transportlaag en netwerklaag worden vercijferd. Spoofing van IP-adressen is hiermee dus onmogelijk. Een tweede voordeel is dat de berichten van alle applicaties van alle gebruikers op de host machine worden vercijferd. De gebruikers en de applicaties hebben er geen omkijken naar. Een nadeel van link encryption is dat een bericht op een host machine pas in de datalinklaag wordt vercijferd. In de hard- en software die de bovenliggende lagen implementeren, is het bericht in klare tekst te lezen. Dat geldt niet alleen voor de host machines van de zender en ontvanger, ook in routers kan het bericht als klare tekst gelezen worden. Verder moeten alle routers in het pad tussen de zendende en ontvangende host het bericht ontcijferen en vercijferen (hetgeen tijd kost) en de routers moeten over de juiste sleutels beschikken.
4
Zoals getoond in Figure 7-25, bestaat de communicatie in een VPN globaal uit drie stappen. Allereerst dient de client zich te authenticeren aan de firewall. De firewall verleent de client vervolgens een sleutel en toegang tot de server. Met behulp van deze sleutel kunnen client en server vercijferde berichten uitwisselen. Er zijn verschillende manieren om een VPN te implementeren.
5
Een PKI, een public key infrastructure, is een systeem voor het uitgeven en beheren van certificaten. Een certificaat is een belangrijk hulpmiddel voor authenticatie. Een certificaat bevat de publieke sleutel en de naam van de houder van het certificaat. Met behulp van een certificaat kan een publieke sleutel worden uitgewisseld en kan de ontvanger de authenticiteit van de zender verifiëren. De ontvanger kan de echtheid van het certificaat verifiëren met de publieke sleutel van de Certificate Authority die het certificaat uitgegeven heeft.
OUN
Leereenheid 7c Bedreigingen voor computernetwerken – voorkomen van een aanval
6
In IPsec transport mode bevat de payload data een segment uit de transportlaag. In IPsec tunnel mode bevat de payload data een datagram uit de netwerklaag dat bestaat uit een IP header en een segment uit de transportlaag. Een pakket in IPsec tunnel mode heeft daarom twee IP headers.
7
Hosts kunnen hun berichten coderen met een foutencorrigerende code. De ontvangende host kan detecteren of een bericht tijdens de transmissie is gewijzigd. Als het aantal wijzigingen niet al te groot is, kan de ontvangende host het bericht zelf herstellen. Het gebruik van foutencorrigerende codes is met name bedoeld voor het detecteren en corrigeren van toevallige fouten in het communicatiemedium zoals fouten ten gevolge van ruis. Een foutencorrigerende code biedt ook bescherming tegen een hacker die moedwillig een bericht verminkt. Een hacker echter die als een man-in-the-middle optreedt, kan een bericht aanpassen of toevoegen en dit bericht weer coderen met de foutencorrigerende code. Ook kan de hacker berichten weggooien. Hiertegen biedt een foutencorrigerende code geen bescherming.
8
Bij authenticatie met een one-time password, authenticeert een gebruiker zich met een wachtwoord dat slechts eenmalig geldig is. Een hacker die het wachtwoord afluistert, kan dit wachtwoord dus niet meer gebruiken. Bij authenticatie met een challenge-response, ontvangt een gebruiker een challenge. De gebruiker voert op deze challenge een operatie uit, hetgeen de response oplevert. Een voorbeeld is een response die verkregen wordt doordat de gebruiker de challenge vercijfert. De gebruiker stuurt de response terug om zich te authenticeren. Een one-time password moet zowel bij zender als ontvanger bekend zijn. In de praktijk worden hiervoor apparaatjes gebruikt zoals een SecureID device. Als het apparaat in handen van een hacker komt, kan deze zich zonder meer als de gebruiker voordoen. Verder vormt de synchronisatie tussen zender en ontvanger een probleem. Het synchronisatieprobleem treedt niet op in een challenge-responsesysteem. Verder is een challenge-responsesysteem veiliger, omdat de gebruiker een geheim, zoals een wachtwoord of een sleutel, moet toepassen. Een hacker kan zich slechts dan als gebruiker voordoen als ook hij dit geheim kent.
9
a In Kerberos worden ticket-granting tickets en service-granting tickets gebruikt. Een ticket-granting ticket wordt door de Kerberos authentication server (KAS) aan een client verleend. De KAS vercijfert dit ticket met een geheime sleutel die alleen KAS en de ticket-granting server (TGS) kennen. De client die het ticket ontvangt, kan het ticket dus niet ontcijferen. Een service-granting ticket wordt door de TGS aan de client verleend. De TGS vercijfert dit ticket met een geheime sleutel die alleen bekend is bij TGS en de doelserver waarvan de client een service wil gebruiken. De client kan ook dit ticket niet zelf ontcijferen.
OUN
97
Security en IT
b De client gebruikt een ticket om zich te authenticeren aan de TGS of de doelserver, maar dit vormt slechts een deel van het authenticatieproces. Een hacker zou immers het ticket dat de client ontvangt, kunnen afluisteren. De client stuurt daarom samen met het ticket een vercijferd bericht en dit vormt de feitelijke authenticatie. Voor de authenticatie van de client aan de KAS wordt geen ticket gebruikt. De KAS stuurt een vercijferd bericht, dat de client slechts met behulp van zijn wachtwoord kan ontcijferen.
98
10
Het is in theorie mogelijk om een access control list te implementeren in een router. Dit stuit in de praktijk echter op drie problemen. De performance van de router neemt af omdat de router elk pakket moet toetsen aan de access control list. De router moet de resultaten loggen, hetgeen tot een grote hoeveelheid gegevens leidt en de performance verder doet afnemen. Een hacker kan IP address spoofing toepassen om zijn IP-adres te verdoezelen. Een router die IP-adressen analyseert, kan een aanval dus nauwelijks herkennen.
11
past een challenge-responsesysteem toe. De client vercijfert de challenge met een geheime sleutel, hetgeen de response oplevert. Het cryptografische algoritme dat in WEP wordt toegepast, bevat diverse fouten. De effectieve sleutellengte is dermate kort dat een hacker alle mogelijke sleutels kan uitproberen. De geheime sleutel wordt verder vaak zwak gekozen en de gebruiker is verantwoordelijk voor het vernieuwen van de sleutel. Verder is een hacker ook in staat om onopgemerkt berichten aan te passen zonder daarvoor de geheime sleutel te kennen.
12
Een intrusion detection system analyseert het berichtenverkeer in een beveiligd netwerk en probeert zo aanvallen te herkennen. Een intrusion detection system is een defensief, passief systeem. Een honeypot probeert juist hackers aan te trekken en bevat bewust beveiligingslekken. Een honeypot kan op verschillende manieren worden ingezet, bijvoorbeeld voor het observeren van het berichtenverkeer. Deze toepassing lijkt ietwat op een intrusion detection system, maar er moet voorkomen worden dat de aanvaller in de gaten krijgt dat het om een intrusion detection system gaat. De mogelijkheden in een honeypot zijn daarom beperkt. Verder kan een honeypot ook op andere manieren worden ingezet, bijvoorbeeld als een speelterrein om hackers bezig te houden in de hoop dat ze het echte systeem met rust laten.
13
Niet alleen de inhoud van een bericht moet geheim zijn, maar soms ook het feit dat het bericht tussen twee partijen verzonden is. Dit laatste kan onder andere gerealiseerd worden met onion routing, waarbij het bericht via een omweg op de eindbestemming terechtkomt. In plaats van een bericht rechtstreeks van A naar B te sturen, wordt het bijvoorbeeld eerst van A naar C verstuurd, vervolgens van C naar D en uiteindelijk van D naar B. In elke stap kan het bericht ingepakt worden in een ander bericht en telkens met een andere sleutel worden vercijferd. Onion routing maakt het niet onmogelijk, maar wel moeilijker om de oorsprong van een bericht te achterhalen.
WEP
OUN