IP Library › Granted Patent US 12,244,745
Granted Patent B2
US 12,244,745 · App. 18/356,741 · Granted Mar 4, 2025

Method for improved hash chaining authentication

Inventor: Donald E. Eastlake, III (Apopka, FL)
Assignee: Huawei Technologies Co., Ltd.
H04L9/50H04L9/0869H04L9/3213H04L61/5092H04L2101/622
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 12,244,745
App. No.
18/356,741
Granted
Mar 4, 2025
Kind
B2
Abstract

A method for improving communication security implemented by a sending device. The method includes the sending device generating a first hash token based on a K generation hash (H K ) value of a seed known only to the sending device, where K is an integer value greater than one, and sending a first message that includes the first hash token. The method further includes the sending device performing a reversible combination of a K−1 generation hash (H K−1 ) value of the seed and a hash of the first message to generate a second hash token, and sending the second message that includes the second hash token.

Claims (60)

1. A method for improving communication security implemented by a first device, the method comprising:

receiving a first message (M N ) that includes a first hash token based on a K generation hash (H K ) value of a seed, wherein K is an integer value greater than one;

storing the H K value and at least one of the first message (M N ) or a hash of the first message (H(M N ));

receiving a second message (M N+1 ) that includes a second hash token based on a first reversible combination of a K−1 generation hash (H K−1 ) value of the seed and the hash of the first message (H(M N ));

reversing the first reversible combination using the stored first message (M N ) or the stored hash of the first message (H(M N )) to determine the K−1 generation hash (H K−1 ) value from the second hash token;

determining whether a hash value of the hash of the K−1 generation hash (H K−1 ) value (H(H K−1 )) is equal to the H K value; and

authenticating the second message (M N+1 ) was from a second device that sent the first message (M N ) and that the first message (M N ) was received complete and unaltered when the hash value of the K−1 generation hash (H K−1 ) value (H(H K−1 )) is equal to the H K value.

2. The method of claim 1 , further comprising discarding the second message (M N+1 ) when the hash value of the K−1 generation hash (H K−1 ) value (H(H K−1 )) is not equal to the H K value.

3. The method of claim 1 , wherein determining the K−1 generation hash (H K−1 ) value from the second hash token comprises:

retrieving the stored hash of the first message (M N ) or hashing the stored first message (M N ) that was received by the first device; and

performing an exclusive-or (XOR) operation between the stored hash of the first message (M N ) or a hash of the stored first message (M N ) and the second hash token to determine the K−1 generation hash (H K−1 ) value from the second hash token.

4. The method of claim 1 , further comprising receiving a third message (M N+2 ) that includes a third hash token based on a second reversible combination of a K−2 generation hash (H K−2 ) value of the seed and a hash of the second message (M N+1 ).

5. The method of claim 4 , further comprising:

determining the K−2 generation hash (H K−2 ) value from the third hash token;

determining whether a hash value of the hash of the K−2 generation hash (H K−2 ) value (H(H K−2 )) is equal to the K−1 generation hash (H K−1 ) value; and

authenticating the third message (M N+2 ) was from the second device that sent the second message (M N+1 ) and that the second message (M N+1 ) was received complete and unaltered when the hash value of the K−2 generation hash (H K−2 ) value (H(H K−2 )) is equal to the K−1 generation hash (H K−1 ) value.

6. The method of claim 5 , further comprising verifying the second message (M N+1 ) was received complete and unaltered when the hash of the second message (M N+1 ) received by the first device is equal to the hash of the second message (M N+1 ) in the third message (M N+2 ).

7. A method for improving communication security implemented by a first device, the method comprising:

receiving a first incoming message from a second device, wherein the first incoming message includes a first incoming hash token comprising a first reversible combination of a J+1 generation hash (H J+1 ) value of a first seed known only to the second device and a hash of any last outgoing message from the first device, wherein J is an integer value greater than one;

generating a first outgoing hash token based on a second reversible combination of a K+1 generation hash (H K+1 ) value of a second seed known only to the first device and a hash of the first incoming message, wherein K is an integer value greater than one; and

sending a first outgoing message that includes the first outgoing hash token to the second device.

8. The method of claim 7 , further comprising:

determining the J+1 generation hash (H J+1 ) value of the first seed from the first incoming hash token; and

storing the J+1 generation hash (H J+1 ) value for use in authenticating a second incoming message from the second device.

