IP Library Granted Patent US 10,756,908
Granted Patent B1
US 10,756,908 · App. 16/796,021 · Granted Aug 25, 2020

User authentication with self-signed certificate and identity verification

Inventors: Nelson Melo (West Palm Beach, FL); Michael Clark (West Palm Beach, FL); James Clark (West Palm Beach, FL)
Assignee: BEYOND IDENTITY INC.
H04L9/3265H04L9/0861H04L9/0894H04L9/3268H04L9/3271H04L2209/38
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 10,756,908
App. No.
16/796,021
Granted
Aug 25, 2020
Kind
B1
Abstract

In embodiments, an authentication server interfaces between a user device with a self-signed certificate and a verifying computer that accepts a user name and password. The user device generates a self-signed certificate signed by a private key on the user device. The self-signed certificate is transmitted to a verifying party computer over a network. The verifying party stores the self-signed certificate with user identification data, including at least one of a user name, user address, user email, user phone number, user tax identification (ID), user social security number and user financial account number. In subsequent communications, the verifying party receives a certificate chain including the self-signed certificate, and matches that with the user identification data stored in a database.

Claims (99)

1. A method for authenticating a user to a verifying party computer over a network, comprising:

generating a self-signed root certificate signed by a root private key on a user device;

storing the root private key on the user device;

generating an intermediate private key in a secure enclave on the user device;

signing an intermediate certificate with the root private key;

storing the intermediate private key in the secure enclave on the user device;

linking the intermediate certificate to the root certificate by way of signature to form a certificate chain, the certificate chain including a public key corresponding to the intermediate private key;

transmitting the certificate chain to the verifying party computer over the network;

receiving, as an input to the user device, user identification data, including at least one of a user name, user address, user email, user phone number, user tax identification (ID), user social security number and user financial account number;

using the certificate chain as a credential to transmit user verification data to the verifying party computer;

storing the certificate chain in association with the user identification data in a database by the verifying party computer;

receiving, at the verifying party computer, a subsequent communication from the user device including the certificate chain;

accessing the database by the verifying party computer with the certificate chain to retrieve the user identification data;

determining that the self-signed root certificate belongs to the user by:

issuing a challenge question to the user device, by the verifying party computer, using the intermediate public key to encrypt the challenge question;

decrypting the challenge question by the user device using the intermediate private key; and

sending, by the user device, a response to the verifying computer challenge question, encrypted with the intermediate private key.

2. A method for authenticating a user to a verifying party computer over a network, comprising:

generating a self-signed root certificate signed by a root private key on a user device;

storing the root private key on the user device;

generating an intermediate private key from in a secure enclave on the user device;

signing an intermediate certificate with the root private key;

storing the intermediate private key in the secure enclave on the user device;

linking the intermediate certificate to the root certificate by way of signature to form a certificate chain, the certificate chain including a public key corresponding to the intermediate private key;

transmitting the certificate chain to the verifying party computer over the network;

receiving, as an input to the user device, user identification data, including at least one of a user name, user address, user email, user phone number, user tax identification (ID), user social security number and user financial account number;

using the certificate chain as a credential to transmit user verification data to the verifying party computer;

storing the certificate chain in association with the user identification data in a database by the verifying party computer;

receiving, at the verifying party computer, a subsequent communication from the user device including the certificate chain;

accessing the database by the verifying party computer with the certificate chain to retrieve the user identification data;

storing the root private key in an external Credential Recovery Service server accessible over the network; and

deleting the root private key from the user device.

3. The method of claim 2 wherein the self-signed root certificate is an X.509 certificate suitable for use with Transport Layer Security (TLS).

4. The method of claim 2 further comprising verifying, by the verifying computer, with Transport Layer Security (TLS) that the certificate chain belongs to the user device.

5. The method of claim 2 further comprising:

storing, by the user device, the intermediate private key in a signing application in a memory of the user device.

6. The method of claim 2 further comprising:

storing, by the user device, the root private key in the secure enclave.

7. The method of claim 2 , wherein the root private key is created outside the secure enclave.

8. The method of claim 2 further comprising:

downloading a signing application; and

creating the root private key with the signing application.

9. A method for authenticating a user to a verifying party computer over a network, comprising:

generating a self-signed root certificate signed by a root private key on a user device;

storing the root private key on the user device;

generating an intermediate private key in a secure enclave on the user device;

signing an intermediate certificate with the root private key;

storing the intermediate private key in the secure enclave on the user device;

linking the intermediate certificate to the root certificate by way of signature to form a certificate chain, the certificate chain including a public key corresponding to the intermediate private key;

