IP Library Granted Patent US 10,764,068
Granted Patent B2
US 10,764,068 · App. 15/883,565 · Granted Sep 1, 2020

Computer system employing challenge/response protocol with detection of non-unique incorrect responses

Inventors: Radia J. Perlman (Redmond, WA); Charles W. Kaufman (Redmond, WA); Xuan Tang (Hopkinton, MA)
Assignee: EMC IP Holding Company LLC
H04L9/3271G06F21/31H04L29/06782H04W12/06
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,764,068
App. No.
15/883,565
Granted
Sep 1, 2020
Kind
B2
Abstract

A challenge/response authentication procedure determines whether a response is a correct response, a unique incorrect response, or a non-unique incorrect response, the unique incorrect response and non-unique incorrect response being differentiated by comparing the response value with a store of unique incorrect response values. For the correct response, client access to protected computer system resources is allowed, and the challenge value is discarded so as not to be used again. For the unique incorrect response, (1) when a predetermined limit of unique incorrect responses has not been reached, then the response value is added to the store of unique incorrect response values and the process is repeated with reuse of the challenge value, and (2) when the predetermined limit has been reached, then the client is locked out. For the non-unique incorrect response, the process is repeated with reuse of the challenge value.

Claims (43)

1. A method of operating a computer system to control client access to protected computer system resources, comprising:

sending a challenge to a client and receiving a corresponding response, the response including a response value, the challenge including a challenge value of a challenge/response pair computed using a secret shared with the client;

making a determination whether the response is a correct response, a unique incorrect response, or a non-unique incorrect response, the correct response being identified based on the response value matching a response value of the challenge/response pair, the unique incorrect response and non- unique incorrect response being differentiated based on comparing the response value with a store of unique incorrect response values for challenges using the challenge value; and

taking action based on the determination according to the following:

for the correct response, permitting client access to the protected computer system resources and discarding the challenge value so as not to be used in subsequent challenges to the client;

for the unique incorrect response, (1) when a predetermined limit of unique incorrect responses has not been reached, then adding the response value to the store of unique incorrect response values and repeating the above steps with reuse of the challenge value, and (2) when the predetermined limit has been reached, then locking out the client to prevent client access to the protected computer system resources even when the client correctly responds to a subsequent challenge; and

for the non-unique incorrect response, repeating the above steps with reuse of the challenge value.

2. The method of claim 1 , wherein the client is a user computing device used by an associated user.

3. The method of claim 2 , wherein the shared secret is a value derived from a user password known to the user and to the computer system.

4. The method of claim 1 , wherein the client is a server computing device being configured with the shared secret for use in being authenticated to the computer system.

5. The method of claim 1 , wherein the challenge and response are corresponding messages sent over a non-encrypted link between the client and the computer system.

6. The method of claim 1 , further including calculating the challenge/response pair to generate the challenge value and response value.

7. The method of claim 6 , wherein calculating the challenge/response pair includes (1) generating the challenge value as a random value, and (2) calculating the response value as the output of a function applied to the challenge value and the shared secret.

8. The method of claim 1 , further including later clearing the lockout of the client, thereby enabling the client to make a new authentication attempt to access the protected computer system resources.

9. A computer system, comprising:

one or more processors;

memory coupled to the processors; and

interface circuitry coupled to the memory, the interface circuitry providing an interface to a separate client;

the memory storing computer program instructions which, when executed by the processors, cause the computer system to perform a method to control client access to protected computer system resources, the method including:

sending a challenge to a client and receiving a corresponding response, the response including a response value, the challenge including a challenge value of a challenge/response pair computed using a secret shared with the client;

making a determination whether the response is a correct response, a unique incorrect response, or a non-unique incorrect response, the correct response being identified based on the response value matching a response value of the challenge/response pair, the unique incorrect response and non-unique incorrect response being differentiated based on comparing the response value with a store of unique incorrect response values for challenges using the challenge value; and

taking action based on the determination according to the following:

for the correct response, permitting client access to the protected computer system resources and discarding the challenge value so as not to be used in subsequent challenges to the client;

for the unique incorrect response, (1) when a predetermined limit of unique incorrect responses has not been reached, then adding the response value to the store of unique incorrect response values and repeating the above steps with reuse of the challenge value, and (2) when the predetermined limit has been reached, then locking out the client to prevent client access to the protected computer system resources even when the client correctly responds to a subsequent challenge; and

for the non-unique incorrect response, repeating the above steps with reuse of the challenge value.

10. The computer system of claim 9 , wherein the client is a user computing device used by an associated user.

11. The computer system of claim 10 , wherein the shared secret is a value derived from a user password known to the user and to the computer system.

12. The computer system of claim 9 , wherein the client is a server computing device being configured with the shared secret for use in being authenticated to the computer system.

13. The computer system of claim 9 , wherein the challenge and response are corresponding messages sent over a non-encrypted link between the client and the computer system.

14. The computer system of claim 9 , wherein the method performed by execution of the instructions further includes calculating the challenge/response pair to generate the challenge value and response value.

15. The computer system of claim 14 , wherein calculating the challenge/response pair includes (1) generating the challenge value as a random value, and (2) calculating the response value as the output of a function applied to the challenge value and the shared secret.

16. The computer system of claim 9 , wherein calculating the challenge/response pair includes later clearing the lockout of the client, thereby enabling the client to make a new authentication attempt to access the protected computer system resources.

17. A non-transitory computer-readable medium storing computer program instructions, the instructions being executable by a set of one or more computers to cause the computers to perform a method to control client access to protected computer system resources, the method including:

sending a challenge to a client and receiving a corresponding response, the response including a response value, the challenge including a challenge value of a challenge/response pair computed using a secret shared with the client;

making a determination whether the response is a correct response, a unique incorrect response, or a non-unique incorrect response, the correct response being identified based on the response value matching a response value of the challenge/response pair, the unique incorrect response and non-unique incorrect response being differentiated based on comparing the response value with a store of unique incorrect response values for challenges using the challenge value; and

taking action based on the determination according to the following:

for the correct response, permitting client access to the protected computer system resources and discarding the challenge value so as not to be used in subsequent challenges to the client;

for the unique incorrect response, (1) when a predetermined limit of unique incorrect responses has not been reached, then adding the response value to the store of unique incorrect response values and repeating the above steps with reuse of the challenge value, and (2) when the predetermined limit has been reached, then locking out the client to prevent client access to the protected computer system resources even when the client correctly responds to a subsequent challenge; and

for the non-unique incorrect response, repeating the above steps with reuse of the challenge value.

18. The non-transitory computer-readable medium of claim 17 , wherein the client is a user computing device used by an associated user.

19. The non-transitory computer-readable medium of claim 18 , wherein the shared secret is a value derived from a user password known to the user and to the computer system.

20. The non-transitory computer-readable medium of claim 17 , wherein the client is a server computing device being configured with the shared secret for use in being authenticated to the computer system.

21. The method of claim 1 , performed as an authentication using a challenge handshake authentication protocol having three functional and messaging parts for the challenge-response pair including (1) the sending of the challenge, (2) the receiving of the corresponding response, and (3) sending an acknowledgement for the correct response.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045482/0131) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2018
From: PERLMAN, RADIA J.; KAUFMAN, CHARLES W.; TANG, XUAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045382/0623 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
Continuity (1)
Related Publication 20190238346A1 · Aug 1, 2019