Blog

Onze experts schrijven elke week nieuwe artikelen over de WIV

Versleuteling en ontsleuteling

7 maart 2018 -

Er is een groeiende tendens op internet om zoveel mogelijk gegevens die verzonden worden te versleutelen. Een van de redenen hiervoor is een consensus binnen de IETF, het orgaan verantwoordelijk voor het bijhouden van veel technische standaarden op internet, dat grootschalig aftappen van internetverkeer gezien moet worden als een aanval op het internet. Versleuteling is een technische maatregel die er voor zorgt dat afgetapte data minder bruikbaar wordt. Dit maakt het ook voor de AIVD en MIVD lastiger om nog bruikbare gegevens uit taps te halen. Onder de nieuwe WIV krijgen de AIVD en MIVD daarom op drie verschillende punten (artikel 45, 47 en 48) de bevoegdheid om versleuteling ongedaan te maken. In dit artikel wordt uitgelegd hoe verschillende soorten versleuteling werken en hoe haalbaar het bij de inzet van verschillende bevoegdheden voor de diensten is om versleuteling ongedaan te maken.

Versleuteling: http vs. https

De bekendste toepassing van versleuteling is het https protocol, waarmee websites over een versleutelde verbinding worden bezocht. Dit in tegenstelling tot het oude http protocol waarbij websites over een onversleutelde verbinding worden bezocht. Of een verbinding naar een website versleuteld is, is makkelijk te herkennen aan het groene slotje in de adresbalk bovenin de browser. Wordt een groen slotje getoond, dan wordt gebruik gemaakt van https en is de verbinding versleuteld. Ontbreekt dit slotje, dan is de verbinding niet versleuteld. Momenteel wordt ongeveer driekwart van al het webverkeer versleuteld.

De implicatie van versleuteling voor afgetapte data is het best te zien aan de hand van een voorbeeld. Onderstaande afbeelding laat een fragment zien uit de data van een tap waar de website van Waag Society werd bezocht met het oude http protocol: dit is dus een voorbeeld van een getapte onversleutelde verbinding:

onversleuteld

Te zien zijn eerst metadata van de webserver van Waag Society en vervolgens de broncode van hun website. Vergelijk dit met de volgende afbeelding, waar een soortgelijk fragment wordt getoond, maar dan van het bezoeken van dezelfde site met het https protocol, dat wil zeggen over een versleutelde verbinding:

versleuteld

Duidelijk is dat dankzij de versleuteling zowel de inhoud van het bericht (in casu de broncode van de Waag Society website) als een deel van de metadata (met name informatie over welke pagina precies bezocht is) onleesbaar zijn geworden. Wat overblijft is de volgende metadata:

  • Het IP adres van de bezoeker van de site (en daarmee ook direct een indicatie van diens locatie)
  • Het IP adres van de webserver van Waag Society (met wederom een indicatie van de locatie)
  • Het feit dat het om een https verbinding gaat
  • De domeinnaam van de site die is bezocht (aan de hand van het SSL certificaat)
  • Het tijdstip waarop de verbinding tot stand is gekomen
  • De hoeveelheid data die is verzonden en ontvangen

Zo zal bijvoorbeeld uit afgetapte data van internetfora en berichtendiensten die met https zijn beveiligd wel te zien zijn wie van deze diensten gebruik maken, maar niet eenvoudig te achterhalen zijn wie precies met wie communiceert via deze diensten of wat de inhoud van deze communicatie is.

Ontsleuteling bij gerichte en ‘onderzoeksopdrachtgerichte’ interceptie

Het moge duidelijk zijn dat versleuteling een ernstige belemmering vormt voor de effectiviteit van het aftappen van internetverkeer. De nieuwe WIV stelt daarom expliciet dat de AIVD en MIVD bevoegd zijn om zowel bij gerichte als bij ‘onderzoeksopdrachtgerichte’ interceptie de versleuteling ongedaan te maken. Hiervoor zijn twee manieren:

  • Het uitvoeren van een cryptanalytische aanval om de versleuteling te kraken
  • Het inzetten van de medewerkingsplicht

Het uitvoeren van cryptanalytische aanvallen op afgetapte data is in de praktijk over het algemeen een hachelijke onderneming. Tenzij het gaat om versleuteling met sterk verouderde technieken vergt geautomatiseerd kraken een rekentijd die al snel in de miljarden jaren kan lopen. Moderne versleutelingstechnieken zijn namelijk gebaseerd op enorm grote sleutels: getallen zoals bijvoorbeeld 10391404247912630542393748508461790783124948466564056403945927507903729639832. Om de versleuteling te kraken moeten in principe alle mogelijke sleutels uitgeprobeerd worden tot de juiste is gevonden, wat met deze orde van grootte dus tot ontoepasbaar grote rekentijden leidt. De Memorie van Toelichting spreekt van de noodzaak ‘duizenden vercijferde berichten’ (p. 135-136) te verzamelen voor een cryptanalytische aanval. Hiermee wordt waarschijnlijk gedoeld op een bekende zwakheid in de veelgebruikte versleutelingstechniek AES, dat ook vaak voor https wordt gebruikt. In theorie is deze standaard inderdaad gekraakt: deze aanval maakt het kraken ongeveer vier keer sneller dan alle mogelijke sleutels uitproberen. In de praktijk is miljarden jaren gedeeld door vier echter nog steeds een ondoenlijk lange termijn. In de praktijk is het uitvoeren van cryptanalytische aanvallen dus alleen toepasbaar wanneer gebruik is gemaakt van verouderde versleutelingstechnieken.

