# US 2021/0243026 A1 · Password based threshold token generation

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

- Number: US 2021/0243026 A1
- Document ID: US20210243026A1
- Status: Published application
- Kind: A1
- Application number: 17/053,022
- Filed: 2018-10-15
- Published: 2021-08-05
- Earliest claimed: 2018-05-08
- Assignees: Visa International Service Association
- Applicants: Visa International Service Association
- Inventors: Payman Mohassel; Shashank Agrawal; Pratyay Mukherjee; Peihan Miao
- Web page: https://patentgrep.com/patent/US20210243026A1

## CPC

- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- H04L 9/085: {Secret sharing or secret splitting, e.g. threshold schemes}
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments disclosed herein are directed to methods and systems of password-based threshold authentication, which distributes the role of an authentication server among multiple servers. Any t servers can collectively verify passwords and generate authentication tokens, while no t−1 servers can forge a valid token or mount offline dictionary attacks.

## Claims

### Claim 1

A method for obtaining an access token by a client, the method comprising:
receiving a credential for gaining access to a computer resource;
hashing the credential to obtain a first hash;
sending request messages to a plurality of servers, each request message including a blinded hash of the first hash and a user identifier;
receiving response messages from the plurality of servers, each response message from a corresponding server including:
a partial hash response generated using the blinded hash sent to the corresponding server and a secret share, and
an encrypted token share from each of the plurality of servers, the encrypted token share being generated by encrypting a token share using a hash portion that was previously generated by the client and sent to the corresponding server, the hash portion being generated using the first hash and the secret share;
deblinding each of the partial hash responses to obtain the hash portions;
decrypting the encrypted token shares using the hash portions to obtain the token shares; and
combining the token shares to obtain the access token.

### Claim 2 (depends on 1)

The method of claim 1, further comprising performing a registration with the plurality of servers by:
sending requests to the plurality of servers, each request including the blinded hash of the first hash and the user identifier;
receiving responses from the plurality of servers, each response from a corresponding server and including a corresponding partial hash response generated using the blinded hash sent to the corresponding server and a corresponding secret share;
deblinding each of the corresponding partial hash responses to obtain the hash portions; and
sending the hash portions to the plurality of servers.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
generating a plurality of secret shares; and
sending the plurality of secret shares to the plurality of servers.

### Claim 4 (depends on 3)

The method of claim 3, wherein the plurality of secret shares differ from each other.

### Claim 5 (depends on 2)

The method of claim 2, wherein the registration includes sending one or more additional hash portions to one or more additional servers, and wherein only a portion of all servers are required to provide a response message to obtain the access token.

### Claim 6 (depends on 1)

The method of claim 1, wherein the blinded hash is the same for each of the servers.

### Claim 7 (depends on 1)

The method of claim 1, wherein the blinded hash is different for each of the servers.

### Claim 8 (depends on 1)

The method of claim 1, wherein the token shares and the access token are generated using a non-interactive threshold token generation scheme.

### Claim 9 (depends on 8)

The method of claim 8, wherein the non-interactive threshold token generation scheme is one of: symmetric key based MAC, public key based MAC, secret sharing (Shamir) RSA based digital signature, or pairing based digital signature.

### Claim 10 (depends on 8)

The method of claim 8, wherein the response messages from the plurality of servers are received without any further interaction after sending the request messages to the plurality of servers.

### Claim 11 (depends on 1)

The method of claim 1, wherein the request messages to the plurality of servers are sent in parallel.

### Claim 12

A method comprising performing, by a server computer:
receiving a request message from a client, the request message including a blinded hash of a first hash of a credential and a user identifier;
generating a partial hash response using the blinded hash and a secret share;
determining a hash portion corresponding to the user identifier, the hash portion previously received from the client and generated using the first hash and the secret share;
generating a token share based on the user identifier and the secret share;
encrypting the token share using the hash portion corresponding to the user identifier; and
sending a response message to the client, the response message including the partial hash response and the encrypted token share.

### Claim 13 (depends on 12)

The method of claim 12, further comprising performing a registration with the client by:
receiving a request from the client, the request including the blinded hash of the first hash and the user identifier;
sending a response to the client, the response including a first partial hash response generated using the blinded hash and the secret share;
receiving the hash portion from the client, the hash portion generated by the client by deblinding the first partial hash response; and
storing the hash portion in associated with the user identifier.

### Claim 14 (depends on 12)

The method of claim 12, wherein the secret share is received from the client.

### Claim 15 (depends on 12)

The method of claim 12, wherein the token share is generated using a non-interactive threshold token generation scheme.

### Claim 16 (depends on 15)

The method of claim 15, wherein the non-interactive threshold token generation scheme is one of: symmetric key based MAC, public key based MAC, secret sharing (Shamir) RSA based digital signature, or pairing based digital signature.

### Claim 17 (depends on 15)

The method of claim 15, wherein the response message is sent to the client without any further interaction from the client after receiving the request message from the client.

### Claim 18

(canceled)

### Claim 19

A system comprising:
one or more processors; and
a non-transitory computer readable memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform a method for obtaining an access token by a client, the method comprising:
receiving a credential for gaining access to a computer resource;
hashing the credential to obtain a first hash;
sending request messages to a plurality of servers, each request message including a blinded hash of the first hash and a user identifier;
receiving response messages from the plurality of servers, each response message from a corresponding server including:
a partial hash response generated using the blinded hash sent to the corresponding server and a secret share, and
an encrypted token share from each of the plurality of servers, the encrypted token share being generated by encrypting a token share using a hash portion that was previously generated by the client and sent to the corresponding server, the hash portion being generated using the first hash and the secret share;
deblinding each of the partial hash responses to obtain the hash portions;
decrypting the encrypted token shares using the hash portions to obtain the token shares; and
combining the token shares to obtain the access token.

### Claim 20 (depends on 19)

The system of claim 19, wherein the method further comprises performing a registration with the plurality of servers by:
sending requests to the plurality of servers, each request including the blinded hash of the first hash and the user identifier;
receiving responses from the plurality of servers, each response from a corresponding server and including a corresponding partial hash response generated using the blinded hash sent to the corresponding server and a corresponding secret share;
deblinding each of the corresponding partial hash responses to obtain the hash portions; and
sending the hash portions to the plurality of servers.

### Claim 21 (depends on 20)

The system of claim 20, wherein the method further comprises:
generating a plurality of secret shares; and
sending the plurality of secret shares to the plurality of servers.
