WO2020176005A1 - Способ и система идентификации пользователя по клавиатурному почерку - Google Patents

Способ и система идентификации пользователя по клавиатурному почерку Download PDF

Info

Publication number
WO2020176005A1
WO2020176005A1 PCT/RU2019/000126 RU2019000126W WO2020176005A1 WO 2020176005 A1 WO2020176005 A1 WO 2020176005A1 RU 2019000126 W RU2019000126 W RU 2019000126W WO 2020176005 A1 WO2020176005 A1 WO 2020176005A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
credentials
key
keyboard
keys
Prior art date
Application number
PCT/RU2019/000126
Other languages
English (en)
French (fr)
Inventor
Павел Владимирович СЛИПЕНЧУК
Дмитрий Аркадьевич ЯНКЕЛЕВИЧ
Original Assignee
Общество С Ограниченной Ответственностью "Группа Айби"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Группа Айби" filed Critical Общество С Ограниченной Ответственностью "Группа Айби"
Priority to EP19917423.6A priority Critical patent/EP3842968B1/en
Priority to PCT/RU2019/000126 priority patent/WO2020176005A1/ru
Priority to SG11202101624WA priority patent/SG11202101624WA/en
Publication of WO2020176005A1 publication Critical patent/WO2020176005A1/ru
Priority to US17/171,078 priority patent/US11934498B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Definitions

  • the present technical solution relates to the field of computing, in particular, to a method and system for identifying a user in the manner of manipulating a computer keyboard.
  • keyboard handwriting recognition has a number of advantages over other authentication methods. The fact is that no additional equipment is required to recognize the keyboard handwriting, as a result of which the cost of implementing such a system is low. In addition, keyboard handwriting monitoring can be performed continuously and invisibly to the user, without distracting his attention from the workflow.
  • Keyboard handwriting is a manifestation of a number of physiological, psychological and other characteristics of a particular person, expressed while working on a computer keyboard in different 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 Under circumstances, the time required for a certain elementary action, for example, pressing a certain key, will be different and will depend on what other elementary actions had to be performed before and after this action.
  • keyboards as a rule, have, albeit similar, but different physical parameters, such as the distance between adjacent keys, the height of the keyboard, its angle relative to the table, key stiffness, etc. Due to the above facts, the keyboard handwriting will be different not only for different people, but also for the same person who is typing text using different keyboards.
  • the technical result consists in the automatic identification of the user by the keyboard handwriting.
  • a computer-implemented method for identifying a user using a keyboard handwriting which consists in performing the steps at which, using a computing device: - register the user's credentials in the system;
  • a user data set is formed, which is assigned an identifier associated with the corresponding user;
  • 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.
  • 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.
  • an unidentified user upon receiving a response from a trained classifier that is numerically less than a selected threshold value, an unidentified user is informed about access to the credentials of an unidentified user.
  • the time intervals formed when non-character keys are pressed are additionally measured.
  • the classifier is trained using the machine learning method.
  • time slots with the smallest variance in the data sets of this user are considered stable features for each user.
  • the selection algorithm is used to screen out a predetermined number of features with the highest variance in the data sets of the corresponding user.
  • the claimed solution is also carried out by means of a user identification system by keyboard handwriting, containing:
  • the claimed solution is part of a remote banking system.
  • the claimed solution is part of a website, implying user authorization, for example, an online store.
  • FIG. 1 illustrates a computer-implemented method for identifying a user by keyboard handwriting
  • FIG. 2 illustrates the time intervals measured by the described method when entering data from the keyboard
  • FIG. 3 illustrates non-limiting methods for conditionally dividing a computer keyboard into zones
  • FIG. 4 illustrates an example of a general schematic of a computing device.
  • the present invention is directed to providing a computer-implementable method and system for identifying a user by keyboard handwriting.
  • the signal generated by any modern computer keyboard in response to pressing or releasing any single key uniquely identifies the pressed key. Moreover, the appearance of this signal does not depend on how hard the key was pressed, nor on how quickly it was pressed, nor on how long it was held down before releasing it, nor on other similar factors.
  • the output signal of the keyboard on which a certain text is typed is a set of so-called scan codes
  • each key is assigned at least two different scan codes:
  • Scan codes are unique within a specific computer configuration; they are transmitted by the keyboard to the port regardless of the state of other input devices.
  • the program processing the state of the keyboard port becomes aware of: (1) the moment of pressing, (2) the moment of releasing, (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 data of the system clock.
  • the new employee Before starting work on the computer, the new employee is given his credentials and instructed to enter the login and password 10-15 times in the user interface window.
  • the number of required account entry iterations for each specific user can be different, since depends not only on the experience of a given user on the keyboard, but also on his "degree of familiarity" with a particular keyboard.
  • the system implementing 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 imply authorization of buyers.
  • the system implementing the described method receives the keystrokes of the computer keyboard, calculates and stores the necessary data, which will be described below.
  • the claimed computer-implemented method of user identification by keyboard handwriting is implemented as follows: b At step (101), the user's credentials are pre-registered with the system. User credentials are username and password. It is an essential component of network security.
  • an identifier corresponding to the credentials is assigned to the user.
  • a user identifier in the claimed solution can be used as an arbitrary pseudonym ("Ivanov. II"), which does not match the login and entered by the user at the request of the system at the beginning of training, and a pseudo-random number, for example, a hash function of the value system time obtained at the moment of pressing the first key when entering the first password with an accuracy of 0.001 seconds.
  • a specific user can be identified, for example, by his user id, i.e. a unique identifier assigned to each client by a system, for example, a remote banking system (RBS).
  • a system for example, a remote banking system (RBS).
  • RBS remote banking system
  • the RB system having received the correct credentials and associating a specific user id with a given user session, can calculate any predefined hash function from it and transfer it to the system that implements the described method, namely the hash from the user id. not the user id itself. For the purpose of implementing this method, it does not matter what the user ID looks like; it is only important that it be consistently repeated in every session of this user.
  • the classifier is trained to identify the user, while during training, credentials are entered into the system from the keyboard a predetermined number of times, and during each input:
  • a user data set is formed, which is assigned an identifier associated with the corresponding user;
  • the trained classifier is used to subsequently confirm the identity of the user entering the credentials at login to the user on whose datasets the classifier was trained.
  • FIG. 2 shows a set of time intervals 200, which will be calculated by the described method when typing on the keyboard the sequence of keys L 202, 0204, G 206, I 208 and H 210.
  • the time of pressing is recorded, for example, the time of pressing 212 keys L 202 or the time of pressing 216 keys O 204.
  • the key release time is recorded, for example, the release time 214 of the L key 202 or the release time 218 of the O key 204.
  • the holding time of each key in the pressed state is measured: the holding time in the pressed state 220 of the button L 202, the holding time in the pressed state 254 of the button O 204, the holding time in the pressed state 280 of the button ⁇ 206, the holding time in the pressed state 294 of the I key 208 and the holding time in the pressed state 299 of the H 210 key.
  • the intervals are measured between the moment of pressing each key and each of the moments of pressing all other keys used by the user when entering credentials. This can be done as follows: the intervals 222, 226, 230 and 234 are measured between pressing 212 of the L 202 button and pressing the O 204, G 206, I 208 and H 210 keys, respectively. Intervals 256, 260 and 264 are measured between pressing 216 of the O 204 key and pressing the keys G 206, I 208 and H 210, respectively. The interval 222 between keystrokes L 202 and O 204 is not measured in this case, since it has already been measured earlier. Intervals 282 and 286 are measured between pressing the G 206 key and pressing the I 208 and N 210 keys, respectively. The interval 295 between keystrokes And 208 and H 210 is measured, and thus the total set of intervals between the moment of pressing each key and the moments of pressing all other keys is obtained.
  • the intervals are measured between the moment of releasing each key and each of the moments of releasing all other keys used by the user when entering credentials. This can be done as follows: the intervals 240, 244, 248 and 252 are measured between the moment of releasing 214 of the L 202 key and the moments of releasing the O 204, G 206, I 208 and H 210 keys, respectively. The intervals 270, 274 and 278 are measured between the moment the keys O 204 are released 218 and the moments the keys G 206, I 208 and H 210 are released, respectively. The interval 240 between the moments of releasing the keys L 202 and O 204 is not measured, since it has already been measured earlier.
  • Intervals 291 and 293 are measured between the moment of releasing the key ⁇ 206 and the moments of releasing the keys ⁇ 208 and ⁇ 210, respectively.
  • the interval 298 between the moments of releasing the keys AND 208 and H 210 is measured, and thus the entire set of intervals between the moment of releasing each key and the moments of releasing all other keys is obtained.
  • the intervals are measured between the moment of pressing each key and each of the moments of releasing all other keys used by the user when entering credentials. This can be done as follows: the intervals 224, 228, 232 and 236 are measured between the moment 212 of the L 202 key is pressed and the moments of releasing the O 204, G 206, I 208 and H 210 keys, respectively. Measure the intervals 258, 262 and 266 between key press 216
  • the interval 238 between pressing the O 204 key and releasing the L 202 key is not measured in this case, since it has already been measured earlier.
  • the intervals 284 and 288 are measured between pressing the G 206 key and the moments of releasing the I 208 and H 210 keys, respectively. Measure the interval 296 between pressing the I key 208 and the moment the H 210 key is released, and thus the entire set of intervals between the moment of pressing each key and the moments of releasing all other keys is obtained.
  • the intervals are measured between the moment of releasing each key and each of the moments of pressing all other keys used by the user when entering credentials. This can be done as follows: the intervals 238, 242, 246 and 250 are measured between the moment of releasing 214 of the L 202 key and the moments of pressing the O 204, G 206, I 208 and H 210 keys, respectively. The intervals 268, 272 and 276 are measured between the moment the key O 204 is released 218 and the moments when the keys G 206, I 208 and H 210 are pressed, respectively. The interval 224 between the moment the O 204 key is released and the moment the L 202 key is pressed is not measured, since it has already been measured earlier.
  • Intervals 290 and 292 are measured between the moment the G 206 key is released and the moments of pressing the I 208 and H 210 keys, respectively.
  • the interval 297 is measured between the moment the key is released and 208 and the moment the key H 210 is pressed, and thus the total set of intervals between the moment of releasing each key and the moments of pressing all other keys is obtained.
  • the measurement of the time interval means the calculation of the difference between the two marks of the system clock (timestamp), obtained upon receipt of the corresponding scan codes.
  • a 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 special file of the data set of a particular user.
  • the sequence number of the interval may not be recorded, because it follows from the place of the measured value among the other values of the set.
  • time slots can be calculated and the resulting values stored is given below with reference to FIG. 2.
  • the first key - this is L 202 - fix the first mark of the system clock.
  • keys L 202 fix the second mark of the system clock, calculate the interval 220 between the first and second marks of the system clock and store the obtained value.
  • keys O 204 fix the third mark of the system clock, calculate the time intervals 222 between the first and third marks of the system clock and 238 between the second and third marks of the system clock and store the obtained values.
  • the time intervals are calculated: 224 between the first and fourth marks of the system clock, 240 between the second and fourth marks of the system clock, 254 between the third and fourth marks of the system clock and store the obtained values. Further calculations are performed in the same way.
  • 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 dialing calculation, starting from the next character after Backspace, which will be considered “instead of” the erroneously entered one.
  • the Backspace scan code is ignored when calculating the set. If the user presses Backspace several times, then the corresponding part of the already calculated set can be deleted, up to its complete zeroing in case the number of Backspace presses was greater than or equal to the number of already entered characters.
  • Del key deletes the character located to the right of the text cursor, in order to delete the last entered character with this key, the user first presses the “left arrow” service key, and only then Del.
  • 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 command “Enter typed login and password”. For this reason, the receipt of the scan code of the Enter key, along with other signs, may serve as a signal to the system implementing the described method that the calculation of the current keyboard set should be completed, and the obtained values should be saved to a file.
  • the subsystem At 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 re-enter the data, displaying an appropriate message.
  • Each newly generated dataset is stored in the database.
  • 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 close values.
  • the algorithm for selecting the most stable features can be any generally known.
  • a non-limiting example of such an algorithm is shown below.
  • ⁇ K ⁇ (11 (1); 11 (2); 11 (3).
  • ⁇ K1 ⁇ ⁇ 12 (1); 12 (2); 12 (3) .12 (K) ⁇ ;
  • ⁇ K10 ⁇ ⁇ tl 0 (1); tl 0 (2); tl0 (3). tlO (K) ⁇ ;
  • the value of the variance D is calculated for each set of “similar” features, ie. located at the same position within the ⁇ K ⁇ data set:
  • D (2) D ( ⁇ tl (2); 12 (2); 13 (2); 14 (2) .... 110 (2) ⁇ );
  • the variance D can be calculated as the variance of a random variable, or in any other generally known way.
  • a certain predetermined number for example, 50 or 200
  • features t (k) with the minimum variance is selected.
  • the described example of the feature selection method is not limiting. Alternatively, any other known feature extraction method can be used:
  • 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 who enters the credentials when entering the system to the user on whose data sets this classifier was trained.
  • the technical implementation of the classifier can be any generally known; it can be implemented, for example, as Isolation Forest or as One Class SVM.
  • 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.
  • the identified user upon receipt of the response of the trained classifier, numerically less than the selected threshold value, the identified user is informed about the access to the credentials of it.
  • presses of non-character keys are additionally recorded.
  • the classifier is trained using the machine learning method.
  • time slots with the smallest variance in the data sets of this user are considered stable features for each user.
  • the selection algorithm is used to screen out a predetermined number of features with the highest variance in the data sets of the corresponding user.
  • a variant of the system that implements the described method is possible, in which the system is an integral part of a website, implying user authorization, for example, an online store or a portal of government services.
  • the keyboard 300 is divided into a service key zone 302, a left alphanumeric zone 304, a middle alphanumeric zone 310, a right alphanumeric zone 312, a left 306 and right 314 modifier key zones, a space bar 308, a zone numeric keypad 318 and the service key zone of numeric keypad 316.
  • the keypad 350 is divided into an upper zone 352, a middle zone 354, and a lower zone 356.
  • the time intervals fixed for the keys from each pre-allocated typing zone before training the classifier additionally multiplied by a coefficient, also predetermined and assigned to this set zone.
  • the key times for the upper zone 352 are multiplied by 10
  • the key times for the middle zone 354 are left unchanged (multiplied by 1)
  • the key times for the lower zone 356 are multiplied by 0.1.
  • FIG. 4 a general diagram of a computer device (400) that provides data processing necessary to implement the claimed solution will be presented below.
  • the device (400) contains components such as: one or more processors (401), at least one memory (402), data storage means (403), input / output interfaces (404), I / O means ( 405), networking tools (406).
  • processors 401
  • memory 402
  • data storage means 403
  • input / output interfaces 403
  • I / O means 405
  • networking tools 406
  • the device processor (401) performs the basic computational operations required 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).
  • Memory (402) is made in the form of RAM and contains the necessary program logic to provide the required functionality.
  • the data storage medium (403) can be performed in the form of HDD, SSD disks, array raid, network storage, flash memory, optical information storage devices (CD, DVD, MD, Blue-Ray discs), etc.
  • the means (403) allows performing long-term storage of various types of information, for example, the aforementioned files with user data sets, a database containing records of time intervals measured for each user, user identifiers, etc.
  • Interfaces (404) are standard means for connecting and working with the server side, for example, USB, RS232, RJ45, LPT, COM, HDMI, PS / 2, Lightning, FireWire, etc.
  • interfaces (404) depends on the specific implementation of the device (400), which can be a personal computer, mainframe, server cluster, thin client, smartphone, laptop, etc.
  • a keyboard should be used.
  • the hardware design of the keyboard 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.
  • the connection can be either wired, in which the connecting cable of the keyboard 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.
  • I / O data can also include: joystick, display (touchscreen display), projector, touchpad, mouse, trackball, light pen, speakers, microphone, etc.
  • Networking means (406) are selected from a device that provides network reception and transmission of data, for example, Ethernet card, WLAN / Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc.
  • the means (405) provide the organization of data exchange via a wired or wireless data transmission channel, for example, WAN, PAN, LAN (LAN), Intranet, Internet, WLAN, WMAN or GSM.
  • the components of the device (400) are interfaced via a common data bus (410).
  • a common data bus (410) In the present application materials, the preferred disclosure of the implementation of the claimed technical solution was presented, which should not be used as limiting other, particular embodiments of its implementation that do not go beyond the scope of the claimed scope of legal protection and are obvious to specialists in the relevant field of technology.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

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

Description

СПОСОБ И СИСТЕМА ИДЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЯ ПО КЛАВИАТУРНОМУ
ПОЧЕРКУ
ОБЛАСТЬ ТЕХНИКИ
Настоящее техническое решение относится к области вычислительной техники, в частности, к способу и системе идентификации пользователя по манере манипулировать компьютерной клавиатурой.
УРОВЕНЬ ТЕХНИКИ
Задача защиты информации от несанкционированного доступа становится всё более актуальной. Наиболее достоверные результаты дает использование биометрических методов аутентификации.
К ним относятся следующие методы: S распознавание голоса;
распознавание лица;
распознавание радужной оболочки глаза;
S распознавание отпечатков пальцев;
- Кроме того, для каждого человека характерен собственный клавиатурный почерк (Keystroke Dynamics, keystroke biometrics, typing dynamics: https://en.wikipedia.org/wiki/Keystroke_dynamics). При этом использование распознавания клавиатурного почерка обладает рядом преимуществ перед другими методами аутентификации. Дело в том, что для распознавания клавиатурного почерка не требуется дополнительное оборудование, вследствие чего цена внедрения такой системы невысока. Кроме того, мониторинг клавиатурного почерка можно производить непрерывно и незаметно для пользователя, не отвлекая его внимания от рабочего процесса.
Клавиатурный почерк - это проявление ряда физиологических, психологических и иных характеристик конкретного человека, выражающееся во время работы на компьютерной клавиатуре в различных временных интервалах между элементарными действиями (нажатием и отпусканием клавиш).
Пальцы рук человека представляют собой чрезвычайно сложную систему, обладающую способностью гибко адаптироваться к внешним обстоятельствам; однако, в разных обстоятельствах время, требуемое для некоего элементарного действия, например, нажатия определённой клавиши, будет различным и будет зависеть от того, какие другие элементарные действия необходимо было выполнить перед этим действием и после него.
С другой стороны, компьютерные клавиатуры, как правило, имеют хотя и похожие, но различающиеся физические параметры, такие как расстояния между соседними клавишами, высота клавиатуры, угол её наклона относительно стола, жёсткость клавиши и т.д. Вследствие перечисленных фактов клавиатурный почерк будет различным не только у разных людей, но и у одного и того же человека, набирающего текст при помощи разных клавиатур.
Из уровня техники широко известны решения, которые используют клавиатурный почерк для идентификаций пользователей, в части такие решения описаны в заявках: WO2011039371А1, опубл. 07.04.2011; GB2470579A, опубл. 01.12.2010; US9590986B2, 07.03.2017; W02017070600A1, 27.03.2017; US2015169854A1, 18.06.2015.
Кроме того, на текущем уровне техники известны решения, локально решающие вопросы проверки личности пользователя во время взаимодействия с клавиатурой; они раскрыты в следующих документах: ЕР2477136В1 и US2015169854A1.
Однако, известные из уровня техники решения, предназначенные для идентификации пользователей по клавиатурному почерку, имеют ограниченную функциональность: в данных решениях не рассчитываются все возможные временные интервалы между всеми клавиатурными событиями, возникающими в ходе набора логина и пароля.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Технической проблемой, на решение которой направлено заявленное техническое решение, является создание компьютерно-реализуемого способа и системы идентификации пользователя по клавиатурному почерку, которые охарактеризованы в независимых пунктах формулы. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.
Технический результат заключается в автоматической идентификации пользователя по клавиатурному почерку.
В предпочтительном варианте реализации заявлен компьютерно-реализуемый способ идентификации пользователя по клавиатурному почерку, заключающийся в выполнении этапов, на которых с помощью вычислительного устройства: - регистрируют учетные данные пользователя в системе;
- присваивают соответствующий учетным данным идентификатор пользователю;
- обучают классификатор идентифицировать пользователя, при этом во время обучения учетные данные вводятся в систему с клавиатуры заданное количество раз, и во время каждого ввода:
• Измеряют время удержания каждой клавиши в нажатом состоянии;
• Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных;
• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных;
• Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных;
• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных;
• При каждом вводе на основе измеренных временных интервалов формируют набор данных пользователя, которому присваивают идентификатор, ассоциированный с соответствующим пользователем;
• Сохраняют сформированные наборы данных, ассоциированные с соответствующим пользователем, в базе данных;
• Выбирают из базы данных с помощью алгоритма отбора наиболее устойчивые признаки;
• Обучают классификатор идентифицировать пользователя при вводе учетных данных в систему на основе отобранных наиболее устойчивых признаков;
- применяют обученный классификатор для последующего подтверждения идентичности пользователя, вводящего учетные данные при входе в систему, тому пользователю, на наборах данных которого был обучен классификатор. В частном варианте после обучения классификатора выбирают пороговое значение, превышение которого свидетельствует об идентичности пользователя, вводящего учётные данные, тому пользователю, на наборах данных которого был обучен классификатор.
В другом частном варианте при получении ответа обученного классификатора, численно меньшего выбранного порогового значения, информируют о доступе к учётным данным неидентифицированного пользователя.
В другом частном варианте при наборе учетных данных дополнительно измеряют временные интервалы, образуемые при нажатии несимвольных клавиш, например, Shift или Tab.
В другом частном варианте обучают классификатор методом машинного обучения.
В другом частном варианте устойчивыми признаками для каждого пользователя считают временные интервалы, имеющие наименьшую дисперсию в наборах данных этого пользователя.
В другом частном варианте в качестве алгоритма отбора используют отсев заранее заданного количества признаков, имеющих наибольшую дисперсию в наборах данных соответствующего пользователя.
Заявленное решение также осуществляется за счет системы идентификации пользователя по клавиатурному почерку, содержащей:
- клавиатуру;
- блок регистрации учетных данных пользователя в системе;
- системные часы, выполненные с возможностью фиксации времени нажатия и времени отпускания клавиш клавиатуры;
- долговременную память, выполненную с возможностью хранения базы данных;
- вычислительное устройство, выполненное с возможностью выполнения описанного способа.
В одном из возможных вариантов реализации заявленное решение является частью системы дистанционного банковского обслуживания.
В другом из возможных вариантов реализации заявленное решение является частью веб- сайта, подразумевающего авторизацию пользователей, например, интернет-магазина. ОПИСАНИЕ ЧЕРТЕЖЕЙ
Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:
Фиг. 1 иллюстрирует компьютерно-реализуемый способ идентификации пользователя по клавиатурному почерку;
Фиг. 2 иллюстрирует временные интервалы, измеряемые по описываемому способу при вводе данных с клавиатуры;
Фиг. 3 иллюстрирует неограничивающие способы условного разделения компьютерной клавиатуры на зоны;
Фиг. 4 иллюстрирует пример общей схемы компьютерного устройства.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящего изобретения. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять излишне понимание особенностей настоящего изобретения.
Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.
Настоящее изобретение направлено на обеспечение компьютерно-реализуемого способа и системы идентификации пользователя по клавиатурному почерку.
Сигнал, формируемый любой современной компьютерной клавиатурой в ответ на нажатие или отпускание любой единичной клавиши, однозначно идентифицирует нажатую клавишу. Притом вид этого сигнала не зависит ни от того, с какой силой была нажата клавиша, ни от того, насколько быстро она была нажата, ни от того, долго ли её удерживали нажатой перед тем как отпустить, ни от других подобных факторов. Выходной сигнал клавиатуры, на которой набирают некий текст, представляет собой набор так называемых скан-кодов
(https://ru. wikipedia. org/w/index. php?title=%D0%A 1%D0%B A%D0%B0%D0%BD- %D0%BA%D0%BE%D0%B4&oldid=98124315), последовательно передаваемых в цифровом (двоичном) виде через порт, к которому подключена клавиатура. Каждый из этих скан-кодов однозначно идентифицирует определённую клавишу и притом указывает, была ли соответствующая клавиша нажата или отпущена. Иными словами, каждой клавише поставлены в соответствие по меньшей мере два различных скан-кода:
• скан-код нажатия,
• скан-код отпускания.
Скан-коды уникальны в рамках конкретной конфигурации компьютера; они передаются клавиатурой в порт независимо от состояния остальных устройств ввода.
Вследствие этого, в связи с нажатием на компьютерной клавиатуре любой клавиши программе, обрабатывающей состояние порта клавиатуры, становятся известны: (1) момент нажатия, (2) момент отпускания, (3) информация о том, какая конкретно клавиша была нажата или отпущена. Фиксация конкретного момента нажатия или отпускания (timestamp) при этом может быть реализована, например, за счёт доступа программы к данным системных часов.
Перед началом работы на компьютере новому сотруднику сообщают его учётные данные и поручают 10-15 раз ввести логин и пароль в окне пользовательского интерфейса. Количество необходимых итераций ввода учетной записи для каждого конкретного пользователя может быть различным, т.к. зависит не только от опыта работы данного пользователя на клавиатуре, но и от «степени знакомства» его с конкретной клавиатурой.
В альтернативном варианте воплощения система, реализующая описываемый способ, ассоциирована с окном браузера, в котором пользователь должен вводить ввести учётные данные, например, окном системы дистанционного банковского обслуживания или сайта интернет-магазина, имеющего функцию личного кабинета и подразумевающего авторизацию покупателей. При этом система, реализующая описанный способ, получает нажатия клавиш компьютерной клавиатуры, вычисляет и сохраняет необходимые данные, которые будут описаны ниже.
Как представлено на Фиг. 1 , заявленный компьютерно-реализуемый способ идентификации пользователя по клавиатурному почерку (100) реализован следующим образом: б На этапе (101) предварительно регистрируют учетные данные пользователя в системе. Учетные данные пользователя - это имя пользователя и пароль. Это важный компонент обеспечения сетевой безопасности.
Далее на этапе (102) присваивают соответствующий учетным данным идентификатор пользователю. В качестве идентификатора пользователя в заявленном решении может быть использован как произвольный псевдоним (“Иванов. И.И.”), не совпадающий с логином и введённый пользователем по запросу системы в начале обучения, так и псевдослучайное число, например, хэш-функция от значения системного времени, полученного в момент нажатия первой клавиши при введении первого пароля с точностью до 0.001 секунды.
В альтернативном варианте реализации идентификация конкретного пользователя может производиться, например, по его user id, т.е. уникальному идентификатору, присваиваемому каждому клиенту системой, например, системой дистанционного банковского обслуживания (ДБО).
С целью дополнительного снижения вероятности утери данных, система ДБО, получив правильные учётные данные и проассоциировав с данным пользовательским сеансом конкретный user id, может вычислять от него любую наперёд заданную хэш-функцию и передавать в систему, реализующую описанный способ, именно хэш от user id, а не сам user id. Для целей реализации данного способа неважно, как именно выглядит идентификатор пользователя, важно лишь, чтобы он стабильно повторялся в каждом сеансе работы этого пользователя.
На этапе (103) обучают классификатор идентифицировать пользователя, при этом во время обучения учетные данные вводятся в систему с клавиатуры заданное количество раз, и во время каждого ввода:
• Измеряют время удержания каждой клавиши в нажатом состоянии и фиксируют измеренные значения;
• Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения;
• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения; • Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения;
• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных, и фиксируют измеренные значения;
• При каждом вводе на основе измеренных временных интервалов формируют набор данных пользователя, которому присваивают идентификатор, ассоциированный с соответствующим пользователем;
• Сохраняют сформированные наборы данных, ассоциированные с соответствующим пользователем, в базе данных;
• Выбирают из базы данных с помощью алгоритма отбора наиболее устойчивые признаки;
• Обучают классификатор идентифицировать пользователя при вводе учетных данных в систему на основе отобранных наиболее устойчивых признаков.
На этапе (104) применяют обученный классификатор для последующего подтверждения идентичности пользователя, вводящего учетные данные при входе в систему, тому пользователю, на наборах данных которого был обучен классификатор.
Покажем, применительно к Фиг.2, на примере с вводом слова «ЛОГИН», как именно могут вычисляться временные интервалы, которые впоследствии используют в качестве признаков для обучения классификатора.
На Фиг. 2 показан набор временных интервалов 200, который будет вычислен по описываемому способу при наборе на клавиатуре последовательности клавиш Л 202, 0204, Г 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): {К1} = (11(1); 11(2); 11(3) . И(К)};
{К1 } = {12(1); 12(2); 12(3) .12(К)};
{K10} = {tl 0(1); tl 0(2); tl0(3) . tlO(K)}; Вычисляют значение дисперсии D для каждого множества“одноимённых” признаков, т.е. находящихся на одной и той же позиции внутри набора данных {К} :
D(l) = D({tl(l); 12(1); 13(1); 14(1).... 110(1)});
D(2) = D({tl(2); 12(2); 13(2); 14(2).... 110(2)});
D(K) - D({tl(K); t2(K); t3(K); t4(K).... tlO(K)});
Дисперсия D может быть вычислена как дисперсия случайной величины, либо любым другим общеизвестным способом.
Затем отбирают некоторое наперёд заданное количество (например, 50 или 200) признаков t(k), обладающих минимальной дисперсией. Описанный пример способа отбора признаков не является ограничивающим. Альтернативно может использоваться любой другой известный способ выделения признаков:
https://ru.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, FireWire и т.п.
Выбор интерфейсов (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). В настоящих материалах заявки · было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.

Claims

Формула изобретения
1. Способ идентификации пользователя по клавиатурному почерку, заключающийся в выполнении этапов, на которых с помощью вычислительного устройства:
- регистрируют учетные данные пользователя в системе;
- присваивают соответствующий учетным данным идентификатор пользователю;
- обучают классификатор идентифицировать пользователя, при этом во время обучения учетные данные вводятся в систему с клавиатуры заданное количество раз, и во время каждого ввода:
• Измеряют время удержания каждой клавиши в нажатом состоянии;
• Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных;
• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных;
• Измеряют интервалы между моментом нажатия каждой клавиши и каждым из моментов отпускания всех остальных клавиш, задействованных пользователем при вводе учетных данных;
• Измеряют интервалы между моментом отпускания каждой клавиши и каждым из моментов нажатия всех остальных клавиш, задействованных пользователем при вводе учетных данных;
• При каждом вводе на основе измеренных временных интервалов формируют набор данных пользователя, которому присваивают идентификатор, ассоциированный с соответствующим пользователем;
• Сохраняют сформированные наборы данных, ассоциированные с соответствующим пользователем, в базе данных;
• Выбирают из базы данных с помощью алгоритма отбора наиболее устойчивые признаки;
• Обучают классификатор идентифицировать пользователя при вводе учетных данных в систему на основе отобранных наиболее устойчивых признаков; - применяют обученный классификатор для последующего подтверждения идентичности пользователя, вводящего учетные данные при входе в систему, тому пользователю, на наборах данных которого был обучен классификатор.
2. Способ по п. 1, характеризующийся тем, что после обучения классификатора выбирают пороговое значение, превышение которого свидетельствует об идентичности пользователя, вводящего учётные данные, тому пользователю, на наборах данных которого был обучен классификатор.
3. Способ по п. 2, характеризующийся тем, что при получении ответа обученного классификатора, численно меньшего выбранного порогового значения, информируют о доступе к учётным данным неидентифицированного пользователя.
4. Способ по п. ^ характеризующийся тем, что при наборе учетных данных дополнительно фиксируют нажатия несимвольных клавиш.
5. Способ по п.1, характеризующийся тем, что клавиатура предварительно разделена на зоны набора.
6. Способ по п. 5, характеризующийся тем, что временные интервалы, зафиксированные для клавиш из каждой зоны набора, дополнительно умножают на коэффициент, заданный заранее и поставленный в соответствие данной зоне набора.
7. Способ по п. 1, характеризующийся тем, что обучают классификатор методом машинного обучения.
8. Способ по п.1, характеризующийся тем, что устойчивыми признаками для каждого пользователя считают временные интервалы, имеющие наименьшую дисперсию в наборах данных этого пользователя.
9. Способ по п.1, характеризующийся тем, что в качестве алгоритма отбора используют отсев заранее заданного количества признаков, имеющих наибольшую дисперсию в наборах данных соответствующего пользователя.
10. Способ по п. 1, характеризующийся тем, что под идентификацией пользователя понимают идентификацию заранее установленной группы лиц, пользующихся одной и той же учётной записью.
11. Система идентификации пользователя по клавиатурному почерку, содержащая:
- клавиатуру; - блок регистрации учетных данных пользователя в системе;
- системные часы, выполненные с возможностью фиксации времени нажатия и времени отпускания клавиш клавиатуры;
- долговременную память, выполненную с возможностью хранения базы данных;
- вычислительное устройство, выполненное с возможностью выполнения способа по любому из пп. 1-10.
12. Способ по п. 11, характеризующийся тем, что система идентификации пользователя по клавиатурному почерку является составной частью дистанционной системы банковского обслуживания.
13. Способ по п. 12, характеризующийся тем, что система идентификации пользователя является составной частью веб-сайта, подразумевающего авторизацию пользователей.
PCT/RU2019/000126 2019-02-27 2019-02-27 Способ и система идентификации пользователя по клавиатурному почерку WO2020176005A1 (ru)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP19917423.6A EP3842968B1 (en) 2019-02-27 2019-02-27 Method and system for identifying a user according to keystroke dynamics
PCT/RU2019/000126 WO2020176005A1 (ru) 2019-02-27 2019-02-27 Способ и система идентификации пользователя по клавиатурному почерку
SG11202101624WA SG11202101624WA (en) 2019-02-27 2019-02-27 Method and system for user identification by keystroke dynamics
US17/171,078 US11934498B2 (en) 2019-02-27 2021-02-09 Method and system of user identification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2019/000126 WO2020176005A1 (ru) 2019-02-27 2019-02-27 Способ и система идентификации пользователя по клавиатурному почерку

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/171,078 Continuation US11934498B2 (en) 2019-02-27 2021-02-09 Method and system of user identification

Publications (1)

Publication Number Publication Date
WO2020176005A1 true WO2020176005A1 (ru) 2020-09-03

Family

ID=72239648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2019/000126 WO2020176005A1 (ru) 2019-02-27 2019-02-27 Способ и система идентификации пользователя по клавиатурному почерку

Country Status (4)

Country Link
US (1) US11934498B2 (ru)
EP (1) EP3842968B1 (ru)
SG (1) SG11202101624WA (ru)
WO (1) WO2020176005A1 (ru)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11436310B1 (en) * 2020-07-20 2022-09-06 Two Six Labs, LLC Biometric keystroke attribution

Citations (11)

* Cited by examiner, † Cited by third party
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
KR20090022682A (ko) * 2007-08-31 2009-03-04 주식회사 비원플러스 키스트로크 기반 행동 패턴 정보를 이용한 금융 거래서비스 제공 방법 및 시스템
KR100923179B1 (ko) * 2007-08-16 2009-10-22 재단법인서울대학교산학협력재단 행동패턴 분석에 기초한 계정 공유 탐지 방법 및 시스템
GB2470579A (en) 2009-05-27 2010-12-01 Univ Abertay Dundee A behavioural biometric security system using keystroke metrics
WO2011039371A1 (de) 2009-10-02 2011-04-07 Psylock Gmbh Kreuzweiser abgleich von tippverhalten zur authentifizierung und/oder identifizierung einer person
US20130343616A1 (en) * 2012-06-24 2013-12-26 Neurologix Security Inc. Biometrics based methods and systems for user authentication
US20150169854A1 (en) 2013-12-16 2015-06-18 Iowa State University Research Foundation, Inc. Capturing cognitive fingerprints from keystroke dynamics for active authentication
US9590986B2 (en) 2015-02-04 2017-03-07 Aerendir Mobile Inc. Local user authentication with neuro and neuro-mechanical fingerprints
WO2017070600A1 (en) 2015-10-21 2017-04-27 Neurametrix, Inc. System and method for authenticating a user through unique aspects of the user's keyboard of typing cadence data
EP2477136B1 (en) 2011-01-17 2018-04-11 Deutsche Telekom AG Method for continuously verifying user identity via keystroke dynamics
KR20190018197A (ko) * 2017-08-14 2019-02-22 인터리젠 주식회사 사용자 인증방법 및 장치

Family Cites Families (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7389351B2 (en) 2001-03-15 2008-06-17 Microsoft Corporation System and method for identifying and establishing preferred modalities or channels for communications based on participants' preferences and contexts
US7565692B1 (en) 2000-05-30 2009-07-21 At&T Wireless Services, Inc. Floating intrusion detection platforms
EP1338130B1 (en) 2000-11-30 2006-11-02 Lancope, Inc. Flow-based detection of network intrusions
US20020112048A1 (en) 2000-12-11 2002-08-15 Francois Gruyer System and method for providing behavioral information of a user accessing on-line resources
US7325252B2 (en) 2001-05-18 2008-01-29 Achilles Guard Inc. Network security testing
US20090138342A1 (en) 2001-11-14 2009-05-28 Retaildna, Llc Method and system for providing an employee award using artificial intelligence
US7225343B1 (en) 2002-01-25 2007-05-29 The Trustees Of Columbia University In The City Of New York System and methods for adaptive model generation for detecting intrusions in computer systems
US8132250B2 (en) 2002-03-08 2012-03-06 Mcafee, Inc. Message profiling systems and methods
EP1349081A1 (en) 2002-03-28 2003-10-01 LION Bioscience AG Method and apparatus for querying relational databases
US7496628B2 (en) 2003-02-25 2009-02-24 Susquehanna International Group, Llp Electronic message filter
US20040221171A1 (en) 2003-05-02 2004-11-04 Ahmed Ahmed Awad E. Intrusion detector based on mouse dynamics analysis
US8990928B1 (en) 2003-12-11 2015-03-24 Radix Holdings, Llc URL salience
US7392278B2 (en) 2004-01-23 2008-06-24 Microsoft Corporation Building and using subwebs for focused search
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US8539582B1 (en) 2004-04-01 2013-09-17 Fireeye, Inc. Malware containment and security analysis on connection
US8561177B1 (en) 2004-04-01 2013-10-15 Fireeye, Inc. Systems and methods for detecting communication channels of bots
US7953814B1 (en) 2005-02-28 2011-05-31 Mcafee, Inc. Stopping and remediating outbound messaging abuse
US8255532B2 (en) 2004-09-13 2012-08-28 Cisco Technology, Inc. Metric-based monitoring and control of a limited resource
US7540025B2 (en) 2004-11-18 2009-05-26 Cisco Technology, Inc. Mitigating network attacks using automatic signature generation
US8438400B2 (en) 2005-01-11 2013-05-07 Indigo Identityware, Inc. Multiple user desktop graphical identification and authentication
WO2006118968A2 (en) 2005-04-29 2006-11-09 Bharosa Inc. System and method for fraud monitoring, detection, and tiered user authentication
US20060253582A1 (en) 2005-05-03 2006-11-09 Dixon Christopher J Indicating website reputations within search results
US7877493B2 (en) 2005-05-05 2011-01-25 Ironport Systems, Inc. Method of validating requests for sender reputation information
US7609625B2 (en) 2005-07-06 2009-10-27 Fortinet, Inc. Systems and methods for detecting and preventing flooding attacks in a network environment
RU2333532C2 (ru) 2005-07-07 2008-09-10 Казанский государственный технический университет им. А.Н. Туполева Способ формирования эталонных значений характеристики пользователя персонального компьютера
US7730040B2 (en) 2005-07-27 2010-06-01 Microsoft Corporation Feedback-driven malware detector
US7707284B2 (en) 2005-08-03 2010-04-27 Novell, Inc. System and method of searching for classifying user activity performed on a computer system
US7631362B2 (en) 2005-09-20 2009-12-08 International Business Machines Corporation Method and system for adaptive identity analysis, behavioral comparison, compliance, and application protection using usage information
KR20070049514A (ko) 2005-11-08 2007-05-11 한국정보보호진흥원 악성 코드 감시 시스템 및 이를 이용한 감시 방법
US8650080B2 (en) 2006-04-10 2014-02-11 International Business Machines Corporation User-browser interaction-based fraud detection system
US20070240230A1 (en) 2006-04-10 2007-10-11 O'connell Brian M User-browser interaction analysis authentication system
ATE540515T1 (de) 2006-04-13 2012-01-15 Art Of Defence Gmbh Verfahren zur bereitstellung von webanwendungssicherheit
US7984500B1 (en) 2006-10-05 2011-07-19 Amazon Technologies, Inc. Detecting fraudulent activity by analysis of information requests
US7865953B1 (en) 2007-05-31 2011-01-04 Trend Micro Inc. Methods and arrangement for active malicious web pages discovery
US8238669B2 (en) 2007-08-22 2012-08-07 Google Inc. Detection and classification of matches between time-based media
US7958555B1 (en) 2007-09-28 2011-06-07 Trend Micro Incorporated Protecting computer users from online frauds
US9779403B2 (en) 2007-12-07 2017-10-03 Jpmorgan Chase Bank, N.A. Mobile fraud prevention system and method
WO2009106998A1 (en) 2008-02-28 2009-09-03 Ipharro Media Gmbh Frame sequence comparison in multimedia streams
US8082187B2 (en) 2008-05-07 2011-12-20 AcademixDirect, Inc. Method of generating a referral website URL using website listings in a cookie
US8856937B1 (en) 2008-06-27 2014-10-07 Symantec Corporation Methods and systems for identifying fraudulent websites
US10027688B2 (en) 2008-08-11 2018-07-17 Damballa, Inc. Method and system for detecting malicious and/or botnet-related domain names
US8086480B2 (en) 2008-09-25 2011-12-27 Ebay Inc. Methods and systems for activity-based recommendations
US8606725B1 (en) 2008-10-29 2013-12-10 Emory University Automatic client-side user-behavior analysis for inferring user intent
US9177144B2 (en) 2008-10-30 2015-11-03 Mcafee, Inc. Structural recognition of malicious code patterns
US8850571B2 (en) 2008-11-03 2014-09-30 Fireeye, Inc. Systems and methods for detecting malicious network content
US8285830B1 (en) 2009-01-06 2012-10-09 Citizenhawk, Inc. System and method for combating cybersquatting
US8448245B2 (en) 2009-01-17 2013-05-21 Stopthehacker.com, Jaal LLC Automated identification of phishing, phony and malicious web sites
US8695091B2 (en) 2009-02-11 2014-04-08 Sophos Limited Systems and methods for enforcing policies for proxy website detection using advertising account ID
WO2010105184A2 (en) 2009-03-13 2010-09-16 Breach Security , Inc. A method and apparatus for phishing and leeching vulnerability detection
US8229219B1 (en) 2009-08-06 2012-07-24 Google Inc. Full-length video fingerprinting
US8600993B1 (en) 2009-08-26 2013-12-03 Google Inc. Determining resource attributes from site address attributes
US8396857B2 (en) 2009-08-31 2013-03-12 Accenture Global Services Limited System to modify websites for organic search optimization
EP2323046A1 (en) 2009-10-16 2011-05-18 Telefónica, S.A. Method for detecting audio and video copy in multimedia streams
US8625033B1 (en) 2010-02-01 2014-01-07 Google Inc. Large-scale matching of audio and video
US9501644B2 (en) 2010-03-15 2016-11-22 F-Secure Oyj Malware protection
US8612463B2 (en) 2010-06-03 2013-12-17 Palo Alto Research Center Incorporated Identifying activities using a hybrid user-activity model
US8260914B1 (en) 2010-06-22 2012-09-04 Narus, Inc. Detecting DNS fast-flux anomalies
RU2446459C1 (ru) 2010-07-23 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ проверки веб-ресурсов на наличие вредоносных компонент
BR112013001925A2 (pt) 2010-07-26 2017-06-13 Yong Kim Ki dispositivo de segurança integrado para controle de vírus de hacker
US8924488B2 (en) 2010-07-27 2014-12-30 At&T Intellectual Property I, L.P. Employing report ratios for intelligent mobile messaging classification and anti-spam defense
KR101558715B1 (ko) 2010-08-25 2015-10-07 룩아웃, 인코포레이티드 서버 결합된 멀웨어 방지를 위한 시스템 및 방법
EP2609537A1 (en) 2010-08-26 2013-07-03 Verisign, Inc. Method and system for automatic detection and analysis of malware
US8837769B2 (en) 2010-10-06 2014-09-16 Futurewei Technologies, Inc. Video signature based on image hashing and shot detection
US10262324B2 (en) 2010-11-29 2019-04-16 Biocatch Ltd. System, device, and method of differentiating among users based on user-specific page navigation sequence
US9626677B2 (en) 2010-11-29 2017-04-18 Biocatch Ltd. Identification of computerized bots, and identification of automated cyber-attack modules
US10949757B2 (en) 2010-11-29 2021-03-16 Biocatch Ltd. System, device, and method of detecting user identity based on motor-control loop model
US10621585B2 (en) 2010-11-29 2020-04-14 Biocatch Ltd. Contextual mapping of web-pages, and generation of fraud-relatedness score-values
US9690915B2 (en) 2010-11-29 2017-06-27 Biocatch Ltd. Device, method, and system of detecting remote access users and differentiating among users
IL209793A0 (en) * 2010-12-06 2011-07-31 Robert Moskovitch A method for authentication and verification of user identity
US8521667B2 (en) 2010-12-15 2013-08-27 Microsoft Corporation Detection and categorization of malicious URLs
CN102082792A (zh) 2010-12-31 2011-06-01 成都市华为赛门铁克科技有限公司 钓鱼网页检测方法及设备
US8972412B1 (en) 2011-01-31 2015-03-03 Go Daddy Operating Company, LLC Predicting improvement in website search engine rankings based upon website linking relationships
US9275345B1 (en) 2011-02-11 2016-03-01 Allure Security Technology, Inc. System level user behavior biometrics using feature extraction and modeling
US8726376B2 (en) 2011-03-11 2014-05-13 Openet Telecom Ltd. Methods, systems and devices for the detection and prevention of malware within a network
US8402543B1 (en) 2011-03-25 2013-03-19 Narus, Inc. Machine learning based botnet detection with dynamic adaptation
RU107616U1 (ru) 2011-03-28 2011-08-20 Закрытое акционерное общество "Лаборатория Касперского" Система быстрого анализа потока данных на наличие вредоносных объектов
US9363278B2 (en) 2011-05-11 2016-06-07 At&T Mobility Ii Llc Dynamic and selective response to cyber attack for telecommunications carrier networks
US8151341B1 (en) 2011-05-23 2012-04-03 Kaspersky Lab Zao System and method for reducing false positives during detection of network attacks
US8555388B1 (en) 2011-05-24 2013-10-08 Palo Alto Networks, Inc. Heuristic botnet detection
CA2840992C (en) 2011-07-08 2017-03-14 Brad WARDMAN Syntactical fingerprinting
US20140173287A1 (en) 2011-07-11 2014-06-19 Takeshi Mizunuma Identifier management method and system
GB2493514B (en) 2011-08-02 2015-04-08 Qatar Foundation Copy detection
US8677472B1 (en) 2011-09-27 2014-03-18 Emc Corporation Multi-point collection of behavioral data relating to a virtualized browsing session with a secure server
US8645355B2 (en) 2011-10-21 2014-02-04 Google Inc. Mapping Uniform Resource Locators of different indexes
US8584235B2 (en) 2011-11-02 2013-11-12 Bitdefender IPR Management Ltd. Fuzzy whitelisting anti-malware systems and methods
US9519781B2 (en) 2011-11-03 2016-12-13 Cyphort Inc. Systems and methods for virtualization and emulation assisted malware detection
RU2487406C1 (ru) 2011-11-24 2013-07-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных объектов, распространяемых через пиринговые сети
US8660296B1 (en) 2012-01-10 2014-02-25 Google Inc. Systems and methods for facilitating video fingerprinting using local descriptors
US9185095B1 (en) 2012-03-20 2015-11-10 United Services Automobile Association (Usaa) Behavioral profiling method and system to authenticate a user
US9111090B2 (en) 2012-04-02 2015-08-18 Trusteer, Ltd. Detection of phishing attempts
RU2523114C2 (ru) 2012-04-06 2014-07-20 Закрытое акционерное общество "Лаборатория Касперского" Способ анализа вредоносной активности в сети интернет, выявления вредоносных узлов сети и ближайших узлов-посредников
US10304036B2 (en) 2012-05-07 2019-05-28 Nasdaq, Inc. Social media profiling for one or more authors using one or more social media platforms
RU2488880C1 (ru) 2012-05-11 2013-07-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ адаптивной оптимизации проверки потока данных, передающихся по сети, на наличие угроз
US9154517B2 (en) 2012-06-19 2015-10-06 AO Kaspersky Lab System and method for preventing spread of malware in peer-to-peer network
US9282117B2 (en) 2012-07-24 2016-03-08 Webroot Inc. System and method to provide automatic classification of phishing sites
RU2495486C1 (ru) 2012-08-10 2013-10-10 Закрытое акционерное общество "Лаборатория Касперского" Способ анализа и выявления вредоносных промежуточных узлов в сети
CN103685174B (zh) 2012-09-07 2016-12-21 中国科学院计算机网络信息中心 一种不依赖样本的钓鱼网站检测方法
US9386030B2 (en) 2012-09-18 2016-07-05 Vencore Labs, Inc. System and method for correlating historical attacks with diverse indicators to generate indicator profiles for detecting and predicting future network attacks
US9215239B1 (en) 2012-09-28 2015-12-15 Palo Alto Networks, Inc. Malware detection based on traffic analysis
US10965775B2 (en) 2012-11-20 2021-03-30 Airbnb, Inc. Discovering signature of electronic social networks
RU2522019C1 (ru) 2012-12-25 2014-07-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения угроз в коде, исполняемом виртуальной машиной
RU2530210C2 (ru) 2012-12-25 2014-10-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ выявления вредоносных программ, препятствующих штатному взаимодействию пользователя с интерфейсом операционной системы
RU2536664C2 (ru) 2012-12-25 2014-12-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ автоматической модификации антивирусной базы данных
RU129279U1 (ru) 2013-01-09 2013-06-20 ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "МФИ Софт" Устройство обнаружения и защиты от аномальной активности на сети передачи данных
US20160127402A1 (en) 2014-11-04 2016-05-05 Patternex, Inc. Method and apparatus for identifying and detecting threats to an enterprise or e-commerce system
US10425429B2 (en) 2013-04-10 2019-09-24 Gabriel Bassett System and method for cyber security analysis and human behavior prediction
CN105324786A (zh) 2013-04-11 2016-02-10 布兰德席德有限公司 对品牌名称和域名进行保护的设备、***以及方法
GB201306628D0 (en) 2013-04-11 2013-05-29 F Secure Oyj Detecting and marking client devices
WO2014184711A2 (en) 2013-05-13 2014-11-20 Yandex Europe Ag Method of and system for providing a client device with an automatic update of an ip address associated with a domain name
US9357469B2 (en) 2013-05-29 2016-05-31 Rivada Networks, Llc Methods and system for dynamic spectrum arbitrage with mobility management
US9443075B2 (en) 2013-06-27 2016-09-13 The Mitre Corporation Interception and policy application for malicious communications
CN103368958A (zh) 2013-07-05 2013-10-23 腾讯科技(深圳)有限公司 一种网页检测方法、装置和***
RU2538292C1 (ru) 2013-07-24 2015-01-10 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ обнаружения компьютерных атак на сетевую компьютерную систему
KR102120823B1 (ko) 2013-08-14 2020-06-09 삼성전자주식회사 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템
US9330258B1 (en) 2013-09-30 2016-05-03 Symantec Corporation Systems and methods for identifying uniform resource locators that link to potentially malicious resources
CN103491205B (zh) 2013-09-30 2016-08-17 北京奇虎科技有限公司 一种基于视频搜索的关联资源地址的推送方法和装置
KR102197364B1 (ko) 2013-10-21 2020-12-31 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 모바일 비디오 서치 기법
GB2520987B (en) 2013-12-06 2016-06-01 Cyberlytic Ltd Using fuzzy logic to assign a risk level profile to a potential cyber threat
IN2013CH05744A (ru) 2013-12-12 2015-06-19 Infosys Ltd
US20150363791A1 (en) 2014-01-10 2015-12-17 Hybrid Application Security Ltd. Business action based fraud detection system and method
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9060018B1 (en) 2014-02-05 2015-06-16 Pivotal Software, Inc. Finding command and control center computers by communication link tracking
KR101514984B1 (ko) 2014-03-03 2015-04-24 (주)엠씨알시스템 홈페이지 악성코드 유포 탐지 시스템 및 방법
US9338181B1 (en) 2014-03-05 2016-05-10 Netflix, Inc. Network security system with remediation based on value of attacked assets
RU2543564C1 (ru) 2014-03-20 2015-03-10 Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" Система обнаружения и предотвращения вторжений на основе контроля доступа к ресурсам
US9853997B2 (en) 2014-04-14 2017-12-26 Drexel University Multi-channel change-point malware detection
US9332022B1 (en) 2014-07-07 2016-05-03 Symantec Corporation Systems and methods for detecting suspicious internet addresses
US20160036837A1 (en) 2014-08-04 2016-02-04 Microsoft Corporation Detecting attacks on data centers
US9800592B2 (en) 2014-08-04 2017-10-24 Microsoft Technology Licensing, Llc Data center architecture that supports attack detection and mitigation
US9942250B2 (en) 2014-08-06 2018-04-10 Norse Networks, Inc. Network appliance for dynamic protection from risky network activities
KR101587161B1 (ko) 2014-09-03 2016-01-20 한국전자통신연구원 실시간 네트워크 안티바이러스 수행 장치 및 방법
US9026840B1 (en) 2014-09-09 2015-05-05 Belkin International, Inc. Coordinated and device-distributed detection of abnormal network device operation
RU2589310C2 (ru) 2014-09-30 2016-07-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ расчета интервала повторного определения категорий сетевого ресурса
WO2016064919A1 (en) 2014-10-21 2016-04-28 Abramowitz Marc Lauren Dynamic security rating for cyber insurance products
US9945928B2 (en) 2014-10-30 2018-04-17 Bastille Networks, Inc. Computational signal processing architectures for electromagnetic signature analysis
JP6916112B2 (ja) 2014-11-21 2021-08-11 ブルヴェクター, インコーポレーテッドBluvector, Inc. ネットワークデータ特性評価のシステムと方法
US10574675B2 (en) 2014-12-05 2020-02-25 T-Mobile Usa, Inc. Similarity search for discovering multiple vector attacks
US9367872B1 (en) 2014-12-22 2016-06-14 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US10230526B2 (en) 2014-12-31 2019-03-12 William Manning Out-of-band validation of domain name system records
US9712549B2 (en) 2015-01-08 2017-07-18 Imam Abdulrahman Bin Faisal University System, apparatus, and method for detecting home anomalies
CN104504307B (zh) 2015-01-08 2017-09-29 北京大学 基于拷贝单元的音视频拷贝检测方法和装置
KR20160095856A (ko) 2015-02-04 2016-08-12 한국전자통신연구원 새로운 공격 유형의 자동 탐지 및 공격 유형 모델 갱신을 통한 지능형 침입 탐지 시스템 및 방법
US11328307B2 (en) 2015-02-24 2022-05-10 OpSec Online, Ltd. Brand abuse monitoring system with infringement detection engine and graphical user interface
EP3065076A1 (en) 2015-03-04 2016-09-07 Secure-Nok AS System and method for responding to a cyber-attack-related incident against an industrial control system
US9253208B1 (en) 2015-03-05 2016-02-02 AO Kaspersky Lab System and method for automated phishing detection rule evolution
US9769201B2 (en) 2015-03-06 2017-09-19 Radware, Ltd. System and method thereof for multi-tiered mitigation of cyber-attacks
US9712553B2 (en) 2015-03-27 2017-07-18 The Boeing Company System and method for developing a cyber-attack scenario
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10382484B2 (en) 2015-06-08 2019-08-13 Illusive Networks Ltd. Detecting attackers who target containerized clusters
US9917852B1 (en) 2015-06-29 2018-03-13 Palo Alto Networks, Inc. DGA behavior detection
RU164629U1 (ru) 2015-06-30 2016-09-10 Акционерное общество "Институт точной механики и вычислительной техники имени С.А. Лебедева Российской академии наук" Электронный модуль защиты от сетевых атак на базе сетевого процессора np-5
EP3125147B1 (en) 2015-07-27 2020-06-03 Swisscom AG System and method for identifying a phishing website
US20170032250A1 (en) 2015-07-29 2017-02-02 Ching-Ping Chang Machine Status And User Behavior Analysis System
US9456000B1 (en) 2015-08-06 2016-09-27 Palantir Technologies Inc. Systems, methods, user interfaces, and computer-readable media for investigating potential malicious communications
CN106506435B (zh) 2015-09-08 2019-08-06 中国电信股份有限公司 用于检测网络攻击的方法和防火墙***
WO2017049045A1 (en) 2015-09-16 2017-03-23 RiskIQ, Inc. Using hash signatures of dom objects to identify website similarity
KR101703446B1 (ko) 2015-10-15 2017-02-06 숭실대학교산학협력단 DoS 공격의 탐지가 가능한 네트워크 및 이의 제어 방법과, 상기 네트워크에 포함되는 게이트웨이 및 관리 서버
CN105429956B (zh) 2015-11-02 2018-09-25 重庆大学 基于p2p动态云的恶意软件检测***及方法
US10200382B2 (en) 2015-11-05 2019-02-05 Radware, Ltd. System and method for detecting abnormal traffic behavior using infinite decaying clusters
US9894036B2 (en) 2015-11-17 2018-02-13 Cyber Adapt, Inc. Cyber threat attenuation using multi-source threat data analysis
RU2622870C2 (ru) 2015-11-17 2017-06-20 Общество с ограниченной ответственностью "САЙТСЕКЬЮР" Система и способ оценки опасности веб-сайтов
CN106709777A (zh) 2015-11-18 2017-05-24 阿里巴巴集团控股有限公司 一种订单聚类方法及装置,以及反恶意信息的方法及装置
RU2613535C1 (ru) 2015-11-20 2017-03-16 Илья Самуилович Рабинович Способ обнаружения вредоносных программ и элементов
US10594710B2 (en) 2015-11-20 2020-03-17 Webroot Inc. Statistical analysis of network behavior using event vectors to identify behavioral anomalies using a composite score
EP3373179B1 (en) 2015-12-14 2019-08-07 Mitsubishi Electric Corporation Information processing device, information processing method, and information processing program
US9723344B1 (en) 2015-12-29 2017-08-01 Google Inc. Early detection of policy violating media
US11069370B2 (en) 2016-01-11 2021-07-20 University Of Tennessee Research Foundation Tampering detection and location identification of digital audio recordings
RU2628192C2 (ru) 2016-01-27 2017-08-15 Акционерное общество "Творческо-производственное объединение "Центральная киностудия детских и юношеских фильмов им. М. Горького" Устройство для семантической классификации и поиска в архивах оцифрованных киноматериалов
US9900338B2 (en) 2016-02-09 2018-02-20 International Business Machines Corporation Forecasting and classifying cyber-attacks using neural embeddings based on pattern of life data
EP3424177B1 (en) 2016-02-29 2021-10-13 SecureKey Technologies Inc. Systems and methods for distributed identity verification
US10063572B2 (en) 2016-03-28 2018-08-28 Accenture Global Solutions Limited Antivirus signature distribution with distributed ledger
US10313382B2 (en) 2016-03-29 2019-06-04 The Mitre Corporation System and method for visualizing and analyzing cyber-attacks using a graph model
US10178107B2 (en) 2016-04-06 2019-01-08 Cisco Technology, Inc. Detection of malicious domains using recurring patterns in domain names
US10212145B2 (en) 2016-04-06 2019-02-19 Avaya Inc. Methods and systems for creating and exchanging a device specific blockchain for device authentication
CN105897714B (zh) 2016-04-11 2018-11-09 天津大学 基于dns流量特征的僵尸网络检测方法
RU2625050C1 (ru) 2016-04-25 2017-07-11 Акционерное общество "Лаборатория Касперского" Система и способ признания транзакций доверенными
US11223598B2 (en) 2016-05-03 2022-01-11 Nokia Of America Corporation Internet security
US10685112B2 (en) 2016-05-05 2020-06-16 Cylance Inc. Machine learning model for malware dynamic analysis
RU2634211C1 (ru) 2016-07-06 2017-10-24 Общество с ограниченной ответственностью "Траст" Способ и система анализа протоколов взаимодействия вредоносных программ с центрами управления и выявления компьютерных атак
RU2636702C1 (ru) 2016-07-07 2017-11-27 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для выбора сетевого ресурса в качестве источника содержимого для системы рекомендаций
US20180012144A1 (en) 2016-07-11 2018-01-11 Qualcomm Innovation Center, Inc. Incremental and speculative analysis of javascripts based on a multi-instance model for web security
CN106131016B (zh) 2016-07-13 2019-05-03 北京知道创宇信息技术有限公司 恶意url检测干预方法、***及装置
CN106202482B (zh) 2016-07-18 2020-02-07 浪潮(北京)电子信息产业有限公司 一种基于用户行为分析的网站优化方法及***
US10212133B2 (en) 2016-07-29 2019-02-19 ShieldX Networks, Inc. Accelerated pattern matching using pattern functions
WO2018025157A1 (en) 2016-07-31 2018-02-08 Cymmetria, Inc. Deploying deception campaigns using communication breadcrumbs
RU2649793C2 (ru) 2016-08-03 2018-04-04 ООО "Группа АйБи" Способ и система выявления удаленного подключения при работе на страницах веб-ресурса
US10498761B2 (en) 2016-08-23 2019-12-03 Duo Security, Inc. Method for identifying phishing websites and hindering associated activity
CN106355450B (zh) 2016-08-31 2020-04-24 深圳市联动精准科技有限公司 用户行为分析***和方法
RU172497U1 (ru) 2016-10-20 2017-07-11 Артем Константинович Вишневский Биометрическое устройство разграничения доступа
US10313352B2 (en) 2016-10-26 2019-06-04 International Business Machines Corporation Phishing detection with machine learning
WO2018095192A1 (zh) 2016-11-23 2018-05-31 腾讯科技(深圳)有限公司 网站攻击的检测和防护方法及***
CN106713312A (zh) 2016-12-21 2017-05-24 深圳市深信服电子科技有限公司 检测非法域名的方法及装置
RU2670030C2 (ru) 2017-04-05 2018-10-17 Общество С Ограниченной Ответственностью "Яндекс" Способы и системы для определения нестандартной пользовательской активности
US20190014149A1 (en) 2017-07-06 2019-01-10 Pixm Phishing Detection Method And System
CN107392456A (zh) 2017-07-14 2017-11-24 武汉理工大学 一种融合互联网信息的多角度企业信用评估建模方法
RU2670906C9 (ru) 2017-12-28 2018-12-12 Общество С Ограниченной Ответственностью "Центр Разработки И Внедрения Инновационных Технологий" Самонастраивающаяся интерактивная система, способ обмена сообщениями и/или звонками между пользователями различных веб-сайтов с использованием технологии клиент-сервер и считываемый компьютером носитель
RU2681699C1 (ru) 2018-02-13 2019-03-12 Общество с ограниченной ответственностью "Траст" Способ и сервер для поиска связанных сетевых ресурсов
US11451532B2 (en) * 2019-01-25 2022-09-20 Dell Products L.P. Behavioral biometrics and machine learning to secure website logins

Patent Citations (11)

* Cited by examiner, † Cited by third party
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
KR100923179B1 (ko) * 2007-08-16 2009-10-22 재단법인서울대학교산학협력재단 행동패턴 분석에 기초한 계정 공유 탐지 방법 및 시스템
KR20090022682A (ko) * 2007-08-31 2009-03-04 주식회사 비원플러스 키스트로크 기반 행동 패턴 정보를 이용한 금융 거래서비스 제공 방법 및 시스템
GB2470579A (en) 2009-05-27 2010-12-01 Univ Abertay Dundee A behavioural biometric security system using keystroke metrics
WO2011039371A1 (de) 2009-10-02 2011-04-07 Psylock Gmbh Kreuzweiser abgleich von tippverhalten zur authentifizierung und/oder identifizierung einer person
EP2477136B1 (en) 2011-01-17 2018-04-11 Deutsche Telekom AG Method for continuously verifying user identity via keystroke dynamics
US20130343616A1 (en) * 2012-06-24 2013-12-26 Neurologix Security Inc. Biometrics based methods and systems for user authentication
US20150169854A1 (en) 2013-12-16 2015-06-18 Iowa State University Research Foundation, Inc. Capturing cognitive fingerprints from keystroke dynamics for active authentication
US9590986B2 (en) 2015-02-04 2017-03-07 Aerendir Mobile Inc. Local user authentication with neuro and neuro-mechanical fingerprints
WO2017070600A1 (en) 2015-10-21 2017-04-27 Neurametrix, Inc. System and method for authenticating a user through unique aspects of the user's keyboard of typing cadence data
KR20190018197A (ko) * 2017-08-14 2019-02-22 인터리젠 주식회사 사용자 인증방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3842968A4

Also Published As

Publication number Publication date
US11934498B2 (en) 2024-03-19
US20210182369A1 (en) 2021-06-17
EP3842968B1 (en) 2024-04-24
SG11202101624WA (en) 2021-03-30
EP3842968A4 (en) 2022-03-16
EP3842968A1 (en) 2021-06-30

Similar Documents

Publication Publication Date Title
US8766823B2 (en) Keyboard configurations
US9600647B2 (en) Multi-factor authentication
RU2533654C2 (ru) Повышение биометрической защищенности системы
EP1472583B1 (en) Method for supporting single sign on
US8997191B1 (en) Gradual template generation
US20130326604A1 (en) Rhythm-based authentication
US8549314B2 (en) Password generation methods and systems
US11128613B2 (en) Authentication based on visual memory
US20100146619A1 (en) Electronic device and access control method thereof
JP2007018087A (ja) 生体情報を用いたコード生成装置及びその方法
CN108629174B (zh) 字符串校验的方法及装置
US20140136850A1 (en) Password input system and method for inputting password
US20170249450A1 (en) Device and Method for Authenticating a User
WO2020176005A1 (ru) Способ и система идентификации пользователя по клавиатурному почерку
RU2801673C2 (ru) Способ и система идентификации пользователя по клавиатурному почерку
Iapa et al. Shared data set for free-text keystroke dynamics authentication algorithms
US11222101B1 (en) User behavior analytics using keystroke analysis of pseudo-random character strings
US11429699B2 (en) Systems and methods for authentication of a user based on free text
US20210067322A1 (en) Keystroke dynamics anonimization
JP5356584B2 (ja) 認証システム、認証方法、及びプログラム
CN110110517A (zh) 判断日期型弱密码的方法
US11888988B2 (en) Two-factor authentication based on computation method to derive proxy password
Suruthi et al. Efficient handwritten passwords to overcome spyware attacks
US20230057862A1 (en) Fraud resistant passcode entry system
US11449597B2 (en) Transposed passwords

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19917423

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019917423

Country of ref document: EP

Effective date: 20210322

NENP Non-entry into the national phase

Ref country code: DE