CN113821781A - Method and device for detecting living body based on Turing test - Google Patents

Method and device for detecting living body based on Turing test Download PDF

Info

Publication number
CN113821781A
CN113821781A CN202111358401.0A CN202111358401A CN113821781A CN 113821781 A CN113821781 A CN 113821781A CN 202111358401 A CN202111358401 A CN 202111358401A CN 113821781 A CN113821781 A CN 113821781A
Authority
CN
China
Prior art keywords
target
test
turing
test question
turing test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111358401.0A
Other languages
Chinese (zh)
Inventor
薛峰
韦韬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202111358401.0A priority Critical patent/CN113821781A/en
Publication of CN113821781A publication Critical patent/CN113821781A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

The embodiment of the specification provides a method and a device for in-vivo detection based on a Turing test. One embodiment of the method comprises: selecting a target Turing test question from a preset Turing test question set and sending the target Turing test question to a client, wherein the target Turing test question is used for prompting an operation main body of the client to respond to a test question by executing limb actions; receiving execution result data fed back by the client aiming at the target Turing test question, wherein the execution result data comprises video data of limb actions executed by the operation main body; determining whether the operation subject passes a target test result of a target turing test question based on the execution result data; the target test result is used to determine a result of the in-vivo test for the subject.

Description

Method and device for detecting living body based on Turing test
Technical Field
The embodiment of the specification relates to the technical field of computers, in particular to a method and a device for in-vivo detection based on Turing test.
Background
With the rapid development of face recognition technology, face recognition technology is increasingly applied to people's daily life. For example, the method is applied to the fields of security protection, finance, electronic commerce and the like which need identity authentication. The current face recognition technology has been greatly improved in recognition accuracy, but the accompanying attack exposes the disadvantages of face recognition, for example, an attacker may try to make a malicious attack through a shot photo, a produced video and the like, and for example, the attacker may make a malicious attack through simulating user operations by a computer. If the face recognition has security problems, a series of account security problems, data security problems, privacy security problems and the like can be caused. In order to improve the safety and reliability of face recognition, the living body detection technology gradually becomes a key ring in face recognition, and is used for preventing an attacker from carrying out malicious attack in a mode of using a manufactured video, a shot photo, a computer to simulate user operation and the like.
Disclosure of Invention
The embodiment of the specification describes a method and a device for detecting a living body based on a Turing test. In addition, the method requires the operation main body of the client to respond to the test problem by executing the limb action, so that the difficulty of answering the problem can be increased, and the accuracy of in-vivo detection can be improved.
According to a first aspect, there is provided a method of turing test based in vivo testing, comprising: selecting a target Turing test question from a preset Turing test question set and sending the target Turing test question to a client, wherein the target Turing test question is used for prompting an operation main body of the client to respond to a test question by executing limb actions; receiving execution result data fed back by the client aiming at the target Turing test question, wherein the execution result data comprises video data of limb actions executed by the operation main body; determining whether the operation subject passes a target test result of a target turing test question based on the execution result data; the target test result is used to determine a result of the in-vivo test for the subject.
In one embodiment, the method further comprises: in response to the target test result being a pass test, determining the in-vivo test result as a pass test; and determining that the living body detection result is a detection failure in response to the target test result being a failure test.
In one embodiment, the method further comprises: and determining the living body detection result as a detection pass in response to the plurality of test results including the target test result being pass tests.
In one embodiment, the method further comprises: and responding to the target test result that the target test result is failed, selecting another Turing test question from the Turing test question set, and sending the other Turing test question to the client to perform testing again.
In one embodiment, the target Turing test question has a first difficulty tag; the other Turing test question has a second difficulty label different from the first difficulty label.
In one embodiment, the second difficulty label corresponds to a higher difficulty than the first difficulty label.
In one embodiment, the method further comprises: and performing face recognition on the face image sent by the client in response to the living body detection result being that the detection is passed.
In one embodiment, the method further comprises: and dynamically updating the questions in the Turing test question set.
In one embodiment, the body movements prompted by the target turing test question include tip movements; and determining whether the operation subject passes a target test result of the target turing test question based on the execution result data, including: extracting a nose tip movement track of the operation subject from the video data; and determining the target test result according to the nose tip movement track and the test problem.
In one embodiment, the extracting the nose tip movement trajectory of the operation subject from the video data includes: respectively identifying a plurality of nose tip positions from a plurality of frames of images of the video data by using a target detection model; and determining the nose tip movement track according to the positions of the plurality of nose tips.
In one embodiment, the determining the nose tip movement trajectory according to the plurality of nose tip positions includes: determining whether the nose tip movement of the operation subject is abnormal according to the video data or the track formed by the positions of the plurality of nose tips; when there is no abnormality, the nose tip movement trajectory is determined based on the trajectory formed by the plurality of nose tip positions.
In one embodiment, the determining the target test result according to the nose tip movement track and the test question includes: acquiring a standard track corresponding to the test problem; and determining the target test result according to the coincidence degree of the nose tip movement track and the standard track.
In one embodiment, the test problem includes one of: moving to a designated area, recognizing a preset symbol from a preset image, dragging a preset slider to a preset position, drawing a preset figure or symbol, and drawing an answer of an arithmetic question.
In one embodiment, the body movement prompted by the target turing test question includes reading, and the test question includes preset text information; and determining whether the operation subject passes a target test result of the target turing test question based on the execution result data, including: extracting voice information and/or mouth shape information of the operation subject from the video data; and determining the target test result according to the text information, the voice information and/or the mouth shape information.
According to a second aspect, a method for detecting a living body based on a turing test is provided, which is applied to a client and comprises the following steps: receiving a target Turing test question sent by a server, wherein the target Turing test question is selected by the server from a preset Turing test question set; displaying the target Turing test question in a preset question display area to prompt an operation main body to respond to a test question by executing limb actions; sending an information acquisition instruction to information acquisition equipment, wherein the information acquisition instruction is used for instructing the acquisition of execution result data of the limb action executed by the operation main body through a preset interactive response area, and the execution result data comprises video data of the limb action executed by the operation main body; and feeding back the execution result data to the server side so that the server side can carry out the living body detection based on the execution result data.
According to a third aspect, there is provided an apparatus for turing test based in vivo test, comprising: the system comprises a selection unit, a processing unit and a display unit, wherein the selection unit is configured to select a target Turing test question from a preset Turing test question set and send the target Turing test question to a client, and the target Turing test question is used for prompting an operation main body of the client to respond to a test question by executing limb actions; a receiving unit, configured to receive execution result data fed back by the client for the target turing test question, where the execution result data includes video data of a limb action executed by the operation subject; a determination unit configured to determine whether the operation subject passes a target test result of a target demographics test question based on the execution result data; the target test result is used to determine a result of the in-vivo test for the subject.
According to a fourth aspect, there is provided an apparatus for turing test-based in-vivo detection, arranged on a terminal device, comprising: the problem receiving unit is configured to receive a target Turing test problem sent by a server, wherein the target Turing test problem is selected by the server from a preset Turing test problem set; the display unit is configured to display the target Turing test question in a preset question display area so as to prompt the operation main body to respond to the test question by executing limb actions; the instruction sending unit is configured to send an information acquisition instruction to information acquisition equipment, wherein the information acquisition instruction is used for instructing acquisition of execution result data of the limb action executed by the operation main body through a preset interactive response area, and the execution result data comprises video data of the limb action executed by the operation main body; and the feedback unit is configured to feed back the execution result data to the server side so that the server side can carry out the living body detection based on the execution result data.
According to a fifth aspect, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed in a computer, causes the computer to perform the method as described in any of the implementations of the first aspect.
According to a sixth aspect, there is provided a server comprising a memory and a processor, wherein the memory stores executable code, and the processor executes the executable code to implement the method described in any one of the implementation manners of the first aspect.
According to a seventh aspect, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed in a computer, causes the computer to perform the method as described in the implementation of the second aspect.
According to an eighth aspect, there is provided a terminal device, comprising a memory and a processor, wherein the memory stores executable codes, and the processor executes the executable codes to implement the method described in the implementation manner of the second aspect.
According to the method and the device for detecting the living body based on the Turing test, provided by the embodiment of the specification, the target Turing test question selected from the Turing test question set is firstly sent to the client so as to prompt an operation main body of the client to respond to the test question by executing the limb action. And then, receiving execution result data fed back by the client aiming at the target Turing test question, and determining whether the operation subject passes a target test result of the target Turing test question or not based on the execution result data, wherein the target test result can be used for determining a living body detection result aiming at the operation subject. In the method, the target Turing test question is selected from the Turing test question set in real time instead of a preset fixed question, so that an attacker can be prevented from making execution result data in advance for attacking, and the safety of face recognition is improved. In addition, the embodiment requires that the operation subject of the client responds to the test problem by executing the limb action, so that the difficulty of answering the problem can be increased, and the accuracy of in-vivo detection can be improved.
Drawings
FIG. 1 shows a schematic diagram of one application scenario in which embodiments of the present description may be applied;
FIG. 2 illustrates a flow diagram of a method for Turing test-based liveness detection, according to one embodiment;
FIG. 3 shows a flow diagram of a method of turing test based liveness detection in accordance with yet another embodiment;
FIG. 4 shows a schematic block diagram of an apparatus for turing test based liveness detection according to one embodiment;
fig. 5 shows a schematic block diagram of an apparatus for turing test based liveness detection according to yet another embodiment.
Detailed Description
The technical solutions provided in the present specification are described in further detail below with reference to the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings. It should be noted that the embodiments and features of the embodiments in the present specification may be combined with each other without conflict.
As described above, the living body detection technology is an important part of face recognition. In order to more effectively identify the living body attack performed by an attacker through automatic execution modes such as Hook injection (Hook) and computer simulation, in the embodiment of the specification, a turing test mode is introduced to perform living body detection.
The Turing Test (CAPTCHA, computer Automated piping Test to tell Computers and Humans Apart) is a challenge-response system Test used to distinguish Humans from computer Automated programs. CAPTCHAs can distinguish between human and automated programs by setting up some tasks that are easily performed by humans and difficult to accomplish by automated programs. Based on the thought, the embodiment of the specification provides a method for in-vivo detection based on Turing test, the method firstly constructs a Turing test question set, and Turing test questions in the set are used for prompting an operation main body of a client to respond to a test question by executing limb actions. Generally, the task of responding to test questions through limb movements is a task that is easily performed by human beings and difficult to be completed by an automatic program. Moreover, the constructed Turing test question set can contain a large number of Turing test questions which cover a plurality of different limb action types and different test problem types. And then selecting questions from the Turing test question set in real time to test the operation main body of the client.
It can be understood that since the Turing test question set contains a large number of Turing test questions with different body movements and different question types, and the questions used for living body detection are selected from the Turing test question set in real time instead of fixed questions, it is almost impossible for an attacker to deal with the questions randomly selected on site in a manner of recording in advance. Therefore, compared with the conventional method for performing the living body detection by requiring the user to perform fixed and simple actions such as blinking and shaking, the method can effectively prevent the attacker from making the execution result data in advance and attacking the data. In addition, compared with the test mode of answering the questions through mouse or touch screen operation in the prior art, for example, the tester is required to drag a slider through the mouse or touch screen to click a specific pattern, the method requires the operation main body of the client to respond to the test questions through executing limb actions, so that an attacker can be prevented from capturing input equipment such as the mouse through hooking Hook mode, meanwhile, the difficulty of answering the questions is increased, and the method is more beneficial to improving the accuracy of living body detection.
Fig. 1 shows a schematic diagram of one application scenario in which embodiments of the present specification may be applied. In the application scenario shown in fig. 1, the client 101 may first send a detection request to the server 102. After receiving the detection request, the server 102 may select a turing test topic from the local turing test topic set 103 as a target turing test topic, and send the target turing test topic to the client 101. The client 101 may display the target turing test question in a preset question display area to prompt the operation subject to reply to the test question by executing a limb action in the interactive response area. Thereafter, the server 102 may receive execution result data fed back by the client 101 for the target turing test title, where the execution result data may include video data for the operation subject to perform the body motion. The server 102 may determine, based on the execution result data, whether the operation subject passes a target test result of the target turing test question, which may be used to determine a result of the in-vivo test for the operation subject.
With continued reference to FIG. 2, FIG. 2 illustrates a flowchart of a method for Turing test-based liveness detection, according to one embodiment. It is understood that the method can be applied to the server, and can be executed by a server, a server cluster, and the like of the server. As shown in fig. 2, the method for detecting a living body based on a turing test may include the following steps:
step 201, selecting a target Turing test question from a preset Turing test question set and sending the target Turing test question to a client.
In this embodiment, the server may be preset with a turing test question set, where the turing test question set may include a plurality of turing test questions, and the turing test questions may be used to prompt the operating main body of the client to respond to the test question by executing the body motion. In practice, the test questions may be of a variety of subject types, and may include, for example, mathematical questions, such as the result of calculating two or more numbers. For another example, the image recognition object may be, for example, one or more predetermined symbols recognized from an image. As another example, simple strokes may be drawn, such as drawing numbers, letters, and the like. The indicated limb movement may also have a variety of movement types, e.g., nose tip movement, fingertip air movement, reading aloud, etc. And various combinations of multiple question types and multiple action types form different Turing test questions in the Turing test question set. Each Turing test question can prompt the operation main body of the client to respond to the test question by executing the corresponding limb action. Taking the math question as an example, the operation body of the client may be prompted to respond to the answer of the math question by performing a reading operation, or respond to the answer of the math question by performing a tip-nose writing operation. Taking the image recognition problem as an example, the operation subject of the client may be prompted to respond to the recognition result of the specific symbol in the image by performing the action of moving the nose tip to the specific symbol. It is understood that the type of the test question, the content of the test question, the body motion in response to the test question, and the like can be set according to actual conditions, and are not limited specifically herein.
In this way, the server may select a turing test question from the local turing test question set as a target turing test question, for example, randomly or according to a preset rule. And then, sending the selected target Turing test question to the client for the client to display. The target Turing test question can be used for prompting an operation main body of the client to respond to a test question by executing limb actions.
In some optional implementations, for the turing test topic set, the topics in the turing test topic set may be dynamically updated. For example, the topics in the set can be dynamically increased, and for example, the topics in the set can be replaced every preset time. In actual use, the type, content, quantity and the like of the questions in the Turing test question set can be set according to actual needs. For example, the technician can set the type, content, number, and the like of the topic according to the attack means of the attacker. In practice, compared with the control of the server, an attacker can control the client more easily, so that the Turing test question set is arranged at the server instead of the client, and the attacker can be prevented from further mastering all questions in the Turing test question set after controlling the client. Once an attacker masters all the questions, the attacker can preset a cracking mode aiming at each question according to the mastered questions, so that the attack is realized. Based on the problem, in order to further improve the difficulty of an attacker in cracking the questions in the Turing test question set, the questions in the Turing test question set can be dynamically updated. By the implementation mode, the difficulty of an attacker in cracking the Turing test question set can be effectively improved, and the safety is further improved.
Step 202, receiving execution result data fed back by the client aiming at the target Turing test question.
In this embodiment, the server may receive execution result data fed back by the client for the target turing test title. Here, the execution result data may include video data that operates the subject to perform the body motion. In an actual living body detection process, after the server sends the target Turing test question to the client, the client can display the target Turing test question in a preset question display area.
Under the normal use scene without attack of attackers, the operation subject of the client is a real person, namely a user. The user responds to the test questions through the body movement, namely the execution main body of the body movement is a real person, and the user can execute the body movement in the preset interactive answering area to respond to the test questions. For example, assuming that the target Turing test is titled "writing number 3 by moving the nose tip," the user can write number 3 in the interactive response region by moving the nose tip. The client can acquire information such as videos of actions executed by the user in the interactive response area and movement tracks of the nose tips as execution result data, and the execution result data are sent to the server.
In an abnormal use scenario in which an attacker attacks, the attacker may simulate the body movement of the operating body (i.e., the user) of the client in various ways to attack. For example, the motion video of the user can be pre-made, such as the motion video of a stolen recorded user, the motion video of a forged user, and the like. Also for example, user limb movements are simulated by a computer, etc. In this scenario, the subject of the limb movement responding to the test question is not a real person. Through various attack modes, an attacker can feed back forged execution result data to the server side through the client side. For example, the forged execution result data may also include video data of the body motion performed by the operation subject, but the video data may be data generated by an attacker simulating the body motion of the operation subject in various ways, rather than data generated by a real person performing the body motion. An attacker attempts to pass through the execution result data of such falsification through live body detection to perform a next illegal operation, such as logging in a user account, stealing user property, and the like.
Step 203, determining whether the operation subject passes the target test result of the target turing test question based on the execution result data.
In this embodiment, the server may determine whether the operation subject of the client passes the target test result of the target turing test question according to the execution result data fed back by the client. The target test result may include a pass test and a fail test, among others. The target test result may be used to determine a live body detection result for the subject of operation, wherein the live body detection result may include a detection pass and a detection fail. In practice, the in-vivo detection result for the operating subject may be determined from the test result of the turing test in various ways, for example, the in-vivo detection result for the operating subject may be determined from the test result of one test. For another example, the living body detection result for the operation subject may also be determined from a plurality of test results of a plurality of tests.
In some optional implementations, the limb actions prompted by the target turing test questions may include tip movement. And step 203 may include step 2031 and step 2032, which are not shown in fig. 2, specifically:
step 2031, extract the nose tip movement trajectory of the operating subject from the video data.
In this implementation, the server may extract the nose tip movement trajectory of the operation subject from the video data included in the execution result data. For example, the facial nose tip location may be performed on each video frame of the video data first, for example, the facial nose tip may be located by using the existing facial nose tip location algorithm. And then, generating a nose tip movement track according to the sequence of each video frame in the video data and the face nose tip positioning result of each video frame. For example, the nose tip movement trajectory may be a sequence of nose tip positions.
In some implementations, the server may first identify a plurality of nose tip locations from a plurality of frames of images of the video data, respectively, using the target detection model. Here, the above object detection model may be used to detect and locate the tip of a human face nose in an image. As an example, the above target detection model may be an existing machine learning model capable of detecting and locating the tip of the nose of a human face, for example, a face key point detection model of a human face, and typically, the face key points capable of being detected by the face key point detection model include the tip of the nose. The target detection model may be a machine learning model trained in advance according to actual needs. Then, the server can determine the nose tip movement track according to the plurality of nose tip positions. Alternatively, whether there is an abnormality in the movement of the nose tip of the operation subject may be determined based on the video data or based on a trajectory formed by a plurality of nose tip positions. Under normal conditions, when a real person moves the nose tip, the nose tip moving device has the characteristics of uniform moving speed, continuous moving position, not strict and smooth moving track and the like. However, the data generated by the attacker simulating the movement of the nose tip of the operation subject may have abnormalities such as jump in movement speed, jump in position, and excessively smooth trajectory (for example, a strict straight line or curve), and therefore, whether the movement speed, the movement position, and the like of the nose tip are abnormal or not can be determined according to the video data or the trajectory formed by a plurality of nose tips, and further, whether the movement of the nose tip of the operation subject is abnormal or not can be determined. For example, if there is an exception, it may indicate that the target test result is a failed test. In the case where there is no abnormality, the nose tip movement trajectory is determined based on the trajectory formed by the plurality of nose tip positions.
Step 2032, determining a target test result according to the nose tip movement track and the test problem.
In the implementation mode, the server side can determine a target test result according to the nose tip movement track and the test problem. Specifically, the server may pre-store a standard trajectory corresponding to a test question of each turing test question in the turing test question set. For example, the standard trajectory may be a trajectory preset by a technician according to a test question. For example, the test question is the arithmetic question "2 +5= how many", the standard trajectory may be a trajectory corresponding to the shape of "7". Therefore, the server can obtain the standard track corresponding to the test problem, and then determine the target test result according to the coincidence degree of the nose tip movement track and the standard track. For example, the similarity calculation may be performed between the nose tip movement trajectory extracted from the video data and the standard trajectory, and the target test result may be determined based on the similarity calculation result.
In some alternative implementations, the test problem may include one of: move to a designated area (e.g., move to the top right corner of the interactive response area), recognize a preset symbol from a preset image, drag a preset slider to a preset position, draw a preset graphic or symbol (e.g., draw a triangle, draw a pair), draw an answer to an arithmetic question, and so on.
In some optional implementations, the body motion prompted by the target turing test question may include reading, and the test question may include preset text information. At this time, the target turing test question may prompt the operating subject to read preset text information. And the step 203 may include a step one and a step two, specifically:
step one, voice information and/or mouth shape information of an operation subject are extracted from the video data.
In this implementation, the server may extract the voice information from the video data, may also extract the mouth shape information of the operation subject from the video data, or may also extract the voice information and the mouth shape information of the operation subject at the same time. Here, the mouth shape information may include mouth shape change information.
And step two, determining a target test result according to the text information, the voice information and/or the mouth shape information.
In this implementation, the server may determine the target test result according to the text information, the voice information, and/or the mouth shape information. In practice, the speech synthesized by reading aloud by an attacker as a simulation operation subject is often lack of emotion, is stiff, has strong mechanical sense, and is obviously different from the speech read aloud by a real person. Meanwhile, the synthesized mouth shape information may be different from the mouth shape information when a real person reads. Based on this, the target test result may be determined based on the text information, as well as the speech information and/or the mouth shape information. As an example, various methods of determining the target test result from the voice information and/or the mouth shape information may be previously established. For example, it may be determined whether the speech information is synthesized speech according to a pre-trained recognition model, wherein the recognition model may be a pre-trained machine learning model, and if it is determined to be synthesized speech, it may be determined that the target test result is a failed test, otherwise, the test is passed. For another example, the standard mouth shape information may be generated according to the text information, for example, the mouth shape information may be generated by a technician reading the text information or by using a trained model, and then the mouth shape information and the standard mouth shape information are compared, and the target test result is determined according to the comparison result. As another example, the speech information and the mouth shape information may be analyzed in combination to determine a target test result. For example, voice print recognition may be performed based on the voice information, and it is determined whether the speaker is the user corresponding to the client according to the voice print recognition, if so, the test is passed, otherwise, the test is not passed.
In some optional implementations, the method for turing test-based in-vivo detection may further include: in response to determining that the target test result is a pass test, determining that the in vivo test result is a pass test. In response to determining that the target test result is a failed test, determining that the in vivo test result is a failed test. Through the implementation mode, the in-vivo detection result aiming at the operation subject can be determined according to the test result of one test.
In other alternative implementations, the method for turing test-based in-vivo detection may further include: and in response to determining that the plurality of test results including the target test result are all pass tests, determining the in-vivo test result as a pass test. With the present implementation, it is possible to determine a living body detection result for an operation subject by a plurality of test results of a plurality of tests.
In other alternative implementations, the method for turing test-based in-vivo detection may further include: and in response to the fact that the target test result is determined to be a failed test, selecting another Turing test question from the Turing test question set and sending the other Turing test question to the client side for testing again. By the implementation mode, the Turing test question can be re-determined to be tested again under the condition that one test does not pass.
Optionally, the turing test questions in the turing test question set may have difficulty labels, and the difficulty labels may be used to represent difficulty levels of the turing test questions. In the implementation manner, the selected target turing test question may have a first difficulty tag, and the selected another turing test question may have a second difficulty tag different from the first difficulty tag, that is, when the test does not pass, the turing test questions with different difficulty levels are selected for retesting.
Optionally, the difficulty level corresponding to the second difficulty level tag may be higher than that of the first difficulty level tag. Therefore, the more difficult Turing test subject can be selected for retesting under the condition that one test does not pass. Generally, when a test fails, it indicates that there may be an abnormality in the operation subject under test, for example, an abnormality that may be caused by a human error operation or an abnormality that may be caused by an attack of an attacker. At this time, a testing opportunity can be provided again as required, but in order to improve the safety, a turing test subject with higher difficulty can be selected for retesting. Because, if it is an abnormality due to a malfunction of a real person, the real person may pass the test at the time of the retest with higher difficulty. If the abnormality is caused by attack of an attacker, the method is limited to an attack means, and the attacker still can not pass the test when the retest with higher difficulty is carried out. By the method, the opportunity of retesting can be provided for the user, and the user experience is improved.
It can be understood that more than two testing opportunities can be provided according to actual needs, for example, 3 times, 4 times, etc., and the difficulty of the turing test question selected in each test is higher than that of the turing test question selected in the last test.
In some optional implementations, the method for turing test-based in-vivo detection may further include: and responding to the fact that the living body detection result is detection passing, and carrying out face recognition on the face image sent by the client.
In this implementation manner, if it is determined that the living body detection result passes the detection, the server may perform face recognition on the face image sent by the client. Here, the face image may be acquired by a client, for example, the face image may be acquired by the client during a turing test, or may be acquired after it is determined that the living body detection passes. And further face recognition is carried out under the condition that the detection of the living body detection is passed, so that the safety of the face recognition is improved.
Optionally, if it is determined that the in-vivo detection result is that the detection fails, the server may send risk prompt information to prompt the user that the client has an attack risk. For example, risk alert information may be sent to the client for display by the client. For another example, the risk prompt information may also be sent through a contact means (e.g., a mobile phone number, a mailbox, etc.) reserved by the user.
With continued reference to fig. 3, fig. 3 shows a flow diagram of a method for turing test based liveness detection according to yet another embodiment. It can be understood that the method can be applied to a client, and the client can be installed in various terminal devices such as a smart phone, a tablet computer, a personal computer and the like. As shown in fig. 3, the method for detecting a living body based on a turing test may include the following steps:
step 301, receiving a target Turing test topic sent by a server.
In this implementation manner, the client may receive a target turing test question sent by the server, where the target turing test question may be selected by the server from a preset turing test question set. The Turing test question set arranged at the server side can comprise a plurality of Turing test questions, and each Turing test question can be used for prompting an operation main body of the client side to respond to a test question by executing limb actions. As examples, limb actions may include nose tip movement, reading aloud, and so forth. The test questions may be of various types, and may include, for example, mathematical questions, image recognition questions, drawing sketching strokes, and so forth.
Step 302, displaying the target Turing test question in a preset question display area to prompt the operation subject to respond to the test question by executing the limb action.
In this implementation, the client may be provided with a topic display area and an interactive response area. The client can display the target Turing test question in the question display area to prompt the operation main body to respond to the test question by executing the limb action.
Step 303, sending an information acquisition instruction to the information acquisition device.
In this implementation, after the target turing test title is displayed in the title display area, the client may further send an information acquisition instruction to an information acquisition device (e.g., a camera, a microphone, etc.). The information acquisition instruction can be used for instructing the information acquisition equipment to acquire execution result data of the operation subject to execute the limb action through the preset interactive answer area, wherein the execution result data can comprise video data of the operation subject to execute the limb action, and can also comprise images, voice and the like. Under the normal use scene without attacker attack, the client can determine the execution result data through the information acquired by the information acquisition equipment. In an abnormal use scenario in which an attacker attacks the client, the attacker may attack the client in various ways to simulate (or forge) the body action of the operation body of the client, for example, the information acquisition instruction sent by the client to the information acquisition device may be intercepted, and the simulated information acquisition device feeds back forged execution result data to the client, thereby forging the execution result data.
And step 304, feeding back the execution result data to the server side so that the server side can perform living body detection based on the execution result data.
In this implementation manner, the execution main body may feed back the execution result data to the server, so that the server performs the living body detection based on the execution result data. Wherein, the result of the living body detection may include a detection pass and a detection fail.
In the method of the embodiment, the target Turing test question is selected from the Turing test question set in real time instead of a preset fixed question, so that an attacker can be prevented from making execution result data in advance to attack, and the safety of face recognition is improved. In addition, the embodiment requires that the operation subject of the client responds to the test problem by executing the limb action, so that the difficulty of answering the problem can be increased, and the accuracy of in-vivo detection can be improved.
According to another aspect of the embodiments, a device for turing test-based in-vivo detection is provided, which may be deployed in a server or a server cluster on a server side.
FIG. 4 shows a schematic block diagram of an apparatus for turing test based liveness detection according to one embodiment. As shown in fig. 4, the apparatus 400 for turing test-based in-vivo test includes: a selecting unit 401 configured to select a target turing test question from a preset turing test question set and send the target turing test question to a client, where the target turing test question is used to prompt an operation subject of the client to respond to a test question by executing a limb action; a receiving unit 402, configured to receive execution result data fed back by the client for the target turing test question, where the execution result data includes video data of the body motion executed by the operation subject; a determination unit 403 configured to determine whether the operation subject passes a target test result of the target turing test question based on the execution result data; the target test result is used to determine a result of the in-vivo test for the subject.
In some optional implementations of this embodiment, the apparatus 400 further includes: a first detection pass determination unit (not shown in the figure) configured to determine the living body detection result as a detection pass in response to the target test result being a pass test; a detection non-pass determination unit (not shown in the figure) configured to determine that the living body detection result is a detection non-pass in response to the target test result being a non-pass test.
In some optional implementations of this embodiment, the apparatus 400 further includes: a second detection pass determination unit (not shown in the figure) configured to determine the living body detection result as a detection pass in response to each of a plurality of test results including the target test result being a pass test.
In some optional implementations of this embodiment, the apparatus 400 further includes: and a retest unit (not shown in the figure) configured to select another turing test question from the turing test question set to send to the client for retesting in response to the target test result being a failed test.
In some optional implementation manners of this embodiment, the target turing test question has a first difficulty tag; the other Turing test question has a second difficulty label different from the first difficulty label.
In some optional implementation manners of this embodiment, the difficulty corresponding to the second difficulty label is higher than that of the first difficulty label.
In some optional implementations of this embodiment, the apparatus 400 further includes: and a face recognition unit (not shown in the figure) configured to perform face recognition on the face image sent by the client in response to the living body detection result being a detection pass.
In some optional implementations of this embodiment, the apparatus 400 further includes: and an updating unit (not shown in the figure) configured to dynamically update the questions in the turing test question set.
In some optional implementations of this embodiment, the limb movement prompted by the target turing test question includes tip movement; and the determining unit 403 is further configured to: extracting a nose tip movement track of the operation subject from the video data; and determining the target test result according to the nose tip movement track and the test problem.
In some optional implementations of the embodiment, the extracting a nose tip movement trajectory of the operation subject from the video data includes: respectively identifying a plurality of nose tip positions from a plurality of frames of images of the video data by using a target detection model; and determining the nose tip movement track according to the positions of the plurality of nose tips.
In some optional implementations of the embodiment, the determining the nose tip movement trajectory according to the plurality of nose tip positions includes: determining whether the nose tip movement of the operation subject is abnormal according to the video data or the track formed by the positions of the plurality of nose tips; when there is no abnormality, the nose tip movement trajectory is determined based on the trajectory formed by the plurality of nose tip positions.
In some optional implementations of the embodiment, the determining the target test result according to the nose tip movement track and the test question includes: acquiring a standard track corresponding to the test problem; and determining the target test result according to the coincidence degree of the nose tip movement track and the standard track.
In some optional implementations of the embodiment, the test problem includes one of: moving to a designated area, recognizing a preset symbol from a preset image, dragging a preset slider to a preset position, drawing a preset figure or symbol, and drawing an answer of an arithmetic question.
In some optional implementation manners of this embodiment, the body movement prompted by the target turing test question includes reading aloud, and the test question includes preset text information; and the determining unit 403 is further configured to: extracting voice information and/or mouth shape information of the operation subject from the video data; and determining the target test result according to the text information, the voice information and/or the mouth shape information.
According to an embodiment of another aspect, a further apparatus for turing test based in vivo testing is provided. The apparatus for the turing test based biopsy described above may be deployed in a terminal device.
FIG. 5 shows a schematic block diagram of an apparatus for turing test based liveness detection, according to one embodiment. As shown in fig. 5, the apparatus 500 for turing test-based in-vivo test includes: a question receiving unit 501, configured to receive a target turing test question sent by a server, where the target turing test question is selected by the server from a preset turing test question set; a display unit 502 configured to display the target turing test question in a preset question display area to prompt the operation subject to respond to the test question by executing a limb movement; an instruction sending unit 503, configured to send an information acquisition instruction to an information acquisition device, where the information acquisition instruction is used to instruct the operation subject to acquire execution result data of executing a limb action through a preset interactive response area, and the execution result data includes video data of executing the limb action by the operation subject; a feedback unit 504 configured to feed back the execution result data to the server for the server to perform the living body detection based on the execution result data.
According to an embodiment of another aspect, there is also provided a computer-readable storage medium having stored thereon a computer program which, when executed in a computer, causes the computer to perform the method described in fig. 2.
According to another embodiment of the present invention, there is also provided a server, including a memory and a processor, wherein the memory stores executable codes, and the processor executes the executable codes to implement the method described in fig. 2.
According to an embodiment of another aspect, there is also provided a computer-readable storage medium having stored thereon a computer program, which, when executed in a computer, causes the computer to perform the method described in fig. 3.
According to an embodiment of still another aspect, there is also provided a terminal device, including a memory and a processor, wherein the memory stores executable code, and the processor executes the executable code to implement the method described in fig. 3.
It will be further appreciated by those of ordinary skill in the art that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be embodied in electronic hardware, computer software, or combinations of both, and that the components and steps of the examples have been described in a functional general in the foregoing description for the purpose of illustrating clearly the interchangeability of hardware and software. Whether these functions are performed in hardware or software depends on the particular application of the solution and design constraints. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied in hardware, a software module executed by a processor, or a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The above-mentioned embodiments are intended to illustrate the objects, technical solutions and advantages of the present invention in further detail, and it should be understood that the above-mentioned embodiments are merely exemplary embodiments of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (21)

