Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DATA LINK LAYER AUTHENTICITY AND SECURITY FOR AUTOMOTIVE COMMUNICATION SYSTEM
Document Type and Number:
WIPO Patent Application WO/2021/004652
Kind Code:
A1
Abstract:
The present disclosure relates to authenticity and data security for bus based communication networks in a vehicle. The present disclosure teaches a protocol frame, a sender on data link layer, and a receiver on data link layer providing such authenticity and data security as well as a communication network in a vehicle employing the protocol frame, the sender and the receiver according to the present disclosure.

Inventors:
ZEH ALEXANDER (DE)
ZWECK HARALD (DE)
Application Number:
PCT/EP2020/000114
Publication Date:
January 14, 2021
Filing Date:
June 16, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INFINEON TECHNOLOGIES AG (DE)
International Classes:
H04L29/06; H04L9/08; H04L12/40
Foreign References:
CN106899404A2017-06-27
US9935774B22018-04-03
EP3297247A12018-03-21
Attorney, Agent or Firm:
KEGLER, Christian (DE)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. A protocol frame (100) for communication between participants of a bus based communication system in a vehicle according to a protocol, the protocol frame (100) comprising:

• a header (H), indicating a start of the protocol frame (100) to be communicated between a sender (S) and a receiver (R), both the sender (S) and the Receiver (R) being participants of the bus based communication system,

• a protected payload portion (PP) downstream the Header (H); and

• a security Tag (SecTag) configured to indicate an authenticity of the protocol frame as original protocol frame between the sender (S) and the Receiver (R) on data link layer level.

2. The protocol frame (100) according to claim 1, further comprising:

• a security information (SI) downstream the header (H); wherein the security information (SI) indicates a protection level for the protected payload portion (PP).

3. The protocol frame (100) according to claim 2, wherein the security information (SI) indicates at least one of:

• a virtual channel between the sender (S) and the receiver (R); and a key (K) to use for protection of the protected payload portion (PP). CADsec Draft

4. The protocol frame (100) according to any one of claims preceding

claims, further comprising an end of frame portion (EOF) indicating an end of the protocol frame (100).

5. The protocol frame (100) according to any one of the preceding claims, wherein the frame (100) has a length N as used with the CAN standard.

6. The protocol frame (100) according to any one of claims 1 to 5, wherein the frame (100) selectively has a length N of

• eight bytes,

• eight to 64 bytes, or

• 64 to 2000 bytes.

7. A sender (S) on a data link layer configured to participate in a bus based communication system in a vehicle, the sender (S) configured to:

• generate a header (H) in response to a request from a higher

protocol layer;

• access a key K of k bytes length,

• receive from a higher protocol layer a protected payload portion

(PP),

• aggregate additional authentication data (AAD); CADsec Draft

• generate a security tag (SecTag) using the key K and the additional authentication data (AAD), the security tag (SecTag) to indicate an authenticity of the frame (100) as original frame sent from the sender (S) to the receiver (R) on data link layer level; and

• generate a protocol frame (100) comprising the Header (H), the protected Payload portion (PP), the additional authentication data (AAD); wherein the sender (S) is configured to communicate the protocol frame (100) from the sender (S) to one or more participants of the bus based communication system on the data link layer level.

8. The sender (S) according to claim 7, wherein in an authentication only mode of the sender (S), the additional authentication data (AAD) is:

• the header (H), and

• the protected payload portion (PP).

9. The sender (S) according to claim 7, wherein the sender (S) an authenticated encryption mode (AE) is further configured to:

• generate a cipher text (cipher{PP}) for the protected payload portion (PP) using

• the key (K),

• the protected payload portion (PP) in plain text (P); and

• the header (H), as additional authentication data (AAD). CADsec Draft

10. The sender (S) according to any one of claims 7 to 9, wherein the

sender (S) is further configured to:

• Generate a sequence number (SN) of sn bytes downstream the

header (H) and configured to integrate the sequence number (SN) into the protocol frame (100) at the expense of a shortened protected payload (sPP), which is shortened by sn bytes compared to the protected payload portion (PP).

11. The sender (S) according to claim 10, wherein in the authentication only mode of the sender (S), the additional authentication data (AAD) comprises:

• the header (H),

• the sequence number (sn), and

• the protected payload (PP).

12. The sender (S) according to claim 7 to 9, wherein in the sender (S) is configured to

• generate a security information (SI) of length si, using the Key (K); and further configured to integrate the security information (SI) into the protocol frame (100) downstream the header (H) at the expense of a shortened payload (sPP), the shortened payload (sPP) CAD sec Draft being shortened by si bytes compared to the protected payload (PP); wherein the security information (SI) indicates a protection level for the protected payload portion (PP).

13. The sender (S) according to claim 10, wherein the sender (S) in an

authenticated encryption mode (AE) is further configured to

• gernerate a security information (SI) of si bytes length; and further configured to integrate the security information (SI) into the protocol frame (100) downstream the header (H) to the expense of a shortened protected payload (sPP), the shortened protected payload (sPP) being shortened by si+sn bytes compared to the protected payload (PP); wherein the security information (SI) indicates a protection level for the shortened protected payload portion (sPP).

14. The sender (S) according to claim 13, wherein the additional

authentication data (AAD) comprises:

• the header (H),

• the sequence number (sn),

• the security information (SI); and the shortened protected payload (sPP).

15. The sender (S) according to claim 13 or 14, wherein the sender (S) in the authenticated encryption mode (AE) is further configured to: CADsec Draft

• generate a cipher text (cipher{sPP}) using

• the key (K), the sequence number (SN) as nonce (N),

• the protected payload (PP) in plain text (P); and

