Как Apple (приватно) найдёт в офлайне ваше потерянное устройство?

Автор оригинала: Matthew Green
  • Перевод
В понедельник на конференции WWDC компания Apple представила классную новую функцию под названием “Find My". В отличие от стандартной «Найти мой iPhone», которая полагается на инфраструктуру сотовой связи и GPS потерянного устройства, функция «Найди меня» способна найти даже устройства без сим-карты и GPS. Например, ноутбуки, или даже «тупые» метки локации, прикреплённые к любому предмету (Apple намекнула на это только в широком смысле).

Идея заключается в том, чтобы превратить всю существующую сеть айфонов в масштабную краудсорсинговую систему по отслеживанию окружающих объектов. Каждый активный iPhone будет постоянно отслеживать сообщения маячков BLE, которые поступают с других устройств. Когда он находит один из этих сигналов, то помечает пакет своими координатами GPS — и отправляет на серверы Apple. Это очень здорово для растеряш вроде меня, которые постоянно теряют вещи: если я оставлю свой рюкзак в туристическом автобусе в Китае в офисе, то рано или поздно кто-то наткнётся на его сигнал — и я мгновенно узнаю, где его найти.

(Стоит отметить, что идею придумала не Apple. На самом деле компании вроде Tile работают довольно давно. И да, им стоит беспокоиться за свой бизнес).

Если вас не впечатлило описание выше, позвольте озвучить вопрос, который вы должны задать: как эта система защитит от массовых нарушений конфиденциальности?

Перечислим потенциальные проблемы:

  • Если устройство постоянно излучает сигнал BLE, который однозначно его идентифицирует, у всех появился (ещё один) способ вас отслеживать. Маркетологи уже используют для этого MAC-адреса WiFi и Bluetooth, а функция Find My создаёт ещё один канал отслеживания.
  • Она также рассекречивает тех, кто участвует в процессе. Теперь эти люди будут отправлять в Apple своё текущее местоположение (возможно, они и так это делают). Но теперь им придётся делиться данной информацией также с незнакомцами, которые «теряют» свои устройства. Это может плохо кончиться.
  • Мошенники также могут запускать активные атаки, в которых подделывают местоположение вашего устройства. Хотя это кажется маловероятным, но люди всегда удивляют.

Хорошая новость в том, что Apple утверждает, что система действительно обеспечивает надёжную конфиденциальность благодаря грамотному применению криптографии. Но, как обычно, они отказались сообщать детали реализации. Энди Гринберг в Wired рассказал частичную техническую реализацию со слов Apple, которая позволяет многое понять. К сожалению, этот рассказ по-прежнему оставляет огромные пробелы. Именно их я собираюсь заполнить, предложив наиболее вероятное описание, что же Apple делает на самом деле.

Большая оговорка: многое может оказаться совершенно неправильным. Я обязательно обновлю статью, когда Apple поведает больше.

Некоторые основные проблемы


Чтобы изложить сценарий, нужно ввести в картину несколько устройств. Для вдохновения возьмём телесериал 1950-х годов «Лесси».

Первое устройство, которое мы назовём Тимми, «потеряно». У Тимми есть радиопередатчик BLE, но нет GPS или подключения к интернету. К счастью, он уже спаривался со вторым устройством под названием Рут, которая хочет его найти. Наш главный герой — Лесси: это айфон случайного (и не знающего об этом) незнакомца, у которого (предположим) есть по крайней мере периодическое подключение к интернету и надёжный GPS. А ещё Лесси очень хорошая девочка. Сетевые устройства взаимодействуют через серверы iCloud Apple, как показано ниже:



(Поскольку Тимми и Рут должны быть спарены заранее, вероятно, они оба принадлежат одному и тому же человеку. Я упоминал, что вам нужно будет купить два устройства Apple, чтобы система работала? Это вполне устраивает Apple).

Мы рассматриваем систему безопасности, поэтому первый вопрос: кто плохой парень? В этой ситуации ответ неприятный: потенциальным злоумышленником может быть кто угодно. Вот почему проблема настолько интересная.

Сохранение анонимности Тимми


Самый важный аспект системы — нельзя позволять посторонним лицам отслеживать Тимми, особенно когда он не потерян. Это исключает некоторые довольно очевидные решения, например, когда устройство Тимми просто кричит: «Привет, меня зовут Тимми, пожалуйста, позвоните моей маме Рут и сообщите, что я потерялся». Это также исключает практически любой неизменный статический идентификатор, даже непрозрачный и похожий на случайный.

