METHOD AND DEVICE FOR PROCESSING DATA ASSOCIATED WITH A DATA FRAME
20240333665 ยท 2024-10-03
Inventors
- Arthur Mutter (Neuhausen, DE)
- Friedrich Wiemer (Burgstetten, DE)
- Ramona Jung (Stuttgart, DE)
- Thomas Enderle (Muenchen, DE)
Cpc classification
H04L63/0428
ELECTRICITY
H04L49/901
ELECTRICITY
International classification
H04L49/901
ELECTRICITY
Abstract
A method for processing data associated with a data frame. The method includes: providing output data with a plurality of information elements, for example in the form of a bit vector, for example for a device for executing cryptographic functions, wherein a first information element of the plurality of information elements has a length of 11 bits and characterizes first identification information associated with a data frame, wherein a second information element of the plurality of information elements has a length of 18 bits and is designed to characterize optional second identification information associated with the data frame, and, optionally, using the output data.
Claims
1. A computer-implemented method for processing data associated with a data frame that can be transmitted and/or has been transmitted via a bus system, the method comprising the following steps: providing output data with a plurality of information elements in the form of a bit vector for a device configured to execute cryptographic functions, wherein a first information element of the plurality of information elements has a length of 11 bits and characterizes first identification information associated with a data frame, wherein a second information element of the plurality of information elements has a length of 18 bits and is configured to characterize optional second identification information associated with the data frame.
2. The method according to claim 1, further comprising using the output data.
3. The method according to claim 1, wherein the data frame is a a link layer control (LLC) data frame according to CAN FD controller area network flexible data rate (CAN FD) protocol according to ISO 11898-1:2015.
4. The method according to claim 1, further comprising at least one of the following elements: a) assigning a value zero as binary 000000000000000000 to the second information element, when the data frame has a CAN FD base data frame format; b) assigning a non-vanishing value binary value based on an identification extension of the data frame to the second information element when the data frame has a CAN FD extended data frame format.
5. The method according to claim 1, further comprising at least one of the following elements: a) providing the first information element in the first 11 bits of the bit vector including bit 0 to bit 10; b) providing a third information element having three bits which characterizes a format of the data frame in bit 11 to bit 13 of the bit vector; c) providing the second information element in bit 14 to bit 31 of the bit vector.
6. The method according to claim 1, further comprising at least one of the following elements: a) providing filler data in bit 32 to bit 38 of the bit vector; b) providing an information element including data length code (DLC) information element, which characterizes a length of data bytes of the data frame in bit 33 to bit 42 of the bit vector; c) providing a bit rate switch (BRS) information element, which characterizes a switching of a data rate within the data frame in bit 43 of the bit vector; d) providing filler data in bit 44 to bit 63 of the bit vector.
7. The method according to claim 1, further comprising at least one of the following elements: a) providing a bit rate switch (BRS) information element, which characterizes a switching of a data rate, within the data frame in bit 32 of the bit vector; b) providing a data length code (DLC) information element which characterizes a length of data bytes of the data frame in bit 33 to bit 36 of the bit vector; c) providing filler data in bit 37 to bit 63 of the bit vector.
8. The method according to claim 1, further comprising at least one of the following elements: a) providing the first information element in the first 11 bits of the bit vector from bit 0 to bit 10; b) providing a third information element having three bits, which characterizes a format of the data frame, in bit 11 to bit 13 of the bit vector; c) providing the second information element in bit 46 to bit 63 of the bit vector.
9. The method according to claim 8, further comprising at least one of the following elements: a) providing filler data in bit 14 to bit 30 of the bit vector; b) providing a data length code (DLC) information element, which characterizes a length of data bytes of the data frame, in bit 31 to bit 34 of the bit vector; c) providing a bit rate switch (BRS) information element, which characterizes a switching of a data rate within the data frame, in bit 35 of the bit vector; d) providing filler data in bit 36 to bit 45 of the bit vector.
10. The method according to claim 1, further comprising at least one of the following elements: a) providing 32-bit filler data in bit 64 to bit 95 of the bit vector in a third 32-bit data word of the bit vector; b) providing 27-bit filler data, wherein b1) the 27-bit filler data extend from bit 32 to bit 38 and from bit 44 to bit 63, or b2) the 27-bit filler data extend from bit 37 to bit 63, or b3) the 27-bit filler data extend from bit 14 to bit 30 and from bit 36 to bit 45.
11. The method according to claim 1, further comprising: providing one or more information elements for a security protocol associated with the data frame of a CANsec type according to CiA (CAN in Automation) 613-2 specification, from bit 64 or from bit 96 of the bit vector.
12. The method according to claim 1, further comprising: providing a checksum of an integrity check value (ICV) type at an end of the bit vector.
13. The method according to claim 1, further comprising: truncating a checksum of an integrity check value (ICV) type, wherein a truncated checksum is obtained, and providing the truncated checksum at the end of the bit vector.
14. The method according to claim 13, wherein the truncating includes truncating the checksum to a length which is an integer multiple of 8 bits.
15. A device configured to process data associated with a data frame that can be transmitted and/or has been transmitted via a bus system, the device configured to: provide output data with a plurality of information elements in the form of a bit vector for a device configured to execute cryptographic functions, wherein a first information element of the plurality of information elements has a length of 11 bits and characterizes first identification information associated with a data frame, wherein a second information element of the plurality of information elements has a length of 18 bits and is configured to characterize optional second identification information associated with the data frame.
16. A bus device for a bus system, comprising: at least one device configured to process data associated with a data frame that can be transmitted and/or has been transmitted via a bus system, each of the at least one device configured to: provide output data with a plurality of information elements in the form of a bit vector for a device configured to execute cryptographic functions, wherein a first information element of the plurality of information elements has a length of 11 bits and characterizes first identification information associated with a data frame, wherein a second information element of the plurality of information elements has a length of 18 bits and is configured to characterize optional second identification information associated with the data frame.
17. A non-transitory computer-readable storage medium on which are stored commands for processing data associated with a data frame that can be transmitted and/or has been transmitted via a bus system, the commands, when executed by a computer, causing the computer to perform the following steps: providing output data with a plurality of information elements in the form of a bit vector for a device configured to execute cryptographic functions, wherein a first information element of the plurality of information elements has a length of 11 bits and characterizes first identification information associated with a data frame, wherein a second information element of the plurality of information elements has a length of 18 bits and is configured to characterize optional second identification information associated with the data frame.
18. The device according to claim 15, wherein the device is used for at least one of the following elements: a) providing the output data with the plurality of information elements in the form of the bit vector for the device configured to execute cryptographic functions; b) making possible an efficient use of a CANsec protocol for CAN FD; c) optimizing a data format for an input vector for the device configured to execute cryptographic functions; d) making possible a truncation of a checksum to a length of less than 64 bits; e) making possible use of a CANsec protocol selectively for CAN FD and/or CAN XL; f) making possible an efficient processing of different CAN FD identifier lengths of 11 bits and 29 bits; g) flexibly converting data associated with the data frame into at least one input bit vector for the device configured to execute cryptographic functions.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0047] Exemplary embodiments, see, for example,
[0048] In further exemplary embodiments,
[0049] In further exemplary embodiments, the device 20 and/or the device 200 can be integrated, for example, into the bus device 12b.
[0050] In further exemplary embodiments, the provision 100 can, for example, comprise writing the output data AD, for example in the form of the bit vector BV, into a memory to which the device 20 can have at least read access, and/or transferring, for example via a data interface between the device 200 and the device 20. Optionally, in further exemplary embodiments, a shared memory or a shared memory area can, for example, also be provided for providing 100 the output data AD, for example from the device 200 to the device 20.
[0051] In further exemplary embodiments, the received data frame DR can be stored, for example at least temporarily, for example buffered, for example in a receive buffer EP associated with the receiving bus device 12b. For example, in this way, for example the first identification information and/or the second identification information and/or further information possibly present in the received data frame DR can be stored at least temporarily.
[0052] In further exemplary embodiments,
[0053] In further exemplary embodiments, it is provided that the data frame is an LLC (link layer control) data frame according to the CAN FD (controller area network flexible data rate) protocol, for example according to ISO 11898-1:2015.
[0054] In further exemplary embodiments, the CAN FD LLC data frame DR can be derived, for example, from the data frame DR, such as is used in a CAN FD bus system 10 for transmission via the bus system 10. For example, the CAN FD LLC data frame DR can comprise a subset of and/or other and/or additional information as compared to a data frame DR which is used in the CAN FD bus system 10 and is associated, for example, with a deeper protocol layer, for example the MAC (medium access control) layer, for example layer 2a according to the ISO/OSI model. For example, the CAN FD LLC data frame DR is associated with layer 2b of the ISO/OSI model.
[0055] In further exemplary embodiments,
[0056] In further exemplary embodiments,
[0057] In this respect,
[0058] The element e1 of the bit vector BV-A according to
[0059]
[0060] The element e30 of the bit vector BV-B according to
[0061] In further exemplary embodiments,
[0062] In further exemplary embodiments,
[0063]
[0064] In further exemplary embodiments,
[0065] In further exemplary embodiments,
[0066] In further exemplary embodiments,
[0067] In further exemplary embodiments,
[0068] In further exemplary embodiments, data associated with the security protocol can be processed, for example, by the device 20 (
[0069] In further exemplary embodiments,
[0070] For example, the bit vector BV and/or BV-A and/or BV-B and/or BV-C has a length of, for example, approximately 24 bytes to, for example, approximately 100 bytes, and information of the checksum ICV can, for example, occupy the last bytes, for example the last 4 bytes or 8 bytes or 12 bytes or 16 bytes.
[0071] In further exemplary embodiments, useful data (for example, up to 64 bytes) can be arranged in one or more data words between the element e17 (for example, characterizing an optional freshness value) and the element e19 in the bit vector BV-A according to
[0072] In further exemplary embodiments, useful data (for example, up to 64 bytes) can be arranged in one or more data words between the element e45 (for example, characterizing an optional freshness value) and the element e47 in the bit vector BV-B according to
[0073] In further exemplary embodiments, useful data (for example, up to 64 bytes) can be arranged in one or more data words between the element e67 (for example, characterizing an optional freshness value) and the element e69 in the bit vector BV-C according to
[0074] In further exemplary embodiments,
[0075] In further exemplary embodiments,
[0076] Further exemplary embodiments,
[0077] In further exemplary embodiments,
[0078] In further exemplary embodiments, the memory device 204 has a volatile memory (for example, working memory (RAM)) 204a, and/or a non-volatile (NVM) memory (for example, flash EEPROM) 204b, or a combination thereof or with other types of memory not explicitly mentioned.
[0079] Further exemplary embodiments relate to a computer-readable storage medium SM comprising commands PRG that, when executed by a computer 202, cause said computer to perform the method according to the embodiments.
[0080] Further preferred embodiments relate to a computer program PRG comprising commands that, when the program PRG is executed by a computer 202, cause said computer to perform the method according to the embodiments.
[0081] Further exemplary embodiments relate to a data carrier signal DCS that characterizes and/or transmits the computer program PRG according to the embodiments. For example, the data carrier signal DCS can be received via an optional data interface 206 of the device 200. For example, data frames DR, DR can also be transmitted (sent and/or received) via the optional data interface 206.
[0082] In further exemplary embodiments,
[0083] In further exemplary embodiments, the device 200 is designed to access the receive buffer EP (
[0084] Further exemplary embodiments,
[0085] Further exemplary embodiments,
[0086] The principle according to exemplary embodiments makes it possible to convert, for example transform, information in a, for example, received data frame DR, DR into a bit vector BV, which can be supplied, for example, to the device 20 as input data, for example as an input vector.
[0087] The principle according to exemplary embodiments makes possible a, for example, optimized structure, for example formatting, of the bit vector BV, for example with respect to a processing of data or information in the bit vector BV by the device 20, wherein in further exemplary embodiments, for example, different variants BV-A (
[0088] For example, in further exemplary embodiments, the device 200 can be designed to output the bit vector BV selectively in at least one of the formats BV-A (
[0089] An optional truncation 150, 150a (see
[0090] The principle according to exemplary embodiments makes possible, for example, an efficient use of the CANsec protocol with, for example, CAN FD-compatible bus devices or bus systems, for example an efficient use of the CANsec protocol using CAN FD data frames, for example CAN FD LLC data frames.
[0091] The principle according to exemplary embodiments makes possible, for example, a uniform architecture of components and, for example, even a reduction in a code size of computer programs PRG, PRG for processing data associated with the CANsec protocol, for example regardless of whether CAN FD and/or CAN XL is used, whereby, for example, attack possibilities on implementations of the device 200 are also reduced.
[0092] The principle according to exemplary embodiments makes possible efficient handling, for example processing, not only of CAN FD data frames with an 11-bit identifier (base IDs) but also of CAN FD data frames with a 29-bit identifier (extended IDs).
[0093] If, for example, a bus device 12b (
[0094] Further exemplary embodiments,