ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее техническое решение относится к области информационных технологий, а именно к методам аутентификации пользователей с помощью формирования идентификаторов (ID) веб-браузера.
УРОВЕНЬ ТЕХНИКИ
[0002] Известен способ формирования отпечатка веб-браузера пользователя (заявка US 20150067472 А1, 05.03.2015), который применяется как идентификатор типа устройства пользователя для последующей модификации интерфейса для отображения контента в требуемом формате в зависимости от типа устройства и веб-браузера пользователя.
[0003] Известен способ формирования идентификатора сведений, предоставляемых пользователю посредством веб-браузера (заявка US 20190124168 А1, 25.04.2019), на основании применения хэширования релевантной информации по набору параметрам.
[0004] В уровне техники известны также подходы в части аутентификации пользователей на основе истории переходов по страницам в веб-браузере (патент US 9712520 В1, 18.07.2017), которые позволяют формировать идентификатор по связанным переходам между страницами с учетом предыдущих аутентификаций пользователя.
[0005] Таким образом, на текущий момент не предлагается формирование устойчивого идентификатора веб-браузера на основании совокупности данных устройства, на котором запущен веб-браузер, для последующего обучения моделей машинного обучения, позволяющих в последующем аутентифицировать пользователей.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] Настоящее изобретение позволяет решить техническую проблему в части создания устойчивого идентификатора пользователя на основании цифровых отпечатков веб-браузера.
[0007] Техническим результатом является обеспечение эффективного формирования идентификатора на основании цифрового отпечатка веб-сайта для аутентификации пользователя.
[0008] Другим техническим результатом является повышение надежности аутентификации пользователя с помощью формирования отпечатка веб-браузера.
[0009] Заявленное решение в предпочтительном варианте реализации представляет собой способ аутентификации пользователей на веб-ресурсе с помощью идентификатора на основе отпечатка веб-браузера, содержащий этапы, на которых:
a) получают на сервере данные подключения пользователя на веб-ресурсе;
b) осуществляют сбор параметров веб-браузера пользователя с клиентского устройства, которые включают в себя по меньшей мере: параметр производительности веб-браузера, параметры интерфейса обработки аудио, параметры отрисовки 2D и 3D графики;
c) определяют параметры подключения веб-браузера на сервере, которые включают в себя: заголовки HTTP, полученные в запросе браузера, и IP адрес клиентского устройства;
d) формируют SSL и TCP отпечатки на сервере на основании полученных параметров веб-браузера клиентского устройства;
e) формируют идентификатор отпечатка веб-браузера с помощью векторизации собранных параметров веб-браузера на этапах b)-d);
f) используют идентификатор, полученный на этапе е), для обучения по меньшей мере одной модели машинного обучения;
g) применяют обученную на этапе f) модель машинного обучения для последующей авторизации пользователей на веб-ресурсе.
[0010] В одном из частных примеров реализации данные на этапе b) собираются с помощью скрипта, исполняемого на клиентском устройстве.
[0011] В другом частном примере реализации на этапе b) дополнительно собирают по меньшей мере один параметр, выбираемый из группы: идентификатор, хранимый в cookie-файлах; характеристики браузера и пользовательского устройства, характеристики, доступные через медиа запросы CSS; строка пользовательского агента; доступность уведомлений; выполнение операций JavaScript; перечень установленных шрифтов; перечень названий установленных голосов для синтеза речи.
[0012] В другом частном примере реализации векторизация параметров для формирования идентификатора осуществляется с помощью нескольких моделей машинного обучения, каждая из которых выполняет обработку соответствующей части набора собранных параметров.
[0013] В другом предпочтительном варианте реализации представлена система аутентификации пользователей на веб-ресурсе с помощью идентификатора на основе отпечатка веб-браузера, содержащая по меньшей мере один процесс и по меньшей мере одну память, в которой хранятся машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором реализуют вышеуказанный способ.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0014] Фиг. 1 иллюстрирует общую схему работы заявленного решения.
[0015] Фиг. 2 иллюстрирует блок-схему выполнения заявленного способа.
[0016] Фиг. 3 иллюстрирует пример вычислительного устройства.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0017] На фиг. 1 представлена общая схема (100) заявленного решения. При подключении клиентского устройства (110) к веб-ресурсу с использованием веб-браузера (112), установленного на устройстве (110), осуществляется обмен данными с сервером (120) для последующего сбора параметров устройства (110). При подключении устройства (110), например, компьютера или ноутбука, к серверу (120) посредством запроса на доступ к веб-ресурсу на нем активируется модуль сбора параметров (111), который может представлять собой программный скрипт или приложение, обеспечивающее сбор данных, выполнение тестов и их передачи на сервер (120) для формирования отпечатка (121).
[0018] Сервер (120) на основании сбора данных модулем (111) передает их в базу данных (130) после чего формирует отпечаток (121) веб-браузера. Сервер (120), в одном из примеров реализации содержит веб-сервер Nginx, модуль формирования отпечатка SSL (JA3) для веб-севера Nginx и модуль формирования отпечаток TCP (p0f).
[0019] В базе данных (130) для каждого создаваемого отпечатка сохраняется блок данных в виде иерархической структуры, состоящей из следующих полей:
- уникальный идентификатор записи в базе данных,
- дата и время (UTC) создания записи в базе данных сервером,
- клиентская версия отпечатка (устаревшее; для обратной совместимости),
- набор компонент отпечатка.
[0020] Пример сформированного отпечатка веб-браузера
[0021] Структура блока данных компонента отпечатка
Каждый компонент отпечатка содержит следующие данные:
- значение или значения (в виде объекта JSON), полученные в ходе теста данного компонента;
- время, затраченное на получение значения компонента;
- хэши значения компонента, сформированные несколькими алгоритмами хеширования.
Рассмотрим структуру компонента отпечатка на примере компонента _autoId.
[0022] На фиг. 2 представлена блок-схема выполнения способа (200) формирования цифрового отпечатка веб-браузера пользовательского устройства (110). На первом этапе (201) сервер (120) получает данные подключения пользователя на веб-ресурсе. Далее сервер (120) активирует модуль сбора данных (111), который осуществляет сбор параметров веб-браузера (112) пользователя с клиентского устройства (110), которые включают в себя следующий минимальный набор: данные о минимальном временном интервале загрузки веб-страницы, параметры интерфейса обработки аудио, параметры отрисовки 2D и 3D графики в браузере.
[0023] Вышеуказанные параметры собираются с помощью выполнения ряда тестов, осуществляемых на устройстве пользователя (110) в веб-браузере (112), при этом для самого пользователя их выполнение является незаметным и не влияет на отображение информации на дисплее устройства (110).
[0024] Данные производительности веб-браузера (112) собираются модулем (111) при выполнении теста замера скорости открытия веб-страниц. В качестве такого теста может использоваться метод Perfomance.now (https://developer.mozilla.org/en-US/docs/Web/API/Performance/now). Предварительно проверяется доступность Performance API браузера, и при его недоступности возвращается 'null'. На каждой итерации цикла выполнения данного метода при тестировании обновляются значения наименьшей и второй наименьшей разницы, которые представляют собой разницу текущего значения, возвращенного методом 'performance.now' и его предыдущего значения. В качестве результата функция возвращает массив из двух значений: наименьшей и второй наименьшей разницы.
[0025] Для формирования компонента отпечатка браузера используются особенности реализации встроенного в браузер программного интерфейса Performance API. Performance API - это группа стандартов, описывающих программные интерфейсы браузеров, используемые для измерения производительности веб приложений с более высокой точностью, чем встроенный класс Date. Метод performance.now() возвращает текущее значение времени с шагом до 1 микросекунд. Однако фактическая точность этого метода ниже и может отличаться в различных браузерах; эта особенность и используется для формирования данного компонента отпечатка браузера.
[0026] Определение точности метода, то есть минимального интервала, фактически доступного для измерения, реализовано посредством многократного вызова метода performance.now() в цикле без задержек с максимальной частотой и сохранением наименьшего из значений разницы во времени, возвращаемого данным методом. Разница во времени может сравниваться на основании текущего показания RTC устройства (110).
[0027] Количество итераций цикла, достаточного для определения минимального значения, определяется производительностью процессора, и ограничено снизу необходимостью зафиксировать достаточное количество изменений значения, возвращаемого методом performance.now(), а сверху - необходимостью ограничить нагрузку на процессор и общую длительность сбора компонент отпечатка браузера. Базовое значение числа итераций цикла не изменяется и принято равным 5000. Это значение может быть изменено в других версиях.
[0028] Пока номер текущей итерации не превышает максимальное число итераций цикла, выполняется следующий алгоритм:
• Проверяется доступность Performance API браузера, и при его недоступности возвращается null;
• Перед началом цикла сохраняется текущее значение, возвращенное методом performance.now(), и инициализируется переменная;
• На каждой итерации цикла вызывается метод performance.now(); и возвращенный им результат сравнивается со значением, полученным ранее;
• Если новое значение больше предыдущего, разница сравнивается с сохраненными наименьшими значениями.
В качестве результата функция возвращает массив из двух наименьших значений разницы: минимум и следующее за ним значение (чтобы снизить влияние случайных выбросов). Аналогичный компонент отпечатка performance возвращает только одно значение: наименьшую разницу.
[0029] Пример реализация данной функции на языке TypeScript:
[0030] Определяются также параметры интерфейса обработки аудио с помощью метода WebAudio API веб-браузера. Данный метод синтезирует треугольные колебания, к которым применяется эффект динамической компрессии, ограничивающий максимальный уровень сигнала. В дальнейшем полученные звуковые колебания преобразуются в цифровой вид для вычисления на их основании хеш-функции. WebAudio API браузера создается объект 'AudioContext', в который добавляется 'OscillatorNode', формирующий периодические колебания с заданными параметрами и 'DynamicsCompressorNode', ограничивающий уровень сигнала. 'AudioContext' затем формирует выходной массив аудио данных, получаемых с помощью 'getChannelData'. В качестве результата используется хеш-функция оцифрованного фрагмента данного массива. Пример значения: 124.08075643483608.
[0031] Модуль (111) также собирает данные отрисовки 2D и 3D графики в веб-браузере (112), для чего выполняется отрисовка массива точек в двумерном и трехмерном пространстве, что позволяет определить производительность графического процессора устройства пользователя (110). Одним из примеров такого рода алгоритма можно использовать методы Threejs и DrawnApart для 3D графики и Canvas2 для 2D графики.
[0032] Методы Threejs и Canvas2 в качестве результата возвращают хеш двоичного представления растрового изображения, сформированного во время их выполнения. Также в качестве собираемых параметров для последующего хеширования может использоваться время, необходимое на отрисовку каждого массива точек. В частном примере реализации может также замеряться время, необходимое на отображение графического интерфейса пользователя в веб-браузере (112).
[0033] Пример работы алгоритма canvas2
[0034] Отпечаток, формируемый с использованием 2D графики. Формируется отрисовкой геометрических фигур на основе массива точек с градиентной заливкой и фиксированного текста. Значение рандомизируется рядом плагинов и браузером Brave.
[0035] Пример работы алгоритма DrawnApart
[0036] Дополнительно модуль (111) может дополнительно собирать один или несколько следующих параметров: идентификатор, хранимый в cookie-файлах; характеристики браузера и пользовательского устройства, характеристики, доступные через медиа запросы CSS; строка пользовательского агента; доступность уведомлений; выполнение операций JavaScript; перечень установленных шрифтов; перечень названий установленных голосов для синтеза речи.
[0037] На этапе (202) выполняется сбор данных на сервере (120), в ходе которого определяют параметры подключения веб-браузера (112). Такими параметрами могут являться заголовки HTTP, полученные в запросе браузера, и IP адрес клиентского устройства (110). IP адрес устройства и имя хоста из переменных Nginx сохраняются в HTTP заголовках.
[0038] Далее на этапе (203) выполняется формирование SSL и TCP отпечатков на сервере (120) на основании параметров, полученных на этапе (202). Для формирования дополнительных компонент отпечатка на стороне сервера используются веб-сервер Nginx с дополнительным модулем - для SSL отпечатка и утилита p0f - для TCP отпечатка.
[0039] Получение SSL отпечатка
Для формирования отпечатка SSL используется алгоритм JA3 (см. https://github.com/phuslu/nginx-ssl-fingerprint), выполненный в виде модуля Nginx. Полученный отпечаток из переменных модуля сохраняется в HTTP заголовках при проксировании запроса на серверное приложение:
proxy_set_header HTTP-SSL-GREASED $http_ssl_greased; proxy_set_header HTTP-SSL-JA3 $http_ssl_ja3; proxy_set_header HTTP-SSL-JA3-HASH $http_ssl_ja3_hash.
[0040] Для возможности формирования отпечатка SSL, SSL соединение должно терминироваться непосредственно на том Nginx, где установлен данный модуль. В случае, если терминация SSL будет осуществляться ранее, все информация отпечатка будет утеряна. Аналогично, если терминация будет осуществляться после прохождения Nginx с данным модулем, получение данных из зашифрованного потока также невозможно.
[0041] Получение TCP отпечатка
Для формирования TCP отпечатка используется алгоритм (и утилита) p0f.
Классической реализацией этого алгоритма является утилита p0f (см. https://github.com/p0f/p0f.git). Может также применяться модифицированная версия, в которой в доступные данные также добавлено значение параметра MTU. Для своей работы данная утилита запускается как фоновый процессом, перехватывает и анализирует пакеты в режиме сниффера, используя библиотеку libpcap. Результаты анализа кешируются в памяти и доступны сторонним процессами через Unix сокет с использованием несложного протокола.
[0042] Сервер (120), получив HTTP запрос, извлекает из него IP адрес и запрашивает по данному IP информацию у процесса p0f. Поскольку TCP соединение на этот момент уже установлено, p0f возвращает сформированный отпечаток серверу (120). Оно дополняет заголовки HTTP, которые затем сохраняются в базе данных (130). Процесс p0f запускается в отдельном контейнере, который с одной стороны, для перехвата входящих пакетов, имеет доступ к той же сетевой карте, что Nginx, и с другой, для взаимодействия с серверным приложением - к выделенному дисковому каталогу (чтение+запись) для Unix сокета. Для возможности формирования отпечатка TCP, TCP соединение должно открываться между клиентским устройством (110) и непосредственно сетевой картой сервера (120). В противном случае (использование с серверной стороны NAT, прокси, "непрозрачного" сетевого экрана и т.п.) приведет к полной потере информации отпечатка.
[0043] По полученным на этапах (201-203) параметрам пользовательских данных веб-браузера (112) на этапе (204) формируется отпечаток веб-браузера, характеризующий собой, который далее на этапе (205) используется для обучения модели машинного обучения, которая впоследствии будет применяться для идентификации пользователя (110). Весь массив полученных данных объединяется (конкатенируется) и зашифровывается методом ssdeep.
[0044] В рамках задачи поиска эффективных методов аутентификации индивидуального пользователя на основе его сессионных характеристик был осуществлен глубокий анализ ряда уже имеющихся идентификаторов с целью оценки их эффективности в рамках авторизованной зоны. По совокупности рассмотренных данных было констатировано, что в среднем качество и точность указанных идентификаторов колеблется в пределах 75-85%, а количество их коллизий минимально.
[0045] Для повышения точности идентификации пользователя в авторизованной зоне, а также потенциального расширения применения на неавторизованную зону, была проведена серия экспериментальных исследований. Целью данных исследований было выявление наиболее релевантных, устойчивых и стабильных сессионных параметров, которые регистрируются независимо от текущих идентификаторов, а также исключение тех параметров, которые могут исказить или не оказать влияния на итоговый результат.
[0046] В рамках продолжения задачи поиска эффективных методов идентификации индивидуального пользователя на основе его сессионных характеристик были рассмотрены альтернативные варианты идентификации с помощью структурных нейросетевых решений. После ряда экспериментов и оценок было выбрано в качестве перспективного решения указанной задачи решение на основе формирования отдельных эмбеддингов для каждой сессии пользователя на основе ее данных, и оценки их схожести с другими имеющимися записями для их идентификации и возможной кластеризации.
[0047] Упомянутая модель машинного обучения, в частности нейросетевая модель, была обучена на массиве данных сетевых сессий и соответствующих характеристиках пользовательских устройств, на которых был открыт веб-браузер. Общий объем данных выгрузки составил порядка 137809 записей. Предлагаемый эмбеддинг формируется на основе 170 исходных числовых, текстовых и хешированных характеристик пользовательской сессии. На основе этих характеристик ансамбль преобразований и нейронных сетей рассчитывает вектор размером около 3500 числовых значений - эмбеддинг сессии при работе веб-браузера в части доступа пользователю к требуемым ресурсам и его аутентификации.
[0048] Количество участвующих в формировании параметров и конечная размерность вектора могут подвергаться незначительным изменениям. Это зависит от интеграции новых параметров или исключения/перегруппировки существующих, влияние которых на итоговое качество эмбеддинга на текущий момент определить затруднительно. При дальнейшем развитии тематики эти параметры могут быть пересмотрены.
[0049] В общем виде эмбеддинг представляет собой композицию из четырех дискретных векторов. Каждый из этих векторов нормализован по средней длине до единицы и масштабирован с использованием определенных, вычисленных заранее коэффициентов:
[0050] Вектор № 1 сформирован на основе 58 параметров (булевые, целочисленные, категориальные), обработанных и поданных в предобученную нейросетевую модель классификации. Значения нейронов модели на предпоследнем слое, имеющем размерность 512, выступают в качестве составляющих этого вектора, который затем нормализуется.
[0051] Вектор № 2 сформирован на основе 21 текстового параметра, переданного в Universal Sentence Encoder (Google/Tensorflow) каждый. Полученные вектора просуммированы и усреднены в один вектор размерностью 512, после чего он нормализуется.
[0052] Вектор № 3 сформирован на основе 9 параметров, которые представляют собой некоторые сочетания букв и цифр, но не классифицируются как чистый текст или хэш-значения. К каждому параметру применен Universal Sentence Encoder (Google/Tensorflow). Полученные вектора просуммированы и усреднены в один вектор размерностью 512, после чего он нормализуется.
[0053] Вектор № 4, сформирован на основе 95 текстовых параметров в формате hex. Каждый параметр подвергается бакетированию (распределению) по 20 корзинам в соответствии с его значением, после чего применяется метод one-hot-encoding и конкатенация всех данных. Полученный итоговый вектор размерностью ~1995 нормализуется.
[0054] Вектора объединены (конкатенированы) в эмбеддинг с предварительным умножением на заранее определенные коэффициенты, призванные корректировать влияние разных блоков данных на итоговые результаты.
[0055] Идентификация пользователя (110) на этапе (206) с помощью эмбеддинга, сформированного на основе цифрового отпечатка его веб-браузера (112), может производиться в зависимости от логики бизнес-задач различными способами, в основе которых лежит расчет Евклидового расстояния между различными эмбеддингами или их оценка с использованием меры Брея-Кертиса. Во время анализа применятся поиск ближайших "соседей" эмбеддингов записей, а также поиск всей группы записей одного пользователя по пороговым значениям меры Брея-Кертиса, которая демонстрировала большую точность в сравнении с Евклидовым расстоянием. Предварительным порогом меры Брея-Кёртиса было выбрано значение 0.15, которое позволяло получить близкие к абсолютно точным результатам на данных авторизованной зоны.
[0056] Созданная модель машинного обучения для аутентификации пользователей валидировалась на 100 тысячах записей, для которых были сформированы эмбеддинги и проведен поиск ближайшего "соседа" из данной выборки для каждого. Среди указанных записей имеется порядка 1700, находящихся в авторизованной зоне, для которых достоверно известен их пользователь и как минимум две его записи в данной выборке. Ближайшие по мере Брея-Кертиса эмбеддинги верно определены у порядка 1677 записей.
[0057] Рассмотрим несколько примеров, в которых выбраны некоторые из записей, по которым можно достоверно отследить одного и того же пользователя в неавторизованной зоне по совокупной уникальности параметров:
[0058] Пример 1. Запись №43680 и ближайший по Брею-Кертису эмбеддинг - №50534: все идентификаторы (top100_id, adtech_uid, top100Counter.value.fp, _autoId, ruid, stat_pubId) у пары отличаются, однако у обоих записей редкий около 0,01% x-real-ip (Сиднея Австралия), speechSynthesis.value, canvas2.value, touchSupport, что в совокупности с очень высокой вероятностью говорит о том, что это один и тот же пользователь, что и показали значения эмбеддингов, но не показали все имеющиеся идентификаторы.
[0059] Пример 2. Запись № 48203 и ближайший по Брею-Кертису эмбеддинг - №73561: все идентификаторы (top100_id, adtech_uid, top100Counter.value.fp, _autoId, ruid, stat_pubId) у пары отличаются, однако у обеих записей редкий (около 0,01%) canvas2.value, webglProgram.value и достаточно редкие (от 0,01% до 1%) screenResolution.value, headers.value.user-agent, audio, что в совокупности с очень высокой вероятностью говорит о том, что это один и тот же пользователь, что и показали значения эмбеддингов, но не показали все имеющиеся идентификаторы.
[0060] Пример 3. Запись № 52770 и ближайший по Брею-Кертису эмбеддинг - №78028: все идентификаторы (top100_id, adtech_uid, top100Counter.value.fp, _autoId, ruid, stat_pubId) у пары отличаются, однако у обоих записей редкий (около 0,01%) x-real-ip (Калгари Канада), speechSynthesis.value, canvas2.value, threejs.value.gpu_hash, timezone.value и достаточно редкие (от 0,01% до 1%) fonts.value, headers.value.user-agent, webglProgram.value, videoCard.value.renderer, что в совокупности с очень высокой вероятностью говорит о том, что это один и тот же пользователь, что и показали значения эмбеддингов, но не показали все имеющиеся идентификаторы.
[0061] Пример 4. Запись № 4756 и ближайший по Брею-Кертису эмбеддинг № 82732: все идентификаторы (top100_id, adtech_uid, top100Counter.value.fp, _autoId, ruid, stat_pubId) у пары отличаются, однако у обоих записей редкий (около 0,01%) canvas2.value, ids.value.lastgeoip, fonts.value и достаточно редкие (от 0,01% до 1%) browserObjects.value, headers.value.user-agent, videoCard.value.renderer и прочее, что в совокупности с очень высокой вероятностью говорит о том, что это один и тот же пользователь, что и показали значения эмбеддингов, но не показали все имеющиеся идентификаторы.
[0062] Пример 5. Запись № 1352 и ближайший по Брею-Кертису эмбеддинг №1360: все идентификаторы (top100_id, adtech_uid, top100Counter.value.fp, _autoId, ruid, stat_pubId) у пары отличаются, однако у обоих записей редкий (около 0,01%) canvas2.value, fonts.value, webglProgram.value и достаточно редкие прочие параметры, что в совокупности с очень высокой вероятностью говорит о том, что это один и тот же пользователь, что и показали значения эмбеддингов, но не показали все имеющиеся идентификаторы.
[0063] Визуальная предварительная оценка показывает, что пороговое значение 0.08 по метрике Брея-Кертиса является надежным индикатором одной группы пользователей в неавторизованной зоне.
[0064] На этапе (206) обученная нейросетевая модель анализирует цифровой отпечаток (121) веб-браузера пользователя, сохраненный в БД (130), и отпечаток, формируемый при активной сессии веб-браузера (112), например, при заходе на сайт, на котором требуется аутентификация пользователя, и по итогам их сравнения принимает решение о его аутентификации, или отклонении и запроса стороннего фактора подтверждения, что позволяет реализовать дополнительную меру защиты в части защиты пользовательских данных.
[0065] Дополнительно, данное решение может также использоваться для реализации механизмов автоматической аутентификации пользователей на веб-ресурсах или в приложениях, исключая необходимость ввода данных аутентификация, на основании сравнения получаемого отпечатка и сохраненного для данного пользователя.
[0066] На фиг. 3 представлен общий вид вычислительной системы, реализованной на базе вычислительного устройства (300). В общем случае, вычислительное устройство (300) содержит объединенные общей шиной информационного обмена один или несколько процессоров (301), средства памяти, такие как ОЗУ (302) и ПЗУ (303), интерфейсы ввода/вывода (304), устройства ввода/вывода (305), и устройство для сетевого взаимодействия (306).
[0067] Процессор (301) (или несколько процессоров, многоядерный процессор) могут выбираться из ассортимента устройств, широко применяемых в текущее время, например, компаний Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором также необходимо учитывать графический процессор, например, GPU NVIDIA или ATI, который также является пригодным для полного или частичного выполнения способа (200). При этом средством памяти может выступать доступный объем памяти графической карты или графического процессора.
[0068] ОЗУ (302) представляет собой оперативную память и предназначено для хранения исполняемых процессором (301) машиночитаемых инструкций для выполнения необходимых операций по логической обработке данных. ОЗУ (302), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.).
[0069] ПЗУ (303) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др.
[0070] Для организации работы компонентов устройства (300) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (304). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0071] Для обеспечения взаимодействия пользователя с вычислительным устройством (300) применяются различные средства (305) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тачпад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0072] Средство сетевого взаимодействия (306) обеспечивает передачу данных устройством (300) посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (306) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др.
[0073] Дополнительно могут применяться также средства спутниковой навигации в составе устройства (300), например, GPS, ГЛОНАСС, BeiDou, Galileo.
[0074] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И СИСТЕМА АВТОРИЗАЦИИ ВЕБ-САЙТА В ВЕБ-БРАУЗЕРЕ | 2018 |
|
RU2718480C2 |
СПОСОБ ИДЕНТИФИКАЦИИ ЦЕЛЕВОГО ОБЪЕКТА НА ВЕБ-СТРАНИЦЕ | 2015 |
|
RU2638015C2 |
Система и способ настройки систем безопасности при DDoS-атаке | 2017 |
|
RU2659735C1 |
Система и способ определения DDoS-атак при некорректной работе сервисов сервера | 2017 |
|
RU2665919C1 |
Система и способ определения DDoS-атак | 2017 |
|
RU2676021C1 |
Способ и система для динамической глобальной идентификации окружения пользователя | 2020 |
|
RU2751436C1 |
СПОСОБ И СЕРВЕР ДЛЯ КЛАССИФИКАЦИИ ВЕБ-РЕСУРСА | 2017 |
|
RU2658878C1 |
СПОСОБ ВЫБОРА ВЕБ-САЙТА ДЛЯ ОБЛАСТИ БЫСТРОГО ДОСТУПА В ВЕБ-БРАУЗЕРЕ | 2016 |
|
RU2651188C1 |
Способ идентификации онлайн-пользователя и его устройства | 2020 |
|
RU2740308C1 |
СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ И ОРГАНИЗАЦИИ КЭША ВЕБ-БРАУЗЕРА | 2014 |
|
RU2629448C2 |
Изобретение относится к способу и системе аутентификации пользователей на веб-ресурсе с помощью идентификатора на основе отпечатка веб-браузера. Технический результат заключается в повышении надежности аутентификации пользователя. В способе: a) получают на сервере данные подключения пользователя на веб-ресурсе; b) осуществляют сбор параметров веб-браузера пользователя с клиентского устройства, которые включают в себя по меньшей мере: параметр производительности веб-браузера, параметры интерфейса обработки аудио, параметры отрисовки 2D- и 3D-графики; c) определяют параметры подключения веб-браузера на сервере, которые включают в себя: заголовки HTTP, полученные в запросе браузера, и IP-адрес клиентского устройства; d) формируют SSL и TCP отпечатки на сервере на основании полученных параметров веб-браузера клиентского устройства; e) формируют идентификатор отпечатка веб-браузера с помощью векторизации собранных параметров веб-браузера на этапах b)-d); f) используют идентификатор, полученный на этапе е), для обучения по меньшей мере одной модели машинного обучения; g) применяют обученную на этапе f) модель машинного обучения для последующей авторизации пользователей на веб-ресурсе. 2 н. и 3 з.п. ф-лы, 3 ил.
1. Способ аутентификации пользователей на веб-ресурсе с помощью идентификатора на основе отпечатка веб-браузера, содержащий этапы, на которых:
a) получают на сервере данные подключения пользователя на веб-ресурсе;
b) осуществляют сбор параметров веб-браузера пользователя с клиентского устройства, которые включают в себя по меньшей мере: параметр производительности веб-браузера, параметры интерфейса обработки аудио, параметры отрисовки 2D- и 3D-графики;
c) определяют параметры подключения веб-браузера на сервере, которые включают в себя: заголовки HTTP, полученные в запросе браузера, и IP-адрес клиентского устройства;
d) формируют SSL и TCP отпечатки на сервере на основании полученных параметров веб-браузера клиентского устройства;
e) формируют идентификатор отпечатка веб-браузера с помощью векторизации собранных параметров веб-браузера на этапах b)-d);
f) используют идентификатор, полученный на этапе е), для обучения по меньшей мере одной модели машинного обучения;
g) применяют обученную на этапе f) модель машинного обучения для последующей авторизации пользователей на веб-ресурсе.
2. Способ по п. 1, в котором данные на этапе b) собираются с помощью скрипта, исполняемого на клиентском устройстве.
3. Способ по п. 1, в котором на этапе b) дополнительно собирают по меньшей мере один параметр, выбираемый из группы: идентификатор, хранимый в cookie-файлах; характеристики браузера и пользовательского устройства, характеристики, доступные через медиазапросы CSS; строка пользовательского агента; доступность уведомлений; выполнение операций JavaScript; перечень установленных шрифтов; перечень названий установленных голосов для синтеза речи.
4. Способ по п. 1, в котором векторизация параметров для формирования идентификатора осуществляется с помощью нескольких моделей машинного обучения, каждая из которых выполняет обработку соответствующей части набора собранных параметров.
5. Система аутентификации пользователей на веб-ресурсе с помощью идентификатора на основе отпечатка веб-браузера, содержащая по меньшей мере один процесс и по меньшей мере одну память, в которой хранятся машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором реализуют способ по любому из пп. 1-4.
US 20220075850 A1, 10.03.2022 | |||
PETE TOWNSHEND, "Browser fingerprinting: Everything you need to know", 30.05.2022, URL: https://web.archive.org/web/20220530141331/https://smartframe.io/blog/browser-fingerprinting-everything-you-need-to-know/ | |||
US 20230394096 A1, 07.12.2023 | |||
US 20160006841 A1, 07.01.2016 | |||
US 20230089187 A1, 23.03.2023 | |||
US |
Авторы
Даты
2024-07-22—Публикация
2024-02-19—Подача