1. A method of in vivo testing based on turing tests, comprising:
selecting a target Turing test question from a preset Turing test question set and sending the target Turing test question to a client, wherein the target Turing test question is used for prompting an operation main body of the client to respond to a test question by executing limb actions;
receiving execution result data fed back by the client aiming at the target Turing test question, wherein the execution result data comprises video data of the operation subject executing the limb action;
determining whether the operation subject passes a target test result of a target turing test question based on the execution result data; the target test result is used for determining a living body detection result for the operation subject.
2. The method of claim 1, wherein the method further comprises:
in response to the target test result being a pass test, determining the in-vivo test result as a pass test;
and in response to the target test result being a failed test, determining the in-vivo test result as a failed test.
3. The method of claim 1, wherein the method further comprises:
and determining the in-vivo detection result as a detection pass in response to all the plurality of test results including the target test result being pass tests.
4. The method of claim 1, wherein the method further comprises:
and responding to the target test result that the target test result is failed, selecting another Turing test topic from the Turing test topic set, and sending the other Turing test topic to the client to perform testing again.
5. The method of claim 4, wherein the target Turing test question has a first difficulty tag; the another Turing test question has a second difficulty label that is different from the first difficulty label.
6. The method of claim 5, wherein the second difficulty label corresponds to a higher difficulty than the first difficulty label.
7. The method of claim 2 or 3, wherein the method further comprises:
and performing face recognition on the face image sent by the client in response to the living body detection result being that the detection is passed.
8. The method of claim 1, wherein the method further comprises:
and dynamically updating the questions in the Turing test question set.
9. The method of claim 1, wherein the limb actions prompted by the target turing test question include tip movement; and
determining whether the operation subject passes a target test result of a target turing test question based on the execution result data, including:
extracting a nose tip movement track of the operation subject from the video data;
and determining the target test result according to the nose tip movement track and the test problem.
10. The method of claim 9, wherein said extracting nose tip movement trajectory of said subject of operation from said video data comprises:
respectively identifying a plurality of nose tip positions from a plurality of frames of images of the video data by using a target detection model;
and determining the nose tip movement track according to the plurality of nose tip positions.
11. The method of claim 10, wherein said determining said nose tip movement trajectory from said plurality of nose tip locations comprises:
determining whether nose tip movement of the operation subject is abnormal or not according to the video data or a track formed by the positions of the plurality of nose tips;
and under the condition that no abnormality exists, determining the nose tip movement track based on the track formed by the plurality of nose tip positions.
12. The method of claim 9, wherein said determining the target test result from the nose tip movement trajectory and the test question comprises:
acquiring a standard track corresponding to the test problem;
and determining the target test result according to the coincidence degree of the nose tip movement track and the standard track.
13. The method of claim 1 or 9, wherein the test question comprises one of: moving to a designated area, recognizing a preset symbol from a preset image, dragging a preset slider to a preset position, drawing a preset figure or symbol, and drawing an answer of an arithmetic question.
14. The method according to claim 1, wherein the body motion prompted by the target Turing test question comprises reading aloud, and the test question comprises preset text information; and
determining whether the operation subject passes a target test result of a target turing test question based on the execution result data, including:
extracting voice information and/or mouth shape information of the operation subject from the video data;
and determining the target test result according to the text information, the voice information and/or the mouth shape information.
15. A method for detecting living bodies based on Turing test is applied to a client and comprises the following steps:
receiving a target Turing test question sent by a server, wherein the target Turing test question is selected by the server from a preset Turing test question set;
displaying the target Turing test question in a preset question display area to prompt an operation main body to respond to a test question by executing limb actions;
sending an information acquisition instruction to information acquisition equipment, wherein the information acquisition instruction is used for instructing the acquisition of execution result data of the operation main body to execute the limb action through a preset interactive response area, and the execution result data comprises video data of the operation main body executing the limb action;
and feeding back the execution result data to the server side so that the server side can carry out the living body detection based on the execution result data.
16. An apparatus for turing test based in vivo detection, comprising:
the system comprises a selection unit, a processing unit and a display unit, wherein the selection unit is configured to select a target Turing test question from a preset Turing test question set and send the target Turing test question to a client, and the target Turing test question is used for prompting an operation main body of the client to respond to a test question by executing limb actions;
a receiving unit, configured to receive execution result data fed back by the client for the target turing test question, where the execution result data includes video data of the body motion executed by the operation subject;
a determination unit configured to determine whether the operation subject passes a target test result of a target turing test question based on the execution result data; the target test result is used for determining a living body detection result for the operation subject.
17. A device for detecting a living body based on a Turing test is arranged on a terminal device and comprises:
the problem receiving unit is configured to receive a target Turing test problem sent by a server, wherein the target Turing test problem is selected by the server from a preset Turing test problem set;
the display unit is configured to display the target Turing test question in a preset question display area so as to prompt the operation main body to respond to the test question by executing limb actions;
the instruction sending unit is configured to send an information acquisition instruction to information acquisition equipment, wherein the information acquisition instruction is used for instructing acquisition of execution result data of the operation main body executing the limb action through a preset interactive response area, and the execution result data comprises video data of the operation main body executing the limb action;
and the feedback unit is configured to feed back the execution result data to the server side so that the server side can perform living body detection based on the execution result data.
18. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-14.
19. A server comprising a memory and a processor, wherein the memory has stored therein executable code, and wherein the processor, when executing the executable code, implements the method of any one of claims 1-14.
20. A computer-readable storage medium, on which a computer program is stored which, when executed in a computer, causes the computer to carry out the method of claim 15.
21. A terminal device comprising a memory and a processor, wherein the memory has stored therein executable code, and wherein the processor, when executing the executable code, implements the method of claim 15.
CN202111358401.0A 2021-11-17 2021-11-17 Method and device for detecting living body based on Turing test Pending CN113821781A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111358401.0A CN113821781A (en) 2021-11-17 2021-11-17 Method and device for detecting living body based on Turing test

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111358401.0A CN113821781A (en) 2021-11-17 2021-11-17 Method and device for detecting living body based on Turing test

