WO2020190165A1 - Method and system for identifying a user from cursor movement trajectory - Google Patents

Method and system for identifying a user from cursor movement trajectory Download PDF

Info

Publication number
WO2020190165A1
WO2020190165A1 PCT/RU2019/000169 RU2019000169W WO2020190165A1 WO 2020190165 A1 WO2020190165 A1 WO 2020190165A1 RU 2019000169 W RU2019000169 W RU 2019000169W WO 2020190165 A1 WO2020190165 A1 WO 2020190165A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
cursor
classifier
mouse cursor
trajectory
Prior art date
Application number
PCT/RU2019/000169
Other languages
French (fr)
Russian (ru)
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 PCT/RU2019/000169 priority Critical patent/WO2020190165A1/en
Publication of WO2020190165A1 publication Critical patent/WO2020190165A1/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
    • 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
    • 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

Definitions

  • the present technical solution relates to the field of computing, in particular, to a method and system for identifying a user along the trajectory of a computer mouse cursor.
  • a new direction of identification and confirmation of the user's identity is tracking his behavioral features, which are manifested in the nature of work with various manipulators: a light pen, a mouse manipulator, a keyboard, etc.
  • the term informational handwriting of the user (hereinafter referred to as API) reflects the user's work style with input devices.
  • API informational handwriting of the user
  • a unique image for each user can be formed, which, in turn, can be further used as an additional, in relation to known means and methods, a means of user identification when entering the system, and also a means of remote assessment of his emotional and physiological state.
  • the analysis of cursor movement is performed along the entire trajectory of its movement; the entire set of cursor movements from the beginning to the end of each mentioned exercise is analyzed, converted into a set of features, and used to train the decision rule.
  • the analysis is performed without taking into account the semantic context of the environment in which the user works.
  • the movement of the cursor is analyzed, assuming the entire area of the user-accessible interface to carry the same meaning and equally significant.
  • the technical problem to be solved by the claimed technical solution is the creation of a computer-implemented method and system for user identification along the path of the cursor movement, which are characterized in independent claims. Additional embodiments of the present invention are presented in the dependent claims.
  • the technical result consists in automatic user identification along the path of the cursor movement.
  • a computer-implemented method for identifying a user along the path of a cursor movement which consists in performing the steps at which, using a computing device:
  • the trained at least one classifier is used to subsequently confirm the identity of the user, during the sessions of which at least one classifier was trained.
  • the points at which the cursor was motionless for more than a predetermined time are considered to be the points of dividing the trajectory of the mouse cursor into fragments.
  • the graphical interface in which the user sessions take place is pre-divided into windows, and the windows are divided into zones.
  • points of dividing the trajectory of the mouse cursor into fragments are additionally considered the points where the mouse cursor moves the boundaries between the zones of each window, as well as the moments of changing the windows of the graphical interface on the user's display.
  • each zone of each window can be assigned a coefficient associated with this zone.
  • the classifier is trained using the machine learning method.
  • the classifier can be implemented as a graph probabilistic model or as an SVM classifier.
  • a separate classifier is trained for each window. In another particular version, a separate classifier is trained for each zone.
  • the solution of each classifier is multiplied by a constant value corresponding to the coefficient of the zone for which this classifier is trained.
  • the decision about the user's identity or non-identity is the sum of the decisions of all classifiers.
  • the claimed solution is also implemented through the user identification system along the path of the cursor movement, containing:
  • the claimed solution is an integral part of the remote banking system.
  • the claimed solution is an integral part of the website, implying user authorization.
  • the user identification system is an integral part of a multiplayer computer game, implying user authorization.
  • the user identification system is an integral part of the software and hardware complex for collaboration, implying user authorization.
  • FIG. 1 illustrates a computer-implemented method for identifying a user along a path of a cursor movement
  • FIG. 2 illustrates the various coordinates that can be obtained by determining the position of the mouse cursor
  • FIG. 3 illustrates a graphical user interface window that is divided into zones
  • FIG. 4 illustrates an example of describing various areas of a graphical user interface window
  • FIG. 5 illustrates an example of the trajectory of the mouse cursor in one of the windows of the graphical user interface
  • FIG. 6 illustrates an example of dividing the path of movement of the mouse cursor into fragments
  • FIG. 7 illustrates an algorithm for finding points dividing the trajectory of the mouse cursor into fragments
  • FIG. 8 illustrates an example of a general arrangement of a computing device.
  • the present invention is directed to providing a computer-implemented method and system for identifying a user along a path of a cursor movement.
  • RBS remote banking service
  • this example is not limiting.
  • the described method can also be implemented in computer online games, software for collaboration, programs or systems that support mouse gestures, etc.
  • the described method can be implemented in any version of the authorized remote access service, which implies the presence of a computer mouse on the user's side, as well as elements of the user interface, interaction with which is possible through this manipulator.
  • the claimed computer-implemented method for identifying a user along the path of the cursor movement (100) is implemented as follows:
  • the user's credentials are pre-registered with the system.
  • User credentials are username and password. It is an essential component of network security.
  • step (102) a user ID corresponding to the credentials is assigned.
  • the trajectory of the mouse cursor is analyzed, for which:
  • a set of predetermined features is calculated for each fragment of the cursor path, and the calculated features are stored in the database.
  • a predetermined number of sessions of this user is accumulated, and based on the features calculated during these sessions, at least one classifier is trained to identify this user along the path of the mouse cursor.
  • the trained at least one classifier is used to subsequently confirm the identity of the user, during the sessions of which at least one classifier was trained.
  • FIG. 2 as an example, a window of the RB System 200 is shown, inside of which there is a part of the window 210 visible to the user, equipped with scroll bars, vertical 220 and horizontal 230. In the visible part of the window 210 there is a mouse cursor 240.
  • dataset D about the current position of the mouse cursor for any point k where the cursor is located looks like this:
  • D (k) ⁇ Xk, pageXk, Yk, pageYk, t k ⁇ ; (1) where t k is the current time value obtained, for example, from the system clock.
  • t k is the current time value obtained, for example, from the system clock.
  • the obtained data set (1) is saved for further analysis.
  • the data set (1) can be analyzed directly in the course of the user's work, without prior saving.
  • a user identifier is at least one combination of symbols that uniquely characterizes a specific user working with the RB System.
  • agent id internal client identifier used in the banking system.
  • the identifier is a function of a set of information about the software and hardware configuration of a personal computer from which the RB system is accessed.
  • the user ID is encrypted in one way or another on the bank's side; its decryption is not required for the implementation of the described method; it is also unimportant how it was generated. It is enough for this identifier to be unique and stably reproducible during each session of access to the RB System under a specific account.
  • the user identifier is generated by the system that implements the method, based on one or more identifiers of a similar purpose coming from the banking system.
  • Generation of such a unique identifier can be performed in any generally known way, for example, by hashing a character string obtained by concatenating identifiers obtained from the banking system.
  • data (1) is received from the RB system in association with a specific USER (i), and user sessions are formed.
  • the session S of a specific user USER (i) is the associated data sets (1) recorded for the entire time that this user is in the RB System: S (n) uSER (i) - ⁇ D (l) uSER (i), D (2) uSER (i), D (3) uSER (i),. ... ... D (N) uSER (i) ⁇ ; (2) where N is the total number of points visited by the cursor, and each dataset D corresponds to (1).
  • N is the total number of points visited by the cursor, and each dataset D corresponds to (1).
  • the identifier of the current window of the user interface can also be used. This is a certain combination of symbols that uniquely corresponds to the user interface window that is currently open by the user.
  • the window itself can be a page of an Internet site, and then the identifier can be, for example, a hash from the URL of this page or from its title (a sequence of characters placed under the ⁇ title> tag).
  • the window can be an element of the program interface, and then the identifier can be a hash of the name of this interface element or its other designation used in the program.
  • this identifier is unique within the framework of a given RBS system and is stably reproducible with each successful act of accessing a specific interface window.
  • PAGE j
  • the session described by expression (2) contains a set of data for all points on the screen that the cursor has visited during the activity of a particular user USER (i) in the RB System. However, in such systems with more than one window, the system implementing the described method conducts a separate analysis of the cursor behavior for each specific window.
  • the data (1) arriving during each session of the user USER (i) is additionally grouped by PAGE (j) and analyzed separately for each specific window.
  • PAGE (j) the data (1) arriving during each session of the user USER (i) is additionally grouped by PAGE (j) and analyzed separately for each specific window.
  • the method takes into account the semantic context within each window, regardless of the context of other windows in the RBS system.
  • each window of the RB system can be preliminarily divided into several zones at the stage of creating a system that implements the method, as shown by dashed lines in Fig. 3.
  • window 300 of the RBS system the following are highlighted:
  • the navigation area of the top menu 310 containing an area with a link 312 to the start page of the RBS system, an area 314 of additional links and an “exit area” 316 containing a link to log out.
  • Zone of the left menu 320 containing interface elements (graphic “buttons” or inscriptions) 322 ... 329 with links, for example, to various windows of the RB system for various banking operations available to a given user.
  • the zone of the current banking operation 330 containing text messages 331 and 339, field 332 to indicate the account from which the payment or transfer is made, field 334 to indicate the account to which the payment or transfer is made, field 336 to enter the code from SMS messages and a button 338 confirming the operation.
  • the area of advertising messages 340 containing an interactive advertising banner 342, under which is a link to a page, for example, an advertised action.
  • Zone of pop-up messages 350 which is used to issue contextual hints to the user of the RB System and does not contain active links.
  • each RBS window into zones can be performed, for example, in the form of specifying the coordinates of points that are the corners of each zone, and saving the coordinate data as a set of zone templates Z I .,. Z M associated with a specific RBS window PAGE (j ).
  • FIG. 4 shows how the area 320 of the window 300 previously shown in FIG. 3 are described by the coordinates of points A, B, C, D, and the zone 330 of the same window is described by the coordinates of points B, E, F, D. Any zones of any window of the RBS system can be described in a similar way.
  • Zone templates 320 and 330 can look like:
  • Z320 ⁇ (XA, YA), (XB, YB), (XC, YC), (XD, YD) ⁇ ; (Per)
  • Z 330 ⁇ (XB, YB), (XE, YE), (XF, YF), (XD, YD) ⁇ ; (3b)
  • the coordinates of each point for example, (XB, YB), can be expressed as an absolute value, for example, (450, 275), and have the dimension of the number of pixels located horizontally and vertically between this point and the upper left corner of the window.
  • the coordinates ( ⁇ ggi, YB) can be expressed as a relative dimensionless quantity, for example, (0.2, 0.15) and calculated for each specific user USER (i) taking into account the screen resolution he uses and, accordingly, the size of the RB system window on the screen of this user ...
  • each zone Z (m) of each window PAGE (j) of the RBS system can be assigned a “importance factor” Pz ( m) associated with this zone.
  • This factor is a constant, integer or fractional, the value of which is selected in proportion to the priority of this zone, for example, according to the following principle: the larger the value of the constant, the higher the priority of the zone.
  • the area 330 shown in FIG. 3 and 4 may have the highest importance coefficient Rzo from all zones of window 300, since it is directly associated with the operation of transferring funds from the user's account.
  • the zone 320 associated with transitions to other accounts of a given user may have the next highest importance factor P320, and so on.
  • zones 340 and 350 may have the smallest coefficients P340, Pz50. In this way
  • the numerical values of the coefficients specified at the stage of creating the system, as well as the information about the boundaries of the zones in each window, are associated by the system with each specific window and are constantly stored throughout all stages of the system with all users.
  • the above coefficients characterize certain areas (zones) of the graphical user interface, therefore, when the system is working with any user, the values of these coefficients will be the same.
  • the system implementing the method receives and stores (or immediately analyzes, as described) the data D (k) corresponding to (1), and in such windows too.
  • FIG. 5 shows an example of the trajectory of the mouse cursor in one of the RBS system windows.
  • This trajectory is essentially an array of data of the form (2) stored in the operative or permanent memory of a computer system that implements the described method, however, for ease of perception, it is shown in the figure as a continuous line. It is assumed that each of the points that make up this line is described by a dataset (1).
  • the start of the path corresponding to the position of the mouse cursor when this window was opened is in this example just above the text message 331.
  • the user after opening the window, the user first became interested in the interactive banner 342 and moved the cursor over it for a while. Then he proceeded to perform the transfer and placed the cursor in the field for specifying the payer's account 332, then in the field for specifying the beneficiary's account 334. After some time, the user moved the input focus to window 336 for the confirmation code from the SMS and a little later moved the mouse cursor to the button confirmation of payment 338.
  • Signals corresponding to these events are generated in the computer system or browser where the user is working. However, within the framework of the described method signals about such events are not used, therefore, in this description, neither these events themselves, nor the signals corresponding to them are considered.
  • Analysis of data (2) on the movement of the mouse cursor begins with building a list of decomposition points, i.e. the list of points dividing the full path of the cursor in this window of the RB system into fragments.
  • FIG. 6 shows an example of such a decomposition in relation to the trajectory shown earlier in FIG. 5.
  • Zones 330 and 340 in FIG. 6 belong to the previously described window of the RB System 300.
  • the elements of the user interface 331 ... 342 in FIG. 6 for ease of perception are not shown.
  • the first fragment of the path ends at the point where the cursor intersects 615 the boundary of the zones 330 and 340, described earlier in connection with FIG. 3.
  • the next section of the path begins at point 620 and ends at point 630, which is also defined as the point where the cursor stopped.
  • point 630 which is also defined as the point where the cursor stopped.
  • the fragment of the trajectory between points 630 and 640 is similarly selected.
  • the cursor moving from point 640, crosses the border of zones 330 and 340 at point 645, and this defines a fragment of the trajectory lying between points 640 and 645. The next fragment is between points 645 and 650. Points 650 ... 670, defining further fragments the paths of the mouse cursor are also the cursor stopping points.
  • point 680 which ends the last fragment, between 670 and 680, is the last in the array of data associated with this window, because after the user pressed the previously shown transaction confirmation button 338 located at this point, the RBS system closed this window 300 (and opened the following, but in this case it is unimportant, since the actions performed by the system that implements the described method in a new window will be similar to the actions described for this window).
  • the detection of decomposition points is performed by searching for points at which the cursor was motionless for some time deltaT, and comparing this time deltaT with a predetermined empirically selected parameter dTmax.
  • the value of the parameter dTmax can be chosen equal to 0.3 seconds. In the event that deltaT turns out to be greater than dTmax, this point of cursor stopping is considered a point separating the fragments of the motion path.
  • Points like 615 and 645 are detected by comparing the coordinates of each point with the coordinates of the zone boundaries that were obtained at the stage of creating the system and are stored, for example, in the form (3a), (3b), as parameters associated with a specific window of the RBS system.
  • FIG. 7 illustrates an example of an algorithm 700 that can be used to find points that chunks the path of a mouse cursor.
  • Step 720 obtains two adjacent datasets D (i) and D (i + 1); each of these datasets has the form (1).
  • step 730 it is determined whether the cursor remained stationary relative to the window in the time interval between t (i) and t (i + l), and if so, then at step 750 deltaT is increased by an amount corresponding to the difference between t (i) and t (i + l), increment i is performed at step 780, check at step 790 whether the end of the session (2) has been reached, that is, whether the data set D (i) is the last data set recorded during the user's work in this RB System window , and return to step 720.
  • pageY allows to take into account the cases when the user "scrolled" the RBS window larger than the screen using the keyboard or the mouse wheel (the X and Y coordinates will not change, but pageX and ⁇ or pageY, depending on the direction of scrolling).
  • step 740 it is checked whether the point X (i + 1), Y (i + 1), to which the cursor moved, belongs to the set of points describing the boundaries of the zones, as shown above in relation to FIG. 4.
  • the identifier of the found intersection point of the border of zones (the identifier can, for example, be represented by a serial number in a cycle, that is, i + 1) is entered into a general, within this PAGE® window, a list of decomposition points, then return to the general loop in steps 780, 790.
  • step 760 the accumulated deltaT value is checked against a predetermined parameter dTmax. If deltaT exceeds the value of the dTmax parameter, this indicates that a point has been found for a sufficiently long cursor stop, and the corresponding identifier of this point i + 1 is entered into the list of decomposition points, and then returns to the general loop in steps 780, 790.
  • the loop is exited when the end of this session is reached at step 790 (2).
  • Lc ⁇ Ci (D610, D615); C2 (D615, D 62O ); C 3 (D620, D63O); C4 (D630, DMO); CS (D640, D645); Sat (Ob45, ⁇ 5q); C7 (D650, D660); C8 (D660, ⁇ d7q); C9 (D670, D68O) ⁇ ; (6a)
  • the lists of fragments are made by grouping fragments according to their belonging to different zones of the RB System window.
  • Lc330 ⁇ Cl (D610, D615); Sat (Ob45, D65O); C7 (D650, D660); C8 (D660, D 67 O); C9 (D670, D68O) ⁇ ;
  • LC340 ⁇ Cr (Ob15, D 6 20); C 3 (D 6 20, D63O); C4 (D630, D 64O ); CS (D640, D645) ⁇ ; (6b)
  • the system that implements this method performs the above steps and stores the received data, accumulating the number of sessions specified at the stage of designing the system. Upon reaching this predetermined number, the system proceeds to training at least one classifier.
  • At least one decision rule is trained according to the compiled lists of fragments of the mouse cursor movement path (6a) or (6b).
  • this PAGE® window of the RB System was previously divided into zones, which were assigned different “coefficients importance ”(4), for each of the zones its own classifier can be trained.
  • the solutions of these classifiers can be additionally scaled in proportion to the “importance factors” of the corresponding zones.
  • atypical user behavior in potentially attractive areas of “high-risk” windows of the RBS system is more likely to lead to the issuance of a warning signal by the system, rather than atypical user behavior in the RBS system windows that are not related to payments and transfers, for example, such as the neighboring zone 340 of the same window shown in Fig. 3.
  • each classifier can be any generally known; it can be implemented, for example, as a graph probabilistic model (Random Forest) or as an SVM classifier.
  • Random Forest graph probabilistic model
  • SVM SVM classifier
  • features are preliminarily extracted from each of the lists of fragments of the cursor movement trajectory. Since the lists of trajectory fragments contain datasets of the form (1), each of which contains the coordinates of the point X, Y, and the time t, when these coordinates were fixed, then using these data it is not difficult in any generally known way to calculate any parameters that have the meaning of distance , direction, time, speed (movement of the mouse cursor), as well as their derivatives.
  • the user is identified based on the user id, then the classifier or classifiers trained earlier in the sessions of this user for this particular window or for this zone of a particular window are selected and launched.
  • the features extracted from the fragments of the trajectory of the mouse cursor are fed.
  • Features are parameters, for example, parameters (7.1 ... 7.9), calculated for the current session in the same way as they were calculated before training the classifier or classifiers.
  • the decision (work result) of each classifier is a numerical estimate of the probability that the “cursor handwriting” of the person who has just entered the login and password belongs to the very user at whose sessions the classifier or classifiers were trained.
  • the decisions of the classifiers trained on these zones can be additionally scaled taking into account the mentioned factors.
  • Scaling can mean, for example, increasing or decreasing the numerical response of the classifier to a constant corresponding to the “importance factor”.
  • the numerical response of the classifier can be multiplied by such a constant.
  • each classifier or group of classifiers associated with a given USER are combined into a general solution of the system that implements this method.
  • this union can be a summation or multiplication of the numerical responses of all classifiers associated with a given user.
  • the solution of the system which also has the meaning of a numerical assessment of the probability, goes to the anti-fraud system of the bank, where it can be used to generate alarm notifications that have the meaning of warning about atypical behavior of a particular user, or other signals of a similar purpose.
  • actions can be performed to obtain new sessions and train new classifiers. Such actions were described above in the stated decision.
  • the session left by the user after entering the login and password is transmitted to the input of a plurality of classifiers, each of which is pre-trained in the “cursor handwriting” of one of the set employees of this enterprise or division.
  • the subsystem that implements the described method If none of the classifiers “recognizes” the person who entered the credentials, and also if one of the classifiers “recognizes” the person who does not have the right to access this computer, the subsystem that implements the described method generates an alarm signal, transferred to authorized persons, for example, employees of the information security department.
  • FIG. 8 below will be presented a general diagram of a computer device (800) that provides data processing necessary to implement the claimed solution.
  • the device (800) contains components such as: one or more processors (801), at least one memory (802), data storage means (803), input / output interfaces (804), I / O means ( 805), networking tools (806).
  • the processor (801) of the device performs the basic computational operations necessary for the operation of the device (800) or the functionality of one or more of its components.
  • the processor (801) executes the necessary machine-readable instructions contained in the main memory (802).
  • Memory (802), as a rule, is made in the form of RAM and contains the necessary program logic that provides the required functionality.
  • the data storage medium (803) can be performed in the form of HDD, SSD disks, raid array, network storage, flash memory, optical storage devices (CD, DVD, MD, Blue-Ray disks), etc.
  • the means (803) 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 (804) are standard means for connecting and working with a computer device, for example, USB, RS232, RJ45, LPT, COM, HDMI, PS / 2, Lightning, FireWire, etc.
  • interfaces (804) depends on the specific implementation of the device (800), which can be a personal computer, mainframe, server cluster, thin client, smartphone, laptop, be part of a bank terminal, ATM, etc.
  • a mouse should be used as I / O data (805) in any embodiment of a system implementing the described method.
  • the hardware implementation of the mouse can be any known.
  • Connecting the mouse to the computer can be either wired, in which the mouse connecting cable is connected to the PS / 2 or USB port located on the system unit of the desktop computer, or wireless, in which the mouse exchanges data via a wireless link, for example, a radio channel. with a 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 (touch screen), projector, touchpad, keyboard, trackball, light pen, speakers, microphone, etc.
  • Networking means (806) are selected from a device that provides network reception and transmission of data, for example, an Ethernet card, WLAN / Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc.
  • the means (805) provide the organization of data exchange via a wired or wireless data transmission channel, for example, WAN, PAN, LAN, Intranet, Internet, WLAN, WMAN or GSM.
  • the components of the device (800) are interfaced through a common data bus (810).

