СПОСОБ И СИСТЕМА ИДЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЯ ПО КЛАВИАТУРНОМУ ПОЧЕРКУ Российский патент 2023 года по МПК G06F21/31 G06N20/00 

Описание патента на изобретение RU2801673C2

ОБЛАСТЬ ТЕХНИКИ

Настоящее техническое решение относится к области вычислительной техники, в частности, к способу и системе идентификации пользователя по манере манипулировать компьютерной клавиатурой.

УРОВЕНЬ ТЕХНИКИ

Задача защиты информации от несанкционированного доступа становится все более актуальной. Наиболее достоверные результаты дает использование биометрических методов аутентификации.

К ним относятся следующие методы:

распознавание голоса;

распознавание лица;

распознавание радужной оболочки глаза;

распознавание отпечатков пальцев.

Кроме того, для каждого человека характерен собственный клавиатурный почерк (Keystroke Dynamics, keystroke biometrics, typing dynamics: https://en.wikipedia.org/wiki/Keystroke_dynamics). При этом использование распознавания клавиатурного почерка обладает рядом преимуществ перед другими методами аутентификации. Дело в том, что для распознавания клавиатурного почерка не требуется дополнительное оборудование, вследствие чего цена внедрения такой системы невысока. Кроме того, мониторинг клавиатурного почерка можно производить непрерывно и незаметно для пользователя, не отвлекая его внимания от рабочего процесса.

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

Пальцы рук человека представляют собой чрезвычайно сложную систему, обладающую способностью гибко адаптироваться к внешним обстоятельствам; однако в разных обстоятельствах время, требуемое для некоего элементарного действия, например нажатия определенной клавиши, будет различным и будет зависеть от того, какие другие элементарные действия необходимо было выполнить перед этим действием и после него.

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

Из уровня техники широко известны решения, которые используют клавиатурный почерк для идентификаций пользователей, в части такие решения описаны в заявках: WO 2011039371 А1, опубл. 07.04.2011; GB 2470579 A, опубл. 01.12.2010; US 9590986 B2, 07.03.2017; WO 2017070600 A1, 27.03.2017; US 2015169854 A1, 18.06.2015.

Кроме того, на текущем уровне техники известны решения, локально решающие вопросы проверки личности пользователя во время взаимодействия с клавиатурой; они раскрыты в следующих документах: ЕР 2477136 В1 и US 2015169854 A1.

Однако известные из уровня техники решения, предназначенные для идентификации пользователей по клавиатурному почерку, имеют ограниченную функциональность: в данных решениях не рассчитываются все возможные временные интервалы между всеми клавиатурными событиями, возникающими в ходе набора логина и пароля.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Технической проблемой, на решение которой направлено заявленное техническое решение, является создание компьютерно-реализуемого способа и системы идентификации пользователя по клавиатурному почерку, которые охарактеризованы в независимых пунктах формулы. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.

Технический результат заключается в автоматической идентификации пользователя по клавиатурному почерку.

В предпочтительном варианте реализации заявлен компьютерно-реализуемый способ идентификации пользователя по клавиатурному почерку, заключающийся в выполнении этапов, на которых с помощью вычислительного устройства:

- регистрируют учетные данные пользователя в системе;

- присваивают соответствующий учетным данным идентификатор пользователю;

- обучают классификатор идентифицировать пользователя, при этом во время обучения учетные данные вводятся в систему с клавиатуры заданное количество раз, и во время каждого ввода:

• Измеряют время удержания каждой клавиши в нажатом состоянии;

Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных;

Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных;

• Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных;

• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных;

• При каждом вводе на основе измеренных временных интервалов формируют набор данных пользователя, которому присваивают идентификатор, ассоциированный с соответствующим пользователем;

• Сохраняют сформированные наборы данных, ассоциированные с соответствующим пользователем, в базе данных;

• Выбирают из базы данных с помощью алгоритма отбора наиболее устойчивые признаки;

• Обучают классификатор идентифицировать пользователя при вводе учетных данных в систему на основе отобранных наиболее устойчивых признаков;

- применяют обученный классификатор для последующего подтверждения идентичности пользователя, вводящего учетные данные при входе в систему, тому пользователю, на наборах данных которого был обучен классификатор.

В частном варианте после обучения классификатора выбирают пороговое значение, превышение которого свидетельствует об идентичности пользователя, вводящего учетные данные, тому пользователю, на наборах данных которого был обучен классификатор.

В другом частном варианте при получении ответа обученного классификатора, численно меньшего выбранного порогового значения, информируют о доступе к учетным данным неидентифицированного пользователя.

В другом частном варианте при наборе учетных данных дополнительно измеряют временные интервалы, образуемые при нажатии несимвольных клавиш, например, Shift или Tab.

В другом частном варианте обучают классификатор методом машинного обучения.

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

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

Заявленное решение также осуществляется за счет системы идентификации пользователя по клавиатурному почерку, содержащей:

- клавиатуру;

- блок регистрации учетных данных пользователя в системе;

- системные часы, выполненные с возможностью фиксации времени нажатия и времени отпускания клавиш клавиатуры;

- долговременную память, выполненную с возможностью хранения базы данных;

- вычислительное устройство, выполненное с возможностью выполнения описанного способа.

В одном из возможных вариантов реализации заявленное решение является частью системы дистанционного банковского обслуживания.

В другом из возможных вариантов реализации заявленное решение является частью вебсайта, подразумевающего авторизацию пользователей, например, интернет-магазина.

ОПИСАНИЕ ЧЕРТЕЖЕЙ

Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:

Фиг. 1 иллюстрирует компьютерно-реализуемый способ идентификации пользователя по клавиатурному почерку;

Фиг. 2 иллюстрирует временные интервалы, измеряемые по описываемому способу при вводе данных с клавиатуры;

Фиг. 3 иллюстрирует неограничивающие способы условного разделения компьютерной клавиатуры на зоны;

Фиг. 4 иллюстрирует пример общей схемы компьютерного устройства.

ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящего изобретения. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять излишне понимание особенностей настоящего изобретения.

Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.

Настоящее изобретение направлено на обеспечение компьютерно-реализуемого способа и системы идентификации пользователя по клавиатурному почерку.

Сигнал, формируемый любой современной компьютерной клавиатурой в ответ на нажатие или отпускание любой единичной клавиши, однозначно идентифицирует нажатую клавишу. Притом вид этого сигнала не зависит ни от того, с какой силой была нажата клавиша, ни от того, насколько быстро она была нажата, ни от того, долго ли ее удерживали нажатой перед тем как отпустить, ни от других подобных факторов.

Выходной сигнал клавиатуры, на которой набирают некий текст, представляет собой набор так называемых скан-кодов (https://ru.wikipedia.org/w/index.php?title=%D0%A1%D0%BA%D0%B0%D0%BD-%D0%BA%D0%BE%D0%B4&oldid=98124315), последовательно передаваемых в цифровом (двоичном) виде через порт, к которому подключена клавиатура. Каждый из этих скан-кодов однозначно идентифицирует определенную клавишу и притом указывает, была ли соответствующая клавиша нажата или отпущена. Иными словами, каждой клавише поставлены в соответствие по меньшей мере два различных скан-кода:

• скан-код нажатия,

• скан-код отпускания.

Скан-коды уникальны в рамках конкретной конфигурации компьютера; они передаются клавиатурой в порт независимо от состояния остальных устройств ввода.

Вследствие этого, в связи с нажатием на компьютерной клавиатуре любой клавиши программе, обрабатывающей состояние порта клавиатуры, становятся известны: (1) момент нажатия, (2) момент отпускания, (3) информация о том, какая конкретно клавиша была нажата или отпущена. Фиксация конкретного момента нажатия или отпускания (timestamp) при этом может быть реализована, например, за счет доступа программы к данным системных часов.

Перед началом работы на компьютере новому сотруднику сообщают его учетные данные и поручают 10-15 раз ввести логин и пароль в окне пользовательского интерфейса. Количество необходимых итераций ввода учетной записи для каждого конкретного пользователя может быть различным, т.к. зависит не только от опыта работы данного пользователя на клавиатуре, но и от «степени знакомства» его с конкретной клавиатурой.

В альтернативном варианте воплощения система, реализующая описываемый способ, ассоциирована с окном браузера, в котором пользователь должен вводить ввести учетные данные, например, окном системы дистанционного банковского обслуживания или сайта интернет-магазина, имеющего функцию личного кабинета и подразумевающего авторизацию покупателей. При этом система, реализующая описанный способ, получает нажатия клавиш компьютерной клавиатуры, вычисляет и сохраняет необходимые данные, которые будут описаны ниже.

Как представлено на Фиг. 1, заявленный компьютерно-реализуемый способ идентификации пользователя по клавиатурному почерку (100) реализован следующим образом:

На этапе (101) предварительно регистрируют учетные данные пользователя в системе. Учетные данные пользователя - это имя пользователя и пароль. Это важный компонент обеспечения сетевой безопасности.

Далее на этапе (102) присваивают соответствующий учетным данным идентификатор пользователю. В качестве идентификатора пользователя в заявленном решении может быть использован как произвольный псевдоним ("Иванов. И.И."), не совпадающий с логином и введенный пользователем по запросу системы в начале обучения, так и псевдослучайное число, например, хэш-функция от значения системного времени, полученного в момент нажатия первой клавиши при введении первого пароля с точностью до 0.001 секунды.

В альтернативном варианте реализации идентификация конкретного пользователя может производиться, например, по его userid, т.е. уникальному идентификатору, присваиваемому каждому клиенту системой, например, системой дистанционного банковского обслуживания (ДБО).

С целью дополнительного снижения вероятности утери данных, система ДБО, получив правильные учетные данные и проассоциировав с данным пользовательским сеансом конкретный user id, может вычислять от него любую наперед заданную хэш-функцию и передавать в систему, реализующую описанный способ, именно хэш от userjd, а не сам user id. Для целей реализации данного способа неважно, как именно выглядит идентификатор пользователя, важно лишь, чтобы он стабильно повторялся в каждом сеансе работы этого пользователя.

На этапе (103) обучают классификатор идентифицировать пользователя, при этом во время обучения учетные данные вводятся в систему с клавиатуры заданное количество раз, и во время каждого ввода:

• Измеряют время удержания каждой клавиши в нажатом состоянии и фиксируют измеренные значения;

• Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения;

• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения;

• Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения;

• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения;

• При каждом вводе на основе измеренных временных интервалов формируют набор данных пользователя, которому присваивают идентификатор, ассоциированный с соответствующим пользователем;

• Сохраняют сформированные наборы данных, ассоциированные с соответствующим пользователем, в базе данных;

• Выбирают из базы данных с помощью алгоритма отбора наиболее устойчивые признаки;

• Обучают классификатор идентифицировать пользователя при вводе учетных данных в систему на основе отобранных наиболее устойчивых признаков.

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

Покажем, применительно к Фиг. 2, на примере с вводом слова «ЛОГИН», как именно могут вычисляться временные интервалы, которые впоследствии используют в качестве признаков для обучения классификатора.

На Фиг. 2 показан набор временных интервалов 200, который будет вычислен по описываемому способу при наборе на клавиатуре последовательности клавиш Л 202,0 204, Г 206, И 208 и Н 210. Для каждой из этих клавиш при помощи системных часов фиксируется время нажатия, например, время нажатия 212 клавиши Л 202 или время нажатия 216 клавиши О 204. Также для каждой из этих клавиш при помощи системных часов фиксируется время отпускания клавиши, например, время отпускания 214 клавиши Л 202 или время отпускания 218 клавиши О 204.

Измеряют время удержания каждой клавиши в нажатом состоянии: время удержания в нажатом состоянии 220 клавиши Л 202, время удержания в нажатом состоянии 254 клавиши О 204, время удержания в нажатом состоянии 280 клавиши Г 206, время удержания в нажатом состоянии 294 клавиши И 208 и время удержания в нажатом состоянии 299 клавиши Н 210.

Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных. Это может быть выполнено так: измеряют интервалы 222, 226, 230 и 234 между нажатием 212 клавиши Л 202 и нажатиями клавиш О 204, Г 206, И 208 и Н 210 соответственно. Измеряют интервалы 256,260 и 264 между нажатием 216 клавиши О 204 и нажатиями клавиш Г 206, И 208 и Н 210 соответственно. Интервал 222 между нажатиями клавиш Л 202 и О 204 при этом не измеряют, поскольку он уже был измерен ранее. Измеряют интервалы 282 и 286 между нажатием клавиши Г 206 и нажатиями клавиш И 208 и Н 210 соответственно. Измеряют интервал 295 между нажатиями клавиш И 208 и Н 210, и получают таким образом полную совокупность интервалов между моментом нажатия каждой клавиши и моментами нажатия всех остальных клавиш.

Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных. Это может быть выполнено так: измеряют интервалы 240, 244, 248 и 252 между моментом отпускания 214 клавиши Л 202 и моментами отпускания клавиш О 204, Г 206, И 208 и Н 210 соответственно. Измеряют интервалы 270, 274 и 278 между моментом отпускания 218 клавиши О 204 и моментами отпускания клавиш Г 206, И 208 и Н 210 соответственно. Интервал 240 между моментами отпускания клавиш Л 202 и О 204 при этом не измеряют, поскольку он уже был измерен ранее. Измеряют интервалы 291 и 293 между моментом отпускания клавиши Г 206 и моментами отпускания клавиш И 208 и Н 210 соответственно. Измеряют интервал 298 между моментами отпускания клавиш И 208 и Н 210, и получают таким образом полную совокупность интервалов между моментом отпускания каждой клавиши и моментами отпускания всех остальных клавиш.

Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных. Это может быть выполнено так: измеряют интервалы 224, 228, 232 и 236 между моментом нажатия 212 клавиши Л 202 и моментами отпускания клавиш О 204, Г 206, И 208 и Н 210 соответственно. Измеряют интервалы 258,262 и 266 между нажатием 216 клавиши О 204 и моментами отпускания клавиш Г 206, И 208 и Н 210 соответственно. Интервал 238 между нажатием клавиши О 204 и отпусканием клавиши Л 202 при этом не измеряют, поскольку он уже был измерен ранее. Измеряют интервалы 284 и 288 между нажатием клавиши Г 206 и моментами отпускания клавиш И 208 и Н 210 соответственно. Измеряют интервал 296 между нажатием клавиши И 208 и моментом отпускания клавиши Н 210, и получают таким образом полную совокупность интервалов между моментом нажатия каждой клавиши и моментами отпускания всех остальных клавиш.

Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных. Это может быть выполнено так: измеряют интервалы 238, 242, 246 и 250 между моментом отпускания 214 клавиши Л 202 и моментами нажатия клавиш О 204, Г 206, И 208 и Н 210 соответственно. Измеряют интервалы 268, 272 и 276 между моментом отпускания 218 клавиши О 204 и моментами нажатия клавиш Г 206, И 208 и Н 210 соответственно. Интервал 224 между моментом отпускания клавиши О 204 и моментом нажатия клавиши Л 202 при этом не измеряют, поскольку он уже был измерен ранее. Измеряют интервалы 290 и 292 между моментом отпускания клавиши Г 206 и моментами нажатия клавиш И 208 и Н 210 соответственно. Измеряют интервал 297 между моментом отпускания клавиши И 208 и моментом нажатия клавиши Н 210, и получают таким образом полную совокупность интервалов между моментом отпускания каждой клавиши и моментами нажатия всех остальных клавиш.

Под измерением временного интервала в данном случае подразумевается вычисление разности между двумя отметками системных часов (timestamp), полученными при поступлении соответствующих скан-кодов.

Значение времени может быть измерено, например, с точностью до 0.01 секунды и выражено в десятичном, шестнадцатеричном или любом другом удобном формате; полученные значения могут быть, в частности, сохранены в особом файле набора данных конкретного пользователя. Порядковый номер интервала может не записываться, т.к. он следует из места измеренного значения в ряду остальных значений набора.

Неограничивающий пример порядка, в котором могут рассчитываться временные интервалы и сохраняться полученные значения, приводится ниже применительно к Фиг. 2.

В момент нажатия 212 первой клавиши - это Л 202 - фиксируют первую отметку системных часов. В момент отпускания 214 клавиши Л 202 фиксируют вторую отметку системных часов, рассчитывают интервал 220 между первой и второй отметками системных часов и сохраняют полученное значение. В момент нажатия 216 клавиши О 204 фиксируют третью отметку системных часов, рассчитывают временные интервалы 222 между первой и третьей отметками системных часов и 238 между второй и третьей отметками системных часов и сохраняют полученные значения. В момент отпускания 218 клавиши О 204 фиксируют четвертую отметку системных часов, рассчитывают временные интервалы: 224 между первой и четвертой отметками системных часов, 240 между второй и четвертой отметками системных часов, 254 между третьей и четвертой отметками системных часов и сохраняют полученные значения. Дальнейшие вычисления производят аналогично.

Следует отметить, что при работе на клавиатуре некоторые пользователи иногда нажимают «следующую» клавишу раньше, чем отпустили «предыдущую». В этом случае, применительно к Фиг. 2, время нажатия второй клавиши 216 будет ближе к моменту начала набора 212, чем время отпускания первой клавиши 214. Эта особенность работы на клавиатуре окажет влияние только на величину соответствующих временных интервалов (220, 222, 238 и т.д.). Ни на общее количество временных интервалов, измеряемых для символов, составляющих логин и пароль, ни на функционирование системы, реализующей описываемый метод, подобная особенность пользователя не повлияет Однако то обстоятельство, что измеряемые временные интервалы в этом случае будут иметь совершенно другие величины, нежели для пользователей с обычной манерой набора, позволяет говорить о большей надежности идентификации по описываемому способу.

Помимо клавиш, соответствующих "осмысленным", т.е. применимым при вводе логина и пароля символам, все компьютерные клавиатуры имеют ряд служебных клавиш. Некоторые из них, такие как клавиша Ctrl, не оказывают влияния на ввод символов в текстовое поле. Поэтому поступление скан-кодов таких клавиш в рамках описываемого метода может игнорироваться. В альтернативной реализации способа скан-коды неалфавитных клавиш могут обрабатываться аналогично скан-кодам клавиш, соответствующих символам.

Другие служебные клавиши, такие как Del или Backspace, всегда используются только в том случае, когда пользователь, набирая символы, допустил ошибку и хотел бы удалить только что введенный символ.

При этом, учитывая, что клавиша Backspace удаляет символ, находящийся левее текущей позиции текстового курсора, поступление скан-кода данной клавиши означает, что предыдущий символ был введен ошибочно.

В рамках реализации описываемого метода - это может приводить к удалению той части формируемого клавиатурного набора, в вычисление которой был ранее вовлечен этот предыдущий символ, и продолжение расчета набора, начиная со следующего после Backspace символа, который будет рассматривается "вместо" ошибочно введенного. Собственно, скан-код Backspace при расчете набора игнорируется.

Если пользователь нажимает Backspace несколько раз, то может удаляться соответствующая часть уже рассчитанного набора, вплоть до полного его обнуления в случае, если количество нажатий Backspace было больше или равно количеству уже введенных символов.

Поскольку клавиша Del удаляет символ, расположенный правее текстового курсора, для того, чтобы удалить этой клавишей последний введенный символ, пользователь сначала нажимает служебную клавишу "стрелка влево", и лишь затем Del.

Поэтому поступление одного за другим скан-кодов клавиш "стрелка влево" и Del обрабатывается аналогично случаю с получением скан-кода Backspace. Собственно, скан-коды клавиш "стрелка влево" и Del при расчете клавиатурного набора игнорируются. Комбинации скан-кодов вида "X нажатий "стрелки влево", затем X нажатий Del" обрабатываются аналогично вышеописанной ситуации, когда X раз подряд нажата клавиша Backspace.

Служебная клавиша Enter в интерфейсах авторизации часто используется для подтверждения введенных в текстовые поля логина и пароля, т.е. выполняет роль команды "Ввести набранные логин и пароль". По этой причине поступление скан-кода клавиши Enter может, наряду с другими признаками, служить для системы, реализующей описываемый способ, сигналом о том, что расчет текущего клавиатурного набора следует завершить, а полученные значения - сохранить в файл.

При каждом удачном вводе логина и пароля подсистема формирует набор данных пользователя, которому присваивают идентификатор, ассоциированный с соответствующим пользователем. Кроме того, в случаях, когда пользователь допускает ошибку, вводя неверные учетные данные, подсистема может просить его повторить ввод данных, выводя соответствующее сообщение.

Каждый новый сформированный наборы данных сохраняют в базе данных. После чего выбирают из базы данных с помощью алгоритма отбора наиболее устойчивые признаки, то есть такие временные интервалы между различными клавиатурными событиями, которые чаще всего имеют близкие значения.

Алгоритм отбора наиболее устойчивых признаков может быть любым общеизвестным. Неограничивающий пример такого алгоритма приведен ниже. Допустим, имеется 10 наборов данных {К} одного пользователя, содержащих каждый одно и то же количество признаков t(k):

Вычисляют значение дисперсии D для каждого множества "одноименных" признаков, т.е. находящихся на одной и той же позиции внутри набора данных {К}:

Дисперсия D может быть вычислена как дисперсия случайной величины, либо любым другим общеизвестным способом.

Затем отбирают некоторое наперед заданное количество (например, 50 или 200) признаков t(k), обладающих минимальной дисперсией.

Описанный пример способа отбора признаков не является ограничивающим. Альтернативно может использоваться любой другой известный способ выделения признаков:

https://ra.wikipedia.org/w/index.php?title=%D0%92%Dl%8B%D0%B4%D0%B5%D0%BB% D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B8%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%B2&oldid=98135923

На основе отобранных наиболее устойчивых признаков обучают классификатор идентифицировать пользователя при вводе учетных данных в систему. После чего применяют обученный классификатор для последующего подтверждения идентичности пользователя, вводящего учетные данные при входе в систему, тому пользователю, на наборах данных которого был обучен этот классификатор.

Техническая реализация классификатора может быть любой общеизвестной; он может быть реализован, например, как Isolation Forest или как One Class SVM.

Ниже приведены дополнительные варианты реализации настоящего изобретения.

В частном варианте после обучения классификатора выбирают пороговое значение, превышение которого свидетельствует об идентичности пользователя, вводящего учетные данные, тому пользователю, на наборах данных которого был обучен классификатор.

В другом частном варианте при получении ответа обученного классификатора, численно меньшего выбранного порогового значения, информируют о доступе к учетным данным неидентифицированного пользователя.

В другом частном варианте при наборе учетных данных дополнительно фиксируют нажатия несимвольных клавиш.

В другом частном варианте обучают классификатор методом машинного обучения.

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

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

Возможен такой вариант системы, реализующей описанный способ, при котором система является составной частью веб-сайта, подразумевающего авторизацию пользователей, например, интернет-магазина или портала государственных услуг.

Возможен также вариант реализации настоящего способа, при котором клавиатуру предварительно условно разделяют на две или более зон набора. Неограничивающие примеры такого разделения приведены на Фиг. 3.

Например, клавиатура 300 разделена на зону служебных клавиш 302, левую зону алфавитно-цифрового блока 304, среднюю зону алфавитно-цифрового блока 310, правую зону алфавитно-цифрового блока 312, левую 306 и правую 314 зоны клавиш-модификаторов, зону пробела 308, зону цифровой клавиатуры 318 и зону служебных клавиш цифровой клавиатуры 316.

Альтернативно, клавиатура 350 разделена на верхнюю зону 352, среднюю зону 354 и нижнюю зону 356.

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

Например, применительно к клавиатуре 350, временные интервалы для клавиш верхней зоны 352 умножают на 10, временные интервалы для клавиш средней зоны 354 оставляют без изменения (умножают на 1), и временные интервалы для клавиш нижней зоны 356 умножают на 0.1.

Возможна также реализация описываемого способа, используемая в ситуации, когда конкретная учетная запись (то есть логин и пароль) закреплены не за одним пользователем, а за определенной, заранее известной группой лиц. Например, учениками одного класса средней школы, студентами одной учебной группы и т.д. В такой реализации описываемого способа все лица, имеющие право пользоваться данной учетной записью, поочередно проходят обучение, как это было описано применительно к этапам 101 и 102, показанным на Фиг. 1. После того, как для всех были измерены и сохранены временные интервалы, как это было показано применительно к Фиг. 2, производят, используя любой общеизвестный способ выделения признаков, отбор признаков, а затем обучение классификатора. Обученный таким образом классификатор впоследствии используют для идентификации данной группы лиц. Решение классификатора в этом случае трактуют как вероятность того, что человек, вводящий учетные данные, принадлежит к данной группе лиц.

На Фиг. 4 далее будет представлена общая схема компьютерного устройства (400), обеспечивающего обработку данных, необходимую для реализации заявленного решения.

В общем случае устройство (400) содержит такие компоненты, как: один или более процессоров (401), по меньшей мере одну память (402), средство хранения данных (403), интерфейсы ввода/вывода (404), средство В/В (405), средства сетевого взаимодействия (406).

Процессор (401) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (400) или функциональности одного или более его компонентов. Процессор (401) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (402).

Память (402), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.

Средство хранения данных (403) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п.Средство (403) позволяет выполнять долгосрочное хранение различного вида информации, например, вышеупомянутых файлов с наборами данных пользователей, базы данных, содержащих записи измеренных для каждого пользователя временных интервалов, идентификаторов пользователей и т.п.

Интерфейсы (404) представляют собой стандартные средства для подключения и работы с серверной частью, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, Fire Wire и т.п.

Выбор интерфейсов (404) зависит от конкретного исполнения устройства (400), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п.

В качестве средств В/В данных (405) в любом воплощении системы, реализующей описываемый способ, должна использоваться клавиатура. Аппаратное исполнение клавиатуры может быть любым известным: это может быть, как встроенная клавиатура, используемая на ноутбуке или нетбуке, так и обособленное устройство, подключенное к настольному компьютеру, серверу или иному компьютерному устройству. Подключение при этом может быть, как проводным, при котором соединительный кабель клавиатуры подключен к порту PS/2 или USB, расположенному на системном блоке настольного компьютера, так и беспроводным, при котором клавиатура осуществляет обмен данными по каналу беспроводной связи, например, радиоканалу, с базовой станцией, которая, в свою очередь, непосредственно подключена к системному блоку, например, к одному из USB-портов. Помимо клавиатуры, в составе средств В/В данных также может использоваться: джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п.

Средства сетевого взаимодействия (406) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п.С помощью средств (405) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.

Компоненты устройства (400) сопряжены посредством общей шины передачи данных (410).

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

Похожие патенты RU2801673C2

название год авторы номер документа
Способ и система для определения состояния пользователя 2017
  • Яхимович Михаил Николаевич
RU2693640C2
СПОСОБ ФОРМИРОВАНИЯ ЭТАЛОННЫХ ЗНАЧЕНИЙ ХАРАКТЕРИСТИКИ ПОЛЬЗОВАТЕЛЯ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА 2005
  • Шарипов Рифат Рашатович
  • Сафиуллин Наиль Закирович
RU2333532C2
ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС ДЛЯ ОБУЧЕНИЯ ПЕЧАТИ НА КЛАВИАТУРЕ 2008
  • Евтишенков Игорь Николаевич
RU2401462C2
СПОСОБ И СИСТЕМА ИДЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЯ ПО ПОСЛЕДОВАТЕЛЬНОСТИ ОТКРЫВАЕМЫХ ОКОН ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА 2019
  • Слипенчук Павел Владимирович
RU2801674C2
Система и способ обнаружения удаленного управления средством удаленного администрирования с использованием сигнатур 2020
  • Иванов Сергей Николаевич
RU2767710C2
СПОСОБ И СИСТЕМА ИДЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЯ ПО ТРАЕКТОРИИ ДВИЖЕНИЯ КУРСОРА 2019
  • Слипенчук Павел Владимирович
RU2792586C1
УСТРАНЕНИЕ НЕОДНОЗНАЧНОСТИ КЛАВИАТУРНОГО ВВОДА 2015
  • Бакстон Уилльям А.С.
  • Хьюз Ричард Л.
  • Хинкли Кеннет П.
  • Пахуд Мишель
  • Спиридонова Ирина
RU2707148C2
КЛАВИАТУРА ДЛЯ ПЕРСОНАЛЬНЫХ И ДРУГИХ ЭЛЕКТРОННЫХ ВЫЧИСЛИТЕЛЬНЫХ МАШИН И СРЕДСТВ 1994
  • Бойкевич А.М.
RU2088964C1
Способ формирования сигнатуры для обнаружения неправомерного доступа к компьютеру, получаемого с помощью средств удаленного администрирования, и реализующая его система 2020
  • Иванов Сергей Николаевич
RU2769651C2
Способ обнаружения вредоносного приложения на устройстве пользователя 2016
  • Колотинский Евгений Борисович
  • Скворцов Владимир Александрович
RU2617924C1

Иллюстрации к изобретению RU 2 801 673 C2

Реферат патента 2023 года СПОСОБ И СИСТЕМА ИДЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЯ ПО КЛАВИАТУРНОМУ ПОЧЕРКУ

Изобретение относится к способу и системе идентификации пользователя по клавиатурному почерку. Технический результат заключается в повышении точности идентификации пользователя по клавиатурному почерку. Способ идентификации пользователя по клавиатурному почерку заключается в выполнении этапов, на которых: регистрируют учетные данные пользователя в системе и присваивают идентификатор пользователю; обучают классификатор идентифицировать пользователя, при этом во время обучения учетные данные вводятся в систему с клавиатуры заданное количество раз и измеряют временные интервалы нажатий клавиш; при каждом вводе на основе измеренных временных интервалов формируют набор данных пользователя, которому присваивают идентификатор, ассоциированный с соответствующим пользователем; сохраняют сформированные наборы данных в базе данных; выбирают из базы данных с помощью алгоритма отбора наиболее устойчивые признаки; обучают классификатор идентифицировать пользователя при вводе учетных данных в систему на основе отобранных наиболее устойчивых признаков; применяют обученный классификатор для последующего подтверждения идентичности пользователя, вводящего учетные данные при входе в систему, тому пользователю, на наборах данных которого был обучен классификатор. 2 н. и 8 з.п. ф-лы, 4 ил.

Формула изобретения RU 2 801 673 C2

1. Способ идентификации пользователя по клавиатурному почерку, заключающийся в выполнении этапов, на которых с помощью вычислительного устройства:

регистрируют учетные данные пользователя в системе;

присваивают соответствующий учетным данным идентификатор пользователю;

обучают классификатор идентифицировать пользователя, при этом во время обучения учетные данные вводятся в систему с клавиатуры заданное количество раз, причем клавиатура предварительно разделена на зоны набора, и во время каждого ввода:

измеряют время удержания каждой клавиши в нажатом состоянии;

измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных;

измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных;

измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных;

измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных;

при каждом вводе на основе измеренных временных интервалов формируют набор данных пользователя, причем временные интервалы, зафиксированные для клавиш из каждой зоны набора, дополнительно умножают на коэффициент, заданный заранее и поставленный в соответствие данной зоне набора, и присваивают набору данных идентификатор, ассоциированный с соответствующим пользователем;

сохраняют сформированные наборы данных, ассоциированные с соответствующим пользователем, в базе данных;

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

обучают классификатор идентифицировать пользователя при вводе учетных данных в систему на основе отобранных наиболее устойчивых признаков;

применяют обученный классификатор для последующего подтверждения идентичности пользователя, вводящего учетные данные при входе в систему, тому пользователю, на наборах данных которого был обучен классификатор.

2. Способ по п. 1, характеризующийся тем, что после обучения классификатора выбирают пороговое значение, превышение которого свидетельствует об идентичности пользователя, вводящего учетные данные, тому пользователю, на наборах данных которого был обучен классификатор.

3. Способ по п. 2, характеризующийся тем, что при получении ответа обученного классификатора, численно меньшего выбранного порогового значения, информируют о доступе к учетным данным неидентифицированного пользователя.

4. Способ по п. 1, характеризующийся тем, что при наборе учетных данных дополнительно фиксируют нажатия несимвольных клавиш.

5. Способ по п. 1, характеризующийся тем, что обучают классификатор методом машинного обучения.

6. Способ по п. 1, характеризующийся тем, что в качестве алгоритма отбора используют отсев заранее заданного количества признаков, имеющих наибольшую дисперсию в наборах данных соответствующего пользователя.

7. Способ по п. 1, характеризующийся тем, что под идентификацией пользователя понимают идентификацию заранее установленной группы лиц, пользующихся одной и той же учетной записью.

8. Система идентификации пользователя по клавиатурному почерку, содержащая:

клавиатуру;

блок регистрации учетных данных пользователя в системе;

системные часы, выполненные с возможностью фиксации времени нажатия и времени отпускания клавиш клавиатуры;

долговременную память, выполненную с возможностью хранения базы данных;

вычислительное устройство, выполненное с возможностью выполнения способа по любому из пп. 1-7.

9. Система по п. 8, характеризующаяся тем, что система идентификации пользователя по клавиатурному почерку является составной частью дистанционной системы банковского обслуживания.

10. Система по п. 9, характеризующаяся тем, что система идентификации пользователя является составной частью веб-сайта, подразумевающего авторизацию пользователей.

Документы, цитированные в отчете о поиске Патент 2023 года RU2801673C2

СПОСОБ ДИАГНОСТИКИ АНОМАЛИЙ УПАКОВКИ ХРОМАТИНА СПЕРМАТОЗОИДОВ ПРИ МУЖСКОМ БЕСПЛОДИИ 2010
  • Кирьянов Глеб Иванович
  • Кинцурашвили Лия Нодарьевна
  • Поляков Владимир Юрьевич
RU2437100C1
Печь-кухня, могущая работать, как самостоятельно, так и в комбинации с разного рода нагревательными приборами 1921
  • Богач В.И.
SU10A1
Печь-кухня, могущая работать, как самостоятельно, так и в комбинации с разного рода нагревательными приборами 1921
  • Богач В.И.
SU10A1
Станок для придания концам круглых радиаторных трубок шестигранного сечения 1924
  • Гаркин В.А.
SU2019A1
СПОСОБ ФОРМИРОВАНИЯ ЭТАЛОННЫХ ЗНАЧЕНИЙ ХАРАКТЕРИСТИКИ ПОЛЬЗОВАТЕЛЯ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА 2005
  • Шарипов Рифат Рашатович
  • Сафиуллин Наиль Закирович
RU2333532C2
Способ перманентной аутентификации личности и состояния пользователя компьютера на основании паттернов поведения 2015
  • Туровский Ярослав Александрович
  • Кургалин Сергей Дмитриевич
  • Борзунов Сергей Викторович
RU2619196C2

RU 2 801 673 C2

Авторы

Слипенчук Павел Владимирович

Янкелевич Дмитрий Аркадьевич

Даты

2023-08-14Публикация

2019-02-27Подача