LW IT Solutions
« Blog Overview /Data Privacy / Co naprawdę anonimizuje skracanie adresu IP
This post in other languages:

Co naprawdę anonimizuje skracanie adresu IP

Co naprawdę anonimizuje skracanie adresu IP
Spis treści
  1. Jak duża jest naprawdę pozostała grupa
  2. Dlaczego hasz nie jest alternatywą
  3. IPv6 skraca inaczej, niż wygląda
  4. W którym miejscu przepływu leży skracanie
  5. Do czego skracanie naprawdę służy

Odrzucenie ostatniego oktetu to typowa odpowiedź na pytanie o adresy IP i jest to odpowiedź rozsądna. Prawie nigdy nie następuje po niej krok drugi: podanie, jak duża jest grupa, w której odwiedzający teraz znika. Środek traktuje się jak przełącznik – zamaskowane albo niezamaskowane – podczas gdy jest on suwakiem, a to, gdzie ten suwak stoi, rozstrzyga, czy w ogóle cokolwiek osiągnięto.

Liczby są na tyle niewielkie, że da się je zapamiętać, i warto mieć je pod ręką, gdy następnym razem ktoś zapyta, czy dane są już anonimowe. Zwykle nie są, i nie jest to argument przeciwko skracaniu – tylko przeciwko zdaniu, które zwykle po nim pada.

Trzy zagnieżdżone zakresy wokół adresu IP - pełny adres, /24 z 256 adresami oraz /16 z 65536 - każdy z tym, co jeszcze zdradza, wraz z uwagą, że zahaszowane IPv4 prowadzi z powrotem do jednego adresu
Każdy odrzucony bit podwaja grupę. Czego nie robi: nie usuwa z niej adresu.

Jak duża jest naprawdę pozostała grupa

Skraca się w bitach, a każdy odrzucony bit podwaja liczbę adresów dzielących zapisaną wartość. Odrzucenie całego oktetu zostawia 256, co brzmi jak tłum, dopóki nie zestawi się tego z tym, co odpowiada pojedynczemu adresowi.

Zapisane Adresy z tą wartością Co to jeszcze mówi
203.0.113.45 1 Jedno łącze – w bloku jedno gospodarstwo, w firmie jedna lokalizacja.
203.0.113.0 (/24) 256 Zwykle jeden blok operatora w jednym mieście, często jedna ulica albo budynek.
203.0.0.0 (/16) 65 536 Region i dostawca, już nie miejsce.
nic wszystkie Nic – i to jedyna wartość, która znosi powiązanie.

To przy środkowym wierszu zwykle wybucha dyskusja. 256 adresów to nie 256 osób: blok mieszkaniowy u operatora rozdziela się na kilkadziesiąt łączy naraz, a za NAT firmy cały budynek wychodzi do sieci przez jeden adres. W jedną stronę grupa jest mniejsza, niż sugeruje liczba, w drugą znacznie większa – i żadnej z tych rzeczy nie widać w samych danych.

Dlatego skracanie najlepiej opisywać tym, czym jest: mierzonym w bitach obniżeniem dokładności, które zmniejsza ryzyko, nie znosząc powiązania z osobą. Zakres /24, znacznik czasu z dokładnością do sekundy i identyfikator przeglądarki są razem na tyle wąskie, że organy nadzorcze traktowały tę kombinację jako dane osobowe, a maskowanie ostatniego oktetu niczego w tym nie zmienia.

Dlaczego hasz nie jest alternatywą

Propozycja pada na co drugim spotkaniu: zapisać hasz zamiast adresu, wtedy wartość będzie nieczytelna. Nieczytelna jest, anonimowa nie – bo przestrzeń, z której pochodzi, jest maleńka.

IPv4 obejmuje około 4,3 miliarda adresów. Zwykła maszyna liczy SHA-256 w tempie rzędu setek milionów haszy na sekundę, pełna tablica adresów i ich haszy powstaje więc w kilka minut i mieści się na laptopie. Zahaszowany adres IPv4 nie jest zatem pseudonimem, lecz adresem zapisanym w innym alfabecie, a wyszukanie, które ten zapis odwraca, to błąd zaokrąglenia w nakładzie pracy.

