IP Library Granted Patent US 11,831,783
Granted Patent B2
US 11,831,783 · App. 17/557,796 · Granted Nov 28, 2023

System and method for secure communication with one or more unmanned aerial vehicles

Inventors: Gregory Colacitti (Vaughan, CA); Paul Di Benedetto (Vaughan, CA); Mike J. Fattori (Toronto, CA); Ruven Shapiro (Toronto, CA)
Assignee: Drone Delivery Canada Corp.
H04L9/3242H04L9/0643H04L9/0861H04W12/069H04W12/106H04W12/50
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,831,783
App. No.
17/557,796
Granted
Nov 28, 2023
Kind
B2
Abstract

Various embodiments of a system and method for secure, authenticated communication with one or more unmanned aerial vehicles (UAVs) are described herein. The system includes at least one computing system which is operable with instructions to: receive, from an unmanned aerial vehicle of one or more unmanned vehicles, a message; extract, from the message, an unmanned aerial vehicle serial number and a secret key; compute a hash of the secret key to generate a first hashed secret key; retrieve, from an internal database located on a non-transient memory of the at least one computing system, a second hashed secret key associated with the unmanned aerial vehicle serial number; and compare the first hashed secret key with the second hashed secret key to determine whether the message is valid.

Claims (46)

1. A method for secure communication with one or more unmanned aerial vehicles, the method comprising:

receiving, by at least one computing system located at a flight management system, over a communication network, from a controller located at an unmanned aerial vehicle (UAV) of the one or more unmanned vehicles, a message generated by the controller of the UAV;

extracting, by the at least one computing system, from the message, an unmanned aerial vehicle serial number and a secret key;

computing, at the at least one computing system, a hash of the secret key to generate a first hashed secret key;

retrieving, from an internal database located at the flight management system, a second hashed secret key associated with the unmanned aerial vehicle serial number;

comparing the first hashed secret key with the second hashed secret key, wherein the message is determined to be valid if the first hashed secret key agrees with the second hashed secret key.

2. The method of claim 1 , further comprising:

after determining the message to be valid, transmitting, by the at least one computing system, to the controller of the UAV, a first response poll message, wherein the first response poll message comprises one of a command message, an information request message and an acknowledgement message.

3. The method of claim 1 , wherein the message is a hypertext transfer protocol (HTTP) POST message, which is transmitted over an HTTP secure channel.

4. The method of claim 1 , wherein the message is a polling request configured to initiate communication between the UAV and the at least one computing system.

5. The method of claim 2 , wherein when the first response poll message is a command message, the first response poll message comprises:

a payload field defined by an encoded command; and

a hash field defined by a first hash of the encoded command.

6. The method of claim 5 , wherein after transmitting the first response poll message, the method further comprises:

receiving, by the at least one computing system, a second response poll message indicating whether the first hash agrees with a second hash, wherein the second hash of the encoded command in the payload field is generated by the controller of the UAV, and the second hash is compared with the first hash of the encoded command at the controller.

7. The method of claim 5 , wherein the encoded command includes a command for one of loading UAV route data and modifying UAV route data.

8. The method of claim 2 , wherein the first response poll message is an information request message, and wherein after transmitting the first response poll message, the method further comprises:

receiving, by the at least one computing system, a second response poll message, the second response poll message being generated by the controller of the UAV and comprising the requested information.

9. The method of claim 1 , wherein the message comprises an alert message, and wherein the alert message indicates at least one of a failed command execution by an autopilot and a status change in the autopilot, wherein the autopilot is in data communication with the controller, and the autopilot is also located on the UAV and configured to control the UAV.

10. The method of claim 9 , wherein the message comprises a heartbeat message, wherein the heartbeat message includes information retrieved from at least one of the autopilot and the controller.

11. The method of claim 1 , wherein the message is a short message service (SMS) message.

12. The method of claim 1 , wherein the hashing employs an SHA256 hash method.

13. A method for secure communication with one or more unmanned aerial vehicles, the method comprising:

transmitting, by a controller located on an unmanned aerial vehicle (UAV) of the one or more unmanned aerial vehicles, to a flight management system, over a communication network, a poll request message; and

receiving, by the controller, from the flight management system, a response message comprising at least one of an information request message, a command message or an acknowledgement message,

wherein when the response message comprises the command message, the method further comprises:

receiving, by the controller, from the flight management system, over the communication network, the command message comprising a first authentication code, the first authentication code being generated at the flight management system and being based on a command to be executed by the controller of the UAV, a date and time stamp prepended to the command and a first hashed secret key corresponding to the UAV, the first hashed secret key being locally stored at the flight management system;

processing, by the controller, the command message to determine if local time agrees with the time stamp corresponding to the command message;

if so, processing, by the controller, the command message to prepend the local time to the command message;

computing, by the controller, hash of a secret key corresponding to the UAV to generate a second hashed secret key;

generating, by the controller, a second authentication code based on the second hashed secret key, local date and time stamp and the command message;

determining, by the controller, if the first authentication code agrees with the second authentication code;

if the first authentication code agrees with the second authentication code, executing the command included in the command message by the controller of the UAV.

14. The method of claim 13 , further comprising:

transmitting, by the controller, to the flight management system, over the communication network, a key request message;

receiving from the flight management system, at the controller, an encryption key and a session identification number;

using the encryption key, encrypting at the controller a heartbeat message to generate an encrypted heartbeat message;

attaching at the controller the session identification number to the encrypted heartbeat message; and

transmitting, from the controller, the encrypted heartbeat message to the flight management system.

15. The method of claim 14 , further comprising: compressing, by the controller, the heartbeat message before transmitting.

16. The method of claim 14 , wherein the heartbeat message comprises status information of the UAV.

17. The method of claim 14 , wherein the heartbeat message comprises location information of the UAV.

18. The method of claim 14 , wherein the encryption key is an AES-256-encryption key.

19. The method of claim 14 , further comprising:

generating, by the controller, an initialization vector; and

attaching, by the controller, the initialization vector to the encrypted heartbeat message.

Assignments (5)
SECURITY INTEREST Recorded Oct 25, 2024
From: VOLATUS AEROSPACE INC. (FORMERLY DRONE DELIVERY CANADA CORP.); VOLATUS AEROSPACE CORP.; VOLATUS FLIGHT SYSTEMS INC.; SYNERGY AVIATION LTD.
To: INVESTISSEMENT QUÉBEC
Reel/Frame 069018/0658 →
SECURITY INTEREST Recorded Oct 25, 2024
From: VOLATUS AEROSPACE INC. (FORMERLY DRONE DELIVERY CANADA CORP.); VOLATUS AEROSPACE CORP.; VOLATUS FLIGHT SYSTEMS INC.; SYNERGY AVIATION LTD.
To: INVESTISSEMENT QUÉBEC
Reel/Frame 069238/0650 →
CHANGE OF NAME Recorded Oct 22, 2024
From: DRONE DELIVERY CANADA CORP.
To: VOLATUS AEROSPACE INC.
Reel/Frame 068972/0962 →
SECURITY INTEREST Recorded Oct 22, 2024
From: VOLATUS AEROSPACE INC.
To: EXPORT DEVELOPMENT CANADA
Reel/Frame 068973/0018 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2022
From: COLACITTI, GREGORY; DI BENEDETTO, PAUL; FATTORI, MIKE J.; SHAPIRO, RUVEN
To: DRONE DELIVERY CANADA CORP.
Reel/Frame 058986/0942 →