Мы создаем веб-сайт, который будет собирать информацию о местоположении (баллы) от пользователей. Мы исследуем методы, чтобы сохранить конфиденциальность местоположения пользователей (например, часто пользователи сообщают свой домашний адрес, который является чувствительным). Одна из опций, которая пришла в голову, - это запутать или «хэшировать» точки перед сохранением их в базе данных, что устраняет необходимость хранить эти конфиденциальные данные вообще.
Я считаю, что наши основные требования:
Учитывая одну запутанную точку, невозможно получить исходную точку в пределах (скажем) километра или около того, даже учитывая все метаданные, связанные с этой точкой (то есть предположим, что вся база данных взломана).
Учитывая произвольно большой набор запутанных точек, соответствующих одной и той же исходной точке, все еще невозможно получить исходную точку. (Например, простой способ будет добавить случайный вектор к исходной точке, но если вы сделаете это достаточно много раз, запутанные точки будут сгруппированы вокруг исходной точки.)
Было бы хорошо, если бы различные статистические свойства были сохранены, хотя я не знаю, какие свойства важны на этом этапе. Например, я бы предпочел, чтобы запутанные точки рассеивались «естественным» образом, а не накапливались в сетке. Тем не менее, конфиденциальность важнее этого.