# US 10,484,367 B1 · Utilizing natural language processing to automatically perform multi-factor authentication

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,484,367 B1
- Document ID: US10484367B1
- Status: Granted
- Kind: B1
- Application number: 16/433,264
- Filed: 2019-06-06
- Granted: 2019-11-19
- Earliest claimed: 2019-06-06
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Vu Nguyen; Abdelkadar M'Hamed Benkreira; David Gabriele; Jonatan Yucra Rodriguez; Joshua Edwards; Adam Vukich
- Web page: https://patentgrep.com/patent/US10484367B1

## CPC

- G06F 40/20: Natural language analysis (semantic analysis of natural language G06F40/30)
- G06F 3/04817: using icons (graphical or visual programming using iconic symbols G06F8/34)
- G06F 21/31: User authentication
- G06F 40/205: Parsing
- H04L 51/42: Mailbox-related aspects, e.g. synchronisation of mailboxes
- H04L 63/0838: {using one-time-passwords}
- H04L 63/102: {Entity profiles}
- H04L 2463/082: applying multi-factor authentication
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A device attempts to access a resource that requires a multi-factor authentication (MFA), and receives, from an MFA server device, a challenge form. The device performs natural language processing on the challenge form to determine a first location of an input for a security code and a second location of a verify button. The device provides, to an email server device, a request to access emails associated with a user of the device, and receives access to multiple emails associated with the user. The device processes the multiple emails to identify an MFA email in the multiple emails, and identifies a security code in the MFA email. The device provides the security code at the first location, and selects the verify button at the second location. The device provides the security code to the MFA server device, and receives information indicating whether the device is authenticated.

## Claims

### Claim 1

A method, comprising:
receiving, by a device and from a multi-factor authentication server device, a multi-factor authentication challenge form, based on an attempt to access a resource;
performing, by the device and via a browser extension, natural language processing on the multi-factor authentication challenge form to determine:
a first location, in the multi-factor authentication challenge form, of an input for a security code, and
a second location, in the multi-factor authentication challenge form, of a verify button;
providing, by the device, via the browser extension, and to an email server device, a request to access emails associated with a user of the device;
receiving, by the device, from the email server device, and based on the request, access to a plurality of emails associated with the user of the device;
processing, by the device and via the browser extension, the plurality of emails to identify a multi-factor authentication email in the plurality of emails,
wherein the multi-factor authentication email is generated by the multi-factor authentication server device and includes the security code;
performing, by the device, natural language processing on the multi-factor authentication email to identify the security code in the multi-factor authentication email;
providing, by the device and via the browser extension, the security code at the first location in the multi-factor authentication challenge form;
selecting, by the device and via the browser extension, the verify button at the second location in the multi-factor authentication challenge form;
providing, by the device, the security code to the multi-factor authentication server device based on selecting the verify button; and
receiving, by the device, information indicating whether the device is authenticated for accessing the resource.

### Claim 2 (depends on 1)

The method of claim 1, wherein, when the information indicating whether the device is authenticated for accessing the resource indicates that the device is authenticated for accessing the resource, the method further comprises:
accessing the resource.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
providing, to the multi-factor authentication server device, information indicating that the device is attempting to access the resource,
wherein receiving the multi-factor authentication challenge form comprises:
receiving the multi-factor authentication challenge form based on providing the information indicating that the device is attempting to access the resource.

### Claim 4 (depends on 1)

The method of claim 1, wherein, when the information indicating whether the device is authenticated for accessing the resource indicates that the device is not authenticated for accessing the resource, the method further comprises:
receiving information indicating that the device is not authenticated for accessing the resource; and
receiving information indicating that the multi-factor authentication is to be reperformed.

### Claim 5 (depends on 1)

The method of claim 1, wherein receiving the plurality of emails associated with the user of the device comprises:
causing an email application of the device to execute; and
receiving the plurality of emails associated with the user via the email application.

### Claim 6 (depends on 1)

The method of claim 1, wherein processing the plurality of emails to identify the multi-factor authentication email in the plurality of emails, comprises:
determining a time period after the multi-factor authentication has been invoked;
identifying a set of the plurality of emails based on the time period; and
identifying the multi-factor authentication email in the set of the plurality of emails.

### Claim 7 (depends on 1)

The method of claim 1, wherein processing the plurality of emails to identify the multi-factor authentication email in the plurality of emails comprises:
searching for a domain name associated with the multi-factor authentication server device in the plurality of emails; and
identifying the multi-factor authentication email in the plurality of emails based on the domain name.

### Claim 8

