Identity authentication services and techniques

By combining machine learning models and ID verification with prompts and action recognition systems, the problem of existing identity verification being vulnerable to malicious attacks has been solved, achieving more secure resource access control.

CN121986337APending Publication Date: 2026-05-05EBAY INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
EBAY INC
Filing Date
2023-11-23
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

Existing authentication technologies are vulnerable to malicious attacks using fake images, intrusive camera feeds, and artificial intelligence, leading to unauthorized access to resources.

Method used

The system uses machine learning models to train on positive and negative sample data, combined with prompts and action recognition systems, to verify users' actions and facial features. It also uses identity documents for authentication to prevent malicious access.

Benefits of technology

It enhances the security of authentication, adapts to changes in malicious parties, prevents fake images and intrusive attacks, and ensures the legitimacy of resource access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121986337A_ABST
    Figure CN121986337A_ABST
Patent Text Reader

Abstract

Identity authentication services and techniques are described. In one or more implementations, an authentication service is used to control resource access based on authentication. In a first example, an authentication service compares an action (e.g., a head motion, a gesture, etc.) depicted to be performed by a user in authentication input data to determine whether the action corresponds to an action specified by a selected authentication cue. In a second example, the authentication service determines a likelihood of verifying whether a user depicted in the input data corresponds to a human by using a machine learning model. In a third example, a depiction of a user's face captured by authentication input data is compared to a digital image of the user maintained by an authentication system. Resource access is controlled through an authentication service.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] Computing devices rely on user authentication as a foundation to control access to various resources, whether those implemented locally on the computing device or those implemented remotely as digital services by a service provider's system. Various methods and technologies have been developed to implement authentication, such as user passwords and facial recognition.

[0002] However, these technologies are constantly being challenged by malicious actors, for example, by using photos to detect facial recognition technology, hacking into camera feeds, and employing artificial intelligence. Therefore, conventional methods used for authentication may fail to achieve their intended purpose, thus exposing these resources to malicious access. Summary of the Invention

[0003] An authentication service and technology are described. In one or more implementations, the authentication service is used to control resource access based on authentication. In a first example, the authentication service compares actions (e.g., head movements, gestures, etc.) depicted as being performed by a user in the authentication input data to determine whether the action corresponds to the action specified by a selected authentication prompt. In a second example, the authentication service uses a machine learning model to determine the probability that the user depicted in the authentication input data corresponds to a human. In a third example, a depiction of the user's face captured by the authentication input data is compared with a digital image of the user maintained by the authentication system. Based on the determined result, resource access is controlled through the authentication service.

[0004] The present invention provides a simplified summary of a series of concepts further described in the following detailed description. Therefore, the present invention is not intended to identify essential features of the claimed subject matter, nor is it intended to help determine the scope of the claimed subject matter. Attached Figure Description

[0005] Specific embodiments are described with reference to the accompanying drawings. Entities shown in the drawings indicate one or more entities, and therefore entities in the singular or plural form may be referred to interchangeably in the discussion.

[0006] Figure 1 This is a diagram of an environment that can operate using the authentication technologies described in this article.

[0007] Figure 2 A more detailed description is shown. Figure 1 The system provides an example implementation of training a machine learning model.

[0008] Figure 3 An example implementation of pseudocode that can be used to train machine learning models is described.

[0009] Figure 4 The system in the example implementation is described, in which the prompting module outputs a prompt, and the action recognition module responds to the prompt to validate the input data for authentication through the authentication service.

[0010] Figure 5 The system in the example implementation is described, in which the prompting module and the action recognition module utilize motion as part of the action to be performed for authentication through the authentication service.

[0011] Figure 6 An example implementation is described, showing the output of a verification prompt with motion cues and the generation of motion responses as part of the verification input data.

[0012] Figure 7 An example implementation of pseudocode that can be used to implement action recognition through an action recognition module is described.

[0013] Figure 8 The system in the example implementation is described, where the prompting module and the action recognition module utilize gestures as part of authentication through an authentication service.

[0014] Figure 9 An example implementation is described, showing the output of a verification prompt with gesture prompts and the generation of gesture responses as part of the verification input data.

[0015] Figure 10 and 11 An example implementation of pseudocode that can be used to implement gesture recognition via an action recognition module is described.

[0016] Figure 12 A more detailed description is shown. Figure 1 This section provides an example implementation of the ID verification module's operations.

[0017] Figure 13 Additional example implementations are depicted, demonstrating the use of authentication as part of controlling access to resources configured for electronic messaging.

[0018] Figure 14 It is a flowchart of a step-by-step process in an example implementation of an algorithm as an executable operation to complete the authentication result.

[0019] Figure 15 An example system is shown, comprising various components of an example device that can be implemented as any type of computing device with reference to the preceding figures and / or utilized to implement embodiments of the techniques described herein. Detailed Implementation

[0020] Overview

[0021] Computing devices utilize user authentication to control access to various resources, such as gaining local access to the computing device, remotely accessing digital services over a network, and proving that a human is attempting to access it. However, the conventional techniques used to do this are constantly challenged by malicious actors using artificial intelligence, fake digital images, and compromised camera feeds.