Sól na każde zdarzenie niszczy tablicę, ale niszczy też jedyny powód, dla którego wartość zachowano: dwa zdarzenia tego samego odwiedzającego przestają do siebie pasować. Sól stała zachowuje przypisanie i zamienia tablicę jedynie w nieco droższą, policzoną raz i używaną ponownie dla każdego rekordu tego samego zbioru. Naprawdę użyteczny pozostaje hasz z adresu już skróconego – wtedy haszowana jest grupa 256 adresów, a ochrona pochodzi ze skrócenia, a nie z hasza.

IPv6 skraca inaczej, niż wygląda

Reguła przeniesiona z IPv4 – odrzucić ostatnią ćwiartkę – przy IPv6 nie daje prawie nic, bo adres zbudowany jest inaczej. Łączu przydziela się zwykle całe /64, a każde urządzenie za nim wymyśla sobie własne zakończenie wewnątrz tego bloku. Skrócenie adresu do jego /64 usuwa więc urządzenie, a zachowuje łącze – dokładnie ten identyfikator, o który chodziło.

Sensowne skracanie zaczyna się dopiero o stopień dalej w lewo. Zakres /56 albo /48 to tyle, ile dostawca przydziela lokalizacji, tam więc zaczyna się grupa większa niż jedno gospodarstwo. Reguła Google dla IPv6 – wyzerowanie ostatnich 80 bitów, po którym zostaje /48 – leży właśnie w tym miejscu, a nie przy optycznie odpowiadającej ćwiartce.

Jeden przypadek przechodzi przez to wszystko niezauważony: adres IPv4 w zapisie IPv6, notowany jako ::ffff:203.0.113.45. Reguły maskowania liczące od prawej pozostawiają osadzony adres znacznie dłużej, niż można oczekiwać, a wartość wyglądająca jak zamaskowany adres IPv6 może nieść pełny adres IPv4.

W którym miejscu przepływu leży skracanie

Maskowanie jest maskowaniem tylko wtedy, gdy następuje, zanim adres opuści własny obszar, a to rozróżnienie dzieli dwa przypadki opisywane skądinąd tymi samymi słowami.

W układzie serwerowym – w Conversions API, w kontenerze na własnej infrastrukturze – adres jest polem w ładunku. To, co zostanie wpisane w client_ip_address, jest tym, czego dowie się odbiorca; skrócenie przed wysłaniem usuwa więc ostatni oktet ostatecznie. To przypadek, w którym środek dotrzymuje obietnicy.

Przy tagu działającym w przeglądarce jest odwrotnie. Zapytanie idzie wprost do dostawcy, a adres, który on widzi, to adres połączenia, a nie ten z ładunku. Zamaskowana wartość w parametrze zmienia to, co znajdzie się w raporcie; nie zmienia tego, co dotarło na brzeg sieci dostawcy. Dopiero proxy przez własną domenę przesuwa tę granicę – i wtedy dostawca widzi adres własnego serwera.

Do czego skracanie naprawdę służy

Cel łatwiej obronić, gdy nazwie się go dokładnie. Zakres /24 nadal prowadzi do miasta, a często do dzielnicy, i właśnie o to chodzi: analiza geograficzna, dla której adres zebrano, przechodzi przez cięcie niemal bez zmian, podczas gdy wartość wskazująca pojedyncze łącze znika. Do tej wymiany środek jest dobrze dobrany, a do twierdzenia, że dane są już anonimowe – źle.

Dokumentacja wynika z tego samego zdania. Rejestr podający długość maski, miejsce w przepływie i wynikającą z tego wielkość grupy opisuje coś sprawdzalnego. Taki, który odnotowuje „adresy IP są anonimizowane”, opisuje przełącznik, którego nie ma – a pierwszym pytaniem przy każdej kontroli będzie to, od którego zaczął się ten tekst: jak duża jest grupa.

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Get in Touch

Briefly describe your project or inquiry for a tailored response. This site is protected by reCAPTCHA.

ALL ARTICLES & CATEGORIES

CCTV

Śledź tę kategorię przez RSS

Data Privacy

Śledź tę kategorię przez RSS

Digital Analytics

Śledź tę kategorię przez RSS

Digital Marketing

Śledź tę kategorię przez RSS

IT & Networks

Śledź tę kategorię przez RSS

Raspberry Pi

Śledź tę kategorię przez RSS

Smart Home

Śledź tę kategorię przez RSS

Tworzenie stron internetowych

Śledź tę kategorię przez RSS

Wordpress Hacks

Śledź tę kategorię przez RSS