Communication device and secure communication method
By employing separate secure channels and a combination of different security protocol layers in the vehicular network system, the security and cost issues of asymmetric data communication in existing technologies are resolved, achieving efficient and secure data transmission.
Patent Information
- Application Number
- CN202510588253.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-10
- Filing Date
- 2025-05-08
- Publication Date
- 2025-11-11
AI Technical Summary
Existing vehicular network systems cannot effectively meet the power consumption and design cost requirements of conventional solutions when achieving secure and high-speed asymmetric data communication, and lack security protocols and interoperability solutions suitable for asymmetric communication.
Data transmission is performed using separate secure channels, each using a different security protocol layer. Bidirectional data communication is achieved through the higher-layer IPsec protocol, while one-way data communication is achieved through the lower-layer MACsec protocol. The cryptographic key and index value of one secure channel are updated through another secure channel to ensure both security and flexibility.
It improves the security and flexibility of in-vehicle network systems, reduces the risk of hardware attacks, reduces authentication and compliance costs, and meets the needs for efficient transmission of different types of data.
Smart Images

Figure CN120934779A_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to the use of secure data communications, and more specifically, to managing the updating and synchronization of cryptographic data in asymmetric data communications via separate secure channels with different bandwidths by using one of the secure channels to exchange updated cryptographic data to another secure channel. Background Technology
[0002] Many networked systems, such as vehicular networks, implement secure channel systems to ensure secure communication between various interconnected components. Furthermore, certain types of components, such as in-vehicle cameras, require high-speed connections, typically achieved via Ethernet. For example, when software processing is removed from the camera (satellite architecture), higher asymmetric data rates are required. Conventional Layer 2 security protocols (e.g., Media Access Control Security (MACsec)) can be implemented for symmetric communication scenarios, but are not cost-optimized for asymmetric communication use cases. Further complicating this issue is that many components requiring high data connectivity are also sensitive to power consumption and design costs. Therefore, conventional solutions for secure and high-speed asymmetric data connectivity between interconnected network devices are insufficient. Summary of the Invention
[0003] As discussed in further detail herein, the underlying network supporting the interconnected devices can be implemented as part of any suitable type of system utilizing secure communication, such as, for example, in-vehicle networks, industrial-based networks such as those used in production lines, etc. For instance, the interconnected devices system may include a centralized device or master unit, such as a central computer, electronic control unit (ECU), microcontroller, etc. This centralized device can communicate with several other interconnected devices, which may be referred to as remote devices, such as camera modules, display modules, radar modules, sensors, etc.
[0004] Such interconnected networks require secure and high-speed connectivity, which has traditionally been addressed using symmetric data communication. However, data communication in such networks is typically asymmetric. The proposed solutions for secure asymmetric data communication primarily target the physical (PHY) layer, which provides electrical, mechanical, and process interfaces for specific transmission media. To date, no solutions have considered the security or protocols required for interoperability with such interfaces to provide secure and high-speed asymmetric data communication.
[0005] As recognized by the embodiments discussed in further detail herein, the asymmetric nature of communication between devices is a result of the need to transmit different types of data, and therefore these different types of data can be transmitted via physically separated secure channels. Each secure channel can represent a bidirectional or unidirectional channel. For example, control data such as configuration data and diagnostic-related data may be transmitted less frequently than other types of data and are more likely to be transmitted bidirectionally between devices. However, other types of data such as video streams, radar streams, sensor data streams, etc., may be transmitted more frequently (requiring higher bandwidth) and are more likely to be transmitted unidirectionally between devices.
[0006] The implementations described herein utilize the nature of such asymmetric communication to assign different types of data communication to different physically separate secure channels. In doing so, each secure channel can utilize a different security protocol layer. For example, bidirectional data communication can be implemented via a higher-layer security protocol (e.g., in software) such as the Internet Security Protocol (IPsec), while unidirectional data communication can be implemented via a lower-layer security protocol (e.g., in hardware) such as the MACsec security protocol.
[0007] The specific types of security protocols that can be used are provided by way of example rather than limitation, and any suitable type of security protocol can be used to implement secure channels as discussed herein. However, regardless of the type of security protocol used, each secure channel can utilize cryptographic data to perform secure communication, which may include one or more cryptographic keys and index values (e.g., freshness values). Cryptographic keys may include shared keys, such as master cryptographic keys that can be implemented according to any suitable cryptographic function, or any other suitable type of cryptographic key implemented for secure communication. These secure communications between devices may include Authentication Encryption (AEAD) communication with associated data, as well as authentication-only communication.
[0008] To ensure robust security measures, some cryptographic keys may "expire" after multiple secure message transmissions. Assuming one secure channel (e.g., a higher bandwidth channel) operates faster than another, the cryptographic key used for the higher bandwidth channel will expire first. The implementation described herein allows for the detection of an impending expiration of a cryptographic key before its actual expiration, and in response, updates the cryptographic key used for secure communication, along with other data such as the index value used for that secure channel. The updated cryptographic key and updated index value for one secure channel can then be transmitted via another secure channel as part of secure data communication. In this way, the updated shared key and updated freshness value are not transmitted "in plaintext," which would indicate a security problem.
[0009] Furthermore, the implementations described herein can implement different types of cryptographic algorithms for each secure channel, different key lengths for the cryptographic keys used by each secure channel, and / or can implement software or hardware solutions for each secure channel. For example, a lower bandwidth secure channel can implement longer cryptographic keys compared to a higher bandwidth secure channel, and each cryptographic key can be used based on the same or different cryptographic algorithms. Additionally, a hardware solution can be implemented for the higher bandwidth secure channel, while a software solution can be implemented for the lower bandwidth secure channel. Therefore, using physically separate secure channels not only helps to better resist hardware attacks but also provides flexibility regarding the implementation of the entire system.
[0010] According to one aspect of the present invention, a communication device is provided. The communication device is configured to transmit data via a set of secure channels, the communication device comprising: a first secure channel circuit system configured to perform secure bidirectional data communication with another device via the first secure channel using a first key; a second secure channel circuit system configured to perform secure unidirectional data communication with another device via the second secure channel using a second key; and a processing circuit system configured to update the second key based on an index value satisfying predetermined conditions, wherein the first secure channel circuit system is further configured to send the updated second key to the other device via the first secure channel as part of the secure bidirectional data communication, and wherein the second secure channel circuit system is configured to perform secure unidirectional data communication with the other device using the updated second key.
[0011] According to another aspect of the present invention, a secure communication method is provided for transmitting data through a set of secure channels. The method includes: performing secure bidirectional data communication with a device via a first secure channel using a first key; performing secure unidirectional data communication with the device via a second secure channel using a second key; updating the second key based on an index value satisfying predetermined conditions; sending the updated second key to the device via the first secure channel as part of the secure bidirectional data communication; and performing secure unidirectional data communication with the device via the second secure channel using the updated second key. Attached Figure Description
[0012] The accompanying drawings (which are incorporated in and form part of the specification) illustrate various aspects of this disclosure and, together with the specification, serve to explain the principles of these aspects and enable those skilled in the art to implement and use them.
[0013] Figure 1 This demonstrates the use of a conventional asymmetric communication system;
[0014] Figure 2A and Figure 2B Example communication using a separate secure channel is shown according to one or more embodiments of this disclosure;
[0015] Figure 3 An example device architecture according to one or more embodiments of this disclosure is shown; and
[0016] Figure 4 An example processing flow according to an implementation of this disclosure is shown.
[0017] Example aspects of this disclosure will be described with reference to the accompanying drawings. Elements first appearing in the drawings are generally indicated by the leftmost numeral in the corresponding reference numerals. Detailed Implementation
[0018] Numerous specific details are set forth in the following description to provide a thorough understanding of various aspects of this disclosure. However, it will be apparent to those skilled in the art that these aspects, including structures, systems, and methods, can be practiced without these specific details. The descriptions and representations herein are common means used by those experienced or skilled in the art to most effectively communicate the substance of their work to others skilled in the art. In other instances, well-known methods, processes, components, and circuit systems have not been described in detail to avoid unnecessarily obscuring various aspects of this disclosure.
[0019] Figure 1 The use of a conventional asymmetric communication system is illustrated. For example... Figure 1 The example shown is a conventional asymmetric communication system 100. Figure 1 The communication system 100 shown is part of an in-vehicle network and includes a remote device communicating with a central device 110; in this example, the remote device is a camera module 102. For this purpose, the camera module 102 includes a single physical layer 102.1 and a camera sensor 102.2. Physical layer 102.1 is configured to interface with another single physical layer 104, which is also part of the in-vehicle network. Physical layer 102.1 transmits sensor data (e.g., video data streams) captured by the camera sensor 102, which is received by the central device 110 via physical layer 104, Ethernet switch 106, and vehicle Ethernet 108. The central device 110 also transmits control data (e.g., configuration data) to the camera module 102, which is received by the camera module 102 via vehicle Ethernet 108, Ethernet switch 106, and physical layer 104. The camera module may also transmit control data (e.g., diagnostic data) to the central device 110.
[0020] Data communication between the centralized device 110 and the camera module 102 is asymmetric because the camera module 102 sends more data than it receives, and the centralized device 110 receives more data than it sends. As mentioned above, current Ethernet-based security protocols are not well-suited for such asymmetric communication systems. Furthermore, all data is typically transmitted over a single physical channel using a single physical layer 102.1, 104, which limits the design of physical layers 102.1, 104. The implementations discussed in further detail herein address these issues by using separate physical security channels and managing cryptographic data by utilizing one channel to update cryptographic data used by the other security channel.
[0021] Figure 2A and Figure 2B Example communication using separate secure channels according to one or more embodiments of this disclosure is shown. Figure 2A The communication system 200 shown includes two devices 202 and 210. For example... Figure 2A and Figure 2B The arrows between each component shown can represent any suitable number and / or type of communication links that can facilitate data transmission according to any suitable number and / or type of communication protocols. For example, these communication links can include wired and / or wireless links, buses, wires, cables, conductive traces, optical connections, etc.
[0022] Device 202 can be implemented as any suitable type of remote device, which can be implemented according to any suitable application to perform bidirectional and / or unidirectional communication with device 210. For example, device 202 can be identified by any suitable type of device or sensor module such as a camera module or radar module, which can be implemented as a remote device communicating with a network such as a vehicle network, for example, as described above.
[0023] Device 202 includes component 202.1, which is communicatively coupled to two separate communication interfaces 202.2 and 202.3, each of the separate communication interfaces 202.2 and 202.3 being identified by separate physical security channels A and B, such as... Figure 2A As shown. Component 202.1 may include any suitable component of device 202 configured to transmit and receive data via secure channels A and B. For example, when device 202 is implemented as a camera module, component 202.1 may be implemented as a camera sensor. As another example, when device 202 is implemented as a radar module, component 202.1 may be implemented as a radar sensor.
[0024] Communication interfaces 202.2 and 202.3 can be implemented as any suitable type of data interface configured to facilitate the transmission and / or reception of data according to any suitable corresponding protocol. Communication interfaces 202.2 and 202.3 can be configured to support the same communication protocol or different communication protocols. In an implementation, for example, each of communication interfaces 202.2 and 202.3 can represent a physical layer and accompanying data interface used according to any suitable communication protocol and / or standard (such as Ethernet).
[0025] Secure channel A in Figure 2A The diagram shows a secure channel A supporting bidirectional communication between device 202 and device 210, while secure channel B is configured to support unidirectional communication from device 202 to device 210. This is by way of example and not limitation, and secure channels A and B can alternatively include two bidirectional channels. However, the use of both bidirectional and unidirectional channels can be particularly useful for supporting communication of different types of data between device 202 and device 210. For example, bidirectional secure channel A can be used to transmit control data, such as configuration data and / or diagnostic data, between device 202 and device 210, while unidirectional secure channel B can be used to send sensor data streams, such as video data streams, radar data streams, etc. In such a scenario, it should also be noted that unidirectional secure channel B can be configured to support higher bandwidth and / or data communication speeds relative to bidirectional secure channel A. This is because the nature of data communication such as video data streams or radar data streams, for example, typically requires higher bandwidth due to higher data transmission rates, as described above. In any case, it should also be noted that the assignment of these specific data types to bidirectional and unidirectional secure channels is by way of example rather than limitation, and secure channels A and B can be implemented as bidirectional or unidirectional channels and support communication of any suitable type of data between device 202 and device 210.
[0026] Device 210 can be implemented as any suitable device coupled to the same network as device 202. Therefore, based on the specific application of communication system 200, device 210 can be implemented as any suitable type of device. For example, device 210 can be implemented as a centralized computing device within a vehicle utilizing an in-vehicle network. This can include, for example, an electronic control unit or other suitable computing device. As another example, device 210 can be implemented as a region controller that sends data to and receives data from device 202 as part of zoned communication, which can be a secure zone according to any suitable communication protocol.
[0027] Regardless of its specific implementation, device 210 is configured to communicate with device 202 using secure communication via two separate secure channels A and B, as described above. Of course, communication system 200 may include any suitable number of additional channels; however, for the sake of brevity and ease of illustration, two secure channels are used herein. For each secure channel A and B, communication system 200 includes communication interfaces 206.1 and 206.2 and network interfaces 208.1 and 208.2.
[0028] As described above, communication interfaces 206.1 and 206.2 can be configured to be the same as or similar to communication interfaces 202.2 and 202.3 of device 202. For example, communication interfaces 206.1 and 206.2 can be implemented as any suitable type of data interface configured to facilitate the transmission and / or reception of data according to any suitable corresponding protocol. Communication interfaces 206.1 and 206.2 can be configured to support the same communication protocol or different protocols, but the communication protocols implemented by communication interfaces 202.2 and 206.1 can be the same as each other, and the communication protocols implemented by communication interfaces 202.3 and 206.2 can also be the same as each other. In an implementation, for example, each of communication interfaces 206.1 and 206.2 can represent the physical layer and accompanying data interface used according to any suitable communication protocol and / or standard (such as Ethernet).
[0029] Network interfaces 208.1 and 208.2 can be implemented as any suitable device configured to facilitate connection and interfacing between communication interfaces 206.1 and 206.2 and devices 202 and 210 and any suitable type of communication network. Therefore, the arrows between device 210 and network interfaces 208.1 and 208.2 can include the communication network to which device 210 is connected, such as, for example, an in-vehicle network. As an example, network interfaces 208.1 and 208.2 can be implemented as any suitable type of component configured to facilitate such network connectivity, such as a network switch (e.g., an Ethernet switch), a multiplexer, a Media Access Control (MAC) layer that controls the hardware responsible for interacting with the network, etc.
[0030] Therefore, in this implementation, secure channel A and secure channel B are physically separated from each other between device 202 and device 210. For example, secure channel A may include communication interface 202.2, communication interface 206.1, network interface 208.1, communication links between these components, or any subset of these components. Similarly, secure channel B may include communication interface 202.3, communication interface 206.2, network interface 208.2, communication links between these components, or any subset of these components. By using separate and dedicated secure channels in this way, compared with conventional communication systems that share common channels for all data communication (such as...),... Figure 1Compared to the conventional communication system shown in the figure, the security of communication system 200 is enhanced.
[0031] Figure 2B A communication system 250 is shown, which includes components that can communicate with it as follows: Figure 2A The components shown are implemented in the same or similar manner. The above is about... Figure 2A Any statement made by the communication system 200 shall also apply to, as Figure 2B The communication system 250 is shown. However, Figure 2A and Figure 2B The directions of the one-way secure channels B in the two systems are opposite to each other. This proves that communication systems 200 and 250 can be implemented using one-way secure channels, which allow data to flow from device 202 to device 210 (e.g., ...). Figure 2A (as shown), or in the opposite direction from device 210 to device 202 (as shown). Figure 2B (As shown). For example, when one-way data transmitted from device 210 to device 202 via secure channel B utilizes a higher bandwidth than that of the two-way secure channel B, it is possible to achieve, as shown... Figure 2B The scenario shown is an example of this. For instance, this could happen when device 202 is implemented as a display and needs to send streaming data from device 210.
[0032] Now go to Figure 3 This illustrates an example device architecture according to one or more embodiments of the present disclosure. Because, as described above, devices 202 and 260 can transmit via a one-way secure channel B, therefore... Figure 3 The device 300 shown can be identified by any of devices 202 and 260. For example, it can be identified by... Figure 2B The device 260 shown or such Figure 2A The device 202 shown is used to identify device 300 because each device performs one-way data transmission via secure channel B. However, this is provided by way of example and not limitation, and secure channel B may alternatively receive data instead of transmitting data (not shown). In such a scenario, as Figure 3 The device 300 shown can be identified as any of devices 210 and 252. When implemented as part of any of devices 202, 210, 252, and 260, device 300 can be identified, for example, as a microcontroller host or other suitable hardware platform configured to perform the various functions discussed in further detail herein. As will be discussed further below, device 300 can implement software, hardware components, or combinations thereof to achieve the various functions discussed herein.
[0033] Device 300 may include any suitable number and / or type of components, in Figure 3Examples of such components are shown by way of example, not limitation. For example, device 300 includes a secure channel communication stack 302, which in turn includes a secure channel circuit system 304 (for secure channel A) and a secure channel circuit system 306 (for secure channel B). Although referred to herein as a "circuit system," secure channel circuit systems 304, 306 can use software, hardware, or a combination thereof to process communication via their respective channels. For this purpose, each of the secure channel circuit systems 304, 306 includes program memories 304.1, 306.1 and communication circuit systems 304.2, 306.2. Although in Figure 3 While shown as separate components, the secure channel communication stack 302 may include a single program memory and / or communication circuitry configured to perform various functions relating to secure channel circuitry 304 and / or secure channel circuitry 306.
[0034] Each of the secure channel circuit system 304 and secure channel circuit system 306 can be configured to perform operations with another device (such as, for example, ...). Figure 2A and Figure 2B The corresponding secure communications of the devices 210 or 252 shown. Each of the secure channel circuit systems 304 and 306 can perform its corresponding secure communication by sending, receiving, encrypting, decrypting, processing, authenticating, etc., secure messages sent or received via each corresponding secure channel A, B. These various processes can be performed according to any suitable number and / or type of secure communication protocols, such as those discussed herein. For this purpose, device 300 may include data interfaces 314.1, 314.2, each implemented for each corresponding secure channel A, B. Each of the data interfaces 314.1, 314.2 may include any suitable implementation of components for this purpose, such as, for example, wires, buses, buffers, drivers and / or corresponding terminals, ports, pins, etc.
[0035] Communication circuit systems 304.2 and 306.2 can be implemented as any suitable hardware component enabling communication between device 300 and another device within an interconnected network via data interfaces 314.1 and 314.2, as further discussed herein. Therefore, communication circuit system 304.2 can perform secure bidirectional communication by sending secure data (e.g., secure messages) to and receiving secure data (e.g., secure messages) from data interface 314.1 according to any suitable number and / or type of communication protocol (such as those discussed herein). Additionally, and for... Figure 3In the non-limiting scenario shown, the communication circuit system 306.2 can perform secure one-way communication by sending secure data to the data interface 314.2 according to any suitable number and / or type of communication protocol (such as those discussed herein).
[0036] Therefore, communication circuit systems 304.2 and 306.2 may include hardware components, software components, or combinations thereof, typically associated with components configured to perform data communication. For example, communication circuit systems 304.2 and 306.2 may include any suitable number of ports, drivers, transmit and / or receive buffers, switches, etc. Additionally or alternatively, communication circuit systems 304.2 and 306.2 may include any suitable number and / or type of dedicated hardware components, such as microcontrollers, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), system-on-a-chip (SoCs), dedicated logic and / or other circuit systems, multiprocessor units (MPUs), application processing units (APUs), hardware-based state machines, etc. Communication circuit systems 304.2 and 306.2 may be implemented as one or more processors and / or cores that can execute computer-readable instructions stored in program memories 304.1 and 306.1 to perform any of the various functions discussed in further detail herein.
[0037] Program memories 304.1 and 306.1 may comprise any suitable type of non-transitory computer-readable medium, such as volatile memory, non-volatile memory, or combinations thereof. Therefore, to the extent that either of the secure channel circuit systems 304 and 306 implements a software-based solution to perform the various functions discussed herein, this may be achieved, for example, by executing instructions stored in program memories 304.1 and 306.1, respectively, via communication circuit systems 304.2 and 306.2, as appropriate. To the extent that either of the secure channel circuit systems 304 and 306 implements a hardware-based solution to perform the various functions discussed herein, this may be achieved, for example, by implementing predetermined logic, an ASIC, a hardware accelerator, etc., via communication circuit systems 304.2 and 306.2, as appropriate.
[0038] Similarly, secure channel A and the second secure channel B can be configured to operate with different bandwidths and / or speeds because secure bidirectional data communication performed via secure channel A can transmit different types of data than secure unidirectional data communication performed via secure channel B. For example, unidirectional communication performed via secure channel B can be performed with higher bandwidth and / or higher speed compared to bidirectional communication using secure channel A, as described above. Therefore, it may be particularly useful for secure channel circuit system 306 to use hardware components to perform unidirectional communication, while secure channel circuit system 304 can use software (e.g., by executing computer-readable instructions stored in program memory 304.1 via communication circuit system 304.2) to perform bidirectional communication. The use of software and hardware for each of these types of communication is further discussed below.
[0039] Similarly, secure communication performed via secure channel circuit systems 304 and 306 can be performed according to any suitable number and / or type of communication protocols and accompanying schemes (e.g., operating modes). For example, secure communication transmitted and / or received via secure channel circuit systems 304 and 306 can be performed according to the following communication protocols: communication protocols utilizing Authentication Encryption Galois / Counter Mode (AES-GCM)-SIV operation, Counter and CBC-MAC Mode (CCM) operation; communication protocols utilizing operating modes implementing ShangMi4 (SM4) ciphers; any suitable type of Ethernet communication protocol (e.g., multipoint Ethernet communication protocols, such as 10BASE-T1S, 10BASE-T1L, Ethernet MACsec standard, etc.); any suitable vehicular network protocol, such as Controller Area Network (CAN) communication protocol, Controller Area Network Flexible Data Rate (CAN FD) communication protocol, Controller Area Network Very Long (CAN XL) communication protocol; any suitable communication protocol implementing Authentication Encryption (AEAD) schemes with associated data and / or authentication-only schemes, etc.
[0040] As described above, many of the aforementioned protocols utilize shared keys for secure communication. Therefore, to perform secure communication, device 300 includes a key manager 308, a processing circuitry system 309, a non-volatile memory 310, and a volatile memory 312. These components are... Figure 3 The components are shown as separate entities, and their corresponding functions are described separately for ease of illustration. However, any components of device 300 may be integrated with each other or otherwise combined. Device 300 may also include components as described herein. Figure 3The additional or alternative components shown and discussed herein. Furthermore, although the use of non-volatile memory 310 and volatile memory 312 herein illustrates and describes device 300, this is by way of example and not limitation. Any data stored in non-volatile memory 310 and volatile memory 312 may be additionally or alternatively stored in other memory, which may be part of device 300 or a component external to device 300. For example, it is shown in the figures that any data stored in volatile memory 312 may alternatively be stored in non-volatile memory 310, or it is shown in the figures that any data stored in non-volatile memory 310 may alternatively be stored in volatile memory 312. However, it should be recognized that certain types of data, such as shared keys, may be advantageously stored in non-volatile memory to ensure their security.
[0041] The processing circuit system 309 may include any suitable number and / or type of dedicated hardware components, such as those mentioned above with respect to communication circuit systems 304.2 and 306.2. For example, the processing circuit system 309 may be implemented as any suitable number and / or type of dedicated hardware components, such as microcontrollers, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), system-on-a-chip (SoCs), dedicated logic and / or other circuit systems, multiprocessor units (MPUs), application processing units (APUs), hardware-based state machines, etc. The processing circuit system 309 may be implemented as one or more processors and / or cores that can execute computer-readable instructions stored in program memory 310.1 to perform any of the various functions discussed in further detail herein. The processing circuit system 309 and program memory 310.1 are in... Figure 3 The key manager 308 and secure channel communication stack 302 are shown separately. However, this is for ease of illustration, and it should be understood that the processing circuitry 309 can facilitate any operation of the key manager 308 and / or secure channel circuitry 304, 306, as further discussed herein, and therefore the key manager 308, communication circuitry 304.2, 306.2, and processing circuitry 309 may include a single component in some embodiments. Additionally or alternatively, program memories 304.1, 306.1, and 310.1 may be identified using the same memory and / or instruction set.
[0042] In implementations, key manager 308 may form part of and / or be integrated with communication stack 302. As further discussed herein, key manager 308 may facilitate the generation and updating of cryptographic keys (e.g., shared keys or other cryptographic keys, as discussed in further detail herein) and index values, which are respectively stored in non-volatile memory 310 and volatile memory 312, as... Figure 3 As shown. Therefore, the key manager 308 can be configured to operate as part of a control plane, identified by a communication network used by device 300 for secure communication with other devices. Continuing this example, secure channel circuit systems 304, 306 can be configured to operate as part of a data plane, identified by a communication network used by device 300 for secure communication with other devices.
[0043] As is well known, for secure communication protocols, control plane functions and data plane functions are distinct. For example, the control plane makes decisions about how data should be managed, routed, and processed. The control plane acts as a data overseer, coordinating communication between different components and collecting data from the data plane. Therefore, the control plane can be configured to operate according to any suitable communication protocol implemented based on a specific network, such as routing protocols, network management protocols, application layer protocols, etc. For ease of illustration, the key manager 308 can be configured to perform at least some of these control plane functions, as described above. Additionally, the data plane is responsible for the actual movement of data from one system to another. These secure communications may include sending and receiving secure messages as part of an Authenticated Encryption (AEAD) data stream with associated data or simply an authenticated data stream, as described herein.
[0044] Therefore, from a security perspective, control plane functionality is critical, requiring significant effort to certify control plane functionality in secure networks (e.g., SAE-ISO 21434 / NIST / BSI compliance, etc.). Data plane design typically presents challenges in terms of data throughput. Considering the functions of the control and data planes, it should be noted that the asymmetric data communication described herein advantageously allows only one of the secure channels A and B to be identified with a control plane. Given that bidirectional secure channel A has lower operating bandwidth and lower speed than unidirectional secure channel B, it can be particularly advantageous to configure the control plane for only one of the channels (e.g., only bidirectional secure channel A). Doing so avoids the additional effort required to certify the control planes for both secure channels A and B. This may be the case, for example, for in-vehicle networks with an electrical / electronic (E / E) safety architecture that has already been implemented with one or more dedicated low-speed (but secure) channels. In this case, applying the implementation methods discussed herein makes it possible to remove the control plane from the high-speed secure channel. This eliminates the need for certification and compliance costs that would otherwise be necessary when all secure channels in an E / E architecture use a control plane.
[0045] Key manager 308 may include key generator / updater 308.1 and key update detector 308.2. Key manager 308 and its components may be implemented as hardware, software, or a combination thereof to perform the various functions discussed herein. For example, any of the various functions discussed herein with respect to device 300 may be performed by executing instructions stored in non-volatile memory 310 via processing circuitry system 309. For ease of illustration, these functions are described herein with respect to key generator / updater 308.1 and key update detector 308.2; however, it should be understood that these functions may alternatively be implemented via any suitable hardware component and / or via a single program stored in any suitable memory accessible via device 300.
[0046] The key generator / update 308.1 can implement any suitable type of cryptographic function to generate one or more cryptographic keys, each representing a bit string or other suitable encoded value of any suitable length. The key generator / update 308.1 can be configured to generate and / or update any suitable type of cryptographic key for performing secure communication for each of secure channels A and B. For example, the key generator / update 308.1 can be configured to generate and update a shared key for each secure channel, such as... Figure 3 The shared keys shown are stored in the non-volatile memory 310. The key generator / uploader 308.1 can implement any suitable cryptographic function, algorithm, or known technique to update the shared keys in this manner.
[0047] Alternatively or additionally, the key generator / update 308.1 can be configured to generate and update any suitable number of other cryptographic keys using the shared key for each secure channel. In such a scenario, the key generator / update 308.1 can retain the shared key stored in the non-volatile memory 310 (i.e., not update the shared key) while updating other cryptographic keys used for secure communication. These other cryptographic keys may include, for example, session keys derived from each corresponding shared key according to a key derivation function (KDF), where the KDF represents a specific cryptographic function according to the specific communication protocol implemented. Thus, in addition to the shared key, the session key can also be updated by modifying the input to the KDF. The session key can be stored in any suitable memory or otherwise accessible by the device 300 and is not shown in the figures for the sake of brevity. Furthermore, the use of KDFs is generally known, so for the sake of brevity, additional details regarding KDF operation are not described herein.
[0048] In any case, device 300 and other devices communicating through a secure channel may store (in local memory such as non-volatile memory 310 and volatile memory 312) a synchronized copy of the cryptographic key (e.g., a shared key) and a synchronized copy of the index value. The index value may include any suitable encoded value that is updated each time a secure message is sent or received to prevent replay attacks. For example, the index value may include a block number, sequence number, freshness value, etc. The cryptographic key and the index value may be collectively referred to herein as "cryptographic data".
[0049] Therefore, in order to perform secure data transmission over a specific secure channel, secure channel circuit systems 304, 306 (as applicable) can utilize the stored shared key and stored shared index value of that secure channel. The security of authentication and / or encryption of secure messages transmitted through the secure channel depends on the stored shared key; however, it should be noted that additional cryptographic keys and / or other cryptographic data can be derived from the shared key to ensure secure communication. Upon receiving a secure message, the receiving device can use its own shared key and shared index value to authenticate the message (e.g., when using an authentication-only scheme). Additionally or alternatively, the receiving device can utilize its own shared key and shared index value to authenticate and decrypt the payload of the secure message (e.g., when using an Authentication-Encryption with Associated Data (AEAD) encryption scheme).
[0050] Therefore, to prevent replay attacks, the index value is incremented by each sending device when transmitting a security message via secure channels A and B, and by each receiving device when receiving a security message via secure channels A and B. This can be implemented, for example, via a key generator / update 308.1 as part of the control plane operation as described above. Thus, when sending and receiving security messages via each secure channel A and B, the stored shared index value is indexed for each secure channel in a predefined manner, for example, by incrementing. Each device communicating in this manner (e.g., devices 202, 210 or 252, 260) then updates its locally stored volatile memory 312 to store the most recent index value, which will be updated again for the next transmitted or received message.
[0051] For example, key generator / update 308.1 is configured to update the index value for channel A stored in volatile memory 312 in response to data being sent or received via secure channel A. Furthermore, key generator / update 308.1 is configured to update the index value for channel B stored in volatile memory 312 in response to data being sent via secure channel B. Of course, for device 300 to receive data on secure channel B instead of... Figure 3 In the scenario depicted for transmitting data, the key generator / uploader 308.1 can also update the index value for channel B stored in the volatile memory 312 in response to data received via the secure channel B. The index value can be updated using any suitable technique, including known techniques. For example, the index value can be incremented by any suitable predetermined number, incremented per packet, etc. It should also be noted that although the index value is updated in this manner, the volatile memory 312 can store any suitable number of index values at any given time. This makes it possible to maintain a log of index values, where slightly older index values are used when secure messages are received out of order based on secure message and index value-related processing.
[0052] Regardless of how the index value is updated, the implementation involves two devices communicating via secure channels A and B using a cryptographic key and the current index value to perform secure communication on that channel. Similarly, the index value can represent a freshness value. In this scenario, the index value can be transmitted in plaintext or as part of the payload of a secure (e.g., encrypted) message. For example, for various AES-GCM-based protocols (used in MACsec), the freshness value is used as input to calculate the Integrity Check Value (ICV) according to their respective algorithms. For authenticated-only secure messages, the ICV is calculated by the receiving device without encrypted data, and for authenticated and encrypted secure messages, the ICV is calculated in parallel with the encrypted data. The ICV obtained by processing the secure message can then be compared with the locally derived ICV using the freshness value stored by the receiving device. The use of freshness values for authenticating and / or encrypting and decrypting secure messages is generally known, therefore, for the sake of brevity, no further description of the use of freshness values is provided herein.
[0053] The index value can have any suitable bit length N, which allows the index value to be incremented by up to 2. N This assumes the index value increments by 1 each time it is updated. Therefore, after 2... N After a secure message, the index value is at risk of being "rolled over" or otherwise reset to its initial default value (e.g., 0). If this occurs, there is a security risk that replay attacks could be exploited, as the same cryptographic key and index value would be used for more than one secure message transmission. Therefore, the cryptographic key used for secure communication expires when the index value reaches a predetermined number and should be updated before such expiration. The conditions that trigger a cryptographic key update are discussed further below.
[0054] Key update detector 308.2 is configured to detect when the current cryptographic key is about to expire and send this indication to key generator / updater 308.1, thereby triggering cryptographic key update processing. Similarly, as described above, the cryptographic key being updated as part of this process may include, for example, a shared key or session key used for a specific secure channel. Key update detector 308.2 can use any suitable technique (including known techniques) to indicate to key generator / updater 308.1 that predetermined conditions have been met. For example, key update detector 308.2 may write a flag to a register value monitored by key generator / updater 308.1, initiate an interrupt recognized by key generator / updater 308.1, etc. In any case, key generator / updater 308.1 is configured to update the cryptographic key used for specific secure channels A and B in response to the satisfaction of predetermined conditions detected by key update detector 308.2.
[0055] The predetermined condition for the key generator / uploader 308.1 to update the cryptographic key, identified by the key update detector 308.2 when met, can be any suitable condition related to the expiration of the cryptographic key to be updated. For example, the predetermined condition could be about an index value reaching a predetermined number, which indicates an impending flip that will cause the corresponding cryptographic key to expire. In this case, a predetermined threshold index value can be selected, which, when the index number exceeds the predetermined threshold index value, causes the predetermined condition to be met and triggers the cryptographic key to be updated. This predetermined threshold index value can be selected based on a maximum index value count to enable the cryptographic key to be updated before its expiration. For example, the predetermined threshold index value could represent a value that is hundreds, thousands, etc., less than the maximum index value count. As another example, a predetermined time period can be selected independently of the index value. This predetermined time period can be compared to the total uptime of the device 300 or other suitable time periods that, when exceeded, cause the predetermined condition to be met and trigger the cryptographic key to be updated.
[0056] In addition to updating the cryptographic key, the key generator / uploader 308.1 can also additionally update the index value stored in the volatile memory 312. In this implementation, once the cryptographic key has been updated for one of the secure channels A and B, the updated cryptographic key can be sent to another device using the other secure channel. Similarly, the updated (e.g., reset) index value can also be sent to another device using the other secure channel.
[0057] In order to provide information Figure 3 As an illustrative example, suppose secure channel A is a bidirectional channel operating with lower bandwidth and speed than unidirectional channel B. For example, device 300 can use, for instance... Figure 2B Device 260 is shown as the identifier. Therefore, device 300 can utilize secure channel A to perform secure bidirectional communication with device 252. As part of this secure communication, device 300 can send and receive control data to and from device 252. This control data may include, for example, configuration data sent to device 252, diagnostic data received from device 252, etc. Continuing with this example, device 300 can use secure channel B to unidirectionally send data to device 252, which may include video stream data.
[0058] In this scenario, each time a secure message is sent or received, the secure channel circuit systems 304 and 306 update the index values stored in the volatile memory 312 for each channel. However, considering the higher bandwidth and speed of the unidirectional secure channel B, the index values for secure channel B will be updated much more frequently than those for secure channel A. For example, in some scenarios, the bidirectional secure channel A may be used infrequently, so that predetermined conditions may not be met and the cryptographic key may not be updated throughout the entire lifespan of device 300.
[0059] Continuing this example, each time a secure message is sent via secure channel B, the index value for secure channel B is updated. Considering the higher bandwidth and speed of secure channel B, it is assumed that a predetermined condition for updating the cryptographic key will be met at some point. For example, the index value for secure channel B may exceed the predetermined threshold index value described above. In this case, key update detector 308.2 detects that the condition has been met and triggers key generator / uploader 308.1 to update the cryptographic key and index value for secure channel B. For example, key generator / uploader 308.1 can overwrite the shared key for channel B stored in non-volatile memory 310 with the updated cryptographic key and update the index value for channel B stored in volatile memory 312 with the updated index value.
[0060] Once the processing is complete, the secure channel circuit system 304 sends the updated cryptographic key and updated index value as part of a secure message to device 252 via bidirectional secure channel A. In other words, the secure channel circuit system 304 can generate a secure message using the shared key and index value used for secure channel A, wherein the content of the secure message includes the updated cryptographic key and updated index value used for secure channel B. The secure channel circuit system 304 can generate the secure message in any suitable manner to identify the content of the secure message, ensuring that device 252 recognizes the updated cryptographic key and updated index value. For example, the secure message may include fields set to predetermined bit values, or any suitable encoded value may be used to identify this particular type of secure message transmission.
[0061] Device 252 can then receive a security message and recognize that the updated cryptographic key and updated index value for secure channel B will be updated for subsequent communications. Device 252 may include any suitable components for this purpose, such as those shown and described herein with reference to device 300. For example, device 252 may store the updated cryptographic key in a corresponding non-volatile memory and the updated index value in a corresponding volatile memory in a manner similar to that described above for device 300 regarding the update process of the shared key and index value. Secure channel circuitry 306 can then use the updated cryptographic key and updated index value to perform subsequent secure communications with device 252 via one-way secure channel B. Device 252 can also subsequently receive security messages via one-way channel B and use the updated cryptographic key and updated index value to receive, process, decrypt, authenticate, etc., the received security messages. In this way, the transmission of security messages via secure channel A can be used to securely synchronize index values and cryptographic keys between two communicating devices.
[0062] As noted above, due to the lower bandwidth and speed of the bidirectional secure channel A, the predetermined conditions may not be met and the cryptographic key may not be updated throughout the entire lifetime of device 300. However, implementations include using either secure channel A or B to provide another device with a secure message indicating that the cryptographic key and index value have been updated for the other secure channel. To provide another illustrative example, the key generator / uploader 308.1 also increments the index value when receiving or sending secure data messages via secure channel A. In various implementations, the key update detector 308.2 may implement different or the same predetermined conditions for secure channels A and B.
[0063] In any case, assuming that predetermined conditions for secure channel A have been met, such as the index value for channel A exceeding a predetermined threshold, the key update detector 308.2 detects that the condition has been met and triggers the key generator / uploader 308.1 to update the cryptographic key and index value for secure channel A. For example, the key generator / uploader 308.1 can overwrite the shared key for channel A stored in non-volatile memory 310 with the updated cryptographic key, and update the index value for channel A stored in volatile memory 312 with the updated index value.
[0064] Once this process is complete, the secure channel circuit system 304 sends the updated cryptographic key and updated index value as part of a secure message to device 252 via one-way secure channel B. In other words, the secure channel circuit system 306 can use the shared key and index value for secure channel B to generate a secure message whose content includes the updated cryptographic key and updated index value for secure channel A. Similarly, as described above, the secure channel circuit system 306 can generate the secure message in any suitable manner to identify the content of the secure message, ensuring that device 252 recognizes the updated cryptographic key and updated index value.
[0065] Then, device 252 can receive a security message via secure channel B and recognize that the updated cryptographic key and updated index value used for secure channel A will be updated for subsequent communications. Devices 260 and 252 can then subsequently send and receive security messages via bidirectional channel A, using the updated cryptographic key and updated index value to send, encrypt, receive, process, decrypt, and authenticate security messages. In this way, each secure channel communication circuit system 304 and 306 can send a security message indicating the updated cryptographic key and updated index value for the other secure channel, although, considering the difference in their operating bandwidth as described herein, secure channel communication circuit system 306 will update the cryptographic key and index value for the unidirectional channel at a faster rate (e.g., more frequently) compared to the cryptographic key and index value used for the bidirectional channel.
[0066] The use of separate secure channels A and B advantageously allows one secure channel to be used to maintain synchronization of the cryptographic key and index value used for the other channel. By using predetermined conditions for updating the cryptographic key and index value, this advantageously enables each secure channel to continue operating with minimal downtime as the cryptographic key and index value are updated before their expiration.
[0067] Using physically separate secure channels can provide additional benefits. For example, secure channels A and B can implement different levels of security to perform their respective secure communications. As an example, in various implementations, the cryptographic keys implemented via secure channel communication circuits A and B can be the same length or different lengths. As an illustrative example, the shared key used for one of the secure channels A and B can be longer (e.g., 256 bits) than the shared key used for the other secure channel (e.g., 128 bits).
[0068] Alternatively or additionally, the use of different cryptographic key lengths can be utilized individually or in combination with different types of secure message processing and / or cryptographic algorithms used by each of secure channels A and B (e.g., via secure channel circuit systems 304, 306). For example, an authentication-only communication scheme (e.g., AUTOSAR Secure Vehicle Communication (SecOC)) can achieve a shorter cryptographic key length compared to an Authentication-Encryption (AEAD) communication scheme with associated data. In implementations, one of the secure channels A and B can utilize an AEAD communication scheme, while the other secure channel can implement an authentication-only communication scheme. The use of these specific schemes is not limited to the type of secure channel (e.g., one-way or two-way), nor is it limited to the specific cryptographic key length used by each of the secure channels A and B. However, it may be particularly advantageous to implement a longer cryptographic key length and an AEAD communication scheme for a lower bandwidth secure channel A, and a shorter cryptographic key length and an authentication-only communication scheme for a higher bandwidth secure channel B.
[0069] Alternatively or additionally, secure channels A and B may (e.g., via secure channel circuit systems 304 and 306) implement different layers of security protocols to perform their respective secure communications. These different layers of security protocols may relate to the layer where secure processing occurs. Therefore, and as an example, secure communication channel circuit systems 304 and 306 may be configured to use different layers of security protocols to perform secure communications. For example, secure bidirectional data communication via secure channel A may include communication according to a first-layer security protocol, while secure unidirectional data communication via secure channel B may include communication according to a second-layer security protocol. The first-layer security protocol may be a higher-layer security protocol or a lower-layer security protocol than the second-layer security protocol.
[0070] As an illustrative example, the first-layer security protocol implemented via a bidirectional secure channel A may include a software-layer security protocol, such as the Internet Security Protocol (IPsec) security protocol. In this scenario, the secure communication channel circuit system 304 is configured to perform secure bidirectional data communication using a software implementation. Continuing with this example, the second-layer security protocol implemented via a unidirectional secure channel B may include a hardware-layer security protocol, such as the Media Access Control Security (MACsec) security protocol. In this scenario, the secure communication channel circuit system 306 is configured to perform secure unidirectional data communication using a hardware implementation.
[0071] Note that the preceding scenarios are not limiting, and either of the secure communication channel circuit systems 304 and 306 can be configured to perform secure communication using any suitable security protocol layer that may be the same as or different from each other. However, using a hardware-layer security protocol may be particularly advantageous for higher bandwidth secure channels, such as the unidirectional secure channel B discussed herein. This is due to the speed advantage provided by using a hardware-layer security protocol.
[0072] Figure 4 An example processing flow according to an embodiment of this disclosure is shown. (Refer to...) Figure 4 The processing flow may include methods executed and / or otherwise associated with any suitable number and / or type of components such as one or more processors (processing circuitry), hardware components, executed instructions (e.g., software components), or combinations thereof. These components may be associated with one or more components of device 300 as discussed herein, which may also include any of devices 202 and 210. Flow 400 may include, for the purpose of brevity, […]. Figure 4 The alternative or additional boxes are not shown, and can be executed in a different order than that shown. Furthermore, some boxes may be optional.
[0073] Figure 4 Additional details are provided regarding the processing implemented by the device to perform secure communication via two separate secure channels. For example, when performing secure message communication via separate secure channels, processing flow 400 can be implemented via any device such as devices 202, 210, 252, 260, 300, etc., as discussed herein.
[0074] Processing flow 400 begins with sending or receiving secure messages via a first channel using a first key (box 402A) and via a second secure channel using a second key (box 404B). Although processing flow 400 illustrates the flow for two secure channels, this is for illustrative purposes, and it should be understood that communication via secure channels A and B does not need to be concurrent. The first channel can be, for example, used as... Figure 3 The first key is identified by the bidirectional secure channel A shown. For example, a shared key used for secure channel A or any other suitable cryptographic key as discussed herein can be used to identify the first key. The second channel can, for example, be identified by... Figure 3The second key is identified by the one-way secure channel B shown. For example, a shared key used for secure channel B or any other suitable cryptographic key as discussed herein can be used to identify the second key. The secure message can be formatted according to any suitable communication protocol and includes any suitable number of fields as discussed herein. For example, the secure message can be sent and / or received as part of Authentication Encryption (AEAD) communication with associated data or as part of authentication-only communication.
[0075] When sending or receiving security messages, processing flow 400 includes incrementing an index value (boxes 404A and 404B), which may include, for example, a freshness value. This may include, for example, the key generator / updater 308.1 incrementing the index value of each channel stored locally, such as... Figure 3 As shown.
[0076] Processing flow 400 further includes determining, for each secure channel (blocks 406A and 406B), whether a key update condition has been met. This may include, for example, any predetermined condition being met and detected by the key update detector 308.2, as described above. As an example, this may include comparing the current index value with a predetermined threshold index value, as described above. If the key update condition is not met, processing flow 400 returns to blocks 402A and 402B, and sends or receives additional security messages via each secure channel A and B.
[0077] However, if the key update conditions have been met, process 400 includes generating an updated cryptographic key for that specific security channel and resetting the index value for that specific security channel (boxes 408A and 408B). The updated cryptographic key and index value can then be stored in a suitable memory location and / or their previous values can be overwritten, as described above. Figure 3 The subject of discussion.
[0078] For each of secure channels A and B, once the cryptographic key has been updated and the index value has been reset, process 400 includes generating (boxes 410A and 410B) a secure message including the updated cryptographic key and the reset index value. This may include adding the updated cryptographic key and the reset index value to the payload of the secure message, the security information having been encrypted with the current cryptographic key of the secure channel used to send the secure message. Therefore, after a secure message including the updated cryptographic key and the reset index value for one of the secure channels A and B has been generated, a secure message (boxes 402A and 402B) is sent on the other secure channel A or B, as follows: Figure 4 As shown.
[0079] As an example, channel B can correspond to, for example, Figure 3The one-way secure channel shown can also include channels with higher bandwidth and higher speed than the two-way secure channel A. Therefore, before performing these same functions on secure channel A, the cryptographic key used for secure channel B can be updated and the index value reset. In fact, secure channel A can be identified as follows: Figure 3 The diagram shows a bidirectional channel with lower bandwidth and lower speed. Therefore, the procedure from box 410A to box 402B is optional because, as mentioned above, the key update condition (box 406A) may not be met during the network's operational lifetime.
[0080] Example
[0081] The techniques described in this disclosure can also be described in the following examples.
[0082] Example 1. An apparatus configured to transmit data via a set of secure channels, the apparatus comprising: a first secure channel circuitry configured to perform secure bidirectional data communication with another device via the first secure channel using a first key; a second secure channel circuitry configured to perform secure unidirectional data communication with another device via the second secure channel using a second key; and a processing circuitry configured to update the second key based on an index value satisfying predetermined conditions, wherein the first secure channel circuitry is further configured to send the updated second key to the other device via the secure bidirectional channel as part of the secure bidirectional data communication, and wherein the second secure channel circuitry is configured to perform secure unidirectional data communication with the other device using the updated second key.
[0083] Example 2. The device according to Example 1, wherein the second secure channel circuit system is configured to update the index value in response to data being sent or received via a secure one-way channel, and wherein secure one-way data communication utilizes a second key and the index value.
[0084] Example 3. The device according to any combination of Examples 1 to 2, wherein the first secure channel and the second secure channel are configured to operate at different bandwidths.
[0085] Example 4. The device according to any combination of Examples 1 to 3, wherein the processing circuitry is configured to update the first key based on another index value satisfying another predetermined condition, and wherein the processing circuitry is configured to update the second key at a faster rate than the first key.
[0086] Example 5. The device according to any combination of Examples 1 to 4, wherein secure bidirectional data communication includes communication according to a first-layer security protocol, and wherein secure unidirectional data communication includes communication according to a second-layer security protocol, wherein the first-layer security protocol is a higher-layer security protocol than the second-layer security protocol.
[0087] Example 6. The device according to any combination of Examples 1 to 5, wherein the first layer security protocol includes the Internet Security Protocol (IPsec) security protocol, and wherein the second layer security protocol includes the Media Access Control Security (MACsec) security protocol.
[0088] Example 7. A device according to any combination of Examples 1 to 6, wherein the first security channel and the second security channel are physically separated from each other between the device and another device.
[0089] Example 8. A device according to any combination of Examples 1 to 7, wherein the first key and the second key include different key lengths.
[0090] Example 9. The device according to any combination of Examples 1 to 8, wherein a first secure channel circuit system is configured to execute computer-readable instructions via a processing circuit system to perform secure bidirectional data communication with another device, and wherein a second secure channel circuit system is configured to perform secure unidirectional data communication with another device via hardware components.
[0091] Example 10. The device according to any combination of Examples 1 to 9, wherein secure bidirectional data communication includes an Authentication Encryption (AEAD) encryption scheme with associated data, and wherein secure unidirectional data communication includes an authentication-only scheme.
[0092] Example 11. The device according to any combination of Examples 1 to 10, wherein secure bidirectional data communication includes an authentication-only scheme, and wherein secure unidirectional data communication includes an Authentication Encryption (AEAD) encryption scheme with associated data.
[0093] Example 12. A device according to any combination of Examples 1 to 11, wherein secure bidirectional data communication and secure unidirectional data communication transmit different types of data between the device and another device.
[0094] Example 13. A method for transmitting data via a set of secure channels, comprising: performing secure bidirectional data communication with a device via a first secure channel using a first key; performing secure unidirectional data communication with the device via a second secure channel using a second key; updating the second key based on an index value satisfying predetermined conditions; sending the updated second key to the device via the secure bidirectional channel as part of the secure bidirectional data communication; and performing secure unidirectional data communication with the device via the second secure channel using the updated second key.
[0095] Example 14. The method according to Example 13 further includes: updating the index value in response to data being sent or received via a secure one-way channel, wherein performing secure one-way data communication includes utilizing a second key and the index value.
[0096] Example 15. The method according to any combination of Examples 13 to 14, wherein the first secure channel and the second secure channel are configured to operate at different bandwidths.
[0097] Example 16. The method according to any combination of Examples 13 to 15, further comprising: updating the first key based on another index value satisfying another predetermined condition, wherein updating the second key includes updating the second key at a faster rate compared to the first key.
[0098] Example 17. The method according to any combination of Examples 13 to 16, wherein secure bidirectional data communication includes communication according to a first-layer security protocol, and wherein secure unidirectional data communication includes communication according to a second-layer security protocol.
[0099] Example 18. The method according to any combination of Examples 13 to 17, wherein the first layer security protocol includes the Internet Security Protocol (IPsec) security protocol, and wherein the second layer security protocol includes the Media Access Control Security (MACsec) security protocol.
[0100] Example 19. The method according to any combination of Examples 13 to 18, wherein the first secure channel and the second secure channel are physically separated from each other.
[0101] Example 20. The method according to any combination of Examples 13 to 19, wherein the first key and the second key include different key lengths.
[0102] Example 21. The method according to any combination of Examples 13 to 20, wherein performing secure bidirectional data communication includes performing secure bidirectional data communication using a software implementation, and wherein performing secure unidirectional data communication includes performing secure unidirectional data communication using a hardware implementation.
[0103] Example 22. The method according to any combination of Examples 13 to 21, wherein performing secure two-way data communication includes communication according to an Authentication Encryption (AEAD) encryption scheme with associated data, and wherein performing secure one-way data communication includes communication according to an authentication-only scheme.
[0104] Example 23. The method according to any combination of Examples 13 to 22, wherein performing secure two-way data communication includes communication according to an authentication-only scheme, and wherein performing secure one-way data communication includes communication according to an Authentication Encryption (AEAD) encryption scheme with associated data.
[0105] Example 24. The method according to any combination of Examples 13 to 23, wherein secure bidirectional data communication and secure unidirectional data communication transmit different types of data.
[0106] in conclusion
[0107] Although specific embodiments have been described and illustrated herein, it should be understood that any arrangement intended to achieve the same purpose may replace the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of the various embodiments. After reviewing the foregoing description, combinations of the above embodiments and other embodiments not specifically described herein will be apparent to those skilled in the art.
[0108] It should also be noted that certain terms used in this specification and claims can be interpreted in a very broad sense. For example, the terms "circuit" or "circuit system" as used herein should be interpreted in the sense that they include not only hardware but also software, firmware, or any combination thereof. The term "data" can be interpreted to include any form of data representation. In addition to any form of digital information, the term "information" can also include other forms of information representation. In embodiments, the terms "entity" or "unit" can include any device, apparatus circuit, hardware, software, firmware, chip or other semiconductor, as well as the physical implementation of logic units or protocol layers, etc. Furthermore, the terms "coupled" or "connected" can be interpreted broadly to cover not only direct coupling but also indirect coupling.
[0109] It should also be noted that the methods disclosed in the specification or claims can be implemented by a device having means for performing each corresponding step of these methods.
[0110] Although specific embodiments have been shown and described herein, those skilled in the art will understand that various alternatives and / or equivalent implementations may be used instead of the specific embodiments shown and described without departing from the scope of this disclosure. This disclosure is intended to cover any adaptive modifications or variations to the specific embodiments discussed herein.
Claims
1. A communication device configured to transmit data through a set of secure channels, the communication device comprising: A first secure channel circuit system is configured to perform secure bidirectional data communication with another device via a first secure channel using a first key; A second secure channel circuit system is configured to perform secure one-way data communication with the other device via a second secure channel using a second key. as well as The processing circuitry is configured to update the second key based on predetermined conditions met by the index value. The first secure channel circuit system is further configured to send an updated second key to the other device via the first secure channel as part of the secure two-way data communication. The second secure channel circuit system is configured to use the updated second key to perform secure one-way data communication with the other device.
2. The communication device according to claim 1, wherein, The second secure channel circuitry is configured to update the index value in response to data being transmitted or received via the second secure channel, and The secure one-way data communication utilizes the second key and the index value.
3. The communication device according to claim 1, wherein, The first secure channel and the second secure channel are configured to operate at different bandwidths.
4. The communication device according to claim 1, wherein, The processing circuitry is configured to update the first key based on another predetermined condition satisfying another index value, and The processing circuitry is configured to update the second key at a faster rate than the first key.
5. The communication device according to claim 1, wherein, The secure two-way data communication includes communication according to a first-layer security protocol, and The secure one-way data communication includes communication based on a Layer 2 security protocol. The first layer security protocol is a higher-level security protocol than the second layer security protocol.
6. The communication device according to claim 5, wherein, The first layer of security protocols includes the Internet security protocol IPsec, and The second layer of security protocols includes the Media Access Control Security (MACsec) protocol.
7. The communication device according to claim 1, wherein, The first secure channel and the second secure channel are physically separated from each other between the communication device and the other device.
8. The communication device according to claim 1, wherein, The first key and the second key have different key lengths.
9. The communication device according to claim 1, wherein, The first secure channel circuitry is configured to execute computer-readable instructions via the processing circuitry to perform secure bidirectional data communication with the other device, and The second secure channel circuit system is configured to perform secure one-way data communication with the other device via hardware components.
10. The communication device according to claim 1, wherein, The secure two-way data communication includes the AEAD encryption scheme with associated data authentication encryption, and The secure one-way data communication includes an authentication-only scheme.
11. The communication device according to claim 1, wherein, The secure two-way data communication includes an authentication-only scheme, and The secure one-way data communication includes the AEAD encryption scheme with associated data.
12. The communication device according to claim 1, wherein, The secure two-way data communication and the secure one-way data communication transmit different types of data between the communication device and the other device.
13. A secure communication method for transmitting data through a set of secure channels, comprising: Secure two-way data communication with the device is performed using the first key via the first secure channel; Secure one-way data communication with the device is performed using a second key via a second secure channel; The second key is updated based on the index value meeting predetermined conditions; The updated second key is sent to the device via the first secure channel as part of the secure two-way data communication. The secure one-way data communication with the device is performed using the updated second key via the second secure channel.
14. The method of claim 13, further comprising: The index value is updated in response to data being sent or received via the second secure channel. Specifically, performing the secure one-way data communication includes using the second key and the index value.
15. The method according to claim 13, wherein, The first secure channel and the second secure channel are configured to operate at different bandwidths.
16. The method of claim 13, further comprising: The first key is updated based on another index value satisfying another predetermined condition. Updating the second key includes updating the second key at a faster rate compared to the first key.
17. The method according to claim 13, wherein, The secure two-way data communication includes communication according to a first-layer security protocol, and The secure one-way data communication includes communication based on a second-layer security protocol.
18. The method according to claim 17, wherein, The first layer of security protocols includes the Internet security protocol IPsec, and The second layer of security protocols includes the Media Access Control Security (MACsec) protocol.
19. The method according to claim 13, wherein, The first secure channel and the second secure channel are physically separated from each other.
20. The method according to claim 13, wherein, The first key and the second key have different key lengths.
21. The method according to claim 13, wherein, Performing the secure bidirectional data communication includes using a software implementation to perform the secure bidirectional data communication, and Specifically, performing the secure one-way data communication includes using a hardware implementation to perform the secure one-way data communication.
22. The method according to claim 13, wherein, Performing the secure two-way data communication includes communication based on the AEAD encryption scheme with associated data, and The secure one-way data communication includes communication based on an authentication-only scheme.
23. The method according to claim 13, wherein, Performing the secure two-way data communication includes communication according to an authentication-only scheme, and The secure one-way data communication includes communication based on the AEAD encryption scheme with associated data.
24. The method according to claim 13, wherein, The secure two-way data communication and the secure one-way data communication transmit different types of data.