IP Library Granted Patent US 11,218,298
Granted Patent B2
US 11,218,298 · App. 16/158,161 · Granted Jan 4, 2022

Secured communication between a host device and a client device

Inventors: William Neumann (Robbinsdale, MN); Colin Hanson (Wayzata, MN)
Assignee: Ademco Inc.
H04L9/0833H04L9/3073H04L9/3263H04L63/0478H04L63/0823H04L63/065
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,218,298
App. No.
16/158,161
Granted
Jan 4, 2022
Kind
B2
Abstract

A method for a host to establish communication with a client comprising receiving a client-specific certificate and a pairing request message, verifying the client-specific certificate, verifying the pairing request message, sending a host-specific certificate and a first value, receiving a second value, verifying the second value; sending a third value, receiving an encrypted fourth value, decrypting the fourth value using a group key, determining the fourth value equals the third value, identifying the client received the group key correctly, and ending a verification message indicating successful establishment of communication.

Claims (63)

1. A method for a host to establish communication with a client, the method comprising:

receiving a pairing request message from the client;

sending a host-specific certificate and a first value to the client;

receiving a second value from the client in response to sending the host-specific certificate and the first value;

deriving a temporary key in response to the second value being valid;

encrypting, using the temporary key, a group key, and a key encryption key for updating the group key;

sending a third value, the encrypted group key, and the encrypted key encryption key, to the client in response to the second value being valid;

receiving an encrypted fourth value from the client;

decrypting the fourth value using the updated group key; and

sending a verification message to the client indicating successful establishment of communication in response to identifying that the client received the group key correctly.

2. The method of claim 1 , further comprising:

generating the first value in response to a signature on the pairing request message being valid; and

signing the first value with a private key.

3. The method of claim 1 , further comprising:

encrypting a first and second nonce using the temporary key; and

sending the encrypted first and second nonce to the client.

4. The method of claim 3 , further comprising generating the group key for a current group period and the encryption key for updating the group key.

5. The method of claim 1 , further comprising:

determining the fourth value equals the third value; and

identifying that the client received the group key correctly based on the fourth value equaling the third value,

wherein the verification message includes at least one nonce to verify that the verification message is valid.

6. The method of claim 1 , further comprising using the updated group key to communicate with the client.

7. The method of claim 1 , wherein sending the host-specific certificate and the first value to the client comprises sending a blinded value to the client.

8. The method of claim 1 , wherein receiving the second value from the client comprises receiving a blinded value based on a random value.

9. A controller for establishing communication with a plurality of clients, the controller comprising:

a memory; and

processing circuitry operatively coupled to the memory and configured to:

receive a pairing request message from the client;

send a host-specific certificate and a first value to the client;

receive a second value from the client in response to sending the host-specific certificate and the first value;

derive a temporary key in response to the second value being valid;

encrypt, using the temporary key, a group key and a key encryption key;

send a third value, the encrypted group key, and the encrypted key encryption key, to the client in response to the second value being valid;

receive an encrypted fourth value from the client;

decrypt the fourth value using an updated group key; and

send a verification message to the client indicating successful establishment of communication in response to identifying that the client received the group key correctly.

10. The controller of claim 9 , wherein the processing circuitry is further configured to:

generate the first value in response to a signature on the pairing request message being valid; and

sign the first value with a private key.

11. The controller of claim 10 , further configured to:

encrypt a first and second nonce, using the temporary key; and

send the encrypted first and second nonce to the client.

12. The controller of claim 11 , further configured to generate the group key for a current group period and the encryption key for updating the group key.

13. The controller of claim 9 , wherein the processing circuitry is further configured to:

determine the fourth value equals the third value; and

identify that the client received the group key correctly based on the fourth value equaling the third value,

wherein the verification message includes at least one nonce to verify that the verification message is valid.

14. The controller of claim 9 , wherein the processing circuitry is further configured to use the group key to communicate with the client.

15. The controller of claim 9 , wherein to send the host-specific certificate and the first value to the client, the processing circuitry configured to send a blinded value to the client.

16. The controller of claim 9 , wherein to receive the second value from the client, the processing circuitry configured to receive a blinded value based on a random value.

17. A host device for establishing communication with a plurality of clients, the host device comprising:

a memory; and

processing circuitry operatively coupled to the memory and configured to:

send a first blinded value to a client of the plurality of clients;

receive a second blinded value from the client;

compute a shared value based on the first blinded value and the second blinded value;

derive a temporary key based on the shared value;

encrypt, using the temporary key, a group key and a key encryption key for updating the group key;

send the encrypted group key and the encrypted key encryption key to the client;

after sending the encrypted group key and the encrypted key encryption key to the client, receive an encrypted message from the client;

decrypt the message using the updated group key; and

send a verification message to the client indicating successful establishment of communication in response to identifying that the client received the group key correctly.

18. The host device of claim 17 , wherein the processing circuitry is configured to generate the first blinded value based on a random value.

Assignments (4)
CHANGE OF NAME Recorded Jun 12, 2025
From: ADEMCO INC.
To: RESIDEO LLC
Reel/Frame 071546/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2020
From: HONEYWELL INTERNATIONAL INC.
To: ADEMCO INC.
Reel/Frame 053493/0006 →
PATENT SECURITY AGREEMENT FIRST SUPPLEMENT Recorded Jan 30, 2019
From: ADEMCO INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 048182/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2018
From: NEUMANN, WILLIAM; HANSON, COLIN
To: HONEYWELL INTERNATIONAL INC.
Reel/Frame 047139/0996 →