• the header (H), the serial number (SN), and the security information (SI), as. additional authentication data (AAD).

16. A receiver (R) on a data link layer to participate in a bus based

communication system in a vehicle, the receiver (R) configured to:

• receive on the data link layer from a sender (S) a protocol frame (100) according to a protocol, the protocol frame (100) having a length of N bytes,

• extract a header (H) of h bytes from the protocol frame (100),

• extract a protected payload portion (PP) from the protocol frame

(100),

• access a key (K) of k bytes length,

• extract a security tag (SecTag) from the protocol frame (100) downstream the header (H),

• calculate an authenticity indication (AI), based on

o the key (K),

o an additional authenticity data (AAD) comprising the header

(H),

o the security tag (SecTag), and CAD sec Draft o the protected payload (PP); wherein the authenticity

indication (AI) is configured to indicate on the data link layer an authenticity of the protocol frame (100) sent from the sender (S) to the receiver (R).

17. The receiver (R) according to claim 16 further configured to drop the protocol frame (100), if the authenticity indication (AI) does not indicate an authenticity of the protocol frame (100) sent from the sender (S) to the receiver (R), and optionally configured to indicate such lack of authenticity to a higher protocol layer.

18. The receiver (R) according to any one of claims 16, wherein in an

authenticated decryption mode (A&D) of the receiver (R), the receiver (R) is configured to:

• generate a decrypted payload (DP) as output stream to a higher protocol layer using:

o the key (K),

o the Protected payload(PP) as cipher text C, and

o the additional authentication data (AAD), if the authenticity indication (AI) indicates the authenticity of the protocol frame (100) send from the sender (S) to the receiver (R). CADsec Draft

19. The receiver (R) according to claim 18, wherein the authentication data (AAD) comprises the header (H).

20. The receiver (R) according to claims 16 to 18, the receiver further configured to extract a sequence number (SN) of sn bytes from the

. protocol frame (100).

21. The receiver (R) according to claim 20, wherein the additional

authentication data (AAD) comprises:

• the header (H), and

• the sequence number (SN).

22. The receiver (R) according to claims 20 or 21 wherein in an

authenticated decryption mode (A&D) of the receiver (R), the receiver (R) is configured to:

• Generate a decrypted payload (DP) as output stream to a higher protocol layer using:

o the sequence number (SN),

o the key (K),

o the protected payload (PP) as cipher text C, and

o the additional authentication data (AAD), CADsec Draft if the authenticity indication (AI) indicates the authenticity of the protocol frame (100) send from the sender (S) to the receiver (R), and

• the receiver (R) configured to indicate the authenticity indication (AI) to a higher protocol layer.

23. The receiver (R) according to claims 16 to 18, the receiver further

configured to extract a security information (SI) of si bytes downstream the header (H) from the protocol frame (100); wherein the security information (SI) indicates at least one of:

• a virtual channel between the sender (S) and the receiver (R); and

• a key (K) to use for protection of the protected payload portion (PP).

24. The receiver (R) according to claim 23, wherein the additional

authentication data (AAD) comprises:

• the header (H),

• the sequence number (SN), and

• the security info (SI).

25. The receiver (R) according to claims 23 or 24 wherein in an

authentication and decryption mode (A&D) of the receiver (R), the receiver (R) is configured to: CADsec Draft

• generate a decrypted payload (DP) as output stream to a higher protocol layer using:

o the key (K),

o the sequence number (SN),

o the protected payload(PP) as cipher text C, and

o the additional authentication data (AAD), if the authenticity indication (AI) indicates the authenticity of the protocol frame (100) send from the sender (S) to the receiver (R); and

• the receiver (R) configured to indicate the authenticity indication (AI) to a higher protocol layer.

26. A communication network in a vehicle configured to provide

communication on transport level layer between a sender (S) according to any one of claims 9 to 15 and a receiver (R) according to any one of claims 16 to 25 using protocol frames (100) according to claims 1 to 8.

Description:
Data Link Layer Authenticity and Security for Automotive Communication System

FIELD

[0001] The present disclosure relates Authentication and Security on data link layer for networks in vehicular networks.

BACKGROUND

[0002] In today’s vehicles data integrity and security become a necessity. In the past several functions, such as steering where provided by a physical connection from the steering wheel to the wheels of a vehicle. The same holds for braking and gear shifting functions. In today’s vehicles however, there is no longer such physical connection but an electrical wire or bus communicating the steering command to the electric power steering. In response to the steering command over the bus, the electric power steering will actuate a turn of the wheels corresponding to the turn of the steering wheel.

[0003] Having access to the bus may allow for insertion of malicious bus communication or commands in an attempt to take over functions of a vehicle. The risk of inserted malicious bus commands is further increased with the growing entertainment functionality or connectivity provided with today’s vehicles.

[0004] For autonomous driving vehicles or cars the risk is even higher, as sensor data to analyze a surrounding of the car, as well as commands to actuators controlling the vehicle may be realized as bus communication.

[0005] One way to mitigate this risk is to provide authenticity and security for such bus communication on a data link layer level, without burdening higher protocol layers with these authenticity and/or security issues. SUMMARY

[0006] Support for claims, will be completed once review of claims is completed.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Embodiments are described herein making reference to the appended drawings.

[0008] Fig. la shows a block diagram illustrating a bus based communication system in a vehicle.

[0009] Fig. lb shows a diagram illustrating communication stack and virtual channels between a sender and a receiver on data link layer according to the present disclosure.

[0010] Fig. 2a shows an example of a protocol frame according to a known protocol used in a vehicle.

[0011] Fig. 2b shows an example of a protocol frame, providing authentication of such protocol frame on data link layer level.