Последнее требование составлено из печального опыта сервисов, которые злоупотребляют статическими идентификаторами (например, ваш MAC-адрес WiFi) для отслеживания перемещения устройств. Apple со смешанным успехом борется с этой слежкой путём рандомизации идентификаторов, таких как MAC-адреса. Если Apple добавит статический идентификатор отслеживания для “Find My”, все проблемы лишь усугубятся.

Это требование означает, что любые сообщения, передаваемые Тимми, должны быть непрозрачными. Более того, содержание этих сообщений должно относительно часто изменяться на новые значения, которые нельзя связать со старыми. Один из очевидных способов спаренному устройству распознать такие сообщения — заставить Тимми и Рут согласовать длинный список случайных «псевдонимов» для Тимми, и пусть Тимми каждый раз выбирает другой.

Это реально помогает. Каждый раз, когда Лесси видит какое-то (неизвестное) устройство, передающее идентификатор, она не будет знать, принадлежит ли оно Тимми: но она может отправить его на серверы Apple вместе со своим собственным местоположением GPS. В случае, если Тимми потеряется, Рут может попросить Apple найти все возможные псевдонимы Тимми. В этой ситуации никто за пределами Apple не узнает этот список, и даже сама Apple узнает его только после того, как кто-то потеряется, поэтому такой подход предотвращает большинство вариантов отслеживания.

Немного более эффективный способ реализовать эту идею — использовать криптографическую функцию (например, MAC или хеш-функцию), чтобы сгенерировать список псевдонимов из одного короткого «сида», копии которого хранят Тимми и Рут. Это хорошо, потому что уменьшает объём хранимых данных. Но чтобы найти Тимми, Рут всё равно должна отправить все псевдонимы — или сид — в компанию Apple, которой придётся искать каждый псевдоним в своей базе данных.

Скрытие местонахождения Лесси


Описанный подход с псевдонимами должен хорошо скрывать личность Тимми от Лесси и даже от Apple (вплоть до того момента, когда Рут начинает его искать). Однако есть большой недостаток: он не скрывает GPS-координаты Лесси.

Это плохо, по крайней мере, по нескольким причинам. Каждый раз, когда Лесси обнаруживает какое-либо устройство с сигналом BLE, она должна передать на серверы Apple своё текущее местоположение (вместе с псевдонимом, который она видит). Это означает, что Лесси постоянно говорит Apple, где она находится. И более того, даже если Apple обещает не хранить личность Лесси, результатом всех этих сообщений является огромная централизованная база данных, которая показывает все местоположения GPS, где обнаружено любое устройство Apple.

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

Очевидный способ предотвратить раскрытие этих данных Apple — зашифровать их, чтобы информацию видели только те, кому действительно нужно знать местоположение устройства. Если Лесси принимает сообщение от Тимми, то единственный человек, которому действительно нужно знать местоположение Лесси, это Рут. Чтобы сохранить эту информацию в тайне, Лесси должна зашифровать свои координаты открытым ключом Рут.

Конечно, возникает вопрос: как Лесси получит ключ Рут? Очевидное решение для Тимми — выкрикивать открытый ключ Рут в каждой своей трансляции. Но это создаст статический идентификатор, который опять позволит отследить Тимми.

Для решения этой проблемы нужно, чтобы у Рут было много непривязанных публичных ключей, чтобы Тимми мог выдавать разные ключи с каждой трансляцией. Один из вариантов — заставить Рут и Тимми генерировать много разных общих пар ключей (или генерировать много таких пар из общего сида). Но это раздражает, а Рут придётся хранить многих секретных ключей. И идентификаторы, упомянутые в предыдущем разделе, могут быть получены путём хеширования каждого открытого ключа.

Немного лучший подход (который Apple может использовать или нет) предполагает рандомизацию ключей. Это особенность некоторых криптосистемам, таких как Elgamal: она позволяет любой стороне рандомизировать открытый ключ, так что он никак не будет связан с оригиналом. Лучшая часть этой функции заключается в том, что Рут может использовать один секретный ключ независимо от того, какая рандомизированная версия её открытого ключа использовалась для шифрования.



Всё это приводит к окончательной идее протокола. В каждой трансляции Тимми передаёт новый псевдоним и рандомизированную копию открытого ключа Рут. Когда Лесси получает трансляцию, она шифрует свои GPS-координаты открытым ключом и отправляет зашифрованное сообщение в Apple. Рут может отправить псевдонимы Тимми на серверы Apple, и если Apple найдёт совпадение, то сможет получить и расшифровать координаты GPS.

