Подробности
Большинство мобильных устройств имеют уникальный идентификатор, также называемый универсальным уникальным идентификатором (UUID), назначаемый во время изготовления для целей идентификации.Например, устройствам iOS назначается так называемый уникальный идентификатор устройства (UDID).Способность однозначно идентифицировать устройство часто важна для получения, управления и защиты данных.Разработчики быстро приняли UUID и UDID для идентификации устройства, что привело к тому, что оно стало основой безопасности для многих систем.
К сожалению, этот подход сопряжен с некоторыми проблемами конфиденциальности и безопасности.Во-первых, многие онлайн-системы подключили UUID устройства к отдельному пользователю, чтобы обеспечить возможность отслеживания между приложениями, даже если пользователь не вошел в приложение.Эта расширенная возможность отслеживать пользователя стала серьезной проблемой конфиденциальности.
Помимо этого, приложения, которые идентифицируют человека с помощью UUID, рискуют раскрыть данные предыдущего владельца устройства новому владельцу.В одном случае после перенастройки iPhone мы получили доступ к учетной записи предыдущего пользователя для музыкального онлайн-сервиса, даже если все пользовательские данные были стерты.Это не только проблема конфиденциальности, но и угроза безопасности, поскольку злоумышленник может подделать UUID.
Apple признала как риски конфиденциальности, так и UDID iOS, и удалила доступ разработчика к нему.Поскольку UDID недоступен, некоторые разработчики применяют другие методы идентификации устройств, включающие MAC-адрес интерфейса беспроводной сети или OpenUDID.Эти методы теперь запрещены на уровне системы / API, а также помечены и отклонены как часть процесса проверки AppStore.
REMEDIATION
Мы рекомендуем разработчикам избегатьиспользование любого предоставленного устройством идентификатора для идентификации устройства, особенно если оно является неотъемлемой частью реализации аутентификации устройства.Вместо этого мы рекомендуем создавать уникальный для устройства «фактор устройства» во время регистрации, установки или первого запуска.Этот уникальный для устройства фактор устройства в сочетании с аутентификацией пользователя может затем потребоваться для создания сеанса.Фактор устройства может также использоваться в качестве дополнительного фактора в процедуре шифрования.
Поскольку он не зависит от предсказуемых данных, предоставляемых устройством, эксплуатация становится более сложной.Используя подход «вызов-ответ», сервер и устройство могут аутентифицировать друг друга до аутентификации пользователя.Чтобы получить доступ к системе, злоумышленник должен использовать оба фактора.Разработчики могут также реализовать функцию, в которой коэффициент устройства сбрасывается на стороне клиента или сервера, что требует более строгой повторной аутентификации пользователя и устройства.
Чтобы защитить конфиденциальность пользователей при сохранении рекламных возможностей, Apple рекомендует использоватьAdvertisingIdentifier - уникальный идентификатор, общий для всех приложений в системе.Пользователь может в любое время сбросить идентификатор рекламы на своем устройстве в меню «Настройки» -> «Конфиденциальность» -> «Реклама».