[0012] Fig. 2c shows an example of a protocol frame, providing authenticated encryptionof such protocol on data link layer level.

[0013] Fig. 3a shows a generic authentication and/or data security engine

SADSE for protocol frames on data link layer level.

[0014] Fig. 3b shows input and output variables of a SADSE for authentication only at a sender on data link layer level.

[0015] Fig. 3c shows input and output variables of a SADSE for authentication only at a receiver on data link layer level.

[0016] Fig. 3d shows input and output variables of a SADSE for authenticated encryptionat a sender on data link layer level.

[0017] Fig. 3e shows input and output variables of a SADSE for decryption and authentication at a receiver on data link layer level.

[0018] Fig. 4 illustrates a protocol frame according to the CAN standard. DETAILED DESCRIPTION

[0019] Fig. la illustrated an exemplary bus connecting several nodes Nodel,

Node2, ..., Node n. In the example of Fig. la, the bus is depicted as a two line bus system, which may conveniently be implemented as two differential lines. Obviously, other setups are conceivable, too. The bus system may be terminated with optional termination resistors Tl, T2 which may be of interest to reduce reflections on the bus typically affecting signal quality along the bus. Prominent examples of bus systems in a vehicle are CAN, CAN-FD, CANXL, or LIN networks. While the present disclosure focuses on CAN variants, it will be apparent to a person skilled in the art that teachings of this disclosure may be applied to other bus systems as well.

[0020] It will be appreciated that the bus depicted in Fig. la may also be arranged in a ring-type topology where both ends of the bus are fed into a master unit (not shown) thereby forming a bus loop. The individual nodes Node l,2,...,n will as before be coupled to the bus.

[0021] It is to be understood that in vehicle networks or bus-based communication systems (as depicted in Fig. la) have specific attributes reflecting requirements for in vehicle networks. The in vehicle network supports communication of sensor data to a control unit by data frames being transmitted from the sensor or a control unit of the sensor to a control unit on a higher level. A useful protocol may be used for the data frames or protocol frames communicated between individual nodes or participants of the bus-based communication network.

[0022] In return or in response to receipt of sensor data, the control unit of the sensor or the control unit on the higher level, may communicate a certain action to an actuator coupled to the bus, say a braking action to a brake actuator. So in the example of Fig. la Node 1 could represent an angle sensor (not shown) measuring an angle of how far a brake paddle is pressed. This angle may be transmitted as protocol frame(s) to the ECU of a higher level, say Node 2. In response to receiving the angle value, the ECU may send one or more bus frames to Node N, the brake actuator. These bus frames sent from the ECU to the brake actuator may cause a braking action.

[0023] It will be apparent that bus communication related to the braking action is time critical and needs to be transmitted fast. Such real-time requirements are not common in standard communication networks.

[0024] In vehicle communication networks typically have a well-defined number of bus participants that by default stays constant over the lifetime of a vehicle; ignoring some upgrades of the vehicle for a moment. Likewise, existing links between individual nodes, hence a topology of the bus based communication system will not be altered over the lifetime of the vehicle. For a standard computer network, such a situation is very unlikely. In fact, it is for standard computer networks required to allow addition or removal of nodes during operation of the computer network. Further, new links may be provided, or links removed during operation in standard computer networks.

[0025] In a bus based communication system controlling vehicle function, it is of interest to assure authenticity of a protocol frame transmitted over the bus. Considering a braking action, a command causing an emergency braking should not be mistaken for a gentle braking when parking the vehicle in a controlled manner. To this end an indication of authenticity of a protocol frame communicated between participants of the bus based communication system is of interest. [0026] It will be appreciated, that indicating authenticity of a protocol frame on data link layer is of interest in order to reduce involvement of higher protocol layers in authentication of time-critical commands communicated between participants of the bus based communication system.

[0027] With increasing entertainment systems as well as increasing vehicle to vehicle communication becoming available today, there is an increasing susceptibility to malicious commands or protocol frames being injected to the communication system.

[0028] It is therefore of interest to provide data security for protocol frames in order to prevent injection of the malicious protocol frames. As for authenticity indication of protocol frames, it is attractive to provide the data security at data link layer level, too. This way, involvement of higher protocol layers or software stacks on higher protocol layers providing security and/or authenticity information becomes unnecessary. It will be apparent to a person skilled in the art, that data security and authenticity functions may conveniently be supported by hardware elements such as a sender or a receiver on protocol layer. In other words, data security and authenticity functions may be off-loaded to dedicated hardware on the data link layer level when implementing these functionalities on the data link layer level.

[0029] Fig. lb illustrates Node 1 and Node 2 as participants of a bus based communication system as illustrated in Fig. la. Communication between Node 1 and Node 2 flows in different layers that can be categorized according to the well established OSI-ISO layer model. The lowest level layer is the so called physical layer, indicated as PHYS for Node 1 and Node 2. Each layer in the OSI model accepts an order from a higher level, performs some action at its level, and may trigger tasks in a lower lying level by forwarding a request to the lower lying level. [0030] A command to the physical layer may be received from the data link layer, as indicated by the downward arrow between the PHYS layer and the data link layer. As layer function, the physical layer of Node 1 may use a connection or link to Node 2 in order to communicate data on the physical layer to the Node 2. Under the same token Node 1 may receive data from Node 2 over the physical link between Node 1 and Node 2, and further forward the received data to the data link layer on top of the physical layer. This forwarding is indicated by the upward arrow between the physical layer and the data link layer of Node 1 in Fig. lb. The protocol flow in Node 2 is analog to the one explained for Node 1.