Abstract

The present technical solution relates to the field of computer engineering. The technical result is to automatically identify a user from cursory movement trajectory. A method consists in executing steps in which, using a computer device, registration data of a user in a system are recorded, a corresponding user identifier is assigned, and, during the work of the identified user, a cursor movement trajectory is analyzed, wherein for each position of the mouse cursor the vertical and horizontal coordinates of the mouse cursor and the time mark are recorded, the sequence of coordinates is saved and the recorded sequence is analyzed, a list of fragments of the cursor trajectory is generated, cursor trajectory fragments are computed for each list, computed attributes are saved in a data base, at least one classifier is trained to identify said user from the mouse cursor movement trajectory, and the trained classifier is used for subsequent confirmation of the user's identity.

Description

СПОСОБ И СИСТЕМА ИДЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЯ ПО ТРАЕКТОРИИ METHOD AND SYSTEM FOR USER IDENTIFICATION BY TRAJECTORY
ДВИЖЕНИЯ КУРСОРА CURSOR MOVEMENT
ОБЛАСТЬ ТЕХНИКИ FIELD OF TECHNOLOGY
Настоящее техническое решение относится к области вычислительной техники, в частности, к способу и системе идентификации пользователя по траектории движения курсора компьютерной мыши. The present technical solution relates to the field of computing, in particular, to a method and system for identifying a user along the trajectory of a computer mouse cursor.
УРОВЕНЬ ТЕХНИКИ TECHNOLOGY LEVEL
Задача защиты информации от несанкционированного доступа становится всё более актуальной. Наиболее достоверные результаты дает использование биометрических методов аутентификации. The task of protecting information from unauthorized access is becoming more and more urgent. The most reliable results are obtained using biometric authentication methods.
Новым направлением идентификации и подтверждения личности пользователя является отслеживание его поведенческих особенностей, проявляющихся в характере работы с различными манипуляторами: световое перо, манипулятор «мышь», клавиатура и пр. Появившийся в этой связи термин информационный почерк пользователя (далее - ИПП) отражает стиль работы пользователя с устройствами ввода. В результате отслеживания и анализа ИПП средствами современных информационных технологий может быть сформирован уникальный для каждого пользователя образ, который, в свою очередь, может в дальнейшем быть использован как дополнительное, по отношению к известным средствам и методам, средство идентификации пользователя при входе в систему, а также средство дистанционной оценки его эмоционального и физиологического состояния. A new direction of identification and confirmation of the user's identity is tracking his behavioral features, which are manifested in the nature of work with various manipulators: a light pen, a mouse manipulator, a keyboard, etc. The term informational handwriting of the user (hereinafter referred to as API) reflects the user's work style with input devices. As a result of tracking and analyzing the API by means of modern information technologies, a unique image for each user can be formed, which, in turn, can be further used as an additional, in relation to known means and methods, a means of user identification when entering the system, and also a means of remote assessment of his emotional and physiological state.
Из уровня техники известно значительное количество способов идентификации пользователя за счёт анализа движения курсора компьютерной мыши, в части такие решения описаны в заявках: US2011113388А1, опубл. 12.05.2011; US2007255818A1, опубл. 01.11.2007; US9526006B2, опубл. 20.12.2016; US9521551B2, опубл. 13.12.2016;A significant number of methods for identifying a user by analyzing the movement of a computer mouse cursor are known from the prior art; in part, such solutions are described in applications: US2011113388A1, publ. 05/12/2011; US2007255818A1, publ. 11/01/2007; US9526006B2, publ. 12/20/2016; US9521551B2, publ. 12/13/2016;
US9275337B2, опубл. 01.03.2016. US9275337B2, publ. 03/01/2016.
Кроме того, на текущем уровне техники известны решения, локально решающие вопросы проверки личности пользователя во время взаимодействия с компьютерным манипулятором, они раскрыты в следующих документах: статья «Mouse Movement Behavioral Biometric Systems», автор Nazirah Abd. Hamid et al, опубл. 2011; статья «Advanced mouse-tracking analytic techniques for enhancing psychological science», автор Eric Hehman et al, опубл. 2014; статья «Biometric Authentication Using Mouse Gesture Dynamics», автор Bassam Sayed et al, опубл. 2013. In addition, in the current state of the art, solutions are known that locally resolve issues of verifying the identity of a user during interaction with a computer manipulator, they are disclosed in the following documents: article "Mouse Movement Behavioral Biometric Systems" by Nazirah Abd. Hamid et al, publ. 2011; article "Advanced mouse-tracking analytic techniques for enhancing psychological science" by Eric Hehman et al, publ. 2014; article "Biometric Authentication Using Mouse Gesture Dynamics" by Bassam Sayed et al, publ. 2013.
Однако, известные из уровня техники решения, предназначенные для идентификации пользователей по траектории движения курсора, имеют ограниченную функциональность: во-первых, в них присутствует явно выраженная фаза обучения, в ходе которой пользователя просят совершать заранее заданные движения мышью. Например, нарисовать курсором геометрическую фигуру, повторить указанные жесты мышью,“перетащить”— drag and drop— объект в заданную область и т.д. В частности, здесь важно, что обучение систем, реализующих способы, известные из уровня техники, обычно ведётся на детерминированном, априори известном наборе траекторий курсора. However, the solutions known from the prior art for identifying users along the path of the cursor movement have limited functionality: firstly, they have a pronounced learning phase, during which the user is asked to perform predetermined mouse movements. For example, draw a geometric shape with the cursor, repeat the indicated mouse gestures, drag and drop an object into a given area, etc. In particular, it is important here that the training of systems implementing methods known from the prior art is usually carried out on a deterministic, a priori known set of cursor paths.
Во-вторых, анализ движения курсора выполняется по всей траектории его движения; вся совокупность перемещений курсора от начала до конца каждого упомянутого упражнения анализируется, преобразуется в набор признаков и используется для обучения решающего правила. Secondly, the analysis of cursor movement is performed along the entire trajectory of its movement; the entire set of cursor movements from the beginning to the end of each mentioned exercise is analyzed, converted into a set of features, and used to train the decision rule.
В-третьих, во всех перечисленных способах анализ выполняется без учёта семантического контекста окружения, в котором работает пользователь. Иными словами, перемещение курсора анализируют, полагая всю область доступного пользователю интерфейса несущей идентичную смысловую нагрузку и в равной мере существенной. Third, in all of the above methods, the analysis is performed without taking into account the semantic context of the environment in which the user works. In other words, the movement of the cursor is analyzed, assuming the entire area of the user-accessible interface to carry the same meaning and equally significant.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ SUMMARY OF THE INVENTION
Технической проблемой, на решение которой направлено заявленное техническое решение, является создание компьютерно-реализуемого способа и системы идентификации пользователя по траектории движения курсора, которые охарактеризованы в независимых пунктах формулы. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения. The technical problem to be solved by the claimed technical solution is the creation of a computer-implemented method and system for user identification along the path of the cursor movement, which are characterized in independent claims. Additional embodiments of the present invention are presented in the dependent claims.
Технический результат заключается в автоматической идентификации пользователя по траектории движения курсора. The technical result consists in automatic user identification along the path of the cursor movement.
В предпочтительном варианте реализации заявлен компьютерно-реализуемый способ идентификации пользователя по траектории движения курсора, заключающийся в выполнении этапов, на которых с помощью вычислительного устройства: In a preferred embodiment, a computer-implemented method for identifying a user along the path of a cursor movement is claimed, which consists in performing the steps at which, using a computing device:
- регистрируют учетные данные пользователя в системе; - register the user's credentials in the system;
- присваивают соответствующий учетным данным идентификатор пользователя; - на протяжении всего сеанса работы идентифицированного пользователя анализируют траекторию движения курсора мыши, для чего: - assign a user ID corresponding to the credentials; - throughout the entire session of the identified user, the trajectory of the mouse cursor is analyzed, for which:
• для каждого положения курсора мыши фиксируют вертикальную и горизонтальную координаты курсора мыши и отметку времени, когда эти координаты были зафиксированы; • for each position of the mouse cursor, the vertical and horizontal coordinates of the mouse cursor and the time stamp when these coordinates were fixed are fixed;
• сохраняют последовательность координат курсора мыши и соответствующих им отметок времени; • save the sequence of the mouse cursor coordinates and their corresponding time stamps;
• анализируют записанную последовательность для поиска точек разбиения траектории движения курсора мыши на фрагменты; • analyze the recorded sequence to search for points of dividing the trajectory of the mouse cursor movement into fragments;
• формируют список фрагментов траектории курсора во время сеанса работы данного пользователя; • form a list of fragments of the cursor trajectory during a session of this user;
- вычисляют для каждого фрагмента траектории курсора набор заранее определённых признаков и сохраняют вычисленные признаки в базе данных, - for each fragment of the cursor trajectory a set of predetermined features is calculated and the calculated features are stored in the database,
- накапливают заданное количество сеансов работы данного пользователя, и на основе признаков, вычисленных в ходе этих сеансов работы, обучают по меньшей мере один классификатор идентифицировать данного пользователя по траектории движения курсора мыши; - accumulate a predetermined number of sessions of this user, and on the basis of the characteristics calculated during these sessions, train at least one classifier to identify this user along the trajectory of the mouse cursor;
- применяют обученный по меньшей мере один классификатор для последующего подтверждения идентичности пользователя, во время сеансов работы которого был обучен по меньшей мере один классификатор. - the trained at least one classifier is used to subsequently confirm the identity of the user, during the sessions of which at least one classifier was trained.
В частном варианте точками разбиения траектории движения курсора мыши на фрагменты считают точки, в которых курсор находился без движения свыше заранее заданного времени. In a particular version, the points at which the cursor was motionless for more than a predetermined time are considered to be the points of dividing the trajectory of the mouse cursor into fragments.
В другом частном варианте графический интерфейс, в котором проходят сеансы работы пользователя, предварительно делят на окна, а окна делят на зоны. In another particular version, the graphical interface in which the user sessions take place is pre-divided into windows, and the windows are divided into zones.
В другом частном варианте точками разбиения траектории движения курсора мыши на фрагменты дополнительно считают точки перехода курсором мыши границы между зонами каждого окна, а также моменты смены окон графического интерфейса на дисплее пользователя. In another particular embodiment, points of dividing the trajectory of the mouse cursor into fragments are additionally considered the points where the mouse cursor moves the boundaries between the zones of each window, as well as the moments of changing the windows of the graphical interface on the user's display.
В другом частном варианте каждой зоне каждого окна может быть присвоен коэффициент, ассоциированный с данной зоной. В другом частном варианте обучают классификатор методом машинного обучения. In another particular embodiment, each zone of each window can be assigned a coefficient associated with this zone. In another particular version, the classifier is trained using the machine learning method.
В другом частном варианте классификатор может быть реализован как графовая вероятностная модель или как SVM-классификатор. In another particular version, the classifier can be implemented as a graph probabilistic model or as an SVM classifier.
В другом частном варианте для каждого окна обучают отдельный классификатор. В другом частном варианте для каждой зоны обучают отдельный классификатор. In another particular version, a separate classifier is trained for each window. In another particular version, a separate classifier is trained for each zone.
В другом частном варианте решение каждого классификатора домножают на постоянную величину, соответствующую коэффициенту той зоны, для которой обучен данный классификатор. In another particular version, the solution of each classifier is multiplied by a constant value corresponding to the coefficient of the zone for which this classifier is trained.
В другом частном варианте решение об идентичности или не идентичности пользователя представляет собой сумму решений всех классификаторов. In another particular embodiment, the decision about the user's identity or non-identity is the sum of the decisions of all classifiers.
Заявленное решение также осуществляется за счет системы идентификации пользователя по траектории движения курсора, содержащая: The claimed solution is also implemented through the user identification system along the path of the cursor movement, containing:
- компьютерную мышь; - computer mouse;
- блок регистрации учетных данных пользователя в системе; - системные часы, выполненные с возможностью фиксации времени - block of registration of user credentials in the system; - system clock, made with the ability to fix time
- блок регистрации положения курсора мыши, выполненный с возможностью фиксировать вертикальную и горизонтальную координаты курсора мыши; - a unit for registering the position of the mouse cursor, made with the ability to fix the vertical and horizontal coordinates of the mouse cursor;
- долговременную память, выполненную с возможностью хранения базы данных; - long-term memory, made with the ability to store the database;
- вычислительное устройство, выполненное с возможностью выполнения вышеописанного способа. - a computing device capable of performing the above-described method.
В одном из возможных вариантов реализации заявленное решение является составной частью дистанционной системы банковского обслуживания. In one of the possible implementation options, the claimed solution is an integral part of the remote banking system.
В другом из возможных вариантов реализации заявленное решение является составной частью веб-сайта, подразумевающего авторизацию пользователей. В другом из возможных вариантов реализации система идентификации пользователя является составной частью многопользовательской компьютерной игры, подразумевающей авторизацию пользователей. В другом из возможных вариантов реализации система идентификации пользователя является составной частью программно-аппаратного комплекса для совместной работы, подразумевающего авторизацию пользователей. In another possible implementation option, the claimed solution is an integral part of the website, implying user authorization. In another possible implementation, the user identification system is an integral part of a multiplayer computer game, implying user authorization. In another possible implementation, the user identification system is an integral part of the software and hardware complex for collaboration, implying user authorization.
ОПИСАНИЕ ЧЕРТЕЖЕЙ DESCRIPTION OF DRAWINGS
Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи: The implementation of the invention will be described in the following in accordance with the accompanying drawings, which are presented to clarify the essence of the invention and in no way limit the scope of the invention. The following drawings are attached to the application:
Фиг. 1 иллюстрирует компьютерно-реализуемый способ идентификации пользователя по траектории движения курсора; FIG. 1 illustrates a computer-implemented method for identifying a user along a path of a cursor movement;
Фиг. 2 иллюстрирует различные координаты, которые могут быть получены при определении положения курсора мыши; FIG. 2 illustrates the various coordinates that can be obtained by determining the position of the mouse cursor;
Фиг. 3 иллюстрирует окно графического интерфейса пользователя, которое разделено на зоны; FIG. 3 illustrates a graphical user interface window that is divided into zones;
Фиг. 4 иллюстрирует пример описания различных зон окна графического интерфейса пользователя; FIG. 4 illustrates an example of describing various areas of a graphical user interface window;
Фиг. 5 иллюстрирует пример траектории движения курсора мыши в одном из окон графического интерфейса пользователя; FIG. 5 illustrates an example of the trajectory of the mouse cursor in one of the windows of the graphical user interface;
Фиг. 6 иллюстрирует пример разделения траектории движения курсора мыши на фрагменты; FIG. 6 illustrates an example of dividing the path of movement of the mouse cursor into fragments;
Фиг. 7 иллюстрирует алгоритм поиска точек, разделяющих траекторию движения курсора мыши на фрагменты; FIG. 7 illustrates an algorithm for finding points dividing the trajectory of the mouse cursor into fragments;
Фиг. 8 иллюстрирует пример общей схемы компьютерного устройства. FIG. 8 illustrates an example of a general arrangement of a computing device.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ DETAILED DESCRIPTION OF THE INVENTION
В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящего изобретения. Однако, квалифицированному в предметной области специалисту, будет очевидно каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять понимание особенностей настоящего изобретения. Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов. In the following detailed description of an implementation of the invention, numerous implementation details are set forth to provide a thorough understanding of the present invention. However, it will be obvious to those skilled in the art how the present invention can be used, with or without these implementation details. In other instances, well-known techniques, procedures, and components have not been described in detail so as not to obscure the features of the present invention. In addition, it will be clear from the above description that the invention is not limited to the above implementation. Numerous possible modifications, changes, variations and substitutions, while retaining the spirit and form of the present invention, will be apparent to those skilled in the art.
Настоящее изобретение направлено на обеспечение компьютерно-реализуемого способа и системы идентификации пользователя по траектории движения курсора. The present invention is directed to providing a computer-implemented method and system for identifying a user along a path of a cursor movement.
Способ будет описан на примере сервиса дистанционного банковского обслуживания (ДБО), однако, этот пример не является ограничивающим. Помимо системы ДБО, на примере которой будет описан способ, описываемый способ может также быть реализован в компьютерных онлайн-играх, программном обеспечении для совместной работы, программах или системах, поддерживающих жесты мышью и т.д. The method will be described using the example of a remote banking service (RBS), however, this example is not limiting. In addition to the RBS system, which will be used to describe the method, the described method can also be implemented in computer online games, software for collaboration, programs or systems that support mouse gestures, etc.
Вообще описываемый способ может быть реализован в любом варианте сервиса авторизованного удалённого доступа, который подразумевает наличие на стороне пользователя компьютерной мыши, а также элементов пользовательского интерфейса, взаимодействие с которыми возможно посредством этого манипулятора. In general, the described method can be implemented in any version of the authorized remote access service, which implies the presence of a computer mouse on the user's side, as well as elements of the user interface, interaction with which is possible through this manipulator.
Как представлено на Фиг. 1 , заявленный компьютерно-реализуемый способ идентификации пользователя по траектории движения курсора (100) реализован следующим образом: As shown in FIG. 1, the claimed computer-implemented method for identifying a user along the path of the cursor movement (100) is implemented as follows:
На этапе (101) предварительно регистрируют учетные данные пользователя в системе. Учетные данные пользователя - это имя пользователя и пароль. Это важный компонент обеспечения сетевой безопасности. 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.
Далее на этапе (102) присваивают соответствующий учетным данным идентификатор пользователя. Next, in step (102), a user ID corresponding to the credentials is assigned.
На этапе (103) на протяжении всего сеанса работы идентифицированного пользователя анализируют траекторию движения курсора мыши, для чего: At step (103), throughout the entire session of the identified user, the trajectory of the mouse cursor is analyzed, for which:
• для каждого положения курсора мыши фиксируют вертикальную и горизонтальную координаты курсора мыши и отметку времени, когда эти координаты были зафиксированы; • for each position of the mouse cursor, the vertical and horizontal coordinates of the mouse cursor and the time stamp when these coordinates were fixed are fixed;
• сохраняют последовательность координат курсора мыши и соответствующих им отметок времени; • save the sequence of the mouse cursor coordinates and their corresponding time stamps;
• анализируют записанную последовательность для поиска точек разбиения траектории движения курсора мыши на фрагменты; • формируют список фрагментов траектории курсора во время сеанса работы данного пользователя. • analyze the recorded sequence to search for points of dividing the trajectory of the mouse cursor movement into fragments; • form a list of fragments of the cursor trajectory during the session of the given user.
На этапе (104) вычисляют для каждого фрагмента траектории курсора набор заранее определённых признаков и сохраняют вычисленные признаки в базе данных. На этапе (105) накапливают заданное количество сеансов работы данного пользователя, и на основе признаков, вычисленных в ходе этих сеансов работы, обучают по меньшей мере один классификатор идентифицировать данного пользователя по траектории движения курсора мыши. At step (104), a set of predetermined features is calculated for each fragment of the cursor path, and the calculated features are stored in the database. At step (105), a predetermined number of sessions of this user is accumulated, and based on the features calculated during these sessions, at least one classifier is trained to identify this user along the path of the mouse cursor.
На этапе (106) применяют обученный по меньшей мере один классификатор для последующего подтверждения идентичности пользователя, во время сеансов работы которого был обучен по меньшей мере один классификатор. At step (106), the trained at least one classifier is used to subsequently confirm the identity of the user, during the sessions of which at least one classifier was trained.
В дальнейшем будем считать, что вне зависимости от варианта технической реализации описываемого способа для каждого конкретного положения курсора мыши доступны: координата X, координата Y и время t, для которого зафиксированы данные X и Y. In the future, we will assume that, regardless of the technical implementation of the described method, for each specific position of the mouse cursor, the following are available: coordinate X, coordinate Y and time t for which the data X and Y are fixed.
В некоторых вариантах реализации, например, если программа, реализующая способ, исполняется в браузере, где открыто окно с полосами прокрутки, дополнительно могут быть доступны координаты pageX и\или pageY, имеющие тот же смысл, что X и Y, но отсчитываемые не от угла видимой пользователю части окна, а от угла активной зоны данной страницы. Понятно, что всегда pageX > X и pageY > Y; когда текущее окно графического интерфейса пользователя полностью помещается на экране компьютера, pageX=X и pageY=Y. In some implementations, for example, if the program that implements the method is executed in a browser where a window with scroll bars is open, the coordinates pageX and / or pageY may additionally be available, which have the same meaning as X and Y, but not measured from the corner part of the window visible to the user, and from the corner of the active zone of this page. It is clear that always pageX> X and pageY> Y; when the current GUI window fits completely on the computer screen, pageX = X and pageY = Y.
Все перечисленные координаты имеют размерность количества пикселей. All the listed coordinates have the dimension of the number of pixels.
На Фиг. 2 в качестве примера показано окно системы ДБО 200, внутри которого расположена видимая пользователю часть окна 210, снабжённая полосами прокрутки, вертикальной 220 и горизонтальной 230. В видимой части окна 210 находится курсор мыши 240. FIG. 2 as an example, a window of the RB System 200 is shown, inside of which there is a part of the window 210 visible to the user, equipped with scroll bars, vertical 220 and horizontal 230. In the visible part of the window 210 there is a mouse cursor 240.
Таким образом, набор данных D о текущем положении курсора мыши для любой точки к, где расположен курсор, выглядит следующим образом: Thus, dataset D about the current position of the mouse cursor for any point k where the cursor is located looks like this:
D(k) = {Xk, pageXk, Yk, pageYk, tk}; (1) где tk— значение текущего времени, полученное, например, от системных часов. В заявленном решении, полученный набор данных (1) сохраняют для дальнейшего анализа. В другом возможном варианте реализации заявленного решения набор данных (1) может быть проанализирован непосредственно в ходе работы пользователя, без предварительного сохранения. D (k) = {Xk, pageXk, Yk, pageYk, t k }; (1) where t k is the current time value obtained, for example, from the system clock. In the claimed solution, the obtained data set (1) is saved for further analysis. In another possible embodiment of the claimed solution, the data set (1) can be analyzed directly in the course of the user's work, without prior saving.
Помимо данных (1), для реализации описываемого способа необходимо получение от системы ДБО идентификатора пользователя. Идентификатор пользователя— это минимум одно сочетание символов, уникальным образом характеризующее конкретного пользователя, работающего с системой ДБО. In addition to data (1), to implement the described method, it is necessary to obtain a user identifier from the RB System. A user identifier is at least one combination of symbols that uniquely characterizes a specific user working with the RB System.
Например, это может быть agent id (внутренний идентификатор клиента, используемый в банковской системе). Возможен случай, когда идентификатор является функцией от набора сведений о программно-аппаратной конфигурации персонального компьютера, с которого осуществляется доступ к системе ДБО. For example, it can be an agent id (internal client identifier used in the banking system). A case is possible when the identifier is a function of a set of information about the software and hardware configuration of a personal computer from which the RB system is accessed.
Как правило, идентификатор пользователя так или иначе зашифрован на стороне банка; его расшифровка не требуется для реализации описываемого способа, несущественно и то, каким конкретно образом он был сгенерирован. Достаточно, чтобы этот идентификатор был уникальным и стабильно воспроизводимым при каждом сеансе доступа к системе ДБО под конкретной учётной записью. As a rule, the user ID is encrypted in one way or another on the bank's side; its decryption is not required for the implementation of the described method; it is also unimportant how it was generated. It is enough for this identifier to be unique and stably reproducible during each session of access to the RB System under a specific account.
Возможен также вариант реализации описываемого способа, при котором идентификатор пользователя генерируется системой, реализующей способ, на основе одного или нескольких идентификаторов аналогичного назначения, поступающих от банковской системы. It is also possible to implement the described method, in which the user identifier is generated by the system that implements the method, based on one or more identifiers of a similar purpose coming from the banking system.
Генерация такого уникального идентификатора может быть выполнена любым общеизвестным способом, например, хешированием символьной строки, полученной путём конкатенации идентификаторов, полученных из банковской системы. Generation of such a unique identifier can be performed in any generally known way, for example, by hashing a character string obtained by concatenating identifiers obtained from the banking system.
В дальнейшем для простоты будем обозначать идентификатор пользователя как USER(i), где различное значение i указывает на разных пользователей. In what follows, for simplicity, we will denote the user ID as USER (i), where a different value of i indicates different users.
В заявленном решении получают данные (1), поступающие от системы ДБО в ассоциации с конкретным USER(i), и формируют пользовательские сессии. In the declared solution, data (1) is received from the RB system in association with a specific USER (i), and user sessions are formed.
В рамках данного описания сессией S конкретного пользователя USER(i) являются ассоциированные с ним наборы данных (1), записанные за всё время, пока данный пользователь находится в системе ДБО: S(n)uSER(i) - {D(l)uSER(i), D(2)uSER(i), D(3)uSER(i), . . . D(N)uSER(i)} ; (2) где N - общее количество точек, в которых побывал курсор, а каждый набор данных D соответствует (1). Понятно, что началом каждой сессии является момент ввода пользователем валидных логина и пароля, в результате чего система ДБО получает возможность идентификации посетителя. Окончанием сессии является момент, когда пользователь закрывает последнее из окон системы ДБО, либо нажимает ссылку“Выйти из системы”. Within the framework of this description, the session S of a specific user USER (i) is the associated data sets (1) recorded for the entire time that this user is in the RB System: S (n) uSER (i) - {D (l) uSER (i), D (2) uSER (i), D (3) uSER (i),. ... ... D (N) uSER (i)}; (2) where N is the total number of points visited by the cursor, and each dataset D corresponds to (1). It is clear that the beginning of each session is the moment the user enters a valid login and password, as a result of which the RB System gets the opportunity to identify the visitor. The end of the session is the moment when the user closes the last of the RBS system windows, or clicks the “Logout” link.
В общем случае пользователю, работающему в системе ДБО, доступно более одного окна. Поэтому в одном из возможных вариантов реализации описываемого решения может также использоваться идентификатор текущего окна пользовательского интерфейса. Это некое сочетание символов, которое однозначно соответствует тому окну пользовательского интерфейса, которое в данный момент открыто пользователем. In general, more than one window is available to the user working in the RB System. Therefore, in one of the possible implementations of the described solution, the identifier of the current window of the user interface can also be used. This is a certain combination of symbols that uniquely corresponds to the user interface window that is currently open by the user.
Само окно может представлять собой страницу интернет-сайта, и тогда идентификатор может представлять собой, например, хэш от URL данной страницы или от её заголовка (последовательности символов, помещённой под тэгом <title>). В другом случае окно может представлять собой элемент интерфейса программы, и тогда идентификатором может быть хэш названия данного элемента интерфейса либо иное используемое в программе его обозначение. The window itself can be a page of an Internet site, and then the identifier can be, for example, a hash from the URL of this page or from its title (a sequence of characters placed under the <title> tag). In another case, the window can be an element of the program interface, and then the identifier can be a hash of the name of this interface element or its other designation used in the program.
Для целей реализации описываемого способа достаточно, чтобы этот идентификатор был уникальным в рамках данной системы ДБО и стабильно воспроизводимым при каждом удачном акте доступа к конкретному окну интерфейса. В дальнейшем будем обозначать идентификатор текущего окна как PAGE(j), где различное значение j указывает на разные окна пользовательского интерфейса. For the purposes of implementing the described method, it is sufficient that this identifier is unique within the framework of a given RBS system and is stably reproducible with each successful act of accessing a specific interface window. In what follows, we will denote the identifier of the current window as PAGE (j), where a different value of j indicates different windows of the user interface.
Сессия, описанная выражением (2) содержит набор данных для всех точек экрана, в которых побывал курсор на протяжении активности конкретного пользователя USER(i) в системе ДБО. Однако, в таких системах, имеющих более одного окна, система, реализующая описываемый способ, ведёт раздельный анализ поведения курсора для каждого конкретного окна. The session described by expression (2) contains a set of data for all points on the screen that the cursor has visited during the activity of a particular user USER (i) in the RB System. However, in such systems with more than one window, the system implementing the described method conducts a separate analysis of the cursor behavior for each specific window.
Поэтому данные (1), поступающие на протяжение каждой сессии пользователя USER(i), дополнительно группируются по PAGE(j) и анализируются отдельно для каждого конкретного окна. Это позволяет учесть тот факт, что разные окна системы ДБО в общем случае имеют разную визуальную структуру, на них по-разному располагаются элементы интерфейса, что обуславливает различные траектории движения курсора мыши. Therefore, the data (1) arriving during each session of the user USER (i) is additionally grouped by PAGE (j) and analyzed separately for each specific window. This allows us to take into account the fact that different windows of the RB system in general case, they have a different visual structure, on them interface elements are located in different ways, which causes different trajectories of the mouse cursor.
В дальнейшем подразумевается, что описываемые здесь действия относятся к одному окну PAGE(j) из множества окон системы ДБО. В каждом из остальных окон действия системы, реализующей описываемый способ, выполняются алгоритмически идентично, но независимо от действий в других окнах. In what follows, it is assumed that the actions described here refer to one PAGE (j) window from a plurality of RBS windows. In each of the other windows, the actions of the system that implements the described method are algorithmically identical, but independently of the actions in other windows.
Иными словами, способ учитывает семантический контекст в пределах каждого окна независимо от контекста других окон системы ДБО. In other words, the method takes into account the semantic context within each window, regardless of the context of other windows in the RBS system.
Каждое окно системы ДБО в целях реализации описываемого способа может быть предварительно, на этапе создания системы, реализующей способ, условно разделено на несколько зон, как показано пунктирными линиями на фиг. 3. In order to implement the described method, each window of the RB system can be preliminarily divided into several zones at the stage of creating a system that implements the method, as shown by dashed lines in Fig. 3.
Например, в соответствии с фиг. 3, в окне 300 системы ДБО выделены: For example, referring to FIG. 3, in window 300 of the RBS system the following are highlighted:
1. Зона навигации верхнего меню 310, содержащая область со ссылкой 312 на стартовую страницу системы ДБО, область 314 дополнительных ссылок и“область выхода” 316, содержащую ссылку на выход из системы. 1. The navigation area of the top menu 310, containing an area with a link 312 to the start page of the RBS system, an area 314 of additional links and an “exit area” 316 containing a link to log out.
2. Зона левого меню 320, содержащая элементы интерфейса (графические“кнопки” или надписи) 322...329 со ссылками, например, на различные окна системы ДБО для различных банковских операций, доступных данному пользователю. 2. Zone of the left menu 320, containing interface elements (graphic “buttons” or inscriptions) 322 ... 329 with links, for example, to various windows of the RB system for various banking operations available to a given user.
3. Зона текущей банковской операции 330, содержащая текстовые сообщения 331 и 339, поле 332 для указания счёта, с которого осуществляется платёж или перевод, поле 334 для указания счёта, на который осуществляется платёж или перевод, поле 336 для ввода, подтверждающего транзакцию кода из SMS-сообщения и кнопку 338, подтверждающую выполнение операции. 3. The zone of the current banking operation 330, containing text messages 331 and 339, field 332 to indicate the account from which the payment or transfer is made, field 334 to indicate the account to which the payment or transfer is made, field 336 to enter the code from SMS messages and a button 338 confirming the operation.
4. Зона рекламных сообщений 340, содержащая интерактивный рекламный баннер 342, под которым находится ссылка на страницу, например, рекламируемой акции. 4. The area of advertising messages 340, containing an interactive advertising banner 342, under which is a link to a page, for example, an advertised action.
5. Зона всплывающих сообщений 350, используемая для выдачи контекстных подсказок пользователю системы ДБО и не содержащая активных ссылок. 5. Zone of pop-up messages 350, which is used to issue contextual hints to the user of the RB System and does not contain active links.
Технически предварительное разделение каждого окна ДБО на зоны может быть выполнено, например, в виде задания координат точек, являющихся углами каждой зоны, и сохранения данных координат в виде набора шаблонов зон ZI .,.ZM, ассоциированных с конкретным окном ДБО PAGE(j). В качестве примера, на фиг. 4 показано, как зону 320 окна 300, ранее показанного на фиг. 3, описывают координатами точек А, В, С, D, а зону 330 того же окна описывают координатами точек В, Е, F, D. Аналогичным образом могут быть описаны любые зоны любого окна системы ДБО. Technically, the preliminary division of each RBS window into zones can be performed, for example, in the form of specifying the coordinates of points that are the corners of each zone, and saving the coordinate data as a set of zone templates Z I .,. Z M associated with a specific RBS window PAGE (j ). By way of example, in FIG. 4 shows how the area 320 of the window 300 previously shown in FIG. 3 are described by the coordinates of points A, B, C, D, and the zone 330 of the same window is described by the coordinates of points B, E, F, D. Any zones of any window of the RBS system can be described in a similar way.
Шаблоны зон 320 и 330 могут иметь вид: Zone templates 320 and 330 can look like:
Z320 ={(ХА, YA), (ХВ, YB), (ХС, YC), (XD, YD)} ; (За) Z320 = {(XA, YA), (XB, YB), (XC, YC), (XD, YD)}; (Per)
Z330 = {(Хв, YB), (ХЕ, YE), (XF, YF), (XD, YD)} ; (3b) Z 330 = {(XB, YB), (XE, YE), (XF, YF), (XD, YD)}; (3b)
Координаты каждой точки, например, (Хв, YB) при этом могут быть выражены абсолютной величиной, например, (450, 275), и иметь размерность количества пикселей, находящихся по горизонтали и по вертикали между данной точкой и левым верхним углом окна. The coordinates of each point, for example, (XB, YB), can be expressed as an absolute value, for example, (450, 275), and have the dimension of the number of pixels located horizontally and vertically between this point and the upper left corner of the window.
Альтернативно, координаты (Хв, YB) могут быть выражены относительной безразмерной величиной, например, (0.2, 0.15) и рассчитываться для каждого конкретного пользователя USER(i) с учётом используемого им разрешения экрана и, соответственно, размеров окна системы ДБО на экране данного пользователя. Alternatively, the coordinates (Хв, YB) can be expressed as a relative dimensionless quantity, for example, (0.2, 0.15) and calculated for each specific user USER (i) taking into account the screen resolution he uses and, accordingly, the size of the RB system window on the screen of this user ...
На этапе создания системы, реализующей описываемый способ, каждой зоне Z(m) каждого окна PAGE(j) системы ДБО может быть присвоен “коэффициент важности” Pz(m), ассоциированный с данной зоной. Этот коэффициент представляет собой константу, целочисленную или дробную, величина которой выбрана пропорционально приоритету данной зоны, например, по следующему принципу: чем больше значение константы, тем выше приоритет зоны. At the stage of creating a system that implements the described method, each zone Z (m) of each window PAGE (j) of the RBS system can be assigned a “importance factor” Pz ( m) associated with this zone. This factor is a constant, integer or fractional, the value of which is selected in proportion to the priority of this zone, for example, according to the following principle: the larger the value of the constant, the higher the priority of the zone.
Например, зона 330, показанная на фиг. 3 и 4, может иметь наивысший коэффициент важности Рззо из всех зон окна 300, поскольку она прямо ассоциирована с операцией перевода денежных средств со счёта пользователя. Зона 320, ассоциированная с операциями перехода к другим счетам данного пользователя, может иметь следующий по величине коэффициент важности Р320, и т.д. For example, the area 330 shown in FIG. 3 and 4, may have the highest importance coefficient Rzo from all zones of window 300, since it is directly associated with the operation of transferring funds from the user's account. The zone 320 associated with transitions to other accounts of a given user may have the next highest importance factor P320, and so on.
Наконец, зоны 340 и 350, не ассоциированные с какими-либо операциями над денежными средствами пользователя, могут иметь наименьшие по величине коэффициенты Р340, Рз50. Таким образом Finally, the zones 340 and 350, not associated with any transactions with the user's funds, may have the smallest coefficients P340, Pz50. In this way
Рззо > Рзго > Рзю > Р340 > Р350; (4) Рзо> Рзо> Рзю> Р340> Р350; (4)
Численные значения коэффициентов, заданные на этапе создания системы, как и сведения о границах зон в каждом окне, ассоциированы системой с каждым конкретным окном и постоянно хранятся на протяжении всех этапов работы системы со всеми пользователями. Вышеописанные коэффициенты характеризуют определённые области (зоны) графического интерфейса пользователя, поэтому при работе системы с любым пользователем значения этих коэффициентов будут одни и те же. The numerical values of the coefficients specified at the stage of creating the system, as well as the information about the boundaries of the zones in each window, are associated by the system with each specific window and are constantly stored throughout all stages of the system with all users. The above coefficients characterize certain areas (zones) of the graphical user interface, therefore, when the system is working with any user, the values of these coefficients will be the same.
В тех окнах системы ДБО, которые не имеют явно выраженной привлекательности для злоумышленников, завладевших чужими учётными данными, например, в окне оплаты коммунальных платежей или в окне с информацией о местоположении и часах работы отделений банка, разделение окна на зоны и присвоение зонам“коэффициентов важности” может не выполняться. In those windows of the RBS system that do not have a pronounced attractiveness for intruders who have taken possession of someone else's credentials, for example, in the window for paying utility bills or in the window with information about the location and opening hours of bank branches, dividing the window into zones and assigning to zones “importance ”May not be executed.
Тем не менее, система, реализующая способ, получает и сохраняет (либо сразу анализирует, как описано) данные D(k), соответствующие (1), и в таких окнах тоже. Nevertheless, the system implementing the method receives and stores (or immediately analyzes, as described) the data D (k) corresponding to (1), and in such windows too.
На фиг. 5 показан пример траектории движения курсора мыши в одном из окон системы ДБО. FIG. 5 shows an example of the trajectory of the mouse cursor in one of the RBS system windows.
Эта траектория по существу представляет собой массив данных вида (2), хранящихся в оперативной либо постоянной памяти компьютерной системы, реализующей описываемый способ, однако, для простоты восприятия на рисунке она представлена в виде непрерывной линии. Подразумевается, что каждая из точек, составляющих эту линию, описана набором данных (1). This trajectory is essentially an array of data of the form (2) stored in the operative or permanent memory of a computer system that implements the described method, however, for ease of perception, it is shown in the figure as a continuous line. It is assumed that each of the points that make up this line is described by a dataset (1).
Начало траектории, соответствующее положению курсора мыши при открытии данного окна, в данном примере находится чуть выше текстового сообщения 331. The start of the path corresponding to the position of the mouse cursor when this window was opened is in this example just above the text message 331.
Как можно видеть на фиг. 5, после открытия окна пользователь сначала заинтересовался интерактивным баннером 342 и какое-то время двигал курсором над ним. Затем перешёл к выполнению перевода и поместил курсор в поле указания счёта плательщика 332, потом— в поле указания счёта получателя 334. Спустя ещё некоторое время, пользователь перевёл фокус ввода в окно 336 для кода подтверждения из SMS и ещё немного позже подвёл курсор мыши к кнопке подтверждения платежа 338. As can be seen in FIG. 5, after opening the window, the user first became interested in the interactive banner 342 and moved the cursor over it for a while. Then he proceeded to perform the transfer and placed the cursor in the field for specifying the payer's account 332, then in the field for specifying the beneficiary's account 334. After some time, the user moved the input focus to window 336 for the confirmation code from the SMS and a little later moved the mouse cursor to the button confirmation of payment 338.
Нужно отметить, что полный ансамбль действий пользователя, помимо перемещения курсора, безусловно, также может включать в себя нажатия (“клики”) левой и правой кнопок мыши, вращение колёсика прокрутки мыши и другие действия. It should be noted that the complete ensemble of user actions, in addition to moving the cursor, of course, can also include pressing (“clicks”) of the left and right mouse buttons, rotating the mouse scroll wheel and other actions.
В компьютерной системе или браузере, где работает пользователь, возникают соответствующие этим событиям сигналы. Однако, в рамках описываемого способа сигналы о подобных событиях не используются, поэтому и в данном описании ни сами эти события, ни соответствующие им сигналы не рассматриваются. Signals corresponding to these events are generated in the computer system or browser where the user is working. However, within the framework of the described method signals about such events are not used, therefore, in this description, neither these events themselves, nor the signals corresponding to them are considered.
Анализ данных (2) о движении курсора мыши начинается с построения списка точек декомпозиции, т.е. списка точек, разбивающих полную траекторию движения курсора в данном окне системы ДБО на фрагменты. Analysis of data (2) on the movement of the mouse cursor begins with building a list of decomposition points, i.e. the list of points dividing the full path of the cursor in this window of the RB system into fragments.
На фиг. 6 показан пример такой декомпозиции применительно к траектории, показанной ранее на фиг. 5. Зоны 330 и 340 на фиг. 6 принадлежат ранее описанному окну системы ДБО 300. Находящиеся в этих зонах элементы пользовательского интерфейса 331...342 на фиг. 6 для простоты восприятия не показаны. FIG. 6 shows an example of such a decomposition in relation to the trajectory shown earlier in FIG. 5. Zones 330 and 340 in FIG. 6 belong to the previously described window of the RB System 300. The elements of the user interface 331 ... 342 in FIG. 6 for ease of perception are not shown.
Первый фрагмент траектории, начало которого совпадает с началом траектории движения курсора мыши 610, заканчивается в точке пересечения 615 курсором границы зон 330 и 340, описанных ранее применительно к фиг. 3. The first fragment of the path, the beginning of which coincides with the beginning of the path of movement of the mouse cursor 610, ends at the point where the cursor intersects 615 the boundary of the zones 330 and 340, described earlier in connection with FIG. 3.
Из точки 615 начинается следующий фрагмент траектории, который заканчивается в точке 620, где курсор мыши остановился и некоторое время пребывал без движения, пока пользователь рассматривал отклик интерактивного баннера на помещение курсора поверх него. From point 615, the next fragment of the trajectory begins, which ends at point 620, where the mouse cursor stopped and remained motionless for some time while the user viewed the response of the interactive banner to placing the cursor over it.
Очередной фрагмент траектории начинается в точке 620 и заканчивается в точке 630, которая также определена как точка остановки курсора. Аналогично выделен фрагмент траектории между точками 630 и 640. The next section of the path begins at point 620 and ends at point 630, which is also defined as the point where the cursor stopped. The fragment of the trajectory between points 630 and 640 is similarly selected.
Затем курсор, двигаясь из точки 640, пересекает границу зон 330 и 340 в точке 645, и это определяет фрагмент траектории, лежащий между точками 640 и 645. Следующий фрагмент находится между точками 645 и 650. Точки 650...670, определяющие дальнейшие фрагменты траектории движения курсора мыши, также являются точками остановки курсора. Then the cursor, moving from point 640, crosses the border of zones 330 and 340 at point 645, and this defines a fragment of the trajectory lying between points 640 and 645. The next fragment is between points 645 and 650. Points 650 ... 670, defining further fragments the paths of the mouse cursor are also the cursor stopping points.
Наконец, точка 680, завершающая последний фрагмент, между 670 и 680, является последней в массиве данных, ассоциированных с данным окном, поскольку после нажатия пользователя на показанную ранее кнопку подтверждения транзакции 338, расположенную в этой точке, система ДБО закрыла данное окно 300 (и открыла следующее, но это в данном случае несущественно, поскольку действия, выполняемые системой, реализующей описываемый способ, в новом окне, будут аналогичны действиям, описанным для данного окна). Обнаружение точек декомпозиции, подобных точкам 620, 630, 640 и т.д., выполняется путём поиска точек, в которых курсор какое-то время deltaT находился без движения, и сравнения этого времени deltaT с заранее заданным, эмпирически подобранным параметром dTmax. Finally, point 680, which ends the last fragment, between 670 and 680, is the last in the array of data associated with this window, because after the user pressed the previously shown transaction confirmation button 338 located at this point, the RBS system closed this window 300 (and opened the following, but in this case it is unimportant, since the actions performed by the system that implements the described method in a new window will be similar to the actions described for this window). The detection of decomposition points, similar to points 620, 630, 640, etc., is performed by searching for points at which the cursor was motionless for some time deltaT, and comparing this time deltaT with a predetermined empirically selected parameter dTmax.
Например, значение параметра dTmax может быть выбрано равным 0.3 секунды. В том случае, если deltaT оказывается больше dTmax, данная точка остановки курсора считается точкой, разделяющей фрагменты траектории движения. For example, the value of the parameter dTmax can be chosen equal to 0.3 seconds. In the event that deltaT turns out to be greater than dTmax, this point of cursor stopping is considered a point separating the fragments of the motion path.
Точки, подобные 615 и 645, обнаруживают путём сравнения координат каждой точки с координатами границ зон, которые были получены на этапе создания системы и хранятся, например, в виде (За), (ЗЬ), как параметры, ассоциированные с конкретным окном системы ДБО. Points like 615 and 645 are detected by comparing the coordinates of each point with the coordinates of the zone boundaries that were obtained at the stage of creating the system and are stored, for example, in the form (3a), (3b), as parameters associated with a specific window of the RBS system.
На фиг. 7 показан пример алгоритма 700, который может использоваться для поиска точек, разделяющих на фрагменты траекторию движения курсора мыши. На стартовом шаге 710 инициализируют переменные i и deltaT, присваивая значения i=l и deltaT=0. На шаге 720 получают два соседних набора данных D(i) и D(i+1); каждый из этих наборов данных имеет вид (1). FIG. 7 illustrates an example of an algorithm 700 that can be used to find points that chunks the path of a mouse cursor. At start step 710, the variables i and deltaT are initialized with the values i = l and deltaT = 0. Step 720 obtains two adjacent datasets D (i) and D (i + 1); each of these datasets has the form (1).
На шаге 730 определяют, оставался ли курсор неподвижным относительно окна на промежутке времени между t(i) и t(i+l), и если да, то на шаге 750 увеличивают deltaT на величину, соответствующую разности t(i) и t(i+l), выполняют на шаге 780 инкремент i, проверяют на шаге 790, не достигнут ли конец сессии (2), то есть не является ли набор данных D(i) последним набором данных, зафиксированным в ходе работы пользователя в данном окне системы ДБО, и возвращаются к шагу 720. Проверка применительно к pageX, pageY позволяет учесть случаи, когда пользователь «прокрутил» окно ДБО, размерами превосходящее экран, при помощи клавиатуры или колёсика мыши (координаты X и Y при этом не изменятся, но изменятся pageX и\или pageY, в зависимости от направления прокрутки). At step 730, it is determined whether the cursor remained stationary relative to the window in the time interval between t (i) and t (i + l), and if so, then at step 750 deltaT is increased by an amount corresponding to the difference between t (i) and t (i + l), increment i is performed at step 780, check at step 790 whether the end of the session (2) has been reached, that is, whether the data set D (i) is the last data set recorded during the user's work in this RB System window , and return to step 720. Checking in relation to pageX, pageY allows to take into account the cases when the user "scrolled" the RBS window larger than the screen using the keyboard or the mouse wheel (the X and Y coordinates will not change, but pageX and \ or pageY, depending on the direction of scrolling).
Если на шаге 730 определили, что курсор переместился, то на шаге 740 проверяют, не принадлежит ли точка X(i+1), Y(i+1), в которую переместился курсор, к множеству точек, описывающих границы зон, как было показано выше применительно к фиг. 4. If at step 730 it was determined that the cursor has moved, then at step 740 it is checked whether the point X (i + 1), Y (i + 1), to which the cursor moved, belongs to the set of points describing the boundaries of the zones, as shown above in relation to FIG. 4.
Если это так, то идентификатор найденной точки пересечения границы зон (идентификатор может быть, например, представлен порядковым номером в цикле, то есть i+1) заносят в общий, в пределах данного окна PAGE®, список точек декомпозиции, затем возвращаются к общему циклу шагами 780, 790. If this is the case, then the identifier of the found intersection point of the border of zones (the identifier can, for example, be represented by a serial number in a cycle, that is, i + 1) is entered into a general, within this PAGE® window, a list of decomposition points, then return to the general loop in steps 780, 790.
Если пересечения границы зон на шаге 740 не обнаружено, то на шаге 760 проверяют накопленное значение deltaT, сравнивая его с заранее заданным параметром dTmax. Если deltaT превышает значение параметра dTmax, то это свидетельствует о том, что найдена точка достаточно длительной остановки курсора, и соответствующий идентификатор этой точки i+1 заносят в список точек декомпозиции, и затем возвращаются к общему циклу шагами 780, 790. If no border crossing is detected at step 740, then at step 760 the accumulated deltaT value is checked against a predetermined parameter dTmax. If deltaT exceeds the value of the dTmax parameter, this indicates that a point has been found for a sufficiently long cursor stop, and the corresponding identifier of this point i + 1 is entered into the list of decomposition points, and then returns to the general loop in steps 780, 790.
Выход из цикла осуществляется при достижении на шаге 790 конца данной сессии (2). The loop is exited when the end of this session is reached at step 790 (2).
Таким образом, в результате выполнения алгоритма 700 для траектории, показанной на фиг. 5 и 6, будет получен полный список точек декомпозиции, а именно, в терминах фиг. 6: Thus, as a result of running algorithm 700 on the path shown in FIG. 5 and 6, a complete list of decomposition points will be obtained, namely in terms of FIG. 6:
Ld = {610, 615, 620, 630, 640, 645, 650, 660, 670, 680}; (5) Ld = {610, 615, 620, 630, 640, 645, 650, 660, 670, 680}; (five)
При помощи списка точек декомпозиции получают список и координаты, то есть наборы данных Di, соответствующие (1), для начальных и конечных точек каждого из фрагментов траектории движения курсора Сп: Using the list of decomposition points, a list and coordinates are obtained, that is, datasets Di corresponding to (1), for the start and end points of each of the fragments of the cursor movement path Cn:
Lc = {Ci(D610, D615); C2(D615, D62O); C3(D620, D63O); C4(D630, DMO); CS(D640, D645); Сб(Об45, ϋό5q); C7(D650, D660); C8(D660, ϋd7q); C9(D670, D68O)} ; (6a) Lc = {Ci (D610, D615); C2 (D615, D 62O ); C 3 (D620, D63O); C4 (D630, DMO); CS (D640, D645); Sat (Ob45, ϋό5q); C7 (D650, D660); C8 (D660, ϋd7q); C9 (D670, D68O)}; (6a)
В альтернативном варианте реализации списки фрагментов составляют, группируя фрагменты по принадлежности к различным зонам окна системы ДБО. In an alternative embodiment, the lists of fragments are made by grouping fragments according to their belonging to different zones of the RB System window.
В этом варианте будет сформировано два списка, один для зоны 330, второй для зоны 340: In this variant, two lists will be generated, one for zone 330, the other for zone 340:
Lc330 = {Cl(D610, D615); Сб(Об45, D65O); C7(D650, D660); C8(D660, D67O); C9(D670, D68O)} ; Lc330 = {Cl (D610, D615); Sat (Ob45, D65O); C7 (D650, D660); C8 (D660, D 67 O); C9 (D670, D68O)};
LC340= {Сг(Об15, D620); C3(D620, D63O); C4(D630, D64O); CS(D640, D645)} ; (6b) LC340 = {Cr (Ob15, D 6 20); C 3 (D 6 20, D63O); C4 (D630, D 64O ); CS (D640, D645)}; (6b)
Система, реализующая данный способ, выполняет вышеописанные шаги и сохраняет полученные данные, накапливая заданное на этапе проектирование системы количество сессий. По достижении этого заданного количества система переходит к обучению по меньшей мере одного классификатора. The system that implements this method performs the above steps and stores the received data, accumulating the number of sessions specified at the stage of designing the system. Upon reaching this predetermined number, the system proceeds to training at least one classifier.
Для каждого пользователя по составленным спискам фрагментов траектории движения курсора мыши (6а) или (6Ь) обучают как минимум одно решающее правило (классификатор). В том случае, если данное окно PAGE® системы ДБО было предварительно разделено на зоны, которым были присвоены различные“коэффициенты важности” (4), для каждой из зон может быть обучен свой классификатор. Также решения этих классификаторов могут дополнительно масштабироваться пропорционально “коэффициентам важности” соответствующих зон. For each user, at least one decision rule (classifier) is trained according to the compiled lists of fragments of the mouse cursor movement path (6a) or (6b). In the event that this PAGE® window of the RB System was previously divided into zones, which were assigned different “coefficients importance ”(4), for each of the zones its own classifier can be trained. Also, the solutions of these classifiers can be additionally scaled in proportion to the “importance factors” of the corresponding zones.
За счёт этого масштабирования нетипичное поведение пользователя в потенциально привлекательных для злоумышленников зонах“высокорисковых” окон системы ДБО, например, таких как зона 330 на Фиг. 3, скорее приведёт к выдаче системой предупреждающего сигнала, нежели нетипичное поведение пользователя в окнах системы ДБО, не связанных с платежами и переводами, например, таких как соседняя зона 340 того же окна, показанного на Фиг.З. Due to this scaling, atypical user behavior in potentially attractive areas of “high-risk” windows of the RBS system, for example, such as area 330 in FIG. 3, is more likely to lead to the issuance of a warning signal by the system, rather than atypical user behavior in the RBS system windows that are not related to payments and transfers, for example, such as the neighboring zone 340 of the same window shown in Fig. 3.
Техническая реализация каждого классификатора может быть любой общеизвестной; он может быть реализован, например, как графовая вероятностная модель (Random Forest) или как SVM-классификатор. The technical implementation of each classifier can be any generally known; it can be implemented, for example, as a graph probabilistic model (Random Forest) or as an SVM classifier.
Для обучения классификаторов из каждого из списков фрагментов траектории движения курсора предварительно извлекают признаки. Поскольку списки фрагментов траектории содержат наборы данных вида (1), каждый из которых содержат и координаты точки X, Y, и время t, когда эти координаты были зафиксированы, то по этим данным не составляет труда любым общеизвестным способом рассчитать любые параметры, имеющие смысл расстояния, направления, времени, скорости (движения курсора мыши), а также их производных. To train the classifiers, features are preliminarily extracted from each of the lists of fragments of the cursor movement trajectory. Since the lists of trajectory fragments contain datasets of the form (1), each of which contains the coordinates of the point X, Y, and the time t, when these coordinates were fixed, then using these data it is not difficult in any generally known way to calculate any parameters that have the meaning of distance , direction, time, speed (movement of the mouse cursor), as well as their derivatives.
Ниже в качестве неограничивающего примера приведён список признаков (7.1)... (7.9), которые могут вычисляться для обучения классификаторов по описываемому способу. Приводимый список не является полным; общее количество признаков, извлекаемых из названных данных, может быть значительно больше, до нескольких сотен. Кроме того, перечисляемые ниже параметры приведены исключительно с целью иллюстрации; вычисление любого из них не является обязательным для реализации описываемого метода. Below, as a non-limiting example, there is a list of features (7.1) ... (7.9) that can be calculated to train classifiers according to the described method. The list is not complete; the total number of features extracted from the named data can be much larger, up to several hundred. In addition, the parameters listed below are for illustration purposes only; the computation of any of them is optional for the implementation of the described method.
В качестве неограничивающего примера можно перечислить следующие признаки, которые вычисляют для каждого фрагмента траектории движения курсора мыши из (6а) или (6Ь), описанного набором данных вида Ck= {D(l), D(2), D(3), ... D(N)}.As a non-limiting example, the following features can be listed, which are calculated for each fragment of the mouse cursor movement path from (6a) or (6b) described by a data set of the form Ck = {D (l), D (2), D (3),. .. D (N)}.
Подразумевается, что каждый набор данных D, от 1-го до N-ro, соответствует (1): It is assumed that each dataset D, from 1st to N-ro, corresponds to (1):
• полное время прохождения курсора от начала до конца данного фрагмента: • total time of passing the cursor from the beginning to the end of the given fragment:
Т - ΪN - ti; (7.1) • длина рабочего пути S, т.е. выраженное в пикселях расстояние между началом и концом данного фрагмента траектории;
Figure imgf000019_0001
T - ΪN - ti; (7.1) • length of the working path S, i.e. the distance expressed in pixels between the beginning and the end of this fragment of the trajectory;
Figure imgf000019_0001
• погонная длина траектории фрагмента S, т.е. сумма расстояний между каждыми двумя соседними точками;
Figure imgf000019_0002
• the linear length of the trajectory of the fragment S, i.e. the sum of the distances between every two adjacent points;
Figure imgf000019_0002
средняя скорость движения курсора мыши V ;
Figure imgf000019_0003
average speed of movement of the mouse cursor V;
Figure imgf000019_0003
• средняя квадратичная скорость движения курсора мыши л/ ^;
Figure imgf000019_0004
• mean square velocity of movement of the mouse cursor l / ^;
Figure imgf000019_0004
• скорость движения курсора мыши на первых 5%, 10%, 20% длины данного фрагмента траектории, 0 05, VQ 1, VQ 2: где ) = [0,05 * N] (7.6)• speed of movement of the mouse cursor on the first 5%, 10%, 20% of the length of this fragment of the trajectory, 0 05 , V Q 1 , V Q 2 : where) = [0.05 * N] (7.6)
Figure imgf000019_0005
Figure imgf000019_0005
_ (Yj+1—Yj)2 + (Xj+1—Xj)2 _ (Yj +1 —Yj) 2 + (X j + 1 —Xj) 2
^o.i = : +i : tj ; где j = [0,1 * N] (7.7) ^ oi = : + i: tj; where j = [0,1 * N] (7.7)
tj tj
N (.Yj+i-Yj)2HXj+i-Xj)2 N (.Yj + i-Yj) 2 HXj + i-Xj) 2
Vt 0,2 ; где j = [0,2 * N] (7.8) V t 0.2; where j = [0.2 * N] (7.8)
tj+i tj tj + i tj
• максимальная скорость Vmax движения курсора мыши на протяжении данного фрагмента траектории:
Figure imgf000019_0006
Вычисление этих, а также других параметров движения курсора мыши может быть выполнено любым общеизвестным способом. Используя рассчитанные параметры в качестве признаков, обучают классификатор или классификаторы.
• the maximum speed V max of the movement of the mouse cursor during this fragment of the trajectory:
Figure imgf000019_0006
The calculation of these, as well as other parameters of the movement of the mouse cursor can be performed in any generally known manner. Using the calculated parameters as features, the classifier or classifiers are trained.
Ниже приведен пример контроля идентичности пользователя. Below is an example of user identity control.
Как указывалось, выше, в заявленном решении получают данные (1), поступающие от системы ДБО и ассоциированные с конкретным пользователем USER(i) и текущим окном PAGE©, и формируют пользовательские сессии (2), анализируя данные отдельно для каждого конкретного окна. As mentioned above, in the claimed solution, data (1) received from the RBS system and associated with a specific user USER (i) and the current PAGE © window, and form user sessions (2), analyzing the data separately for each specific window.
После успешной авторизации пользователь идентифицируется на основании user id, затем выбирается и запускается классификатор или классификаторы, обученные ранее на сессиях этого пользователя для данного конкретного окна либо для данной зоны конкретного окна. На вход классификатора или классификаторов подаются признаки, извлечённые из фрагментов траектории движения курсора мыши. Признаки представляют собой параметры, например, параметры (7.1...7.9), рассчитанные для текущей сессии аналогично тому, как они рассчитывались перед обучением классификатора или классификаторов. After successful authorization, the user is identified based on the user id, then the classifier or classifiers trained earlier in the sessions of this user for this particular window or for this zone of a particular window are selected and launched. At the input of the classifier or classifiers, the features extracted from the fragments of the trajectory of the mouse cursor are fed. Features are parameters, for example, parameters (7.1 ... 7.9), calculated for the current session in the same way as they were calculated before training the classifier or classifiers.
Решение (результат работы) каждого классификатора представляет собой численную оценку вероятности того, что“курсорный почерк” человека, только что введшего логин и пароль, принадлежит именно тому пользователю, на сессиях которого был обучены классификатор или классификаторы. The decision (work result) of each classifier is a numerical estimate of the probability that the “cursor handwriting” of the person who has just entered the login and password belongs to the very user at whose sessions the classifier or classifiers were trained.
В том варианте реализации, где некоторые окна системы ДБО содержат зоны, которым присвоены “коэффициенты важности” (4), решения классификаторов, обученных на данных зонах, могут дополнительно масштабироваться с учётом упомянутых коэффициентов. In the embodiment, where some windows of the RBS system contain zones that are assigned “importance factors” (4), the decisions of the classifiers trained on these zones can be additionally scaled taking into account the mentioned factors.
Масштабирование может подразумевать, например, увеличение или уменьшение численного ответа классификатора на константу, соответствующую “коэффициенту важности”. В другом варианте реализации численный ответ классификатора может быть умножен на такую константу. Scaling can mean, for example, increasing or decreasing the numerical response of the classifier to a constant corresponding to the “importance factor”. In another implementation, the numerical response of the classifier can be multiplied by such a constant.
Решения каждого классификатора или группы классификаторов, ассоциированных с данным USER(i), объединяют в общее решение системы, реализующей данный способ. В одном из возможных вариантов реализации— это объединение может представлять собой суммирование или перемножение численных ответов всех классификаторов, ассоциированных с данным пользователем. Решение системы, также имеющее смысл численной оценки вероятности, поступает в антифрод-систему банка, где может использоваться для генерации тревожных оповещений, имеющих смысл предупреждения о нетипичном поведении конкретного пользователя, или других сигналов аналогичного назначения. The solutions of each classifier or group of classifiers associated with a given USER (i) are combined into a general solution of the system that implements this method. In one possible implementation, this union can be a summation or multiplication of the numerical responses of all classifiers associated with a given user. The solution of the system, which also has the meaning of a numerical assessment of the probability, goes to the anti-fraud system of the bank, where it can be used to generate alarm notifications that have the meaning of warning about atypical behavior of a particular user, or other signals of a similar purpose.
Для новых пользователей, а также для пользователей, по каким-либо причинам, недавно сменившим пароль, в то же время могут выполняться действия по получению новых сессий и обучению новых классификаторов. Такие действия были описаны выше в заявленном решении. For new users, as well as for users who have recently changed their password for some reason, at the same time, actions can be performed to obtain new sessions and train new classifiers. Such actions were described above in the stated decision.
В альтернативном варианте реализации способа, подразумевающем работу в составе системы разграничения доступа, установленной и исполняемой на служебном персональном компьютере, сессия, оставленная пользователем после ввода логина и пароля, передаётся на вход множеству классификаторов, каждый из которых предварительно обучен“курсорному почерку” одного из множества сотрудников данного предприятия или подразделения. In an alternative embodiment of the method, which implies working as part of an access control system installed and executed on a service personal computer, the session left by the user after entering the login and password is transmitted to the input of a plurality of classifiers, each of which is pre-trained in the “cursor handwriting” of one of the set employees of this enterprise or division.
В случае, если ни один из классификаторов не“узнаёт” человека, введшего учётные данные, а также в случае, если один из классификаторов“узнал” человека, не имеющего права доступа к данному компьютеру, подсистема, реализующая описанный способ, генерирует тревожный сигнал, передаваемый уполномоченным лицам, например, сотрудникам отдела информационной безопасности. If none of the classifiers “recognizes” the person who entered the credentials, and also if one of the classifiers “recognizes” the person who does not have the right to access this computer, the subsystem that implements the described method generates an alarm signal, transferred to authorized persons, for example, employees of the information security department.
На Фиг. 8 далее будет представлена общая схема компьютерного устройства (800), обеспечивающего обработку данных, необходимую для реализации заявленного решения. FIG. 8 below will be presented a general diagram of a computer device (800) that provides data processing necessary to implement the claimed solution.
В общем случае устройство (800) содержит такие компоненты, как: один или более процессоров (801), по меньшей мере одну память (802), средство хранения данных (803), интерфейсы ввода/вывода (804), средство В/В (805), средства сетевого взаимодействия (806). In general, the device (800) contains components such as: one or more processors (801), at least one memory (802), data storage means (803), input / output interfaces (804), I / O means ( 805), networking tools (806).
Процессор (801) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (800) или функциональности одного или более его компонентов. Процессор (801) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (802). The processor (801) of the device performs the basic computational operations necessary for the operation of the device (800) or the functionality of one or more of its components. The processor (801) executes the necessary machine-readable instructions contained in the main memory (802).
Память (802), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал. Средство хранения данных (803) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue -Ray дисков) и т.п. Средство (803) позволяет выполнять долгосрочное хранение различного вида информации, например, вышеупомянутых файлов с наборами данных пользователей, базы данных, содержащих записи измеренных для каждого пользователя временных интервалов, идентификаторов пользователей и т.п. Memory (802), as a rule, is made in the form of RAM and contains the necessary program logic that provides the required functionality. The data storage medium (803) can be performed in the form of HDD, SSD disks, raid array, network storage, flash memory, optical storage devices (CD, DVD, MD, Blue-Ray disks), etc. The means (803) 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.
Интерфейсы (804) представляют собой стандартные средства для подключения и работы с компьютерным устройством, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, FireWire и т.п. Interfaces (804) are standard means for connecting and working with a computer device, for example, USB, RS232, RJ45, LPT, COM, HDMI, PS / 2, Lightning, FireWire, etc.
Выбор интерфейсов (804) зависит от конкретного исполнения устройства (800), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук, быть частью банковского терминала, банкомата и т.п. The choice of interfaces (804) depends on the specific implementation of the device (800), which can be a personal computer, mainframe, server cluster, thin client, smartphone, laptop, be part of a bank terminal, ATM, etc.
В качестве средств В/В данных (805) в любом воплощении системы, реализующей описываемый способ, должна использоваться мышь. Аппаратное исполнение мыши может быть любым известным. Подключение мыши к компьютеру может быть, как проводным, при котором соединительный кабель мыши подключен к порту PS/2 или USB, расположенному на системном блоке настольного компьютера, так и беспроводным, при котором мышь осуществляет обмен данными по каналу беспроводной связи, например, радиоканалу, с базовой станцией, которая, в свою очередь, непосредственно подключена к системному блоку, например, к одному из USB-портов. Помимо мыши, в составе средств В/В данных также может использоваться: джойстик, дисплей (сенсорный дисплей), проектор, тачпад, клавиатура, трекбол, световое перо, динамики, микрофон и т.п. A mouse should be used as I / O data (805) in any embodiment of a system implementing the described method. The hardware implementation of the mouse can be any known. Connecting the mouse to the computer can be either wired, in which the mouse connecting cable is connected to the PS / 2 or USB port located on the system unit of the desktop computer, or wireless, in which the mouse exchanges data via a wireless link, for example, a radio channel. with a base station, which, in turn, is directly connected to the system unit, for example, to one of the USB ports. In addition to a mouse, I / O data can also include: joystick, display (touch screen), projector, touchpad, keyboard, trackball, light pen, speakers, microphone, etc.
Средства сетевого взаимодействия (806) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств (805) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM. Networking means (806) are selected from a device that provides network reception and transmission of data, for example, an Ethernet card, WLAN / Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc. The means (805) provide the organization of data exchange via a wired or wireless data transmission channel, for example, WAN, PAN, LAN, Intranet, Internet, WLAN, WMAN or GSM.
Компоненты устройства (800) сопряжены посредством общей шины передачи данных (810). The components of the device (800) are interfaced through a common data bus (810).
В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники. In this application materials, a preferred disclosure of an implementation of the claimed technical solution has been provided, which should not be used as limiting other, particular embodiments of its implementation, which do not go beyond the scope of the requested scope of legal protection and are obvious to specialists in the relevant field of technology.

Claims

Формула изобретения Claim
1. Способ идентификации пользователя по траектории движения курсора, заключающийся в выполнении этапов, на которых с помощью вычислительного устройства: 1. A method for identifying a user along the path of the cursor movement, which consists in performing the stages at which, using a computing device:
- регистрируют учетные данные пользователя в системе; - register the user's credentials in the system;
- присваивают соответствующий учетным данным идентификатор пользователя; - assign a user identifier corresponding to the credentials;
- на протяжении всего сеанса работы идентифицированного пользователя анализируют траекторию движения курсора мыши, для чего: - throughout the entire session of the identified user, the trajectory of the mouse cursor is analyzed, for which:
• для каждого положения курсора мыши фиксируют вертикальную и • for each position of the mouse cursor, the vertical and
горизонтальную координаты курсора мыши и отметку времени, когда эти координаты были зафиксированы; the horizontal coordinates of the mouse cursor and the timestamp when these coordinates were fixed;
• сохраняют последовательность координат курсора мыши и соответствующих им отметок времени; • save the sequence of the mouse cursor coordinates and their corresponding time stamps;
• анализируют записанную последовательность для поиска точек разбиения траектории движения курсора мыши на фрагменты; • analyze the recorded sequence to search for points of dividing the trajectory of the mouse cursor movement into fragments;
• формируют список фрагментов траектории курсора во время сеанса работы данного пользователя. • form a list of fragments of the cursor trajectory during the session of the given user.
- вычисляют для каждого фрагмента траектории курсора набор заранее определённых признаков и сохраняют вычисленные признаки в базе данных, - for each fragment of the cursor trajectory a set of predetermined features is calculated and the calculated features are stored in the database,
- накапливают заданное количество сеансов работы данного пользователя, и на основе признаков, вычисленных в ходе этих сеансов работы, обучают по меньшей мере один классификатор идентифицировать данного пользователя по траектории движения курсора мыши; - accumulate a predetermined number of sessions of this user, and on the basis of the characteristics calculated during these sessions, train at least one classifier to identify this user along the trajectory of the mouse cursor;
- применяют обученный по меньшей мере один классификатор для последующего подтверждения идентичности пользователя, во время сеансов работы которого был обучен по меньшей мере один классификатор. - the trained at least one classifier is used to subsequently confirm the identity of the user, during the sessions of which at least one classifier was trained.
2. Способ по п.1, характеризующийся тем, что точками разбиения траектории движения курсора мыши на фрагменты считают точки, в которых курсор находился без движения свыше заранее заданного времени. 2. The method according to claim 1, characterized in that the points where the cursor was motionless for more than a predetermined time are considered to be the points of dividing the trajectory of the mouse cursor into fragments.
3. Способ по п. 1 , характеризующийся тем, что графический интерфейс, в котором проходят сеансы работы пользователя, предварительно делят на окна, а окна делят на зоны. 3. The method according to claim 1, characterized in that the graphical interface in which the user's sessions take place is pre-divided into windows, and the windows are divided into zones.
4. Способ по п. 3, характеризующийся тем, что точками разбиения траектории движения курсора мыши на фрагменты дополнительно считают точки перехода курсором мыши границы между зонами каждого окна, а также моменты смены окон графического интерфейса на дисплее пользователя. 4. The method according to claim 3, characterized in that the points of dividing the trajectory of the mouse cursor into fragments are additionally considered the points where the mouse cursor moves the boundaries between the zones of each window, as well as the moments of changing the windows of the graphical interface on the user's display.
5. Способ по п. 4, характеризующийся тем, что каждой зоне каждого окна может быть присвоен коэффициент, ассоциированный с данной зоной. 5. The method according to claim 4, characterized in that each zone of each window can be assigned a coefficient associated with this zone.
6. Способ по п. 1, характеризующийся тем, что обучают классификатор методом машинного обучения. 6. The method according to claim 1, characterized by the fact that the classifier is trained by the machine learning method.
7. Способ по п. 6, характеризующийся тем, что классификатор может быть реализован как графовая вероятностная модель или как SVM-классификатор. 7. The method according to claim 6, characterized in that the classifier can be implemented as a graph probabilistic model or as an SVM classifier.
8. Способ по п. 3, характеризующийся тем, что для каждого окна обучают отдельный классификатор. 8. The method according to claim 3, characterized in that a separate classifier is trained for each window.
9. Способ по п. 3, характеризующийся тем, что для каждой зоны обучают отдельный классификатор. 9. The method according to claim 3, characterized in that a separate classifier is trained for each zone.
10. Способ по п.п. 6, 9, характеризующийся тем, что решение каждого классификатора домножают на постоянную величину, соответствующую коэффициенту той зоны, для которой обучен данный классификатор. 10. The method according to PP. 6, 9, characterized in that the solution of each classifier is multiplied by a constant value corresponding to the coefficient of the zone for which the given classifier is trained.
11. Способ по п.п. 6, 9, 10, характеризующийся тем, что решение об идентичности или неидентичности пользователя представляет собой сумму решений всех классификаторов. 11. The method according to PP. 6, 9, 10, characterized in that the decision on the identity or non-identity of the user is the sum of the decisions of all classifiers.
12. Система идентификации пользователя по траектории движения курсора, содержащая: 12. User identification system along the path of the cursor movement, containing:
- компьютерную мышь; - блок регистрации учетных данных пользователя в системе; - computer mouse; - block of registration of user credentials in the system;
- системные часы, выполненные с возможностью фиксации времени - system clock, made with the ability to fix time
- блок регистрации положения курсора мыши, выполненный с возможностью фиксировать вертикальную и горизонтальную координаты курсора мыши; - a unit for registering the position of the mouse cursor, made with the ability to fix the vertical and horizontal coordinates of the mouse cursor;
- долговременную память, выполненную с возможностью хранения базы данных; - вычислительное устройство, выполненное с возможностью выполнения способа по любому из пп. 1-11. - long-term memory, made with the ability to store the database; - a computing device capable of performing the method according to any one of claims. 1-11.
13. Система по п. 12, характеризующаяся тем, что система идентификации пользователя по клавиатурному почерку является составной частью дистанционной системы 13. The system according to claim 12, characterized in that the user identification system by keyboard handwriting is an integral part of the remote system
банковского обслуживания. banking services.
14. Система по п. 12, характеризующаяся тем, что система идентификации пользователя является составной частью веб-сайта, подразумевающего авторизацию пользователей. 14. The system of claim. 12, characterized in that the user identification system is an integral part of the website, implying user authorization.
14. Система по п. 12, характеризующаяся тем, что система идентификации пользователя является составной частью многопользовательской компьютерной игры, 14. The system according to claim 12, characterized in that the user identification system is an integral part of a multiplayer computer game,
подразумевающей авторизацию пользователей. implying user authorization.
15. Система по п. 12, характеризующаяся тем, что система идентификации пользователя является составной частью программно-аппаратного комплекса для совместной работы, подразумевающего авторизацию пользователей. 15. The system according to claim 12, characterized in that the user identification system is an integral part of a software and hardware complex for collaboration, implying user authorization.
PCT/RU2019/000169 2019-03-19 2019-03-19 Method and system for identifying a user from cursor movement trajectory WO2020190165A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/RU2019/000169 WO2020190165A1 (en) 2019-03-19 2019-03-19 Method and system for identifying a user from cursor movement trajectory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2019/000169 WO2020190165A1 (en) 2019-03-19 2019-03-19 Method and system for identifying a user from cursor movement trajectory

Publications (1)

Publication Number Publication Date
WO2020190165A1 true WO2020190165A1 (en) 2020-09-24

Family

ID=72519343

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2019/000169 WO2020190165A1 (en) 2019-03-19 2019-03-19 Method and system for identifying a user from cursor movement trajectory

Country Status (1)

Country Link
WO (1) WO2020190165A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806824A (en) * 2020-12-28 2021-12-17 京东科技控股股份有限公司 Mouse track-based security verification method and device and computer equipment
CN113988217A (en) * 2021-11-22 2022-01-28 西北工业大学 Method for identifying identity of user identities across social platforms
CN116545642A (en) * 2023-01-07 2023-08-04 杭州融至兴科技有限公司 Terminal monitoring management system for specific environment
CN116545642B (en) * 2023-01-07 2024-05-14 杭州融至兴科技有限公司 Terminal monitoring management system for specific environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8606725B1 (en) * 2008-10-29 2013-12-10 Emory University Automatic client-side user-behavior analysis for inferring user intent
US20160171197A1 (en) * 2011-02-11 2016-06-16 Allure Security Technology Inc. System level user behavior biometrics using feature extraction and modeling
US20170140279A1 (en) * 2010-11-29 2017-05-18 Biocatch Ltd. System, device, and method of detecting user identity based on motor-control loop model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8606725B1 (en) * 2008-10-29 2013-12-10 Emory University Automatic client-side user-behavior analysis for inferring user intent
US20170140279A1 (en) * 2010-11-29 2017-05-18 Biocatch Ltd. System, device, and method of detecting user identity based on motor-control loop model
US20160171197A1 (en) * 2011-02-11 2016-06-16 Allure Security Technology Inc. System level user behavior biometrics using feature extraction and modeling

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806824A (en) * 2020-12-28 2021-12-17 京东科技控股股份有限公司 Mouse track-based security verification method and device and computer equipment
CN113806824B (en) * 2020-12-28 2024-05-17 京东科技控股股份有限公司 Safety verification method and device based on mouse track and computer equipment
CN113988217A (en) * 2021-11-22 2022-01-28 西北工业大学 Method for identifying identity of user identities across social platforms
CN113988217B (en) * 2021-11-22 2024-04-12 西北工业大学 Method for identifying identity of user across social platforms
CN116545642A (en) * 2023-01-07 2023-08-04 杭州融至兴科技有限公司 Terminal monitoring management system for specific environment
CN116545642B (en) * 2023-01-07 2024-05-14 杭州融至兴科技有限公司 Terminal monitoring management system for specific environment

