IP Library › Granted Patent US 10,833,853
Granted Patent B2
US 10,833,853 · App. 16/003,978 · Granted Nov 10, 2020

Method and device for secure communication

Inventors: Yongsen Chen (Shenzhen, CN); Peng Xie (Shenzhen, CN); Ridong Wan (Shenzhen, CN); Jun Wu (Shenzhen, CN); Ming Gong (Shenzhen, CN); Zhongqian You (Shenzhen, CN)
Assignee: SZ DJI TECHNOLOGY CO., LTD.
H04L9/0861H04L9/0869H04L9/14H04L9/3242H04W12/0017H04W12/06G06F7/588H04L2209/80H04L2209/84
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,833,853
App. No.
16/003,978
Granted
Nov 10, 2020
Kind
B2
Abstract

A secure communication method comprising obtaining a secret code generated in response to a first communication device being paired with a second communication device, obtaining a prestored product key, generating a module key based on the secret code and the product key, randomly generating a session key, obtaining a key sequence number, auto-incrementing the key sequence number, setting a sending sequence number with an initial value of zero, generating a key frame by performing a computation on the session key and a verification authentication code of the session key using the module key, sending a data packet including the key frame, the key sequence number, the sending sequence number, and a data type to the second communication device. The data type indicates that the data packet is a key data packet.

Claims (60)

1. A secure communication method comprising:

obtaining a secret code generated in response to a first communication device being paired with a second communication device;

obtaining a prestored product key;

generating a module key based on the secret code and the product key;

randomly generating a session key;

obtaining a key sequence number;

auto-incrementing the key sequence number;

setting a sending sequence number with an initial value of zero;

generating a key frame by performing a computation on the session key and a verification authentication code of the session key using the module key; and

sending a data packet including the key frame, the key sequence number, the sending sequence number, and a data type to the second communication device.

2. The method of claim 1 , wherein:

the first communication device is a master and the second communication device is a slave.

3. The method of claim 2 , wherein:

the first communication device is a flight controller and the second communication device is an unmanned aerial vehicle (UAV) or one or more circuits of the UAV.

4. The method of claim 3 , wherein:

the one or more circuits of the UAV includes one or more cameras and/or one or more gimbals.

5. The method of claim 1 :

wherein the data packet is a first data packet and the data type is a first data type;

the method further comprising:

repeating the following until the first communication device is powered up and restarted:

obtaining the sending sequence number;

auto-incrementing the sending sequence number;

obtaining instruction data to be sent;

generating an instruction data frame by encrypting the instruction data and a verification authentication code of the instruction data using the session key; and

sending a second data packet including the instruction data frame, the sending sequence number, and a second data type to the second communication device, the second data type indicating that the second data packet is an instruction data packet.

6. The method of claim 1 , wherein:

the product key is burned in one or more secure storages of the first communication device.

7. The method of claim 1 , wherein:

the module key is generated by performing a derivation algorithm on the secret code and the product key, the derivation algorithm including at least one of an encryption or a Message Authentication Code.

8. The method of claim 1 , wherein:

the session key is dynamically generated by using a random number generator.

9. The method of claim 1 , wherein auto-incrementing the key sequence number includes:

incrementing a value of the key sequence number by one each time the session key is generated.

10. The method of claim 1 , wherein auto-incrementing the sending sequence number includes:

incrementing a value of the sending sequence number by one each time data is sent to the second communication device or every preset time period.

11. The method of claim 1 , wherein performing the computation on the session key and the verification authentication code of the session key using the module key includes an encryption and/or a Message Authentication Code.

12. The method of claim 1 , wherein:

the module key, the sending sequence number, and the session key are stored in one or more volatile memories of the first communication device; and

the secret code and the key sequence number are stored in one or more non-volatile memories of the first communication device.

13. The method of claim 5 , wherein:

an initial value of the sending sequence number is zero;

the sending sequence number monotonically increases in response to the session key remaining unchanged; and

the sending sequence number is reset to zero in response to the session key being changed.

14. The method of claim 13 , wherein:

the session key and the sending sequence number are stored in one or more volatile memories of the first communication device.

15. A communication device comprising:

an authentication sending circuit configured to:

obtain a secret code generated in response to a first communication device being paired with a second communication device;

obtain a prestored product key;

generate a module key based on the secret code and the product key;

randomly generating a session key;

obtain a key sequence number,

auto-increment the key sequence number,

set a sending sequence number with an initial value of zero,

generate a key frame by performing a computation on the session key and a verification authentication code of the session key using the module key; and

send a data packet to the second communication device, the data packet including the key frame, the key sequence number, the sending sequence number, and a data type.

16. The device of claim 15 , wherein:

the communication device is an unmanned aerial vehicle (UAV), a circuit of the UAV, or a flight controller configured to control the UAV.

17. The device of claim 15 , wherein:

the communication device is a message sender and a message receiver.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2019
From: CHEN, YONGSEN; XIE, PENG; WAN, RIDONG; WU, JUN; GONG, MING; YOU, ZHONGQIAN
To: SZ DJI TECHNOLOGY CO., LTD.
Reel/Frame 048323/0015 →
Continuity (2)
Continuation PCTCN2015097060 · Dec 10, 2015
Related Publication 20180295516A1 · Oct 11, 2018