IPv6/Privacy: Unterschied zwischen den Versionen
| Zeile 125: | Zeile 125: | ||
* Zeitangaben in Tagen (d), Stunden (h), Minuten (m) und Sekunden (s)  | * Zeitangaben in Tagen (d), Stunden (h), Minuten (m) und Sekunden (s)  | ||
==   | == Linux ==  | ||
; Alle großen Linux-Distributionen aktivieren IPv6, die Privacy Extensions jedoch nicht  | ; Alle großen Linux-Distributionen aktivieren IPv6, die Privacy Extensions jedoch nicht  | ||
* Das bemerkt man schnell an den aus der Hardware-Adresse abgeleiteten Adressen, die im hinteren Teil die Bytes ff und fe enthalten.  | * Das bemerkt man schnell an den aus der Hardware-Adresse abgeleiteten Adressen, die im hinteren Teil die Bytes ff und fe enthalten.  | ||
Version vom 27. Juli 2023, 14:15 Uhr
Privacy-Extensions
Privacy Extensions nach RFC 4941
- Erzeugung des Interface-Identifiers
 
- Die Erzeugung des Interface-Identifiers aus der global eindeutigen MAC-Adresse ermöglicht die Nachverfolgung von Benutzern
 
- Privacy-Extensions (PEX, RFC 4941)
 
- hebt die permanente Kopplung der Benutzeridentität an die IPv6-Adressen auf
 
- Zufällig generiert und regelmäßig gewechselt
 
- Indem der Interface-Identifier zufällig generiert wird und regelmäßig wechselt, soll ein Teil der Anonymität von IPv4 wiederhergestellt werden
 
- Täglich wechselndes Präfix wünschenswert
 
- Im Privatbereich lässt das Präfix allein recht sicher auf einen Nutzer schließen
 - Daher ist aus Datenschutzgründen ein vom Provider dynamisch zugewiesenes Präfix wünschenswert
- in Verbindung mit den Privacy Extensions
 - z. B. täglich wechselnd
 
 
- Whois-Datenbank
 
- Statische Adresszuteilung erfordern meist ein Eintrag in der öffentlichen Whois-Datenbank
 - In Deutschland hat der Deutsche IPv6-Rat Datenschutzleitlinien formuliert, die auch eine dynamische Zuweisung von IPv6-Präfixen vorsehen
 
Stateless Address Autoconfiguration (SLAAC)
Nutzt auf einigen Betriebssystemen per Vorgabe die Hardware-Adresse der Netzwerkschnittstelle
- Solche Adressen sind im Internet leicht wiederzuerkennen
 
- Abhilfe schaffen die Privacy Extensions
 
- die zusätzliche, über Zufallszahlen generierte und wechselnde IPv6-Adressen erzeugen
 
- Stateless Address Autoconfiguration
 
- schiebt in der Mitte der nur 48 Bit langen MAC-Adresse zusätzlich die Bytes ff:fe ein
 - erzeugt daraus den Local Identifier, also die hinteren 64 Bit einer IPv6-Adresse
 - Die ersten 64 Bit gehören dem Netzwerk-Präfix, das der IPv6-Router im Netzwerk bekannt gibt und das der Rechner in die globale IPv6-Adresse übernimmt.
 
Privacy Extensions nach RFC 4941
- Linux
 
leiten ohne Eingriff ihre globale IPv6-Adresse aus der Hardware abdamit offenbaren sie Informationen über den Benutzer
- Windows
 
erzeugt immer eine temporäre IPv6-Adressedie dem Nutzer mehr Privatheit verschafft
- Den IPv6-Entwicklern fiel schnell auf dass dieses Verfahren die Privatsphäre von Rechner und Nutzer gefährdet
 