[0022] Therefore, authentication services and technologies configured to provide additional protection against malicious parties and address the technical challenges of conventional authentication technologies are described. These technologies can be used to support a variety of computing functions, examples of which include document verification for verifying uploaded documents, user verification for verifying that a user is a human, etc.

[0023] For example, authentication services can be implemented as digital services at the service provider's system, locally at the client device, etc. The authentication service is configured to incorporate various functions as part of authentication. In the first example, a machine learning model is trained and retrained using positive and negative training data. Positive training data includes examples of digital images capturing actual human faces. On the other hand, negative training data includes examples of fake digital images that do not capture actual human faces, such as digital images collected from failed access attempts generated using generative artificial intelligence, etc. Once trained, the machine learning model can be used to verify the validity of received digital images as part of the verification input data, such as digital images depicting real humans. In this way, the machine learning model is able to learn and adapt over time as a malicious party makes attempts that vary over time, which is impossible in conventional techniques. Regarding Figure 2 Further discussion on training and using machine learning models is described.

[0024] In the second example, the authentication system employs a cue and motion recognition system to determine whether a digital image or other input data (e.g., audio data) depicts a corresponding response to a cue. For example, the cue may be randomly selected from multiple cues specifying an action to be performed by the user (e.g., head movement, gesture execution, spoken words, etc.). The authentication cue is output in the user interface, and sensors are used (e.g., using a microphone, camera, etc.) to capture the user's response. For example, the authentication cue may specify the direction the user should look, a specific gesture to be performed using the user's hand, etc.

[0025] The action recognition module then processes the verification input data generated by the sensors to verify whether the input data represents an action specified by the prompt. For example, the action recognition module can compare the target result with the results included in the verification input data, or use a machine learning model trained as a classifier to identify the execution of the action. In this way, the authentication service is configured to detect whether the user responds appropriately to perform resource access control by using prompts. Further discussion on the use of prompts and action verification includes, for example, regarding... Figures 5 to 7 The described user movements, and such as those related to Figures 8 to 11 Examples of the described gestures.

