СПОСОБ ИДЕНТИФИКАЦИИ УСТРОЙСТВА И ПОЛЬЗОВАТЕЛЯ
METHOD OF DEVICE AND USER IDENTIFICATION

Изобретение относится к области компьютерной безопасности, в частности к методам идентификации. Изобретение может быть использовано при построении систем аутентификации пользователя, обеспечивающих доступ к информации в распределенных информационных системах.
Одной из важных задач в теории защиты информации является задача идентификации пользователя. В рамках построения информационных систем актуальность данной задачи подтверждается необходимостью различения субъектов указанных систем с целью выявления нарушителей.
В современных информационных системах поставленная задача решается в том числе с применением способов идентификации пользователей, заключающихся в формировании профиля (идентификатора) устройства (и/или пользователя) на основе сохраненных на пользовательском устройстве данных cookies и последующем сравнении профиля неизвестного устройства (и/или пользователя) с базой профилей известных устройств (и/или пользователя) с целью принятия решения, является ли устройство (и/или пользователь) зарегистрированным в системе.
Одной из сложностей, возникающих при реализации указанной технологии, является рассмотрение случая использования одного устройства несколькими пользователями. В качестве примеров многопользовательской эксплуатации одного устройства можно привести следующие: использование домашнего компьютера всеми членами семьи, использование выделенного компьютера в офисе для доступа к сети Интернет всеми сотрудниками.
Один из известных способов идентификации устройств и пользователей на основании сведений cookies представлен в статье (Ting-Fang, Y. Host Fingerprinting and Tracking on the Web: Privacy and Security Implications / Ting-Fang Yen, Yinglian Xie, Fang Yu, Martin Abadi, Roger Peng Yu [Электронный ресурс]: сайт. - Режим доступа: http://research.microsoft.com/pubs/156901/ndss2012.pdf. - Дата обращения 01.09.2015). В указанной работе предлагается подход к идентификации пользователя, основанный на сохранении на стороне клиентского устройства одного уникального значения cookie при первом обращении к информационной системе и последующего сравнения при втором и следующих обращениях сохраненного значения с базой эталонных значений на стороне сервера для принятия решения, является ли пользователь зарегистрированным или нет.
Недостатком указанного способа является высокая вероятность ошибки различения пользователей в случае многопользовательской эксплуатации одного устройства, поскольку сохраняемое значение cookie является уникальным для устройства, а не для пользователя.
Известен также способ идентификации пользователя с использованием компонентного профиля (Бессонова, Ε.Е. Способ идентификации пользователя в сети Интернет / Е.Е. Бессонова, И.А. Зикратов, Ю.Л. Колесников, В.Ю. Росков // Научно-технический вестник информационных технологий, механики и оптики. - 2012. - №3. - С. 133-137), в котором при построении профиля (идентификатора) пользователя используются все доступные данные cookies, сохраненные на устройстве. Идентификация осуществляется путем сравнения профиля неизвестного пользователя с предварительно подготовленной базой профилей известных пользователей, решение принимается по минимуму разницы между профилями с учетом порогового значения.
Недостатком указанного способа также является высокая вероятность ошибки различения пользователей в случае многопользовательской эксплуатации одного устройства.
Наиболее близким по технической сущности к заявляемому способу и выбранным в качестве прототипа является способ идентификации аппаратного обеспечения на основании данных cookies (патент US 2013167195 A1 27.06.2013, «Hardware identification through cookies»), заключающийся в том, что предварительно создают базу идентификаторов зарегистрированных в информационной системе устройств на основании хранимых на устройствах данных cookies. Далее при подключении устройства к информационной системе на стороне клиента формируют идентификатор устройства на основании хранимых на устройстве данных cookies, отправляют сформированный идентификатор устройства со стороны клиента на сторону сервера, сравнивают на стороне сервера полученный идентификатор с идентификаторами зарегистрированных устройств, вычисляя для каждой пары идентификаторов степень корреляции. Идентифицируемое устройство считается инцидентным зарегистрированному устройству, если вычисленная степень корреляции их идентификаторов максимальна и превышает первое пороговое значение.
Недостатком способа-прототипа является высокая вероятность ошибки различения пользователей устройств в случае многопользовательской эксплуатации одного устройства, что снижает уровень защиты информации, циркулирующей в информационной системе.
Задачей изобретения является создание способа идентификации устройства и пользователя, позволяющего повысить уровень защиты информации, предоставляемой сервером информационной системы зарегистрированным клиентам.
Эта задача решается тем, что в способе идентификации аппаратного обеспечения на основании данных cookies, заключающемся в том, что предварительно создают базу идентификаторов зарегистрированных в информационной системе устройств на основании хранимых на устройствах данных cookies, формируют идентификатор устройства на стороне клиента при подключении устройства к информационной системе, отправляют сформированный идентификатор устройства со стороны клиента на сторону сервера, сравнивают на стороне сервера полученный идентификатор с идентификаторами зарегистрированных устройств, вычисляют для каждой пары сравниваемых идентификаторов устройств степень корреляции, принимают решение об инцидентности идентифицируемого устройства одному из зарегистрированных устройств, дополнительно создают на предварительном этапе базу идентификаторов зарегистрированных пользователей, сопоставляют каждому зарегистрированному устройству список допущенных к работе на нем пользователей из числа зарегистрированных пользователей, после принятия решения об инцидентности идентифицируемого устройства одному из зарегистрированных устройств формируют идентификатор пользователя на стороне клиента, отправляют сформированный идентификатор пользователя со стороны клиента на сторону сервера, сравнивают на стороне сервера полученный идентификатор с идентификаторами зарегистрированных пользователей, вычисляют для каждой пары сравниваемых идентификаторов пользователей степень корреляции, принимают решение о соответствии пользователя одному из зарегистрированных, определяют допуск пользователя к работе на идентифицируемом устройстве.
Перечисленная новая совокупность существенных признаков позволяет достичь указанного технического результата за счет различения нескольких пользователей одного устройства на основании уникальных данных cookies, соответствующих именам учетных записей наиболее распространенных Интернет-сервисов (почтовые сервисы, онлайн-магазины, социальные сети, облачные сервисы) и повышении вероятности выявления доступа в информационную систему нарушителя (незарегистрированного пользователя) с зарегистрированного в системе устройства.
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного способа, отсутствуют, что указывает на соответствие изобретения условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на достижение указанного технического результата. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».
Заявленное изобретение поясняется следующими фигурами:
фиг. 1 - последовательность действий, осуществляемых при реализации заявленного способа на этапе формирования базы идентификаторов устройств;
фиг. 2 - последовательность действий, осуществляемых при реализации заявленного способа на этапе формирования базы идентификаторов пользователей;
фиг. 3 - последовательность действий, осуществляемых при реализации заявленного способа на этапе идентификации устройства и пользователя.
Предлагаемый способ состоит из трех этапов:
1. Этап формирования базы идентификаторов зарегистрированных в информационной системе устройств (фиг. 1).
2. Этап формирования базы идентификаторов зарегистрированных пользователей (фиг. 2).
3. Этап идентификации устройства и пользователя (фиг. 3).
Для реализации первого этапа (фиг. 1) производятся следующие действия:
101. Осуществляют ввод имени устройства, для которого выполняется обучение системы. Таким образом, подразумевают, что устройство далее будет зарегистрировано в системе под указанным именем.
102. Выполняют сбор всех доступных данных cookies, сохраненных на устройстве в базах данных установленных браузеров, согласно известным методам, описанным, например, в статье (David MacDermot. Cookie Quest: A Quest to Read Cookies from Four Popular Browsers [Электронный ресурс]: сайт. - Режим доступа: http://www.codeproject.com/Articles/330142/Cookie-Quest-A-Quest-to-Read-Cookies-from-Four-Pop. - Дата обращения 01.09.2015.).
103. Формируют идентификатор устройства путем объединения собранных данных cookies в один объект, например файл данных в формате XML (extensible Markup Language). При этом идентификатор устройства дополняют ранее введенным именем устройства.
104. Записывают идентификатор устройства в базу зарегистрированных устройств, например, путем сохранения файла данных в формате XML (соответствующего идентификатору устройства) в файловом каталоге зарегистрированных устройств.
На втором этапе (фиг. 2) производятся следующие действия:
201. Осуществляют ввод имени пользователя. Далее подразумевают, что пользователь будет зарегистрирован в системе под указанным именем.
202. Выполняют сбор всех доступных данных cookies, сохраненных на устройстве в базах данных установленных браузеров, аналогично (102).
203. Формируют идентификатор пользователя, выделяя из общей совокупности собранных данных cookies те, которые соответствуют именам учетных записей наиболее распространенных Интернет-сервисов. Список таких имен подготавливают заранее, в зависимости от настроек информационной системы, к примеру:
yandex.ru
- значение cookie с именем yandex_login домена ;
mail.ru
- значение cookie с именем Мрор домена ;
aliexpress.com
- значение cookie с именем xman_us_f домена ;
rambler.ru
- значение cookie с именем rlogin домена .
Указанные значения содержат в открытом виде признаки пользовательской сессии (имя логина пользователя), что позволяет отождествлять набор данных cookies с конкретным пользователем.
Идентификатор устройства объединяет выделенные данные cookies в одном объекте, например в файл данных в формате XML (extensible Markup Language). При этом идентификатор пользователя дополняют ранее введенным именем пользователя.
204. Записывают идентификатор пользователя в базу зарегистрированных пользователей, например, путем сохранения файла данных в формате XML (соответствующего идентификатору пользователя) в файловом каталоге зарегистрированных пользователей.
205. Определяют для зарегистрированного пользователя, к каким зарегистрированным устройствам он допущен. Сопоставление идентификатора пользователя с идентификаторами устройств, к которым он допущен, осуществляют, к примеру, путем сохранения для каждого зарегистрированного устройства текстового файла со списком имен допущенных пользователей.
После выполнения первых двух этапов, по сути обучения системы, становится возможным выполнять идентификацию устройств и пользователей, обращающихся к ресурсам информационной системы. Процедура идентификации рассматривается (но не ограничивается в применении) на примере клиент-серверного взаимодействия в сети Интернет.
На третьем этапе (фиг. 3) производятся следующие действия:
301. Выполняют сбор всех доступных данных cookies, сохраненных на устройстве в базах данных установленных браузеров, аналогично (102).
302. Формируют идентификатор устройства аналогично (103). Действия (301-302) выполняют на стороне клиента (пользовательского устройства).
303. Передают сформированный идентификатор устройства со стороны клиента на сторону сервера.
304. На стороне сервера выполняют сравнение полученного идентификатора с каждым из идентификаторов зарегистрированных устройств, определяя степень их корреляции (меру близости) известными методами, описанными, например, в книге (Горелик А.Л. Методы распознавания: учеб. пособие / А.Л. Горелик, В.А. Скрипкин. - М.: Высш. шк., 1984. - 208 с.) на страницах 15-16.
305. Среди всех рассчитанных значений степени корреляции определяют максимальное и сравнивают его с первым пороговым значением. Если максимальное значение степени корреляции не превышает первое пороговое значение, принимают решение о том, что идентифицируемое устройство является неизвестным, а процедура идентификации пользователя не выполнена, после чего завершают процесс идентификации.
Первое пороговое значение выбирают в зависимости от предъявляемых требований к системе идентификации согласно известным подходам, описанным, например, в книге (Горелик А.Л. Методы распознавания: учеб. пособие / А.Л. Горелик, В.А. Скрипкин. - М.: Высш. шк., 1984. - 208 с.) на страницах 26-30.
Если максимальное значение степени корреляции превышает первое пороговое значение, выполняют следующие действия.
306. Отождествляют идентифицируемое устройство и одно из зарегистрированных устройств, для которых рассчитанная степень корреляции является максимальной.
307. Формируют идентификатор пользователя на стороне клиента аналогично (203).
308. Передают сформированный идентификатор пользователя со стороны клиента на сторону сервера.
309. На стороне сервера выполняют сравнение полученного идентификатора с каждым из идентификаторов зарегистрированных пользователей, определяя степень их корреляции (меру близости) аналогично (304).
310. Среди всех рассчитанных значений степени корреляции определяют максимальное и сравнивают его со вторым пороговым значением. Если максимальное значение степени корреляции не превышает второе пороговое значение, принимают решение о том, что идентифицируемое устройство является зарегистрированным, а процедура идентификации пользователя не выполнена, после чего завершают процесс идентификации.
Второе пороговое значение выбирают так же, как и в (305).
Если максимальное значение степени корреляции превышает второе пороговое значение, выполняют следующие действия:
311. Отождествляют идентифицируемого пользователя и одного из зарегистрированных пользователей, для которых рассчитанная степень корреляции является максимальной.
312. Определяют, является ли идентифицированный пользователь допущенным к работе на идентифицированном устройстве, к примеру, путем поиска имени пользователя в текстовом файле со списком имен допущенных пользователей к соответствующему устройству.
Если нет, принимают решение о том, что идентифицируемое устройство является зарегистрированным, пользователь является зарегистрированным, но пользователь не имеет допуска к работе на устройстве, после чего завершают процесс идентификации.
Если да, принимают решение о том, что идентифицируемое устройство является зарегистрированным, пользователь является зарегистрированным, пользователь имеет допуск к работе на устройстве, после чего завершают процесс идентификации.
Основное преимущество предлагаемого способа по сравнению с известными способами идентификации устройства и пользователя на основании данных cookies заключается в том, что обеспечивается различение пользователей в случае многопользовательской эксплуатации одного устройства, и тем самым обеспечивается выявление пользователя, не допущенного к работе на зарегистрированном устройстве. В свою очередь, выявление нарушителя и предотвращение несанкционированного доступа повышает уровень защиты информации, предоставляемой сервером информационной системы зарегистрированным клиентам.
Процесс выявления нарушителя, который получил доступ к зарегистрированному устройству, может быть реализован в следующем примере. Выполнение нарушителем входа в личный почтовый ящик на сервисе электронной почты приведет к тому, что на зарегистрированном устройстве изменится одно из значений cookies с именем из списка, сформированного в (203), что, в свою очередь, приведет к изменению идентификатора. Идентификатор пользователя-нарушителя будет отличным от идентификатора зарегистрированного пользователя, что при обращении к информационной системе и выполнении процедуры идентификации приведет к одному из следующих решений:
1. Если пользователь-нарушитель не является зарегистрированным в системе, то в (310) будет принято решение о том, что идентифицируемое устройство является зарегистрированным, а процедура идентификации пользователя не выполнена.
2. Если пользователь-нарушитель является зарегистрированным в системе, то в (312) будет принято решение о том, что идентифицируемое устройство является зарегистрированным, пользователь является зарегистрированным, но пользователь не имеет допуска к работе на устройстве.
На основании любого из указанных решений, полученных от системы идентификации, информационная система выявляет нарушителя и предотвращает несанкционированный доступ.
При этом известные способы идентификации устройства и пользователя (рассмотренные в качестве аналогов и прототипа) в указанной ситуации не позволят выявить нарушителя, если пороговое значение принятия решения превышает разницу как минимум в одном значении cookie. В этом случае пользователь-нарушитель будет отождествлен с зарегистрированным пользователем в пределах допустимой погрешности.