9. The method of claim 8 , further comprising receiving the second incoming message from the second device, wherein the second incoming message includes a second incoming hash token based on a third reversible combination of a J generation hash (H J ) value of the first seed and the hash of the first outgoing message.

10. The method of claim 9 , further comprising:

determining the J generation hash (H J ) value from the second incoming hash token;

determining whether a hash value of the J generation hash (H J ) value is equal to the H J+1 value; and

authenticating the second incoming message was from the second device and that the first outgoing message was received complete and unaltered by the second device when the hash value of the J generation hash (H J ) value is equal to the H J+1 value.

11. An apparatus configured to improve communication security, the apparatus comprising:

a memory configured to store instructions; and

one or more processors coupled to the memory and configured to execute the instructions to cause the apparatus to:

receive a first message (M N ) that includes a first hash token based on a K generation hash (H K ) value of a seed, wherein K is an integer value greater than one;

store the H K value and at least one of the first message (M N ) or a hash of the first message (H(M N ));

receive a second message (M N+1 ) that includes a second hash token based on a first reversible combination of a K−1 generation hash (H K−1 ) value of the seed and the hash of the first message;

reverse the first reversible combination using the stored first message (M N ) or the stored hash of the first message (H(M N )) to determine the K−1 generation hash (H K−1 ) value from the second hash token;

determine whether a hash value of the hash of the K−1 generation hash (H K−1 ) value (H(H K−1 )) is equal to the H K value; and

authenticate the second message (M N+1 ) was from a second device that sent the first message (M N ) and that the first message (M N ) was received complete and unaltered when the hash value of the K−1 generation hash (H K−1 ) value (H(H K−1 )) is equal to the H K value.

12. The apparatus of claim 11 , wherein the one or more processors are further configured to execute the instructions to cause the apparatus to discard the second message (M N+1 ) when the hash value of the K−1 generation hash (H K−1 ) value (H(H K−1 )) is not equal to the H K value.

13. The apparatus of claim 11 , wherein the one or more processors are further configured to execute the instructions to cause the apparatus to:

retrieve the stored hash of the first message (M N ) or hashing the stored first message (M N ) that was received by the apparatus; and

perform an exclusive-or (XOR) operation between the stored hash of the first message (M N ) or a hash of the stored first message (M N ) and the second hash token to determine the K−1 generation hash (H K−1 ) value from the second hash token.

14. The apparatus of claim 11 , wherein the one or more processors are further configured to execute the instructions to cause the apparatus to receive a third message (M N+2 ) that includes a third hash token based on a second reversible combination of a K−2 generation hash (H K−2 ) value of the seed and a hash of the second message (M N−1 ).

15. The apparatus of claim 14 , wherein the one or more processors are further configured to execute the instructions to cause the apparatus to:

determine the K−2 generation hash (H K−2 ) value from the third hash token;

determine whether a hash value of the hash of the K−2 generation hash (H K−2 ) value (H(H K−2 )) is equal to the K−1 generation hash (H K−1 ) value; and

authenticate the third message (M N+2 ) was from the second device that sent the second message (M N+1 ) and that the second message (M N+1 ) was received complete and unaltered when the hash value of the K−2 generation hash (H K−2 ) value (H(H K−2 )) is equal to the K−1 generation hash (H K−1 ) value.

16. The apparatus of claim 15 , wherein the one or more processors are further configured to execute the instructions to cause the apparatus to verify the second message (M N+1 ) was received complete and unaltered when the hash of the second message (M N+1 ) received by the apparatus is equal to the hash of the second message (M N+1 ) in the third message (M N+2 ).

17. A computer program product comprising computer-executable instructions stored on a non-transitory computer-readable storage medium, the computer-executable instructions when executed by one or more processors of an apparatus, cause the apparatus to:

receive a first incoming message from a device, wherein the first incoming message includes a first incoming hash token comprising a first reversible combination of a J+1 generation hash (H J+1 ) value of a first seed known only to a sender of the first incoming message and a hash of any last outgoing message from the apparatus, wherein J is an integer value greater than one;

generate a first outgoing hash token based on a second reversible combination of a K+1 generation hash (H K+1 ) value of a second seed known only to the apparatus and a hash of the first incoming message, wherein K is an integer value greater than one; and

send a first outgoing message that includes the first outgoing hash token to the device.

18. The computer program product of claim 17 , wherein the instructions when executed by the one or more processors, further causes the apparatus to:

determine the J+1 generation hash (H J+1 ) value of the first seed from the first incoming hash token; and