[0026] In the third example, an authentication system is used to maintain user identities (e.g., driver's licenses, passports, ID cards, etc.) for authentication. In the first example, a captured digital image of the user, along with the user's legal name, is passed to the authentication system's authentication application programming interface (API) (e.g., during a communication session). The authentication system determines, for example, whether the digital image depicts the user and returns that determination result.

[0027] In the second example, the authentication API is queried using the user's name, similar to the example above. However, in this example, a digital image of the user is returned, for example, from a passport, driver's license, employee ID, etc. This digital image is then compared to a captured digital image of the user that is part of the authentication input data, allowing the authentication service itself to determine the user's validity. In this way, the authentication system provides an additional level of protection against harm from malicious parties. Figure 12 Describe its further discussion.

[0028] The following discussion describes an example environment employing the techniques described herein. Example procedures that can be executed in the example environment as well as in other environments are also described. Therefore, the execution of the example procedures is not limited to the example environment, and the example environment is not limited to the execution of the example procedures.

[0029] Example authentication environment

[0030] Figure 1 This is an illustration of an environment 100 that can operate using the authentication technologies described herein. The environment 100 includes a service provider system 102 and a client device 104 communicatively coupled to each other via a network 106. The computing devices implementing the service provider system 102 and the client device 104 can be configured in various ways.

[0031] For example, a computing device can be configured as a desktop computer, a laptop computer, a sports device (e.g., assuming a handheld configuration, such as a tablet or mobile phone as shown in the figure), etc. Therefore, the range of computing devices extends from fully-resourced devices with abundant memory and processor resources (e.g., personal computers, game consoles) to low-resource devices with limited memory and / or processing resources (e.g., sports devices). Additionally, although a single computing device is shown, a computing device also refers to multiple different devices, such as those used by an enterprise to perform tasks like... Figure 15 The multiple servers described in the article as operating "in the cloud".

[0032] Client device 104 includes a communication module 108 that represents the functionality to communicate with service manager module 110 of service provider system 102 via network 106. Service manager module 110 is configured to implement digital service 112 using hardware and software resources 114 (e.g., processing devices and computer-readable storage media). Digital service 112 can be used to provide various functions to client device 104 via the network through execution by computing devices at service provider system 102, an example of which is shown as authentication service 116.

[0033] The authentication service 116 is configured to employ technologies to verify identity, such as verifying the identity associated with uploaded documents, confirming the user's claimed identity, and verifying whether an actual human is involved in the communication session. To this end, the authentication service 116 can be configured to employ various functions, examples of which are shown as a prompting module 118, an action recognition module 120, and an ID verification module 122. In one or more examples, a machine learning model 124 is trained to help implement these technologies, such as regarding... Figure 2 Further description.

[0034] The prompting module 118 is configured to select a verification prompt 126 from a plurality of verification prompts (e.g., randomly), which is transmitted to the client device 104 and output to the user interface, as shown. Verification input data 128 is then returned as a response. The verification input data 128 is processed by the action recognition module 120 to determine whether the action specified in the verification prompt 126 (e.g., head movement, gesture, etc.) was performed by the user. In this way, the authentication service 116 utilizes the user's response to the verification prompt 126 to prevent the use of spoofed images (e.g., displaying a digital image on a mobile phone), intrusive image feeds, the use of artificial intelligence, etc.

[0035] For example, client device 104 includes sensors 130 such as image capture device 132 (e.g., camera device), audio capture device 134 (e.g., microphone), etc. Client device 104 may also include, for example, an infrared projector for operation in relatively dark physical environments, a light emitter device 136 as part of a depth-sensing technology that projects an array of points to map the structure and depth of a face, etc. Verification input data 128 is then generated based on the sensors, for example, including digital images, digital audio data, depth maps, etc., for controlling resource access. For example, resource access can be used to "log in" to client device 104, access digital services 112 of service provider system 102 (e.g., access a webpage, log in to a user account), etc.

[0036] In another example, ID verification module 122 is used to communicate with a verification system that maintains user identities (e.g., driver's licenses, passports, ID cards, etc.) for authentication. For example, ID verification module 122 transmits a captured digital image of the user along with the user's legal name to the verification system's verification application programming interface (API). The verification system (e.g., using ID card data) determines whether the digital image depicts the user and returns the verification result. In a second instance, the verification API is queried using the user's name, and a digital image of the user is returned, for example, from a passport, driver's license, employee ID, etc. The digital image is then compared with a captured digital image of the user that is part of the verification input data to determine whether the user is valid through the authentication service itself.

[0037] In this way, the authentication service solves the technical challenges of authentication. About Figure 2 Further discussion describes the training and use of machine learning model 124. About Figures 3 to 11 Further discussion is provided regarding the use of prompting module 118 and action recognition module 120 to output verification prompts and process verification input data to evaluate actions. About Figure 12 Further discussion of the implementation of ID verification module 122 is described below.

[0038] Generally, the functions, features, and concepts described with respect to the examples above and below are used in the context of the example processes described in this section. Furthermore, the functions, features, and concepts described with respect to the different figures and examples in this document are interchangeable with each other and are not limited to implementations in the context of a particular figure or process. Moreover, the boxes associated with the different representative processes and corresponding figures in this document may be applied together and / or combined in different ways. Therefore, the various functions, features, and concepts described with respect to the different example environments, devices, components, figures, and processes in this document can be used in any suitable combination, and are not limited to the specific combinations represented by the examples listed in this description.

[0039] Example authentication technology

[0040] The following discussion describes authentication technologies achievable using the described system and device. Each aspect of the process is implemented in hardware, firmware, software, or a combination thereof. A process is shown as a set of boxes specifying operations that can be performed by the hardware, and is not necessarily limited to the order in which the operations are performed by the corresponding blocks as shown. For example, the boxes of the process may specify operations that can be programmed by hardware (e.g., a processor, microprocessor, controller, firmware) as instructions, thereby creating a dedicated machine for executing the algorithm as shown in the flowchart. Thus, the instructions may be stored on a computer-readable storage medium that enables the hardware to execute the algorithm.

[0041] Figure 2 A more detailed description is shown. Figure 1 System 200 is an example implementation of training machine learning model 124. Machine learning model 124 is shown as being trained using machine learning model training system 202. Machine learning model training system 202 includes training data generation module 204, which represents the functionality for generating training data and using the generated training data to train machine learning model 124.

[0042] A machine learning model (124) refers to a computer representation that can be tuned (e.g., through training and retraining) based on input to automatically and without user intervention approximate an unknown function without active user programming. Specifically, the term machine learning model includes models that learn from and predict known data by using algorithms to learn and relearn from training data to generate outputs that reflect the patterns and properties of the training data. Examples of machine learning models include neural networks, convolutional neural networks (CNNs), long short-term memory (LSTM) neural networks, generative adversarial networks (GANs), decision trees, support vector machines, linear regression, logistic regression, Bayesian networks, random forest learning, dimensionality reduction algorithms, augmentation algorithms, deep learning neural networks, and so on.

[0043] For example, machine learning model 124 can be configured using multiple layers, each with multiple nodes. These multiple layers can be configured to include an input layer, an output layer, and one or more hidden layers. Computation is performed by nodes within a layer via hidden states through a weighted connection system, which is “learned” during the training of the machine learning model to perform various tasks.

[0044] In this example, to train the machine learning model, training data is generated by training data generation module 204. Training data generation module 204 includes a positive sample generator module 206 configured to generate positive sample training data 210 and a negative sample generator module 208 configured to generate negative sample training data 212. The training data provides an example of "what the machine learning model 124 will learn," i.e., as a basis for learning patterns based on the data. For example, machine learning model training system 202 collects and preprocesses training data that includes input features and corresponding target labels, i.e., the target labels represented by the input features.

[0045] Then, the machine learning model training system 202 uses the training module 214 to initialize the parameters of the machine learning model 124. These parameters are used by the machine learning model 124 as internal variables to represent and process information during training, as well as to represent inferences obtained through training.

[0046] Then, the machine learning model 124 receives training data with positive sample training data 210 and negative sample training data 212 as input, and uses it as the basis for generating predictions based on the current state of the model's layers and corresponding node parameters. The results are output as output data. The output data describes the outcome of the task as the probability of being a member of a specific category (e.g., human) in a classification scenario.

[0047] Training the machine learning model 124 via training module 214 includes calculating a loss function 216 to quantify the loss associated with the operations performed by the nodes of the machine learning model 124. For example, calculating the loss function 216 includes comparing the difference between a prediction specified in the output data and a target label specified by the training data of positive sample training data 210 and negative sample training data 212. The loss function 216 can be configured in various ways, examples of which include regret values, quadratic loss functions as part of least squares, etc.

[0048] The computation of loss function 216 also includes using backpropagation as part of minimizing loss function 216 to train the parameters of machine learning model 124. For example, minimizing loss function 216 includes adjusting the weights of nodes to minimize the loss, thereby optimizing the performance of machine learning model 124 when performing a specific task. This adjustment is determined by computing the gradient of loss function 216, which indicates the direction for adjusting the parameters to minimize the loss. The parameters of machine learning model 124 are then updated based on the computed gradient.

[0049] In this example, the process continues over multiple iterations until a stopping criterion is met. In this example, training module 214 employs a stopping criterion to reduce overfitting of machine learning model 124, reduce computational resource consumption, and improve the ability of machine learning model 124 to address previously unseen data (i.e., data not specifically included as examples in the training data). Examples of stopping criteria include, but are not limited to, a predefined number of epochs, verifying loss stability, reaching a performance improvement threshold, or based on performance metrics such as precision and recall.

[0050] The configuration of the training data can be used to support various use cases. In one example, the training data, as described above, includes positive sample training data 210 and negative sample training data 212. In the example of training the machine learning model 124 to recognize real faces, the positive sample training data 210 includes digital images of captured real faces. On the other hand, the negative sample training data 212 includes, for example, fake or “deceptive” faces generated using generative artificial intelligence, as examples received by the authentication service 116 that have already been marked as fake by a human operator, etc.

[0051] The machine learning model 124, once trained, can be used to output the probability that a received digital image, as part of the validation input data 128, corresponds to a "real" human. Other examples are also envisioned, such as capturing audio data. Figure 3 Example implementation 300 of pseudocode that can be used to train machine learning models is described.

[0052] Machine learning model 124 can also be trained to support various other recognition and verification functions, such as recognizing the execution of a specific action (e.g., a specific action among multiple actions as a set model), comparing digital images to determine whether faces captured digitally correspond to each other, etc., as further described in the examples below.

[0053] Figure 4 A system 400 in an example embodiment is depicted, wherein a prompting module 118 outputs a prompt, and an action recognition module 120 responds to the prompt to verify input data for authentication via an authentication service 116. For example, the prompting module 118 is configured to randomly select a verification prompt 126 from a plurality of prompts 402 held in storage device 404. The verification prompt 126 is output by a communication module 108 and displayed in a user interface.

[0054] Then, sensor 130 is used to capture the action performed by the user in response to verification prompt 126, which is transmitted back to action recognition module 120 as verification input data 128. Action recognition module 120 then determines whether the action performed in verification input data 128 corresponds to the action specified by verification prompt 126. Actions can be configured in various ways, such as regarding... Figure 5 The described movement, about Figure 8 The gestures described, etc.

[0055] Figure 5 System 500 in an example implementation is depicted, wherein prompting module 118 and action recognition module 120 utilize motion as part of an action to be performed for authentication by authentication service 116. As part of authentication in this example, authentication service 116 is configured to determine whether the user responds with an action corresponding to the action requested by prompting module 118.

[0056] For example, the prompting module 118 includes a plurality of prompts 502 stored in storage device 504. The plurality of prompts 502 define actions performed by the user as motion prompts 506 transmitted to client device 104 as part of verification prompt 126. The action recognition module 120 then processes the verification input data 128, including motion response 508, to determine whether the action performed by the user corresponds to the motion prompt 506 and the associated action specified by verification prompt 126.

[0057] In this scenario, motion cues 506 specify actions to be performed using the user's head movements, such as looking up, looking down, looking left, looking right, etc. The cues module 118 is configured to randomly select a motion cue 506 from cues 502 stored in a storage device, which is then transmitted via network 106 to the client device 104 as part of a verification cue 506. The communication module 108 at the client device 104 is then configured to present the motion cue 506 in the user interface.

[0058] In response, the user is assigned to perform a specified action, the recording of which is used to generate a motion response 508 as part of the verification input data 128. For example, a dot grid is generated on the user's face using a light emitting device 136 (e.g., using infrared wavelengths). Then, an image capturing device 132 captures a digital image stream including the dots as part of a depth estimation to uniquely identify the user and their subsequent movements, which are included as part of the motion response 508 of the verification input data 128.

[0059] Figure 6An example implementation 600 is depicted, showing the output of a verification prompt 126 with motion cues 506 and the generation of a motion response 508 as part of verification input data 128. This example implementation is illustrated using a first phase 602 and a second phase 604 depicting the presentation of the verification prompt 126 in the user interface.

[0060] At the first stage 602, the verification prompt 126 includes a visual guide 606 configured to guide the alignment of a depiction of the user's head 608 in a digital image captured by the image capture device of the client device. For example, the visual guide 606 is configured to provide real-time feedback in the user interface based on one or more captured digital images of the user. In this way, the verification prompt 126 is configured to ensure that the subject of the action (e.g., the user's head) is positioned within the view as part of a digital image captured by the image capture device 132 of the client device 104. The verification prompt 126 also includes text 610 describing the action to be performed, i.e., a motion prompt 506, in this example, text 610 specifying that the user will "look to their left".

[0061] At the second stage 602, the verification prompt 126 includes an output representing a timer indicating the amount of time available to capture digital images of the user performing an action; examples include a text countdown 612 and a graphic countdown 614. The timer is used to limit the amount of time that can be captured of the verification input data 128, which helps prevent harm from malicious parties, for example, by providing multiple movements using recorded digital video and attempting to “match” a single movement.

[0062] The user interface at the second stage 604 also provides real-time output of digital images as feedback to the user about the actions performed. Then, the communication module 108 uses the sensor 130 (e.g., image capture device 132) to generate verification input data 128, which is used as the basis for authentication by the action recognition module 120. Figure 7 An example implementation 700 of pseudocode is described, which can be used to implement action recognition via action recognition module 120. For example, action recognition module 120 can be configured to use object detection, machine learning performed by machine learning model 124, etc., to determine whether motion response 508 corresponds to the action specified by motion cue 506. Based on this determination, authentication service 116 can be used to control resource access, such as verifying user identity, verifying that the user is human, uploading documents, etc.

[0063] Figure 8System 800 in an example implementation is depicted, where prompting module 118 and action recognition module 120 utilize gestures as part of authentication by authentication service 116. In this example, as part of authentication, authentication service 116 is configured to determine whether the user responds with a gesture corresponding to the execution of a gesture requested by prompting module 118.

[0064] For example, the prompting module 118 includes a plurality of prompts 502 held in storage device 504 as previously described. The plurality of prompts 502 define gestures performed by the user as gesture prompts 802 transmitted to client device 104 as part of verification prompt 126. The action recognition module 120 then processes the verification input data 128, including gesture response 804, to determine whether the gesture performed by the user corresponds to gesture prompt 802.

[0065] In this scenario, gesture prompt 802 specifies an action performed using the user's head movements, such as looking up, looking down, looking left, looking right, etc. Prompt module 118 is configured to randomly select gesture prompt 802 from prompts 502 stored in a storage device, which is transmitted to client device 104 via network 106 as part of verification prompt 506. Communication module 108 at client device 104 is then configured to present gesture prompt 802 in the user interface.

[0066] In response, the user is assigned to perform a specified gesture, the record of which is used to generate a gesture response 804 as part of the verification input data 128. For example, the client device 104 may use a sensor 130 (e.g., an image capture device 132, a touchscreen input, a touchpad function, etc.), a light emitter device 136, etc. (e.g., using multiple digital images as digital video streaming) to capture the execution of the gesture. The motion recognition module 120 then uses this to determine whether the gesture response 804 corresponds to the gesture prompt 802, for example, to determine whether the gesture was performed by the user.

[0067] Figure 9 An example implementation 900 is depicted, showing the output of a verification prompt 126 with gesture prompts and the generation of gesture responses as part of verification input data 128. This example implementation is illustrated using a first phase 902 and a second phase 904 depicting the presentation of the verification prompt 126 in the user interface.

[0068] At the first stage 902, the verification prompt 126 includes a graphic depiction 906 of a hand, as an illustration of a gesture to be performed as part of an action, such as raising a single finger and thumb in the illustrated example. The verification prompt 126 also includes a textual description 908 of the gesture. Other examples are also envisioned, including audio output describing the gesture.

[0069] The verification prompt 126 also includes a visual guide 910 to guide the placement of the user's hand (e.g., depicted as a boundary indicating which hand to use) relative to the image capture device 132, which does so using real-time feedback through the output of multiple images.

[0070] At the second stage 902, the verification prompt 126 includes an output representing a timer indicating the amount of time available to capture digital images of the user performing an action; examples include a text countdown 912 and a graphic countdown 914. The timer limits the amount of time that can be captured of the verification input data 128, which helps prevent harm from malicious parties, for example, by providing multiple movements using recorded digital video and attempting to “match” a single movement.

[0071] like Figure 6 The user interface provides a real-time output of digital images as feedback to the user regarding the gesture 916 performed. The communication module 108 then utilizes the sensor 130 to generate verification input data 128, which serves as the basis for authentication by the motion recognition module 120. Figure 10 and Figure 11 Example implementations 1000 and 1100 of pseudocode for gesture recognition via the action recognition module 120 are described. For example, the action recognition module 120 can be configured to use object detection, machine learning performed by the machine learning model 124, etc., to determine whether the gesture response 804 corresponds to the gesture specified by the gesture prompt 802. Based on this determination, the authentication service 116 can also be used to control resource access, such as verifying the user's identity, verifying that the user is human, and uploading identification documents.

[0072] Figure 12 A more detailed description is shown. Figure 1 An example implementation 1200 of the operation of the ID verification module 122 is provided. The ID verification module 122 is configured to communicate with the verification application programming interface (shown as verification API 1202) of the verification system 1204. Verification includes a storage device 1206, which is configured to maintain identification documents associated with the user, such as resident ID cards, employee ID cards, driver's licenses, passports, etc. Identification documents 1208 can be used by the ID verification module 122 to verify the user's identity in various ways.

[0073] In a first instance, communication module 108 generates verification input data 128 to include the user's name 1212 (e.g., legal name) and a digital image 1214 of the user captured by image capture device 132. For example, communication module 108 captures digital image 1214 at points in time during a communication session with the user, at which point the user is unaware that the digital image has been captured. Alternatively, communication module 108 may make the user aware that the digital image will be captured and obtain permission for such capture, then capture the image at random points in time during the communication session to prevent harm from malicious parties. Verification system 1204 (e.g., using resident identity card data) determines whether digital image 1214 depicts the user corresponding to user name 1212 and returns the result of that determination.

[0074] In the second example, as previously described, the ID verification module 122 makes a query to the verification API 1202 including the user's name 1212. However, in this example, the verification system 1204 returns a digital image 1210 of the user, for example, based on a passport, driver's license, employee ID, etc. The digital image 1210 from the verification system 1204 is then compared with a captured digital image 1214 of the user, which is part of the verification input data 128, to determine whether the user is valid by the authentication service 116 itself. In this way, the authentication service 116 provides an additional level of protection against harm from malicious parties.

[0075] Figure 13 An additional example implementation 1300 is depicted, illustrating the use of authentication as part of controlling access to resources configured as electronic messages. In this example, a gesture 1302 is selected from a plurality of prompts 302 to control access to the body 1304 of an email message 1306 to be sent to a user. Thus, in this example, upon receiving a message, a verification prompt 126 for the gesture is output to the user interface. The generated verification input data 128 is evaluated by executing an authentication service 116, for example, by executing executable instructions included as part of the message, by communicating with a service provider system 102 via network 106, etc. In this way, access to computing resources as digital messages (e.g., email, direct messages, etc.) is controlled by the message sender using the techniques described herein.

[0076] Figure 14This is a flowchart illustrating a step-by-step process in an example implementation of algorithm 1400 as an executable operation used to complete the authentication result. The example begins by receiving a request for resource access (box 1402), such as accessing digital service 112, client device 104, a specific communication module 108 (e.g., an application), verifying whether a user is human as part of a document upload, etc.

[0077] Verification prompt 126 is selected from multiple verification prompts (e.g., prompt 302) (box 1404). For example, prompt module 118 selects verification prompt 126 from multiple prompts 302 as an example of motion prompts, gesture prompts, and other types of prompts. Verification input data 128 is received at authentication service 116 in response to verification prompt 126 (box 1406).

[0078] Then, authentication service 116 determines whether the authentication input data 128 is valid (box 1408). In the first example, action recognition module 120 compares actions depicted as being performed by the user in the authentication input data to determine whether the action corresponds to the action specified by the selected authentication prompt (box 1410). In the second example, a machine learning model (e.g., such as...) is used. Figure 2 The described trained machine learning model 124 determines the probability that a user depicted in the verification input data corresponds to a human (box 1412). In a third example, the ID verification module 122 compares the depiction of the user's face captured by the verification input data 128 with a digital image of the user obtained via the network through the verification system (box 1414). Based on the determined result, resource access is controlled by the authentication service 116 (box 1416). Various other examples are also envisioned.

[0079] Example systems and devices

[0080] Figure 15 An example system including example computing device 1502 is generally shown at 1500, which represents one or more computing systems and / or devices implementing the various technologies described herein. This is illustrated by including authentication service 116. Computing device 1502 may be configured as, for example, a server of a service provider, a device associated with a client (e.g., a client device), a system-on-a-chip, and / or any other suitable computing device or computing system.

[0081] The example computing device 1502 shown includes a processing device 1504 communicatively coupled to each other, one or more computer-readable media 1506, and one or more I / O interfaces 1508. Although not shown, the computing device 1502 also includes a system bus or other data and command transmission system that couples the various components to each other. The system bus may include any or a combination of different bus architectures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and / or a processor or local bus utilizing any of the various bus architectures. Various other examples are also contemplated, such as control lines and data lines.

[0082] Processing device 1504 represents a function that performs one or more operations using hardware. Therefore, processing device 1504 is shown as including hardware elements 1510 that can be configured as processors, function blocks, etc. This includes hardware implementations as application-specific integrated circuits (ASICs) or other logic devices formed using one or more semiconductors. Hardware elements 1510 are not limited by the materials forming them or the processing mechanisms employed therein. For example, a processor can be configured as a semiconductor and / or transistor (e.g., an electronic integrated circuit (IC)). In such a context, processor-executable instructions are electronically executable instructions.

[0083] Computer-readable storage medium 1506 is shown as including a memory / storage device 1512 storing instructions executable to cause processing device 1504 to perform operations. The memory / storage device 1512 represents a memory / storage capacity associated with one or more computer-readable media. The memory / storage device 1512 includes volatile media (e.g., random access memory (RAM)) and / or non-volatile media (e.g., read-only memory (ROM), flash memory, optical disk, magnetic disk, etc.). The memory / storage device 1512 includes fixed media (e.g., RAM, ROM, fixed hard disk drive, etc.) and removable media (e.g., flash memory, removable hard disk drive, optical disk, etc.). The computer-readable medium 1506 may be configured in various other ways as further described below.

[0084] Input / output interface 1508 enables a user to input commands and information into computing device 1502, and also enables the presentation of information to the user and / or other components or devices using various input / output devices. Examples of input devices include a keyboard, cursor control devices (e.g., a mouse), a microphone, a scanner, touch functionality (e.g., capacitive or other sensors configured to detect physical touch), a camera device (e.g., employing visible or invisible wavelengths such as infrared frequencies to recognize motion as non-touch gestures), etc. Examples of output devices include display devices (e.g., a monitor or projector), speakers, printers, network interface cards (NICs), haptic-responsive devices, etc. Therefore, computing device 1502 can be configured to support user interaction in various ways as further described below.

[0085] This paper describes various technologies within the general context of software, hardware components, or program modules. Typically, such modules include routines, programs, objects, components, parts, data structures, etc., that perform specific tasks or implement specific abstract data types. The terms “module,” “function,” and “part” as used herein generally refer to software, firmware, hardware, or a combination thereof. The technologies described herein are platform-independent, meaning they can be configured on a wide range of commercial computing platforms with various processors.

[0086] The described modules and technologies are implemented on or transmitted via a computer-readable medium of some kind. This computer-readable medium includes various media accessed by the computing device 1502. By way of example, and not limitation, the computer-readable medium includes both "computer-readable storage media" and "computer-readable signal media".

[0087] "Computer-readable storage medium" means a medium and / or device capable of persistently and / or non-transitory storing information (e.g., storing instructions executable by a processing device) compared to mere signal transmission, carrier waves, or signals themselves. Therefore, computer-readable storage medium refers to a non-signal-bearing medium. Computer-readable storage media include hardware, such as volatile and non-volatile, movable and non-movable media, and / or storage devices implemented with methods or techniques suitable for storing information such as computer-readable instructions, data structures, program modules, logic elements / circuits, or other data. Examples of computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical storage devices, hard disks, magnetic tape cassettes, magnetic tapes, disk storage devices or other magnetic storage devices, or other storage devices, tangible media, or articles of art suitable for storing desired information and accessible by a computer.

[0088] "Computer-readable signal medium" refers to a signal-bearing medium configured to transmit instructions, for example, via a network, to the hardware of computing device 1502. Signal media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals, such as carrier waves, data signals, or other transmission mechanisms. Signal media also includes any information delivery medium. The term "modulated data signal" means a signal whose characteristics are set or altered in a manner that encodes information in the signal. By way of example and not limitation, communication media include wired media such as wired networks or direct wired connections, and wireless media such as acoustic, RF, infrared, and other wireless media.

[0089] As previously described, hardware element 1510 and computer-readable medium 1506 represent, in some embodiments, modules, programmable device logic, and / or fixed device logic implemented in hardware form and used to implement at least some aspects of the techniques described herein, such as executing one or more instructions. The hardware includes components of integrated circuits or systems-on-a-chip, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), and other implementations in silicon or other hardware. In this context, the hardware operates as a processing device for executing program tasks defined by instructions and / or logic embodied in the hardware, and as hardware for storing instructions for execution (e.g., the previously described computer-readable storage medium).

