# US 10,311,223 B2 · Virtual reality dynamic authentication

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

- Number: US 10,311,223 B2
- Document ID: US10311223B2
- Status: Granted
- Kind: B2
- Application number: 15/367,590
- Filed: 2016-12-02
- Published: 2018-06-07
- Granted: 2019-06-04
- Earliest claimed: 2016-12-02
- Assignees: Bank of America Corporation
- Applicants: Bank of America Corporation
- Inventors: Amanda J. Adams; Joseph N. Johansen; Michael Ogrinz; Heather Dolan; William P. Jacobson; Manu J. Kurian
- Web page: https://patentgrep.com/patent/US10311223B2

## CPC

- G06F 21/36: by graphic or iconic representation
- G06F 3/011: {Arrangements for interaction with the human body, e.g. for user immersion in virtual reality (blind teaching G09B21/00)}
- G06F 3/017: {Gesture based interaction, e.g. based on a set of recognized hand gestures (interaction based on gestures traced on a digitiser G06F3/04883)}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06T 11/60: Creating or editing images; Combining images with text
- G06V 20/20: in augmented reality scenes
- G06V 40/70: Multimodal biometrics, e.g. combining information from different biometric modalities
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

A system for performing authorization of a user in a virtual reality environment includes a virtual reality user device. The virtual reality user device includes a display configured to display a virtual environment. The user device receives a virtual authentication object comprising a virtual representation of an object that the user can manipulate to enter an authentication code. The user device detects gestures performed by the user on the displayed virtual authentication object and forms an authentication request, which includes the virtual authentication object, the detected gestures; and an identifier of the user. The user device sends the authentication request to an authentication server. The authentication server determines an authentication code using the virtual authentication object and the detected gestures. The authentication server authenticates the user by comparing the determined authentication code with an authentication code stored in a database and sends an authentication response to the user device.

## Claims

### Claim 1

A system for performing authorization of a user in a virtual reality environment, the system comprising:
a virtual reality user device and an authentication server;
the virtual reality user device comprising:
a display configured to display a virtual environment to a user;
a memory; and
one or more processors coupled to the memory and the display, the one or more processors operable to:
receive a virtual authentication object, wherein:
the virtual authentication object comprises a set of virtual blocks;
each virtual block comprises a plurality of faces; and
each virtual block comprises a label disposed on one or more faces of the virtual block;
display the virtual authentication object to the user via the display;
detect gestures performed by the user on the displayed virtual authentication object, wherein:
the detected gestures comprise:
rotating one or more virtual blocks to modify the faces of the one or more virtual blocks that are visible; and
arranging the visible faces of the virtual blocks in a particular order to enter the authentication code;
form an authentication request, the authentication request comprising:
the virtual authentication object;
the detected gestures; and
an identifier of the user;
send the authentication request to the authentication server; and
receive an authentication response from the authentication server;
the authentication server comprising:
a memory operable to store a database, the database comprising one or more records associating a user identifier with an authentication code; and
one or more processors coupled to the memory, the one or more processors operable to:
receive the authentication request from the virtual reality user device;
determine, using the virtual authentication object and the detected one or more gestures from the authentication request, the authentication code;
identify an authentication code associated with the user identifier from the authentication request by matching the user identifier with a database record for the user identifier;
compare the determined authentication code with the authentication code associated with the user identifier in the identified database record to authorize the user; and
send an authentication response to the virtual reality user device.

### Claim 2 (depends on 1)

The system of claim 1, wherein:
the one or more processors of the authentication server are further operable to send the virtual authentication object to the virtual reality user device; and
the one or more processors of the virtual reality user device are operable to receive the virtual authentication object from the authentication server.

### Claim 3 (depends on 1)

The system of claim 1, wherein the virtual authentication object comprises a virtual representation of a keypad.

### Claim 4 (depends on 1)

The system of claim 1, wherein the virtual authentication object comprises a plurality of virtual objects that are capable of being individually manipulated.

### Claim 5 (depends on 1)

The system of claim 1, wherein the detected gesture includes temporal information associated with a speed at which the user manipulated the virtual authentication object.

### Claim 6 (depends on 1)

The system of claim 1, wherein:
the virtual authentication object comprises:
a virtual object template, the virtual object template comprising a virtual representation of a structure of the virtual authentication object, the structure comprising one or more user inputs; and
a virtual object overlay, the virtual object overlay comprising an assignment of values to each of the one or more user inputs of the virtual object template; and
the one or more processors of the virtual reality user device are operable to display the virtual authentication object by displaying the virtual object template with values assigned to each of the one more user inputs according to the virtual object overlay.

### Claim 7 (depends on 6)

The system of claim 6, wherein the virtual object template comprises a keypad comprising a plurality of user input keys and the virtual object overlay comprises an assignment of an alpha-numeric characters to each of the plurality of user input keys of the keypad.

### Claim 8 (depends on 6)

The system of claim 6, wherein the virtual object template comprises a combination dial comprising a plurality of user input positions arranged around the combination dial and the virtual object overlay comprises an assignment of an alpha-numeric character to each of the plurality of user input positions of the combination dial.

