`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Что для вас является метрикой простоя серверной инфраструктуры?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Александр Пацай

Find My

+13
голоса

Один из самых интересных для меня анонсов на WWDC 2019 — это функция мониторинга устройств Apple пользователями, которую Apple назвала Find My. Общая идея возможности пользователю видеть свои устройства сама по себе не нова и присутствовала у Apple под названием Find My iPhone много лет (и со временем стала позволять обнаруживать не только iPhone, но и другие устройства Apple, в том числе Маки). Историй о том, как пользователи находили свои потерянные и украденные устройства, включая истории про погони по городам за ворами, достаточно много. В этом году Apple, объединив два приложения Find My iPhone и Find My Friends, представила новый сервис Find My, который должен стать единым местом для просмотра информации о местоположении людей и техники. С людьми и социальным аспектом в целом понятно, а вот мониторинг устройств приобрёл очень интересную функцию. Речь идёт о возможности пользователю видеть местоположение устройства, которое не подключено к интернету.

Find My

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

1. В анонсе во время кейноута и в других материалах в основном в качестве потерянных устройств фигурирует Мак. Что логично, так как компьютер — первый кандидаты для статуса “устройство включено, но не подключено к интернету”. Надеюсь, что iPhone и iPad тоже смогут участвовать в этой схеме, если злодей, например, вынул SIM-карту из устройства. AirPods?
2. Устройство будет транслировать информацию о себе через Bluetooth, даже если оно находится в оффлайне. Определение оффлайна пока непонятно, но, скорей всего, речь идет о том, что устройство не имеет подключения к интернету, а не о том, что оно совсем выключено.
3. Другие устройства Apple, находящиеся поблизости, смогут принять эту трансляцию, и передать полученные данные на сервер Apple, откуда владелец потерянного или украденного устройства сможет их получить. При этом “передатчиками” выступают совершенно чужие устройства, никакого отношения к владельцу потерянного устройства не имеющие.

Воу-воу-воу, скажете вы. А как же конфиденциальность данных и защита информации о местоположении?

4. Вся схема передачи информации зашифрована таким образом, что ни “ретрансляторы”, ни Apple не могут получить информацию о местоположении устройства. Причем шифрование сквозное (end-to-end), и расшифровать информацию сможет только владелец потерянного устройства.

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

Отправка сигнала
Когда устройство 1 покинуло своего владельца (по доброй воле или же с помощью третьей стороны), оно начинает транслировать этот меняющийся ключ. Как я писал выше, речь, видимо, идет о включенном устройстве. Любой проходящий мимо iPhone/iPad/Mac с iOS 13/macOS 10.15 и выше, получит этот сигнал и “присоединит” к нему информацию о своем местоположении. Похоже, что никакого взаимодействия с пользователем “мимо проходящего устройства” не требуется, все произойдет автоматически в фоновом режиме. Это устройство зашифрует данные с помощью полученного в сигнале публичного ключа, и отправит эту информацию на сервер Apple. Сам публичный ключ, как я писал выше, с неизвестной периодичностью меняется, и при этом не содержит никакой персональной информации об устройстве и владельце, поэтому ничего конфиденциального устройству-ретранслятору не сообщит. При этом информация оказывается зашифрованной и для Apple, поскольку у компании нет возможности расшифровать полученные данные, зашифрованным публичным ключом, от которого у нее нет пары приватного ключа.

Непонятные мне моменты в этой части процесса:
1. Как именно потерянное устройство решает, что можно начинать трансляцию приватного ключа?
2. Я не эксперт по криптографии, и было здорово, чтобы кто-то объяснил простым языком, как именно работает ротация ключа, при которой ключ может меняться, не соотносясь с предыдущей версией. При этом этот ключ все еще сохраняет возможность шифровать данные так, чтобы второе устройство все еще могло их расшифровать после получения.
3. По сути, информацию о местоположении “потерянного” устройства на самом деле мы получаем от “ретранслятора”, который, получив сигнал от потерянного устройства, отдает свои координаты. Нужна гарантия, что никакой информации, идентифицирующей “ретранслятор”, в переданном пакете не будет.
4. Действительно ли такая ретрансляция происходит автоматически, без действий владельца устройства?
5. Также не очень понятно, могут ли пользователи отказаться от участия в такой “ретрансляционной” сети? Я не вижу повода это делать, но наверняка такая опция должна быть. Не удивлюсь, если, например, именно активация у пользователя сервиса Find My будет означать согласие на то, чтобы стать “ретранслятором” сигнала.
6. Будет ли передаваться информация о времени, когда был обнаружен маячок? Какие еще метаданные могут там передаваться?
7. Как часто происходит передача таких данных, если, допустим, ретранслятор находится продолжительное время возле утерянного устройства? Какой объем трафика это будет генерить? Можно ли временно приостановить передачу данных?
8. Если, например, у “ретранслятора” не было в этот момент подключения к интернету, сохраняются ли эти данные на устройстве для передачи позже? Как долго?

Получение сигнала
На сервер Apple приходят зашифрованные данные о местоположении устройства, полученные с устройства-ретранслятора. Теперь их нужно получить владельцу, у которого, напоминаю, должно быть второе устройство с той же парой публичного (ротирующегося) и приватного ключей. При нажатии кнопки “ААААААА НАЙТИ МОЙ ЛЮБИМЫЙ АЙФОНЧЕГ” второе устройство должно залить на сервер Apple хеш своего публичного ключа, Apple как-то у себя на сервере найдет хеш ключа, полученный с потерянного устройства, переданный “ретранслятором” и сообщит эту зашифрованную информацию второму устройству. Второе устройство, получив эту информацию, использует приватный ключ, сгенерированный в самом начале, для расшифровки полученной информации о местоположении устройства. Таким образом в цепочке “устройство 1 – ретранслятор – сервер Apple – устройство 2” промежуточные точки не знают содержимого в зашифрованном пакете и не имеют информации о местоположении устройства. А вот владелец устройства 1 получит информацию о том, в каком месте находилось устройство 1 в определенный момент времени.

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

Я очень надеюсь прочитать больше деталей об этой функции в документе iOS 13 Security, который Apple регулярно обновляет после выхода больших обновлений операционной системы (вот версия для текущей iOS 12.3). Я не эксперт, и, возможно, мои вопросы дилетантские, но на мой взгляд сама система выглядит и простой, и сложной одновременно. Как мне кажется, именно Apple с её контролем над экосистемой активных устройств легче всего реализовать нечто подобное. (Я не к тому, что технически сделать это на устройствах Android невозможно. Но в рамках одного производителя хорошее покрытие “ретрансляторами” организовать будет очень сложно всем, кроме 2-3 крупных компаний. А распространить это на все устройства Android централизовано через Google — это нужно договариваться со всеми производителями, что тоже задача не из простых). Очевидно то, что эту схему после её выхода будут исследовать и эксперты по криптографии, и просто любители сломать чужую систему. Гарантирует ли она 100% нахождение потерянного или украденного Мака или iPad? Нет, но шансы повышает. А вот у воров через какое-то время наверняка станут популярными сумки, изолирующие любые радиосигналы.

Find My


Вы можете подписаться на наш Telegram-канал для получения наиболее интересной информации

+13
голоса

Напечатать Отправить другу

Читайте также

А что тут непонятного? Любое радиопередающее устройство, на уровне базовых функций, имеет свой уникальный радимаркер. Что-то, типа MAC - для сетевых сарт или IMEI - для сотовых (если упрощённо). "Припаять" крохотную микросхемку ПЗУ с набором матриц кодов, по принципу RSA токенов, в расчёте на смену последовательности - раз в минут - на 10 лет, ничего тут загадочного или технически сложного - нет. ИМХО. На практике, меня очень интересует: можно ли , с помощью этой технологии, найти один из потерянных наушников (один из пары). Если, например,во время пробежки - выпал один наушник.

Поэтому Эпол наверняка последние лет 7 паяла во все свои гаджеты микросхему, чтобы потом выкатить эту фичу.

Это, вообще-то, должно работать на уровне "hand-shake" радиоинтерфейсов. ИМХО - "яблочники", намного дольше думали над маркетиноговой подачей этой "фишки".

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT