Обеспечение конфиденциальности местоположения пользователей мобильных устройств

From CryptoWiki
Jump to: navigation, search

Обеспечение конфиденциальности местоположения пользователей мобильных устройств — проблема, ставшая актуальной с появлением в мобильных устройствах аппаратных модулей, позволяющих определить его местоположение с помощью средств спутниковой навигации, а так же различных алгоритмов и средств, позволяющих с высокой точностью определить местоположение устройства с использованием вторичных признаков.

Contents

Способы и средства определения местоположения

GPS

GPS (англ. Global Positioning System — система глобального позиционирования) — система спутниковой навигации, позволяющая определить местоположение в системе координат WGS 84, время, и расстояние. Система способна определять местоположение и скорость объектов практически при любых условиях и практически в любой точке Земли. Была разработана в 1973 году Министерством обороны США, в настоящее время используется в том числе и в гражданских целях. Для использования системы в устройстве должен быть установлен GPS-приемник. Максимальная погрешность при определении местоположения объекта может достигать 13 метров; максимальная точность при использовании сложных дифференциальных алгоритмов может достигать 10 см.

ГЛОНАСС

ГЛОНАСС (Глобальная навигационная спутниковая система) — вторая система глобальной спутниковой навигации (после GPS). Разработана по заказу Министерства обороны СССР, в настоящее время обслуживается и развивается Роскосмосом и ОАО «Российская корпорация ракетно-космического приборостроения и информационных систем». Точность определения местоположения объекта лежит в диапазоне 1.5 - 6 метров в зависимости от различных условий.

A-GPS

Вспомогательная система, используемая совместно с приемником GPS и предназначенная для повышения точности определения местоположения и уменьшения времени "холодного" старта системы GPS. Функционирование системы, как правило, обеспечивается оператором сотовой связи и заключается в передаче вспомогательных данных (примерное местоположение, видимые в данной зоне спутники и тп.) абоненту через GSM-сеть.

Cell of Origin

Данный способ определения местоположения мобильного устройства, оснащенного GSM-модулем и подключенного к GSM-сети, основывается на сопоставлении данных базовой станции (или нескольких в течении промежутка времени) оператора сотовой связи и данных о местоположении базовых станций. Точность определения местоположения при таком подходе сильно зависит от различных параметров: местность, в которой находится мобильное устройство, концентрация и количество базовых станций, активность абонента и его подвижность.

TOA и OTD

Методы определения местоположения TOA (Time of Arrival, англ. Оценка времени прибытия сигнала) и OTD (Observed Time Difference, англ. Наблюдаемая разность времени прибытия сигнала) основаны на физических принципах распространения электромагнитного сигнала. Для установления местоположения абонентского устройства необходима информация о разности времени прохождения сигналов от нескольких базовых станций до мобильного устройства. Оба метода требуют модернизации сетевого оборудования.

На основе IP-адреса

Известный IP-адрес абонента (внешний) при некоторых условиях и при наличии необходимых данных позволяет определить местоположение устройства с точностью до последнего маршрутизатора. Как правило, информация о связи конкретного IP-адреса и/или подсети, которой он принадлежит, не подлежит разглашению (за исключением судебных постановлений по требованию правоохранительных органов) и ей владеет только провайдер, предоставляющий доступ в Интернет и выдавший конкретный IP-адрес. Однако информация о стране и, зачастую, городе, в котором используется конкретный IP-адрес является публично доступной и может быть получена при помощи сервиса WhoIS. Стоит отметить, что данный метод актуален для мобильных устройств только когда они подключены к сети Интернет через стационарные точки доступа (посредством сетей WLAN или с помощью витой пары).

Сервисы, использующие местоположение

Поисковые системы

Большинство популярных сегодня поисковых систем, среди которых в России можно отметить Google, Mail.ru и Yandex, определяют и используют местоположение пользователя. Как правило, местоположение учитывается для показа таргетированной рекламы, предоставления сервисов и информации, привязанной к определенной местности (погода, пробки и тп.), оптимизации поисковой выдачи и аналитики.

Социальные сети

В социальных сетях информация о местоположении, аналогично с поисковыми системами, используется для показа таргетированной рекламы. Часто информация о местоположении привязывается к фотографии, размещенной пользователем в социальной сети. Практически все современные мобильные устройства записывают информацию о месте, в котором была сделана фотография, в ее метаданные. Метаданные файла фотографии являются открытыми, что позволяет социальным сетям с их помощью выводить информацию о местоположении.

Существует отдельная категория социальных сетей и сервисов, в которых местоположение пользователя является важной, а, чаще, ключевой информацией. Примерами таких сетей являются Flickr и Instagramm.

