# US 12,216,608 B2 · Authenticated control sequences to initialize sensors over a multi-target interface bus

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

- Number: US 12,216,608 B2
- Document ID: US12216608B2
- Status: Granted
- Kind: B2
- Application number: 18/174,029
- Filed: 2023-02-24
- Published: 2024-08-29
- Granted: 2025-02-04
- Earliest claimed: 2023-02-24
- Assignees: NVIDIA Corporation
- Applicants: NVIDIA Corporation
- Inventors: Igor Mitsyanko; Aki Petteri Niemi; Junghyun Kim
- Web page: https://patentgrep.com/patent/US12216608B2

## CPC

- G06F 13/4282: {on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247)}
- G06F 13/1673: {using buffers}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A controller device includes a memory storing instructions. An interface bus is coupled to sensors and configured to operate with a multi-target interface protocol. A processor is coupled to the memory and the interface bus. The processor broadcasts initialization data, according to the multi-target interface protocol, to the sensors. The processor generates, from the initialization data, using at least one cryptographic function, an authentication tag for each sensor. Each authentication tag is specific to a corresponding sensor of the sensors. The processor also unicasts, according to the multi-target interface protocol, each authentication tag to the corresponding sensor of the sensors.

## Claims

### Claim 1

A controller device comprising:
a memory storing instructions;
an interface bus coupled to a plurality of sensors and configured to operate with a multi-target interface protocol; and
a processor coupled to the memory and the interface bus, the processor to execute the instructions to perform operations comprising:
creating a broadcast sensor object;
creating a broadcast client object using the broadcast sensor object;
broadcasting initialization data, according to the multi-target interface protocol and using the broadcast client object, to the plurality of sensors;
generating, from the initialization data, using at least one cryptographic function, an authentication tag for each sensor of the plurality of sensors, wherein each authentication tag is specific to a corresponding sensor of the plurality of sensors; and
unicasting, according to the multi-target interface protocol, each authentication tag to the corresponding sensor of the plurality of sensors.

### Claim 2 (depends on 1)

The controller device of claim 1, wherein the multi-target interface protocol is one of Inter-Integrated Circuit (I2C), Serial Peripheral Interface (SPI), Universal Serial Bus (USB), or Controller Area Network (CAN) communication protocol.

### Claim 3 (depends on 1)

The controller device of claim 1, further comprising a demultiplexer coupled to the interface bus and the processor, the demultiplexer configured to support the multi-target interface protocol.

### Claim 4 (depends on 1)

The controller device of claim 1, wherein generating each authentication tag further comprises:
employing a first cryptographic key associated with a first sensor of the plurality of sensors; and
employing a second cryptographic key associated with a second sensor of the plurality of sensors, the first cryptographic key being different than the second cryptographic key.

### Claim 5 (depends on 1)

The controller device of claim 1, wherein the operations further comprise:
registering one or more write listeners, of the broadcast client object, to monitor for and detect broadcast transactions directed at the plurality of sensors; and
registering one or more read listeners, of the broadcast client object, to monitor for and detect memory transactions received from the plurality of sensors.

### Claim 6 (depends on 1)

The controller device of claim 1, wherein the operations further comprise:
creating a plurality of sensor objects corresponding to respective sensors of the plurality of sensors, each sensor object associated with a write authentication buffer to store the initialization data; and
creating, using the plurality of sensor objects, a plurality of client objects configured to unicast each authentication tag to the corresponding sensor of the plurality of sensors based on a specific address generated according to the multi-target interface protocol.

### Claim 7 (depends on 6)

The controller device of claim 6, wherein each client object of the plurality of client objects comprises a write listener that detects broadcast transactions associated with the initialization data, and wherein the operations further comprise registering, by each respective sensor object, a corresponding write listener with an original client object that is configured to broadcast the initialization data to the plurality of sensors.

### Claim 8 (depends on 6)

The controller device of claim 6, wherein the initialization data is first initialization data that matches a capacity of each write authentication buffer, and wherein the operations further comprise:
detecting each write authentication buffer is at capacity;
receiving acknowledgments from the plurality of sensors that the first initialization data has been authenticated;
clearing each write authentication buffer of the first initialization data; and
buffering second initialization data in each write authentication buffer broadcasted to the plurality of sensors.

### Claim 9 (depends on 1)

The controller device of claim 1, wherein the initialization data is first initialization data, wherein the operations further comprise:
broadcasting second initialization data that follows the first initialization data, according to the multi-target interface protocol, to the plurality of sensors;
generating, from the second initialization data, using the at least one cryptographic function, a second authentication tag for each sensor of the plurality of sensors, wherein each second authentication tag is specific to a corresponding sensor of the plurality of sensors; and
unicasting, according to the multi-target interface protocol, each second authentication tag to the corresponding sensor of the plurality of sensors.

