# US 10,320,774 B2 · Method and system for issuing and using derived credentials

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

- Number: US 10,320,774 B2
- Document ID: US10320774B2
- Status: Granted
- Kind: B2
- Application number: 15/230,044
- Filed: 2016-08-05
- Published: 2018-02-08
- Granted: 2019-06-11
- Earliest claimed: 2016-08-05
- Assignees: Route1 Inc.
- Applicants: Route1 Inc.
- Inventors: Yamian Quintero Cantero; Jerry S. Iwanski
- Web page: https://patentgrep.com/patent/US10320774B2

## CPC

- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L 9/0618: {Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation}
- H04L 9/3218: {using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 63/06: {for supporting key management in a packet data network (cryptographic mechanisms or cryptographic arrangements for key management H04L9/08)}
- H04L 63/0823: {using certificates (cryptographic mechanisms or cryptographic arrangements for entity authentication involving certificates H04L9/3263)}
- H04W 12/041: Key generation or derivation
- H04W 12/069: using certificates or pre-shared keys
- G06F 21/31: User authentication
- H04L 2209/80: Wireless
- 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)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

At a mobile device, a password is used to create a proof of knowledge (POK). The POK is stored in a controller accessible via a communication network. The POK ensures that the controller can detect an incorrect password from the mobile device, and that the mobile device cannot be subject to a brute force attack to determine the DC stored in the mobile device. After a predetermined number of unsuccessful attempts to enter the password, the controller blocks further attempts, thereby restoring protection against a brute force attack that was lost going from a standalone smart card to mobile-device-based derived credentials. A portion of Derived Credentials, needed to authenticate the user of a mobile device, is stored in the controller, further increasing the difficulty of unauthorized use.

## Claims

### Claim 1

A method of obtaining access to a host server, comprising: at a mobile device,
sending to a controller via a communication network, a proof of knowledge based on a password received from a user;
receiving a kibble from the controller,
using the received kibble, and a kibble stored at the mobile device, to recover a private key of derived credentials by performing a bit-wise OR operation on the received kibble and the stored kibble based on a mapping of the received kibble and the stored kibble to respective groups of non-contiguous bits in the private key of derived credentials, and
sending a derived credentials security certificate to the host server via the communication network.

### Claim 2 (depends on 1)

The method of claim 1, wherein the controller is at a different location than a location of the host server.

### Claim 3 (depends on 1)

The method of claim 1, wherein the mobile device determines the proof of knowledge as a function of a first argument based on a first reversible partition of a salt, and a second argument based on a second reversible partition of the received password.

### Claim 4 (depends on 1)

The method of claim 1, further comprising at the mobile device, prior to sending the proof of knowledge to the controller, determining a management credential encryption key based on the received password; using the management credential encryption key to decrypt management credentials stored during a set-up phase; and using the decrypted management credentials to establish a secure channel between the mobile device and the controller.

### Claim 5 (depends on 1)

The method of claim 1, wherein the mapping of the received kibble and the stored kibble to the respective groups of non-contiguous bits in the private key of derived credentials is implemented with a mask.

### Claim 6 (depends on 1)

The method of claim 1, wherein the mobile device recovers the private key of derived credentials based on information indicating kibble-specific bit placements of the received kibble and the stored kibble within the private key of derived credentials.

### Claim 7

A controller for improving access security of a host server accessed by a mobile device, comprising:
a communication interface for using a communication network;
a storage for storing
a kibble of a private key of derived credentials, the kibble mapping to a first group of non-contiguous bits in the private key of derived credentials to permit recovery of the private key of derived credentials via a bit-wise OR operation on the kibble and another kibble mapping to a second group of non-contiguous bits in the private key of derived credentials, and
a proof of knowledge; and
a processor configured to:
(a) receive a proof of knowledge from the mobile device via the communication network,
(b) check whether the received proof of knowledge matches the stored proof of knowledge,
(c) when a match occurs, send the kibble to the mobile device via the communication network,
(d) when a match does not occur:
(1) check whether the access attempts threshold has been reached by the access attempts counter,
(2) when the access attempts threshold has been reached, send a message to the mobile device via the communication network denying access, and
(3) when the access attempts threshold has not been reached, send a message to the mobile device via the communication network inviting sending of a new proof of knowledge.