Publications (1)

Publication Number Publication Date
CN113821781A true CN113821781A (en) 2021-12-21

Family

ID=78919569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111358401.0A Pending CN113821781A (en) 2021-11-17 2021-11-17 Method and device for detecting living body based on Turing test

Country Status (1)

Country Link
CN (1) CN113821781A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302330A (en) * 2015-05-21 2017-01-04 腾讯科技(深圳)有限公司 Auth method, device and system
CN110532744A (en) * 2019-07-22 2019-12-03 平安科技(深圳)有限公司 Face login method, device, computer equipment and storage medium
CN112395906A (en) * 2019-08-12 2021-02-23 北京旷视科技有限公司 Face living body detection method and device, face living body detection equipment and medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302330A (en) * 2015-05-21 2017-01-04 腾讯科技(深圳)有限公司 Auth method, device and system
CN110532744A (en) * 2019-07-22 2019-12-03 平安科技(深圳)有限公司 Face login method, device, computer equipment and storage medium
CN112395906A (en) * 2019-08-12 2021-02-23 北京旷视科技有限公司 Face living body detection method and device, face living body detection equipment and medium

Similar Documents

Publication Publication Date Title
CN109635772A (en) A kind of dictation content corrects method and electronic equipment
US10387645B2 (en) Method for recognizing if a user of an electronic terminal is a human or a robot
CN111240482B (en) Special effect display method and device
CN114077726A (en) System, method and machine-readable medium for authenticating a user
CN106302330A (en) Auth method, device and system
Deravi et al. Gaze trajectory as a biometric modality
CN113918898A (en) Safety verification code generation method, system and medium based on track drawing interaction
Khan et al. Mimicry attacks on smartphone keystroke authentication
CN111353140B (en) Verification code generation and display method, device and system
CN104992085A (en) Method and device for human body in-vivo detection based on touch trace tracking
CN110795706B (en) Hash-based verification method, equipment, storage medium and device
CN113821781A (en) Method and device for detecting living body based on Turing test
CN109543374B (en) Sliding type identifying code for resisting deep neural network identification
CN115906028A (en) User identity verification method and device and self-service terminal
Chen et al. Video-Based Affect Detection in Noninteractive Learning Environments.
US20210390167A1 (en) Authenticating a user subvocalizing a displayed text
JP2023036273A (en) Information processing apparatus and information processing program
JP4834512B2 (en) Biometric authentication system
CN111507555B (en) Human body state detection method, classroom teaching quality evaluation method and related device
EP4222637A1 (en) Fingerprint enrollment using collocation of a user's touch and a fingerprint sensor
Hsu et al. Adaptive virtual gestures for GUI testing on smartphones
KR102568875B1 (en) Server for providing service for recommending mentor and lecture and method for operation thereof
CN114550253B (en) Method and device for preprocessing face image in queuing scene
KR102388735B1 (en) Method of detecting cheating for exams in meatverse environment based on image data processing
CN112836732B (en) Verification method and device for data annotation, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination