IP Library Granted Patent US 10,164,951
Granted Patent B2
US 10,164,951 · App. 15/961,868 · Granted Dec 25, 2018

Establishing secure communication over an internet of things (IoT) network

Inventors: Kenneth Keung Yum Yu (Hong Kong, HK); Chan Yiu Ng (Hong Kong, HK)
Assignee: SKYI Technology Limited
H04L63/0428G06F21/602G06F21/606H04L9/0861H04L9/0894H04L63/062H04L63/102H04L63/12H04L67/12
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,164,951
App. No.
15/961,868
Granted
Dec 25, 2018
Kind
B2
Abstract

A method includes performing by at least one host entity implemented in a network, receiving an encryption key generated by a key server and a key identifier associated with said encryption key, generating a header comprising an information identifier associated with an information to be protected, the device identifier corresponding to the key server and the key identifier associated with the encryption key, encrypting said information using said encryption key and associating the header with the encrypted information, transmitting said encrypted information and the associated header to a receiving entity and transmitting an authorization information, said key identifier, and said header to the key server. Further, in response to determination that the receiving entity is authorized to access the encrypted information, the receiving entity decrypts the encrypted information using decryption key received from the key server.

Claims (54)

1. A method comprising:

performing, by one or more hardware processors of at least one host entity of one or more host entities implemented in a network:

storing plurality of device identifiers, each device identifier corresponding to one of plurality of devices connected in the network to allow access and to share information between the plurality of devices, said plurality of devices comprising the one or more host entities, one or more client entities and one or more key servers;

storing an association between one or more devices of the plurality of devices, the association being represented as pairing of device identifiers corresponding to the one or more devices connected to over a communication link in the network;

in response to an encryption key request by the at least one host entity to a key server selected from the one or more key servers, receiving an encryption key generated by the key server and a key identifier associated with said encryption key;

generating a header comprising an information identifier associated with an information to be protected, the device identifier corresponding to the key server and the key identifier associated with the encryption key;

encrypting said information using said encryption key and associating the header with the encrypted information;

transmitting said encrypted information and the associated header to at least one receiving entity, the at least one receiving entity being selected from the one or more host entities and the one or more client entities connected to the at least one host entity over a communication link;

transmitting an authorization information indicating a set of receiving entities authorized to access the information, said key identifier, and said header to the key server; and

wherein on receiving the encryption key request from the at least one host entity, the key server generates a key pair comprising the encryption key and a decryption key, assigns the key identifier to the encryption key and transmits said encryption key and said key identifier to the at least one host entity.

2. The method of claim 1 , wherein on transmission of said authorization information, said key identifier, and said header to the key server, the key server stores the authorization information, the device identifier of the at least one host entity and the header as a record in a database.

3. The method of claim 2 , wherein on transmission of said encrypted information and the associated header to the at least one receiving entity, the at least one receiving entity:

extracts, the key identifier and the device identifier corresponding to the key server from the header;

requests, the key server, for the decryption key by transmitting the key identifier to said key server;

in response to determination that the at least one receiving entity is authorized to access the encrypted information, receives the decryption key from the key server; and

decrypts the encrypted information using the received decryption key.

4. The method of claim 3 , wherein the determination that the at least one receiving entity is authorized to access the information is performed by the key server, by matching a record corresponding to the key identifier and verifying authorization from authorization information associated with the matched record.

5. The method of claim 1 , wherein the authorization information further authorizes at least one client entity of the one or more client entities to transmit information to the at least one host entity.

6. The method of claim 5 , wherein the at least one client entity transmits the information on receiving a control message from the at least one host entity.

7. The method of claim 1 , wherein the authorization information is in form of a matrix comprising the device identifier of each receiving entity of the set of receiving entities authorized to access the information.

8. The method of claim 7 , wherein the matrix further comprises conditional authorization information including a threshold for number of times each receiving entity of the set of receiving entities can make the request and time period for which the each receiving entity of the set of receiving entities can make the request.

9. The method of claim 8 , wherein the at least one receiving entity receives the decryption key on verification of conditional authorization information.

10. The method of claim 1 , wherein the key pair is generated using any of an asymmetrical key scheme or a symmetrical key scheme.

11. The method of claim 1 , wherein the one or more client entities is selected from a position sensor, a motion sensor, a location sensor, an environmental sensor, or an electro-optical actuator.

12. A system, comprising:

one or more hardware processors of at least one host entity of one or more host entities implemented in a network; and

