# US 11,310,343 B2 · User and user device registration and authentication

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

- Number: US 11,310,343 B2
- Document ID: US11310343B2
- Status: Granted
- Kind: B2
- Application number: 17/221,066
- Filed: 2021-04-02
- Published: 2021-09-02
- Granted: 2022-04-19
- Earliest claimed: 2018-08-02
- Applicants: Paul Swengler
- Inventors: Paul Swengler
- Web page: https://patentgrep.com/patent/US11310343B2

## CPC

- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- G06F 16/137: {Hash-based (content-based indexing of textual data G06F16/31)}
- G06F 21/31: User authentication
- H04L 9/0866: {involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/321: {involving a third party or a trusted authority}
- H04L 63/0876: {based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint}
- H04L 63/126: {the source of the received data}
- H04L 63/18: {using different networks or channels, e.g. using out of band channels (cryptographic mechanisms or cryptographic arrangements for key distribution involving distinctive intermediate devices or communication paths H04L9/0827; cryptographic mechanisms or cryptographic arrangements for authentication using a plurality of channels H04L9/3215)}
- H04L 67/303: Terminal profiles
- H04W 12/06: Authentication
- H04L 2463/061: applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A method of registering and authenticating a user and a user device is disclosed. In one embodiment, the method does not use any stored usernames, passwords, or tokens. In certain embodiments, the method stores algorithmic functions on the user device. When a user requests authentication a server provides variable values to the client device. The values are input into the algorithmic functions. The functions generate an output. The output is sent to the server. The server uses the client device generated output to authenticate the client device and the user. Each time the user requests authentication different variable values are used to prevent prediction and hacking of the system.

## Claims

### Claim 1

A method of registering a user and client device pair, a server performing the steps of the method comprising:
a) receiving from the client device a user profile and a device profile;
b) building a user ID file, an encryption key, and a decryption key based, at least in part, on the user profile and/or the device profile;
c) selecting a set of formulas;
d) receiving from the client device a user ordered icon selection;
e) assigning uniquely each formula of the set of formulas to each icon of the user ordered icon selection;
f) encrypting the user ID file with the encryption key; and
g) generating a hashed file name for the user ID file, wherein generating a hashed file name comprises generating a hashed file name comprising the decryption key.

### Claim 2 (depends on 1)

The method of claim 1, wherein selecting a set of formulas comprises selecting formulas comprising variables and constants.

### Claim 3 (depends on 1)

The method of claim 1, further comprising generating a set of icons and forwarding the set of icons to the client device.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating a hashed file name further comprises generating a hashed file name comprising a file name associated with the client device.

### Claim 5 (depends on 1)

The method of claim 1, further comprising generating an installation package comprising the ordered icon selection and the set of formulas.

### Claim 6 (depends on 5)

The method of claim 5, further comprising sending the installation package to the client device.

### Claim 7 (depends on 1)

The method of claim 1, wherein generating a hashed file name further comprises generating a hashed file name comprising a file name associated with the user profile.

### Claim 8 (depends on 1)

The method of claim 1, wherein generating a hashed file name further comprises generating a hashed file name comprising a file name associated with the client device and the user profile.

### Claim 9 (depends on 1)

The method of claim 1, further comprising sending the set of formulas to the client device and sending random values to the client device to populate variables of the set of formulas sent to the client device.

### Claim 10 (depends on 9)

The method of claim 9, further comprising receiving from the client device a plurality of results, wherein the results are obtained by the client device by evaluating the set of formulas with the random values.

### Claim 11 (depends on 10)

The method of claim 10, further comprising building the decryption key further based at least in part on the plurality of results received from the client device.

### Claim 12 (depends on 1)

The method of claim 1, further comprising configuring the decryption key to facilitate verification of the client device, wherein if the decryption key unlocks the verification file name the client device is verified.

### Claim 13

A system for registering a user and client device pair, the system comprising:
a server;
a verification file stored on the server;
the server configured to:
receive from the client device a user profile and a device profile;
build a verification file, an encryption key, and a decryption key based, at least in part, on the user profile and/or the device profile;
select a plurality of algorithms, each of the algorithms comprising one or more formulas;
receive from the client device a user ordered icon selection;
assign uniquely each formula to each icon of the user ordered icon selection;
encrypt the verification file with the encryption key; and
generate a hashed verification file name for the verification file, wherein the hashed verification file name comprises the decryption key.

### Claim 14 (depends on 13)

The system of claim 13, wherein at least some of the formulas comprise variables and constants.

### Claim 15 (depends on 13)

The system of claim 13, the server further configured to generate a set of icons and to forward the set of icons to the client device.

### Claim 16 (depends on 13)

The system of claim 13, wherein the hashed verification file name comprises a file name, the file name associated with the device profile.

### Claim 17 (depends on 13)

The method of claim 13, the server further configured to send the set of formulas to the client device, and the server further configured to send random values to the client device to populate variables of the set of formulas sent to the client device.

### Claim 18 (depends on 17)

The method of claim 17, the server further configured to receive from the client device a plurality of results, wherein the results are obtained by the client device by evaluating the set of formulas sent to the client device with the random values.

### Claim 19 (depends on 18)

The method of claim 18, the server further configured to build the decryption key further based at least in part on the plurality of results received from the client device.

### Claim 20 (depends on 13)

The method of claim 13, the server further configured to build the decryption key to facilitate verification of the client device, wherein if the decryption key unlocks the verification file name the client device is verified.