### Claim 10

A system comprising:
a plurality of sensors;
an interface bus coupled to the plurality of sensors and configured to operate with a multi-target interface protocol; and
a processor coupled to the interface bus, the processor to execute instructions to perform operations comprising:
creating a broadcast sensor object;
creating a broadcast client object using the broadcast sensor object;
broadcasting initialization data, according to the multi-target interface protocol and using the broadcast client object, to the plurality of sensors;
generating, from the initialization data, using at least one cryptographic function, an authentication tag for each sensor of the plurality of sensors, wherein each authentication tag is specific to a corresponding sensor of the plurality of sensors; and
unicasting, according to the multi-target interface protocol, each authentication tag to the corresponding sensor of the plurality of sensors.

### Claim 11 (depends on 10)

The system of claim 10, wherein the multi-target interface protocol is one of Inter-Integrated Circuit (I2C), Serial Peripheral Interface (SPI), Universal Serial Bus (USB), or Controller Area Network (CAN) communication protocol.

### Claim 12 (depends on 10)

The system of claim 10, further comprising a demultiplexer coupled to the interface bus and the processor, the demultiplexer configured to support the multi-target interface protocol.

### Claim 13 (depends on 10)

The system of claim 10, wherein generating each authentication tag further comprises:
employing a first cryptographic key associated with a first sensor of the plurality of sensors; and
employing a second cryptographic key associated with a second sensor of the plurality of sensors, the first cryptographic key being different than the second cryptographic key.

### Claim 14 (depends on 10)

The system of claim 10, wherein the operations further comprise:
registering one or more write listeners, of the broadcast client object, to monitor for and detect broadcast transactions directed at the plurality of sensors; and
registering one or more read listeners, of the broadcast client object, to monitor for and detect memory transactions received from the plurality of sensors.

### Claim 15 (depends on 10)

The system of claim 10, wherein the operations further comprise:
creating a plurality of sensor objects corresponding to respective sensors of the plurality of sensors, each sensor object associated with a write authentication buffer to store the initialization data; and
creating, using the plurality of sensor objects, a plurality of client objects configured to unicast each authentication tag to the corresponding sensor of the plurality of sensors based on a specific address generated according to the multi-target interface protocol.

### Claim 16 (depends on 15)

The system of claim 15, wherein each client object of the plurality of client objects comprises a write listener that detects broadcast transactions associated with the initialization data, and wherein the operations further comprise registering, by each respective client object, a corresponding write listener with an original client object that is configured to broadcast the initialization data to the plurality of sensors.

### Claim 17 (depends on 15)

The system of claim 15, wherein the initialization data is first initialization data that matches a capacity of each write authentication buffer, and wherein the operations further comprise:
detecting each write authentication buffer is at capacity;
receiving acknowledgments from the plurality of sensors that the first initialization data has been authenticated;
clearing each write authentication buffer of the first initialization data; and
buffering second initialization data in each write authentication buffer broadcasted to the plurality of sensors.

### Claim 18 (depends on 10)

The system of claim 10, wherein the initialization data is first initialization data, wherein the operations further comprise:
broadcasting second initialization data that follows the first initialization data, according to the multi-target interface protocol, to the plurality of sensors;
generating, from the second initialization data, using the at least one cryptographic function, a second authentication tag for each sensor of the plurality of sensors, wherein each second authentication tag is specific to a corresponding sensor of the plurality of sensors; and
unicasting, according to the multi-target interface protocol, each second authentication tag to the corresponding sensor of the plurality of sensors.

### Claim 19

A non-transitory computer-readable storage medium storing instructions which, when executed by a processor coupled to an interface bus, cause the processor to perform operations comprising:
creating a broadcast sensor object;
creating a broadcast client object using the broadcast sensor object;
broadcasting initialization data, according to a multi-target interface protocol over the interface bus and using the broadcast client object, to a plurality of sensors;
generating, from the initialization data, using at least one cryptographic function, an authentication tag for each sensor of the plurality of sensors, wherein each authentication tag is specific to a corresponding sensor of the plurality of sensors; and
unicasting, according to the multi-target interface protocol, each authentication tag to the corresponding sensor of the plurality of sensors.

### Claim 20 (depends on 19)

The non-transitory computer-readable storage medium of claim 19, wherein the multi-target interface protocol is one of Inter-Integrated Circuit (I2C), Serial Peripheral Interface (SPI), Universal Serial Bus (USB), or Controller Area Network (CAN) communication protocol.