### Claim 8 (depends on 7)

The controller of claim 7, wherein the controller is at a different location than a location of the host server.

### Claim 9 (depends on 7)

The controller of claim 7, further comprising before receiving the proof of knowledge from the mobile device, validating that a secure channel exists between the controller and the mobile device.

### Claim 10 (depends on 7)

The controller of claim 7, further comprising, during a set-up phase, receiving an original proof of knowledge from the mobile device via the communication network, and storing the original proof of knowledge to create the stored proof of knowledge.

### Claim 11 (depends on 7)

The controller of claim 7, further comprising, during a set-up phase, receiving an original kibble from the mobile device via the communication network, and storing the original kibble to create the stored kibble.

### Claim 12

A mobile device for using a controller to improve access security to a host server, comprising:
a communication interface for using a communication network;
a storage for storing
a first kibble of a private key of derived credentials;
a processor configured to:
(i) send to the controller via the communication network, a proof of knowledge based on a password received from a user,
(ii) receive from the controller via the communication network, a second kibble of the private key of derived credentials,
(iii) use the received second kibble and the stored first kibble to recover a private key of the derived credentials by performing a bit-wise OR operation on the received kibble and the stored kibble based on a mapping of the received kibble and the stored kibble to respective groups of non-contiguous bits in the private key of derived credentials, and
(iv) send a derived credentials security certificate to the host server via the communication network.

### Claim 13 (depends on 12)

The mobile device of claim 12, wherein the controller is at a different location than a location of the host server.

### Claim 14 (depends on 12)

The mobile device of claim 12, wherein the proof of knowledge is determined as a function of a first argument based on a first reversible partition of a salt, and a second argument based on a second reversible partition of the received password.

### Claim 15 (depends on 12)

The mobile device of claim 12, further comprising, prior to sending the proof of knowledge to the controller, determining a management credential encryption key based on the received password; using the management credential encryption key to decrypt management credentials stored during a set-up phase; and using the decrypted management credentials to establish a secure channel between the mobile device and the controller.

### Claim 16 (depends on 12)

The mobile device of claim 12, wherein the private key of the derived credentials is recovered by masking the received second kibble with the stored first kibble.

### Claim 17

A method of operating a controller, comprising:
storing a kibble of a private key of derived credentials, the stored kibble mapping to a first group of non-contiguous bits in the private key of derived credentials to permit recovery of the private key of derived credentials via a bit-wise OR operation on the kibble and another kibble mapping to a second group of non-contiguous bits in the private key of derived credentials;
receiving a proof of knowledge from a mobile device via a communication network;
checking whether the received proof of knowledge matches a stored proof of knowledge; and
when a match occurs, sending the stored kibble to the mobile device via the communication network,
when a match does not occur:
(1) checking whether the access attempts threshold has been reached by the access attempts counter,
(2) when the access attempts threshold has been reached, sending a message to the mobile device via the communication network denying access, and
(3) when the access attempts threshold has not been reached, sending a message to the mobile device via the communication network inviting sending of a new proof of knowledge.

### Claim 18 (depends on 17)

The method of claim 17, further comprising at the controller, before receiving the proof of knowledge from the mobile device, validating that a secure channel exists between the controller and the mobile device.

### Claim 19 (depends on 17)

The method of claim 17, further comprising at the controller, during a set-up phase, receiving an original proof of knowledge from the mobile device via the communication network, and storing the original proof of knowledge to create the stored proof of knowledge.

### Claim 20 (depends on 17)

The method of claim 17, further comprising at the controller, during a set-up phase, receiving an original kibble from the mobile device via the communication network, and storing the original kibble to create the stored kibble.
