RU2801673C2 - Method and system for user identification by keyboard typing pattern - Google Patents
Method and system for user identification by keyboard typing pattern Download PDFInfo
- Publication number
- RU2801673C2 RU2801673C2 RU2019107535A RU2019107535A RU2801673C2 RU 2801673 C2 RU2801673 C2 RU 2801673C2 RU 2019107535 A RU2019107535 A RU 2019107535A RU 2019107535 A RU2019107535 A RU 2019107535A RU 2801673 C2 RU2801673 C2 RU 2801673C2
- Authority
- RU
- Russia
- Prior art keywords
- user
- credentials
- key
- keyboard
- classifier
- Prior art date
Links
Images
Abstract
Description
ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY
Настоящее техническое решение относится к области вычислительной техники, в частности, к способу и системе идентификации пользователя по манере манипулировать компьютерной клавиатурой.The present technical solution relates to the field of computer technology, in particular, to a method and system for identifying a user by the manner in which a computer keyboard is manipulated.
УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE INVENTION
Задача защиты информации от несанкционированного доступа становится все более актуальной. Наиболее достоверные результаты дает использование биометрических методов аутентификации.The task of protecting information from unauthorized access is becoming increasingly important. The most reliable results are obtained by using biometric authentication methods.
К ним относятся следующие методы:These include the following methods:
распознавание голоса; voice recognition;
распознавание лица; face recognition;
распознавание радужной оболочки глаза; recognition of the iris of the eye;
распознавание отпечатков пальцев. fingerprint recognition.
Кроме того, для каждого человека характерен собственный клавиатурный почерк (Keystroke Dynamics, keystroke biometrics, typing dynamics: https://en.wikipedia.org/wiki/Keystroke_dynamics). При этом использование распознавания клавиатурного почерка обладает рядом преимуществ перед другими методами аутентификации. Дело в том, что для распознавания клавиатурного почерка не требуется дополнительное оборудование, вследствие чего цена внедрения такой системы невысока. Кроме того, мониторинг клавиатурного почерка можно производить непрерывно и незаметно для пользователя, не отвлекая его внимания от рабочего процесса.In addition, each person has their own keyboard style (Keystroke Dynamics, keystroke biometrics, typing dynamics: https://en.wikipedia.org/wiki/Keystroke_dynamics). At the same time, the use of keyboard handwriting recognition has a number of advantages over other authentication methods. The fact is that no additional equipment is required to recognize keyboard handwriting, as a result of which the cost of implementing such a system is low. In addition, monitoring of keyboard handwriting can be performed continuously and imperceptibly for the user, without diverting his attention from the workflow.
Клавиатурный почерк - это проявление ряда физиологических, психологических и иных характеристик конкретного человека, выражающееся во время работы на компьютерной клавиатуре в различных временных интервалах между элементарными действиями (нажатием и отпусканием клавиш).Keyboard handwriting is a manifestation of a number of physiological, psychological and other characteristics of a particular person, which is expressed while working on a computer keyboard in various time intervals between elementary actions (pressing and releasing keys).
Пальцы рук человека представляют собой чрезвычайно сложную систему, обладающую способностью гибко адаптироваться к внешним обстоятельствам; однако в разных обстоятельствах время, требуемое для некоего элементарного действия, например нажатия определенной клавиши, будет различным и будет зависеть от того, какие другие элементарные действия необходимо было выполнить перед этим действием и после него.Human fingers are an extremely complex system with the ability to flexibly adapt to external circumstances; however, in different circumstances, the time required for some elementary action, such as pressing a certain key, will be different and will depend on what other elementary actions were necessary before and after this action.
С другой стороны, компьютерные клавиатуры, как правило, имеют хотя и похожие, но различающиеся физические параметры, такие как расстояния между соседними клавишами, высота клавиатуры, угол ее наклона относительно стола, жесткость клавиши и т.д. Вследствие перечисленных фактов клавиатурный почерк будет различным не только у разных людей, но и у одного и того же человека, набирающего текст при помощи разных клавиатур.On the other hand, computer keyboards, as a rule, have similar but different physical parameters, such as the distance between adjacent keys, the height of the keyboard, the angle of its inclination relative to the table, the hardness of the key, etc. As a result of these facts, keyboard handwriting will be different not only for different people, but also for the same person typing with different keyboards.
Из уровня техники широко известны решения, которые используют клавиатурный почерк для идентификаций пользователей, в части такие решения описаны в заявках: 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.From the prior art, solutions are widely known that use keyboard handwriting for user identifications, in part, such solutions are described in applications: WO 2011039371 A1, publ. 04/07/2011; GB 2470579 A, publ. 12/01/2010; US 9590986 B2, 03/07/2017; WO 2017070600 A1, 03/27/2017; US 2015169854 A1, 06/18/2015.
Кроме того, на текущем уровне техники известны решения, локально решающие вопросы проверки личности пользователя во время взаимодействия с клавиатурой; они раскрыты в следующих документах: ЕР 2477136 В1 и US 2015169854 A1.In addition, in the current state of the art, solutions are known that locally solve the issues of verifying the user's identity during interaction with the keyboard; they are disclosed in the following documents: EP 2477136 B1 and US 2015169854 A1.
Однако известные из уровня техники решения, предназначенные для идентификации пользователей по клавиатурному почерку, имеют ограниченную функциональность: в данных решениях не рассчитываются все возможные временные интервалы между всеми клавиатурными событиями, возникающими в ходе набора логина и пароля.However, the solutions known from the prior art, designed to identify users by keyboard handwriting, have limited functionality: these solutions do not calculate all possible time intervals between all keyboard events that occur during login and password typing.
СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
Технической проблемой, на решение которой направлено заявленное техническое решение, является создание компьютерно-реализуемого способа и системы идентификации пользователя по клавиатурному почерку, которые охарактеризованы в независимых пунктах формулы. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.The technical problem to be solved by the claimed technical solution is the creation of a computer-implemented method and system for identifying a user by keyboard handwriting, which are described in independent claims. Additional embodiments of the present invention are presented in dependent claims.
Технический результат заключается в автоматической идентификации пользователя по клавиатурному почерку.EFFECT: technical result consists in automatic user identification by keyboard handwriting.
В предпочтительном варианте реализации заявлен компьютерно-реализуемый способ идентификации пользователя по клавиатурному почерку, заключающийся в выполнении этапов, на которых с помощью вычислительного устройства:In a preferred embodiment, a computer-implemented method for identifying a user by keyboard handwriting is claimed, which consists in performing the steps at which, using a computing device:
- регистрируют учетные данные пользователя в системе;registering user credentials in the system;
- присваивают соответствующий учетным данным идентификатор пользователю;- assign an identifier corresponding to the credentials to the user;
- обучают классификатор идентифицировать пользователя, при этом во время обучения учетные данные вводятся в систему с клавиатуры заданное количество раз, и во время каждого ввода:- the classifier is trained to identify the user, while during training the credentials are entered into the system from the keyboard a specified number of times, and during each input:
• Измеряют время удержания каждой клавиши в нажатом состоянии;• Measure the holding time of each key in the pressed state;
Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных;Measure the intervals between the moment of pressing each key and each of the moments of pressing all other keys involved by the user when entering credentials;
Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных;Measure the intervals between the moment of releasing each key and each of the moments of releasing all other keys involved by the user when entering credentials;
• Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных;• Measure the intervals between the moment of pressing each key and each of the moments of releasing all other keys involved by the user when entering credentials;
• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных;• Measure the intervals between the moment of releasing each key and each of the moments of pressing all other keys involved by the user when entering credentials;
• При каждом вводе на основе измеренных временных интервалов формируют набор данных пользователя, которому присваивают идентификатор, ассоциированный с соответствующим пользователем;• At each input, based on the measured time intervals, a user data set is formed, which is assigned an identifier associated with the respective user;
• Сохраняют сформированные наборы данных, ассоциированные с соответствующим пользователем, в базе данных;• Store the generated datasets associated with the respective user in a database;
• Выбирают из базы данных с помощью алгоритма отбора наиболее устойчивые признаки;• The most stable features are selected from the database using the selection algorithm;
• Обучают классификатор идентифицировать пользователя при вводе учетных данных в систему на основе отобранных наиболее устойчивых признаков;• Train the classifier to identify the user when entering credentials into the system based on the selected most stable features;
- применяют обученный классификатор для последующего подтверждения идентичности пользователя, вводящего учетные данные при входе в систему, тому пользователю, на наборах данных которого был обучен классификатор.- the trained classifier is used to subsequently confirm the identity of the user entering the credentials when logging in to the user on whose data sets the classifier was trained.
В частном варианте после обучения классификатора выбирают пороговое значение, превышение которого свидетельствует об идентичности пользователя, вводящего учетные данные, тому пользователю, на наборах данных которого был обучен классификатор.In a particular variant, after training the classifier, a threshold value is selected, the excess of which indicates the identity of the user entering the credentials to the user on whose data sets the classifier was trained.
В другом частном варианте при получении ответа обученного классификатора, численно меньшего выбранного порогового значения, информируют о доступе к учетным данным неидентифицированного пользователя.In another particular variant, upon receiving a trained classifier response that is numerically less than the selected threshold value, inform about access to the credentials of an unidentified user.
В другом частном варианте при наборе учетных данных дополнительно измеряют временные интервалы, образуемые при нажатии несимвольных клавиш, например, Shift или Tab.In another private variant, when typing credentials, the time intervals formed by pressing non-character keys, for example, Shift or Tab, are additionally measured.
В другом частном варианте обучают классификатор методом машинного обучения.In another particular variant, the classifier is trained by the machine learning method.
В другом частном варианте устойчивыми признаками для каждого пользователя считают временные интервалы, имеющие наименьшую дисперсию в наборах данных этого пользователя.In another particular variant, the time intervals having the smallest dispersion in the data sets of this user are considered to be stable features for each user.
В другом частном варианте в качестве алгоритма отбора используют отсев заранее заданного количества признаков, имеющих наибольшую дисперсию в наборах данных соответствующего пользователя.In another particular variant, the screening of a predetermined number of features that have the largest dispersion in the data sets of the corresponding user is used as a selection algorithm.
Заявленное решение также осуществляется за счет системы идентификации пользователя по клавиатурному почерку, содержащей:The claimed solution is also implemented through a user identification system by keyboard handwriting, containing:
- клавиатуру;- keyboard;
- блок регистрации учетных данных пользователя в системе;- a block for registering user credentials in the system;
- системные часы, выполненные с возможностью фиксации времени нажатия и времени отпускания клавиш клавиатуры;- a system clock configured to fix the time of pressing and releasing the keyboard keys;
- долговременную память, выполненную с возможностью хранения базы данных;- long-term memory configured to store the database;
- вычислительное устройство, выполненное с возможностью выполнения описанного способа.- a computing device configured to perform the described method.
В одном из возможных вариантов реализации заявленное решение является частью системы дистанционного банковского обслуживания.In one of the possible implementation options, the claimed solution is part of a remote banking system.
В другом из возможных вариантов реализации заявленное решение является частью вебсайта, подразумевающего авторизацию пользователей, например, интернет-магазина.In another of the possible implementation options, the claimed solution is part of a website that implies user authorization, for example, an online store.
ОПИСАНИЕ ЧЕРТЕЖЕЙDESCRIPTION OF THE DRAWINGS
Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:The implementation of the invention will be described hereinafter in accordance with the accompanying drawings, which are presented to explain the essence of the invention and in no way limit the scope of the invention. The following drawings are attached to the application:
Фиг. 1 иллюстрирует компьютерно-реализуемый способ идентификации пользователя по клавиатурному почерку;Fig. 1 illustrates a computer-implemented method for identifying a user by keystroke;
Фиг. 2 иллюстрирует временные интервалы, измеряемые по описываемому способу при вводе данных с клавиатуры;Fig. 2 illustrates the time intervals measured by the described method when entering data from the keyboard;
Фиг. 3 иллюстрирует неограничивающие способы условного разделения компьютерной клавиатуры на зоны;Fig. 3 illustrates non-limiting ways to conditionally divide a computer keyboard into zones;
Фиг. 4 иллюстрирует пример общей схемы компьютерного устройства.Fig. 4 illustrates an example general layout of a computing device.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION
В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящего изобретения. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять излишне понимание особенностей настоящего изобретения.In the following detailed description of the implementation of the invention, numerous implementation details are provided to provide a clear understanding of the present invention. However, one skilled in the art will appreciate how the present invention can be used, both with and without these implementation details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to unnecessarily obscure the features of the present invention.
Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.Furthermore, it will be clear from the foregoing that the invention is not limited to the present implementation. Numerous possible modifications, changes, variations and substitutions that retain the spirit and form of the present invention will be apparent to those skilled in the subject area.
Настоящее изобретение направлено на обеспечение компьютерно-реализуемого способа и системы идентификации пользователя по клавиатурному почерку.The present invention is directed to providing a computer-implemented method and system for identifying a user by keystroke.
Сигнал, формируемый любой современной компьютерной клавиатурой в ответ на нажатие или отпускание любой единичной клавиши, однозначно идентифицирует нажатую клавишу. Притом вид этого сигнала не зависит ни от того, с какой силой была нажата клавиша, ни от того, насколько быстро она была нажата, ни от того, долго ли ее удерживали нажатой перед тем как отпустить, ни от других подобных факторов.The signal generated by any modern computer keyboard in response to pressing or releasing any single key uniquely identifies the pressed key. Moreover, the type of this signal does not depend on how hard the key was pressed, or on how quickly it was pressed, or on how long it was held pressed before releasing, or on other similar factors.
Выходной сигнал клавиатуры, на которой набирают некий текст, представляет собой набор так называемых скан-кодов (https://ru.wikipedia.org/w/index.php?title=%D0%A1%D0%BA%D0%B0%D0%BD-%D0%BA%D0%BE%D0%B4&oldid=98124315), последовательно передаваемых в цифровом (двоичном) виде через порт, к которому подключена клавиатура. Каждый из этих скан-кодов однозначно идентифицирует определенную клавишу и притом указывает, была ли соответствующая клавиша нажата или отпущена. Иными словами, каждой клавише поставлены в соответствие по меньшей мере два различных скан-кода:The output signal of the keyboard on which some text is typed is a set of so-called scan codes (https://ru.wikipedia.org/w/index.php?title=%D0%A1%D0%BA%D0%B0% D0%BD-%D0%BA%D0%BE%D0%B4&oldid=98124315) serially transmitted in digital (binary) form through the port to which the keyboard is connected. Each of these scan codes uniquely identifies a particular key and indicates whether the corresponding key has been pressed or released. In other words, each key is assigned at least two different scan codes:
• скан-код нажатия,• scan code of pressing,
• скан-код отпускания.• scan code release.
Скан-коды уникальны в рамках конкретной конфигурации компьютера; они передаются клавиатурой в порт независимо от состояния остальных устройств ввода.Scan codes are unique within a particular computer configuration; they are transmitted by the keyboard to the port, regardless of the state of other input devices.
Вследствие этого, в связи с нажатием на компьютерной клавиатуре любой клавиши программе, обрабатывающей состояние порта клавиатуры, становятся известны: (1) момент нажатия, (2) момент отпускания, (3) информация о том, какая конкретно клавиша была нажата или отпущена. Фиксация конкретного момента нажатия или отпускания (timestamp) при этом может быть реализована, например, за счет доступа программы к данным системных часов.As a result, in connection with pressing any key on the computer keyboard, the program that processes the state of the keyboard port becomes aware of: (1) the moment of pressing, (2) the moment of release, (3) information about which particular key was pressed or released. Fixing a specific moment of pressing or releasing (timestamp) in this case can be implemented, for example, by accessing the program to the system clock data.
Перед началом работы на компьютере новому сотруднику сообщают его учетные данные и поручают 10-15 раз ввести логин и пароль в окне пользовательского интерфейса. Количество необходимых итераций ввода учетной записи для каждого конкретного пользователя может быть различным, т.к. зависит не только от опыта работы данного пользователя на клавиатуре, но и от «степени знакомства» его с конкретной клавиатурой.Before starting work on the computer, a new employee is informed of his credentials and instructed to enter his login and password 10-15 times in the user interface window. The number of required iterations of entering an account for each specific user may be different, because depends not only on the experience of a given user on the keyboard, but also on the “degree of familiarity” with a particular keyboard.
В альтернативном варианте воплощения система, реализующая описываемый способ, ассоциирована с окном браузера, в котором пользователь должен вводить ввести учетные данные, например, окном системы дистанционного банковского обслуживания или сайта интернет-магазина, имеющего функцию личного кабинета и подразумевающего авторизацию покупателей. При этом система, реализующая описанный способ, получает нажатия клавиш компьютерной клавиатуры, вычисляет и сохраняет необходимые данные, которые будут описаны ниже.In an alternative embodiment, the system that implements the described method is associated with a browser window in which the user must enter credentials, for example, a window of a remote banking system or an online store site that has the function of a personal account and implies customer authorization. In this case, the system that implements the described method receives the keystrokes of the computer keyboard, calculates and stores the necessary data, which will be described below.
Как представлено на Фиг. 1, заявленный компьютерно-реализуемый способ идентификации пользователя по клавиатурному почерку (100) реализован следующим образом:As shown in FIG. 1, the claimed computer-implemented method of user identification by keyboard handwriting (100) is implemented as follows:
На этапе (101) предварительно регистрируют учетные данные пользователя в системе. Учетные данные пользователя - это имя пользователя и пароль. Это важный компонент обеспечения сетевой безопасности.In step (101), the user's credentials are pre-registered in the system. The user credentials are the username and password. It is an important component of network security.
Далее на этапе (102) присваивают соответствующий учетным данным идентификатор пользователю. В качестве идентификатора пользователя в заявленном решении может быть использован как произвольный псевдоним ("Иванов. И.И."), не совпадающий с логином и введенный пользователем по запросу системы в начале обучения, так и псевдослучайное число, например, хэш-функция от значения системного времени, полученного в момент нажатия первой клавиши при введении первого пароля с точностью до 0.001 секунды.Next, at step (102), an identifier corresponding to the credentials is assigned to the user. As a user identifier in the claimed solution, either an arbitrary alias ("Ivanov. I.I."), which does not match the login and entered by the user at the request of the system at the beginning of training, or a pseudo-random number, for example, a hash function of the value system time received at the time of pressing the first key when entering the first password with an accuracy of 0.001 seconds.
В альтернативном варианте реализации идентификация конкретного пользователя может производиться, например, по его userid, т.е. уникальному идентификатору, присваиваемому каждому клиенту системой, например, системой дистанционного банковского обслуживания (ДБО).In an alternative implementation, identification of a particular user can be done, for example, by his userid, i.e. a unique identifier assigned to each client by a system, for example, a remote banking system (RBS).
С целью дополнительного снижения вероятности утери данных, система ДБО, получив правильные учетные данные и проассоциировав с данным пользовательским сеансом конкретный user id, может вычислять от него любую наперед заданную хэш-функцию и передавать в систему, реализующую описанный способ, именно хэш от userjd, а не сам user id. Для целей реализации данного способа неважно, как именно выглядит идентификатор пользователя, важно лишь, чтобы он стабильно повторялся в каждом сеансе работы этого пользователя.In order to further reduce the probability of data loss, the RBS system, having received the correct credentials and associated a specific user id with this user session, can calculate from it any pre-specified hash function and send exactly the hash from userjd to the system that implements the described method, and not the user id itself. For the purposes of implementing this method, it does not matter what the user ID looks like, it is only important that it is consistently repeated in each session of this user.
На этапе (103) обучают классификатор идентифицировать пользователя, при этом во время обучения учетные данные вводятся в систему с клавиатуры заданное количество раз, и во время каждого ввода:At step (103), the classifier is trained to identify the user, while during training, the credentials are entered into the system from the keyboard a specified number of times, and during each entry:
• Измеряют время удержания каждой клавиши в нажатом состоянии и фиксируют измеренные значения;• Measure the holding time of each key in the pressed state and fix the measured values;
• Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения;• Measure the intervals between the moment of pressing each key and each of the moments of pressing all other keys involved by the user when entering credentials, and record the measured values;
• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения;• Measure the intervals between the moment of releasing each key and each of the moments of releasing all other keys used by the user when entering credentials, and fix the measured values;
• Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения;• Measure the intervals between the moment of pressing each key and each of the moments of releasing all other keys involved by the user when entering credentials, and fix the measured values;
• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения;• Measure the intervals between the moment of releasing each key and each of the moments of pressing all other keys involved by the user when entering credentials, and fix the measured values;
• При каждом вводе на основе измеренных временных интервалов формируют набор данных пользователя, которому присваивают идентификатор, ассоциированный с соответствующим пользователем;• At each input, based on the measured time intervals, a user data set is formed, which is assigned an identifier associated with the respective user;
• Сохраняют сформированные наборы данных, ассоциированные с соответствующим пользователем, в базе данных;• Store the generated datasets associated with the respective user in a database;
• Выбирают из базы данных с помощью алгоритма отбора наиболее устойчивые признаки;• The most stable features are selected from the database using the selection algorithm;
• Обучают классификатор идентифицировать пользователя при вводе учетных данных в систему на основе отобранных наиболее устойчивых признаков.• The classifier is trained to identify the user when entering credentials into the system based on the selected most stable features.
На этапе (104) применяют обученный классификатор для последующего подтверждения идентичности пользователя, вводящего учетные данные при входе в систему, тому пользователю, на наборах данных которого был обучен классификатор.At step (104), the trained classifier is used to subsequently verify the identity of the user entering the login credentials to the user on whose data sets the classifier was trained.
Покажем, применительно к Фиг. 2, на примере с вводом слова «ЛОГИН», как именно могут вычисляться временные интервалы, которые впоследствии используют в качестве признаков для обучения классификатора.Let us show, in relation to Fig. 2, using the example with the input of the word "LOGIN", how exactly time intervals can be calculated, which are subsequently used as features for training the classifier.
На Фиг. 2 показан набор временных интервалов 200, который будет вычислен по описываемому способу при наборе на клавиатуре последовательности клавиш Л 202,0 204, Г 206, И 208 и Н 210. Для каждой из этих клавиш при помощи системных часов фиксируется время нажатия, например, время нажатия 212 клавиши Л 202 или время нажатия 216 клавиши О 204. Также для каждой из этих клавиш при помощи системных часов фиксируется время отпускания клавиши, например, время отпускания 214 клавиши Л 202 или время отпускания 218 клавиши О 204.On FIG. 2 shows a set of
Измеряют время удержания каждой клавиши в нажатом состоянии: время удержания в нажатом состоянии 220 клавиши Л 202, время удержания в нажатом состоянии 254 клавиши О 204, время удержания в нажатом состоянии 280 клавиши Г 206, время удержания в нажатом состоянии 294 клавиши И 208 и время удержания в нажатом состоянии 299 клавиши Н 210.The time of holding each key in the pressed state is measured: the time of holding in the pressed
Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных. Это может быть выполнено так: измеряют интервалы 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, и получают таким образом полную совокупность интервалов между моментом нажатия каждой клавиши и моментами нажатия всех остальных клавиш.Measure the intervals between the moment of pressing each key and each of the moments of pressing all other keys involved by the user when entering credentials. This can be done as follows: measure the
Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных. Это может быть выполнено так: измеряют интервалы 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, и получают таким образом полную совокупность интервалов между моментом отпускания каждой клавиши и моментами отпускания всех остальных клавиш.Measure the intervals between the moment of releasing each key and each of the moments of releasing all other keys involved by the user when entering credentials. This can be done as follows: the
Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных. Это может быть выполнено так: измеряют интервалы 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, и получают таким образом полную совокупность интервалов между моментом нажатия каждой клавиши и моментами отпускания всех остальных клавиш.Measure the intervals between the moment of pressing each key and each of the moments of releasing all other keys involved by the user when entering credentials. This can be done as follows: the
Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных. Это может быть выполнено так: измеряют интервалы 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, и получают таким образом полную совокупность интервалов между моментом отпускания каждой клавиши и моментами нажатия всех остальных клавиш.Measure the intervals between the moment of releasing each key and each of the moments of pressing all other keys involved by the user when entering credentials. This can be done as follows: the
Под измерением временного интервала в данном случае подразумевается вычисление разности между двумя отметками системных часов (timestamp), полученными при поступлении соответствующих скан-кодов.In this case, the measurement of the time interval means the calculation of the difference between two system clock marks (timestamp) obtained upon receipt of the corresponding scan codes.
Значение времени может быть измерено, например, с точностью до 0.01 секунды и выражено в десятичном, шестнадцатеричном или любом другом удобном формате; полученные значения могут быть, в частности, сохранены в особом файле набора данных конкретного пользователя. Порядковый номер интервала может не записываться, т.к. он следует из места измеренного значения в ряду остальных значений набора.The time value can be measured, for example, to the nearest 0.01 second and expressed in decimal, hexadecimal, or any other convenient format; the obtained values can, in particular, be stored in a specific user-specific dataset file. The sequence number of the interval may not be recorded, because it follows from the position of the measured value in the series of other values in the set.
Неограничивающий пример порядка, в котором могут рассчитываться временные интервалы и сохраняться полученные значения, приводится ниже применительно к Фиг. 2.A non-limiting example of the order in which time intervals can be calculated and the resulting values stored is given below with respect to FIG. 2.
В момент нажатия 212 первой клавиши - это Л 202 - фиксируют первую отметку системных часов. В момент отпускания 214 клавиши Л 202 фиксируют вторую отметку системных часов, рассчитывают интервал 220 между первой и второй отметками системных часов и сохраняют полученное значение. В момент нажатия 216 клавиши О 204 фиксируют третью отметку системных часов, рассчитывают временные интервалы 222 между первой и третьей отметками системных часов и 238 между второй и третьей отметками системных часов и сохраняют полученные значения. В момент отпускания 218 клавиши О 204 фиксируют четвертую отметку системных часов, рассчитывают временные интервалы: 224 между первой и четвертой отметками системных часов, 240 между второй и четвертой отметками системных часов, 254 между третьей и четвертой отметками системных часов и сохраняют полученные значения. Дальнейшие вычисления производят аналогично.At the moment of pressing 212 of the first key - this is L 202 - the first mark of the system clock is fixed. At the moment of releasing 214
Следует отметить, что при работе на клавиатуре некоторые пользователи иногда нажимают «следующую» клавишу раньше, чем отпустили «предыдущую». В этом случае, применительно к Фиг. 2, время нажатия второй клавиши 216 будет ближе к моменту начала набора 212, чем время отпускания первой клавиши 214. Эта особенность работы на клавиатуре окажет влияние только на величину соответствующих временных интервалов (220, 222, 238 и т.д.). Ни на общее количество временных интервалов, измеряемых для символов, составляющих логин и пароль, ни на функционирование системы, реализующей описываемый метод, подобная особенность пользователя не повлияет Однако то обстоятельство, что измеряемые временные интервалы в этом случае будут иметь совершенно другие величины, нежели для пользователей с обычной манерой набора, позволяет говорить о большей надежности идентификации по описываемому способу.It should be noted that when working on the keyboard, some users sometimes press the "next" key before releasing the "previous" key. In this case, with reference to FIG. 2, the time of pressing the
Помимо клавиш, соответствующих "осмысленным", т.е. применимым при вводе логина и пароля символам, все компьютерные клавиатуры имеют ряд служебных клавиш. Некоторые из них, такие как клавиша Ctrl, не оказывают влияния на ввод символов в текстовое поле. Поэтому поступление скан-кодов таких клавиш в рамках описываемого метода может игнорироваться. В альтернативной реализации способа скан-коды неалфавитных клавиш могут обрабатываться аналогично скан-кодам клавиш, соответствующих символам.In addition to the keys corresponding to "meaningful", i.e. characters applicable when entering a login and password, all computer keyboards have a number of service keys. Some of them, such as the Ctrl key, have no effect on entering characters in a text field. Therefore, the receipt of scan codes of such keys can be ignored within the framework of the described method. In an alternative implementation of the method, non-alphabetic key scan codes may be processed similarly to character key scan codes.
Другие служебные клавиши, такие как Del или Backspace, всегда используются только в том случае, когда пользователь, набирая символы, допустил ошибку и хотел бы удалить только что введенный символ.Other service keys, such as Del or Backspace, are always used only when the user has made a mistake while typing characters and would like to delete the character just entered.
При этом, учитывая, что клавиша Backspace удаляет символ, находящийся левее текущей позиции текстового курсора, поступление скан-кода данной клавиши означает, что предыдущий символ был введен ошибочно.In this case, given that the Backspace key deletes the character located to the left of the current position of the text cursor, the receipt of the scan code of this key means that the previous character was entered erroneously.
В рамках реализации описываемого метода - это может приводить к удалению той части формируемого клавиатурного набора, в вычисление которой был ранее вовлечен этот предыдущий символ, и продолжение расчета набора, начиная со следующего после Backspace символа, который будет рассматривается "вместо" ошибочно введенного. Собственно, скан-код Backspace при расчете набора игнорируется.As part of the implementation of the described method, this can lead to the deletion of that part of the generated keyboard set, in the calculation of which this previous character was previously involved, and the continuation of the calculation of the set, starting from the character following the Backspace, which will be considered "instead of" erroneously entered. Actually, the Backspace scan code is ignored when calculating the set.
Если пользователь нажимает Backspace несколько раз, то может удаляться соответствующая часть уже рассчитанного набора, вплоть до полного его обнуления в случае, если количество нажатий Backspace было больше или равно количеству уже введенных символов.If the user presses Backspace several times, then the corresponding part of the already calculated set can be deleted, up to its complete zeroing if the number of Backspace presses was greater than or equal to the number of characters already entered.
Поскольку клавиша Del удаляет символ, расположенный правее текстового курсора, для того, чтобы удалить этой клавишей последний введенный символ, пользователь сначала нажимает служебную клавишу "стрелка влево", и лишь затем Del.Since the Del key deletes the character located to the right of the text cursor, in order to delete the last character entered with this key, the user first presses the "left arrow" service key, and only then Del.
Поэтому поступление одного за другим скан-кодов клавиш "стрелка влево" и Del обрабатывается аналогично случаю с получением скан-кода Backspace. Собственно, скан-коды клавиш "стрелка влево" и Del при расчете клавиатурного набора игнорируются. Комбинации скан-кодов вида "X нажатий "стрелки влево", затем X нажатий Del" обрабатываются аналогично вышеописанной ситуации, когда X раз подряд нажата клавиша Backspace.Therefore, the receipt of scan codes of the "left arrow" and Del keys one after another is processed similarly to the case with receiving the Backspace scan code. Actually, the scan codes of the "left arrow" and Del keys are ignored when calculating the keyboard set. Combinations of scancodes like "X presses of the "left arrow", then X presses of Del" are processed similarly to the situation described above, when the Backspace key is pressed X times in a row.
Служебная клавиша Enter в интерфейсах авторизации часто используется для подтверждения введенных в текстовые поля логина и пароля, т.е. выполняет роль команды "Ввести набранные логин и пароль". По этой причине поступление скан-кода клавиши Enter может, наряду с другими признаками, служить для системы, реализующей описываемый способ, сигналом о том, что расчет текущего клавиатурного набора следует завершить, а полученные значения - сохранить в файл.The Enter service key in authorization interfaces is often used to confirm the login and password entered in the text fields, i.e. performs the role of the "Enter the typed login and password" command. For this reason, the receipt of the scan code of the Enter key can, along with other signs, serve for the system implementing the described method as a signal that the calculation of the current keyboard set should be completed, and the resulting values should be saved to a file.
При каждом удачном вводе логина и пароля подсистема формирует набор данных пользователя, которому присваивают идентификатор, ассоциированный с соответствующим пользователем. Кроме того, в случаях, когда пользователь допускает ошибку, вводя неверные учетные данные, подсистема может просить его повторить ввод данных, выводя соответствующее сообщение.With each successful login and password entry, the subsystem generates a user data set, which is assigned an identifier associated with the corresponding user. In addition, in cases where the user makes a mistake by entering incorrect credentials, the subsystem can ask him to repeat the data entry by displaying an appropriate message.
Каждый новый сформированный наборы данных сохраняют в базе данных. После чего выбирают из базы данных с помощью алгоритма отбора наиболее устойчивые признаки, то есть такие временные интервалы между различными клавиатурными событиями, которые чаще всего имеют близкие значения.Each new generated data set is stored in the database. After that, the most stable features are selected from the database using the selection algorithm, that is, such time intervals between various keyboard events that most often have similar values.
Алгоритм отбора наиболее устойчивых признаков может быть любым общеизвестным. Неограничивающий пример такого алгоритма приведен ниже. Допустим, имеется 10 наборов данных {К} одного пользователя, содержащих каждый одно и то же количество признаков t(k):The algorithm for selecting the most stable features can be any well-known. A non-limiting example of such an algorithm is given below. Suppose there are 10 data sets {K} of one user, each containing the same number of features t(k):
Вычисляют значение дисперсии D для каждого множества "одноименных" признаков, т.е. находящихся на одной и той же позиции внутри набора данных {К}:The value of the variance D is calculated for each set of "similar" features, i.e. located at the same position within the data set {K}:
Дисперсия D может быть вычислена как дисперсия случайной величины, либо любым другим общеизвестным способом.The variance D can be calculated as the variance of a random variable, or by any other well-known method.
Затем отбирают некоторое наперед заданное количество (например, 50 или 200) признаков t(k), обладающих минимальной дисперсией.Then some predetermined number (for example, 50 or 200) of features t(k) with the minimum dispersion is selected.
Описанный пример способа отбора признаков не является ограничивающим. Альтернативно может использоваться любой другой известный способ выделения признаков:The described example of the feature selection method is not limiting. Alternatively, any other known feature extraction method can be used:
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=98135923https://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
На основе отобранных наиболее устойчивых признаков обучают классификатор идентифицировать пользователя при вводе учетных данных в систему. После чего применяют обученный классификатор для последующего подтверждения идентичности пользователя, вводящего учетные данные при входе в систему, тому пользователю, на наборах данных которого был обучен этот классификатор.Based on the selected most stable features, the classifier is trained to identify the user when entering credentials into the system. After that, the trained classifier is used to subsequently confirm the identity of the user entering credentials when logging in to the user on whose data sets this classifier was trained.
Техническая реализация классификатора может быть любой общеизвестной; он может быть реализован, например, как Isolation Forest или как One Class SVM.The technical implementation of the classifier can be any well-known; it can be implemented, for example, as an Isolation Forest or as a One Class SVM.
Ниже приведены дополнительные варианты реализации настоящего изобретения.The following are additional embodiments of the present invention.
В частном варианте после обучения классификатора выбирают пороговое значение, превышение которого свидетельствует об идентичности пользователя, вводящего учетные данные, тому пользователю, на наборах данных которого был обучен классификатор.In a particular variant, after training the classifier, a threshold value is selected, the excess of which indicates the identity of the user entering the credentials to the user on whose data sets the classifier was trained.
В другом частном варианте при получении ответа обученного классификатора, численно меньшего выбранного порогового значения, информируют о доступе к учетным данным неидентифицированного пользователя.In another particular variant, upon receiving a trained classifier response that is numerically less than the selected threshold value, inform about access to the credentials of an unidentified user.
В другом частном варианте при наборе учетных данных дополнительно фиксируют нажатия несимвольных клавиш.In another private variant, when typing credentials, non-character keystrokes are additionally recorded.
В другом частном варианте обучают классификатор методом машинного обучения.In another particular variant, the classifier is trained by the machine learning method.
В другом частном варианте устойчивыми признаками для каждого пользователя считают временные интервалы, имеющие наименьшую дисперсию в наборах данных этого пользователя.In another particular variant, the time intervals having the smallest dispersion in the data sets of this user are considered to be stable features for each user.
В другом частном варианте в качестве алгоритма отбора используют отсев заранее заданного количества признаков, имеющих наибольшую дисперсию в наборах данных соответствующего пользователя.In another particular variant, the screening of a predetermined number of features that have the largest dispersion in the data sets of the corresponding user is used as a selection algorithm.
Возможен такой вариант системы, реализующей описанный способ, при котором система является составной частью веб-сайта, подразумевающего авторизацию пользователей, например, интернет-магазина или портала государственных услуг.A variant of the system that implements the described method is possible, in which the system is an integral part of a website that implies user authorization, for example, an online store or a public services portal.
Возможен также вариант реализации настоящего способа, при котором клавиатуру предварительно условно разделяют на две или более зон набора. Неограничивающие примеры такого разделения приведены на Фиг. 3.It is also possible to implement the present method, in which the keyboard is previously conventionally divided into two or more dialing zones. Non-limiting examples of such separation are shown in FIG. 3.
Например, клавиатура 300 разделена на зону служебных клавиш 302, левую зону алфавитно-цифрового блока 304, среднюю зону алфавитно-цифрового блока 310, правую зону алфавитно-цифрового блока 312, левую 306 и правую 314 зоны клавиш-модификаторов, зону пробела 308, зону цифровой клавиатуры 318 и зону служебных клавиш цифровой клавиатуры 316.For example, the keyboard 300 is divided into a service key zone 302, a left alphanumeric block zone 304, a middle alphanumeric block zone 310, a right alphanumeric block zone 312, a left 306 and a right 314 modifier key zone, a space zone 308, a numeric keypad 318 and the service key area of the numeric keypad 316.
Альтернативно, клавиатура 350 разделена на верхнюю зону 352, среднюю зону 354 и нижнюю зону 356.Alternatively, the keyboard 350 is divided into an upper zone 352, a middle zone 354, and a lower zone 356.
В соответствии с данным вариантом реализации, временные интервалы, зафиксированные для клавиш из каждой заранее выделенной зоны набора, перед обучением классификатора дополнительно умножают на коэффициент, также заданный заранее и поставленный в соответствие данной зоне набора.In accordance with this implementation option, the time intervals fixed for the keys from each pre-allocated dialing zone, before training the classifier, are additionally multiplied by a factor, also predetermined and assigned to this dialing zone.
Например, применительно к клавиатуре 350, временные интервалы для клавиш верхней зоны 352 умножают на 10, временные интервалы для клавиш средней зоны 354 оставляют без изменения (умножают на 1), и временные интервалы для клавиш нижней зоны 356 умножают на 0.1.For example, for the keyboard 350, the key timings for the upper zone 352 are multiplied by 10, the key timings for the middle zone 354 are left unchanged (multiplied by 1), and the key timings for the lower zone 356 are multiplied by 0.1.
Возможна также реализация описываемого способа, используемая в ситуации, когда конкретная учетная запись (то есть логин и пароль) закреплены не за одним пользователем, а за определенной, заранее известной группой лиц. Например, учениками одного класса средней школы, студентами одной учебной группы и т.д. В такой реализации описываемого способа все лица, имеющие право пользоваться данной учетной записью, поочередно проходят обучение, как это было описано применительно к этапам 101 и 102, показанным на Фиг. 1. После того, как для всех были измерены и сохранены временные интервалы, как это было показано применительно к Фиг. 2, производят, используя любой общеизвестный способ выделения признаков, отбор признаков, а затем обучение классификатора. Обученный таким образом классификатор впоследствии используют для идентификации данной группы лиц. Решение классификатора в этом случае трактуют как вероятность того, что человек, вводящий учетные данные, принадлежит к данной группе лиц.It is also possible to implement the described method, which is used in a situation where a specific account (that is, a login and password) is assigned not to one user, but to a certain, previously known group of persons. For example, students of the same class of high school, students of the same study group, etc. In such an implementation of the described method, all persons entitled to use this account are trained in turn, as described in relation to steps 101 and 102 shown in FIG. 1. After the time intervals have been measured and stored for all, as shown in relation to FIG. 2 is produced using any well-known feature extraction method, feature selection, and then classifier training. The classifier trained in this way is subsequently used to identify this group of persons. The classifier's decision in this case is interpreted as the probability that the person entering the credentials belongs to this group of persons.
На Фиг. 4 далее будет представлена общая схема компьютерного устройства (400), обеспечивающего обработку данных, необходимую для реализации заявленного решения.On FIG. 4 below will be a general diagram of a computer device (400) that provides the data processing necessary to implement the claimed solution.
В общем случае устройство (400) содержит такие компоненты, как: один или более процессоров (401), по меньшей мере одну память (402), средство хранения данных (403), интерфейсы ввода/вывода (404), средство В/В (405), средства сетевого взаимодействия (406).In general, the device (400) contains components such as: one or more processors (401), at least one memory (402), data storage (403), input/output interfaces (404), I/O ( 405), networking tools (406).
Процессор (401) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (400) или функциональности одного или более его компонентов. Процессор (401) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (402).The processor (401) of the device performs the basic computing operations necessary for the operation of the device (400) or the functionality of one or more of its components. The processor (401) executes the necessary machine-readable instructions contained in the main memory (402).
Память (402), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.The memory (402) is typically in the form of RAM and contains the necessary software logic to provide the required functionality.
Средство хранения данных (403) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п.Средство (403) позволяет выполнять долгосрочное хранение различного вида информации, например, вышеупомянутых файлов с наборами данных пользователей, базы данных, содержащих записи измеренных для каждого пользователя временных интервалов, идентификаторов пользователей и т.п.The data storage facility (403) can be implemented in the form of HDD, SSD disks, raid array, network storage, flash memory, optical information storage devices (CD, DVD, MD, Blue-Ray disks), etc. The facility (403) allows perform long-term storage of various types of information, for example, the above-mentioned files with user data sets, a database containing records of time intervals measured for each user, user identifiers, etc.
Интерфейсы (404) представляют собой стандартные средства для подключения и работы с серверной частью, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, Fire Wire и т.п.Interfaces (404) are standard means for connecting and working with the server part, for example, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, Fire Wire, etc.
Выбор интерфейсов (404) зависит от конкретного исполнения устройства (400), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п.The choice of interfaces (404) depends on the specific implementation of the device (400), which can be a personal computer, mainframe, server cluster, thin client, smartphone, laptop, and the like.
В качестве средств В/В данных (405) в любом воплощении системы, реализующей описываемый способ, должна использоваться клавиатура. Аппаратное исполнение клавиатуры может быть любым известным: это может быть, как встроенная клавиатура, используемая на ноутбуке или нетбуке, так и обособленное устройство, подключенное к настольному компьютеру, серверу или иному компьютерному устройству. Подключение при этом может быть, как проводным, при котором соединительный кабель клавиатуры подключен к порту PS/2 или USB, расположенному на системном блоке настольного компьютера, так и беспроводным, при котором клавиатура осуществляет обмен данными по каналу беспроводной связи, например, радиоканалу, с базовой станцией, которая, в свою очередь, непосредственно подключена к системному блоку, например, к одному из USB-портов. Помимо клавиатуры, в составе средств В/В данных также может использоваться: джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п.As means of I/O data (405) in any embodiment of the system that implements the described method, the keyboard must be used. The keyboard hardware can be any known: it can be either a built-in keyboard used on a laptop or netbook, or a separate device connected to a desktop computer, server, or other computer device. In this case, the connection can be either wired, in which the keyboard connection cable is connected to the PS / 2 or USB port located on the system unit of the desktop computer, or wireless, in which the keyboard exchanges data via a wireless communication channel, for example, a radio channel, with base station, which, in turn, is directly connected to the system unit, for example, to one of the USB ports. In addition to the keyboard, the following I/O devices can also be used: joystick, display (touchscreen), projector, touchpad, mouse, trackball, light pen, speakers, microphone, etc.
Средства сетевого взаимодействия (406) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п.С помощью средств (405) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.Network communication means (406) is selected from a device that provides network data reception and transmission, for example, an Ethernet card, WLAN/Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc. With the help of means (405) the organization of data exchange over a wired or wireless data transmission channel, for example, WAN, PAN, LAN (LAN), Intranet, Internet, WLAN, WMAN or GSM, is provided.
Компоненты устройства (400) сопряжены посредством общей шины передачи данных (410).The components of the device (400) are coupled via a common data bus (410).
В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.In these application materials, a preferred disclosure of the implementation of the claimed technical solution was presented, which should not be used as limiting other, private embodiments of its implementation, which do not go beyond the scope of the requested legal protection and are obvious to specialists in the relevant field of technology.
Claims (28)
Publications (2)
| Publication Number | Publication Date |
|---|---|
| RU2019107535A RU2019107535A (en) | 2023-03-27 |
| RU2801673C2 true RU2801673C2 (en) | 2023-08-14 |
Family
ID=
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2825109C1 (en) * | 2023-09-26 | 2024-08-20 | ООО "Ф.А.К.К.Т Антифрод" | Method and system for behavioral user profiling based on analysis of sensor signals of mobile device |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2437100A (en) * | 2006-04-10 | 2007-10-17 | Univ Westminster | Biometric security system using keystroke dynamics of a user's login attempt |
| RU2333532C2 (en) * | 2005-07-07 | 2008-09-10 | Казанский государственный технический университет им. А.Н. Туполева | Method of reference values generation of pc user characteristics |
| KR100923179B1 (en) * | 2007-08-16 | 2009-10-22 | 재단법인서울대학교산학협력재단 | Account sharing detection method and system based on behavior pattern analysis |
| RU2619196C2 (en) * | 2015-08-05 | 2017-05-12 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Воронежский государственный университет" (ФГБОУ ВПО "ВГУ) | Method of permanent authentication of identity and computer user state based on behaviour patterns |
| WO2019035491A1 (en) * | 2017-08-14 | 2019-02-21 | 인터리젠 주식회사 | Method and device for user authentication |
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2333532C2 (en) * | 2005-07-07 | 2008-09-10 | Казанский государственный технический университет им. А.Н. Туполева | Method of reference values generation of pc user characteristics |
| GB2437100A (en) * | 2006-04-10 | 2007-10-17 | Univ Westminster | Biometric security system using keystroke dynamics of a user's login attempt |
| KR100923179B1 (en) * | 2007-08-16 | 2009-10-22 | 재단법인서울대학교산학협력재단 | Account sharing detection method and system based on behavior pattern analysis |
| RU2619196C2 (en) * | 2015-08-05 | 2017-05-12 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Воронежский государственный университет" (ФГБОУ ВПО "ВГУ) | Method of permanent authentication of identity and computer user state based on behaviour patterns |
| WO2019035491A1 (en) * | 2017-08-14 | 2019-02-21 | 인터리젠 주식회사 | Method and device for user authentication |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2825109C1 (en) * | 2023-09-26 | 2024-08-20 | ООО "Ф.А.К.К.Т Антифрод" | Method and system for behavioral user profiling based on analysis of sensor signals of mobile device |
| RU2835755C1 (en) * | 2024-03-21 | 2025-03-03 | Денис Михайлович СИЛИН | Device, system and method for protection against identification of user of information system by handwriting of information input from manipulator |
| RU2850441C1 (en) * | 2025-06-17 | 2025-11-11 | федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации | Method for dynamic control of user access to automated system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11847199B2 (en) | Remote usage of locally stored biometric authentication data | |
| US8065525B2 (en) | Device with built-in user authentication and method for user authentication and identity theft protection | |
| US8997191B1 (en) | Gradual template generation | |
| AU2014250733B2 (en) | Multi-factor authentication | |
| US11128613B2 (en) | Authentication based on visual memory | |
| EP1472583B1 (en) | Method for supporting single sign on | |
| US20130326604A1 (en) | Rhythm-based authentication | |
| CN106650350B (en) | Identity authentication method and system | |
| CN108629174B (en) | Method and device for checking character strings | |
| US9288669B2 (en) | Mobile touch authentication refresh | |
| Tse et al. | Behavioral biometrics scheme with keystroke and swipe dynamics for user authentication on mobile platform | |
| RU2723679C1 (en) | Method and system for dynamic authentication and user risk assessment | |
| Shannaq | A Novel Algorithm for Differentiating Authorized Users from Fraudsters via Mobile Keypad Input Patterns During Password Updates | |
| EP3842968B1 (en) | Method and system for identifying a user according to keystroke dynamics | |
| RU2801673C2 (en) | Method and system for user identification by keyboard typing pattern | |
| US9594968B1 (en) | Biometric profile creation | |
| Iapa et al. | Shared data set for free-text keystroke dynamics authentication algorithms | |
| US20210067322A1 (en) | Keystroke dynamics anonimization | |
| KR101054096B1 (en) | Computer-readable recording medium recording a secure password input method using a touch screen and a program implementing the method | |
| US12395485B2 (en) | Fraud resistant passcode entry system | |
| WO2022231767A1 (en) | Selectively authenticating a user using voice recognition and random representations | |
| Idowu et al. | A secure and scalable behavioral dynamics authentication model | |
| JP7660777B1 (en) | Fingerprint management terminal, fingerprint management server, fingerprint management system, program, and fingerprint management method | |
| Suruthi et al. | Efficient handwritten passwords to overcome spyware attacks | |
| Horniichuk et al. | Stability of Users’ Handwritten Signature Characteristics for Cybersecurity Purposes |