IP Library › Granted Patent US 11,526,461
Granted Patent B2
US 11,526,461 · App. 17/307,929 · Granted Dec 13, 2022

Enhanced secure onboard communication for CAN

Inventors: Ahmad Nasser (Livonia, MI); Tobias Belitz (Ratingen, DE)
Assignee: Renesas Electronics America Inc.
G06F13/4282H04L9/0631G06F2213/40
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,526,461
App. No.
17/307,929
Granted
Dec 13, 2022
Kind
B2
Abstract

According to certain general aspects, the present embodiments relate generally to securing communication between ECUs. Example implementations can include a method of securely transmitting Controller Area Network (CAN) protocol frames via a CAN controller.

Claims (39)

1. A controller area network (CAN) controller for transmitting CAN protocol frames, the CAN controller comprising:

a first CAN controller register configured to map a digital key index to at least one CAN identification (ID) and one or more freshness values;

a second CAN controller register configured to map at least one digital key to the digital key index;

a hardware security module (HSM) configured to load the digital key into random access memory (RAM) addressed by the second CAN controller register;

a key engine configured to generate an integrity check value (ICV) based on one or more of the CAN ID, a data length code (DLC), a payload, and the digital key; and

a transmitter configured to transmit a frame comprising the CAN ID, the DLC, an incremented freshness value based on the freshness value, the payload, and the ICV,

wherein the CAN controller is configured to receive the CAN ID, the DLC, and the payload from a central processing unit (CPU), increment the freshness value to generate the incremented freshness value in response to the receiving the CAN ID, truncate the CAN ID based on truncation information mapped to the CAN ID and comprising a predetermined number of bits, store the incremented freshness value, and create the frame.

2. The CAN controller according to claim 1 , wherein the key engine is further configured to generate the ICV based on a payload type associated with the payload.

3. The CAN controller according to claim 2 , wherein the payload type is received by the CAN controller from the CPU.

4. The CAN controller according to claim 1 , wherein the key engine is further configured to generate the ICV based on the freshness value.

5. The CAN controller according to claim 1 , wherein the CAN control is further configured to:

receive a payload type from the CPU; and

determine to generate the ICV based on the received payload type.

6. The CAN controller according to claim 1 , wherein the key engine comprises an advanced encryption standard (AES) engine.

7. A controller area network (CAN) controller for securely receiving CAN protocol frames, the CAN controller configured to:

receive a frame transmitted from a receiver;

extract a CAN identification (ID), a data length code (DLC), a freshness value, a payload, and an integrity check value (ICV) from the received frame;

determine a freshness of the received frame based on an acceptable freshness; that corresponds to a maximum difference between the extracted freshness value and an expected freshness value;

determine an authenticity of the received frame by comparing a generated ICV to the extracted ICV, and in response to the freshness of the received frame within the acceptable freshness window;

determine to set a receive flag in response to the generated ICV matching the extracted ICV;

determine to store the extracted freshness value in a first CAN controller register, based on the determining the freshness and the determining the authenticity of the frame; and

overwriting a previous freshness value with the extracted freshness value based on the extracted CAN ID.

8. The CAN controller according to claim 7 , wherein the expected freshness value is a predetermined numeric value.

9. A method of securely receiving controller area network (CAN) protocol frames, comprising:

extracting a CAN identification (ID) and a freshness value from the received frame;

determining a freshness of a received frame based on an acceptable freshness; that corresponds to a maximum difference between the extracted freshness value and an expected freshness value;

determining to store the extracted freshness value in a first CAN controller register, based on the determining the freshness of the frame; and

overwriting a previous freshness value with the extracted freshness value based on the extracted CAN ID.

10. The method according to claim 9 , further comprising:

extracting an integrity check value (ICV) from the received frame;

determining an authenticity of the received frame by comparing a generated ICV to the extracted ICV, and in response to the freshness of the received frame within the acceptable freshness window.

11. The method according to claim 10 , further comprising:

determining to set a receive flag in response to the generated ICV matching the extracted ICV.

12. The method according to claim 10 , wherein the determining to store the extracted freshness value comprises determining to store the extracted freshness value based on the determining the freshness and the determining the authenticity of the frame.

13. The method according to claim 9 , wherein the expected freshness value is a predetermined numeric value.

14. The method according to claim 9 , further comprising:

extracting a data length code (DLC), a freshness value, a payload, from the received frame.

15. The method according to claim 9 , further comprising:

receiving a frame transmitted from a receiver.

Continuity (3)
Continuation 16805404 · Feb 28, 2020
Provisional Application 62932409 · Nov 7, 2019
Related Publication 20210271626A1 · Sep 2, 2021