Это решает все проблемы?


Неприятная вещь в том, что нет идеального решения для многих странных пограничных ситуаций. Например, что, если у Тимми злые намерения и он хочет заставить Лесси раскрыть своё местоположение Apple? Что, если Старик Смитерс попытается похитить Лесси?

В какой-то момент ответ на этот вопрос сводится к тому, что мы сделали всё возможное: любые остающиеся проблемы следует вынести за рамки модели угрозы. Иногда даже Лесси знает, когда остановиться.
Поддержать автора
Поделиться публикацией

Комментарии 34

    +5
    Эволюция паранойи по годам:
    1980: Правильство следит за тобой!
    2000: Правительство следит за тобой через телефон!
    2010: Компания-изготовитель телефона следит за тобой, твоими перемещениями и использованием телефона и передаёт правительству!
    2015: Приложение-фонарик следит за тобой, собирает всю информацию о геолокациях, покупках и WiFi и передаёт третим лицам!
    2020: Телефон соседа следит за тобой и окружающими. Во имя всеобщего блага, естественно.
      0

      После того, как в беседе с друзъями обсуждали работу нанятого переводчика в их деловых переговорах (а при этом слово "переводчик" и любые его производные я в принципе не произносил и не искал никогда и нигде), и тут открываю я вечером olх на своем iphone se и что я вижу? сайт мне постоянно предлагал рекламные и простые объявления исходя из того, что я искал на нем ранее, ну там компьютерную переферию и электоронику.а тут он внезапно начал предлагать мне бюро переводов.такие дела

      0
      Блин, хорошо что они телевизоры не выпускают и авто.
        –1
          +2
          А как же Apple TV? Да, это лишь приставка, но по сути всё «умное» железо в ней, от телевизора используется только экран. Так что телекраны уже тут.
          +1
          И люди еще жалуются что у гугла галочка отключающая слежение не очевидно запрятана… А не отключаемую слежку не хотите?)
            +1
            кто сказал, что при отключении слежащей галочки слежение прекращается?
              +2
              Слежку? Устройство шлет не свой айди, а периодически изменяемый публичный ключ. И эту функцию тоже можно отключить.
                –1
                Но яблоко то в итоге скорее всего будет знать кто есть кто. Я лично в этом на 100% уверен.
                  +1
                  Выйдет — умные люди перехватят пакеты и посмотрим.
                0
                А кто сказал, что она не отключаема?
                  0
                  А если отключаема — то какая же это защита от кражи?
                    0

                    Не хочешь защиты от кражи — отключи. Так же как и “Find my iPhone” раньше.

                      0
                      Я к тому что кто помешает злоумышленнику отключить если сделать механизм в принципе отключаемым?
                        +2

                        Ой, так это же сначала нужно разлочить девайс и только тогда пойти в настройки и их отключить. К тому же ничто не мешает при смене таких настроек запрашивать Эппл-айди. Ну а если у злоумышленника есть Эппл-айди, то он ресетнуть и активировать ифон может.

                0
                Всё это приводит к окончательной идее протокола. В каждой трансляции Тимми передаёт новый псевдоним и рандомизированную копию открытого ключа Рут.

                У попавшего в руки злоумышленнику телефона затирается область памяти с ключом (или сидом для его генерации), Рут начинает получать нерасшифровываемый для неё трафик, телефон утерян навсегда.

                А возможен вариант с другой стороны? По запросу в эппл от Рут рассылается: «Привет, все, пожалуйста, если встретите <псевдоним> (Тимми), сообщите в облако его координаты». Список разыскиваемых приходит из подконтрольгого эпплу облака, т.е. его не подделать. Приходит всем, либо всем в регионе потери. Вряд ли общее количество одновременно потерянных устройств в мире исчисляется миллионами, т.е. список весит относительно мало. Периодически Лесси опрашивает своих соседей по списку утерянных, не они ли это. Даже если Тимми будет палиться, отвечая «да» на вопрос «ты <псевдоним>?», его особо не отследишь.

                PPS: только что понял, что метка, походу, может только излучать. Хотя проверил в википедии, Тимми не глухой =) Люси — да.
                  0
                  я вот думаю построено так
                  инициатором может быть только Рут (само устройство не может понять потерялось оно или нет).
                  если Рут и Тимми уже парились, то могли обменяться ключами асимметричного шифрования
                  Лесси никаких действий не принимает, а используется как транзитный канал для передачи шифрованного трафика
                  Анонимизация Лесси и Рут осуществляется на еще одном транзитном узле — Apple
                  Идентификатором является MAC адрес метки BLE.
                  Активировать поиск можно только для Mac адресов устройств, зареганных в Apple ID.
                  Таким образом, никакого полномасштабного сканирование сделать нельзя, видишь только то что рядом (то что и без этой системы видел).
                  Получается Apple данные должен собирать или постоянно или по требованию (широковещательно), но с этим приходится мериться, ведь это их сервис поиска. Единственное, те кто не хочет, должен иметь возможность вывести себя из этой сети.
                    0
                    Есть настройка «Найти iPhone», после включения которой устройство начинает отслеживаться и дает возможность удаленной блокировки.
                      0
                      Спасибо. Про Найти iPhone я знаю.
                      Сервис с метками должен позволять отключать роль «транзитного узла» по требованию владельца.
                      Ведь фактически «сливаются» координаты именно нахождения Лесси.
                      Правда здесь нарушается баланс интересов хочу пользоваться но не хочу помогать…
                        +2
                        The stranger's iPhone then uploads two things to Apple's server: The encrypted location, and a hash of the laptop's public key, which will serve as an identifier. Since Apple doesn't have the private key, it can't decrypt the location.

                        Координаты то Лесси, только не понятно что это Лесси, и не понятно где она, потому что они шифрованные.
                          0
                          про сливание координат Лесси я имел ввиду третьему лицу — Рут
                          вопрос в анонимизации Лесси в отношении к Рут
                            0

                            Для Рут это координаты Тимми. О том что их передала Лесси знало облако в момент приёма, но облако зато не знало самих координат, которые зашифрованы ключом Рут. Так что координаты промежуточного узла Лесси недоступны ни Рут, ни облаку.

                        0
                        Есть настройка «Найти iPhone», после включения… дает возможность удаленной блокировки.

                        А возможно его взломать в целях ransom-ware?
                        Чтобы потом предложить «заплати 0.1 биткоин, а не то твой телефон превратится в кирпич!».
                          0
                          О настоящих взломах не было информации, пока работают только фишинговыми методами «попробуйте войти под моим Apple ID, а то я вчера хотела телефон тоже купить, но там моя учетка не работает». Человек входит и теряет контроль над телефоном.
                        +3
                        По этой ссылке более понятно все описано. Потерянное устройство шлет всем подряд rotating public key который меняется (пока не понятно как часто).
                        –2
                        Гениально! Эппл решила навсегда все вопросы с неверными жёнами( мужьями ).
                        Сначала супругу(е) перед уходом на работу в пиджак\сумочку швыряешь АйПод сына Тимми. А по возвращению, на вопрос к Сири на АйПоде:
                        — где ты был{а} с восьми до одинадцати?
                        Сири ласково сдаёт весь маршрут следования «с работы» на Гугломапе, комментируя это «выборочными цитатами из разговоров с прохожими» на этом самом пути!
                        Ну а для неразговорчивых — просим Сири прислать тот тамый маршрут на емэейл.

                        Спасибо Эппл за сохранённые семьи! 8-)

                          +1
                          Так это и сейчас с андроидом работает. Он пишет перемещения, можно программку для отслеживания детей поставить. Можно звонить на телефон и прослушивать.
                            +1
                            проще какой-нибудь gps трекер кинуть в сумку. И того, что используется для отслеживания тех же детей. А можно активировать FindMyPhone и отслеживать в онлайне.
                            0
                            В какой момент Тимми начинает что-то вещать? Постоянно?
                              –1
                              Слабовато как-то. Чего сразу не вести базу всех мак-адресов, и триангулировать их онлайн по данным других устройств? И почему только бле? Надо чтоб и по вайфаю аналогично мониторинг велся. И можно четко будет сказать без всякого жпс, кто где когда с кем был, вот это сервис!
                                0
                                Кладем незаметно СВОЮ метку в кармашек, скажем, подруги… И периодически ее «теряя» с помощью Эппл отслеживаем местоположение, скажем, подруги…
                                Приватно.
                                  +1
                                  Кнопочный нокия — фонарик спасет всех!
                                    +3
                                    А потом чьё-нибудь правительство опять скажет: «А что это у вас тут за данные? А давайте-ка нам ключи от всего этого!»
                                      –1
                                      Секретные военные базы, тоже будут на картах от Appple светится?
                                      (если кто не помнит, была новость про карту фитнес-трекеров высветивших секретные объекты)

                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                      Самое читаемое