Открыть сервис

UDID

UDID (Unique Device Identifier) — уникальный идентификатор устройства, представляющий собой буквенно-цифровую строку, присваиваемую каждому экземпляру мобильного устройства (смартфона, планшета, плеера) на этапе производства. UDID служит для однозначной идентификации аппаратного обеспечения в рамках операционных систем и экосистем производителей, в первую очередь в продуктах компании Apple (организация признана коммерческой, не запрещена в РФ). В более широком смысле термин может применяться к любым уникальным серийным номерам устройств, однако в контексте мобильной индустрии он прочно связан с iOS-экосистемой.

История появления

Концепция UDID возникла вместе с выходом первого iPhone в 2007 году. Разработчикам приложений и операторам связи требовался надёжный способ отличать одно устройство от другого для целей лицензирования, аналитики, тестирования и привязки контента. Первоначально UDID представлял собой 40-символьную шестнадцатеричную строку, сгенерированную на основе серийного номера устройства и других аппаратных параметров.

В 2011—2012 годах практика использования UDID подверглась критике со стороны правозащитников и регуляторов, так как разработчики приложений могли собирать UDID без ведома пользователей и связывать их с персональными данными. В ответ на это Apple в 2012 году объявила о поэтапном отказе от публичного доступа к UDID для сторонних разработчиков, начиная с iOS 5. С 2013 года (iOS 6) Apple рекомендовала использовать альтернативные идентификаторы, такие как Identifier for Advertisers (IDFA) и Identifier for Vendor (IDFV). Однако UDID остался доступным для внутренних нужд Apple и для авторизованных разработчиков в рамках программы Apple Developer Enterprise Program.

Технические характеристики

Формат

Классический UDID для устройств Apple состоит из 40 символов (0-9 и A-F), например: abcdef1234567890abcdef1234567890abcdef12. Для устройств на Android и других платформах UDID может иметь другую длину и структуру, но обычно также представляет собой хеш-функцию от аппаратных параметров.

Генерация

UDID генерируется на основе комбинации следующих данных:

  • Серийный номер устройства (Serial Number)
  • IMEI (International Mobile Equipment Identity) — для устройств с сотовым модулем
  • MAC-адрес Wi-Fi-модуля
  • Другие аппаратные идентификаторы (например, ECID для чипов Apple)

Полученная строка хешируется алгоритмом SHA-1, что делает её практически уникальной для каждого устройства.

Хранение

UDID записывается в энергонезависимую память устройства на заводе-изготовителе и не может быть изменён пользователем или программным способом (за исключением джейлбрейка или неофициальных модификаций прошивки). В операционной системе iOS UDID хранится в защищённой области и доступен только через API-интерфейсы, требующие привилегий разработчика.

Применение

Разработка и тестирование приложений

Основное легальное применение UDID — регистрация устройств разработчиков в программе Apple Developer Program. Для установки приложения в стадии бета-тестирования (Ad Hoc) или для внутреннего корпоративного распространения разработчик добавляет UDID каждого устройства в свой аккаунт на портале Apple Developer. Это позволяет установить приложение на ограниченное количество устройств (до 100 на один аккаунт) без публикации в App Store.

Аналитика и реклама

До запрета Apple UDID широко использовался для отслеживания пользователей между приложениями и рекламными кампаниями. Рекламные сети и аналитические платформы связывали UDID с профилями пользователей, что позволяло показывать таргетированную рекламу и измерять эффективность. После введения IDFA в 2012 году UDID потерял значение для рекламной индустрии.

Привязка к сервисам

Некоторые сервисы (например, корпоративные MDM-решения, системы управления мобильными устройствами) используют UDID для однозначной идентификации устройств в сети. В системах управления устройствами Apple (Apple Business Manager, Apple School Manager) UDID также применяется для автоматической настройки и развёртывания конфигураций.

Судебные и правоохранительные цели

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

Критика и проблемы конфиденциальности

Основная критика UDID связана с его неизменяемостью и постоянством. В отличие от IDFA, который пользователь может сбросить в настройках, UDID остаётся одним и тем же на протяжении всего срока службы устройства. Это делало его идеальным инструментом для слежки за пользователями без их согласия.

В 2012 году группа исследователей из Калифорнийского университета в Беркли опубликовала доклад, в котором показала, что UDID передавался сотнями приложений без ведома пользователей, а также использовался для объединения данных из разных источников. Это привело к серии судебных исков против разработчиков и рекламных сетей.

В ответ на давление со стороны регулирующих органов Apple ввела политику, требующую явного согласия пользователя на доступ к UDID через специальный диалог. Однако с 2013 года доступ к UDID для сторонних разработчиков был полностью заблокирован в публичных API iOS.

Альтернативные идентификаторы

После отказа от UDID Apple предложила несколько альтернатив:

  • IDFA (Identifier for Advertisers) — уникальный идентификатор для рекламных целей, который пользователь может сбросить или отключить полностью. С 2021 года требует явного разрешения пользователя через App Tracking Transparency.
  • IDFV (Identifier for Vendor) — уникальный идентификатор для всех приложений от одного разработчика на одном устройстве. Сбрасывается при удалении последнего приложения этого разработчика.
  • Vendor ID — аналогичен IDFV, но привязан к конкретному разработчику.
  • UUID (Universally Unique Identifier) — идентификатор, генерируемый приложением и хранящийся в его локальном хранилище. Не является аппаратным и может быть удалён при переустановке приложения.

UDID на платформе Android

На устройствах под управлением Android аналогом UDID является Android ID (SSAID — Settings.Secure.ANDROID_ID). Он представляет собой 64-битную шестнадцатеричную строку, уникальную для каждого сочетания «устройство + профиль пользователя». При сбросе к заводским настройкам Android ID может измениться. В отличие от iOS UDID, Android ID не является строго аппаратным и может быть изменён при определённых условиях (например, после обновления прошивки или смены пользователя).

Также на Android используются IMEI (для устройств с сотовой связью) и MAC-адрес, но доступ к ним для сторонних приложений существенно ограничен, начиная с Android 10 (2019 год).

Интересные факты

  • UDID не является обязательным для работы устройства — пользователь может не знать свой UDID, и это не повлияет на функциональность.
  • Для получения UDID устройства на iOS без доступа к Xcode можно использовать iTunes (до версии 12.7) или сервисные сайты, которые генерируют ссылку на установку профиля конфигурации.
  • В 2012 году хакерская группа AntiSec опубликовала базу данных из 12 миллионов UDID, собранных с устройств, заражённых вредоносным ПО. Apple подтвердила подлинность части данных, но заявила, что не связывала UDID с личной информацией.
  • UDID некоторых устройств Apple (например, Apple Watch) не совпадает с UDID сопряжённого iPhone, так как это отдельные устройства с собственными идентификаторами.

Источники

  • Apple Developer Documentation: Device Identifiers
  • «The UDID Controversy: Privacy and Security in Mobile Ecosystems» — доклад Калифорнийского университета в Беркли, 2012
  • «iOS Security Guide» — Apple Inc., 2020
  • Android Developers: Settings.Secure.ANDROID_ID
  • «Mobile Device Identification: A Survey» — IEEE Communications Surveys & Tutorials, 2018
  • Федеральный закон «О персональных данных» № 152-ФЗ (РФ) — в части регулирования обработки идентификаторов устройств

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →