Continuous identity authentication method based on user keyboard behavior
By analyzing the keyboard behavior data of mobile device users, building feature vectors and two-dimensional matrices, and inputting them into the authentication model for verification, the problem of continuous authentication in the prior art is solved, and high accuracy and security authentication of mobile device users is achieved.
Patent Information
- Application Number
- CN202510286799.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-12
- Publication Date
- 2025-04-08
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The user authentication method of existing mobile devices mainly relies on one-time verification, and it is impossible to perform continuous authentication during the user's use of the device, making it difficult to detect the device's use by others in a timely manner, and there are security risks.
Using a continuous authentication method based on user keyboard behavior, a feature vector and a two-dimensional matrix are constructed by obtaining and analyzing the user's keyboard behavior data on the device, including key sequences, timestamps, pressure values and device acceleration, and input them to the trained authentication model for verification.
It realizes continuous identity authentication for mobile device users, improves the accuracy and security of identity verification, can promptly detect identity impersonation, and adapts to changes in user behavior through model updates, ensuring the reliability of identity verification.
Smart Images

Figure CN119783082A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of identity authentication, and in particular relates to a continuous identity authentication method based on user keyboard behavior. Background Art
[0002] With the widespread popularity of mobile devices (such as mobile phones), people store and process a large amount of sensitive information on mobile devices, such as bank account information, personal privacy data, etc. The current user authentication methods for mobile devices are mainly concentrated on one-time authentication methods such as static password authentication, fingerprint recognition, and facial recognition. Although these information are efficient and practical, these methods still have certain limitations. For example, static passwords are easy to be forgotten or stolen; fingerprint recognition and facial recognition may not work properly in some cases (such as finger injuries, face obstruction), and once the biometric information is leaked, it is difficult to replace. In addition, the biggest flaw in one-time authentication is that once an unknown user completes the authentication through forgery, the unknown user will have full system permissions, so that the system will run normally without any resistance, thus putting the entire system in danger. This is because these one-time authentication methods cannot perform continuous authentication during the user's use of the mobile device, resulting in the inability to promptly detect the device being impersonated by others. Summary of the invention
[0003] The purpose of the present invention is to solve the problem raised in the background technology and to propose a continuous identity authentication method based on user keyboard behavior.
[0004] To achieve the above object, the technical solution adopted by the present invention is:
[0005] The present invention proposes a continuous identity authentication method based on user keyboard behavior, comprising:
[0006] Step 1: Obtaining the behavior data of the user to be verified operating on the device, wherein the behavior data includes a key sequence of a preset length, a timestamp corresponding to when each key in the key sequence is pressed, a timestamp corresponding to when each key is lifted, a pressure value when each key is pressed, and a value of each axis of the acceleration of the device shaking when each key is pressed in a preset three-dimensional coordinate system;
[0007] Step 2: Calculate the duration of each key being pressed and the interval between each adjacent key being pressed according to the timestamp corresponding to when each key is pressed and the timestamp corresponding to when each key is lifted;
[0008] Step 3, set a sliding window for the key sequence to select;
[0009] Step 4: construct a feature vector for each key in the sliding window, including character information on the key, pressure value when the key is pressed, value of acceleration of device shaking on each axis in a preset three-dimensional coordinate system, duration of key pressing, and interval time between adjacent key pressings, and construct a two-dimensional matrix based on the sliding window and the feature vector;
[0010] Step 5: Input the two-dimensional matrix into the trained identity verification model, and the identity verification model outputs the result of whether the identity of the user to be verified is correct;
[0011] Step 6. The sliding window continues to select the next box, and then repeats steps 4-5 until the key sequence ends. Each time the sliding window selects a box, if the output result of the corresponding identity authentication model is correct, the identity of the user to be verified is a legal user. If the output result of the corresponding identity authentication model is wrong, the identity of the user to be verified is an illegal user.
[0012] Preferably, the key sequence is obtained by: monitoring the touch screen of the device and recording the characters of the keys corresponding to the touch screen;
[0013] The pressure value when the button is pressed is obtained by: monitoring the touch screen of the device and detecting the pressure value of each touch screen through a pressure sensor;
[0014] The acceleration values of each axis of the device shaking when the button is pressed in the preset three-dimensional coordinate system are obtained by monitoring the touch screen of the device, and detecting the acceleration of the device shaking when each touch screen is detected by an acceleration sensor, and obtaining the acceleration values of each axis in the preset three-dimensional coordinate system.
[0015] Preferably, the step of calculating the duration of pressing each key and the interval between pressing adjacent keys according to the timestamp corresponding to when each key is pressed and the timestamp corresponding to when each key is released includes: ; ;
[0016] in, Indicates The duration of a key press, Indicates The key pressed is The time interval between button presses, Indicates The timestamp corresponding to when a key is released, Indicates The timestamp corresponding to when a key is pressed, Indicates The timestamp corresponding to when a key is pressed, and i ∈[1,M] , is the total number of keys pressed in the key sequence.
[0017] Preferably, after obtaining the pressure value when each button is pressed and the value of each axis of the acceleration of the device shaking when each button is pressed in the preset three-dimensional coordinate system, the pressure value and the value of each axis of the acceleration in the preset three-dimensional coordinate system are linearly normalized.
[0018] Preferably, the size of the sliding window is , and the step length is .
[0019] Preferably, constructing a feature vector for each key in the sliding window, including character information on the key, pressure value when the key is pressed, values of acceleration of device shaking on each axis in a preset three-dimensional coordinate system, duration of key pressing, and interval time between adjacent key pressings, and constructing a two-dimensional matrix based on the sliding window and the feature vector, includes:
[0020] Construct feature vector: The feature vector of the last key in the sliding window is expressed as ,in, Indicates the first The feature vector of the keys, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The pressure value after linear normalization when a key is pressed, Indicates the first The ASCII code value corresponding to the character on the key, Indicates the first The duration of a key being pressed;
[0021] The feature vectors of the remaining keys in the sliding window are expressed as ,in, Indicates the first The feature vector of the keys, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The pressure value after linear normalization when a key is pressed, Indicates the first The ASCII code value corresponding to the character on the key, Indicates the first The duration of a key press, Indicates the first The first key is pressed and the The time interval between button presses, Indicates the first The ASCII code value corresponding to the character on the key, and j ∈[1,N-1] ;
[0022] The ordinate of the two-dimensional matrix is the serial number of each key in the sliding window, and the abscissa of the two-dimensional matrix is the feature vector of each key in the sliding window.
[0023] Preferably, the identity authentication model is a convolutional neural network.
[0024] Preferably, the identity authentication model is updated according to a preset period, and the behavior data of the user to be authenticated operating on the device in each period is collected, and the identity authentication model is updated. In the updating process, the convolutional layer of the identity authentication model is fine-tuned through LoRA to achieve the updating of the identity authentication model.
[0025] Compared with the prior art, the present invention has the following beneficial effects:
[0026] 1. This continuous identity authentication method based on user keyboard behavior constructs feature vectors and two-dimensional matrices to verify the correct identity of the user from multiple dimensions: pressure value, the value of each axis of the device acceleration in the three-dimensional coordinate system, the duration of key pressing and the interval between two adjacent keys, and the ASCII code value corresponding to the character on the key. It has higher accuracy than starting from a single dimension, can more comprehensively and accurately characterize the user's typing behavior characteristics, and greatly improve the accuracy of identity authentication;
[0027] 2. This continuous authentication method based on user keyboard behavior realizes continuous authentication of mobile device users, changes the limitations of traditional one-time authentication methods, and can promptly detect identity fraud when users use the device, greatly improving the security of mobile device information; and by continuously updating the authentication model to adapt to changes in user behavior, it ensures the accuracy and reliability of authentication. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1 The present invention is a flow chart of a continuous identity authentication method based on user keyboard behavior. DETAILED DESCRIPTION
[0029] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0030] In one embodiment, Figure 1 As shown, a continuous authentication method based on user keyboard behavior is provided, including:
[0031] Step 1: Obtain the behavior data of the user to be verified operating on the device, wherein the behavior data includes a key sequence of preset length, a timestamp corresponding to when each key in the key sequence is pressed, a timestamp corresponding to when each key is lifted, a pressure value when each key is pressed, and a value of each axis of the acceleration of the device shaking when each key is pressed in a preset three-dimensional coordinate system;
[0032] It should be noted that the device in this embodiment is a mobile device, such as a mobile phone, a tablet, etc. The acquired behavior data is temporarily stored in the local cache of the device, and the cache adopts a circular queue structure to cyclically store the latest behavior data with a fixed size (such as 10MB); this can ensure that the latest data is stored, and when the data volume reaches a certain level, the old data can be automatically overwritten to save storage space.
[0033] The key sequence of preset length is the key sequence stored in the circular queue structure in chronological order, and the preset length is consistent with the size of the circular queue structure (such as 10MB). Different users have different typing habits, and the key sequence reflects the order in which users input content. For example, some users are accustomed to using full pinyin input, and when entering common words, the key sequence is relatively fixed; while some users may prefer to use the first letter or other input methods, and the key sequence is completely different from that of full pinyin users. By analyzing the key sequence, the user's unique input pattern can be captured.
[0034] In this embodiment, the key sequence is obtained by: monitoring the touch screen of the device and recording the characters of the corresponding keys on the touch screen; taking the Android system as an example, overriding the onTouchEvent(MotionEvent event) method in the Activity, when a touch event is detected and the touch point is located in the soft keyboard area, obtaining the key character corresponding to the touch event, and adding it to the cache used to store the key sequence; for example, the user clicks "a", "b", "c" in sequence, then the key sequence data will be recorded as ["a", "b", "c"].
[0035] In this embodiment, the acquisition of the timestamp corresponding to each key when it is pressed and the acquisition of the timestamp corresponding to each key when it is lifted: the time data related to the key (the timestamp corresponding to the time when the key is pressed and the timestamp corresponding to the time when the key is lifted) is acquired by using the time recording mechanism. Taking the Android system as an example, in the onTouchEvent(MotionEvent event) method, when a key press event is detected, that is, when event.getAction()==MotionEvent.ACTION_DOWN, the press time pressTime = System.currentTimeMillis() is recorded; when a key lift event is detected, that is, when event.getAction()==MotionEvent.ACTION_UP, the lift time releaseTime = System.currentTimeMillis() is recorded.
[0036] In this embodiment, the pressure value when a button is pressed is obtained by: monitoring the touch screen of the device, and detecting the pressure value of each touch screen through a pressure sensor; different users apply different pressures when operating the touch screen, which is related to personal finger strength, operating habits and other factors. Even for the same input content, the pressure of different users clicking a button may be different. Therefore, the pressure when clicking a button is obtained by obtaining the pressure value in the touch screen event. Taking the Android system as an example, the MotionEvent class provides a getPressure() method to obtain the pressure value of the touch screen point, which is between 0 (no pressure) and 1 (maximum pressure). In the onTouchEvent(MotionEvent event) method, when a touch screen event is detected and the touch screen point is in the soft keyboard area, float pressure = event.getPressure() is used to obtain the pressure value, and the pressure value is recorded in association with the corresponding key operation.
[0037] In this embodiment, the acceleration of the device shaking when a key is pressed is obtained in a preset three-dimensional coordinate system (such as a three-dimensional coordinate system: the lower left corner of the device screen is the origin, the x-axis horizontally points to the right, the y-axis vertically points to the top, and the z-axis points to the front of the screen. This is the default sensor coordinate system origin of the Android system, and no additional manual setting is required) by: monitoring the touch screen of the device, and detecting the acceleration of the device shaking when each touch screen is detected by the acceleration sensor, and obtaining the value of the acceleration in each axis in the preset three-dimensional coordinate system. When different users type on handheld devices, the device's tilt angle, shaking degree and other posture performances are different. By analyzing the data of the acceleration sensor on each axis (i.e., x-axis, y-axis, and z-axis) in the three-dimensional coordinate system, the posture information of the device when the user is typing can be obtained, such as whether the device is in a horizontal, vertical or tilted state, and whether there is shaking, etc. These posture features are part of the user's operating habits and can assist in determining whether the current operation comes from a user with the correct identity. Taking the Android system as an example, by calling getSystemService(Context.SENSOR_SERVICE), you can get the SensorManager instance, which is the core of managing sensors. Then get the accelerometer object, and use the getDefaultSensor(Sensor.TYPE_ACCELEROMETER) method of SensorManager to get the Sensor object representing the accelerometer. Then register the sensor listener. In the onResume() method, use the registerListener() method of SensorManager to register a listener that implements the SensorEventListener interface. When the accelerometer data changes, the onSensorChanged(SensorEvent event) method will be triggered. In this method, you can get the acceleration values on the x, y, and z axes, corresponding to X=event.values[0], Y=event.values[1], and Z=event.values[2], respectively.
[0038] Step 2: Calculate the duration of each key press and the interval between each adjacent key press according to the timestamp corresponding to each key press and the timestamp corresponding to each key release (the duration of each person's key press and the time interval between pressing two keys are different. During typing, the duration of a key press can reflect the user's typing speed and style. For example, some people are used to typing quickly and the duration is short; while others are used to typing slowly and carefully and the duration is long. The time interval between two key presses reflects the user's typing rhythm. Skilled users often have a relatively stable rhythm and a relatively regular interval. Both types of data are inherent characteristics of user behavior and are not easy to imitate), including: ; ;
[0039] in, Indicates The duration of a key press, Indicates The first key is pressed and the The time interval between button presses, Indicates The timestamp corresponding to when a key is released, Indicates The timestamp corresponding to when a key is pressed, Indicates The timestamp corresponding to when a key is pressed, and i ∈[1,M] , is the total number of keys pressed in the key sequence.
[0040] Step 3: Select the key sequence setting sliding window (for example, for a device with strong performance, you can set is 100 (i.e. 100 key operations); for mid- and low-end devices, set is 50 (i.e., 50 key operations) to reduce the amount of calculation); where the size of the sliding window is , and the step length is The sliding window starts to select from the head of the key sequence. Each time the key is selected, the corresponding two-dimensional matrix is input into the trained identity verification model. The identity verification model outputs the result corresponding to the two-dimensional matrix (i.e., whether the user identity is correct). Then the next selection starts from the position where the previous selection ended until the key sequence ends.
[0041] Step 4: For each key in the sliding window, construct a feature vector including the character information on the key, the pressure value when the key is pressed, the value of each axis of the acceleration of the device shaking in the preset three-dimensional coordinate system, the duration of the key pressing, and the interval time between adjacent key pressings, and construct a two-dimensional matrix based on the sliding window and the feature vector, including:
[0042] Among them, after obtaining the pressure value when each button is pressed and the value of each axis of the acceleration of the device shaking when each button is pressed in the preset three-dimensional coordinate system, the pressure value and the value of each axis of the acceleration in the preset three-dimensional coordinate system are linearly normalized, and the formula for linear normalization is as follows: ;
[0043] in, is the value after linear normalization (the pressure value or acceleration value of each axis in the preset three-dimensional coordinate system). is the value corresponding to each button in the current sliding window (the pressure value or the value of each axis of the acceleration in the preset three-dimensional coordinate system), is the minimum value in the current sliding window (the pressure value or acceleration value of each axis in the preset three-dimensional coordinate system), is the maximum value in the current sliding window (the pressure value or acceleration value of each axis in the preset three-dimensional coordinate system). The advantage of this method is that it is simple and fast, and can effectively avoid the influence of accidental outliers.
[0044] Construct feature vector: The feature vector of the last key in the sliding window is expressed as ,in, Indicates the first The feature vector of the keys, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The pressure value after linear normalization when a key is pressed, Indicates the first The ASCII code value corresponding to the character on the key, Indicates the first The duration of a key being pressed;
[0045] The feature vectors of the remaining keys in the sliding window are expressed as ,in, Indicates the first The feature vector of the keys, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The pressure value after linear normalization when a key is pressed, Indicates the first The ASCII code value corresponding to the character on the key, Indicates the first The duration of a key press, Indicates the first The first key is pressed and the The time interval between button presses, Indicates the first The ASCII code value corresponding to the character on the key, and j ∈[1,N-1] ;
[0046] The ordinate of the two-dimensional matrix is the serial number of each key in the sliding window, and the abscissa of the two-dimensional matrix is the feature vector of each key in the sliding window.
[0047] Through feature vectors, verifying the user's correct identity from multiple dimensions (pressure value, device acceleration values in each axis in the three-dimensional coordinate system, duration of key pressing and interval between two adjacent keys, and ASCII code values corresponding to the characters on the keys) has higher accuracy than verifying from a single dimension.
[0048] Step 5: Input the two-dimensional matrix into the trained identity authentication model, and the identity authentication model outputs whether the identity of the user to be verified is correct.
[0049] The identity authentication model is a convolutional neural network. The identity authentication model calculates the similarity between the input two-dimensional matrix and the stored user feature information. If the similarity exceeds the preset threshold, the user identity is judged to be legal (that is, the user identity is correct), and the user is allowed to continue the operation; if the similarity is lower than the threshold, an identity authentication warning is triggered, such as a prompt box popping up on the device requiring the user to re-authenticate (such as entering a password, performing biometric recognition, etc.), or restricting the use of some functions of the device.
[0050] Step 6. The sliding window continues to select the next time, and then repeats steps 4-5 until the key sequence ends. Each time the sliding window selects, if the output result of the corresponding identity authentication model is correct, the identity of the user to be verified is a legal user (that is, if the output result corresponding to each selection of the sliding window is correct, the identity of the user to be verified is a legal user). If the output result of the corresponding identity authentication model is wrong, the identity of the user to be verified is an illegal user (that is, as long as there is an output result that is wrong, the identity of the user to be verified is an illegal user, and when there is an output result that is wrong, the identity of the user to be verified is directly judged as an illegal user, and there is no need to perform a selection operation on the data in the subsequent key sequence).
[0051] In another embodiment, the training process of the identity verification model is:
[0052] Step I: first collect a large amount of previous behavior data of legitimate users (i.e., users with correct identities) operating on the device according to step 1; Step II: calculate the duration of key pressing and the interval time between adjacent key pressings according to step 2; Step III: set the sliding window for selection according to step 3 (the sliding window selects the key sequence once in each round of training of the identity authentication model); Step IV: construct the feature vector and the two-dimensional matrix according to step 4; Step V: input the two-dimensional matrix into the identity authentication model according to step 5, so that the identity authentication model establishes a mapping relationship between the user's behavior data and the user's identity; Step VI: continue the next selection of the sliding window (start with the end position of the previous selection and select again), and then repeat steps IV-VI until a trained identity authentication model is obtained (the identity authentication model converges).
[0053] After the authentication model is trained, update the authentication model regularly:
[0054] The authentication model is updated according to the preset cycle, and the behavioral data of the user to be authenticated operating on the device in each cycle is collected, and the authentication model is updated. During the update process, the convolutional layer of the authentication model is fine-tuned by LoRA (Low-Rank Adaptation fine-tuning is an efficient model fine-tuning technology that aims to reduce the number of parameters required for fine-tuning by introducing low-rank matrices, thereby improving training efficiency and avoiding overfitting). If a timer is set locally on the device, the scheduled task tool provided by the operating system (such as Android's AlarmManager) can be used to trigger the authentication model update operation according to the set update cycle (such as once a week). When the timer is triggered, the user's recent (such as the past week) behavioral data is obtained from the local cache, and then steps II to V are performed. When performing step V, the convolutional layer of the authentication model is fine-tuned by LoRA (low-rank matrices A and B are added on the basis of the convolutional layer. If the final generated weight matrix parameter W=(256 256), then A=256 β, B = β 256, W=A B, the output of the convolution layer is the original convolution result plus the result of the convolution of matrices A and B. The authentication model only needs to update the parameters of A and B each time it is updated). This method is only used to update part of the model instead of updating all parameters, which can significantly reduce the computational overhead while maintaining the performance of the model.
[0055] This continuous identity authentication method based on user keyboard behavior constructs feature vectors and two-dimensional matrices to verify the correct identity of the user from multiple dimensions: pressure value, values of each axis of device acceleration in a three-dimensional coordinate system, duration of key pressing and interval time between two adjacent keys, and ASCII code values corresponding to the characters on the keys. This method has higher accuracy than starting from a single dimension, can more comprehensively and accurately characterize the user's typing behavior characteristics, and greatly improves the accuracy of identity authentication. This continuous identity authentication method based on user keyboard behavior realizes continuous identity authentication of mobile device users, changes the limitations of traditional one-time authentication methods, and can promptly detect identity fraud during the user's use of the device, greatly improving the security of mobile device information. It also adapts to changes in user behavior by continuously updating the identity authentication model, thereby ensuring the accuracy and reliability of identity authentication.
[0056] It should be understood that although Figure 1 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 1 At least part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least part of the sub-steps or stages of other steps.
[0057] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.
Claims
1. A continuous identity authentication method based on user keyboard behavior, characterized in that: The continuous authentication method based on user keyboard behavior includes: Step 1: Obtaining the behavior data of the user to be verified operating on the device, wherein the behavior data includes a key sequence of a preset length, a timestamp corresponding to when each key in the key sequence is pressed, a timestamp corresponding to when each key is lifted, a pressure value when each key is pressed, and a value of each axis of the acceleration of the device shaking when each key is pressed in a preset three-dimensional coordinate system; Step 2: Calculate the duration of each key being pressed and the interval between each adjacent key being pressed according to the timestamp corresponding to when each key is pressed and the timestamp corresponding to when each key is lifted; Step 3, set a sliding window for the key sequence to select; Step 4: construct a feature vector for each key in the sliding window, including character information on the key, pressure value when the key is pressed, value of acceleration of device shaking on each axis in a preset three-dimensional coordinate system, duration of key pressing, and interval time between adjacent key pressings, and construct a two-dimensional matrix based on the sliding window and the feature vector; Step 5: Input the two-dimensional matrix into the trained identity verification model, and the identity verification model outputs the result of whether the identity of the user to be verified is correct; Step 6. The sliding window continues to select the next box, and then repeats steps 4-5 until the key sequence ends. Each time the sliding window selects a box, if the output result of the corresponding identity authentication model is correct, the identity of the user to be verified is a legal user. If the output result of the corresponding identity authentication model is wrong, the identity of the user to be verified is an illegal user.
2. The continuous identity authentication method based on user keyboard behavior as claimed in claim 1, characterized in that: The key sequence is obtained by: monitoring the touch screen of the device and recording the characters of the keys corresponding to the touch screen; The pressure value when the button is pressed is obtained by: monitoring the touch screen of the device and detecting the pressure value of each touch screen through a pressure sensor; The acceleration values of each axis of the device shaking when the button is pressed in the preset three-dimensional coordinate system are obtained by monitoring the touch screen of the device, and detecting the acceleration of the device shaking when each touch screen is detected by an acceleration sensor, and obtaining the acceleration values of each axis in the preset three-dimensional coordinate system.
3. The continuous identity authentication method based on user keyboard behavior as claimed in claim 1, characterized in that: The method of calculating the duration of pressing each key and the interval between pressing adjacent keys according to the timestamp corresponding to when each key is pressed and the timestamp corresponding to when each key is released includes: ; ; in, Indicates The duration of a key press, Indicates The first key is pressed and the The time interval between button presses, Indicates The timestamp corresponding to when a key is released, Indicates The timestamp corresponding to when a key is pressed, Indicates The timestamp corresponding to when a key is pressed, and , is the total number of keys pressed in the key sequence.
4. The continuous identity authentication method based on user keyboard behavior as claimed in claim 1, characterized in that: After obtaining the pressure value when each button is pressed and the value of each axis of the acceleration of the device shaking when each button is pressed in the preset three-dimensional coordinate system, the pressure value and the value of each axis of the acceleration in the preset three-dimensional coordinate system are linearly normalized.
5. The continuous identity authentication method based on user keyboard behavior as claimed in claim 4, characterized in that: The size of the sliding window is , and the step length is .
6. The method for continuous identity authentication based on user keyboard behavior as claimed in claim 5, characterized in that: The method constructs a feature vector for each key in the sliding window, including character information on the key, pressure value when the key is pressed, value of each axis of the acceleration of device shaking in a preset three-dimensional coordinate system, duration of key pressing, and interval time between adjacent key pressings, and constructs a two-dimensional matrix based on the sliding window and the feature vector, including: Construct feature vector: The feature vector of the last key in the sliding window is expressed as ,in, Indicates the first The feature vector of the keys, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The pressure value after linear normalization when a key is pressed, Indicates the first The ASCII code value corresponding to the character on the key, Indicates the first The duration of a key being pressed; The feature vectors of the remaining keys in the sliding window are expressed as ,in, Indicates the first The feature vector of the keys, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The acceleration of the device shaking when a key is pressed is The linear normalized value on the axis, Indicates the first The pressure value after linear normalization when a key is pressed, Indicates the first The ASCII code value corresponding to the character on the key, Indicates the first The duration of a key press, Indicates the first The first key is pressed and the The time interval between button presses, Indicates the first The ASCII code value corresponding to the character on the key, and ; The ordinate of the two-dimensional matrix is the serial number of each key in the sliding window, and the abscissa of the two-dimensional matrix is the feature vector of each key in the sliding window.
7. The continuous identity authentication method based on user keyboard behavior as claimed in claim 1, characterized in that: The identity verification model is a convolutional neural network.
8. The method for continuous identity authentication based on user keyboard behavior as claimed in claim 1, characterized in that: The identity authentication model is updated according to a preset period, collects behavioral data of the user to be authenticated operating on the device in each period, and updates the identity authentication model. During the updating process, the convolutional layer of the identity authentication model is fine-tuned through LoRA to achieve the updating of the identity authentication model.
Citation Information
Patent Citations
User authentication method and apparatus
CN108306884A
A method for continuously identifying the identity of a user on the basis of habits of using an intelligent mobile phone
CN108683813A
Identity authentication method and device and storage medium thereof
CN109446780A
Self-adaptive continuous identity authentication method and system based on touch screen interaction behaviors
CN112487374A
User identity verification method and device
CN115238252A
Cited By
Continuous identity verification and key updating method based on ring wearing behavior characteristics
CN121441546A