IP Library Granted Patent US 10,050,781
Granted Patent B2
US 10,050,781 · App. 15/241,668 · Granted Aug 14, 2018

Method, apparatus, terminal device and system for generating shared key

Inventors: Peng Yuan (Beijing, CN); Yingfang Fu (Beijing, CN); Shaojie Liu (Beijing, CN); Zhiqiang Wang (Beijing, CN)
Assignee: Alibaba Group Holding Limited
H04L9/0838H04L9/0852H04L9/0869H04L9/14
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,050,781
App. No.
15/241,668
Granted
Aug 14, 2018
Kind
B2
Abstract

Embodiments of the present application provide apparatus and methods for generating a shared key, including setting up a key negotiation connection, and determining an algorithm code by negotiating using the key negotiation connection. An algorithm corresponding to the algorithm code is retrieved from a pre-stored algorithm library, and a pre-stored seed key is calculated using the algorithm to obtain a shared key. Compared with traditional key generation methods, embodiments of the present invention avoid the problem of a high bit error rate that occurs in the traditional quantum key generation methods, especially quantum key generation methods. One exemplary method determines an algorithm code through negotiation, retrieves a pre-stored algorithm corresponding to the algorithm code, and generates a new shared key using a seed key.

Claims (63)

1. A method for generating a shared key, the method comprising:

establishing a key negotiation connection between a pair of terminals;

determining an algorithm code by negotiating between the pair of terminals using the key negotiation connection, the determining including;

sending the algorithm code from a first terminal to a second terminal of the pair of terminals using the key negotiation connection, the sending including:

encrypting the algorithm code using a preset key to generate an encrypted algorithm code; and

sending the encrypted algorithm code to the second terminal using the key negotiation connection;

receiving information indicating if the algorithm code is agreed to from the second terminal; and

selecting the algorithm code when the algorithm code is agreed to;

searching for an algorithm corresponding to the algorithm code in a pre-stored algorithm library; and

calculating a shared key using the algorithm, wherein a seed key is used as a parameter of the algorithm.

2. The method of claim 1 , wherein the establishing a key negotiation connection comprises:

sending a key negotiation request to the second terminal; and

receiving response information indicating that the second terminal agrees with the key negotiation request.

3. The method of claim 2 , wherein the response information comprises authentication information, and the receiving response information indicating that the second terminal agrees with the key negotiation request comprises determining that the second terminal is valid based on the authentication information.

4. The method of claim 1 , further comprising:

receiving a recommended algorithm code from the second terminal;

acknowledging the recommended algorithm code; and

sending to the second terminal information indicating that the recommended algorithm code is being used.

5. The method of claim 1 , further comprising determining a random number by negotiating with the second terminal using the key negotiation connection, wherein calculating a shared key using the algorithm comprises calculating the shared key using the algorithm and the random number, wherein the random number is a parameter of the algorithm.

6. The method of claim 5 , wherein the determining a random number by negotiating with the second terminal using the key negotiation connection comprises:

receiving information indicating if the random number is agreed to by the second terminal; and

selecting the random number when the random number is agreed to.

7. The method of claim 6 , further comprising:

receiving a recommended random number from the second terminal;

acknowledging the recommended random number; and

sending information to the second terminal indicating that the recommended random number is being used.

8. The method of claim 6 , wherein the sending a random number to the second terminal using the key negotiation connection comprises:

encrypting the random number using a preset key; and

sending the encrypted random number to the second terminal using the key negotiation connection.

9. The method of claim 8 , wherein the seed key is a quantum seed key.

10. An apparatus for generating a shared key, comprising:

a main memory; and

a processor communicatively coupled to the main memory that

establishes a key negotiation connection between a pair of terminals,

determines an algorithm code by negotiating between the pair of terminals using the key negotiation connection, determining the algorithm code to include:

sending the algorithm code from a first terminal to a second terminal of the pair of terminals using the key negotiation connection, sending the algorithm code to include:

encrypting the algorithm code using a preset key to generate an encrypted algorithm code; and

sending the encrypted algorithm code to the second terminal using the key negotiation connection;

receiving information indicating if the algorithm code is agreed to from the second terminal; and

selecting the algorithm code when the algorithm code is agreed to;

searches for an algorithm corresponding to the algorithm code in a pre-stored algorithm library, and

calculates a shared key using the algorithm and a pre-stored seed key, wherein the pre-stored key is a parameter of the algorithm.

11. The apparatus of claim 10 , wherein the processor sends a key negotiation request to the second terminal, and receives response information, wherein the response information indicates that the second terminal agrees with the key negotiation request.

12. The apparatus of claim 11 , wherein the processor determines if the second terminal is valid based on the authentication information of the second terminal, wherein the key negotiation connection is established when the second terminal is determined to be valid.

13. The apparatus of claim 10 , wherein the processor sends additional algorithm codes to the second terminal until at least one of the additional algorithm codes is agreed to by the second terminal.

14. A non-transitory computer-readable medium that stores a plurality of instructions that, when executed by a processor, implement a method for generating a shared key, the method comprising:

establishing a key negotiation connection between a pair of terminals,

determining an algorithm code by negotiating between the pair of terminals using the key negotiation connection, determining the algorithm code to include:

sending the algorithm code from a first terminal to a second terminal of the pair of terminals using the key negotiation connection, sending the algorithm code to include:

encrypting the algorithm code using a preset key to generate an encrypted algorithm code; and

sending the encrypted algorithm code to the second terminal using the key negotiation connection;

receiving information indicating if the algorithm code is agreed to from the second terminal; and

selecting the algorithm code when the algorithm code is agreed to;

searching for an algorithm corresponding to the algorithm code in a pre-stored algorithm library, and

calculating a shared key using the algorithm and a pre-stored seed key, wherein the pre-stored seed key is used as a parameter of the algorithm.

15. The apparatus medium of claim 14 , wherein establishing a key negotiation connection includes:

sending a key negotiation request to the second terminal; and

receiving response information indicating that the second terminal agrees with the key negotiation request.

16. The medium of claim 15 , wherein the response information comprises authentication information, and the receiving response information indicating that the second terminal agrees with the key negotiation request comprises determining that the second terminal is valid based on the authentication information.

17. The medium of claim 14 , further comprising:

receiving a recommended algorithm code from the second terminal;

acknowledging the recommended algorithm code; and

sending to the second terminal information indicating that the recommended algorithm code is being used.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075478/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2016
From: YUAN, PENG; FU, YINGFANG; LIU, SHAOJIE; WANG, ZHIQIANG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 040478/0209 →
Priority Claims (1)
CN 2015 1 0516356 · Aug 20, 2015 · national
Continuity (1)
Related Publication 20170054555A1 · Feb 23, 2017
Cited By (2)
US 12,531,728 US 12,621,659