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 →