IP Library Granted Patent US 10,484,367
Granted Patent B1
US 10,484,367 · App. 16/433,264 · Granted Nov 19, 2019

Utilizing natural language processing to automatically perform multi-factor authentication

Inventors: Vu Nguyen (Pittsburg, CA); Abdelkadar M'Hamed Benkreira (Washington, DC); David Gabriele (New York, NY); Jonatan Yucra Rodriguez (San Francisco, CA); Joshua Edwards (Philadelphia, PA); Adam Vukich (Alexandria, VA)
Assignee: Capital One Services, LLC
H04L63/0838G06F3/04817G06F17/2705H04L51/22H04L63/102
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,484,367
App. No.
16/433,264
Granted
Nov 19, 2019
Kind
B1
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 (101)

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.

2. 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.

3. 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.

4. 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.

5. 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.

6. 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.

7. 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.

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.

9. 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.

10. 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.

11. 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.

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

13. 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.

14. 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.

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.

16. 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.

17. 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.

18. 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.

19. 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.

20. 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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2019
From: NGUYEN, VU; BENKREIRA, ABDELKADAR M'HAMED; GABRIELE, DAVID; YUCRA RODRIGUEZ, JONATAN; EDWARDS, JOSHUA; VUKICH, ADAM
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 049394/0267 →
Cited By (2)
US 12,229,301 US 12,242,800