IP Library Granted Patent US 7,840,806
Granted Patent B2
US 7,840,806 · App. 10/687,320 · Granted Nov 23, 2010

System and method of non-centralized zero knowledge authentication for a computer network

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 7,840,806
App. No.
10/687,320
Granted
Nov 23, 2010
Kind
B2
Abstract

Zero-knowledge authentication proves identity without revealing information about a secret that is used to prove that identity. An authentication agent performs authentication of a prover agent without knowledge or transfer of the secret. A non-centralized zero-knowledge authentication system contains multiple authentication agents, for access by multiple computers seeking access on a computer network through local prover agents. Once authenticated, those multiple computers may also implement authentication agents. The secret may periodically expire by publishing a new encrypted secret by a trusted source, thwarting attempts to factor or guess information about the secret.

Claims (63)

1. A method of protecting a host computer from unauthorized access by a client computer over a computer network, comprising the steps of:

installing a prover agent application on the client computer;

installing a verifier agent application on the host computer;

creating a trusted source application on the computer network to generate and publish encrypted values of a secret and product of first and second large prime numbers;

reading the encrypted values for the secret and product, by the prover and verifier from the trusted source;

decrypting the secret, by the prover and verifier;

decrypting the product, by the prover and verifier;

performing a plurality of verification dialog between the prover and verifier over the network, wherein the prover demonstrates knowledge of the secret and product without exposing the values of the secret and product, and wherein the client is denied access to a secure area of the host when the prover fails to demonstrate knowledge of the secret and product and granted access to the secure area when the client succeeds in demonstrating knowledge of the secret and product;

installing a first agent to be authenticated on a third computer on the network, the first agent having values for s, n and t, s being the secret, n being the product, and t being a size of an answer set;

installing a second agent on a fourth computer on the network, to authenticate the first agent, the second agent having values for s, n, and t;

generating r as a random number generated by the first agent;

calculating x by the first agent, r being raised to power of t modulus n;

sending x from the first agent to the second agent, over the network;

calculating b by the second agent, b being further defined as a member of set of integers from zero through t−1;

sending b from the second agent to the first agent, over the network;

calculating y by the first agent, y being a product of r*s raised to power of b;

sending y from the first agent to the second agent, over the network; and

determining authentication of the first agent, by determining equivalence of a first equation to a second equation, if y is not equal to zero, first equation is y^t mod n and second equation is (xv^b) mod n.

2. The method of claim 1 , wherein the steps of decrypting the secret and product further utilize previous values of the secret and product as operators in the modulus inverse operations, to decrypt new values for the secret and the product.

3. The system of claim 1 , the client computer comprising a cell phone.

4. The system of claim 1 , the computer network comprising one or more of the Internet, a local area network, a communications link, and a wireless network.

5. The system of claim 1 , the prover agent, verifier agent, first agent and second agent being respectively installed on the client computer, the host computer, the third computer and the fourth computer through common software.

6. A method of protecting a host computer from unauthorized access by a client computer over a computer network, comprising the steps of:

installing a prover agent application on the client computer;

installing a verifier agent application on the host computer;

creating a trusted source application on the computer network to generate and publish encrypted values of a secret and product of first and second prime numbers;

reading the encrypted values for the secret and product, by the prover and verifier from the trusted source;

decrypting the secret, by the prover and verifier;

decrypting the product, by the prover and verifier;

performing a plurality of verification dialog between the prover and verifier over the network, wherein the prover demonstrates knowledge of the secret and product without exposing the values of the secret and product, and wherein the client is denied access to a secure area of the host when the prover fails to demonstrate knowledge of the secret and product and granted access to the secure area when the client succeeds in demonstrating knowledge of the secret and product;

wherein the prover has values for s, n and t, s being the secret, n being the product, and t being a size of an answer set and wherein the verifier having values for s, n and t; the verification dialog between the prover and verifier including:

generating r as a random number by the prover agent;

calculating x by the prover agent, r being raised to power of t modulus n;

sending x from the prover agent to the verifier agent, over the network;

calculating b by the verifier agent, b being further defined as a member of set of integers from zero through t−1;

sending b from the verifier agent to the prover agent, over the network;

calculating y by the prover agent, y being a product of r*s raised to power of b;

sending y from the prover agent to the verifier agent, over the network; and

determining authentication of the prover agent, by determining equivalence of a first equation to a second equation, if y is not equal to zero, the first equation is y^t mod n and the second equation is (xv^b) mod n.

7. The system of claim 6 , the client computer comprising a cell phone.

8. The system of claim 6 , the computer network comprising one or more of the Internet, a local area network, a communications link, and a wireless network.

9. The system of claim 6 , the prover agent and the verifier agent being respectively installed on the client computer and the host computer through common software.

10. A method of protecting a host computer from unauthorized access over a computer network, comprising the steps of:

installing a prover agent application on a client computer;

installing a verifier agent application on the host computer;

creating a trusted source application on the computer network to generate and publish encrypted values of a secret and product of first and second large prime numbers;

reading the encrypted values for the secret and product, by the prover and verifier from the trusted source;

decrypting the secret, by the prover and verifier;

decrypting the product, by the prover and verifier;

performing a plurality of verification dialog between the prover and verifier over the network, wherein the prover demonstrates knowledge of the secret and product without exposing the values of the secret and product, and wherein the client is denied access to a secure area of the host when the prover fails to demonstrate knowledge of the secret and product and granted access to the secure area when the client succeeds in demonstrating knowledge of the secret and product;

installing a first agent to be authenticated on a third computer on the network, the first agent having values for s, n and t, s being the secret, n being the product, and t being a size of an answer set;

installing a second agent on a fourth computer on the network, to authenticate the first agent, the second agent having values for s, n, and t;

generating r as a random number generated by the first agent;

calculating x by the first agent, r being raised to power of t modulus n;

sending x from the first agent to the second agent, over the network;

calculating b by the second agent, b being further defined as a member of set of integers from zero through t−1;

sending b from the second agent to the first agent, over the network;

calculating y by the first agent, y being a product of r*s raised to power of b;

sending y from the first agent to the second agent, over the network; and

determining authentication of the first agent, by determining equivalence of a first equation to a second equation, if y is not equal to zero, first equation is y^t mod n and second equation is (xv^b) mod n.

11. The system of claim 10 , the client computer comprising a cell phone.

12. The system of claim 10 , the computer network comprising one or more of the Internet, a local area network, a communications link, and a wireless network.

13. The system of claim 10 , the prover agent, verifier agent, first agent and second agent being respectively installed on the client computer, the host computer, the third computer and the fourth computer through common software.

Assignments (5)
SECURITY INTEREST Recorded Feb 1, 2023
From: BURSTIQ, INC.
To: TEXAS CAPITAL BANK
Reel/Frame 062561/0188 →
CHANGE OF NAME Recorded Oct 28, 2021
From: BURSTIQ ANALYTICS CORPORATION
To: BURSTIQ, INC.
Reel/Frame 057969/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2018
From: TVIIM, LLC
To: BURSTIQ ANALYTICS CORPORATION
Reel/Frame 044543/0734 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2013
From: ENTERPRISE INFORMATION MANAGEMENT, INC.
To: TVIIM, LLC
Reel/Frame 030741/0913 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2010
From: INNERWALL, INC.
To: ENTERPRISE INFORMATION MANAGEMENT, INC.
Reel/Frame 025115/0467 →