transmitting the certificate chain to the verifying party computer over the network;

receiving, as an input to the user device, user identification data, including at least one of a user name, user address, user email, user phone number, user tax identification (ID), user social security number and user financial account number;

using the certificate chain as a credential to transmit user verification data to the verifying party computer;

storing the certificate chain in association with the user identification data in a database by the verifying party computer;

receiving, at the verifying party computer, a subsequent communication from the user device including the certificate chain;

accessing the database by the verifying party computer with the certificate chain to retrieve the user identification data; wherein the step of storing the root private key externally to the user device further comprises:

transmitting the root private key to a cloud-based credential recovery service server; and

recovering the root private key from the cloud-based credential recovery service using at least one of a login, a password, or other user identifying information.

10. A method for authenticating a user to a verifying party computer over a network, comprising:

generating a self-signed root certificate signed by a root private key on a user device;

generating an intermediate private key in a secure enclave on the user device;

signing an intermediate certificate with the root private key;

storing the root private key in an external Credential Recovery Service server accessible over the network;

linking the intermediate certificate to the root certificate to form a certificate chain, the certificate chain including a public key corresponding to the intermediate private key;

deleting the root private key from the user device;

transmitting the certificate chain to the verifying party computer over the network;

transmitting user identification data to the verifying party computer for linking with the certificate chain; and

transmitting the certificate chain to the verifying party computer in a subsequent communication to identify the user without the user identification data.

11. The method of claim 10 further comprising:

determining that the self-signed root certificate belongs to the user by:

issuing a challenge question to the user device, by the verifying party computer, using the user public key to encrypt the challenge question;

decrypting the challenge question by the user device using the intermediate private key; and

sending, by the user device, a response to the verifying computer challenge question, encrypted with the intermediate private key.

12. The method of claim 10 further comprising:

storing, by the user device, the intermediate private key in a signing application in a memory of the user device.

13. The method of claim 10 further comprising:

creating the root private key with a signing application on the user device.

14. The method of claim 13 , further comprising:

downloading the signing application over the network to the user device.

15. A non-transitory computer readable medium having stored thereon software instructions that, when executed by a processor, cause the processor to generate control signals for authenticating a user to a verifying party computer over a network, by executing the steps comprising:

generating a self-signed root certificate signed by a root private key on a user device;

generating an intermediate private key in a secure enclave on the user device;

signing an intermediate certificate with the root private key;

storing the root private key in an external Credential Recovery Service server accessible over the network;

linking the intermediate certificate to the root certificate to form a certificate chain, the certificate chain including a public key corresponding to the intermediate private key;

deleting the root private key from the user device;

transmitting the certificate chain to the verifying party computer over the network;

transmitting user identification data to the verifying party computer for linking with the certificate chain; and

transmitting the certificate chain to the verifying party computer in a subsequent communication to identify the user without the user identification data.

16. The non-transitory computer readable medium of claim 15 wherein the software instructions, when executed by a processor, further cause the processor to generate control signals to execute the steps comprising:

determining that the self-signed root certificate belongs to the user by:

issuing a challenge question to the user device, by the verifying party computer, using the user public key to encrypt the challenge question;

decrypting the challenge question by the user device using the intermediate private key; and

sending, by the user device, a response to the verifying computer challenge question, encrypted with the intermediate private key.

17. The non-transitory computer readable medium of claim 15 wherein the software instructions, when executed by a processor, further cause the processor to generate control signals to execute the steps comprising:

storing, by the user device, the intermediate private key in a signing application in a memory of the user device.

18. The non-transitory computer readable medium of claim 15 wherein the software instructions, when executed by a processor, further cause the processor to generate control signals to execute the steps comprising:

creating the root private key with a signing application on the user device.

19. The non-transitory computer readable medium of claim 18 wherein the software instructions, when executed by a processor, further cause the processor to generate control signals to execute the steps comprising:

downloading the signing application over the network to the user device.

Assignments (2)
CHANGE OF NAME Recorded May 15, 2020
From: ZEROPW INC.
To: BEYOND IDENTITY INC.
Reel/Frame 052679/0107 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2020
From: MELO, NELSON; CLARK, MICHAEL; CLARK, JAMES
To: ZEROPW INC.
Reel/Frame 052642/0792 →
Continuity (4)
Provisional Application 62858248 · Jun 6, 2019
Provisional Application 62857201 · Jun 4, 2019
Provisional Application 62842393 · May 2, 2019
Provisional Application 62809490 · Feb 22, 2019
Cited By (1)
US 12,470,368