Uid устройства что это
Что такое ID, UID? Подробно об идентификаторах
В этом уроке мы разберемся, что такое идентификаторы: (ID, UID, УИД). Эти аббревиатуры часто встречаются в теме информационной безопасности, которую мы начинаем осваивать в новой серии IT-уроков.
Что такое ID?
ID (читается «ай-ди») — это часть английского слова “identifier”, которое переводится как “идентификатор”.
ID или Идентификатор — это информация, которая может идентифицировать субъект (простыми словами — это номер или имя: число или строка символов).
Каждый раз, когда вы где-то регистрируетесь, вы получаете идентификатор, то есть, какое-то имя или номер. И внутри каждой отдельной системы ваш идентификатор уникальный.
Примеры идентификаторов (id):
Пример ID страницы в социальной сети ВКонтакте
Знакомясь с человеком мы в первую очередь спрашиваем его имя, а для связи просим сообщить номер телефона или e-mail, то есть, узнаем его идентификаторы (сюда же можно отнести номер машины, номер паспорта, номер банковской карты, штрих-код и т.д.)
Что такое UID?
Часто встречается надпись “UID”, в которой перед “ID” добавлена буква “U”, которая может быть расшифрована как “unique” — “уникальный”, или как “user” — “пользователь”.
Следовательно, есть два варианта расшифровки аббревиатуры UID:
UID (Unique identifier) или УИД — уникальный идентификатор.
UID (User identifier) — идентификатор пользователя в операционной системе или на сайте.
Всё просто: некоторые идентификаторы являются уникальными, то есть могут принадлежать только одному субъекту (имя может совпадать, а номер паспорта всегда отличается).
Примеры использования UID:
ID с точки зрения информационной безопасности
Обычно идентификатор (id) не является секретным, поэтому только по нему нельзя предоставлять доступ к ресурсу (например, знание адреса электронной почты не даёт права доступа к письмам в почтовом ящике).
Определение идентификатора (идентификация) является первым шагом для доступа к информационным ресурсам (почта, аккаунт в социальной сети и т.д.), далее выполняется аутентификация и авторизация, но об этом мы поговорим в следующем IT-уроке.
Копирование запрещено, но можно делиться ссылками:
Всё об UID, SID, VID.
Общая информация
Данная статья думаю будет интересна всем от рядовых пользователей до программистов и разработчиков приложений.
*1 Уникальные идентификаторы
*3 Из каких областей я должен брать UID для программ, предназначенных для Symbian 9.x или более старших версий?
*4 Какие значения UID в Symbian OS V9 я должен использовать для примеров из SDK и тестовых приложений?
*5 У меня есть номера UID, полученные с [email=uid@symbiandevnet.com.]uid@symbiandevnet.com.[/email] Могу я использовать их?
*6 Как получить новый UID?
*7 Почему вы отказались от старой системы?
*11 Сколько номеров UID может получить разработчик?
*12 Проверяет ли Symbian Signed UID разработчика для версий Symbian OS старше v9.x?
*13 Могут ли быть какие-нибудь исключения, позволяющие подписать приложение используя чужой UID или UID из незащищенной области значений?
*14 Как Symbian проверяет принадлежность UID разработчику?
*15 Как мне узнать, какие UID мне назначены?
*16 Что такое Data caging (Экранирование данных)?
*17 К кому мне обратиться. если у меня остались вопросы?
*18 Внутренние сслылки
*1 Уникальные идентификаторы
Значения UID меньшие или равные 0x7FFFFFFF являются защищенными и предназначены только для использования в подписанных (или предустановленных в ROM) приложениях. Инсталлятор не позволит установить неподписанное приложение, если оно включено в пакет имеющий UID из защищенной области значений. Для присвоения программам новых идентификаторов берутся значения начиная с 0x20000000 для защищенной области, и с 0xA0000000 для незащищенной.
UIDК ласс Диапазон значений Назначение
Незащищенная область значений
*Примечание: Устройства на платформе S60 третьего издания позволяют устанавливать только подписанные приложения.
3*Из каких областей я должен брать UID для программ, предназначенных для Symbian 9.x или более старших версий?
Приложения для Symbian OS v9 и более поздних версий должны использовать назначенные им защищенные UID. В противном случае, они не пройдут процедуру тестирования при подписывании.
4*Какие значения UID в Symbian OS V9 я должен использовать для примеров из SDK и тестовых приложений?
Примеры из SDK в Symbian OS v9 проектируются таким образом, чтобы их можно было использовать без сертификата разработчика. Это позволяет назначать им UID из незащищенной области. У вас есть две возможности:
*Для всевозможных примеров и тестовых приложений:
Заметьте, что какую бы область значений вы не использовали, вы должны побеспокоиться о том, чтобы ISV приложения не копировали UID’ы у проектов примеров, а использовали собственные уникальные UID’ы. Не допускайте использования одного и того же UID в двух программах.
*5 У меня есть номера UID, полученные с [email=uid@symbiandevnet.com.]uid@symbiandevnet.com.[/email] Могу я использовать их?
Для того чтобы подписать вашу программу для Symbian OS v9, необходимо получить UID из другой системы назначений UID. Даже если вы в прошлом получили UID от Symbian, вам все равно придется запросить новые UID на сайте www.symbiansigned.com как только вы захотите подписать вашу программу. Вы можете продолжать использовать уже назначенный UID в неподписанных приложениях Symbian OS v9. Для этого, просто замените первую шестнадцатиричную цифру 1 на F, все остальныые цифры оставьте прежними. Это перенесет ваш UIDв область Совместимости наследованных UID. Там он гарантированно не будет конфликтовать с UID’ами других программ. К примеру, если у вашего приложения был UID 0x100F55BE вы можете перевести его в 0xF00F55BE или использовать в неподписанных программах на Symbian OS v9.
*6 Как получить новый UID?
Вам нужно зарегистрироваться на сайте www.symbiansigned.com Вы можете сделать это нажав кнопку register в левой части навигационной панели. Если вы зарегистрировались и выполнили вход, щелкните по ссылке Request UIDs в левой части навигационной панели. Если вы разрабатываете приложение, предназначенное для более старших версий Symbian OS чем Symbian OS v9, вы можете выбрать UID как из защищенной, так и из незащищенной областей значений. Если ваша программа должна быть подписана для Symbian OS v9, вам нужно получить UID из защищенной области значений перед отправкой вашего приложения Symbian Signed. Если вы не намерены подписывать вашу программу, используйте UID из незащищенной области значений. Неподписанные программы с UID из защищенной области не будут устанавливаться на телефон в V9.
*7 Почему отказались от старой системы?
В старой базе UID данных было не достаточно для определения владельца UID, а этого требует процедура Symbian Signed для приложений на платформе Symbian OS v9. В результате этого, старые данные не были перенесены в новую систему. Symbian Signed требует, чтобы все подписываемые приложения для Symbian OS v9 использовали UID из защищенной области значений, и получали их с помощью новой системы. В дополнение ко всему, новая система полностью автоматизирована и не имеет задержек, связанных с ручной обработкой.
*Что такое SID?
SID (Secure ID или ID безопасности)- это UID специального назначения. В Symbian OS v9 каждый исполняемый файл имеет свой SID. SID задается после ключевого слова SECUREID в MMP файле приложения, и по умолчанию имеет то же значение, что и UID3. SID в DLL файле игнорируется, т.к. SID процесса всегда равен SID’у породившего его EXE файла.
На основании SID, сервер подтверждает или отклоняет вызовы к определенным API. SID также определяет имя папки защищенного хранилища приложения.
Что бы избежать противоречий, рекомендуется не указывать SECUREID в MMP файле приложения, и позволить ОС использовать UID3 в качестве SID.
8*Что такое UID3?
Изначально все пользователи имеют ограничение на получение до 20 UID в день. Если вы превысили это число, вы увидите следующее сообщение об ошибке: Daily UID Allocation Limit Exceeded! Администраторы Symbian могут изменить профиль пользователя и позволить ему получать больше UID в день. Для этого, свяжитесь с ними по адресу [email=symbiansigned@symbian.com.]symbiansigned@symbian.com.[/email]
12*Проверяет ли Symbian Signed UID разработчика для версий Symbian OS старше v9.x?
Для разработчиков программ под версии Symbian OS старше v9.x никаких изменений в процессе подписывания не произошло. Разработчикам нет необходимости запрашивать UID в новой системе Symbian Signed для того чтобы подписать свои приложения.
13* Могут ли быть какие-нибудь исключения, позволяющие подписать приложение используя чужой UID или UID из незащищенной области значений?
Когда разработчик отсылает свое Symbian OS v9 приложение Symbian для подписывания, Symbian сканирует SIS файл (примечание, Symbian Signed определяет владельца UID только для Symbian OS v9). Система запоминает имя-идентификатор (The Distinguished Name), ID издателя и UID’ы найденные в приложении. Пользователь может просмотреть результаты сканирования SIS файла перейдя по соответствующей ссылке на странице информации о приложении. Система просматривает все найденные в результате сканирования UID’ы и сопоставляет каждому из них его владельца, выбираемого из базы назначенных UID. Напротив каждого UID будет отображаться сопоставленное ему имя владельца. После этого тестировщик (test hause) вашего приложения сможет сравнить владельца UID и имя-идентификатор, получаемое из ID издателя.
Замечание: Отображаются только ненулевые VID. Если система не может найти в своей базе UID, обнаруженный в файле, то пользователю будет сообщено об ошибке. Такое приложение не сможетуспешно пройти тесты.
Пользователь или тестировщик могут просмотреть детальную информацию о приложении. В следующем примере тестировщик должен отвергнуть попытку подписать программу, так как пользователь не является владельцем одного из значений UID.
15*Как мне узнать, какие UID мне назначены?[b]
После входа с использованием собственной учетной записи на www.symbiansigned.com , вы сможете воспользоваться ссылкой View UIDsв левой части навигационной панели. Перейдя по этой ссылке, вы попадете на страницу, отображающую все назначенные вам идентификаторы. Записи группируются по областям значений (защищенная\незащищенная) и выводятся вместе с именем-идентификатором и названием организации, которой они принадлежат. Если записей слишком много, то их список разбивается на страницы. Кроме того, можно воспользоваться поиском.
16*[b]Что такое Data caging (Экранирование данных)?
В любой операционной системе существует опасность повреждения (случайного или умышленного) приватных данных одной программы другой программой. Чтобы воспрепятствовать этому в Symbian V9 была реализована концепция экранирования данных. Экранирование данных используется для ограничения доступа к определенным областям файловой системы, в зависимости от наличия или отсутствия у приложения некоторых возможностей (capability). Каждое приложение также получает исключительные права доступа к собственной директории, защищенной системой. Для обеспечения уникальности имени такой директории используется значение идентификатора безопасности (SID). Например, приложение, имеющее SID равный 0x12345678, получит защищенную директорию со следующим именем: \private\12345678\
Во время процесса сертификации приложения проверяется, имеете ли вы право назначить ему тот или иной SID. Для этого вы должны быть владельцем SID, используемого приложением. Так как системный инсталлятор позволяет устанавливать только подписанные программы с SID взятым из защищенной области значений, то несанкционированного доступа одной программы к хранилищу данных другой исключен. Неподписанное приложение может попытаться использовать SID, принадлежащей другой программе, но в этом случае системный инсталлятор откажется установить такое приложение.
Что такое User ID? Зачем он нужен, как использовать в анализе данных
Разберемся с определениями:
В подавляющем большинстве случаев бизнес интересуют именно пользователи (Users), а не сессии от анонимных устройств, статистику по которым вы получаете, установив Google Analytic “из коробки”. При создании экосистемы GA предполагалось, что User ID нужно начинать использовать при первой же возможности. Так почему же качественно проработанная система присвоения User ID на сайтах встречается еще реже чем электронная торговля?
Ниже приведен характерный пример того, как путь одного и того же пользователя по-разному распознается в “обычном” и “User ID” представлении.
Обычное видит только конкретный Client ID и на длинном пробеге теряет первоначальный источник. Представление User ID отслеживает пользователя на год дальше, на всех трех его устройствах и умеет атрибутировать источник привлечения на сессию из другого устройства.
Незнание аналитиками этого факта часто приводит к излишне усложненным схемам передачи транзакций из CRM при помощи Measurement Protocol.
В следующей статье я опишу известные мне кейсы, в которых User ID позволяет существенно увеличить точность оценки эффективности рекламы.
Итак, бесплатная версия GA (как и GA360) не предлагает “из коробки” адекватных решений по оценке длинного жизненного цикла пользователей, состоящего из длинной цепочки устройств и сессий, среди которых неоднократно встречаются управляемые рекламные каналы.
Можно ли сделать унифицированный UID во всех играх
Меня зовут Дарья Сталь, и я отвечаю за работу с пользователями новой соцсети для игроков Gameram. Сегодня торжественно открываю цикл статей, которые мы готовим с нашей командой, потому что нам интересно делиться находками и болями про разработку соцсети и, конечно, получать фидбек.
User ID (а иногда Player ID или Gamer ID) — штука, без которой не обходится почти ни одна игра с социальным взаимодействием между пользователями. Мы в Gameram решили посмотреть с точки зрения комьюнити-менеджмента (и самую чуточку со стороны разработки), как эта фича реализована в разных проектах, и можно ли сделать её удобнее для всех сторон.
Содержание статьи:
Почему мы заинтересовались вопросом UID
Зачем в играх нужен UID
Почему UID так неудобен для пользователя
Можно ли сделать использование UID удобнее
Как мы работаем с фичой Gamer ID
Опрос: какие темы про разработку социальной сети вам интересны?
Почему мы заинтересовались вопросом UID
Мы — команда Gameram — делаем социальную сеть для игроков. Сама команда почти вся из геймдева, но разработка соцсети ставит много необычных задач и вызовов (сейчас думаем, о чем рассказывать на Хабре, см. опрос в конце статьи и помогите нам выбрать тему!).
Пользователи нашего приложения часто восклицают: «Да это же инстаграм для геймеров!» — именно так. Но это только пока мы так похожи 😉 Мы много думаем над УТП, а пока мы сделали первую уникальную фичу с кодовым названием «Gamer ID». И натолкнули на эту идею нас сами игроки.
Пост от 30 мая, где грустный игрок ищет товарищей для игры в Brawl Stars
Наша сеть создана для того, чтобы игроки могли поделиться эмоциями от любой игры и, конечно, найти товарищей для обмена впечатлениями и совместного прохождения. Но мы все-таки удивились, когда вдруг юзеры начали выкладывать много скриншотов со своими ID из игры. И мы задумались, что возможность быстро и удобно поделиться своим идентификатором внутри ЛЮБОЙ игры — это важно. Что если приложить усилия и сделать этот обмен максимально удобным? Из изучения темы и размышлений родилась эта статья.
Зачем в играх нужен UID
Для большинства онлайн-игр социализация — это один из способов удержать игроков. Чем больше у человека друзей внутри игры, чем чаще они вместе проводят время, тем дольше он останется с проектом и тем больше денег принесет (если речь про free-to-play). И даже если он не платящий игрок, он даст нам стабильные показатели во всяких DAU/WAU/MAU, что тоже хорошо. Поэтому развивать в игре комьюнити — это гуд. И обеспечить легкий поиск своих друзей — или новых — в игре кажется логичной задачей. Но, увы, посильной далеко не для всех.
Зачем User ID может понадобиться игроку:
найти своих знакомых в конкретном приложении;
познакомиться с новыми людьми (например, увидел ссылку или сам ID в соцсетях, ввел у себя код и подружился);
дружба в игре или приложении для обмена бонусами и подарками;
поиск тиммейтов или иной взаимопомощи в прохождении игры;
участие в конкурсах (где для идентификации часто просят как раз указать такой ID);
обращение в службу поддержки при возникновении каких-то вопросов или проблем по аккаунту.
Какие задачи решает User ID для компании:
логгирование и аналитика поведения пользователей в приложении;
решение проблем с аккаунтом пользователя через службу поддержки (потеря/кража аккаунта, непрошедшие платежи, фрод и прочее);
идентификатор пользователя может понадобиться и для решения каких-то задач разработки.
Уже понятно, что User ID решает кучу задач, используется практически во всех приложениях с регистрацией, и явно стоит присмотреться к его реализации поближе.
Разновидности UID
Мы начали с ресерча среди топовых мобильных российских и зарубежных игр на тему, как выглядят их Player ID. Конечно, посмотрели не всех, у кого-то UID и вовсе нет, но покажем несколько для наглядности:
Из таблицы видно, что большинство уникальных игровых идентификаторов пользователей представляют из себя нечитаемый и незапоминаемый набор цифр или цифр и знаков.
Цифровые обычно содержат от 5 до 20 знаков, ниже пример «маленького айдишника». Такой хотя бы реально запомнить с одного раза!
Пример User ID из игры Hustle Custle
А вот с запоминанием и переписыванием следующего уже возникнут небольшие проблемы 🙂
Поди найди эти «айди» в Call of Duty Mobile!
Причем, в серии Call of Duty есть даже два идентификатора: UID и Player ID. Второй равен Activition ID, который, в свою очередь, нужен для регистрации на сайте разработчика и для обращения в службу поддержки. Удобство использования? Не, не слышали…
Игровые ID из букв и цифр могут быть такие:
Пример ID из игры Dragonscapes
И могут быть сильно длиннее, да еще и с дефисами. Такой вид, кстати, часто имеют промокоды для всяких игровых бонусов. Ниже мы разберемся, почему у них похожий вид.
Плюс в некоторых играх делают дополнительные коды для приглашения друзей:
Пример кода для приглашения друзей из игры Royal Farm
Пример кода для приглашения в гильдию из игры Royal Farm
В общем, когда видишь эти наборы цифр по 20 штук или незапоминающихся букв и цифр, сначала хочется сказать: блин, ребят, а можно просто использовать никнейм? Или всегда делать кастомный «айдишник»? Да хотя бы просто сделать его коротким, легким и запоминающимся… Кстати, в некоторых играх есть уникальный никнейм, такой вот уникальный «аудишник», а еще может быть какой-нибудь уникальный код для приглашения друзей, код гильдии и прочие штуки, что еще больше запутывает неопытных игроков.
Но на практике сделать «удобный айди» оказывается не так просто. Попробуем разобраться.
Почему UID так неудобен для пользователя
Этому есть причина. Когда пользователь регистрируется в игре, нам важно отличать его от других игроков, не разглашая его персональные данные. Иными словами, даже если он регистрируется с использованием электронной почты и мобильного телефона (уникальных для человека зачастую), мы не можем показывать их в игре другим людям. Даже своим сотрудникам мы будем показывать их с осторожностью и не всем.
Поэтому при регистрации аккаунта разработчики параллельно выдают игроку некий уникальный идентификатор, по которому мы можем понять — это именно вот этот Вася, а не какой-то другой.
Есть 4 варианта, как закодировать User ID.
Целочисленный и монотонно возрастающий тип идентификатора — это, как можно понять по названию, целое число, которое присваивается по порядку каждому следующему юзеру. Имеет вид, к примеру, от 00001 до 99999 (количество цифр может быть любое).Такой код проще всего обрабатывать в базе данных, именно поэтому подобные «айдишники» имеют разные сущности внутри проекта — от стикерпаков во внутреннем магазине до монстров в игре. Различные автоматизированные тесты и другие системы легко распознают его, потому что цифра «весит» меньше, чем буква или иной символ, соответственно, с таким ID проще всего работать команде разработки. Особенно при больших выборках на масштабных проектах, когда число пользователей и других штук у вас измеряется сотнями тысяч, а то и миллионами.
UUID (universally unique identifier) — сертифицированный формат идентификатора в 16-ричной системе, который содержит цифры и буквы от A до F. Он всегда выглядит как стандартный код из 36 символов: 4a27ab2e-ae70-419f-9a26-42a67805d87e. Два одинаковых кода сгенерировать практически невозможно.Часто подобный вид также имеют промокоды, потому что систему генерации «айдишников» легко взять и использовать, все уже придумали за вас. Утилита для генерации таких кодов есть в большистве ОС и библиотеках популярных языков программирования (например, попробуйте сгенерировать код в Terminal на MacOS через команду uuidgen).
Хешированный идентификатор — это код, который «под капотом» имеет какой угодно набор символов, но для пользователя преобразуется таким образом, что его нельзя расшифровать обратно. В итоге в базе данных мы можем иметь User ID из 20 цифр, а на выходе пользователь видит 6 букв и цифр, которые легче запомнить. Кроме того, такой код более защищенный с точки зрения хранения данных.
Гибридный тип идентификатора — вариант, когда ник игрока используется как ID, при этом он хешируется внутри базы каким-либо алгоритмом для удобства обработки и хранения данных. Это неудобный и ненадежный вариант, который использовали в старых играх, например, в Lineage. Для разработки это создает неудобства: в случае, если игрок хочет сменить никнейм, то нужно городить огород и вводить некие дополнительные сущности в проект.
Копнули мы глубже, в общем, и расстроились, что сделать классные UID просто так невозможно. Какие же есть варианты?
Можно ли сделать использование UID удобнее
Понятно, что чем крупнее проект, тем большая вариативность в кодах нужна разработчику, чтобы не попасть в ситуацию «у нас закончились идентификаторы». Но проблема в том, что длинные и нечитаемые ID усложняют поиск друзей. А если в игре вдобавок нет функции быстрого копирования этой штуки? Перепечатывать с экрана? Запоминать 12 знаков? Скорее уж игрок забьет и просто не станет этого делать… Потому что всё, что сложно и долго, в наше время просто не работает или работает в разы хуже, чем могло бы.
Вдобавок встречаются и косяки типа нажал Tap to copy в игре, и в буфер обмена тебе падает следующее:
[Ver: 2.4.1 ; 2.4.1][Uid: 188938419736652096][Device ID: A625C266-47B4-4473-8E7E-ED98DB243105]
Офигеть как интересно и всё понятно пользователю! :))
Отвечая на вопрос в заголовке: кажется, что создать унифицированный UID в играх, чтобы вот везде 6 знаков и не более — невозможно. Но вроде бы можно постараться сделать эту штуку просто удобнее. Позволим себе дать разработчикам несколько советов.
Для начала подумайте о том, чтобы сделать UID удобным для пользователя, а не только для разработчика. Если, конечно, пользователю зачем-то вообще нужно его знать. Если не нужно — скройте эту информацию.
Облегчите поиск ID в вашем приложении. Покажите стрелочкой при первом обращении в саппорт, напишите про это в FAQ, периодически напоминайте сообществу о том, как и зачем его искать.
Сделайте его видимым: выделите на экране, подсветите и т. п.
Добавьте рядом иконку копирования, а при нажатии выводите уведомление, что ID скопирован в буфер обмена.
И ещё: при обращении в саппорт из приложения подтягивайте автоматически всю информацию о пользователе, включая ID и технические данные. Поверьте, это облегчит жизнь и вашим сотрудникам, и пользователю при решении каких-то проблем с проектом или аккаунтом.
Некоторые проекты, например, Homescapes, просто скрывают User ID и позволяют добавлять друзей только через подключение к социальным сетям, Facebook, Instagram или Twitter. Это тоже удобный вариант, мы надеемся, что Gameram тоже однажды войдет в этот список соцсетей 🙂
Как мы работаем с фичой Gamer ID
Мы увидели, что игроки внутри сети ищут других игроков, и взяли их идею.
Пока мы разрабатывали фичу, ввели тестовый хештег, чтобы посмотреть, как игроки будут им пользоваться.
Страница постов по хештегу в приложении Gameram
Понятно, что когда это один из тысяч хештегов внутри сети, видят и используют его мало, фича должна быть нативной. В результате мы добавили галочку для ввода UID/Никнейма прямо при публикации.
Сейчас постинг с UID выглядит так:
Окно создания поста в приложении Gameram
А в ленте пользователь видит цветной пост с UID и кнопкой «Копировать» (обычный непокрашенный скриншот автоматически добавляется в галерею второй картинкой):
Пост с UID в ленте приложения Gameram
С момента релиза фичи в июне 2021 г. игроки сделали 3756 постов, чтобы поделиться своим UID, и 37021 кликнули на кнопку Copy, чтобы скопировать чей-то UID и, надеемся, добавили себе нового друга в игре.
Возможно, сейчас это выглядит не идеально, но уже точно более юзабельно, чем пост с хештегом, где UID изображен на скриншоте. Хочется развивать эту фичу, дальше в планах сделать также версию для ID кланов, а совсем в идеале — интеграции с мобильными проектами. Если у вас есть идеи, как эту фичу можно улучшить, будем рады услышать предложения и критику в комментариях.