- Solche statischen IPv6-Adressen wirken wie eine eindeutige Hardware-ID, die der Rechner bei jedem Kontakt zu einem IPv6-tauglichen Server überträgt.
 - Brisant ist das bei Geräten wie Tablets oder Smartphones, denn sie werden in der Regel nur von einer Person genutzt.
 - Die für jeden Serverbetreiber und Netzbeobachter zugängliche MAC-Adresse erlaubt es damit, diese Person wiederzuerkennen.
 
- Privacy Extensions for Stateless Address Autoconfiguration in IPv6
 
- Daher definierten sie nachträglich das Verfahren "Privacy Extensions for Stateless Address Autoconfiguration in IPv6" (RFC 4941)
 - mit dem sich zusätzlich zu diesen statischen Adressen temporäre erzeugen lassen
 - die der Rechner für seine Anfragen ins IPv6-Internet einsetzt
 
- Der Host Identifier dieser Adressen wird über Zufallszahlen ermittelt
 
- Allerdings setzen längst nicht alle aktuellen Betriebssysteme diese Erweiterung ab Werk ein
 
- Derzeit hat einzig Windows die Privacy Extensions eingeschaltet
 
- Andere wie Mac OS und Linux beherrschen das Verfahren
 - man muss es aber per Hand aktivieren
 
Windows
- Ohne dass der Nutzer eingreifen muss
 
Richten die Desktop-Versionen von Windows per Stateless Autoconfiguration bereits temporäre IPv6-Adressen ein.
- Wie im RFC vorgesehen wechselt Windows diese Adressen in Intervallen
 - die sich wie auch andere IPv6-Parameter über das Kommando netsh einstellen lassen
 
- Wechselnde Adressen auf Servern wenig sinnvoll
 
Daher hat Microsoft die Privacy Extensions auf Windows-Server-Versionen nicht eingeschaltet
- Anders als andere erzeugen Windows-Rechner ihre statische IPv6-Adresse auch nicht aus der
 
Hardware-Adresse der jeweiligen Schnittstelle.
- Stattdessen würfelt Windows die Adresse einmal, meist bei der Installation, aus
 
- Abschalten
 
Dieses Verhalten lässt sich als Administrator ändern
- Mit folgendem Befehl nutzt Windows für seine statische, globale IPv6-Adresse nun die MAC der Netzwerkschnittstelle
 
netsh interface ipv6 set global randomizeidentifiers=disabled
- Nachschauen
 
Die aktuelle Einstellung zeigt das folgende Kommando in der Ausgabezeile an
netsh interface ipv6 show global
- Aktuelle IPv6-Adressen aller Netzwerkkarten
 
netsh interface ipv6 show addresses
- Vorgaben für die Privacy Extensions ausgeben
 
netsh interface ipv6 show privacy Der aktive Status wird abgefragt... Parameter für temporäre Adressen ------------------------------------------------ Temporäre Adresse verwenden : enabled Versuch, doppelte Adr. zu entdecken : 5 Maximale Gültigkeitsdauer : 7d Maximale bevorzugte Gültigkeitsdauer: 1d Regenerationszeit : 5s Maximale Verzögerungszeit : 10m Verzögerungszeit : 0s
Windows erzeugt seine feste IPv6-Adresse nicht über die MAC, die Privacy Extensions hat Microsoft ab Werk aktiviert.
Privacy Extensions nach RFC 4941
- Windows
 
- Die Ausgabe bestätigt, dass die Privacy Extensions (Temporäre Adresse verwenden)
 
aktiv sind.
- Maximale bevorzugte Gültigkeitsdauer
 
- legt fest, nach welcher Zeit (hier in Tagen) der Rechner eine neue temporäre Adresse erzeugt
 
und für ausgehende Pakete auch einsetzt.
- Maximale Gültigkeitsdauer
 
- Eingehende Verbindungen akzeptiert der Rechner deutlich länger auf einer temporären Adresse,
 
was etwa für Peer-to-Peer-Anwendungen nützlich sein kann.
- Temporären IPv6-Adressen vollständig abschalten
 
