METHOD AND APPARATUS FOR PROCESSING DATA ASSOCIATED WITH A BUS SYSTEM
20250181547 ยท 2025-06-05
Inventors
- Arthur Mutter (Neuhausen, DE)
- Friedrich Wiemer (Burgstetten, DE)
- Ramona Jung (Stuttgart, DE)
- Thomas Enderle (Muenchen, DE)
Cpc classification
International classification
Abstract
A method for processing data associated with a serial bus system. The method includes: providing an indication characterizing at least one aspect of a control plane for a security protocol for the serial bus system, transmitting the indication on the bus system.
Claims
1. A computer-implemented method for processing data associated with a serial bus system, the method comprising: providing an indication characterizing at least one aspect of a control plane for a security protocol for the serial bus system; and transmitting the indication on the bus system.
2. The method according to claim 1, wherein the at least one aspect of the control plane includes at least one of: a) a type of the control plane, or b) a version of the control plane.
3. The method according to claim 1, wherein the serial bus system is of the controller area network (CAN) type or based on the CAN type, and wherein the security protocol is of a CANsec type.
4. The method according to claim 1, further comprising: providing an information element for the indication in a header of the security protocol.
5. The method according to claim 4, wherein the providing of the information element for the indication in the header includes providing the information element adjacent to an information element associated with one or more reserved bits.
6. The method according to claim 4, further comprising at least one of: a) determining at least one of a type or version of the control plane, or b) setting a value of the indication based on the determination of at least one of the type or version of the control plane, or c) omitting an information element of the header associated with a key number, based on the determination of at least one of the type or version of the control plane, or d) using an information element of the header associated with a key number for extending at least one further information element of the header based on the determination of at least one of the type or version of the control plane, or e) providing an information element of the header associated with a key number based on the determination of at least one of the type or version of the control plane.
7. The method according to claim 1, further comprising: using at least a part of an information element of a header of the security protocol for providing the indication.
8. The method according to claim 7, wherein using the at least a part of the information element of the header of the security protocol includes at least one of: a) using an information element of the header associated with a version number, or b) using an information element of the header associated with an add on type, or c) extending the information element.
9. The method according to claim 1, further comprising: receiving the indication characterizing the at least one aspect of the control plane for the security protocol for the serial bus system over the serial bus system.
10. A computer-implemented method for processing data associated with a serial bus system, comprising: receiving an indication characterizing at least one aspect of a control plane for a security protocol for the serial bus system over the serial bus system, wherein the at least one aspect of the control plane includes at least one of: a) a type of the control plane, or b) a version of the control plane.
11. An apparatus configured to process data associated with a serial bus system, the apparatus configured to: provide an indication characterizing at least one aspect of a control plane for a security protocol for the serial bus system; and transmit the indication on the bus system.
12. The apparatus according to claim 11, wherein the apparatus is part of a node for the serial bus system.
13. A serial bus system, comprising at least one apparatus configured to process data associated with a serial bus system, the apparatus configured to: provide an indication characterizing at least one aspect of a control plane for a security protocol for the serial bus system; and transmit the indication on the bus system.
14. A non-transitory computer-readable storage medium on which are stored instructions for processing data associated with a serial bus system, the instructions, when executed by a computer, causing the computer to perform that following steps: providing an indication characterizing at least one aspect of a control plane for a security protocol for the serial bus system; and transmitting the indication on the bus system.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Some example embodiments of the present invention will now be described with reference to the figures.
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
[0037] Some examples,
[0038] In some examples,
[0039] In some examples,
[0040] In some examples,
[0041] In some examples,
[0042] In some examples,
[0043]
[0044] In some examples, information element e4 characterizes a control plane, CP, field, e.g., to accommodate the indication IND-CP according to some examples. In other words, in some examples, the information element e4 of
[0045] In some examples, information element e5 characterizes a Reserved field, e.g., comprising presently for example three reserved bits, e.g., reserved for future use. In some examples, information element e6 characterizes an EP (Exclude Priority) field. In some examples, information element e7 characterizes an EV (Exclude VCID) field. In some examples, information element e8 characterizes a CM (Cipher Mode) field. In some examples, information element e9 characterizes an AN (Association Number) field. In some examples, information element e10 characterizes an SCI (Secure Channel Identifier) field. In some examples, information element e11 characterizes a Packet Number or Freshness Value field. In some examples, optional information element e12 characterizes an optional Key Number field.
[0046] In some examples, if the EP bit field is set, it can be signaled that a CANsec authentication does not include the Priority ID field. In some examples, this mechanism may, e.g., be used to enable possible (valid) changes, e.g., when forwarding/routing a CAN XL frame, e.g., to other bus segments where the priority ID may need to be changed.
[0047] In some examples, if the EV bit field is set, it can be signaled that a VCID field is omitted from an authentication, e.g., the authentication does not include the VCID field. In some examples, this mechanism may, e.g., be used to enable possible (valid) changes, e.g., when forwarding/routing a CAN XL frame, e.g., to other bus segments where the VCID may need to be changed.
[0048] In some examples, e.g., if EP=0 & EV=0 (e.g., neither EP bit field set nor EV bit field set, all listed header fields may be authenticated by CANsec.
[0049] In some examples, the CM bit field indicates or specifies, whether CANsec protection is only used for authentication/integrity protection (CM=0) of a CAN XL frame, or whether the payload of the frame is also encrypted (CM=1).
[0050] In some examples, the AN bit field identifies a secure association used for a CANsec frame.
[0051] In some examples, CANsec may have the following (e.g., logical) constructs, e.g., for communication between two or more nodes: The Connectivity Association (CA), or Secure Zone (SZ), is a group of bus nodes that wish to communicate together in a protected manner. To this end, in some examples, these bus nodes may share a Connectivity Association Key (CAK) or Secure Zone Key (SZK). In some examples, e.g., within a CA, there may be a send secure channel (e.g., unidirectional 1:n channel), e.g., from each participant to all other participants, which may, e.g., be identified by a Secure Channel Identifier (SCI). In some examples, e.g., to enable a quick change between session keys, which may be required for an actual protection of the communication, there may be one or more Secure Associations (SAS), e.g., within each Secure Channel. In some examples, which SA is used may be identified via the AN field. In some examples, each SA may be assigned a Secure Association Key (SAK), which may, e.g., be negotiated via the control plane, e.g., using the CAK. In some examples, each recipient can therefore, e.g., determine an exact key used (SAK) via the SCI and AN.
[0052] As can be seen from
[0053]
[0054] Similarly,
[0055] In some examples,
[0056] In some examples,
[0057]
[0058] In the example CAN XL header CXL-HEAD only some example information elements are explicitly depicted for the sake of clarity, such as, e.g., element e20, characterizing a priority ID, element e21 (SDT, Service Data Unit Type), element e22 (DLC, Data Length Code), e23 (Acceptance Field).
[0059] In some examples, the information elements e1, e2, e3, e4, e5, e10 of
[0060] In some examples,
[0061] In some examples,
[0062] In some examples,
[0063] In some examples,
[0064] In some examples,
[0065] In some examples,
[0066] In some examples,
[0067] Some examples,
[0068] Some examples,
[0069] In some examples,
[0070] In some examples, the data DAT may, e.g., comprise at least one of: a) information associated with the control plane CP-SP, or b) information associated with the indication IND-CP, or c) information associated with the information element IE-IND-CP, e4, e1, e3.
[0071] In some examples, the at least one calculating unit 202 may comprise at least one of the following elements: a microprocessor, a microcontroller, a digital signal processor (DSP), a programmable logic element (e.g., FPGA, field programmable gate array), an ASIC (application specific integrated circuit), hardware circuitry, a tensor processor, a graphics processing unit (GPU). According to further examples, any combination of two or more of these elements is also possible.
[0072] According to some examples, the memory unit 204 comprises at least one of the following elements: a volatile memory 204a, e.g. a random-access memory (RAM), a non-volatile memory 204b, e.g. a Flash-EEPROM.
[0073] In some examples, the computer program PRG is at least temporarily stored in the non-volatile memory 204b. In some examples, the data DAT may at least temporarily be stored in the RAM 204a.
[0074] In some examples, an optional computer-readable storage medium SM comprising instructions, e.g. in the form of the computer program PRG. As an example, the storage medium SM may comprise or represent a digital storage medium such as a semiconductor memory device (e.g., solid state drive, SSD) and/or a magnetic storage medium such as a disk or harddisk drive (HDD) and/or an optical storage medium such as a compact disc (CD) or DVD (digital versatile disc) or the like.
[0075] In some examples, the apparatus 200 may comprise an optional data interface 206, e.g. for bidirectional data exchange with at least one further device (not shown). As an example, by means of the data interface 206, a data carrier signal DCS may be received, e.g. from the at least one further device, for example via a wired or a wireless data transmission medium, e.g. over a (virtual) private computer network and/or a public computer network such as e.g. the Internet.
[0076] In some examples, the data carrier signal DCS may represent or carry the computer program PRG according to the examples, or at least a part thereof.
[0077] Some examples relate to the computer program PRG comprising instructions which, when the program is executed by a computer 202, cause the computer 202 to carry out the method according to the disclosure.
[0078] Some examples,
[0079] Some examples,
[0080] Some examples,
[0081] Some examples,
[0082] In the following, further aspects and examples are disclosed, which, in some examples, may be combined with at least one of the aspects and/or examples disclosed above.
[0083] In some examples, the principle according to the disclosure may be used for secure communication protocols, e.g., for different technologies, e.g., for point-to-point or multicast/bus systems, e.g., for Controller Area Network (CAN)-based bus systems and others.
[0084] In some examples, to protect a, for example original, communication, e.g., on an underlying technology, a security protocol such as, e.g., Transport Layer Security (TLS), Internet Protocol Security (IPsec), Media Access Control Security (MACsec), Secure On Board Communication (SecOC) (for Classic CAN and CAN FD) or CAN Security (CANsec) (for CAN XL) may be used.
[0085] In some examples, a security protocol may use cryptographic primitives, e.g., to authenticate and (possibly optionally) encrypt (parts of) a communication frame or packet.
[0086] In some examples, when applying cryptographic protection, the sender as well as the receiver may need to be in the possession of the used keys. In some examples, these keys can be asymmetric key pairs (e.g., consisting of an public and a private key), where the parties then know the public key of each other. Based on these asymmetric key pairs, in some examples, the security protocol may run a key agreement scheme, after which both participants may share a secret (e.g., symmetric) session key. In some examples, this symmetric key may then be used to protect the further communication (e.g., data exchange) between both entities.
[0087] In some examples, e.g., instead of relying on asymmetric cryptography, the parties may also know a pre-shared secret (symmetric) key (PSK), in which case the communication is either protected by this PSK directly or the PSK is used as a long term key and the parties derive a session key which is eventually used to protect the actual communication.
[0088] In some examples, key agreement parts of a security protocol may take place in the control plane. In some examples, besides the task to agree on a key, the control plane may also have further duties, e.g. signal liveness of peers in regular intervals, or others.
[0089] In some examples, some secure communication protocols may provide different, e.g., a plurality of, strategies, e.g., for key agreement and/or other tasks, e.g., associated with the control plane. In some examples, the indication IND-CP according to the disclosure may be used to signal which strategy should be used.
[0090] In some examples, e.g., for the security protocol CANsec, which may be used as a secure communication protocol for CAN XL, more than one idea and/or type and/or version of control plane may be provided. In some examples, e.g., two different ideas and/or types and/or versions of the control plane may be used, wherein a first idea/version/type is MACsec Key Agreement (MKA) control plane, and wherein a second idea/version/type is IBKA (in-band key agreement).
[0091] In some examples, e.g., in order to ensure flexibility, e.g., get the best of both approaches MKA, IBKA, e.g., the CANsec protocol may be designed to enable, e.g., use, both options, i.e., allowing MKA as well as IBKA as control plane.
[0092] In some examples, the choice (i.e. whether MKA is used or whether IBKA is used) for the control plane may be signaled using the indication IND-CP.
[0093] In some examples, the principle according to the disclosure enables to distinguish multiple different control plane strategies, e.g., for CANsec on CAN XL, and thus, for examples, lets a user of CAN XL and CANsec decide, which way to choose: the key agreement approach of MKA or the strategy of IBKA.
[0094] In some examples, the use of the indication IND-CP according to the disclosure enables to provide different ways how a signalling related to aspects of the control plane can be done: a) via a dedicated header field e4 (which may, e.g., be introduced in a data plane frame format), or b) by assigning two different data plane versions, one to be used with MKA, the other including IBKA, or c) by issuing a new Add On Type (AOT) that may differentiate the one used with MKA from the other including IBKA.
[0095] In some examples, these three example options may be seen as implementing a distinction between the control plane options on different levels of abstraction.
[0096] In some examples, for an MKA-based approach, a key number (KN) field may not be required, and might, in some examples, be removed from the frame format, see
[0097] In some other examples, e.g., for the IBKA-based approach, the key number field may be used and may thus be provided in the frame format, see, for example,
[0098] In some examples, e.g., for IBKA, it may also be possible to merge the key number KN field into the Packet Number (PN) field. In some examples, a state for the key number and the packet number may be handled, e.g., internally.
[0099] In the following, further aspects and examples related to enabling detection of a chosen control plane (e.g., if MKA or IBKA is used) are disclosed, which, in some examples, may be combined with at least one of the aspects and/or examples disclosed above.
[0100] In some examples, a, for example new, bitfield e4 (
[0101] In some examples, the CP field may have any width, e.g. 1 bit, 2 bit, or more, e.g., depending on a number of control planes to be distinguished. In some examples, the CP field may for example indicate, if MKA is used (e.g. CP=0), or IBKA (e.g. CP=1). In some examples, e.g., if MKA is chosen (e.g., CP=0), the KN field can be omitted, or the KN field can be transmitted, but may be ignored by a receiver.
[0102] In some examples, the KN field may be used to extend the Packet Number field, e.g. doubling a size of the Packet Number field. In some examples, a larger Packet Number field may allow, e.g., a user, to use a same cryptographic key for a comparatively long time, e.g., without the need for updating the key.
[0103] In some examples, e.g., alternatively, the KN field may not be transmitted. This has the advantage, that it saves communication bandwidth.
[0104] In some examples, e.g., in case IBKA is chosen (e.g., CP=1), the CANsec header may includes the KN field, which may be used by IBKA, e.g., to derive one or more session key(s).
[0105] In some examples, extending the Version Number (VN) field is proposed. In some examples, the CANsec header may include a three bit long Version Number (VN) field e3, see
[0106] In some examples, a choice of control plane may be interpreted as two different versions of CANsec. Thus, in some examples, introducing a new version, these two versions may be used, e.g., to distinguish MKA use from IBKA use. For example: a value of the VN field of 010 may characterize Version 1 of CANsec, using MKA, whereas a valued of the VN field of 011 may characterize Version 1 of CANsec, using IBKA.
[0107] In some examples, the VN field may be extended, e.g., by taking one or more bits, e.g., from the Reserved field e5, e5.
[0108] In some examples, another possibility to signal a decision which control plane to use, is to use at least a portion of the AOT field e1. In some examples, the purpose of the AOT field is to identify which CAN XL Layer 2 add-on function is applied to a CAN frame. In some examples, two Layer 2 add-on functions for CAN XL are defined: AOT=010b indicates a CANsec protected frame; AOT=001b indicates a fragmented CAN XL frame, as, e.g., specified in CiA 613-7. In some examples, CANsec with MKA may be interpreted as a different CAN XL Layer 2 add-on function than CANsec with IBKA and may, e.g., be indicated with different AOTs, e.g., values of the AOT field. As an example, a value of 010b may characterize a CANsec protected frame, using MKA, and a value of 011b may characterize a CANsec protected frame, using IBKA, whereas a value of 001b may indicate fragmented CAN XL frame.