[0031] Some of existing bus based communication networks in vehicles do not follow the separation of physical layer and data link layer as suggested in the OSI- ISO model. To reflect this specialty sender S and receiver R are depicted in Fig. lb as extending over the physical layer PHYS and the Data Link Layer.

[0032] Known concepts for authenticity of data communication in vehicles are implemented in the application layer on layer 7 of the OSI-ISO layer model using a software stack, indicated as App l, App2 for Node 1 and Node 2, respectively in Fig. lb. It may be convenient to introduce a concept of virtual channels between Node 1 and Node 2 in order to indicate an authenticated and/or protected communication between two or more participants using the software stacks App @Nodel and App@Node2.

[0033] An example to provide security for onboard networks in a vehicle using software stacks is SEC OC (Secure OnBoard Communication) according to the AUTOSAR standard. It may be convenient for OEMs to specify the software stacks App for Node 1 and Node 2, giving freedom in hardware implementation of Node 1 and Node 2. As a trade-off implementing authenticity and/or data security using a software stack may no longer meet real-time requirements for an actuator response to a command from the electronic control unit (ECU) to the actuator depicted as Node n in Fig. la participating in the bus based communication system. Consider for example a braking command sent as a protocol frame 100 (best seen in Fig. 2a-c, or Fig. 4) from the control unit ECU— depicted as Node 2 in Fig. la - to the braking actuator, say Node n in Fig. la. If such communication was to be authenticated and secured, using the software stack, all layers for an individual Node will be involved in this securing which may take too long for a reliable braking operation.

[0034] A further disadvantage of a software stack authenticity and/or data security solution may be the fact that the software stacks maybe not be properly designed, so that the authenticity and/or security functionality is degraded or even compromised.

[0035] Therefore it is, depending on circumstances attractive, to limit functionality pertaining to authenticity and/or data security to a single layer of an individual participant to the communication system, such as Node 1 or Node 2 in Fig. lb. Limiting the authenticity and/or data security functionality to the data link layer, will prevent the other protocol layers to be occupied with parts of the data integrity and/or data security operations.

[0036] As a further benefit, protocol frames 100 for which no authenticity may be established, may be dropped on the data link layer, already. This is to say, if an authenticity test shows, that the protocol frame 100 was not intended to be sent from the sender to the receiver and/or did not arrive at the receiver in its original form, the protocol frame 100 may be dropped without further processing. So an attempt of flooding one participant of the bus based communication system with invalid or non-authenticated frames 100 on the data link layer shall only affect this one Node on the data link layer, while the higher protocol layers may remain unaffected. For a software stack based approach to authenticity and/or data security, such confinement of authenticity and/or data security efforts would not be possible.

[0037] Further, it is convenient to use dedicated hardware elements, namely a sender on data link layer and/or a receiver on the data link layer implementing the authenticity and/or data security as a piece of dedicated hardware. This would have a further advantage, such a building block - think of a CAN bus transceiver— can be used as a standard circuit without further research or adaptation needed should bus participants or software applications App at the participant change over time.

[0038] In the following examples of protocol frames 100 implementing different levels of authentication and/or data security on data link layer shall be discussed with regards to Figs. 2a— 2c.

[0039] Fig. 2a shows an original protocol frame 100 with a total length of N bytes, N being an integer number. The protocol frame 100 may comprises a Header H, a payload P, and an end of frame indication EOF. The header H may have a length of h bytes, h being an integer smaller than N. The payload P may have a length of p bytes. The end of frame indication EOF may have a length of eof bytes.

[0040] In Fig. 2a the payload P is depicted downstream the header H, and the end of frame portion EOF downstream the header H, and downstream the payload P. It will be appreciated that the length of the header H, the payload P, the end of frame indication add up to the total length of N bytes of the protocol frame 100. It will be further understood that the respective length of individual elements Header H, payload P, or EOF may be of a bit length not commensurable to a full byte length. In such a case the total length of the protocol frame may remain N bytes but individual segments of the protocol frame 100 may have a length on sub-byte level. It may further be noted, that according to a protocol the total length of the protocol frame 100 may be a number of bits that is not commensurable with a byte length. [0041] The header H may be used to indicate a start of the protocol frame 100, the length N of the frame, the protocol or protocol variant according to which it is compliant.

[0042] It is possible to indicate rights or priorities associated with the protocol frame 100 in the header H. Such options are typically indicated in the protocol specification.

[0043] In Fig. 2a the payload P is depicted downstream the header H, and the end of frame portion EOF is downstream the header H, and downstream the payload P. This convention for a downstream relation will be used throughout this disclosure.

[0044] It is further conceivable that the protocol permits for the protocol frame 100 to be of varying frame length N. The overall frame length N could for example vary depending on the amount of information conveyed with an individual instance of the protocol frame 100.

[0045] In a vehicular environment, a concurrent operation of older and recent devices according to different protocol variants is likely. As an example, rather old devices, say an ABS sensor may becommunicating according to an early variant of the protocol, say for example CAN protocol (CAN being short for Controller Area Network), while more recent devices, such as a LIDAR system may communicate with an electronic control unit using the CAN-FD (CAN-FD being short Controller Area Network flexible-data rate) standard or even using to the CANXL standard. It may therefore be useful to indicate the different protocol types in the header H, as this would , also effect the level of authenticity and/or data protection that applied to an individual protocol frame 100. [0046] Under such circumstances it may be of interest to have the total frame length of N bytes or bits stored or coded somewhere in the protocol frame 100. Setting a frame length flag would be one option how the frame length could be coded. How such information could be stored in the protocol frame 100 may be taken from the protocol specification.

[0047] The end of frame indication eof may further comprise error check information, as known in the art and is therefore not explained any further at this point.

