IP Library Granted Patent US 11,463,243
Granted Patent B2
US 11,463,243 · App. 16/901,261 · Granted Oct 4, 2022

Key generation method and apparatus using double encryption

Inventors: Qing An (Hangzhou, CN); Yingfang Fu (Hangzhou, CN)
Assignee: ALIBABA GROUP HOLDING LIMITED
H04L9/085H04L9/0822H04L9/0861H04L9/0866H04L12/66H04L63/0478H04L63/06H04L2463/062
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 11,463,243
App. No.
16/901,261
Granted
Oct 4, 2022
Kind
B2
Abstract

The disclosure provides a key generation method and apparatus. The key generation method comprises: encrypting a first key factor generated by a first device with an initial key, and sending the encrypted first key factor to a second device through a first secure channel, wherein the initial key is a key preset for the first device and the second device; receiving, through the first secure channel, a second key factor encrypted with the initial key, wherein the second key factor is generated by the second device; decrypting the second key factor encrypted with the initial key and received through the first secure channel, so as to obtain the second key factor; and generating a shared key between the first device and the second device according to the first key factor and the second key factor. According to the disclosed embodiments, a gateway device is unable to acquire a shared key negotiated between a first device and a second device, ensuring the security of data transmitted there between, and further reducing the risk of data being illegally captured during transmission.

Claims (97)

1. A method comprising:

receiving, at a server device through a second secure channel, a first key factor encrypted using an initial key from a terminal device, the initial key comprising a key preset between the terminal device and the server device;

decrypting, by the server device, the first key factor;

generating, by the server device, a shared key based on the first key factor and a second key factor generated by the server device;

encrypting, by the server device, the second key factor using the initial key; and

sending, by the server device, the second key factor to the terminal device through the second secure channel.

2. The method of claim 1 , further comprising:

determining, by the server device, a replacement cycle of the shared key between the terminal device and the server device;

re-calculating, by the server device, the first key factor and the second key factor according to the replacement cycle; and

replacing, by the server device, the shared key based on the re-calculated first key factor and the second key factor.

3. The method of claim 1 , further comprising:

receiving, by the server device from the terminal device through the second secure channel, data that has been encrypted with the shared key; and

decrypting, by the server device, the data with the shared key.

4. The method of claim 3 , further comprising:

generating, by the server device, response data after receiving the data;

encrypting, by the server device, the response data with the shared key; and

sending, by the server device, the response data to the first device through the second secure channel.

5. The method of claim 1 , the generating the shared key comprising:

concatenating the initial key, a device identity of the first device, the first key factor, and the second key factor in series to obtain a combined string;

segmenting the combined string into two substrings of equal length;

performing a hash operation on the two substrings respectively to obtain two hash results; and

performing an XOR operation on the two hash results by bit to obtain the shared key between the first device and the second device.

6. An apparatus comprising:

a processor configured to;

receive, through a second secure channel, a first key factor encrypted using an initial key from a terminal device, the initial key comprising a key preset between the terminal device and the apparatus;

decrypt the first key factor;

generate a shared key based on the first key factor and a second key factor generated by the apparatus;

encrypt the second key factor using the initial key; and

send the second key factor to the terminal device through the second secure channel.

7. The apparatus of claim 6 , the processor further configured to:

determine a replacement cycle of the shared key between the terminal device and the apparatus;

re-calculate the first key factor and the second key factor according to the replacement cycle; and

replace the shared key based on the re-calculated first key factor and the second key factor.

8. The apparatus of claim 6 , the processor further configured to:

receive, from the terminal device through the second secure channel, data that has been encrypted with the shared key; and

decrypt the data with the shared key.

9. The apparatus of claim 8 , the processor further configured to:

generate response data after receiving the data;

encrypt the response data with the shared key; and

send the response data to the first device through the second secure channel.

10. The apparatus of claim 6 , the generating the shared key comprising:

concatenating the initial key, a device identity of the first device, the first key factor, and the second key factor in series to obtain a combined string;

segmenting the combined string into two substrings of equal length;

performing a hash operation on the two substrings respectively to obtain two hash results; and

performing an XOR operation on the two hash results by bit to obtain the shared key between the first device and the second device.