netsh interface ipv6 set privacy state=disabled
- Gültigkeitsdauer setzen
 
netsh interface ipv6 set privacy maxpreferredlifetime=12h
- Schlüssel maxpreferredlifetime und maxvalidlifetime
 - Zeitangaben in Tagen (d), Stunden (h), Minuten (m) und Sekunden (s)
 
Linux
- Alle großen Linux-Distributionen aktivieren IPv6, die Privacy Extensions jedoch nicht
 
- Das bemerkt man schnell an den aus der Hardware-Adresse abgeleiteten Adressen, die im hinteren Teil die Bytes ff und fe enthalten.
 
- Die Privacy Extensions lassen sich über das Sysctl-System dauerhaft einschalten
 
- Am einfachsten gelingt das, wenn man für jede Netzwerkschnittstelle im Computer eine Zeile in die Datei /etc/sysctl.conf nachträgt.
 
net.ipv6.conf.IF.use_tempaddr = 2
Den Platzhalter IF müssen Sie dabei durch die Schnittstellenbezeichnung ersetzen, also etwa eth0 für die erste Ethernet-Karte oder wlan0 für das WLAN-Interface.
- Testweise können Sysctl-Werte auch über die Shell eingeben werden
 
sysctl net.ipv6.conf.wlan0.use_tempaddr=2
- Damit Linux die Netzwerkschnittstelle mit einer temporären IPv6-Adresse versorgt, müssen Sie die Schnittstelle einmal aus- und wieder einschalten (etwa über den Network Manager).
 - Anschließend zeigt ifconfig an der Schnittstelle eine weitere IPv6-Adresse, deren hinterer Teil
 
nicht mehr aus der Hardware-Adresse abgeleitet wurde.
- Dass es sich tatsächlich um eine temporäre Adresse handelt, zeigt der Befehl ip -6 addr show
 
über den Bezeichner "temporary" in seinen Ausgaben an.
- Bei Ubuntu muss zusätzlich der Wert net.ipv6.conf.default.use_tempaddr=2 in der Datei
 
/etc/sysctl.conf setzen.
Privacy Extensions nach RFC 4941
- Linux
 - Vorgaben ändern
 
- Vorgaben zum Wechseln der temporären IPv6-Adresse lassen sich via sysctl
 
anpassen
- Die Sysctl-Schlüssel
 
net.ipv6.conf.IF.temp_valid_lft net.ipv6.conf.IF.temp_prefered_lft
- setzen die maximale Zeit in Sekunden, in der Linux die Adresse für eingehende und
 
ausgehende Anfragen nutzt.
- Der letzte Schlüssel hat typischerweise den Wert 86400 (24 Stunden), eingehende Pakete
 
akzeptiert Linux sieben Tage an dieser Adresse.
- Den Platzhalter IF müssen Sie dabei wie oben durch den Schnittstellennamen ersetzen.
 
Privacy Extensions nach RFC 4941
- Android
 
- Googles Smartphone-Betriebssystem setzt auf Linux auf
 
- das zufällige und wechselnde IPv6-Adressen erzeugen kann
 - Andererseits hat Google die dafür nötigen Vorgaben nicht gesetzt, sodass bislang jede Android-
 
Version ohne die Privatsphäre schützenden IPv6-Adressen auskommen muss.
- Auch lassen sie sich nicht einfach einschalten, denn die Mobilfunk-Provider und Handy-Hersteller
 
vernageln den dafür nötigen Root-Zugang.
- Zwei Befehle genügen und ein gerootetes Android surft über die wechselnden und nicht aus der
 
Hardware abgeleitetden IPv6-Adressen.
- Wie auch auf iPhones bleibt nur der Weg über das nachträgliche
 
Freischalten des Root-Zugangs oder über die Installation von Custom-ROMs:
- Mit dem für solche Verwaltungsaufgaben nötigen Root-Benutzer
 