[0090] The foregoing combinations are also used to implement the various techniques described herein. Thus, software, hardware, or executable modules are implemented as one or more instructions and / or logic implemented on some form of computer-readable storage medium and / or by one or more hardware elements 1510. Computing device 1502 is configured to implement specific instructions and / or functions corresponding to the software and / or hardware modules. Therefore, the implementation of modules executable by computing device 1502 as software is at least partially implemented in hardware, for example, by using computer-readable storage media and / or hardware elements 1510 of processing device 1504. Instructions and / or functions may be executed / operated by one or more articles of art (e.g., one or more computing devices 1502 and / or processing devices 1504) to implement the techniques, modules, and examples described herein.

[0091] The techniques described herein are supported by various configurations of computing device 1502 and are not limited to specific examples of the techniques described herein. This functionality can also be implemented, in whole or in part, through a distributed system, such as via platform 1516 through “cloud” 1514, as described below.

[0092] Cloud 1514 includes and / or represents platform 1516 for resource 1518. Platform 1516 abstracts the basic functionality of the hardware (e.g., server) and software resources of cloud 1514. Resource 1518 includes applications and / or data that can be utilized when computer processing is performed on a server located remotely from computing device 1502. Resource 1518 may also include services provided via the Internet and / or via a subscription network such as a cellular network or Wi-Fi network.

