Tworzymy stronę internetową, która będzie zbierać informacje o lokalizacji (punkty) od użytkowników. Badamy techniki, aby zachować prywatność lokalizacji użytkowników (np. Często użytkownicy udostępniają swój adres domowy, który jest poufny). Jedną z opcji, która przyszła mi do głowy, jest zaciemnianie lub „mieszanie” punktów przed przechowywaniem ich w bazie danych, co eliminuje potrzebę przechowywania tych wrażliwych danych w ogóle.
Uważam, że nasze podstawowe wymagania to:
Biorąc pod uwagę pojedynczy zaciemniony punkt, nie jest możliwe wyprowadzenie pierwotnego punktu w odległości (powiedzmy) kilometra, nawet biorąc pod uwagę wszystkie metadane związane z tym punktem (tj. Zakładając, że cała baza danych jest zagrożona).
Biorąc pod uwagę dowolnie duży zestaw zaciemnionych punktów odpowiadających temu samemu punktowi pierwotnemu, nadal nie można uzyskać punktu początkowego. (Na przykład łatwą techniką byłoby dodanie losowego wektora do pierwotnego punktu, ale jeśli zrobisz to wystarczająco dużo razy, zaciemnione punkty skupią się wokół oryginalnego punktu).
Byłoby miło, gdyby zachowano różne właściwości statystyczne, choć nie wiem, które właściwości są ważne na tym etapie. Na przykład wolałbym, aby zaciemnione punkty rozpraszały się w „naturalny” sposób, zamiast gromadzić się w siatkę. Jednak prywatność jest ważniejsza niż to.