[0048] Fig. 2b shows an example of a protocol frame according to the present disclosure. The protocol frame 100 may comprise a header H like the original protocol frame of Fig. 2a. The protocol frame 100 of Fig. 2b has a length of N bytes or N bits as described above. Different to the standard protocol header, the header H of Fig. 2b comprises a protected payload portion PP. The protected payload portion PP is shortened in order to make room for a security tag SecTag which may have a length of st bytes. The protocol frame 100 according to the present disclosure may optionally comprise a security info of si bytes, with si being an integer number. The protocol frame according to Fig. 2b may optionally further comprise a sequence number SN of length sn. Without limitation the length st, si, sn, or pp may or may not be commensurate with a full byte length as described before with regards to Fig. 2a.

[0049] The security Tag SecTag may represent an authentication indication that the protocol frame 100 was intended to be transmitted from a sender S to a receiver R on the data link layer level. The security tag SecTag further allows to check whether or not the protocol frame 100 was altered on its way to the receiver

R. [0050] While the security tag SecTag is depicted downstream the protected payload portion PP, it may as well be arranged upstream of the protected payload portion PP or even integrated into the standard header H, without limitation.

[0051] It will be appreciated that a secret key K is required for authentication, encryption and decryption. Key deployment is not at the heart of the present disclosure for several reasons:

[0052] Firstly, in an automotive environment the number of participants in a bus based communication system is limited and does not change much over lifetime of the vehicle. It may be convenient to use one key K of length k for all participants on the bus communication system.

[0053] If individual nodes communicatively coupled via the bus communication system should use an individual key K, this individual key could be stored in respective nodes of the bus based communication system during production of the vehicle. So there could be a first key K1 for communication between Node 1 and Node 2, stored at Node 1 and Node 2, and a second key K2 for communication between Node 1 and Node 3, stored at Node 1 and Node 3, respectively, and so forth. It is assumed that sender S and receiver R use the same key K, hence decryption, encryption, authentication, and verification to be symmetric.

[0054] If more than one key K is used within the system, it may be of interest to store information regarding the key(s) K involved in authentication and/or data security may be stored or indicated in the optional security info field Seclnf. It is a further option to indicate using the security info field whether or not the present protocol frame 100 is an authenticated only protocol frame ore an authenticated and encrypted protocol frame 100. [0055] The field sequential number SN is a further optional element in the protocol frame 100. The sequence number SN is a once used integer number, also referred to as Nonce. If the sequence number SN changes in a way that is unknown to a listening party, it helps prevent replay attacks to be successful. The AUTOSAR standard suggested a similar concept with its freshness value in order to prevent replay attacks.

[0056] As simplest implementation of authentication and/or data security on the data link layer, one may implement a scheme with authentication only, with a frame including the sequence number SN, if a replay protection is required. If such protection is not required the sequence number SN may be omitted allowing for a larger protected payload portion PP within the protocol frame. 100.

[0057] Depending on circumstances one may decide that there will only be one key K within the system used for authentication, than the field security information comprising such information on different keys Kl, K2, K3... to be used, may be omitted, allowing for a larger protected payload portion PP.

[0058] Should neither different keys Kl, K2, K3... nor a replay protection be required, the fields sequence number SN as well as the security info Seclnf may be omitted, allowing for a further increased protected payload portion PP in comparison to the protocol frame depicted in Fig. 2a with only the security Tag SecTag reducing the protected payload field PP compared to a standard protocol frame.

[0059] Fig. 2c illustrates an authenticated and encrypted protocol frame 100 according to the present disclosure. The protocol frame 100 of Fig. 2c comprises a header H, an end of frame indication EOF, the security tag SecTag, the optional field sequence number SN, the optional security info Seclnf as discussed with regards to Fig. 2b. The protocol frame of Fig. 2c is of the same length as the protocol frames in Fig. 2a, and 2b. As before, individual frame elements Header H, optional sequence number SN, as well as the total frame length N may be any integer number of bytes or any other length not commensurable to a full byte length.

[0060] The protocol frame 100 of Fig. 2c comprises a cipher text cipher{PP} of the protected payload PP instead of the protected payload PP. The protocol frame of Fig. 2c is of the same length as the protocol frames in Fig. 2a, and 2b. As before, individual frame elements Header H, optional sequence number SN, as well as the total frame length N may be any integer number of bytes or any other length not commensurable to a full byte length.

[0061] One convenient way of implementing authenticity and/or data security protection for protocol frames 100 on the data link layer level is to use what we may call Symmetric authentication and / or data security engines implemented as hardware blocks, also referred to as SADSE, as will be explained in more detail now turning to Figs. 3a— 3e.

[0062] Fig. 3a shows input and output values for a SADSE. Naming of the input and output variables of the SADSE follows a naming convention established for block cipher modes in cryptography literature. One will appreciate that a SADSE may operate in an authenticity only AO mode or in an Authenticated Encryption mode AE. The SADSE accepts a secret key K, an optional nonce N, an input stream P of le characters length, and an additional authentication data AAD as input. The key K is conveniently a symmetric key of a certain length, say e.g. 128, 192 or 256 bits. As mentioned before key distribution is not in the focus of this disclosure. In fact, corresponding schemes are known, such as the MACsec Key Agreement defined in IEEE 802.1X-2010. The optional nonce N is typically an integer value that is used only once. One may, depending on circumstances decide to have an identical value for N for more than one protocol frame 100. [0063] The input stream P has different uses, depending on the mode of operation of the SADSE. The additional authentication data AAD comprises some bits of further data used in the authentication, as will be explained further down.