[0093] Platform 1516 abstracts resources and functions to connect computing device 1502 to other computing devices. Platform 1516 also abstracts resource scaling to provide a corresponding level of scaling to any encountered demand for resources 1518 implemented via platform 1516. Therefore, in an interconnect device implementation, the implementation of the functions described herein can be distributed throughout system 1500. For example, functions can be implemented partially on computing device 1502 and via platform 1516, which abstracts the functions of cloud 1514.

[0094] In its implementation, platform 1516 employs a "machine learning model" configured to implement the techniques described herein. A machine learning model refers to a computer representation that can be adjusted (e.g., trained and retrained) based on input to approximate unknown functionality. Specifically, the term machine learning model can include models that learn from and predict known data by utilizing algorithms to learn and relearn from training data to generate outputs that reflect patterns and attributes of the training data. Examples of machine learning models include neural networks, convolutional neural networks (CNNs), long short-term memory (LSTM) neural networks, decision trees, and the like.

[0095] Although the invention has been described in language specific to structural features and / or methodological actions, it should be understood that the invention as defined in the appended claims is not necessarily limited to the specific features or actions described. Rather, these specific features and actions are disclosed as exemplary forms for implementing the claimed invention.

Claims

1. A method comprising: The processing device selects a verification prompt from multiple verification prompts; The processing device receives verification input data in response to the verification prompt; The processing device determines whether the verification input data is valid, and the determination includes: Confirm whether the action depicted as being performed by the user in the verification input data corresponds to the action specified by the selected verification prompt; and Using a machine learning model, the likelihood that the user depicted in the validation input data corresponds to a human being is confirmed; and The processing device controls resource access based on the determined result.

