# US 12,602,222 B2 · Over-the-air updating method, update server, terminal device, and internet of things system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,602,222 B2
- Document ID: US12602222B2
- Status: Granted
- Kind: B2
- Application number: 18/755,701
- Filed: 2024-06-27
- Published: 2024-12-12
- Granted: 2026-04-14
- Earliest claimed: 2020-06-23
- Assignees: Boe Technology Group Co., Ltd.
- Applicants: BOE Technology Group Co., Ltd.
- Inventors: Hongtao Guan
- Web page: https://patentgrep.com/patent/US12602222B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G16Y 10/75: Information technology; Communication
- G16Y 40/50: Safety; Security of things, users, data or systems
- H04L 9/0822: {using key encryption key}
- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3073: {involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing}
- H04W 4/70: Services for machine-to-machine communication [M2M] or machine type communication [MTC]
- H04W 8/24: Transfer of terminal data
- H04W 12/02: Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
- H04W 12/037: of the control plane, e.g. signalling traffic
- H04W 12/0433: Key management protocols
- H04W 12/10: Integrity
- H04L 2209/805: Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G16Y: INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

An over-the-air updating method, an update server, a terminal, and an internet of things system are provided. The over-the-air updating method is applied to an update server in an internet of things system which further includes a terminal. The update server is communicatively connected to the terminal. The method includes: generating an encryption public key and an encryption private key which match each other; sending the encryption public key to the terminal; generating an update key, and encrypting the update key with the encryption private key; sending the encrypted update key to the terminal, for the terminal decrypts the encrypted update key with the encryption public key; encrypting update data with the update key; sending the encrypted update data to the terminal, for the terminal decrypts the update data with the decrypted update key, and performing data updating with the update data.

## Claims

### Claim 1

A terminal device, applied to an internet of things system, wherein the internet of things system further comprises an update server, and the update server is communicatively connected to the terminal device, and the terminal device comprises a processor and a memory, the memory stores instructions, the instructions, when being executed by the processor, cause the processor to perform following steps:
receiving an encryption public key sent by the update server;
upon sending a heartbeat packet to the update server, receiving an update key sent by the update server through a persistent connection between the terminal device and the update server, wherein the update key is encrypted by the update server with an encryption private key matching the encryption public key;
decrypting the encrypted update key with the encryption public key;
receiving update data sent by the update server, wherein the update data is encrypted by the update server with the update key;
decrypting the update data with the decrypted update key; and
performing a data updating with the update data.

### Claim 2 (depends on 1)

The terminal device according to claim 1, wherein the instructions, when being executed by the processor, cause the processor to further perform following steps:
calculating second integrity check data of the decrypted update data; and
performing an integrity check on the update data according to first integrity check data and the second integrity check data, wherein the first integrity check data is generated by the update server according to the update data and sent to the terminal device.

### Claim 3 (depends on 2)

The terminal device according to claim 2, wherein the performing a data updating with the update data comprises:
performing the data updating with the update data in a case that the update data passes the integrity check.

### Claim 4 (depends on 1)

The terminal device according to claim 1, wherein the heartbeat packet is periodically sent by the terminal device to the update server.

### Claim 5

An internet of things system, comprising an update server and a terminal device, the update server being communicatively connected to the terminal device;
wherein the update server comprises a processor and a memory, the memory stores first instructions, the first instructions, when being executed by the processor of the update server, cause the processor of the update server to perform following steps:
generating an encryption public key and an encryption private key that match with each other;
sending the encryption public key to the terminal device;
generating the update key, and encrypting the update key with the encryption private key;
sending the encrypted update key to the terminal device upon receiving a heartbeat packet from the terminal device, through a persistent connection between the terminal device and the update server, to cause the terminal device to decrypt the encrypted update key with the encryption public key;
encrypting update data with the update key; and
sending the encrypted update data to the terminal device to cause the terminal device to decrypt the update data with the decrypted update key and perform a data updating with the update data;
wherein the terminal device comprises a processor and a memory, the memory stores second instructions, the second instructions, when being executed by the processor of the terminal device, cause the processor of the terminal device to perform following steps:
receiving the encryption public key sent by the update server;
upon sending the heartbeat packet to the update server, receiving the update key sent by the update server through the persistent connection between the terminal device and the update server, wherein the update key is encrypted by the update server with the encryption private key matching the encryption public key;
decrypting the encrypted update key with the encryption public key;
receiving update data sent by the update server, wherein the update data is encrypted by the update server with the update key;
decrypting the update data with the decrypted update key; and
performing the data updating with the update data.