[0064] The SADSE provides an output stream of le characters length, and may further output a tag T or alternatively directly an authentication indication AI. The output stream of length le has different use and meaning depending on the mode of operation of the SADSE.

[0065] The tag T is calculated based on the used input variables of the

SADSE, and can be thought of as a recalculation of the security tag SecTag defined above. It may be convenient, depending on circumstances for the SADSE to directly output a result of compaing the security tag SecTag within the protocol frame 100 to the newly calculated tag T. This comparison result may be represented by the authenticity indication AI. This is to say, the authenticity information AI indicates, whether the protocol frame 100 was intended to be sent from the named sender S to the given receiver R (both typically mentioned in the header H). The authenticity indication AI further indicates, whether the protocol frame 100 is in its original form.

[0066] Turning now to Fig. 3b, let us consider the SADSE in the authentication only mode AO at the sender S, this is to say when authenticating a protocol frame 100 according to Fig. 2a. In this mode, the input stream of length le is not used. The use of the key K is the same as before. SADSE further receives the sequence number SN and the additional authentication data AAD as input.

[0067] The additional authentication data AAD simply speaking comprises all information of the protocol frame 100 starting with the header H, up to and including the protected payload portion PP. If replay protection is not required, the protocol frame 100 may not comprise a sequence number SN, as discussed above in combination with Fig. 2b. As a consequence of SN not being set, the nonce N may be left at the previously used value or set to zero or any other convenient value. Obviously, the rule to set the nonce N has to be identical at the sender S and the receiver R.

[0068] If only one generic key K is used as secret key within the bus based communication system, the protocol frame 100 may not comprise the security info Seclnf field as discussed with regards to Fig. 2b.

[0069] As already discussed with regards to Fig. 2b, in circumstances where no replay protection is needed and the generic key K is used in the bus based communication system, the sequence number SN and the security info Seclnf fields may be omitted. As explained above, the nonce N may be left at the previously used value, set to zero, or any other convenient value. Again, the rule to set the nonce N has to be identical at the sender S and the receiver R to authenticate and/or secure a given protocol frame 100.

[0070] In the authentication only mode AO at the sender S, the SADSE outputs a tag T calculated using the key K, the nonce N, and the additional authentication data AAD. The tag T may be integrated into the protocol frame 100 as the security tag SecTag, thereby generating an authenticated protocol frame 100.

[0071] Turning now to Fig. 3c, let us consider the SADSE in the authentication only mode at the receiver R at data link layer level. The authentication only mode at the receiver R authenticates a protocol frame 100 received at the receiver R as an original protocol frame intended to be sent from the sender S to the receiver. In other words, the receiver R authenticates a protocol frame 100 according to Fig. 2a. In this mode, the security Tag is used as tag T taking the place of the input stream P in Fig. 3a. The use of the key K, and the sequence number SN is the same as before. [0072] In the authentication only mode AO at the receiver, the additional authentication data AAD comprises all information of the protocol frame 100 starting with the header H, up to and including the protected payload portion PP. If replay protection is not required, the protocol frame 100 may not comprise a sequence number SN, as discussed above in combination with Fig. 2b. As a consequence of SN not being set, the nonce N may be left at the previously used value or set to zero or any other convenient value. Obviously, the rule to set the nonce N has to be identical at the sender S and the receiver R.

[0073] If only one generic key K is used as secret key within the bus based communication system, the protocol frame 100 may not comprise the security info Seclnf field as discussed with regards to Fig. 2b.

[0074] As already discussed with regards to Fig. 2b, in circumstances where no replay protection is needed and the generic key K is used in the bus based communication system, the sequence number SN and the security info Seclnf fields may be omitted. As explained above, the nonce N may be left at the previously used value, set to zero, or any other convenient value. Again, the rule to set the nonce N has to be identical at the sender S and the receiver R to authenticate and/or secure a given protocol frame 100.

[0075] In the authentication only mode AO at the receiver R, the SADSE outputs a tag T’ calculated using the key K, the nonce N, and the additional authentication data AAD. The tag T’ is a recalculation of the security tag SecTag generated at the sender S.

[0076] A comparison of the security tag SecTag within the protocol frame 100 as calculated at the sender S to the newly calculated tag T’ at the receiver R, allows to authenticate whether the protocol frame 100 received at the receiver R was intended for transmission from the sender S to the receiver R, and further to authenticate whether or not the protocol frame 100 is in its original form.

[0077] It may be convenient for SADSE to directly output an authenticity indication AI, corresponding to the result of comparing the newly calculated tag T’ to the security tag SecTag within the protocol frame 100. Given the security tag SecTag is input to the SADSE, all information for this comparison is available to the SADSE.

[0078] Let us consider an authenticated encryption mode of the SADSE, also referred to as AE mode.

[0079] Turning now to Fig. 3d an AE mode for the SADSE is described at the sender S. As before the SADSE receives the key K, and the sequence number SN as input. The protected payload portion PP takes the place of the input stream of length le. Note, that the protected payload portion PP is input as clear text.

[0080] In the AE mode at the sender S, the additional authentication data

AAD comprise the header H, and the optional security information Seclnf.

[0081] If replay protection is not required, the protocol frame 100 may not comprise a sequence number SN, as discussed above in combination with Fig. 2b. As a consequence of SN not being set, the nonce N may be left at the previously used value or set to zero or any other convenient value. Obviously, the rule to set the nonce N has to be identical at the sender S and the receiver R.

[0082] If only one generic key K is used as secret key within the bus based communication system, the protocol frame 100 may not comprise the security info Seclnf field as discussed with regards to Fig. 2b.

