# US 12,120,113 B2 · Distributed / multi-level server authentication

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

- Number: US 12,120,113 B2
- Document ID: US12120113B2
- Status: Granted
- Kind: B2
- Application number: 17/376,376
- Filed: 2021-07-15
- Published: 2023-01-19
- Granted: 2024-10-15
- Earliest claimed: 2021-07-15
- Applicants: EMC IP Holding Company LLC
- Inventors: Victor Salamon; Paul Berube
- Web page: https://patentgrep.com/patent/US12120113B2

## CPC

- H04L 63/0876: {based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint}
- H04W 12/06: Authentication
- H04L 63/0435: {wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for symmetric key encryption H04L9/06)}
- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L 63/1441: {Countermeasures against malicious traffic (countermeasures against attacks on cryptographic mechanisms H04L9/002)}
- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- H04L 67/01: Protocols
- H04W 12/041: Key generation or derivation
- H04W 12/12: Detection or prevention of fraud
- H04L 2463/082: applying multi-factor authentication
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Methods, system, and non-transitory processor-readable storage medium for distributed and multi-level server authentication are provided herein. An example method includes receiving, by a plurality of second servers, a plurality of authentication secret slices, where a first server transmits each of the plurality of authentication secret slices to a respective second server of the plurality of second servers, receiving, by the first server, an authentication confirmation from each of the plurality of second servers and confirming, by the first server to a client, that an authentication request has succeeded.

## Claims

### Claim 1

A method, comprising:
receiving, by a plurality of second servers, a plurality of authentication secret slices, wherein a first server transmits each of the plurality of authentication secret slices to a respective second server of the plurality of second servers;
receiving, by the first server, an authentication confirmation from each of the plurality of second servers;
confirming, by the first server to a client, that an authentication request has succeeded;
processing, by the client, a request input into a secret;
splitting, by the client, the secret into a plurality of secret slices;
transmitting the plurality of secret slices from the client to the first server in a random order; and
maintaining, on the first server, a sequence number associated with each of the plurality of secret slices, and identification of a respective second server of the plurality of second servers to which each of the plurality of secret slices is transmitted.

### Claim 2 (depends on 1)

The method of claim 1 wherein receiving, by the plurality of second servers, the plurality of authentication secret slices comprises:
transmitting the plurality of authentication secret slices individually from the first server to each respective second server.

### Claim 3 (depends on 2)

The method of claim 2 wherein transmitting the plurality of authentication secret slices individually from the first server to the second server comprises:
transmitting each authentication secret slice from the first server to the respective second server through an encrypted channel, wherein a plurality of encryption methods is utilized.

### Claim 4 (depends on 1)

The method of claim 1 wherein receiving, by the plurality of second servers, the plurality of authentication secret slices comprises:
receiving, by the first server, the authentication request from the client, wherein the client processes authentication input into the plurality of authentication secret slices, wherein the authentication request comprises the plurality of authentication secret slices.

### Claim 5 (depends on 1)

The method of claim 1 wherein receiving, by the plurality of second servers, the plurality of authentication secret slices comprises:
generating the authentication confirmation, by the second server, if a received authentication secret slice matches a registration secret slice persisted on the second server.

### Claim 6 (depends on 1)

The method of claim 1 wherein receiving, by the plurality of second servers, the plurality of authentication secret slices comprises:
performing a registration process between the client and the second server.

### Claim 7 (depends on 6)

The method of claim 6 wherein performing the registration process between the client and the second server comprises:
receiving, by the first server, a registration request from the client, wherein the client processes registration input into a plurality of registration secret slices, wherein the registration request comprises the plurality of registration secret slices;
receiving, by the plurality of second servers, the plurality of registration secret slices, wherein the first server transmits each of the plurality of registration secret slices to a respective second server of the plurality of second servers;
receiving, by the first server, confirmation from each of the plurality of second servers that each received registration secret slice has been persisted on the respective second server; and
confirming, by the first server to the client, that the registration request has succeeded.

### Claim 8 (depends on 7)

The method of claim 7 wherein receiving, by the plurality of second servers, the plurality of registration secret slices comprises:
transmitting the plurality of registration secret slices individually from the first server to each respective second server.

### Claim 9 (depends on 7)

The method of claim 7 wherein receiving, by the plurality of second servers, the plurality of registration secret slices comprises:
persisting, by each of the plurality of second servers, a respective received registration secret slice and a username associated with the plurality of registration secret slices.

### Claim 10 (depends on 1)

The method of claim 1 further comprising:
receiving, by the client, a registration request or an authentication request along with request input.

### Claim 11 (depends on 10)

The method of claim 10 wherein an assembly order of the plurality of secret slices is associated with the plurality of secret slices.

### Claim 12 (depends on 10)

The method of claim 10 wherein a sequence order is encoded in each of the plurality of secret slices.

### Claim 13 (depends on 1)

The method of claim 1 further comprising: hashing at least one of the secret slices from the first server to the second server.

### Claim 14

A system comprising:
at least one processing device comprising a processor coupled to a memory;
the at least one processing device being configured:
to receive, by a plurality of second servers, a plurality of authentication secret slices, wherein a first server transmits each of the plurality of authentication secret slices to a respective second server of the plurality of second servers;
to receive, by the first server, an authentication confirmation from each of the plurality of second servers;
to confirm, by the first server to a client, that an authentication request has succeeded;
to process, by the client, the request input into a secret;
to split, by the client, the secret into a plurality of secret slices;
to transmit the plurality of secret slices from the client to the first server in a random order; and
to maintain, on the first server, a sequence number associated with each of the plurality of secret slices, and identification of a respective second server of the plurality of second servers to which each of the plurality of secret slices is transmitted.

### Claim 15 (depends on 14)

The system of claim 14 wherein the at least one processing device configured to receive, by the plurality of second servers, the plurality of authentication secret slices is further configured to:
transmit the plurality of authentication secret slices individually from the first server to each respective second server.

### Claim 16 (depends on 14)

The system of claim 14 wherein the at least one processing device configured to receive, by the plurality of second servers, the plurality of authentication secret slices is further configured to:
generate the authentication confirmation, by the second server, if a received authentication secret slice matches a registration secret slice persisted on the second server.

### Claim 17 (depends on 14)

The system of claim 14 further configured to:
receive, by the client, a registration request or an authentication request along with request input.

### Claim 18

A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes said at least one processing device:
to receive, by a plurality of second servers, a plurality of authentication secret slices, wherein a first server transmits each of the plurality of authentication secret slices to a respective second server of the plurality of second servers;
to receive, by the first server, an authentication confirmation from each of the plurality of second servers;
to confirm, by the first server to a client, that an authentication request has succeeded;
to receive, by the client, a registration request or an authentication request along with request input;
to process, by the client, the request input into a secret;
to split, by the client, the secret into a plurality of secret slices;
to transmit the plurality of secret slices from the client to the first server in a random order and to maintain, on the first server, a sequence number associated with each of the plurality of secret slices, and identification of a respective second server of the plurality of second servers to which each of the plurality of secret slices is transmitted.