### Claim 9 (depends on 1)

The system of claim 1, wherein the virtual reality user device comprises a head-mounted display.

### Claim 10

A method of performing authorization of a user in a virtual reality environment, the method comprising:
receiving, by a virtual reality user device, a virtual authentication object, wherein:
the virtual reality user device comprising:
a display configured to display a virtual environment to a user;
a memory; and
one or more processors coupled to the memory and the display;
the virtual authentication object comprises a set of virtual blocks;
each virtual block comprises a plurality of faces; and
each virtual block comprises a label disposed on one or more faces of the virtual block;
displaying the virtual authentication object to the user via the display of the virtual reality user device;
detecting gestures performed by the user on the displayed virtual authentication object, wherein:
the detected gestures comprises:
rotating one or more virtual blocks to modify the faces of the one or more virtual blocks that are visible; and
arranging the visible faces of the virtual blocks in a particular order to enter the authentication code;
forming an authentication request, the authentication request comprising:
the virtual authentication object;
the detected gestures; and
an identifier of the user;
sending the authentication request to an authentication server, the authentication server comprising:
a memory operable to store a database, the database comprising one or more records associating a user identifier with an authentication code; and
one or more processors coupled to the memory;
determining, by the authentication server, the authentication code using the virtual authentication object and the detected one or more gestures from the authentication request;
identifying an authentication code associated with the user identifier from the authentication request by matching the user identifier with a database record for the user identifier;
comparing the determined authentication code with the authentication code associated with the user identifier in the identified database record to authorize the user; and
sending an authentication response to the virtual reality user device.

### Claim 11 (depends on 10)

The method of claim 10, wherein:
the one or more processors of the authentication server are further operable to send the virtual authentication object to the virtual reality user device; and
the one or more processors of the virtual reality user device are operable to receive the virtual authentication object from the authentication server.

### Claim 12 (depends on 10)

The method of claim 10, wherein the virtual authentication object comprises a virtual representation of a keypad.

### Claim 13 (depends on 10)

The method of claim 10, wherein the virtual authentication object comprises a plurality of virtual objects that are capable of being individually manipulated.

### Claim 14 (depends on 10)

The method of claim 10, wherein detecting the gesture includes detecting temporal information associated with a speed at which the user manipulated the virtual authentication object.

### Claim 15 (depends on 10)

The method of claim 10, wherein:
the virtual authentication object comprises:
a virtual object template, the virtual object template comprising a virtual representation of a structure of the virtual authentication object, the structure comprising one or more user inputs; and
a virtual object overlay, the virtual object overlay comprising an assignment of values to each of the one or more user inputs of the virtual object template; and
displaying the virtual authentication object comprises displaying the virtual object template with values assigned to each of the one more user inputs according to the virtual object overlay.

### Claim 16 (depends on 15)

The method of claim 15, wherein the virtual object template comprises a keypad comprising a plurality of user input keys and the virtual object overlay comprises an assignment of an alpha-numeric character to each of the plurality of user input keys of the keypad.

### Claim 17 (depends on 10)

The method of claim 10, wherein the virtual reality user device comprises a head-mounted display.

### Claim 18

A system for performing authorization of a user in a virtual reality environment, the system comprising:
a virtual reality user device;
the virtual reality user device comprising:
a display configured to display a virtual environment to a user;
a memory; and
one or more processors coupled to the memory and the display, the one or more processors operable to:
receive a virtual authentication object, wherein:
the virtual authentication object comprises a set of virtual blocks:
each virtual block comprises a plurality of faces; and
each virtual block comprises a label disposed on one or more faces of the virtual block;
display the virtual authentication object to the user via the display;
detect gestures performed by the user on the displayed virtual authentication object, wherein:
the detected gestures comprise:
rotating one or more virtual blocks to modify the faces of the one or more virtual blocks that are visible; and
arranging the visible faces of the virtual blocks in a particular order to enter the authentication code;
form an authentication request, the authentication request comprising:
the virtual authentication object;
the detected gestures; and
an identifier of the user;
send the authentication request to an authentication server; and
receive an authentication response from the authentication server.

### Claim 19 (depends on 18)

The system of claim 18, wherein:
the authentication server comprises:
a memory operable to store a database, the database comprising one or more records associating a user identifier with an authentication code; and
one or more processors coupled to the memory, the one or more processors operable to:
receive the authentication request from the virtual reality user device;
determine, using the virtual authentication object and the detected one or more gestures from the authentication request, an authentication code;
identify an authentication code associated with the user identifier from the authentication request by matching the user identifier with a database record for the user identifier;
compare the determined authentication code with the identified authentication code to authorize the user; and
send an authentication response to the virtual reality user device.

### Claim 20 (depends on 18)

The system of claim 18, wherein:
the one or more processors of the authentication server are further operable to send the virtual authentication object to the virtual reality user device; and
the one or more processors of the virtual reality user device are operable to receive the virtual authentication object from the authentication server.