Прочее

Широкое развитие получили различные сервисы, взаимодествующие с местоположением пользователя напрямую. Такие сервисы (Foursquare, AlterGeo) используют местоположение пользователя для предоставления различных рекомендаций, связанных с местом пребывания, окружением и интересами пользователя.

Например, Foursqare, рекомендует пользователю места, которые ему было бы интересно посетить среди тех, что находятся близко к его текущему местоположению, на основе интересов, посещенных ранее мест и времени пребывания в конкретной точке. Многие подобные сервисы позволяют "отметиться" (Check In) в каком-либо месте и поделиться данной информацией с друзьями и другими пользователями.

Мобильные операционные системы

К настоящему моменту у производителей мобильных устройств и операционных систем сформировался определенный подход к обращению с персональными данными пользователей, в том числе и с данными о местоположении. При этом каждая из мобильных ОС предоставляет разные средства и подходы к обеспечению конфиденциальности этих данных.

Android

ОС Android разрабатывается и производится компанией Google, однако каждый производитель мобильных устройств имеет возможность и инструменты для модификации ОС по своему усмотрению. В подавляющем большинстве мобильных устройств Android поставляется вместе с сервисами Google, собирающими и использующими данные о местоположении пользователя. Стоит отметить, что на данный момент у Google существует целая экосистема, представленная различными типами устройств (мобильные и носимые), каждое из которых может быть оснащено собственными датчиками местоположения. Как правило, сервисы Google запрашивают дополнительные разрешения на использование данных с этих датчиков и сторонних источников для повышения точности определения местоположения.

В данной ОС до версии 6.X был предусмотрен простой механизм обеспечения конфиденциальности местоположения абонента. Предустаовленные сервисы Google поисковый сервис запрашивают у пользователя разрешение на определение местоположения один раз при первичной настройке ОС. После первичной настройки мобильного устройства разрешения для этих сервисов могут быть изменены. Сторонние приложения, устанавливаемые пользователем, так же должны запросить разрешение на использование данных о местоположении пользователя наряду с разрешениями на доступ в интернет и к другим функциям мобильного устройства. К сожалению, данный механизм был построен таким образом, что при установке приложения пользователь либо вынужден дать все необходимые разрешения одновременно, либо вовсе отказаться от установки конкретного приложения. Минус такого подхода заключается в том, что при сильной потребности в приложении пользователь скорее смирится с возможной потерей конфиденциальности своего местоположения, чем откажется от установки необходимого приложения.

Начиная с версии 6.X Android предоставляет расширенный механизм управления разрешениями для приложений, позволяющий пользователю запретить приложению доступ к одним запрашиваемым функциям и разрешить доступ к другим. Таким образом в последних версиях ОС Android защитить данные о местоположении от сторонних сервисов стало гораздо проще.

iOS

iOS начиная с ранних версий поддерживает расширенные настройки конфиденциальности, аналогичные настройкам Android 6.X. При этом существует возможность запретить ОС записывать данные о местоположении в метаданные снимков, сделанных камерой мобильного устройства.

Подходы к обеспечению конфиденциальности местоположения пользователей мобильных устройств

Проблема обеспечения конфиденциальности местоположения пользователей мобильных устройств является комплексной и ее решение зависит не только от действий пользователя, но и от политики производителей ПО, мобильных устройств и мобильных операционных систем, интернет-провайдеров и операторов сотовой связи. Данные о местоположении пользователя в различных системах (GSM-сети, стационарные точки доступа в интернет) являются побочными и не могут быть скрыты самим пользователем в силу структуры системы, им используемой. С другой стороны пользователи мобильных устройств сами предоставляют данные о своем местоположении сервисам с целью получения услуг. Таким образом обеспечение конфиденциальности данных о местоположении сводится к созданию нормативно-правовой базы, состоящей из законодательных актов и нормативных документов, регламентирующих порядок обращения с данными о местоположении.

Тем не менее, в случае необходимости обеспечения конфиденциальности местоположения могут быть использованы различные программно-аппаратные средства (направленные антенны для подключения к удаленным БС операторов сотовой связи, измененные алгоритмы выбора БС), протоколы и сервисы (proxy, VPN), позволяющие снизить точность определения местоположения или полностью исказить эти данные. На сегодняшний день существует несколько научных работ, посвященных сокрытию местоположения пользователя в мобильной сети.

Обеспечение конфиденциальности местоположения с помощью групповых связей (MobiCrowd)