2. The method according to claim 1, wherein, The verification prompt specifies a motion prompt to be executed using the user's head movements.

3. The method according to claim 1, wherein, The verification prompt specifies a motion prompt to be performed using the user's hand movements.

4. The method according to claim 3, wherein, The hand movements involve gestures.

5. The method according to claim 1, wherein, The verification prompt is configured to be displayed in the user interface on the client device associated with the user.

6. The method according to claim 5, wherein, The verification prompt includes visual guidance configured to guide the alignment of the user's depiction in a digital image captured by the image capture device of the client device.

7. The method according to claim 5, wherein, The verification prompts include visual guidance configured to provide real-time feedback in the user interface based on one or more digital images captured by the user.

8. The method according to claim 5, wherein, The verification prompt includes the output of a timer representation indicating the amount of time available to capture a digital image of the user while performing the action.

9. The method according to claim 5, wherein, The verification prompt includes a graphical depiction of the action to be performed.

10. The method according to claim 9, wherein, The graphic depiction illustrates the hand as a gesture to be performed as part of the action.

11. The method according to claim 5, wherein, The verification prompt includes visual guidance configured to guide the alignment of a depiction of the user's hand in a digital image captured by the image capture device of the client device.

12. The method according to claim 1, wherein, The determination includes comparing a depiction of the user's face captured by the verification input data with a digital image of the user obtained via a network through the verification system.

