Подтвердить что ты не робот

Уникальная идентификация устройства

Мы разрабатываем собственное веб-приложение для просмотра отчетов с данными, ориентируясь на смартфоны и планшеты. Наш клиент спросил нас о возможности, что только определенные устройства могут получить доступ к контенту. Следовательно, мы используем технологии, основанные на javascript/HTML5, мы не способны читать уникальные идентификаторы, такие как IMEI или uuid устройства. Идея состоит в том, чтобы иметь возможность автоматически создавать не зависящий от времени fingerprint устройства с вышеупомянутыми технологиями.

Вопрос в том, можем ли мы создать уникальный отпечаток устройства с помощью JavaScript/HTML5?

Подсказкой может быть информация, доступная или известная браузеру (например, http://browserspy.dk/)

4b9b3361

Ответ 1

Вы можете использовать библиотеку fingerprintJS2, она очень помогает при расчете отпечатка браузера.

Кстати, на Panopticlick вы можете увидеть, насколько это обычно уникально.

Ответ 2

Похоже, что плагин phoneGap позволит вам получить UID устройства.

http://docs.phonegap.com/en/3.0.0/cordova_device_device.md.html#device.uuid

Обновление: это зависит от запуска собственного кода. Мы использовали это решение для написания javascript, который компилировался в нативный код для родного телефонного приложения, которое мы создавали.

Ответ 4

У меня есть следующая идея, как вы можете иметь дело с таким идентификатором устройства доступа (ADID):

Gen ADID

  • подготовить веб-страницу https://mypage.com/manager-login, где доверенный пользователь, например, Manager может войти в систему с устройства - на этой странице должна быть кнопка "Предоставить доступ к этому устройству"
  • когда пользователь нажимает кнопку, страница отправляет запрос на сервер для генерации ADID
  • сервер gen ADID, сохраните его в белом списке и вернитесь на страницу
  • тогда страница хранится в устройстве localalstorage
  • доверенный пользователь теперь выходит из системы.

Использовать устройство

  • Затем другой пользователь, например, Сотрудник, использующий то же устройство, перейдет на https://mypage.com/statistics и отправит на сервер запрос статистики, включая параметр ADID (предыдущий сохранен в localstorage).
  • Сервер проверяет, находится ли ADID в белом списке, и если да, то возвращает данные

При таком подходе, пока пользователь использует один и тот же браузер и не выполняет сброс устройства, устройство имеет доступ к данным. Если кто-то произвел сброс устройства, то снова доверенному пользователю необходимо войти в систему и указать ADID.

Вы даже можете создать некоторую систему управления ADID для доверенного пользователя, где при создании ADID он также может ввести серийный номер устройства и в будущем в случае сброса устройства он сможет найти это устройство и сгенерировать для него ADID (который не увеличит размер белого списка), и он также может удалить некоторый ADID из белого списка для устройств, которым он больше не будет предоставлять доступ к данным сервера.

В случае, когда система использует много доменов/поддоменов, администратор после входа в систему должен увидеть множество кнопок "Предоставить доступ домену xyz.com к этому устройству" - каждая кнопка будет перенаправлять устройство, выполнять правильный домен, осторожно ADID и перенаправлять назад.

ОБНОВИТЬ

Альтернативный генерал ADID:

  • Диспетчер входа в систему с использованием любого устройства и генерирование однократной ссылки на использование https://mypage.com/access-link/ZD34jse24Sfses3J (которая работает, например, 24 часа).
  • Затем менеджер отправляет эту ссылку сотруднику (или кому-либо еще), который помещает эту ссылку в устройство, и сервер возвращает ADID устройству, которое хранит ее в локальном хранилище. После этого ссылка выше перестает работать - поэтому только система и устройство знают ADID
  • Затем сотрудник, использующий это устройство, может читать данные с https://mypage.com/statistics, поскольку он имеет ADID, который находится в белом списке серверов.