### Claim 6 (depends on 5)

The internet of things system according to claim 5, wherein the first instructions, when being executed by the processor of the update server, cause the processor to further perform following steps:
before sending the encrypted update data to the terminal device, generating first integrity check data corresponding to the update data; and
sending the first integrity check data to the terminal device.

### Claim 7 (depends on 5)

The internet of things system according to claim 5, wherein the sending the encryption public key to the terminal device comprises:
sending the encryption public key to the terminal device upon receiving the heartbeat packet by the update server from the terminal device.

### Claim 8 (depends on 5)

The internet of things system according to claim 5, wherein the second instructions, when being executed by the processor of the terminal device, cause the processor of the terminal device to further perform following steps:
after decrypting the update data with the decrypted update key, calculating second integrity check data of the decrypted update data; and
performing an integrity check on the update data according to first integrity check data and the second integrity check data, wherein the first integrity check data is generated by the update server according to the update data and then sent to the terminal device.

### Claim 9 (depends on 8)

The internet of things system according to claim 8, wherein performing the data updating with the update data comprises:
performing the data updating with the update data in a case that the update data passes the integrity check.

### Claim 10 (depends on 5)

The internet of things system according to claim 5, wherein the heartbeat packet is periodically sent by the terminal device to the update server.

### Claim 11

An over-the-air updating method, applied to an internet of things system comprising an update server and a terminal device, the update server being communicatively connected to the terminal device, wherein the method comprises:
generating, by the update server, an encryption public key and an encryption private key that match with each other;
sending, by the update server to the terminal device, the encryption public key;
receiving, by the terminal device, the encryption public key from the update server;
generating, by the update server, the update key, and encrypting, by the update server, the update key with the encryption private key;
sending, by the terminal device to the update server, a heartbeat packet;
upon receiving the heartbeat packet from the terminal device, sending, by the update server to the terminal device, the encrypted update key through a persistent connection between the terminal device and the update server, receiving, by the terminal device through the persistent connection between the terminal device and the update server, the encrypted update key from the update server;
decrypting, by the terminal device, the encrypted update key with the encryption public key;
encrypting, by the update server, update data with the update key;
sending, by the update server to the terminal device, the encrypted update data;
decrypting, by the terminal device, the encrypted update data with the decrypted update key; and
performing, by the terminal device, a data updating with the update data.

### Claim 12 (depends on 11)

The over-the-air updating method according to claim 11, wherein before sending, by the update server to the terminal device, the encrypted update data, the method further comprises:
generating, by the update server, first integrity check data corresponding to the update data;
sending, by the update server to the terminal device, the first integrity check data; and
receiving, by the terminal device, the first integrity check data from the update server.

### Claim 13 (depends on 12)

The over-the-air updating method according to claim 12, wherein after decrypting, by the terminal device, the encrypted update data with the decrypted update key, the method further comprises:
calculating, by the terminal device, second integrity check data of the decrypted update data;
performing an integrity check on the update data according to the received first integrity check data and the second integrity check data.

### Claim 14 (depends on 13)

The over-the-air updating method according to claim 13, wherein the performing, by the terminal device, a data updating with the update data comprises:
performing the data updating with the update data in a case that the update data passes the integrity check.

### Claim 15 (depends on 11)

The over-the-air updating method according to claim 11, wherein the sending, by the update server to the terminal device, the encryption public key comprises:
sending, by the update server to the terminal device, the encryption public key upon receiving the heartbeat packet from the terminal device.

### Claim 16 (depends on 11)

The over-the-air updating method according to claim 11, wherein the heartbeat packet is periodically sent by the terminal device to the update server.