Naast cryptanalytische aanvallen kunnen de AIVD en MIVD, na akkoord van de Minister, ook de medewerkingsplicht inzetten. Dit houdt in dat iedereen, voor zover redelijkerwijs vermoed kan worden dat deze persoon de juiste kennis heeft, gedwongen kan worden mee te werken aan de ontsleuteling. Opzettelijk niet meewerken aan deze plicht kan leiden tot maximaal twee jaar gevangenisstraf. De facto kan iedereen straks dus gedwongen worden cryptografische sleutels waar zij toegang toe hebben af te staan, waarmee de AIVD/MIVD dan de versleuteling ongedaan kunnen maken. Het is waarschijnlijk dat deze medewerkingsplicht vooral ingezet zal worden op systeembeheerders: zij zijn degene die toegang hebben tot al het sleutelmateriaal op de servers die zij beheren. In theorie kan de medewerkingsplicht ook direct op targets ingezet worden, maar daarmee zullen de AIVD/MIVD direct veel operationele informatie blootleggen, waardoor dit scenario niet heel plausibel is.

Tenslotte is er nog een technische belemmering die de medewerkingsplicht veelal onuitvoerbaar zal maken, namelijk Perfect Forward Secrecy. Perfect Forward Secrecy is een versleutelingstechniek waarbij steeds per verbinding een unieke wegwerpsleutel wordt aangemaakt, zodanig dat de versleutelde data achteraf niet meer te ontsleutelen is, zelfs niet met de langetermijn sleutels die op de server staan. Perfect Forward Secrecy is de laatste jaren enorm toegenomen in populariteit en inmiddels maakt ongeveer driekwart van de versleutelde verbindingen gebruik van deze techniek. Wanneer u met een moderne browser over https een website bezoekt en deze op een webserver staat die naar industriestandaarden wordt onderhouden, dan is de kans zeer groot dat hierbij Perfect Forward Secrecy wordt gebruikt. Zelfs wanneer de systeembeheerder van de webserver gedwongen wordt al het sleutelmateriaal op de server af te staan is daarmee dan nog altijd de getapte data niet te kraken. In de praktijk is dus ook de medewerkingsplicht alleen toepasbaar wanneer gebruik is gemaakt van verouderde versleutelingstechnieken.

Grofweg is de conclusie dat van alle data die ontgonnen is uit gerichte danwel onderzoeksopdrachtgerichte interceptie ongeveer de helft zodanig versleuteld zal zijn (met Perfect Forward Secrecy) dat deze niet te ontsleutelen is en enkel een minimale hoeveelheid metadata bruikbaar is. Ongeveer een kwart zal dusdanig versleuteld zijn dat deze alleen met behulp van de medewerkingsplicht, waarvoor toestemming van de Minister nodig is, te kraken is. Maar een kwart van alle afgetapte data zal danwel direct leesbaar danwel redelijkerwijs te kraken zijn. Daarbij moet opgemerkt worden dat het gebruik van zowel versleuteling als Perfect Forward Secrecy nog altijd sterk toeneemt. De verwachting is dan ook dat op redelijke termijn nog veel minder getapte data direct leesbaar danwel kraakbaar zal zijn.

Ontsleuteling met de hackbevoegdheid

De hackbevoegdheid die impliciet al gold, maar in de nieuwe WIV in artikel 45 is uitgewerkt, biedt de AIVD en MIVD veel verregaandere mogelijkheden om versleuteling te kraken. Daarbij is het belangrijk op te merken dat deze bevoegdheid, hoewel zij ook voorziet in het aanvallen van systemen van derden om bij een target te komen, een stuk minder ongericht is dan de onderzoeksopdrachtgerichte interceptie. Ook voor het inzetten van de hackbevoegdheid is toestemming van de Minister nodig.

Bij versleuteling kraken onder de hackbevoegdheid gaat het niet alleen om getapte data, maar ook om versleutelde gegevens die op een computer staan opgeslagen. Deze zijn over het algemeen onder andere te kraken door het raden van het juiste wachtwoord. Dit kan bij sterke wachtwoorden (bijvoorbeeld een reeks van 12 of meer willekeurige tekens) nog steeds een hachelijke onderneming zijn qua benodigde rekentijd, maar zeker wanneer geen al te sterke wachtwoorden zijn gebruikt zijn dergelijke aanvallen al vele malen realistischer dan het uit moeten proberen van 10391404247912630542393748508461790783124948466564056403945927507903729639832 verschillende sleutels. Daarnaast kan malware op computersystemen worden achtergelaten waarmee de versleuteling in zijn geheel wordt omzeild: de malware zorgt er dan bijvoorbeeld voor dat het ingetoetste wachtwoord heimelijk naar de AIVD/MIVD wordt verzonden. Tenslotte kan voor de ontsleuteling van opgeslagen data ook de medewerkingsplicht worden ingezet.