store the J+1 generation hash (H J+1 ) value for use in authenticating a second incoming message from the device.

19. The computer program product of claim 18 , wherein the instructions when executed by the one or more processors, further causes the apparatus to receive the second incoming message from the device, wherein the second incoming message includes a second incoming hash token based on a third reversible combination of a J generation hash (H J ) value of the first seed and the hash of the first outgoing message.

20. The computer program product of claim 19 , wherein the instructions when executed by the one or more processors, further causes the apparatus to:

determine the J generation hash (H J ) value from the second incoming hash token;

determine whether a hash value of the J generation hash (H J ) value is equal to the H J+1 value; and

authenticate the second incoming message was from the device and that the first outgoing message was received complete and unaltered by the device when the hash value of the J generation hash (H J ) value is equal to the H J+1 value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2023
From: FUTUREWEI TECHNOLOGIES, INC.
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 065304/0336 →
Continuity (3)
Continuation PCTUS2022013402 · Jan 21, 2022
Provisional Application 63140677 · Jan 22, 2021
Related Publication 20230362023A1 · Nov 9, 2023
References Cited (23)
US 8224754B2 · Pastusiak · 2012 [cited by examiner]
US 9172698B1 · Evans · 2015 [cited by examiner]
US 11190358B2 · Bettger · 2021 [cited by examiner]
US 11683182B2 · Gray · 2023 [cited by examiner]
US 12021998B2 · Bettger · 2024 [cited by examiner]
US 20070113083A1 · Volkovs · 2007 [cited by examiner]
US 20090089266A1 · Gollapudi · 2009 [cited by examiner]
US 20140173682A1 · Liang et al. · 2014 [cited by applicant]
US 20210351932A1 · Gray · 2021 [cited by examiner]
US 20230362022A1 · Eastlake, III · 2023 [cited by examiner]
Droms, R., “Dynamic Host Configuration Protocol,” Network Working Group, RFC 2131, Mar. 1997, 45 pages. [cited by applicant]
Eastlake, D., III, et al., “Randomness Requirements for Security,” Network Working Group, RFC 4086, Jun. 2005, 48 pages. [cited by applicant]
Eastlake, D., III, et al., “IANA Considerations and IETF Protocol and Documentation Usage for IEEE 802 Parameters,” Internet Engineering Task Force (IETF), RFC 7042, Oct. 2013, 27 pages. [cited by applicant]
Mrugalski, T., et al., “Dynamic Host Configuration Protocol for IPv6 (DHCPv6),” Internet Engineering Task Force (IETF), RFC 8415, Nov. 2018, 154 pages. [cited by applicant]
Volz, B., et al., “Link-Layer Address Assignment Mechanism for DHCPv6,” Internet Engineering Task Force (IETF), RFC 8947, Dec. 2020, 18 pages. [cited by applicant]
Bernardos, CJ., et al., “Structured Local Address Plan (SLAP) Quadrant Selection Option for DHCPv6,” Internet Engineering Task Force (IETF), RFC 8948, Dec. 2020, 13 pages. [cited by applicant]
De La Olivia, A., et al., “Protocol for Assignment of Local and Multicast Addresses (PALMA),” Interdigital, UC3M, IEEE 802.1CQ, Jun. 30, 2022, 18 pages. [cited by applicant]
Lamport, L., “Password Authentication with Insecure Communication,” SRI International, Communications of the ACM. vol. 24, No. 11, Nov. 1981, 3 pages. [cited by applicant]
“Federal Information Processing Standards Publication Secure Hash Standard (SHS),” FIPS PUB 180-4, Information Technology Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899-8900, Aug. 2015,… [cited by applicant]
Hu, C.H., et al., “Efficient Constructions for One-way Hash Chains,” ACNS 2005, LNCS 3531, pp. 423-441. [cited by applicant]
Zhao, Y., et al., “An Improved Elegant Method to Re-initialize Hash Chains,” Department of Information Engineering, Beijing University of Posts and Telecommunications, Jan. 18, 2005, 8 pages. [cited by applicant]
“Information Technology—Open Systems Interconnection—Base Reference Model: The Basic Model” ISO/IEC 7498-1, Second Edition Nov. 15, 1994, 6 pages. [cited by applicant]
“T/Key: Second-Factor Authentication From Secure Hash Chains,” arXiv:1708/08424v1, CCS '17, Oct. 30-Nov. 3, 2017, 17 pages. [cited by applicant]