Hijacking identification method, device, equipment and storage medium
Patent Information
- Application Number
- CN202511572320.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-30
- Publication Date
- 2026-08-18
- Estimated Expiration
- 2045-10-30
AI Technical Summary
[0005]本申请实施例的目的是提供一种劫持识别方法、劫持识别装置、设备及存储介质,以解决现有技术中人脸识别系统对AI生成视频的识别能力较差,降低了系统的安全性的问题
[0016] The hijacking identification method, apparatus, device, and storage medium provided in this application first generate a video acquisition parameter set containing action sequences and video specification sequences in the system backend. Then, the user executes the specified challenge actions in the action sequence in sequence in the system frontend, thereby transmitting the user action video stream obtained based on the video acquisition parameter set to the system backend. Based on pre-set action normative constraints and action consistency constraints across video specifications, the hijacking identification result of the user action video stream (whether it is hijacked or not) is determined. This can effectively prevent users from passing the verification by playing edited videos, transcoding and replaying, etc., and effectively improve the robustness and security of the system (especially the anti-attack capability).
Smart Images

Figure CN121530634B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network information security technology, specifically to a hijacking identification method, a hijacking identification device, an electronic device, and a machine-readable storage medium. Background Technology
[0002] With the rapid evolution of artificial intelligence technology, especially the breakthroughs in generative AI in image and video synthesis, AI-generated video content has significantly improved in realism, making it difficult to distinguish from genuine content by the naked eye or conventional methods. Attackers can use this technology to synthesize highly realistic fake face videos to attack H5-based facial recognition systems, effectively bypassing traditional liveness detection methods.
[0003] Existing widely used H5 face recognition solutions (such as Tencent Cloud and Alibaba Cloud) mostly rely on motion challenges and video parameter detection. Although they have basic anti-spoofing capabilities, they are still significantly insufficient in dealing with new types of forgery attacks such as AI-synthesized videos. They lack effective defense mechanisms, which ultimately leads to security risks such as account misuse and identity theft.
[0004] Therefore, it is urgent to enhance the ability to identify deepfake content in order to improve the security of facial recognition systems (especially their resistance to attacks). Summary of the Invention
[0005] The purpose of this application is to provide a hijacking identification method, hijacking identification device, equipment, and storage medium to solve the problem that the existing face recognition system has poor recognition ability for AI-generated videos, which reduces the security of the system.
[0006] To achieve the above objectives, the first aspect of this application provides a hijacking identification method applied to a face recognition system, wherein the face recognition system includes a front-end and a back-end, the front-end and the back-end are connected, and the method is executed by the back-end, the method comprising: If motion detection is determined, a video capture parameter set is generated and sent to the front end, so that the front end generates motion capture prompt information based on the video capture parameter set and displays it to the user; wherein, the video capture parameter set includes a motion sequence and a video specification sequence, the motion sequence includes multiple specified challenge actions, and the video specification sequence includes multiple video specifications; The system determines that a user action video stream, acquired by the user using the video acquisition parameter set submitted by the user through the front end, has been obtained. Based on the user action video stream and preset security conditions, a first hijacking identification result corresponding to the user action video stream is determined. The user action video stream includes sub-video streams of the same specified challenge action under various video specifications. The preset security conditions include a first preset condition for action standardization and a second preset condition for action consistency under multiple video specifications. The first hijacking identification result is either not hijacked or hijacked.
[0007] Preferably, the user action video stream includes a video stream for each specified challenge action, and the video stream for each specified challenge action includes sub-video streams of that specified challenge action under various video specifications; The step of determining the first hijacking identification result corresponding to the user action video stream based on the user action video stream and preset security conditions includes: For each specified challenge action, the corresponding action score for the specified challenge action under different video specifications is determined based on the video stream of the specified challenge action; and the sub-video streams of the specified challenge action under different video specifications are aligned, and the authenticity analysis result corresponding to the specified challenge action is determined based on the alignment result. Based on the action score corresponding to each specified challenge action under different video specifications, determine whether the user action video stream meets the first preset condition, and based on the authenticity analysis results corresponding to each specified challenge action, determine whether the user action video stream meets the second preset condition. Based on the judgment results of whether the user action video stream meets the first preset condition and the second preset condition, the first hijacking identification result corresponding to the user action video stream is determined.
[0008] Preferably, determining the first hijacking identification result corresponding to the user action video stream based on the user action video stream and preset security conditions further includes: Based on the user action video stream, determine the parameter values of the preset verification parameters; Based on the parameter values of the preset verification parameters, it is determined whether the user action video stream meets the third preset condition for video acquisition operation; wherein, the judgment result of whether the user action video stream meets the third preset condition is used to determine the first hijacking identification result corresponding to the user action video stream.
[0009] Preferably, the video acquisition parameter set further includes a glare detection sequence; The method further includes: For each specified challenge action, based on the video stream of the specified challenge action, determine the corresponding glare feature dataset for the specified challenge action under different video specifications; wherein, the glare feature dataset is determined based on the glare detection sequence, and the glare feature dataset includes parameter values of multiple preset glare feature parameters; Based on the preset glare detection pass conditions and the glare feature datasets corresponding to each specified challenge action under different video specifications, the second hijacking identification result corresponding to the user action video stream is determined; wherein, the second hijacking identification result is either not hijacked or hijacked.
[0010] Preferably, the method further includes: Identify multiple video detection targets; The user action video stream is forged using a preset detection model corresponding to each video detection target, and the forgery detection result corresponding to each video detection target is obtained. Based on each forgery detection result, the third hijacking identification result corresponding to the user action video stream is determined; wherein, the third hijacking identification result is either not hijacked or has been hijacked.
[0011] Preferably, before generating the video acquisition parameter set, the method further includes: Obtain feature information of available video input sources at the front end, and determine whether the video capture device at the front end is an illegal device based on the feature information; If it is determined that the front-end video acquisition device is not an illegal device, the actual parameter values of the front-end video stream acquisition feature parameters are obtained, and the status identification result of the front-end video acquisition device is determined based on the actual parameter values of the video stream acquisition feature parameters and the corresponding preset standard parameter values; wherein, the status identification result is normal or abnormal. The step of generating the video acquisition parameter set is triggered when the status recognition result of the front-end video acquisition device is determined to be normal.
[0012] Preferably, before generating the video acquisition parameter set, the method further includes: Within a preset target duration after establishing a video stream connection with the front end, control the front end's video capture device to switch resolutions; Obtain the resolution switching result corresponding to the front-end video capture device; where the resolution switching result is either successful or unsuccessful. The step of generating the video acquisition parameter set is triggered when the resolution switching result of the front-end video acquisition device is confirmed to be successful.
[0013] A second aspect of this application provides a hijacking identification device applied to a face recognition system. The face recognition system includes a front-end and a back-end, the front-end and the back-end are connected, and the device is configured in the back-end. The device includes: The parameter set generation and sending module is used to generate a video acquisition parameter set when motion detection is determined, and send the video acquisition parameter set to the front end so that the front end can generate motion acquisition prompt information based on the video acquisition parameter set and display it to the user; wherein, the video acquisition parameter set includes a motion sequence and a video specification sequence, the motion sequence includes multiple specified challenge actions, and the video specification sequence includes multiple video specifications; The first hijacking identification module is used to determine whether a user action video stream, obtained by the user through the front end based on the video acquisition parameter set, has been acquired. Based on the user action video stream and preset security conditions, the module determines the first hijacking identification result corresponding to the user action video stream. The user action video stream includes sub-video streams of the same specified challenge action under various video specifications. The preset security conditions include a first preset condition for action standardization and a second preset condition for action consistency under multiple video specifications. The first hijacking identification result is either not hijacked or hijacked.
[0014] A third aspect of this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the hijacking identification method described in the first aspect above.
[0015] A fourth aspect of this application provides a machine-readable storage medium storing instructions that, when executed by a processor, configure the processor to perform the hijacking identification method described in the first aspect.
[0016] The hijacking identification method, apparatus, device, and storage medium provided in this application first generate a video acquisition parameter set containing action sequences and video specification sequences in the system backend. Then, the user executes the specified challenge actions in the action sequence in sequence in the system frontend, thereby transmitting the user action video stream obtained based on the video acquisition parameter set to the system backend. Based on pre-set action normative constraints and action consistency constraints across video specifications, the hijacking identification result of the user action video stream (whether it is hijacked or not) is determined. This can effectively prevent users from passing the verification by playing edited videos, transcoding and replaying, etc., and effectively improve the robustness and security of the system (especially the anti-attack capability).
[0017] Other features and advantages of the embodiments of this application will be described in detail in the following detailed description section. Attached Figure Description
[0018] The accompanying drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the following detailed description to explain the embodiments of this application, but do not constitute a limitation on the embodiments of this application. In the drawings: Figure 1 The schematic diagram illustrates a flowchart of a hijacking identification method according to an embodiment of this application; Figure 2 This schematic diagram illustrates the structural block diagram of a hijacking identification device according to an embodiment of this application; Figure 3 The diagram illustrates the internal structure of a computer device according to an embodiment of this application.
[0019] Explanation of reference numerals in the attached figures A01 - Processor; A02 - Network Interface; A03 - Internal Memory; A04 - Display Screen; A05 - Input Device; A06 - Non-volatile Storage Media; B01 - Operating System; B02 - Computer Program. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for illustration and explanation of the embodiments of this application and are not intended to limit the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0021] It should be noted that if the embodiments of this application involve directional indicators (such as up, down, left, right, front, back, etc.), the directional indicators are only used to explain the relative positional relationship and movement of each component in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indicators will also change accordingly.
[0022] Furthermore, if the embodiments of this application involve descriptions such as "first" or "second," these descriptions are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, features defined with "first" or "second" may explicitly or implicitly include at least one of those features. Additionally, the technical solutions of various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.
[0023] Given that facial recognition systems in related technologies have poor recognition capabilities for AI-generated videos, which reduces system security, this application provides a hijacking identification method, apparatus, device, and storage medium. The hijacking identification method, apparatus, device, and storage medium provided in this application will be described in detail below with reference to the accompanying drawings and through specific embodiments and implementation methods.
[0024] Figure 1 A schematic flowchart illustrating a hijacking identification method according to an embodiment of this application is shown. Figure 1 As shown in one embodiment of this application, a hijacking identification method is provided, which is applied to a face recognition system. The face recognition system includes a front end and a back end, which are connected. The method is executed by the back end and may include the following steps.
[0025] Step 310: If motion detection is determined to be performed, a video acquisition parameter set is generated and sent to the front end so that the front end can generate motion acquisition prompt information based on the video acquisition parameter set and display it to the user.
[0026] It is worth mentioning that action detection can be initiated by the backend when it determines that the frontend environment meets the preset action detection conditions, or by the backend when it receives an action detection request initiated by the user on the frontend. This application embodiment does not limit the method of starting action detection.
[0027] The video acquisition parameter set includes an action sequence and a video specification sequence. The action sequence includes multiple specified challenge actions, and the video specification sequence includes multiple video specifications.
[0028] In this embodiment, the action sequence and the video specification sequence are randomly generated by the backend. The video specification can be any one of resolution, aspect ratio, and frame rate. For example, the action sequence can be... (That is, first collect blinking data, then collect mouth opening data), which can also be used for... .
[0029] In one specific implementation, after the backend generates an action sequence consisting of multiple specified challenge actions, it sends it to the frontend. Upon receiving the action sequence, the frontend accesses the camera, enters the action challenge window, and begins recording to capture image sequences and timing information of the user performing each specified challenge action. In this specific implementation, after entering the action challenge window, the frontend displays action capture prompts to the user through a display interface. These prompts include at least the specified challenge action that needs to be performed.
[0030] In this embodiment of the application, in addition to generating the action sequence and the video specification sequence, the backend also generates: an action challenge. Action sequence constraints, and the time window corresponding to each video specification in the video specification sequence. and the shortest number of frames to keep And the motion amplitude threshold for a specified challenge action. and / or frequency range The backend sends these, along with the generated motion sequences and video specification sequences, to the frontend.
[0031] It's important to understand that each time the backend sends an action sequence and video specification sequence to the frontend, a new action challenge will be generated. That is, each round of action challenge includes one secret seed. This application uses a one-time key format to avoid pre-recorded clip matching.
[0032] In a specific example, the generated resolution sequence (i.e., the video specification is selected as resolution) is That is, during the process of collecting the specified challenge actions, by Switch to The specific content sent from the backend to the frontend includes: Front-end by Generate specific resolution level switching times to facilitate subsequent cross-level consistency alignment.
[0033] After the front end obtains the video acquisition parameter set, it will record the time point at which the video acquisition parameter set is received. ), and based on the received action challenge (i.e., seeds) This generates the video specification switching time corresponding to each specified challenge action. In other words, each specified challenge action corresponds to multiple video specification windows, and the number of corresponding video specification windows is the number of video specifications in the video specification sequence.
[0034] In a specific example, the resolution switch is triggered by the applyConstraints method (the resolution switch can be triggered within the window or before and after the window boundary to achieve multi-resolution cross-challenge), the requestVideoFrameCallback waits for the first frame after the switch, the first frame time (Time To First Frame, TTFR) is recorded, and the getSettings scheme is used to verify that the actual resolution has taken effect.
[0035] After obtaining the video capture parameter set, the front end immediately starts recording, and performs face detection and tracking in real time during the recording process. It should be noted that the embodiments of this application can achieve real-time face detection and tracking through existing lightweight models (such as Face Mesh, BlazeFace), thereby outputting key points and regions of interest (ROI).
[0036] Step 320: Determine that the user action video stream, which was obtained by the user through the front end based on the video acquisition parameter set, has been acquired. Based on the user action video stream and preset security conditions, determine the first hijacking identification result corresponding to the user action video stream.
[0037] The user action video stream includes a video stream for each specified challenge action, and the video stream for each specified challenge action includes sub-video streams of that specified challenge action under various video specifications (i.e., the user action video stream includes sub-video streams of the same specified challenge action under various video specifications), with each sub-video stream containing multiple image frames. It can be understood that, in the absence of hijacking, the user action video stream includes video streams of multiple specified challenge actions captured by the user using hardware devices (such as cameras and device motion sensors).
[0038] The preset security conditions include a first preset condition for action standardization and a second preset condition for action consistency under multiple video specifications. The first hijacking identification result is either not hijacked or hijacked.
[0039] It's important to understand that the video format switching time is based on the action challenge. Based on the calculation, and given the known video specification switching time, the sub-video streams of the same specified challenge action under different video specifications can be aligned to perform relevant calculations or judgments.
[0040] In this embodiment of the application, step 320, which determines the first hijacking identification result corresponding to the user action video stream based on the user action video stream and preset security conditions, includes the following steps.
[0041] Step 321: For each specified challenge action, determine the corresponding action score for the specified challenge action under different video specifications based on the video stream of the specified challenge action; and perform alignment processing on the sub-video streams of the specified challenge action under different video specifications, and determine the authenticity analysis result corresponding to the specified challenge action based on the alignment processing result.
[0042] Step 322: Based on the action scores corresponding to each specified challenge action under different video specifications, determine whether the user action video stream meets the first preset condition; and based on the authenticity analysis results corresponding to each specified challenge action, determine whether the user action video stream meets the second preset condition.
[0043] Step 323: Based on the judgment results of whether the user action video stream meets the first preset condition and the second preset condition, determine the first hijacking identification result corresponding to the user action video stream.
[0044] In this embodiment of the application, step 321 involves determining the action score corresponding to each specified challenge action under different video specifications based on the video stream of the specified challenge action, including the following steps.
[0045] For each video specification, based on the sub-video stream of the specified challenge action under that video specification, determine the parameter values of multiple preset action feature parameters corresponding to the specified challenge action under that video specification, and perform a weighted sum based on each parameter value to obtain the action score corresponding to the specified challenge action under that video specification.
[0046] It's important to understand that for a given challenge action, the parameter values of its corresponding preset action feature parameters can be determined based on the relevant video clips. These preset action feature parameters can include timing, amplitude, continuity (e.g., zero crossover, peak shape), action consistency (e.g., binocular, bilateral), and sensor correlation. It should be noted that the weights in the action score calculation formula may differ for different given challenge actions; that is, the weights are set according to the specific challenge action's calibration.
[0047] It is worth mentioning that the parameter values of the preset action feature parameters can be obtained directly or indirectly through existing methods. For example, for timing parameters, timestamps such as actionStartTime, actionEndTime, and firstActionStartTime are recorded, and the precise time is obtained using the getTimeStampSec method; for continuity parameters, the inference results of consecutive frames are recorded using a List type ActionResult, and zero-crossing detection is used to detect the number of times the signal crosses zero or a preset threshold to analyze the continuity and change pattern of the signal; for action consistency, binocular action consistency is determined by comparing the EAR values of the left and right eyes, and bilateral action consistency is determined by detecting the symmetry of head movements; for sensor correlation parameters, the authenticity of the action is verified by analyzing the correlation between device sensor data and visual actions.
[0048] For example, for the specific challenge action of blinking, the preset values of the action feature parameters include: Indicator: Eye aspect ratio Below the first preset eye aspect ratio threshold Continue for the first preset duration Then return to the second preset eye aspect ratio threshold. Binocular symmetry .
[0049] in, ;in, It represents the vertical distance from the inner corner of the upper eyelid to the inner corner of the lower eyelid, that is, the distance between the upper and lower eyelids on the inner side of the eye (closer to the nose); It represents the vertical distance from the outer corner of the upper eyelid to the outer corner of the lower eyelid, that is, the distance between the upper and lower eyelids on the outer side of the eye (near the temple); It represents the horizontal distance from the inner corner of the eye to the outer corner of the eye, that is, the horizontal width of the eye.
[0050] Specifically, the aspect ratio of the eyes The numerical value reflects the degree of eye opening and closing. Binocular symmetry. At that time, it represents the left and right eyes. The values are similar. For example, if the left and right eyes... Significant differences in values may indicate abnormal detection or incorrect facial pose.
[0051] Timing: The start delay of the action after the blinking challenge prompt Belongs to the first preset duration interval The time difference obtained by subtracting the total time of the eyes being open from the total time of the eyes being closed. It belongs to the second preset duration range .
[0052] Continuity: The inter-frame eye aspect ratio curves formed by image frames performing the designated challenge action of blinking show no large jumps; closure With single-peaked operation enabled, the number of zero crossovers is approximately 1.
[0053] Among them, closed Opening a single peak refers to the eye's vertical-to-horizontal ratio changing during blinking. The numerical changes form a single-peak curve. Specifically, under normal circumstances, during the blinking process—from fully open to fully closed and then back to fully open—the aspect ratio of the eye changes. The values first decrease and then increase, forming a single-peak curve.
[0054] Among them, zero crossover number ≈ 1 refers to the aspect ratio of the eyes. The value crosses the preset threshold approximately once. It should be noted that, ideally, the eye aspect ratio... The number of times the value crosses the preset threshold should be 1. In reality, there may be slight fluctuations, so the value of the zero-crossing number is set to be close to 1. If the zero-crossing number is much greater than 1, it indicates that there may be abnormal blinking or multiple blinking.
[0055] For the designated challenge action of opening one's mouth, the preset action feature parameters include: Indicator: Mouth aspect ratio Greater than the preset mouth aspect ratio threshold And continue for the second preset duration With mandibular displacement Synergistic improvement.
[0056] The constraints on timing and continuity are similar to those for the designated challenge action of blinking, and will not be elaborated here.
[0057] For a given challenge action that falls under the category of posture (such as nodding or shaking the head), its preset action feature parameters include: Pattern: Nodding indicates a single peak and / or double peak in the pitch pattern, with changes in positive and negative directions; shaking indicates alternating positive and negative peaks in the yaw pattern, at least... (Preset value) times zero crossing.
[0058] In this embodiment, the 2D facial key points are matched with a standard 3D facial template, and the PnP algorithm is used to calculate the rotation angle of the face in three-dimensional space, including yaw, pitch, and roll.
[0059] Frequency and amplitude: main frequency This falls within the frequency range of nodding / shaking. amplitude Not less than the threshold of the nodding / shaking motion amplitude The zero-crossing count and / or peak spacing conform to the preset action sequence.
[0060] In this embodiment of the application, step 321 involves aligning the sub-video streams of the specified challenge action under different video specifications for each specified challenge action, and determining the authenticity analysis result corresponding to the specified challenge action based on the alignment result, including the following steps.
[0061] Step A100: Based on the alignment processing results for the specified challenge action, determine the parameter values of each of the multiple first preset consistency index parameters.
[0062] The first preset consistency index parameter can be correlation, amplitude difference, error in the number and location of peaks / valleys, number of zero crossovers, SSIM curve shape, etc.
[0063] It is important to understand that after aligning the sub-video streams of the specified challenge action under different video specifications, the parameter values of each first preset consistency index parameter can be determined based on the alignment results. It is worth noting that this embodiment of the application repeatedly calculates the feature values (i.e., the parameter values of the first preset consistency index parameters) of the specified challenge action under different video specifications, requiring the feature values to be within the allowable tolerance, which can effectively improve the security of the system.
[0064] In a specific example, the specific operations for aligning sub-video streams are as follows: temporally, time linear scaling or DTW algorithm is used to align the temporal rhythm; numerically, feature normalization techniques (such as facial scale normalization, median absolute deviation normalization) are used to perform feature processing on image frames.
[0065] Step A200: Based on the parameter values of each first preset consistency index parameter, determine whether the sub-video stream of the specified challenge action meets the first preset consistency condition. If yes, the authenticity analysis result corresponding to the specified challenge action is determined to be successful; otherwise, the authenticity analysis result corresponding to the specified challenge action is determined to be unsuccessful.
[0066] In a specific example, correlation Greater than or equal to 0.8, amplitude difference The following conditions are considered to be the first preset consistency conditions (i.e., multi-video specification consistency conditions): less than or equal to 15%, the error between the number and position of peaks / valleys is less than or equal to 2 frames, the zero crossover number is consistent, and the SSIM curve shape is consistent (comparison between ROI downsampling and upsampling).
[0067] Correlation is used to characterize the degree of correlation between target features of the same specified challenge action across different video formats. It's important to understand that, under normal circumstances, the correlation between target features of the same specified challenge action across different video formats should be highly correlated, meaning the correlation value should be close to 1. For example, the target feature for the specified challenge action of blinking could be the eye aspect ratio. The amplitude variation of the same specified challenge action across different resolutions should not exceed 15%, and the timing error of the peak occurrence (i.e., peak time difference) should not exceed 2 frames. For example, the head nodding angle should differ by less than or equal to 15% between the two resolutions. The peak time difference of the blinking action should be less than or equal to 2 frames between the two resolutions.
[0068] Optionally, in this embodiment of the application, step A100 further includes: determining the parameter values of each of the sub-video streams of the specified challenge action under different video specifications under multiple second preset consistency index parameters.
[0069] In this case, step A200 is as follows: based on the parameter values of each of the first preset consistency index parameters, determine whether the sub-video stream of the specified challenge action meets the first preset consistency condition; and based on the parameter values of the sub-video streams of the specified challenge action under different video specifications under multiple second preset consistency index parameters, determine whether the video stream of the specified challenge action meets the second preset consistency condition. If both are met, the authenticity analysis result corresponding to the specified challenge action is determined to be successful; otherwise, the authenticity analysis result corresponding to the specified challenge action is determined to be unsuccessful.
[0070] The second preset consistency index parameter can be ROI optical flow intensity, frame difference energy, texture statistics, frequency domain statistics, etc. Specifically, ROI optical flow intensity represents the intensity of the optical flow vector calculated within the region of interest (ROI), used to reflect the motion intensity of pixels; frame difference energy represents the sum of the energy of pixel differences between consecutive frames, used to reflect the intensity of image changes; texture statistics represent the statistical information of image texture features, which can be extracted through Local Binary Patterns (LBP); frequency domain statistics represent the statistical information of image frequency domain features, which can be extracted through Fourier transform.
[0071] Specifically, for each designated challenge action, the operation of determining whether the video stream of the designated challenge action satisfies the second preset consistency condition based on the parameter values of the sub-video streams of the designated challenge action under different video specifications under multiple second preset consistency index parameters is as follows: For each second preset consistency index parameter, the similarity between the parameter values of the sub-video streams of the designated challenge action under different video specifications under that second preset consistency index parameter is determined as the similarity corresponding to that second preset consistency index parameter; the preset weights corresponding to each second preset consistency index parameter are weighted and summed with the similarity to obtain the consistency score corresponding to the designated challenge action; it is determined whether the consistency score corresponding to the designated challenge action satisfies the second preset consistency condition. If yes, the video stream of the designated challenge action is determined to satisfy the second preset consistency condition; otherwise, the video stream of the designated challenge action is determined to satisfy the second preset consistency condition. The sum of the preset weights corresponding to each second preset consistency index parameter is 1.
[0072] In one specific example, the second preset consistency condition is a consistency score greater than 0.8.
[0073] In this embodiment of the application, step 322, determining whether the user action video stream meets the first preset condition based on the action score corresponding to each specified challenge action under different video specifications, includes the following steps.
[0074] Determine whether the action scores corresponding to each specified challenge action under different video specifications all meet the first preset action challenge success condition. If so, determine that the user action video stream meets the first preset condition; or Based on the action score corresponding to each specified challenge action under different video specifications, determine whether the user action video stream meets the second preset action challenge success condition. If so, determine that the user action video stream meets the first preset condition.
[0075] The first preset action challenge success condition includes: the action score is greater than or equal to a preset action challenge threshold (which can be selected as 0.7). The second preset action challenge success condition includes: the geometric mean of the action scores corresponding to all specified challenge actions under different video specifications, or the minimum value of the action scores corresponding to all specified challenge actions under different video specifications, is greater than or equal to the preset action challenge threshold.
[0076] In this embodiment of the application, step 322, determining whether the user action video stream meets the second preset condition based on the authenticity analysis results corresponding to each specified challenge action, includes the following steps.
[0077] Determine whether the authenticity analysis results corresponding to each specified challenge action meet the preset cross-video specification consistency condition. If so, determine that the user action video stream meets the second preset condition.
[0078] The preset cross-video specification consistency condition includes: the authenticity analysis result is successful.
[0079] In this embodiment of the application, when the preset security conditions only include the first preset condition and the second preset condition, step 323 includes the following steps.
[0080] If it is determined that the user action video stream simultaneously meets the first preset condition and the second preset condition, then the first hijacking identification result corresponding to the user action video stream is determined to be unhijacked; otherwise, it is determined to be hijacked.
[0081] In this embodiment of the application, when it is determined that the user action video stream does not meet the preset security conditions, the user can be prompted by the front end that the verification failed and asked to perform action collection again.
[0082] It should be understood that for steps 310 and 320, by first actively switching the video specifications within the challenge window of the same action, then calculating the action score of the same action under different video specifications, and aligning the sub-video streams of the same action for consistency verification, and then determining whether the user action video stream meets the preset security conditions based on the action score and consistency verification results, the security of the user action video stream is evaluated by using a cross-comparison method of challenge results of multiple video specifications. This effectively improves the robustness of the system and can prevent attacks such as users playing edited videos from passing the verification.
[0083] Specifically, by incorporating randomized challenges, strict time windows, motion geometry features, and cross-video specification consistency, attacks such as pre-recorded editing and transcoding playback make it difficult to forge the timing-amplitude-frequency-consistency signals across the entire link. Taking pre-recorded editing as an example, the video specifications and timing are randomly determined by the challenge, and its unpredictability makes it difficult to present the correct amplitude, frequency, and zero-crossing patterns within a strict time window. The "morphological invariance" property of the same action across different video specifications (after scale normalization) should be stable, but broadcasting and resampling introduce frequency domain and texture distortion, leading to a decrease in consistency. Furthermore, common pre-recorded editing techniques such as frame skipping, rewinding, and keyframe rearrangement disrupt the synchronization relationship of feature curves across different video specifications.
[0084] It is worth mentioning that the above steps can be implemented using HTML5 without relying on native drivers. Lightweight models and pixel calculations can achieve this, and latency and device load are controllable.
[0085] Optionally, in this embodiment of the application, step 320 may further include the following steps.
[0086] Step 324: Determine the parameter values of the preset verification parameters based on the user action video stream.
[0087] In one specific implementation, the video specification switching success rate, the percentage of abnormal first frame times, and the parameter inconsistency rate with the frame side are all preset verification parameters.
[0088] In this specific implementation, the success rate of video specification switching is the success rate of calling the applyConstraints method, which can be determined by fail_rate(applyConstraints); the percentage of abnormal first frame times is the percentage of first frame times that are greater than the corresponding device baseline. The parameter inconsistency rate specifically refers to the situation where the API call for switching video specifications is successful, but the frame-side characteristics do not change accordingly (such as the frame remains unchanged, or the resolution specification does not match the pixel count).
[0089] Step 325: Determine whether the user action video stream meets the third preset condition for video acquisition operation based on the parameter values of the preset verification parameters.
[0090] The determination result of whether the user action video stream meets the third preset condition is used to determine the first hijacking identification result corresponding to the user action video stream.
[0091] In this embodiment of the application, step 325 includes the following steps.
[0092] Determine whether the parameter values of each preset verification parameter meet the corresponding preset verification conditions. If so, determine that the user action video stream meets the third preset condition.
[0093] In this embodiment of the application, when the preset security conditions include the first preset condition, the second preset condition and the third preset condition, step 323 is to determine the first hijacking identification result corresponding to the user action video stream based on the judgment result of whether the user action video stream meets the first preset condition, the second preset condition and the third preset condition. Step 323 includes the following steps.
[0094] If the user action video stream is determined to simultaneously satisfy the first preset condition, the second preset condition, and the third preset condition, then the first hijacking identification result corresponding to the user action video stream is determined to be unhijacked; otherwise, it is determined to be hijacked.
[0095] It's important to understand that by introducing the capability verification of applyConstraints and TTFR anomaly detection, the identification of transcoding, rebroadcasting, and virtual sources is effectively enhanced. Specifically, real cameras exhibit physical consistency in their response to applyConstraints; however, virtual sources and transcoding links often show situations where API calls succeed but the frame remains unchanged or TTFR fluctuates significantly.
[0096] Optionally, in embodiments of this application, the method may further include the following steps.
[0097] Step 410: For each specified challenge action, determine the corresponding glare feature dataset for each specified challenge action under different video specifications based on the video stream of the specified challenge action.
[0098] The video acquisition parameter set also includes a glare detection sequence, and the glare feature dataset is determined based on the glare detection sequence. The glare feature dataset includes parameter values of multiple preset glare feature parameters.
[0099] In this embodiment, the glare detection sequence is generated by the backend (it can be randomly generated), and the backend sends it to the frontend along with the generated action sequence, etc.
[0100] The glare detection sequence includes color (RGB), brightness, and frequency; the preset glare feature parameters can be the correlation between the actual color sequence of the sub-video stream and the preset standard template color sequence, the proportion of harmonic energy of the selected target frequency (i.e. the frequency included in the glare detection sequence), noise and texture anomalies, motion trajectory anomalies, etc.
[0101] Specifically, the actual color sequence of the sub-video stream refers to the average luminance. Luminance variance Red channel mean Green channel average and the blue channel mean The sequence formed (which can be represented as) The correlation between the preset glare characteristic parameter and the preset standard template color sequence can be determined using existing correlation coefficient calculation methods. The parameter value of this preset glare characteristic parameter can be expressed as follows: .
[0102] For a selected target frequency, the harmonic energy proportion of the target frequency can be calculated by performing a Fast Fourier Transform (FFT) on the time-frequency data of the user action video stream (which can be expressed as...). ).
[0103] For noise and texture, the main issues involved are spatial sharpness and temporal noise. Spatial sharpness anomalies are measured by the variance of the Laplacian operator response within the region of interest (ROI). The high-frequency energy ratio obtained by dividing the energy after bandpass filtering by the total energy. Together, they represent, that is Temporal noise anomalies are detected through the pixel variance of uniform small patches (primarily the cheeks in the face ROI) across frames. The distribution is used to characterize it.
[0104] It's worth noting that the values for noise and texture anomalies can be set as the sum of the spatial sharpness anomaly score and the temporal noise anomaly score. Specifically, the values for noise and texture anomalies can also be determined by combining the screen playback detection score and the video forgery detection score; that is, the values for noise and texture anomalies are set as the sum of the spatial sharpness anomaly score, the temporal noise anomaly score, the screen playback detection score, and the video forgery detection score. Screen playback often presents a fixed grid or screen capture moiré pattern, exhibiting spatial sharpness anomalies. The screen playback detection score can be determined by analyzing regular patterns in image frames to detect abnormal optical effects. The video forgery detection score can be determined by analyzing the consistency of consecutive frames to detect the rationality of motion trajectories.
[0105] For motion trajectories, they can be characterized by optical flow trajectory repeatability or total trajectory diversity. The methods for determining abnormal values in motion trajectories specifically include: first, obtaining the trajectory of a preset target using the LK sparse optical flow method or block matching algorithm, and then using the autocorrelation function... Quantization trajectory at different time delays The similarity (i.e., repeatability of optical flow trajectories) is used to obtain a repeatability anomaly score. Then, trajectory diversity is detected through directional entropy and amplitude entropy, i.e., the richness of trajectories, to obtain a diversity anomaly score. Finally, the sum of the repeatability anomaly score and the diversity anomaly score is determined as the numerical value of the motion trajectory anomaly. It is worth mentioning that when repeating segments, In fixed An unusual spike appeared on the upper part, while the overall trajectory showed diversity. (Such as directional entropy and amplitude entropy) are low.
[0106] It is important to understand that for a given challenge action, the parameter values of each preset glare feature can be determined based on the corresponding video clip.
[0107] Step 420: Based on the preset glare detection pass conditions and the glare feature datasets corresponding to each specified challenge action under different video specifications, determine the second hijacking recognition result corresponding to the user action video stream.
[0108] The second hijacking identification result is either not hijacked or has been hijacked.
[0109] In one specific embodiment, step 420 includes the following steps.
[0110] Determine whether the glare feature datasets corresponding to each specified challenge action under different video specifications all meet the first preset glare detection pass condition. If so, determine that the second hijacking identification result corresponding to the user action video stream is not hijacked; otherwise, it is hijacked. Based on the glare feature dataset corresponding to each specified challenge action under different video specifications, determine the glare score set corresponding to each specified challenge action, and determine whether each glare score set meets the second preset glare detection pass condition. If so, determine that the second hijacking identification result corresponding to the user action video stream is not hijacked; otherwise, it is hijacked.
[0111] The preset glare detection pass conditions include the first preset glare detection pass conditions and the second preset glare detection pass conditions.
[0112] In a specific example, the first preset glare detection pass condition includes: ; The peak position of the curve formed by the proportion of harmonic energy at the target frequency is basically consistent with the peak position of the preset template curve (error). ); Belongs to the preset proportion range ; The value will not be too high (too high will result in overly sharp screen edges) or too low (too low will result in overly smoothing) under low noise conditions. And the corresponding Stable repetition or Less than or equal to the corresponding threshold. In this example, the first preset glare detection condition is set so that when the light fluctuation amplitude is extremely small, the image edge sharpness is unnatural, or the continuous motion trajectory is repeated, it will be judged as playing a pre-recorded video or screen recording.
[0113] In a specific example, for each specified challenge action, the glare score set corresponding to the specified challenge action is determined based on the glare feature dataset corresponding to the specified challenge action under different video specifications, including the following steps.
[0114] For each video specification, the glare score for that specified challenge action is obtained by weighted summation of the glare feature dataset corresponding to that video specification.
[0115] The set of glare scores for a specified challenge action includes the glare scores for each specified challenge action under different video specifications.
[0116] In this specific example, glare score The calculation method can be expressed as:
[0117] in, Parameter values representing noise and texture anomalies. These are parameter values representing abnormal motion trajectories. It's worth noting that different preset glare feature parameters each have their own corresponding weights (i.e., , , , (This can be preset.)
[0118] In another specific embodiment, step 420 includes the following steps.
[0119] Step 421: Determine whether the glare feature datasets corresponding to each specified challenge action under different video specifications all meet the first preset glare detection pass condition. If so, proceed to step 422; or Based on the glare feature dataset corresponding to each specified challenge action under different video specifications, determine the glare score set corresponding to each specified challenge action, and determine whether each glare score set meets the second preset glare detection pass condition. If so, proceed to step 422.
[0120] Step 422: For each specified challenge action, based on the glare feature dataset corresponding to the specified challenge action under different video specifications, determine whether the sub-video stream of the specified challenge action meets the third preset consistency condition. If yes, determine that the second hijacking identification result corresponding to the user action video stream is not hijacked; otherwise, it is hijacked.
[0121] The third preset consistency condition includes consistency conditions for glare detection consistency indicators. Specifically, color sequence consistency, frequency feature consistency, temporal feature consistency, spatial feature consistency, and multi-video specification consistency can all be used as glare detection consistency indicators. The consistency conditions for the glare detection consistency indicators include: a judgment expression corresponding to a first judgment threshold determined by weighting / weighting average the values of the sub-indicators included in the glare detection consistency indicator, or a judgment expression corresponding to a second judgment threshold corresponding to the sub-indicators included in the glare detection consistency indicator.
[0122] Among them, color sequence consistency includes brightness, RGB channels, and color change trends; frequency characteristic consistency includes target frequency, harmonic energy ratio, and frequency domain characteristics; temporal characteristic consistency includes time synchronization, duration, and temporal changes; spatial characteristic consistency includes spatial distribution, spatial coverage, and spatial changes; and multi-video specification consistency includes resolution consistency and frame rate consistency.
[0123] It should be understood that this embodiment performs pixel-level analysis on image frames (including color distribution, illumination changes, image noise and motion trajectory), matches the analysis results with corresponding templates, and detects common artifacts in screen playback and editing (including abnormal sharpness, abnormal noise, and repeated trajectory), effectively improving the ability to identify forged images.
[0124] Specifically, the real optical path exhibits a reproducible spectral and phase response to "controlled glare." Attacks such as screen playback, editing, and transcoding struggle to synchronously replicate the brightness spectrum and color trajectory within a short timeframe, often resulting in low correlation, frequency shift, TTFR (Time-To-Frequency Frame), and / or phase jitter. Screen capture and recording introduce fixed grid lines and / or moiré patterns and unnatural sharpness. and Combinatorial anomalies can be effectively identified. Repeated playback and editing are significantly distinguishable in terms of optical flow autocorrelation and trajectory diversity.
[0125] This embodiment combines glare inference detection with action multi-resolution cross-validation to form a multi-evidence chain, which can significantly improve system robustness and reduce false alarms.
[0126] Optionally, in embodiments of this application, the method may further include the following steps.
[0127] Step 510: Identify multiple video detection targets.
[0128] Among them, video detection targets can include video representation and temporal consistency, near repetition and similarity embedding, optical flow and motion stagnation, shot switching and splicing detection, face forgery and occlusion, etc.
[0129] Step 520: Perform forgery detection on the user action video stream using the preset detection model corresponding to each video detection target, and obtain the forgery detection result corresponding to each video detection target.
[0130] In this embodiment, the backend can asynchronously use existing detection models to obtain the forgery detection results corresponding to different video detection targets.
[0131] Among them, video representation and temporal consistency can be determined by I3D, R(2+1)D or SlowFast models to determine their forgery detection results; near repetition and similarity embedding can be determined by combining ResNet50 and SimCLR models to determine their forgery detection results; optical flow and motion stagnation can be determined by RAFT or PWC-Net models to determine their forgery detection results; shot switching and splicing detection can be determined by TransNet V2 models to determine their forgery detection results; and face forgery and occlusion can be determined by XceptionNet, CDCN or FAS models to determine their forgery detection results.
[0132] It should be noted that after the user action video stream is input into the corresponding detection model, the model output results can be directly divided into two categories, namely, pass or fail. The forgery detection result corresponding to the video detection target is the category corresponding to the model output result.
[0133] Step 530: Based on each forgery detection result, determine the third hijacking identification result corresponding to the user action video stream.
[0134] Among them, the third hijacking identification result is either not hijacked or has been hijacked.
[0135] In this embodiment, step 530 includes the following steps.
[0136] If all forgery detection results are found to be passed, then the third hijacking identification result corresponding to the user action video stream is determined to be unhijacked; otherwise, it is determined to be hijacked.
[0137] In this embodiment, once a high proportion of duplicate frames in the video is detected (duplicate frame ratio), Greater than or equal to the preset repeat frame threshold That is, too high. (Optional: 0.25), and / or video clip editing and splicing (sponging probability p_splice is greater than or equal to the preset splicing threshold). This indicates that the content was edited and spliced. (Options can be set to 0.6), face occlusion, or special effects replacement (in which case the probability of forgery occurring in each frame of the video is...) The maximum or average value in the data is greater than or equal to the preset forgery threshold. ), and / or highly similar to existing attack samples (similarity) Greater than or equal to the preset similarity threshold That is, highly similar. If the value is set to 0.85, it will be judged as a pre-recorded video forgery, meaning the third-party hijacking identification result corresponding to the video will be hijacked.
[0138] Specifically, for duplicate frames and stagnation, when the embedding similarity of neighboring frames increases and the optical flow amplitude decreases, it indicates the existence of suspicious duplication; for splicing, when the probability of shot boundary increases, and / or the amount of embedding / statistical feature mutation increases, and / or A / V is out of sync, it indicates the existence of suspicious editing; for occlusion and special effects, when the probability of fake classification increases, and / or texture anomalies, and / or reflection anomalies, and / or edge anomalies, it indicates the existence of suspicious tampering; for attack similarity, when the similarity with the nearest neighbor of the attack sample library increases, it indicates a high risk of attack.
[0139] It is worth mentioning that, for the aforementioned user action video stream, it is possible to determine its p_splice Maximum value or average value and The maximum value is calculated and a weighted sum is performed on it (the corresponding weights can be preset) to score the user action video stream, and the score is stored in the system database or processed by callback to perform corresponding operations.
[0140] Optionally, in this embodiment of the application, before performing step 310, the method may further include the following steps.
[0141] Step 110: Obtain the feature information of the available video input sources at the front end, and determine whether the video acquisition device at the front end is an illegal device based on the feature information.
[0142] The feature information includes the device name and the device's unique identifier. It is worth noting that step 110 obtains feature information from all available video input sources at the front end.
[0143] Step 120: If it is determined that the front-end video acquisition device is not an illegal device, obtain the actual parameter values of the front-end video stream acquisition feature parameters, and determine the status recognition result of the front-end video acquisition device based on the actual parameter values of the video stream acquisition feature parameters and the corresponding preset standard parameter values.
[0144] The status recognition result is either normal or abnormal. It's worth noting that an abnormal status recognition result indicates a malfunction in the video capture device or a risk of video transcoding hijacking.
[0145] In this embodiment, the backend compares the extracted feature information with a blacklist of fingerprints for video capture devices maintained locally or remotely to identify illegal devices such as virtual cameras.
[0146] If it is determined that the front-end video capture device is not an illegal device, control the front-end initiator video capture device to obtain the parameter values of the actual capture parameters of the video stream (i.e., the actual parameter values of the video stream capture characteristic parameters), where the actual capture parameters may include resolution and frame rate.
[0147] In one specific implementation, step 120 determines the status recognition result of the front-end video acquisition device based on the actual parameter value of the video stream acquisition feature parameter and the corresponding preset standard parameter value, including: if it is determined that the actual parameter value of the video stream acquisition feature parameter is lower than the corresponding preset standard parameter value by a value greater than or equal to the corresponding preset difference threshold, then the status recognition result of the front-end video acquisition device is determined to be abnormal.
[0148] It should be noted that, in this embodiment, step 310 is triggered when the status recognition result of the front-end video acquisition device is determined to be normal.
[0149] This embodiment immediately suspends subsequent processes and / or records abnormal events for later analysis once it determines that the video acquisition device is malfunctioning or is a virtual acquisition device, thereby further ensuring the security of the system.
[0150] Optionally, in this embodiment of the application, before performing step 310, the method may further include the following steps.
[0151] Step 210: Within a preset target duration after establishing a video stream connection with the front end, control the front end's video acquisition device to switch resolutions.
[0152] The preset target duration is a relatively short time (which can be selected as 50ms).
[0153] In this embodiment, after the system initially establishes the video stream, it will assign a random initial resolution A (e.g., ...) to the front-end video acquisition device. After the video stream is successfully established, it will be switched to another random resolution B within the preset target duration (e.g., ...). The resolution switching of the video acquisition device at the control front end can be achieved through function calls or command issuance.
[0154] Step 220: Obtain the resolution switching result corresponding to the front-end video capture device.
[0155] The resolution switching result is either successful or failed. It's worth noting that a failed resolution switching result indicates that the video capture device does not support resolution switching or the switching failed. In this case, the video capture device may be a virtual device or exhibit script spoofing behavior.
[0156] After successfully switching the resolution, the resolution of the video capture device can be restored to the resolution before the switch, so that subsequent operations such as face recognition and liveness detection can be performed.
[0157] It should be noted that, in this embodiment, step 310 is triggered when the resolution switching result of the front-end video acquisition device is determined to be successful.
[0158] In a specific example, within an H5 front-end environment, this embodiment implements the following specific operations to determine the resolution switching result corresponding to the front-end video capture device: The first step is to capture the data using the browser's native capture mechanism: first, open the front camera with the default constraints and capture the first frame.
[0159] The second step is to dynamically switch the resolution randomly: Within a very short time window, call applyConstraints on the same MediaStreamTrack to switch the width and height to a random / strategy-specified level (e.g., ...). , ).
[0160] The third step is frame-level detection callback: Subscribe to the first frame after switching via requestVideoFrameCallback, calculate the frame brightness and / or pixel features, and determine whether there are any abnormalities such as black screen, still frame, stuttering, or unsuccessful switching.
[0161] The fourth step is status marking and degradation: Once an anomaly is detected (such as resolution switching failure or black screen after resolution switching), the flag and time are recorded, the stream is actively stopped and reported.
[0162] It's important to understand that a real camera, within its capabilities, generates a matching new frame within tens of milliseconds when switching resolutions. However, screen recording playback, virtual cameras, and middleware hijacking struggle to adapt in real time, resulting in black screens, still frames, significant latency, or unchanged resolution. Therefore, this embodiment leverages the unpredictability of randomized resolution levels and switching timings to significantly increase the difficulty and cost of pre-setting and fitting attacks. Furthermore, this embodiment utilizes pixel domain detection (brightness and resolution metadata) after the first frame to quickly identify anomalies, without relying on third-party plugins, and is cross-platform compatible.
[0163] In a specific example, after the user opens the browser in the system's front end, the system initializes the video capture process and executes the following steps to complete hijacking identification: The device enumeration and parameter detection logic is invoked to determine whether the current camera is trustworthy. If trustworthy, an initial stream is established and dynamic resolution switching detection is attempted. If untrustworthy, an untrustworthy camera tag is recorded. After the resolution switch is successful, the action challenge begins. Users follow the prompts to complete specified challenge operations such as blinking, opening their mouth, and turning their head. The system synchronously records image sequences, determines the authenticity of actions, and judges whether it is a fake playback or pre-recorded video; After all the above tests are passed, the submitted video is analyzed again by the offline model to obtain the final hijacking identification result.
[0164] It's important to understand that the anti-hijacking technology solution, which integrates camera trust detection, dynamic resolution switching, motion challenges, optical flow detection, and offline AI models across multiple dimensions, significantly enhances system security. By jointly assessing trustworthiness across multiple dimensions, it significantly improves the security and robustness of liveness detection in the front-end environment, strengthening the security of browser-based face recognition and preventing attacks using virtual cameras, pre-recorded videos, screen playback, script injection, and other malicious techniques. Once trustworthiness is determined through this multi-dimensional assessment, the user is allowed to access the system and perform relevant operations.
[0165] It can be seen that the hijacking identification method provided in this application has the following advantages: By combining multi-source detection methods, the anti-attack capability of facial recognition in the H5 environment has been improved; It does not require local driver installation or plugin injection and is compatible with any mobile device or desktop browser. It can effectively detect attack methods such as virtual cameras, transcoded videos, and pre-recorded playback, improving the system's recognition accuracy and security; Motion challenges combined with video optical flow analysis further enhance the strength of liveness detection.
[0166] Compared with existing hijacking identification methods that set a fixed resolution once to adapt to image quality / performance without providing evidence of authenticity, this method uses active random perturbation and time series and consistency measurements to directly verify the existence and controllability of the real acquisition link with a measurable "challenge-response" mechanism, generating a verifiable chain of technical evidence.
[0167] Based on the traditional H5 solution of "single path acquisition + static parameters", this method introduces the intervention of "random + dynamic resolution switching" to form a fast verification closed loop of "parameter perturbation - frame-level verification", which significantly improves the ability to identify virtual cameras and stream substitution attacks.
[0168] Furthermore, this method combines motion liveness, glare liveness, and behavior sensor data in parallel / serial fashion to form multi-channel mutual verification, which can reduce false alarms and false negatives. At the same time, it is simple to deploy on the edge, requiring no plugins or system driver modifications, making it easy to implement.
[0169] In principle, for unpredictable challenge sequences formed by multiple rounds and random resolution switching within an extremely short time window, a real camera will respond quickly and stably within its capabilities, while virtual devices and transcoding links are difficult to synchronously reproduce. By introducing quantifiable temporal and consistency metrics, a discriminable capability fingerprint (i.e., the aforementioned preset verification parameters) is formed, constituting the temporal fingerprint of the link. Switching video specifications and random temporal sequences makes it difficult for the attacking end to adapt stably, and when superimposed with subsequent glare liveness detection and multimodal detection, it further improves the adversarial strength. No additional native capabilities or heavy models are required, and it can be adapted to mainstream browsers and embedded WebViews.
[0170] Figure 1 This is a flowchart illustrating a hijacking identification method in one embodiment. It should be understood that, although... Figure 1 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise explicitly stated herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed 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 some of the sub-steps or stages of other steps.
[0171] Figure 2 A schematic block diagram of a hijacking identification device according to an embodiment of this application is shown. Figure 2 As shown, in one embodiment of this application, a hijacking identification device is provided, applied to a face recognition system. The face recognition system includes a front end and a back end, the front end and the back end are connected, and the device is configured in the back end. The device includes: The parameter set generation and sending module is used to generate a video acquisition parameter set when motion detection is determined, and send the video acquisition parameter set to the front end so that the front end can generate motion acquisition prompt information based on the video acquisition parameter set and display it to the user; wherein, the video acquisition parameter set includes a motion sequence and a video specification sequence, the motion sequence includes multiple specified challenge actions, and the video specification sequence includes multiple video specifications; The first hijacking identification module is used to determine whether a user action video stream, obtained by the user through the front end based on the video acquisition parameter set, has been acquired. Based on the user action video stream and preset security conditions, the module determines the first hijacking identification result corresponding to the user action video stream. The user action video stream includes sub-video streams of the same specified challenge action under various video specifications. The preset security conditions include a first preset condition for action standardization and a second preset condition for action consistency under multiple video specifications. The first hijacking identification result is either not hijacked or hijacked.
[0172] Optionally, in this embodiment of the application, the user action video stream includes a video stream for each specified challenge action, and the video stream for each specified challenge action includes sub-video streams of the specified challenge action under various video specifications.
[0173] Optionally, in this embodiment of the application, the first hijacking identification module may include the following functional modules.
[0174] The data analysis and calculation unit is used to determine the corresponding action score of each specified challenge action under different video specifications based on the video stream of the specified challenge action; and to perform alignment processing on the sub-video streams of the specified challenge action under different video specifications, and determine the authenticity analysis result corresponding to the specified challenge action based on the alignment processing result. The condition judgment unit is used to determine whether the user action video stream meets the first preset condition based on the action score corresponding to each specified challenge action under different video specifications, and to determine whether the user action video stream meets the second preset condition based on the authenticity analysis result corresponding to each specified challenge action. The first hijacking identification unit is used to determine the first hijacking identification result corresponding to the user action video stream based on the judgment result of whether the user action video stream meets the first preset condition and the second preset condition.
[0175] Optionally, in this embodiment of the application, the first hijacking identification module may further include the following functional modules.
[0176] The verification parameter determination unit is used to determine the parameter values of preset verification parameters based on the user action video stream; The second hijacking identification unit is used to determine whether the user action video stream meets the third preset condition for video acquisition operation based on the parameter value of the preset verification parameter; wherein, the judgment result of whether the user action video stream meets the third preset condition is used to determine the first hijacking identification result corresponding to the user action video stream.
[0177] Optionally, in this embodiment of the application, the video acquisition parameter set further includes a glare detection sequence.
[0178] Optionally, in this embodiment of the application, the device may further include the following functional modules.
[0179] The dataset determination module is used to determine, for each specified challenge action, the corresponding glare feature dataset under different video specifications based on the video stream of that specified challenge action. The glare feature dataset is determined based on the glare detection sequence and includes parameter values for multiple preset glare feature parameters.
[0180] The second hijacking identification module is used to determine the second hijacking identification result corresponding to the user action video stream based on preset glare detection pass conditions and the glare feature dataset corresponding to each specified challenge action under different video specifications. The second hijacking identification result is either "not hijacked" or "hijacked".
[0181] Optionally, in this embodiment of the application, the device may further include the following functional modules.
[0182] The target detection module is used to determine multiple video detection targets.
[0183] The forgery detection and determination module is used to perform forgery detection on the user action video stream using a preset detection model corresponding to each video detection target, and obtain the forgery detection result corresponding to each video detection target.
[0184] The third hijacking identification module is used to determine the third hijacking identification result corresponding to the user action video stream based on each forgery detection result. The third hijacking identification result is either "not hijacked" or "hijacked".
[0185] Optionally, in this embodiment of the application, the device may further include the following functional modules.
[0186] The device security detection module is used to acquire feature information of available video input sources at the front end, and determine whether the video acquisition device at the front end is an illegal device based on the feature information.
[0187] The device status identification module is used to obtain the actual parameter values of the video stream acquisition feature parameters of the front-end device, provided that the front-end video acquisition device is not an illegal device. Based on the actual parameter values of the video stream acquisition feature parameters and the corresponding preset standard parameter values, the module determines the status identification result of the front-end video acquisition device, which is either normal or abnormal.
[0188] The execution of the first hijacking identification module is triggered when the status identification result of the front-end video acquisition device is determined to be normal.
[0189] Optionally, in this embodiment of the application, the device may further include the following functional modules.
[0190] The resolution switching module is used to control the video acquisition device at the front end to switch resolutions within a preset target duration after establishing a video stream connection with the front end.
[0191] The resolution switching result acquisition module is used to obtain the resolution switching result corresponding to the front-end video capture device. The resolution switching result is either successful or unsuccessful.
[0192] The execution of the first hijacking identification module is triggered when the resolution switching result of the front-end video acquisition device is determined to be successful.
[0193] Since the hijacking identification device provided in this application embodiment is a virtual device corresponding to the hijacking identification method in the above embodiments, it can also solve the problem that the existing face recognition system has poor recognition ability for AI-generated videos, which reduces the security of the system.
[0194] This application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the hijacking identification method described in the above embodiments.
[0195] The electronic device provided in this application embodiment includes a processor capable of running the hijacking identification method of the aforementioned embodiment. Therefore, it can also solve the problem in the prior art where the face recognition system has poor recognition ability for AI-generated videos, which reduces the security of the system.
[0196] This application provides a machine-readable storage medium storing instructions that, when executed by a processor, configure the processor to perform the hijacking identification method described in the above embodiments.
[0197] The machine-readable storage medium provided in this application embodiment stores instructions for causing the machine to execute the hijacking identification method of the above embodiment. Therefore, it can also solve the problem that the existing face recognition system has poor recognition ability for AI-generated videos, which reduces the security of the system.
[0198] Figure 3 The diagram schematically illustrates the internal structure of a computer device according to an embodiment of this application. Figure 3 As shown in one embodiment of this application, a computer device is provided, which can be a terminal. The computer device includes a processor A01, a network interface A02, a display screen A04, an input device A05, and a memory (not shown) connected via a system bus. The processor A01 provides computing and control capabilities. The memory includes internal memory A03 and a non-volatile storage medium A06. The non-volatile storage medium A06 stores an operating system B01 and a computer program B02. The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 stored in the non-volatile storage medium A06. The network interface A02 is used to communicate with an external terminal via a network connection. When the computer program B02 is executed by the processor A01, it implements a hijacking identification method. The display screen A04 of the computer device can be an LCD screen or an e-ink screen. The input device A05 of the computer device can be a touch layer covering the display screen A04, or a button, trackball, or touchpad set on the computer device casing, or an external keyboard, touchpad, or mouse, etc.
[0199] Those skilled in the art will understand that Figure 3The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0200] In one embodiment, the hijacking identification device provided in this application can be implemented as a computer program, which can be implemented in, for example... Figure 3 The device operates on the computer device shown. The computer device's memory can store various program modules that make up the hijacking identification device, and the computer program composed of the various program modules causes the processor A01 to execute the steps in the hijacking identification methods of the various embodiments of this application described in this specification.
[0201] Figure 3 The computer device shown can be used as follows Figure 2 The parameter set generation and sending module in the hijacking identification device shown executes step 310, and the first hijacking identification module executes step 320.
[0202] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0203] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0204] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0205] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0206] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0207] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0208] Computer-readable media include both permanent and non-permanent, removable and non-removable media, which can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0209] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0210] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A hijacking identification method, characterized in that, This method is applied to a face recognition system, which includes a front-end and a back-end connected to each other. The method is executed by the back-end and includes: If motion detection is determined, a video capture parameter set is generated and sent to the front end, so that the front end generates motion capture prompt information based on the video capture parameter set and displays it to the user; wherein, the video capture parameter set includes a motion sequence and a video specification sequence, the motion sequence includes multiple specified challenge actions, and the video specification sequence includes multiple video specifications; The system determines that a user action video stream, acquired by the user using the video acquisition parameter set submitted by the user through the front end, has been obtained. Based on the user action video stream and preset security conditions, a first hijacking identification result corresponding to the user action video stream is determined. The user action video stream includes sub-video streams of the same specified challenge action under various video specifications. The preset security conditions include a first preset condition for action standardization and a second preset condition for action consistency under multiple video specifications. The first hijacking identification result is either not hijacked or hijacked.
2. The method according to claim 1, characterized in that, The user action video stream includes a video stream for each specified challenge action, and the video stream for each specified challenge action includes sub-video streams of that specified challenge action under various video specifications. The step of determining the first hijacking identification result corresponding to the user action video stream based on the user action video stream and preset security conditions includes: For each specified challenge action, the corresponding action score for the specified challenge action under different video specifications is determined based on the video stream of the specified challenge action; and the sub-video streams of the specified challenge action under different video specifications are aligned, and the authenticity analysis result corresponding to the specified challenge action is determined based on the alignment result. Based on the action score corresponding to each specified challenge action under different video specifications, determine whether the user action video stream meets the first preset condition, and based on the authenticity analysis results corresponding to each specified challenge action, determine whether the user action video stream meets the second preset condition. Based on the judgment results of whether the user action video stream meets the first preset condition and the second preset condition, the first hijacking identification result corresponding to the user action video stream is determined.
3. The method according to claim 2, characterized in that, The step of determining the first hijacking identification result corresponding to the user action video stream based on the user action video stream and preset security conditions further includes: Based on the user action video stream, determine the parameter values of the preset verification parameters; Based on the parameter values of the preset verification parameters, it is determined whether the user action video stream meets the third preset condition for video acquisition operation; wherein, the judgment result of whether the user action video stream meets the third preset condition is used to determine the first hijacking identification result corresponding to the user action video stream.
4. The method according to claim 1, characterized in that, The video acquisition parameter set also includes a glare detection sequence; The method further includes: For each specified challenge action, based on the video stream of the specified challenge action, determine the corresponding glare feature dataset for the specified challenge action under different video specifications; wherein, the glare feature dataset is determined based on the glare detection sequence, and the glare feature dataset includes parameter values of multiple preset glare feature parameters; Based on the preset glare detection pass conditions and the glare feature datasets corresponding to each specified challenge action under different video specifications, the second hijacking identification result corresponding to the user action video stream is determined; wherein, the second hijacking identification result is either not hijacked or hijacked.
5. The method according to claim 1, characterized in that, The method further includes: Identify multiple video detection targets; The user action video stream is forged using a preset detection model corresponding to each video detection target, and the forgery detection result corresponding to each video detection target is obtained. Based on each forgery detection result, the third hijacking identification result corresponding to the user action video stream is determined; wherein, the third hijacking identification result is either not hijacked or has been hijacked.
6. The method according to claim 1, characterized in that, Before generating the video acquisition parameter set, the method further includes: Obtain feature information of available video input sources at the front end, and determine whether the video capture device at the front end is an illegal device based on the feature information; If it is determined that the front-end video acquisition device is not an illegal device, the actual parameter values of the front-end video stream acquisition feature parameters are obtained, and the status identification result of the front-end video acquisition device is determined based on the actual parameter values of the video stream acquisition feature parameters and the corresponding preset standard parameter values; wherein, the status identification result is normal or abnormal. The step of generating the video acquisition parameter set is triggered when the status recognition result of the front-end video acquisition device is determined to be normal.
7. The method according to claim 1, characterized in that, Before generating the video acquisition parameter set, the method further includes: Within a preset target duration after establishing a video stream connection with the front end, control the front end's video capture device to switch resolutions; Obtain the resolution switching result corresponding to the front-end video capture device; where the resolution switching result is either successful or unsuccessful. The step of generating the video acquisition parameter set is triggered when the resolution switching result of the front-end video acquisition device is confirmed to be successful.
8. A hijacking identification device, characterized in that, An application is made in a facial recognition system, which includes a front-end and a back-end connected to each other. The device is configured in the back-end and includes: The parameter set generation and sending module is used to generate a video acquisition parameter set when motion detection is determined, and send the video acquisition parameter set to the front end so that the front end can generate motion acquisition prompt information based on the video acquisition parameter set and display it to the user; wherein, the video acquisition parameter set includes a motion sequence and a video specification sequence, the motion sequence includes multiple specified challenge actions, and the video specification sequence includes multiple video specifications; The first hijacking identification module is used to determine whether a user action video stream, obtained by the user through the front end based on the video acquisition parameter set, has been acquired. Based on the user action video stream and preset security conditions, the module determines the first hijacking identification result corresponding to the user action video stream. The user action video stream includes sub-video streams of the same specified challenge action under various video specifications. The preset security conditions include a first preset condition for action standardization and a second preset condition for action consistency under multiple video specifications. The first hijacking identification result is either not hijacked or hijacked.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the hijacking identification method according to any one of claims 1 to 7.
10. A machine-readable storage medium storing instructions thereon, characterized in that, When executed by a processor, this instruction causes the processor to be configured to perform the hijacking identification method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Multi-factor human face living body detection system and method
CN111539249A
Method and device for detecting hijacking of image acquisition equipment and computer equipment
CN113807160A