A device, comprising:
one or more memories; and
one or more processors, communicatively coupled to the one or more memories, configured to execute instructions to:
attempt to perform an action that requires a multi-factor authentication (MFA);
perform natural language processing on an MFA challenge form, received from an MFA server device based on attempting to perform the action, to determine:
a first location, in the MFA challenge form, of an input for a security code, and
a second location, in the MFA challenge form, of a verify selection mechanism;
execute a browser extension based on receiving the MFA challenge form;
provide, to an email server device, a request to access emails associated with a user of the device;
receive, from the email server device and based on the request, access to a plurality of emails associated with the user of the device;
process, via the browser extension, the plurality of emails to identify an MFA email in the plurality of emails,
wherein the MFA email is generated by the MFA server device and includes the security code;
perform natural language processing on the MFA email to identify the security code in the MFA email;
provide, via the browser extension, the security code at the first location in the MFA challenge form;
select, via the browser extension, the verify selection mechanism at the second location in the MFA challenge form;
provide the security code to the MFA server device based on selecting the verify selection mechanism; and
enabling the device to perform the action when the device is authenticated to perform the action.

### Claim 9 (depends on 8)

The device of claim 8, wherein the one or more processors, when processing the plurality of emails to identify the MFA email in the plurality of emails, are configured to:
determine a time period after receiving the MFA challenge form;
identify a set of the plurality of emails based on the time period; and
identify the MFA email in the set of the plurality of emails.

### Claim 10 (depends on 8)

The device of claim 8, wherein the one or more processors, when processing the plurality of emails to identify the MFA email in the plurality of emails, are configured to:
identify an email application executed by the device;
select a template, from a plurality of templates, based on the email application; and
process, the plurality of emails, with the template selected from the plurality of templates, to identify the MFA email in the plurality of emails.

### Claim 11 (depends on 8)

The device of claim 8, wherein the one or more processors, when performing the natural language processing on the MFA email to identify the security code in the MFA email, are configured to:
parse the MFA email to determine parsed portions of the MFA email; and
perform the natural language processing on the parsed portions of the MFA email to identify the security code in one of the parsed portions of the MFA email.

### Claim 12 (depends on 8)

The device of claim 8, wherein the browser extension includes scripts that are executed by the device.

### Claim 13 (depends on 8)

The device of claim 8, wherein the one or more processors, when providing the security code at the first location in the MFA challenge form, are configured to:
utilize the browser extension to broadcast the security code to the first location in the MFA challenge form.

### Claim 14 (depends on 8)

The device of claim 8, wherein the one or more processors are further configured to:
provide, to the MFA server device, information indicating that the device is attempting to perform the action,
wherein the one or more processors, when receiving the MFA challenge form, are to:
receive the MFA challenge form based on providing the information indicating that the device is attempting to perform the action.

### Claim 15

A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors of a user device, cause the one or more processors to:
attempt to perform an action that requires a multi-factor authentication (MFA);
perform natural language processing on an MFA challenge form, received from a merchant server device based on attempting to perform the action, to determine:
a first location, in the MFA challenge form, of an input for a security code, and
a second location, in the MFA challenge form, of a verify button;
initiate a request to an email server device for a plurality of emails associated with a user of the user device,
wherein the request enables access to an email account associated with the user and triggers processing of the plurality of emails to identify an MFA email including the security code;
access the security code identified in the MFA email;
provide the security code at the first location in the MFA challenge form;
select the verify button at the second location in the MFA challenge form;
provide the security code to the merchant server device based on selecting the verify button; and
perform the action at the merchant server device.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the instructions further comprise:
one or more instructions that, when executed by the one or more processors, cause the one or more processors to:
cause an email application of the user device to execute; and
receive the plurality of emails associated with the user via the email application.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions, that cause the one or more processors to identify the security code in the MFA email, cause the one or more processors to:
search for a domain name associated with the merchant server device in the plurality of emails; and
identify the MFA email in the plurality of emails based on the domain name.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the instructions further comprise:
one or more instructions that, when executed by the one or more processors, cause the one or more processors to:
determine a time period after attempting to perform the action;
identify a set of the plurality of emails based on the time period; and
identify the MFA email in the set of the plurality of emails.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the instructions further comprise:
one or more instructions that, when executed by the one or more processors, cause the one or more processors to:
identify an email application executed by the user device;
select a template, from a plurality of templates, based on the email application; and
process the plurality of emails, with the template selected from the plurality of templates, to identify the MFA email in the plurality of emails.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions, that cause the one or more processors to identify the security code in the MFA email, cause the one or more processors to:
parse the MFA email to determine parsed portions of the MFA email; and
perform natural language processing on the parsed portions of the MFA email to identify the security code in one of the parsed portions of the MFA email.