[0083] Again, in circumstances where no replay protection is needed and the generic key K is used in the bus based communication system, the sequence number SN and the security info Seclnf fields may be omitted. As explained above, the nonce N may be left at the previously used value, set to zero, or any other convenient value. Remember, the rule to set the nonce N has to be identical at the sender S and the receiver R to authenticate and/or secure a given protocol frame 100.

[0084] In the AE mode at the sender S, the SADSE outputs, as output stream

C of length le, a cipher text cipher{protected payload PP} which is an encrypted version of the protected payload PP. The SADSE generates the cipher text cipher{protected payload PP} based on the nonce N, the protected payload PP, and the additional authentication data AAD.

[0085] In the AE mode at the sender S, the SADSE further outputs a security tag SecTag calculated using the key K, the nonce N, and the additional authentication data AAD. The security tag SecTag may be integrated into the protocol frame 100 leading to a protocol frame as discussed with regards to Fig. 2b. As explained above with regards to Fig. 3b and 3c, the security tag SecTag may be used to authenticate the protocol frame 100 as intended to be sent from the sender S to the receiver, and further to authenticate, if the protocol frame 100 is in its original form.

[0086] Replacing the protected payload PP with the output cipher text cipher{PP} and adding the security tag SecTag to the protocol frame 100 at the sender S, leads to an authenticated and encrypted protocol frame as discussed with regards to Fig. 2c.

[0087] Turning now to Fig. 3e an AE mode for the SADSE is described at the

Receiver R. As before, the SADSE receives the key K, and the nonce N as input. In the AE mode of the receiver R, the cipher text of the protected payload portion cipher{PP} takes the place of the input stream of length le. Note, that the cipher text of the protected payload cipher{PP} is an encrypted version of the protected payload portion PP of identical length.

[0088] In the AE mode at the receiver R, the additional authentication data

AAD comprises all information of the protocol frame 100 starting with the header H, up to but not including the protected payload portion PP. According to the protocol frame 100 discussed in Fig. 2b, the additional authentication data AAD may therefore comprise the header H, and the optional security information Seclnf.

[0089] If replay protection is not required, the protocol frame 100 may not comprise a sequence number SN, as discussed above in combination with Fig. 2b. As a consequence of SN not being set, the nonce N may be left at the previously used value or set to zero or any other convenient value. Obviously, the rule to set the nonce N has to be identical at the sender S and the receiver R.

[0090] If only one generic key K is used as secret key within the bus based communication system, the protocol frame 100 may not comprise the security info Seclnf field as discussed with regards to Fig. 2b.

[0091] Again, in circumstances where no replay protection is needed and the generic key K is used in the bus based communication system, the sequence number SN and the security info Seclnf fields may be omitted. As explained above, the nonce N may be left at the previously used value, set to zero, or any other convenient value. Remember, the rule to set the nonce N has to be identical at the sender S and the receiver R to authenticate and/or secure a given protocol frame 100.

[0092] In the AE mode at the receiver R, the SADSE outputs, as output stream C of length le, the protected payload portion PP. The SADSE generates the decrypted version of the cipher text cipher] PP} based on the optional sequence number SN as nonce N, the cipher text cipher{ PP}, and the additional authentication data AAD.

[0093] In the AE mode at the receiver R, the SADSE outputs a tag calculated using the key K, the optional sequence number as nonce N, and the additional authentication data AAD. The tag T’ is a recalculation of the security tag SecTag generated at the sender S.

[0094] A comparison of the security tag SecTag within the protocol frame 100 as calculated at the sender S to the newly calculated tag T’ at the receiver R, allows to authenticate whether the protocol frame 100 received at the receiver R was intended for transmission from the sender S to the receiver R, and further to authenticate whether or not the protocol frame 100 is in its original form.

[0095] It may be convenient for SADSE to directly output an authenticity indication AI, corresponding to the result of comparing the newly calculated tag T’ to the security tag SecTag within the protocol frame 100. This would however require the security tag SecTag to be accessible to the SADSE (not shown in Fig. 3e).

[0096] One possible way to implement the SADSE according to the present disclosure would be a block cipher mode. A prominent example of such a block cipher mode is the AES Galois-Counter Mode.

[0097] For AES-GCM there exists a recommendation by NIST, the National institute for standards in the US, regarding respective bit lengths for input and output values of the AES-GCM. These parameters are summarized for authentication only mode AO in Table 1.

[0098] For the authentication only mode AO the plain text stream of le characters, is not used, as is the corresponding cipher text over the protected payload PP as plain text stream, which corresponds to the discussion of the AO mode of SADSE with regards to Fig. 3b and 3c.

[0099] With regards to the additional authentication data AAD the length of

128*a bits is to indicate that an integer multiple a of 128 bits should be chosen to optimize performance of the AES-CGM mode implementing the SADSE of the present disclosure. Reaching a multiple of 128 bits may conveniently be achieved with zero padding. The counter CTR is an internal variable of the AES-GCM and reproduced for the sake of completeness, as not used in the AO mode.

[00100] Table 2 summarizes the respective bit length for input and output parameters of the AES-GCM implementing the SADSE.

[00101] Different to the authentication only AO mode parameters in Table 1, the authenticated encryption mode AE makes use of the Counter, which is implemented as a 32 bit value.

[00102] Cipher Text cipher{PP} and the Additional authentication Data AAD should for optimal performance of the AES-GCM implementing the SADSE be a multiple of 128 bit long. To achieve such bit length zero padding is a convenient option.

