Privacy-aspecten van IPv6
Gebruik de Privacy Extensions voor SLAAC
Gebruik de Privacy Extensions voor SLAAC
IPv6 maakt het veel moeilijker om de adresruimte online te scannen op zoek naar actieve systemen dan dat bij IPv4 het geval is. Dat heeft simpelweg met de veel grotere adreslengte te maken: waar IPv4 met zijn 32-bits maximaal 4 miljard adressen ondersteunt – een aantal dat relatief makkelijk helemaal is af te lopen – zijn dat er voor IPv6 met zijn 128-bits maar liefst 340 sextiljoen (het getal 34 gevolgd door 37 nullen).
Hoewel het doorlopen van die astronomisch grote IPv6-adresruimte in zijn geheel onmogelijk is, blijken er weldegelijk slimme manieren te bestaan om actieve systemen in kaart te brengen en eindgebruikers op adresniveau te identificeren en te volgen. Sterker nog: juist die grote adresruimte heeft het mogelijk gemaakt om individuele systemen van unieke labels te voorzien. Dat is van belang voor beheerders en gebruikers van het IPv6-netwerk vanwege de implicaties voor de veiligheid en privacy.
Hoewel er vele manier zijn om eindgebruikers online te volgen – denk maar aan allerlei soorten cookies en fingerprinting – maakte de automatische adrestoekenning van IPv6 (SLAAC) dat in eerste instantie wel heel gemakkelijk. De laatste 64 bits van een IPv6-adres, de zogenaamde netwerkinterface identifier, worden voor eindgebruikers in het algemeen namelijk automatisch gegenereerd door hun computer. Traditioneel gebeurt dit op basis van het 'Modified EUI-64'-formaat, een afgeleide van het min-of-meer unieke MAC-adres. Omdat dit gedeelte van het adres daarmee steeds hetzelfde blijft – ook als de betreffende computer op een heel ander netwerk (prefix) wordt aangesloten – kan een gebruiker in principe wereldwijd online gevolgd worden, iets wat vanuit privacyoverwegingen vanzelfsprekend ongewenst is.
De oplossing voor dit probleem is het gebruik van de 'Privacy Extensions voor SLAAC', gedefinieerd in RFC 8981. Daarbij wordt bijvoorbeeld dagelijks een nieuw tijdelijk (random) adres gegenereerd. Eerdere tijdelijke adressen kunnen dan nog een dag langer blijven werken voor verkeer dat later nog binnenkomt, wat betekent dat een interface tegelijkertijd meerdere IPv6-adressen (interface identifiers) binnen dezelfde network prefix in gebruik kan hebben.
RFC 7217 formuleert een alternatief voor deze tijdelijke adressen. Daarbij worden random interface identifiers gegenereerd en bijgehouden per interface en subnet; op die manier blijven de IPv6-adressen wel constant per netwerk (prefix) maar zijn ze niet op basis van hun interface identifier aan elkaar te koppelen. RFC 8064 raadt het gebruik van hardware-afhankelijke SLAAC-adressen inmiddels af en beveelt in plaats daarvan het gebruik van IPv6-adressen volgens bovenstaande methode (RFC 7217) aan.
Security- en privacy-overwegingen met betrekking tot adrestoekenning worden in detail besproken in RFC 7721.
Je kunt grofweg stellen dat de 56/48-bits prefixes die thuisgebruikers toegewezen krijgen vergelijkbaar werken als de IPv4-adressen van weleer (native of achter enkelvoudige NAT): ze identificeren een unieke gebruiker (of beter gezegd: een uniek huishouden) op een bepaald ogenblik. En op bedrijfsnetwerken identificeert een 64-bits prefix een netwerksegment waarop bijvoorbeeld enige tientallen systemen (interface identifiers) zijn aangesloten.
Voor CGNAT gaat deze vergelijking van IPv4 en IPv6 niet meer op: daarbij zitten soms wel duizenden eindgebruikers van verschillende huishoudens achter hetzelfde IPv4-adres.
Behalve voor alle IP-adres-gebaseerde securitygereedschappen (denk aan blacklisting/whitelisting en reputatie-management) levert IPv4 in combinatie met CGNAT ook problemen op voor opsporingsdiensten. Zo liet Europol al in 2017 weten dat accessproviders die CGNAT inzetten technisch vaak niet meer aan hun wettelijke verplichting kunnen voldoen om de abonneegegevens achter een verbinding aan te leveren. Daardoor moeten volgens de dienst bij onderzoeken regelmatig de verbindingen van veel meer mensen dan eigenlijk noodzakelijk is worden opgevraagd of afgetapt.
Rond dezelfde tijd publiceerde ook de Europese Commissie een brief waarin we kunnen lezen hoe de EU de adoptie van IPv6 wil stimuleren. Doel is om uiteindelijk maar één gebruiker per IP-adres te hebben om zo onderzoek door politie- en veiligheidsdiensten veel gerichter te kunnen uitvoeren. Daarvoor maakt de Commissie gebruik van aanbestedingsbeleid, onderzoeks- en projectfinanciering, en convenanten.
In 2019 publiceerde het Wetenschappelijk Onderzoek- en Documentatiecentrum (WODC), de onderzoekstak van het ministerie van Justitie en Veiligheid, een onderzoek naar de identificatie van individuele gebruikers van IP-adressen ten behoeve van opsporing en vervolging (onderdeel van de Wet bewaarplicht telecommunicatiegegevens). Ook daarin wordt de brede adoptie van IPv6 als de meest voor de hand liggende oplossing aangedragen.
Hoewel je als eindgebruiker vanuit privacy-overwegingen bezwaren kunt hebben tegen het gebruik van IPv6 – wat dat betreft biedt CGNAT onbedoeld een zekere bescherming, enigszins vergelijkbaar met het gebruik van een VPN-provider – stellen de onderzoekers zich op het standpunt dat IPv6 in dit geval juist een privacyvoordeel oplevert. Gebruikers die niet gericht onderzocht worden kunnen dan immers buiten beschouwing worden gelaten. Afgezien van technische en zakelijke overwegingen maakt IPv6 het voor accessproviders sowieso veel makkelijker om aan hun compliance-eisen te voldoen dan dat nu met CGNAT het geval is.
Degenen die de IPv6-adresruimte het best in beeld hebben zijn natuurlijk de grote publieke DNS-dienstverleners als Google (Public DNS), Quad9 en Cloudflare (1.1.1.1). Zij zien zowel clients (IP-adressen van eindgebruikers en lokale resolvers) als servers (de opgevraagde domeinnamen) in de vorm van tientallen of zelfs honderden miljarden query’s per dag voorbijkomen. Hoewel een uitputtende inventarisatie van de IPv6-adresruimte vanwege zijn grootte niet mogelijk is, kunnen dit soort dienstverleners dus wel het actieve gedeelte van die adresruimte (en zijn gebruikers en dienstenaanbieders) in kaart brengen.
Voor privacy- en security-bewuste gebruikers en beheerders betekent dit dat zij goed moeten nadenken over de manier waarop en bij wie zij hun DNS-diensten afnemen. Wat ons betreft is het internet in het algemeen en DNS in het bijzonder gebaat bij een zo veel mogelijk gedecentraliseerde topologie. Voor DNSSEC geldt dat hoe dichter bij de eindgebruiker een validerende resolver zich bevindt, des te groter de veiligheidswinst van deze technologie is [1, 2]. En eindgebruikers die een validerende resolver op hun eigen systeem kunnen draaien, raden we aan om dat vooral te doen.
Een vergelijkbare manier om IPv6-adressen te verzamelen – al dan niet kwaad bedoeld – is door mee te doen in de NTP-pool, waarvoor in principe iedereen zich kan aanmelden.
Hoewel wij zelf met onze publieke NTP-server time.nl ook meedoen in die pool, doen we dat vanzelfsprekend zonder daarbij de adressen van gebruikers te verzamelen. Zit je (netwerktechnisch gesproken) in de buurt van Arnhem, dan nodigen wij je van harte uit om onze NTP- en NTS-server (nts.time.nl) [1, 2] direct te gebruiken (in combinatie met nog een paar andere NTP-servers). Op de website van TimeNL vind je ook informatie om onze NTP-service in je computer in te stellen.
Net als de DNS- en NTP-instellingen is ook de configuratie (dat wil zeggen: het simpelweg aan zetten) van de Privacy Extensions voor SLAAC makkelijk te doen. Omdat de ouderwetse IPv6-adresgeneratie op basis van het MAC-adres inmiddels echt achterhaald is, raden wij zowel eindgebruikers als beheerders aan om te controleren of zij de Privacy Extensions inderdaad aan hebben staan. Deze optie wordt inmiddels breed ondersteund.
Uit recent onderzoek blijkt bijvoorbeeld dat de CPE-apparatuur (de modems) van sommige accessproviders nog steeds het oude 'Modified EUI-64'-formaat gebruiken om hun IPv6-adres te genereren. Daarmee doen zij de bescherming die 'provider prefix rotation' zou moeten bieden (waarbij thuisgebruikers steeds een andere prefix uitgereikt krijgen) teniet.
Je kunt controleren of jouw systeem gebruikmaakt van de Privacy Extensions voor SLAAC via de verbindingstest op Internet.nl of op een van deze 2 sites: ip.bieringer.net, ipv6-test.com.