Ook voor versleutelde verbindingen geeft de hackbevoegdheid extra mogelijkheden tot het kraken van de versleuteling. Ook hiervoor kan malware ingezet worden die de versleuteling omzeilt: op een gehackte computer kan malware inhaken op het versleutelingsproces, zodanig dat van data die verzonden wordt voorafgaand aan de versleuteling (danwel direct na de ontsleuteling van data die ontvangen wordt) heimelijk een kopie naar de AIVD/MIVD wordt verstuurd. Hiervoor moet uiteraard wel eerst de computer van de target of degene waarmee deze communiceert gehackt zijn. Lukt dit niet, dan kan tenslotte ook nog gebruikt gemaakt worden van een zogeheten man in the middle aanval.

Een man in the middle aanval is een actieve vorm van interceptie. Waar bij interceptie normaal gesproken passief data wordt afgeluisterd, wordt bij een man in the middle aanval de data actief aangepast om de communicerende partijen er van te overtuigen niet elkaars sleutels te gebruiken, maar die van de AIVD/MIVD. Stapsgewijs gaat dit als volgt in zijn werk:

  • Jantje poogt een verbinding op te zetten naar een server. Jantje’s browser vraagt de server om samen een sleutel te genereren voor deze verbinding
  • De AIVD/MIVD onderschept het verzoek van Jantje en stuurt het niet door naar de server, maar reageert onder valse naam namens de server en genereert met Jantje’s browser een sleutel voor de verbinding
  • De AIVD/MIVD zet vervolgens ook onder valse naam een versleutelde verbinding met de server op
  • Jantje’s browser verstuurt Jantje’s bericht
  • De AIVD/MIVD vangt dit bericht op, ontsleutelt het, maakt een kopie, versleutelt het nu voor de server en stuurt het dan door
  • De server reageert op het bericht
  • De AIVD/MIVD vangt ook de reactie op, ontsleutelt het, maakt een kopie, versleutelt het weer voor Jantje en stuurt het dan door

Zodoende kan de AIVD/MIVD alle communicatie tussen Jantje en de server onversleuteld te zien krijgen, terwijl Jantje onder de indruk was versleuteld met de server te communiceren. Normaal gesproken worden dit soort aanvallen tegengegaan door zogenaamde SSL certificaten. Tijdens de data-uitwisseling aan het begin van de verbinding waar de sleutel voor die verbinding wordt gegenereerd stuurt de server niet alleen het benodigde sleutelmateriaal, maar ook een certificaat. Dit is een soort digitale notariĆ«le signatuur die bevestigt dat het sleutelmateriaal daadwerkelijk toebehoort aan die specifieke server. Er zijn een kleine honderd verschillende instanties die dergelijke notariĆ«le signaturen kunnen uitschrijven en voor de meeste aanvallers is het onmogelijk om een valse signatuur te bemachtigen. Zonder zo’n valse signatuur zal Jantje’s browser opmerken dat het ontvangen sleutelmateriaal niet overeenkomt met de naam van de server en een grote rode beveiligingswaarschuwing tonen. Een van de instanties die SSL certificaten uit kan geven is echter de Staat der Nederlanden. Hierdoor is het voor de AIVD/MIVD wel degelijk mogelijk om man in the middle aanvallen uit te voeren, de Staat der Nederlanden kan immers een legitiem ogende valse signatuur geven aan het sleutelmateriaal van de AIVD/MIVD, waardoor Jantje’s browser overtuigd wordt dat daadwerkelijk direct met de server wordt gecommuniceerd. Voor technici is in dit geval welliswaar (met enige moeite) nog steeds te herkennen dat er iets vreemds aan de hand is met de signatuur, maar in het dagelijks gebruik zal een goed uitgevoerde man in the middle aanval door de AIVD/MIVD niet opvallen. Voor de gemiddelde gebruiker is deze aanval alleen te omzeilen door gebruik te maken van TAILS c.q. de Tor browser en dan bij voorkeur enkel websites met .onion addressen te bezoeken.

Conclusie

De nog altijd toenemende mate waarin versleuteling op internet standaard wordt zorgt voor ernstige obstakels om effectief gegevens uit afgetapte data te halen. In de praktijk zal het aftappen van internetverbindingen steeds meer ten behoeve staan van metadata-analyse, omdat de inhoud van het merendeel van de getapte data niet ontsleuteld kan worden. Inzet van de hackbevoegdheid kan echter, mede dankzij de gepriviligeerde positie van de Staat der Nederlanden in de beveiligingsmechanismen van reguliere browsers, door middel van actieve man in the middle aanvallen wel degelijk de meeste versleuteling kraken.