IP Library Granted Patent US 11,514,153
Granted Patent B2
US 11,514,153 · App. 16/629,991 · Granted Nov 29, 2022

Method of registering and authenticating a user of an online system

Inventors: Jonathan Geoffrey Milton Craymer (Huntingdon, GB); Jon Andrew Beal (Huntingdon, GB)
Assignee: Shayype Global Limited
G06F21/45G06F21/31G06F2221/2117
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 11,514,153
App. No.
16/629,991
Granted
Nov 29, 2022
Kind
B2
Abstract

The present invention provides a method of registering a new user of an online system is disclosed. A base grid is created. The user provides a passcode that includes an indication of an ordered set of cells a grid. A grid salt, user identifying information, and a passcode identifier is generated. The passcode identifier is then split into at least three parts using a secret sharing algorithm wherein three of the parts are required to regenerate the passcode identifier. First and second parts are stored in first and second locations in an array and a third part is stored in a third location with user identifying information. The first and second parts are indexed using X-OTC and Y-OTC. A user token containing the position of the first and second parts in the array is passed to the user.

Claims (38)

1. A method of registering a new user of an online system comprising the steps of:

creating a base grid for the user, the base grid comprising a re-creatable pseudo-randomized grid that is unique to the user;

receiving and confirming an input from a user comprising a passcode, wherein the passcode comprises an indication of an ordered set of cells in a generated grid, said generated grid comprising a plurality of cells each containing a character;

generating a passcode identifier from the passcode;

generating a grid salt for the user;

generating user identifying information for the user;

splitting the passcode identifier into k parts using a secret sharing algorithm wherein:

q of the k parts are required to regenerate the passcode identifier and k≥q;

3=q;

a first part is assigned to be an X-SID and is stored in a first location in an array;

a second part is assigned to be a Y-SID and is stored in a second location in the array;

a third part is assigned to be a Z-SID and is stored in a third location; and

p of the k parts are discarded and p≥0; and wherein

a X-OTC and a Y-OTC are read from the base grid using the user's passcode;

the X-OTC is used as an index for the first part in the array and the position of the first part in the array is returned as x-delta;

the Y-OTC is used as an index for the second part in the array; and

the position of the second part in the array is returned as y-delta;

the third part is stored with the user identifying information;

a user token comprising a version, a creation date, an expiry date, the grid salt, x-delta, y-delta, and Z-SID is generated; and

the user token is encrypted and passed back to the user for storage.

2. A method according to claim 1 , wherein p≥1.

3. A method according to claim 1 , wherein the shape of the generated grid and the number of cells of the generated grid are selected by the user.

4. A method according to claim 3 , wherein the generated grid comprises at least 6×6 cells.

5. A method of authenticating a user of an online system that has registered using the method of claim 1 , the method comprising the steps of:

generating a challenge code for the user;

generating a generated grid for the user having a pseudo-random character at each cell generated from the challenge code;

receiving an input from the user comprising an indication of their passcode, being an ordered set of cells in the generated grid, a credential, and their user token;

decrypting the user token and generating the user's base grid from the decrypted user token;

obtaining x-delta, y-delta, Z-SID and the grid salt for the user from the decrypted user token;

regenerating the generated grid presented to the user from the grid salt; and

identifying all the possible passcodes in the generated grid from the indication of the passcode received from the user;

i) retrieving an X-SID and a Y-SID of a passcode identifier from the array for the one of the possible passcodes using the x-delta and y-delta;

ii) regenerating a passcode identifier associated with the user from the X-SID, Y-SID, and Z-SID using the secret sharing algorithm; and

iii) authenticating the user if the regenerated passcode identifier matches the passcode identifier generated from the input;

iv) repeating steps (i) to (iii) for a subsequent one of the possible passcodes if the regenerated passcode identifier does not match the passcode identifier generated from the input;

v) denying authentication of the user if the regenerated passcode identifier does not match the passcode identifier generated from the input for any of the possible passcodes.

6. A method according to claim 5 , wherein the input from the user comprises the string of characters located in the ordered set of cells.

7. A method according to claim 5 , wherein the input from the user comprises a plurality of user gestures indicating the ordered set of cells.

Assignments (2)
CHANGE OF NAME Recorded Jun 9, 2021
From: CLOUD-PIN LIMITED
To: SHAYYPE GLOBAL LIMITED
Reel/Frame 056482/0451 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2020
From: CRAYMER, JONATHAN GEOFFREY MILTON; BEAL, JON ANDREW
To: CLOUD-PIN LIMITED
Reel/Frame 052206/0945 →
Priority Claims (1)
GB 1711077 · Jul 10, 2017 · national
Continuity (1)
Related Publication 20200134167A1 · Apr 30, 2020