Метод обеспечения конфиденциальности местоположния с помощью групповых связей рассматривает конечное число пользователей на некоторой территории, разделенной на регионы. Каждый пользователь описывается цепью Маркова на группе регионов, что позволяет оценить вероятность Pu(Ri | Rj), с которой пользователь u переместится в регион Ri при вероятности π(Rj) его нахождения в регионе Rj. Каждый пользователь в рамках описанной системы обладает мобильным устройством, поддерживающим Ad-Hoc соединения и подключенным к WLAN и мобильной сетям.

В работе рассматривается взаимодействие мобильного устройства пользователя с Location Based Services, предоставляемыми оператором сотовой связи, через которые информация о местоположении пользователя может быть получена третьими лицами. Стоит отметить, что авторы работы не рассматривают случаи локального наблюдения за пользователем (когда злоумышленник получает информацию о местоположении пользователя в непосредственной близости от него) и направлен, в первую очередь, на сокрытие местоположения от "глобальных" наблюдателей, взаимодействующих с оператором сотовой связи. Таким образом, модель пользователя, помимо цепи Маркова, включает в себя частоту обмена сообщениями с LBS, а так же время, в течении которого информация о местоположении остается актуальной.

Обеспечение конфиденциальности местоположения при использовании метода группового взаимодействия достигается с помощью сохранения информации о местоположении пользователя или группы пользователей в непосредственной близости от точки получения данной информации пользователями с последующей передачей данной информации другим пользователям в данном регионе. Таким образом каждый пользователь получает информацию о своем местоположении не раскрывая его сервисам оператора сотовой связи.

В основе работы метода лежит proxy-сервис, расположенный между пользователем и LBS. На мобильном устройстве пользователя исполняется программное обеспечение, содержащее в себе буфер для временного хранения информации о местоположении, а так же средства для перенаправления трафика, содержащего сведения о местоположении. В системе выделяется три различных группы пользователей и два типа относительно некоторого региона:

  • Ищущий пользователь (seeker) - пользователь, заинтересованный в получении информации о местоположении и осуществивший запрос на ее получение, но не получивший данную информацию. Ищущий пользователь может быть как внутренним (Insider), так и внешним (Outsider). Внутренний ищущий пользователь переходит в разряд внешний как только покидает регион, для которого им была запрошена информация о местоположении. Внешний ищущий пользователь в рамках системы может получать информацию о местоположении только от сервера MobiCrowd. Пользователь переходит в группу информированный как только получает информацию о местоположении.
  • Информированный пользователь (informed) - пользователь, имеющий информацию о местоположении. Информация может быть получена как от других пользователей в регионе, так и от LBS. Внутренний информированный пользователь с некоторой вероятностью может делиться информацией о местоположении с другими пользователями в регионе. Вероятность всегда меньше 1, поскольку распространение информации влечет за собой некоторые накладные расходы (стоимость трафика у оператора сотовой связи, расход заряда батареи и пр.) и пользователь имеет право не распространять информацию другим пользователям. Внешний информированный пользователь не распространяет информацию о местоположении. Пользователь переходит в группу исключенный как только имеющаяся у него информация о местоположении перестает быть актуальной.
  • Исключенный пользователь (removed) - пользователь, не имеющий актуальной информации о местоположении и в данный момент не заинтересованный в ее получении. При этом внутренний исключенный пользователь, в последствии заинтересованный в получении информации о местоположении, автоматически переходит в группу "ищущий".

Вероятность сокрытия местоположения в MobiCrowd

Вероятность сокрытия местоположения в с использованием данного метода определяется временем, в течении которого пользователь не соединяется с LBS напрямую для получения информации о местоположении. Соответственно, чем дольше отсутствуют запросы к LBS, тем выше вероятность сокрытия местоположения. При этом даже сокрытие части регионов дает два преимущества: пользователя гораздо сложнее отследить, поскольку след пользователя теряется как во времени, так и в пространстве и в некоторой точке может быть перепутан со следами других пользователей, что осложняет анализ следов; меньший набор запросов пользователя к LBS осложняет его идентификацию.

Помимо частоты запросов на вероятность обнаружения пользователя так же влияет время жизни информации о местоположении и уровень взаимодействия (collaboration) пользователя с MobiCrowd. Чем выше частота запросов и чем выше уровень взаимодействия, тем сильнее применение данного метода снижает вероятность обнаружения пользователя. В условиях высокой частоты обмена пакетами информации о местоположении и уровнем взаимодействия > 0.6 MobiCrowd обеспечивает снижение вероятности обнаружения местоположения в 6.5 раз.

Реализация

Данный метод был реализован и протестирован авторами работы. Полученная реализация представляет собой приложение для платформы Maemo, не требует каких-либо модификаций в системе и имеет низкие требования к ресурсам мобильного устройства.