11. A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of:

receiving, at a server device through a second secure channel, a first key factor encrypted using an initial key from a terminal device, the initial key comprising a key preset between the terminal device and the server device;

decrypting, by the server device, the first key factor;

generating, by the server device, a shared key based on the first key factor and a second key factor generated by the server device;

encrypting, by the server device, the second key factor using the initial key; and

sending, by the server device, the second key factor to the terminal device through the second secure channel.

12. The non-transitory computer-readable storage medium of claim 11 , the steps further comprising:

determining, by the server device, a replacement cycle of the shared key between the terminal device and the server device;

re-calculating, by the server device, the first key factor and the second key factor according to the replacement cycle; and

replacing, by the server device, the shared key based on the re-calculated first key factor and the second key factor.

13. The non-transitory computer-readable storage medium of claim 11 , the steps further comprising:

receiving, by the server device from the terminal device through the second secure channel, data that has been encrypted with the shared key; and

decrypting, by the server device, the data with the shared key.

14. The non-transitory computer-readable storage medium of claim 13 , the steps further comprising:

generating, by the server device, response data after receiving the data;

encrypting, by the server device, the response data with the shared key; and

sending, by the server device, the response data to the first device through the second secure channel.

15. The non-transitory computer-readable storage medium of claim 11 , the generating the shared key comprising:

concatenating the initial key, a device identity of the first device, the first key factor, and the second key factor in series to obtain a combined string;

segmenting the combined string into two substrings of equal length;

performing a hash operation on the two substrings respectively to obtain two hash results; and

performing an XOR operation on the two hash results by bit to obtain the shared key between the first device and the second device.

16. A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining the steps of:

encrypting a first key factor generated using an initial key, the initial key comprising a present key and a server device;

sending the encrypted first key factor to the server device through a first secure channel;

receiving, through the first secure channel, a second key factor encrypted with the initial key, the second key factor encrypted by the server device using the initial key;

decrypting the second key factor using the initial key; and

generating a shared key based on the initial key, a device identity, the first key factor, and the decrypted second key factor.

17. The non-transitory computer-readable storage medium of claim 16 , the encrypting a first key factor comprising:

initiating a key negotiation procedure with the server device;

generating the first key factor through a pseudo-random function in response to the initiating;

encrypting the first key factor using the initial key to obtain an encrypted first key factor; and

encrypting the encrypted first key factor with a first encryption key of the first secure channel to obtain a twice-encrypted first key factor.

18. The non-transitory computer-readable storage medium of claim 16 , the decrypting the second key factor using the initial key comprising:

decrypting a double-encrypted second key factor with a first encryption key of the first secure channel to obtain a once-decrypted second key factor; and

decrypting the once-decrypted second key factor with the initial key to obtain an unencrypted second key factor.

19. The non-transitory computer-readable storage medium of claim 16 , the generating the shared key based on the initial key, the device identity, the first key factor, and the second key factor comprising:

concatenating the initial key, the device identity, the first key factor, and the second key factor in series to obtain a combined string;

segmenting the combined string into two substrings of equal length;

performing a hash operation on the two substrings respectively to obtain two hash results; and

performing an XOR operation on the two hash results by bit to obtain the shared key.

20. The non-transitory computer-readable storage medium of claim 16 , the steps further comprising:

determining a replacement cycle of the shared key;

re-calculating the first key factor and the second key factor based on the replacement cycle; and

replacing the shared key using the re-determined first key factor and the second key factor.

21. The non-transitory computer-readable storage medium of claim 16 , the steps further comprising:

determining data to be transmitted to the server device;

encrypting the data to be transmitted with the shared key; and

sending the encrypted data to the server device through the first secure channel.

22. The non-transitory computer-readable storage medium of claim 16 , the steps further comprising:

receiving, through the first secure channel, response data generated by the server device in response to the data to be transmitted, the response data encrypted with the shared key; and

decrypting the response data using the shared key.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2020
From: AN, QING; FU, YINGFANG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 052938/0190 →
Priority Claims (1)
CN 201510531892.2 · Aug 26, 2015 · national
Continuity (2)
Continuation 15752743
Related Publication 20200313865A1 · Oct 1, 2020