13. The method according to claim 12, wherein, The digital image is included as part of a passport or driver's license.

14. The method according to claim 1, wherein, The machine learning model is trained using positive sample training data with real user profiles and negative sample training data with fake user profiles.

15. The method according to claim 14, wherein, Generative artificial intelligence is used to generate the fake user profiles, which are implemented using machine learning.

16. One or more computer-readable storage media storing instructions that, in response to execution by a processing device, cause the processing device to perform operations, the operations including: Choose a verification prompt from multiple options; Receive verification input data in response to the verification prompt; Resource access is controlled by determining whether the verification input data is valid; the determination includes: Confirm whether the action described in the verification input data as being performed by the user corresponds to the action specified by the selected verification prompt; as well as A machine learning model is used to determine the likelihood that the user depicted in the validation input data corresponds to a human.

17. One or more computer-readable storage media according to claim 16, wherein, The action refers to the movement of the user's hand or the user's head.

18. A computing device, comprising: Image capture device; Processing equipment; as well as A computer-readable storage medium storing instructions that, in response to execution by the processing device, cause the processing device to perform operations, the operations including: Display a verification prompt in the user interface, the verification prompt specifying the action to be performed by the user; The user interface displays in real time multiple digital images captured by the image capture device, the multiple digital images depicting the user; and In response to the determination that the user is portrayed as performing the action based on the multiple digital images produced, access to the resources is granted.

19. The computing device according to claim 18, wherein, The action refers to the movement of the user's hand or the user's head.

20. The computing device according to claim 18, wherein, The determination includes comparing a depiction of the user's face in a digital image captured by the image capture device at an unindicated time point in the user interface with a digital image obtained from a verification system.