lassen sich dann wieder die Sysctl-Werte setzen, die die Privacy Extensions für IPv6 aktivieren.
- Steht auf dem Telefon das Kommando sysctl bereit, reichen die Befehle
 
su sysctl -w net.ipv6.conf.default.use_tempaddr=2 sysctl -w net.ipv6.conf.all.use_tempaddr=2
- Nach einem Neustart vergisst Android diese Einstellungen jedoch wieder.
 - Man kann die beiden Befehle allerdings in eine Datei namens /data/local/userinit.sh schreiben.
 - Existiert diese Datei, führt Cyanogenmod die darin aufgelisteten Befehle beim Systemstart aus.
 
Privacy Extensions nach RFC 4941
- Mac OS X
 
- Auch Apples Betriebssystem Mac OS X über die Privacy Extensions ermittelte IPv6-
 - Adressen erzeugen und einsetzen
 
- Allerdings hat Apple dafür keinen Schalter vorgesehen.
 - Das Programm IPv6 Anonymizer von c't
- zeigt den Status der Privacy Extensions,
 - schaltet sie an oder aus und
 - sorgt dafür, dass die Funktion auch
 
 
beim Neustart zur Verfügung steht.
- Kommandozeile
 
- Die Privacy Extensions lassen sich im Terminal (im Dienstprogramme-Ordner) mit einem Befehl
 
aktivieren
sudo sysctl -w net.inet6.ip6.use_tempaddr=1
- Damit das klappt, müssen Sie mit einem Benutzer angemeldet sein, der den Mac verwalten darf.
 - Leider verschwindet die Einstellung nach einem Neustart.
 
Privacy Extensions nach RFC 4941
iPhone und iPad (IOS)
- Noch schlechter als auf dem Apple-Desktop sah es bis vor kurzem unter den Mobil-
 - Betriebssystemen für iPhones und iPads aus
 
- Bis zur Version 4.3 waren auch dort die Privacy Extensions abgeschaltet. Erst das Update aktiviert die
 
Erweiterung.
- Im Unterschied zu Mac OS X steht aber auf den Mobilbetriebssystemen für iPhone und iPad kein vom
 
Hersteller vorgesehener Weg offen, die Privacy Extensions zu aktivieren oder abzuschalten.
- Will man auf Geräten mit der IOS-Version kleiner als 4.3 die Privacy Extensions einschalten, hat man
 
nur dann eine Chance, wenn man einen Administrator-Zugang zum Betriebssystem hat (Jailbreak): In diesem Fall reicht der Aufruf von
sudo sysctl -w net.inet6.ip6.use_tempaddr=1
- respektive der Eintrag in die Datei /etc/sysctl.conf:
 
net.inet6.ip6.use_tempaddr=1
- Starten Sie dazu im Terminal einen Editor mit root-Rechten und fügen Sie die Zeile am Ende der Datei
 
an.
sudo pico /etc/sysctl.conf
- Nach einem Neustart der WLAN-Schnittstelle respektive einem Neustart des Geräts sollte die
 
Webseite http://ct.de/ip die zweite, über die Privacy Extensions erzeugte IPv6-Adresse anzeigen.
RFC 4291
- Adressnotation
 
- Reduktion durch Regel 3 darf nur einmal durchgeführt werden
 
- Es darf höchstens eine zusammenhängende Gruppe aus Null-Blöcken in der Adresse ersetzt
 
werden.
2001:0db8:0:0:8d3:0:0:0
darf gekürzt werden zu
2001:db8:0:0:8d3:: oder 2001:db8::8d3:0:0:0
- Wegen Mehrdeutigkeit Unzulässig
 
2001:db8::8d3::
2001:db8:0:0:0:8d3:0:0
- interpretiert werden könnte.
 
- Es empfiehlt sich den Block mit den meisten Null-Blöcken zu kürzen.