Similar Documents

Publication Publication Date Title
WO2019153604A1 (en) Device and method for creating human/machine identification model, and computer readable storage medium
Buschek et al. Improving accuracy, applicability and usability of keystroke biometrics on mobile touchscreen devices
US11729316B1 (en) Call center interface
EP3497621B1 (en) Identifying one or more users based on typing pattern and/or behaviour
Feher et al. User identity verification via mouse dynamics
Li et al. Unobservable re-authentication for smartphones.
Antal et al. Information revealed from scrolling interactions on mobile devices
CN107093076A (en) The system and method for detecting fraudulent user transaction
US10037542B2 (en) Automated teller machine (ATM) interface
US11868963B1 (en) Mobile device interface
CN102216935B (en) Apparatus and method for inputting password using game
US11537693B2 (en) Keyboard and mouse based behavioral biometrics to enhance password-based login authentication using machine learning model
US20150135101A1 (en) Function based interface
US20150135067A1 (en) Intelligent data presentation
Wang et al. Towards continuous and passive authentication across mobile devices: an empirical study
WO2022146593A1 (en) Systems and methods for passive multi-factor authentication of device users
CN105447433A (en) Method and apparatus for identity registration
CA3228679A1 (en) Systems and methods for continuous user authentication
US20150178374A1 (en) Method and system of providing user profile detection from an input device
WO2020190165A1 (en) Method and system for identifying a user from cursor movement trajectory
US20210357923A1 (en) Automatic transaction execution based on transaction log analysis
US20150130811A1 (en) Banking interface
RU2792586C1 (en) Method and system for user identification using cursor trajectory
US20210182710A1 (en) Method and system of user identification by a sequence of opened user interface windows
Acien et al. Mobile active authentication based on multiple biometric and behavioral patterns

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: 19919965

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19919965

Country of ref document: EP

Kind code of ref document: A1