a memory coupled to the one or more processors and comprising computer readable program code embodied in the memory that is executable by at least one of the one or more processors to perform:

storing plurality of device identifiers, each device identifier corresponding to one of plurality of devices connected in the network to allow access and to share information between the plurality of devices, said plurality of devices comprising the one or more host entities, one or more client entities and one or more key servers;

storing an association between one or more devices of the plurality of devices, the association being represented as pairing of device identifiers corresponding to the one or more devices connected to over a communication link in the network;

in response to an encryption key request by the at least one host entity to a key server selected from the one or more key servers, receiving an encryption key generated by the key server and a key identifier associated with said encryption key;

generating a header comprising an information identifier associated with an information to be protected, the device identifier corresponding to the key server and the key identifier associated with the encryption key;

encrypting said information using said encryption key and associating the header with the encrypted information;

transmitting said encrypted information and the associated header to at least one receiving entity, the at least one receiving entity being selected from the one or more host entities and the one or more client entities connected to the at least one host entity over a communication link;

transmitting an authorization information indicating a set of receiving entities authorized to access the information, said key identifier, and said header to the key server;

wherein on receiving the encryption key request from the at least one host entity, the key server generates a key pair comprising the encryption key and a decryption key, assigns the key identifier to the encryption key and transmits said encryption key and said key identifier to the at least one host entity.

13. The system of claim 12 , wherein on transmission of said authorization information, said key identifier, and said header to the key server, the key server stores the authorization information, the device identifier of the at least one host entity and the header as a record in a database.

14. The system of claim 13 , wherein on transmission of said encrypted information and the associated header to the at least one receiving entity, the at least one receiving entity:

extracts, the key identifier and the device identifier corresponding to the key server from the header;

requests, the key server, for the decryption key by transmitting the key identifier to said key server;

in response to determination that the at least one receiving entity is authorized to access the encrypted information, receives the decryption key from the key server; and

decrypts the encrypted information using the received decryption key.

15. The system of claim 14 , wherein the determination that the at least one receiving entity is authorized to access the information is performed by the key server, by matching a record corresponding to the key identifier and verifying authorization from authorization information associated with the matched record.

16. The system of claim 12 , wherein the authorization information is in form of a matrix comprising the device identifier of each receiving entity of the set of receiving entities authorized to access the information.

17. The system of claim 16 , wherein the matrix further comprises conditional authorization information including a threshold for number of times each receiving entity of the set of receiving entities can make the request and time period for which the each receiving entity of the set of receiving entities can make the request.

18. A computer program product, comprising:

a non-transitory computer readable storage medium comprising computer readable program code embodied in the medium that is executable by one or more processors of at least one host entity of one or more host entities implemented in a network to perform:

storing plurality of device identifiers, each device identifier corresponding to one of plurality of devices connected in the network to allow access and to share information between the plurality of devices, said plurality of devices comprising the one or more host entities, one or more client entities and one or more key servers;

storing an association between one or more devices of the plurality of devices, the association being represented as pairing of device identifiers corresponding to the one or more devices connected to over a communication link in the network;

in response to an encryption key request by the at least one host entity to a key server selected from the one or more key servers, receiving an encryption key generated by the key server and a key identifier associated with said encryption key;

generating a header comprising an information identifier associated with an information to be protected, the device identifier corresponding to the key server and the key identifier associated with the encryption key;

encrypting said information using said encryption key and associating the header with the encrypted information;

transmitting said encrypted information and the associated header to at least one receiving entity, the at least one receiving entity being selected from the one or more host entities and the one or more client entities connected to the at least one host entity over a communication link;

transmitting an authorization information indicating a set of receiving entities authorized to access the information, said key identifier, and said header to the key server;

wherein on receiving the encryption key request from the at least one host entity, the key server generates a key pair comprising the encryption key and a decryption key, assigns the key identifier to the encryption key and transmits said encryption key and said key identifier to the at least one host entity.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2024
From: SKY1 TECHNOLOGY LIMITED
To: YU, KENNETH KEUNG YUM; NG, CHAN YIU
Reel/Frame 066690/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2018
From: YU, KENNETH KEUNG YUM; NG, CHAN YIU
To: SKY1 TECHNOLOGY LIMITED
Reel/Frame 045628/0157 →
Continuity (2)
Provisional Application 62490019 · Apr 25, 2017
Related Publication 20180309734A1 · Oct 25, 2018