[00103] Fig. 4 illustrates a protocol frame according to the CAN standard. The CAN frame starts with a Header H formed by and arbitration field of 11 bit, followed by a Control field of 7 bit. Both arbitration field and control are portions of the CAN frame of a bit length not commensurable to a full byte length, as was already discussed as an option for the protocol frames 100 of the present disclosure according to Fig. 2a— 2d. Note, that the arbitration field may comprise of 29 bits according to CAN and CAN-FD standard, which are variants of the CAN standard as mentioned before.

[00104] The data field of 8 bytes corresponds to a payload P of an original protocol frame 100 according to Fig. 2a. A CRC field of 15 bits, together with an acknowledge slot bit, and an Acknowledge delimiter bit, as well as 7 bit of End of Frame correspond to the end of Frame portion EOF of the protocol frames discussed with respect to Fig. 2a— 2c. [00105] If one wanted to adapt the SADSE concept implemented as AES-GCM cipher mode, in an AE mode, using one symmetric key K across the CAN network, one could use two bytes of the original payload Pas a sequence number SN, and further two bytes as security tag SecTag, leaving a total of four bytes for the protected payload portion PP.

[00106] It may be convenient to set the sequence number SN as the first two bytes of the original payload P, as an incorrect sequence number would be detected earlier than in cases where the two sequence number bytes are shifted further downstream the original payload portion P.

[00107] Likewise moving the security tag SecTag toward the end of the protected payload PP will prevent the protected payload portion to be segmented by the security tag SecTag, which would render parsing of the CAN frame more complicated. As an alternative the SecTag and the sequence number SN could both be shifted to the beginning of the protected payload portion PP.

[00108] With such an approach, protection against replay attacks is achieved, while maintaining 50% of the original payload capacity P.

[00109] For a key size of 128 bits for the AES-GCM mode with one generic key K within the CAN System, and a sequence number SN of two bytes, Table 3 summarizes input and output parameter lengths for the authentication only mode AO, for inclusion of the security tag SecTag and the sequence number SN in the CAN frame.

[00110] In the example of Fig. 4, the sequence number has a size of 2 bytes, which corresponds to 16 bits. The key length of key K is 128 bits. The additional authentication data comprises of the Header, having a total length of 18 bits, and 4 bytes protected payload PP, which corresponds to 32 bits, leading in total to 50 bit as indicated in Table 3. To achieve efficient computation of the AES-GCM consider zero-padding for the remaining 78 bits needed to reach a total length of 128 bit for the AAD.

[00111] It will be appreciated that the length values stated in Table 3 would change further, if one was to omit the sequence number SN, in order to increase the available bytes for the protected payload PP to 6 bytes. This additional protected payload bits obviously come at the expense of no protection against replay attacks. Obviously one could decide, depending on security requirements, to shorten the security tag SecTag to a size below two bytes in order to increase the available bytes for the protected payload portion PP in return.

[00112] For a key size of 128 bits for the AES-GCM mode with one generic key K within the CAN System using a sequence number SN, Table 4 summarizes input and output parameter lengths for the AE mode.

[00113] The additional authentication data AAD in the AE mode comprises of the Header, having a total length of 18 bits. To achieve efficient computation of the AES-GCM consider zero-padding for the remaining bits needed to reach a total block size of 64 bits for the AAD.

[00114] It will be appreciated that the length values stated in Table 4 would change further, if one was to omit the sequence number SN, in order to increase the available bytes for the protected payload PP to 6 bytes. This additional protected payload bits obviously come at the expense of no protection against replay attacks. Obviously one could decide, depending on security requirements, to shorten the security tag SecTag to a size below two bytes in order to increase the available bytes for the protected payload portion PP in return.

[00115] It is one variant when implementing the SADSE functionality for the CAN bus communication system to consider block ciphers of shorter block size than the AES-CGM. Simon Speck is one example of such lightweight ciphers defined by the National Security Agency in the US. Table 5 summarizes various block and key sizes for the Simon and Speck block cipher family.

[00116] Let us consider a key size of 64 bits for the Simon and Speck block cipher with one generic key K within the CAN System with a header size of 18 bits, a sequence number SN, and the security Tag SecTag of two bytes, each.

[00117] Table 6 summarizes input and output parameter lengths for the authentication only AO mode with inclusion of the security tag SecTag and the sequence number SN in the CAN frame.

[00118] As we can see from Table 6, the plain text stream and the Cipher Text will be of 32 bits length, which corresponds to exact one block size. Therefore, no zero-padding is required for those fields as with the AES-GCM, and operation of the Simon Speck is more efficient for a CAN frame than the AES-CGM.

COO 119] t will be apparent to a person skilled in the art, that a shortening or an

omission of the sequence number SN and/or the security tag SecTag may increase the protected payload portion PP, reducing as a tradeoff the level of protection for the CAN frame.

[00120] The additional authentication data is 50 byte long as was the case for the AES-GCM as discussed above and will require zero padding as this length is between one and two block sizes of the Simon and Speck block size of 32 bits.

[00121] Table 7 summarizes input and output parameter lengths for the authenticated encryption mode with inclusion of the security tag SecTag and the sequence number SN in the CAN frame.

[00122] A

s we can see

from Table

7, the plain

text stream

and the

Cipher Text

will be of 32

bits length, which corresponds to exact one block size. Therefore, no zero-padding is required for those fields as with the AES-GCM, and operation of the Simon Speck is more efficient for a CAN frame than the AES-CGM in this respect. However, the additional authentication data AAD is shorter than a full block size and hence requires zero padding, as was the case for the AES-CGM discussed in the example above. [00123] The above described exemplary embodiments are merely illustrative. It is understood that modifications and variations of the arrangements and the details described herein will be apparent to others skilled in the art. It is the intent, therefore, to be limited only by the scope of the impending patent claims and not by the specific details presented by way of description and explanation of the embodiments herein.

* * *