Приложение работает в качестве proxy-сервиса, перенаправляя HTTP-трафик пользователя. Помимо основных алгоритмов, реализация включает в себя средства для подписывания сообщений о местоположении (OpenSSL), а так же средства, позволяющие исключить персонифицирующую информацию (MAC-адрес и пр.) из данных сообщений.

Обеспечение конфиденциальности местоположения с использованием ложной информации (Dummy-Based Location Privacy)

Способ сокрытия местоположения пользователя мобильного устройства с использованием ложной информации подразумевает использование клиент-серверной модели без внедрения дополнительных proxy-сервисов между клиентом и сервером. Данный метод выгодно отличается от MobiCrowd тем, что не требуется регулярно распространять информацию о местоположении.

В терминах метода существует исходное выражение местоположения Q (original query), определяемое как Q=(pos, P), где pos - местоположение пользователя и P - набор параметров, связанных с пользователем. Данное выражение конвертируется в Q' (location privacy query), Q'=(pos1, pos2, ..., posk, P), где posi - фиктивное местоположение, а P - параметр исходного выражения, применимый к каждому параметру pos. Стоит отметить, что P сохраняется для каждого параметра местоположения, тк. уже само фиктивное местоположение обеспечивает достаточный уровень конфиденциальности. Таким образом достигается обеспечение k-1 конфиденциальности местоположения.

Круговой алгоритм генерации фиктивных местоположений (CirDummy)

Круг фиктивных местоположений

Генерация фиктивных местоположений с помощью кругового алгоритма начинается с определения центра окружности r, внутри которой будут находится все полученные местоположения. Центр окружности pos' определяется случайным образом с учетом rmin ≤ dist(pos,pos') ≤ r, где dist - Евклидовом расстояние между pos и pos'.

Алгоритм CirDummy:

Входные данные: местоположение pos, коэффициент анонимности k, зона анонимности s, коэффициент p.

1. θ←2·π/k; r← 2·s/(k·sinθ)

2. определить pos’ случайно, с учетом dist(pos, pos’) ∈ [ρ·r,r]

3. создать пустой массив K[0..k − 1]; K[1] ← pos

4. для i от 1 до k−1

5. определить pos’ случайно, с учетом dist(pos′, p) ∈ [ρ·r, r]
6. и ∠p pos’ K[i−1]=θ
7. K[i] ← p

8. idx ← random(0, k − 1)

9. поменять K[0] и K[idx]

10. вернуть K и idx

Алгоритм сначала вычисляет верхнюю границу радиуса r виртуального круга и угол между любой каждой парой местоположений (1). Далее, случайным образом определяется центр виртуального круга pos' (2), так что его расстояние до pos попадает в [р · r, r]. Затем инициализируется пустой массив K с первым элементом pos (3). Далее генерируются К - 1 фиктивное местоположение: их расстояния до центра pos' ограничены [р · r, r], в то время как они распределены равномерно в терминах углов по отношению к pos' (4-6). После формирования всех фиктивных местоположений, выбирается случайный индекс idx в диапазоне [0, k - 1]. Реальное местоположение меняется местами с элементом по индексу idx (7-8). На выходе алгоритма k и idx.

Данный алгоритм позволяет расширить зону конфиденциальности местоположения пользователя 0.9 кв.км при желаемой зоне 1 кв.км и параметре sqr(p) = 0.75.

Алгоритм серверной обработки

1. инициализировать результирующий вектор R,

2. создать вектор L для хранения масок

3. для i от 1 до k:

4. отправить (Q’.posi , Q’.P ) в процессор запросов и получить Ri
5. для каждой точки pt ∈ Ri:
6. если pt есть в R на месте j, установить бит i в L[j]
7. иначе
8. положить pt в R

9. создать маску bmp с установленным битом i
10. положить bmp в L

11. отправить R и L клиенту

Вероятность обнаружения пользователя

Использование данного алгоритма позволяет сократить количество передаваемой информации о местоположении пользователя вплоть до 20% от изначального количества. В то же время обеспечивается размытие зоны пребывания пользователя, что затрудняет его обнаружение. Каждый из этих факторов позитивно влияет на уровень конфиденциальности местоположения пользователя. Однако при всех плюсах и низкой затратности, данный алгоритм имеет один серьезный недостаток - он не учитывает и не исключает местоположения, в которых пользователь физически не может находиться в силу различных причин.

Глоссарий

Библиографический указатель

Перейти к списку литературы раздела Протоколы удаленной аутентификации и механизмы «единого входа в систему»