WO2025185604A1 - 建立通信链接的方法、通信装置和系统 - Google Patents
建立通信链接的方法、通信装置和系统Info
- Publication number
- WO2025185604A1 WO2025185604A1 PCT/CN2025/080434 CN2025080434W WO2025185604A1 WO 2025185604 A1 WO2025185604 A1 WO 2025185604A1 CN 2025080434 W CN2025080434 W CN 2025080434W WO 2025185604 A1 WO2025185604 A1 WO 2025185604A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- key
- communication
- security
- security key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
Definitions
- the present application relates to the field of communication security, and more specifically, to a method, a communication device, and a system for establishing a communication link.
- On-board diagnostics refers to the process of determining a vehicle's technical condition and identifying the location and cause of a fault without disassembling the vehicle.
- OBD includes both local and remote diagnostics.
- Local diagnostics involves connecting a diagnostic instrument to a diagnostic interface and sending diagnostic commands directly to the target ECU through the interface.
- Remote diagnostics involves a cloud-based diagnostic platform sending diagnostic commands via a wireless communication network to a device inside the vehicle that communicates with external devices, such as a telematics box (T-Box). The T-Box then forwards the diagnostic commands to the target ECU for further diagnosis.
- T-Box telematics box
- Local diagnostics require the vehicle to return to a repair center to obtain fault information.
- remote diagnostics allows for remote interaction with the vehicle to quickly locate the fault and provide appropriate driving guidance.
- OTA over-the-air
- VHR vehicle history record
- UDS remote unified diagnostic service
- the current process of establishing a communication link for diagnosis includes too many time-consuming operations, which may cause the link establishment to time out, affecting the availability and stability of the remote diagnosis service.
- the present application provides a method, communication device and system for establishing a communication link, which can reduce the time required for negotiating communication keys between communication nodes, thereby reducing the probability of link establishment timeout, and helping to improve the availability and stability of related services.
- a method for establishing a communication link is provided.
- the method can be performed by a communication device or a component (such as a chip or chip system) within the communication device.
- the following description uses the communication device as a first node.
- the first node can be a diagnostic agent node in a smart device.
- the method includes: receiving a first security key from a second node, the first security key being generated based on a first communication key, and the first communication key being used to encrypt and/or decrypt communication content between the second node and a third node; wherein the second node is a node that has passed the security authentication of the first node; generating a second communication key based on the first security key, and the second communication key being used to encrypt and/or decrypt information transmitted between the first node and the third node.
- first node and the second node are nodes located in the same entity, for example, both nodes are located in a vehicle, then the first node and the second node are considered to have mutually authenticated each other.
- the first node and the second node may be authenticated using a shared key or certificate.
- the method also includes: receiving second key exchange information from a third node, the second key exchange information carries a first temporary public key, and a shared parameter for generating the first temporary public key, the first temporary public key being generated based on the shared parameter and a first random number; generating a second temporary public key based on the shared parameter and the second random number; sending third key exchange information to the third node, the third key exchange information carries a second temporary public key, the second temporary public key being used to generate a second communication key for the third node; generating a second security key based on the first temporary public key and the second random number; generating a second communication key based on the first security key, including: generating a second communication key based on the first security key and the second security key.
- the first temporary public key and the second temporary public key can be DHE (Diffie-Hellman Ephemeral) keys.
- the first node is a diagnostic agent node of the smart device
- the third node is a diagnostic platform
- the second communication key is used to encrypt and/or decrypt information associated with the diagnosis transmitted between the diagnostic agent node and the diagnostic platform.
- diagnosis platform communicates with the diagnosis agent node of the smart device through a wireless communication network.
- the diagnostic agent node can generate a second communication key after receiving a remote diagnosis request to avoid changes in the first security key, which may cause the previously generated communication key to become invalid, thereby helping to further improve the reliability of the second communication key.
- the second node is a communication node of a smart device, and a second communication key is generated based on the first security key, including: when receiving a diagnostic request information from the communication node, generating the second communication key based on the first security key; wherein the diagnostic request information instructs the diagnostic agent node to perform preparations for the diagnosis.
- the preparation work for diagnosis may include: establishing a communication link between the diagnosis agent node and the diagnosis platform.
- the technical solution of this application can effectively reduce the link establishment delay and improve the link establishment performance without affecting security.
- the method further includes: sending first key exchange information to the third node, where the first key exchange information indicates the first security key.
- a second aspect provides a method for establishing a communication link. This method can be performed by a communication device or a component (such as a chip or chip system) within the communication device.
- the following description uses the communication device as a third node as an example.
- the third node can be a diagnostic platform (or cloud server).
- the method includes: receiving first key exchange information from a first node, the first key exchange information indicating a first security key, the first security key being generated based on a first communication key, and the first communication key being used to encrypt communication content between a second node and a third node; determining the first security key from at least one security key according to the first key exchange information, each security key in the at least one security key being associated with a communication node; generating a second communication key according to the first security key, and the second communication key being used to encrypt and/or decrypt information associated with diagnosis transmitted between the first node and the third node.
- the third node stores multiple security keys, each of which is associated with a communication node or a service. Specifically, one security key is used to generate a communication key for a communication link transmitting a service, or one security key is used to generate a communication key for a communication link between the third node and a communication node. Determining the first security key based on the first key exchange information includes: determining the first security key from the multiple security keys based on an identifier carried in the first key exchange information.
- the method also includes: generating a first temporary public key based on the shared parameters and the first random number; sending second key exchange information to the first node, the second key exchange information carrying the first temporary public key and the shared parameters; receiving third key exchange information from the first node, the third key exchange information carrying the second temporary public key, the second temporary public key being generated based on the shared parameters and the second random number; generating a second security key based on the second temporary public key and the first random number; generating a second communication key based on the first security key, including: generating the second communication key based on the first security key and the second security key.
- the first node is a diagnostic agent node of the smart device
- the third node is a diagnostic platform
- the second communication key is used to encrypt and/or decrypt relevant information for diagnosis transmitted between the diagnostic agent node and the diagnostic platform.
- the first communication key is a symmetric key
- the third node generates a first security key based on the first communication key
- the first communication key may also be an asymmetric key.
- the method further includes: receiving a first security key from the second node, where the first security key is generated by the second node.
- a method for establishing a communication link is provided. This method can be performed by a communication device or a component (such as a chip or chip system) in the communication device.
- the following description uses the communication device as the second node as an example.
- the second node can be a communication node in a smart device.
- initiating the diagnostic process may include: establishing a communication link between the third node and the first node; or triggering a process of negotiating a second communication key between the first node and the third node.
- the first security key is PSK.
- a communication device comprising a transceiver unit (or transceiver module) and a processing unit (or processing module).
- the transceiver unit is configured to receive a first security key from a second node, the first security key being generated based on a first communication key, and the first communication key being used to encrypt and/or decrypt communication content between the second node and a third node; wherein the second node is a node that has passed security authentication by the first node.
- the processing unit is configured to generate a second communication key based on the first security key, and the second communication key being used to encrypt and/or decrypt information transmitted between the first node and the third node.
- the transceiver unit is further used to: send first key exchange information to the third node, where the first key exchange information indicates the first security key.
- the transceiver unit is further used to: receive second key exchange information from a third node, the second key exchange information carries a first temporary public key, and a shared parameter for generating the first temporary public key, the first temporary public key being generated based on the shared parameter and a first random number; the processing unit is further used to: generate a second temporary public key based on the shared parameter and the second random number; the transceiver unit is further used to: send third key exchange information to the third node, the third key exchange information carries a second temporary public key, the second temporary public key is used to generate a second communication key for the third node; generate a second security key based on the first temporary public key and the second random number; the processing unit is used to: generate a second communication key based on the first security key and the second security key.
- the first node is a diagnostic agent node of the smart device
- the third node is a diagnostic platform
- the second communication key is used to encrypt and/or decrypt information associated with the diagnosis transmitted between the diagnostic agent node and the diagnostic platform.
- the processing unit is configured to: determine the first security key from at least one security key based on the first key exchange information, each of the at least one security key being associated with a communication node; and generate a second communication key based on the first security key, the second communication key being used to encrypt and/or decrypt information associated with diagnosis transmitted between the first node and the third node.
- the processing unit is further used to: generate a first security key based on the first communication key.
- a communication device which includes a transceiver unit and a processing unit, wherein the transceiver unit is used to: obtain a first communication key, the first communication key is used to encrypt the communication content between the second node and the third node; the processing unit is used to: generate a first security key based on the first communication key; the transceiver unit is also used to: send the first security key to the first node, the first security key is used to generate a second communication key, and the second communication key is used to encrypt and/or decrypt information transmitted between the first node and the third node.
- the first security key is PSK.
- the present application provides a communication device comprising at least one processor, the at least one processor being coupled to at least one memory, the at least one memory being used to store computer programs or instructions, and the at least one processor being used to call and run the computer program or instructions from the at least one memory, so that the communication device executes the method of any one of the first to third aspects, or the method in any possible implementation of the first to third aspects.
- the present application provides a communication system, comprising the communication device according to aspects 4 to 6.
- the above-mentioned smart device is a vehicle.
- the present application provides a computer-readable storage medium, which stores computer instructions.
- the computer instructions When the computer instructions are executed on a computer, the method in any one of the first to third aspects or any possible implementation thereof is implemented.
- the present application provides a computer program product, which includes a computer program code.
- the computer program code runs on a computer, the method in any one of the first to third aspects or any possible implementation thereof is implemented.
- a chip which includes a circuit for executing the method in any possible implementation of the first aspect, the second aspect, or the third aspect.
- FIG1 is a schematic diagram of a diagnostic system provided in an embodiment of the present application.
- FIG3 is another schematic flowchart of a method for establishing a communication link provided in an embodiment of the present application.
- FIG4 is another schematic flow chart of a method for establishing a communication link according to an embodiment of the present application.
- FIG6 is another schematic block diagram of a communication device provided in an embodiment of the present application.
- Figure 1 shows a diagnostic system provided by an embodiment of the present application.
- the system 100 includes a diagnostic platform 110 and a vehicle 140.
- the vehicle 140 includes a communication module 120, a diagnostic agent module 130 and a plurality of devices to be diagnosed, such as device 1 to be diagnosed and device 2 to be diagnosed.
- the diagnostic platform 110 can be a physical server or a virtual server. When the diagnostic platform 110 is a virtual server, it can be located all over the world and provide services to vehicles in different countries and regions.
- the diagnostic platform 110 can be connected to the diagnostic agent module 130 through a wireless communication network, and the diagnosis of the devices to be diagnosed in the vehicle 140 can be realized through the diagnostic agent module 130.
- the communication module 120 can maintain a communication link 1 with the diagnostic platform 110, and the vehicle 140 can report vehicle-related data, such as VHR data, to the diagnostic platform 110 through the communication module 120.
- vehicle-related data such as VHR data
- the diagnostic platform 110 discovers an abnormality based on the data reported by the vehicle, if it is necessary to locate and/or analyze the fault, the diagnostic platform 110 will send a remote diagnostic instruction to the communication module 120 to request the vehicle 140 to start the diagnosis.
- the communication module 120 After receiving the remote diagnostic instruction, the communication module 120 sends the instruction to the diagnostic agent module 130 so that the diagnostic agent module 130 can perform pre-diagnosis preparations.
- the diagnostic agent module 130 will initiate the process of establishing a communication link 2 with the diagnostic platform 110.
- the diagnostic platform 110 sends diagnostic information to the diagnostic agent module 130 through the communication link 2 so that the diagnostic agent module 130 can diagnose the device to be diagnosed, thereby locating and/or analyzing the fault.
- the above-mentioned process of establishing a communication link can be understood as: the process of the two nodes that need to communicate negotiating the communication key required for communication.
- the completion of the security key negotiation represents the completion of the communication link establishment.
- the two nodes that need to communicate subsequently encrypt and/or decrypt the communication content through the communication key negotiated by the two parties.
- a communication link (hereinafter referred to as "link establishment") is typically established between the diagnostic agent module 130 and the diagnostic platform 110 based on a certificate.
- link establishment multiple certificate verifications are required between the diagnostic agent module 130 and the diagnostic platform 110 to complete the link establishment.
- these multiple certificate verifications are time-consuming and may cause the communication link between the diagnostic agent module 130 and the diagnostic platform 110 to time out, thereby affecting the fault diagnosis process.
- the ICAS may include at least one of the following: a vehicle control server ICAS1, an intelligent driving server ICAS2, an intelligent cockpit server ICAS3, and an infotainment server ICAS4.
- the diagnostic agent module 130 may also be a T-box.
- Figure 2 shows a schematic flow chart of a method for establishing a communication link provided by an embodiment of the present application, which method can be performed by a first node, a second node and a third node.
- a communication link has been established between the second node and the third node, and the second node and the third node encrypt and/or decrypt the communication content between the two based on the first communication key.
- the second node and the first node are mutually trusted devices, and the above-mentioned "trusted devices" can be understood as: a communication link has been established between the first node and the second node, or the first node and the second node have passed security authentication with each other.
- the second node obtains a first communication key, where the first communication key is used to encrypt and/or decrypt communication content between the second node and the third node.
- S220 The second node generates a first security key based on the first communication key.
- the second node executes S220 when or after receiving the first indication information from the third node, wherein the first indication information is used to instruct the second node to trigger or notify the first node to establish a communication link with the third node.
- the first node sends first key exchange information to the third node, where the first key exchange information indicates a first security key.
- the first node executes S240 when or after receiving the second indication information from the second node, wherein the second indication information is used to instruct the first node to initiate a process of establishing a communication link with the third node.
- the first key exchange information includes an identifier of the first security key.
- the first node generates a second communication key based on the first security key.
- S240 and S250 may be executed simultaneously, or S250 may be executed before S240.
- S260 The third node generates a second communication key based on the first security key.
- the method further includes: S5, the third node receiving third key exchange information from the first node, the third key exchange information carrying the second temporary public key. S6, the third node generating a second security key based on the second temporary public key and the first random number. Furthermore, S260 can be further refined to: generating a second communication key based on the first security key and the second security key.
- the method further includes: S270, the third node sends information confidentialized by the second communication key to the first node; and S280, the first node decrypts the information according to the second communication key.
- the method for establishing a communication link provided in the embodiment of the present application can omit the time-consuming operations such as certificate transmission, multi-level certificate verification, temporary key pair generation, and temporary public key signing and verification required in the certificate-based chain establishment mode by reusing the communication key of the existing communication link. It can save the time of chain establishment, thereby reducing the probability of chain establishment timeout and helping to improve chain establishment performance.
- the process of establishing a communication link involved in method 200 will be described in detail by taking the first node as a vehicle diagnostic agent node, the second node as a vehicle communication node, and the third node as a diagnostic platform as an example.
- the diagnosis start instruction is used to request the start of remote diagnosis.
- the diagnosis start instruction may be transmitted via a communication link between the diagnosis platform and the communication node, and the communication key 1 is a key used to encrypt information transmitted in the above communication link.
- the communication key 1 can be regarded as an example of the first communication key
- the security key 1 can be regarded as an example of the first security key
- the remote diagnosis start instruction can be regarded as an example of the first indication information.
- the diagnosis request information is used to instruct the diagnosis agent node to perform preparations related to remote diagnosis, such as establishing a communication link for diagnosis.
- the diagnosis request information can be regarded as an example of the second instruction information mentioned above.
- the method further includes: S303', the communication node sends information of security key 1 to the diagnostic platform.
- S303 and S303' can be performed simultaneously or sequentially.
- each of the at least one encryption component indicates an algorithm for generating a key.
- the at least one encryption component may be an encryption component using lightweight key technology, such as a PSK-based encryption component or other encryption component for generating lightweight keys.
- the at least one encryption component includes, but is not limited to, TLS_PSK_WITH_RC4_128_SHA, TLS_PSK_WITH_AES_128_CBC_SHA, TLS_PSK_WITH_AES_256_CBC_SHA, and TLS_PSK_WITH_3DES_EDE_CBC_SHA.
- the diagnosis platform selects an encryption component 1 supported by itself from at least one encryption component, and sends information of the encryption component 1 to the diagnosis agent node through a link establishment response.
- the diagnosis agent node sends key exchange information to the diagnosis platform, where the key exchange information carries the identifier of security key 1 .
- the diagnostic platform determines security key 1 according to the key exchange information, and generates communication key 2 according to security key 1 .
- the diagnostic platform extracts security key 1 from the security keys associated with multiple vehicles stored in its own storage based on the identifier of security key 1.
- communication key 2 is generated by encryption component 1 and security key 1.
- the algorithm indicated by encryption component 1 is P ⁇ () and security key 1 is k1, then communication key 2 can be P ⁇ (k1).
- P ⁇ () can be any algorithm among TLS_PSK_WITH_RC4_128_SHA, TLS_PSK_WITH_AES_128_CBC_SHA, TLS_PSK_WITH_AES_256_CBC_SHA, TLS_PSK_WITH_3DES_EDE_CBC_SHA, or other algorithms.
- the diagnosis agent node generates a communication key 2 according to the security key 1 .
- S307 and S309 may be executed simultaneously, or S309 may be executed before S307.
- the specific implementation method of the diagnosis agent node generating the communication key 2 can refer to the description in S308 and will not be repeated here.
- the diagnosis platform and the diagnosis agent node perform remote diagnosis based on the communication key 2 .
- the diagnostic platform encrypts the diagnostic instruction using communication key 2 and sends it to the diagnostic agent node.
- the diagnostic agent node decrypts the diagnostic instruction using communication key 2 and diagnoses the device under diagnosis based on the decrypted diagnostic instruction to obtain a diagnostic result.
- the diagnostic agent node encrypts the diagnostic result using communication key 2 and sends it to the diagnostic platform.
- the diagnostic platform reads the diagnostic result using communication key 2.
- the method for establishing a communication link provided in the embodiment of the present application can effectively reduce the link establishment delay and resource consumption of the diagnosis platform for scenarios such as remote diagnosis without affecting security, thereby helping to improve the reliability of remote diagnosis services.
- FIG4 shows another schematic flow chart of a method for establishing a communication link provided by an embodiment of the present application.
- the vehicle may include vehicle 140 shown in FIG1
- the communication node may include communication module 120
- the diagnostic agent node may include diagnostic agent module 130 .
- Method 400 includes S401 to S413 .
- S401 to S404 can refer to the description of S301 to S304, which will not be repeated here.
- S405 to S413 are described in detail below.
- the diagnosis agent node sends a link establishment request to the diagnosis platform.
- the link establishment request carries at least one encryption component supported by the diagnosis agent node.
- the diagnosis platform sends a link establishment response to the diagnosis proxy node.
- the link establishment response carries the encryption component 2 selected by the diagnosis platform.
- the diagnosis platform sends a key exchange message 1 to the diagnosis agent node.
- the key exchange message 1 carries a temporary public key 1 generated by the diagnosis platform and parameters used to generate the temporary public key 1 .
- the diagnostic platform determines the encryption component 2 and generates a temporary public key 1 according to the encryption component 2.
- the temporary public key 1 may be A(a, g, p), where a is a random number generated by the diagnostic platform, g and p are respectively a prime number and a primitive root shared by the diagnostic agent node and the diagnostic platform, and g and p may be considered as some examples of parameters for generating the temporary public key.
- the key exchange information 1 can be regarded as an example of the above-mentioned second key exchange information
- the temporary public key 1 can be regarded as an example of the first temporary public key
- the parameters p and g can be regarded as an example of shared parameters.
- S406 and S407 may be performed synchronously.
- the diagnostic agent node receives the key exchange information 1 and generates a temporary public key 2 based on the encryption component 2 and the parameters used to generate the temporary public key 1.
- the temporary public key 2 can be A(b, g, p), where b is a random number generated by the diagnostic agent node.
- the key exchange information 2 can be regarded as an example of the above-mentioned first key exchange information
- the temporary public key 2 can be regarded as an example of the second temporary public key.
- the diagnostic platform generates a security key 2 according to the temporary public key 2 .
- the diagnostic platform generates a security key 2 according to the temporary public key 2 and a random number used to generate the temporary public key 1.
- the security key 2 may be A(a, b, g, p).
- the diagnostic platform generates a communication key 3 according to the security key 1 and the security key 2 .
- P_D ⁇ () can be any algorithm among TLS_DHE_PSK_WITH_RC4_128_SHA, TLS_DHE_PSK_WITH_AES_128_CBC_SHA, TLS_DHE_PSK_WITH_AES_256_CBC_SHA, TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, or it can also be other algorithms.
- the diagnosis agent node generates a security key 2 according to the temporary public key 1 .
- the specific implementation method of the diagnosis agent node generating the communication key 3 can refer to the description in S410 and will not be repeated here.
- the diagnosis platform and the diagnosis agent node perform remote diagnosis based on the communication key 3 .
- the method for establishing a communication link provided in the embodiment of the present application generates a communication key for diagnosis based on an existing communication key and a temporary key, which helps to further improve the forward security of the communication key used for diagnosis, thereby improving the reliability of remote diagnosis services.
- Figure 5 shows a schematic block diagram of a communication device 2000 provided in an embodiment of the present application, and the device 2000 may include units for executing the methods in Figures 2, 3, and 4. In addition, each unit in the device 2000 is for implementing the corresponding process of the above method embodiments.
- the device 2000 includes a transceiver unit 2010, which can be used to implement corresponding data acquisition or transceiver functions.
- the device 2000 also includes a processing unit 2020, which can be used to implement corresponding processing functions.
- the device 2000 also includes a storage unit, which can be used to store instructions and/or data.
- the processing unit 2020 can read the instructions and/or data in the storage unit so that the device implements the relevant actions in the aforementioned method embodiments.
- the transceiver unit 2010 is used to: receive a first security key from the second node, the first security key is generated based on the first communication key, and the first communication key is used to encrypt and/or decrypt the communication content between the second node and the third node; the processing unit 2020 is used to: generate a second communication key based on the first security key, and the second communication key is used to encrypt and/or decrypt information transmitted between the first node and the third node.
- the transceiver unit 2010 is used to: obtain a first communication key, and the first communication key is used to encrypt the communication content between the second node and the third node; the processing unit 2020 is used to: generate a first security key based on the first communication key; the transceiver unit 2010 is also used to: send the first security key to the first node, and the first security key is used to generate a second communication key, and the second communication key is used to encrypt and/or decrypt information transmitted between the first node and the third node.
- the transceiver unit 2010 is configured to: receive first key exchange information from the first node, the first key exchange information indicating a first security key, the first security key being generated based on the first communication key, and the first communication key being used to encrypt communication content between the second node and the third node.
- the processing unit 2020 is configured to: determine the first security key from at least one security key based on the first key exchange information, each of the at least one security key being associated with a communication node; and generate a second communication key based on the first security key, the second communication key being used to encrypt and/or decrypt diagnosis-related information transmitted between the first node and the third node.
- module or “unit” herein may refer to an application-specific ASIC, electronic circuitry, a processor (e.g., a shared processor, a dedicated processor, or a group of processors, etc.) and memory for executing one or more software or firmware programs, combined logic circuitry, and/or other suitable components that support the described functionality.
- processor e.g., a shared processor, a dedicated processor, or a group of processors, etc.
- memory for executing one or more software or firmware programs, combined logic circuitry, and/or other suitable components that support the described functionality.
- the apparatus 2000 of each of the above-described solutions has the function of implementing the corresponding steps in the above-described methods.
- the functions can be implemented by hardware, or by hardware executing corresponding software implementations.
- the hardware or software includes one or more modules corresponding to the above-described functions; for example, the transceiver unit can be replaced by a transceiver, and other units, such as the processing unit, can be replaced by a processor to perform the relevant processing operations in each method embodiment.
- the processor in this application is a circuit capable of processing signals.
- the processor can be a circuit capable of reading and executing instructions, such as a central processing unit (CPU), a microprocessor, a graphics processing unit (GPU) (which can be understood as a microprocessor), or a digital signal processor (DSP).
- the processor can implement certain functions through the logical relationships of hardware circuits, and the logical relationships of the hardware circuits are fixed or reconfigurable.
- the processor is a hardware circuit implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), such as a field programmable gate array (FPGA).
- ASIC application-specific integrated circuit
- PLD programmable logic device
- FPGA field programmable gate array
- the process of the processor loading a configuration file to implement the hardware circuit configuration can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units.
- the processor can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc.
- NPU neural network processing unit
- TPU tensor processing unit
- DPU deep learning processing unit
- the various units in the above apparatus may be fully or partially integrated together, or may also be implemented independently. In one implementation, these units are integrated together and implemented in the form of a system-on-a-chip (SoC).
- SoC system-on-a-chip
- FIG 6 is another schematic block diagram of a communication device provided in an embodiment of the present application.
- the communication device 2100 shown in Figure 6 may include: a processor 2110, a transceiver 2120, and a memory 2130.
- the processor 2110, the transceiver 2120, and the memory 2130 are connected via an internal connection path.
- the memory 2130 is used to store instructions, and the processor 2110 is used to execute the instructions stored in the memory 2130 to implement the methods in the above embodiments.
- the memory 2130 can be coupled to the processor 2110 via an interface or integrated with the processor 2110.
- transceiver 2120 may include but is not limited to a transceiver device such as an input/output interface to realize communication between the device 2100 and other devices or communication networks.
- Memory 2130 may be volatile memory and/or nonvolatile memory.
- Nonvolatile memory may be read-only memory (ROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
- Volatile memory may be random access memory (RAM).
- RAM may be used as an external cache.
- RAM includes the following forms: static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronized DRAM (SLDRAM), and direct rambus RAM (DR RAM).
- the transceiver 2120 uses a transceiver device such as but not limited to a transceiver to implement communication between the device 2100 and other devices or communication networks to receive/send data/information used to implement the methods in the above embodiments.
- a transceiver device such as but not limited to a transceiver to implement communication between the device 2100 and other devices or communication networks to receive/send data/information used to implement the methods in the above embodiments.
- An embodiment of the present application further provides an intelligent device, which includes the first node and the second node in the above embodiment; or includes the diagnostic agent node and the communication node in the above embodiment.
- the smart devices described in this application may include land vehicles, water vehicles, air vehicles, industrial equipment, agricultural equipment, or entertainment equipment.
- the smart device may be a vehicle, which is a vehicle in a broad sense, and may be a vehicle (such as a commercial vehicle, a passenger car, a motorcycle, a flying car, a train, etc.), an industrial vehicle (such as a forklift, a trailer, a tractor, etc.), an engineering vehicle (such as an excavator, a bulldozer, a crane, etc.), agricultural equipment (such as a mower, a harvester, etc.), amusement equipment, a toy vehicle, etc.
- the embodiments of this application do not specifically limit the type of vehicle.
- the smart device may be an intelligent robot, a smart home device, a drone, an airplane, or a ship, etc.
- An embodiment of the present application further provides a computer program product, which includes computer program code.
- the computer program code runs on a computer, the computer implements the methods in the above embodiments of the present application.
- An embodiment of the present application further provides a computer-readable storage medium, which stores computer instructions.
- the computer instructions When the computer instructions are executed on a computer, the computer implements the methods in the above embodiments of the present application.
- An embodiment of the present application also provides a chip, including a circuit, for executing the methods in the above embodiments of the present application.
- At least one of a, b, or c can mean: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c can be single or multiple.
- prefixes such as “first” and “second” are used only to distinguish different description objects and have no limiting effect on the position, order, priority, quantity, or content of the described objects.
- the use of prefixes such as ordinal numbers to distinguish description objects in the embodiments of this application does not constitute a limitation on the described objects. For a statement of the described objects, please refer to the description in the context of the claims or embodiments, and the use of such prefixes should not constitute an unnecessary limitation.
- the disclosed systems, devices and methods can be implemented in other ways.
- the device embodiments described above are merely schematic.
- the division of the units is merely a logical function division.
- Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种建立通信链路的方法、通信装置和系统,可以应用于通信安全领域,特别地,可以应用于车载诊断领域。本申请技术方案可以由通信系统执行,该通信系统包括第一节点、第二节点和第三节点,其中,第二节点和第三节点之间已建立通信链接,且二者之间的通信内容通过第一通信密钥进行加密和/或解密,在第一节点和第二节点互为可信任设备的情况下,第一节点和第三节点之间可以基于第一通信密钥协商用于通信的第二通信密钥,从而建立第一节点和第三节点之间的通信链接。本申请的技术方案,通过复用已有通信链接的通信密钥,可以节省建链耗时,从而降低建链超时的几率,有助于提高建链性能。
Description
本申请要求在2024年3月5日提交中国国家知识产权局、申请号为202410251548.7、发明名称为“建立通信链接的方法、通信装置和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信安全领域,更具体地,涉及一种建立通信链接的方法、通信装置和系统。
车载诊断是指不对车辆拆解的条件下,确定车辆技术状况,查明故障部位及原因的检查。车载诊断包括近端诊断和远程诊断。其中,近端诊断是指诊断仪与诊断接口连接,通过诊断接口直接向目标ECU发送诊断指令进行诊断;远程诊断是指云端的诊断平台通过无线通信网络将诊断指令下发至车内与车外设备通信的装置例如通信盒子(telematics box,T-Box),然后T-Box将诊断指令转发到目标ECU进行诊断。近端诊断需要车辆返回维修点才能获取故障信息。与近端诊断相比,远程诊断可远程与车辆进行诊断数据的交互,实现故障范围的快速定位,有助于为车主提供相应的驾驶引导。另外,远程诊断通过与空中下载(over the air,OTA)技术协同,有助于快速消减故障,避免故障车辆返回维修点所导致的时间和财产损失。
当前越来越多车辆支持远程诊断,支持远程诊断的车辆与诊断平台一般会保持基于消息队列遥测传输(message queuing telemetry transport,MQTT)协议的长连接,车辆基于该长连接向诊断平台定期上报车辆健康状况相关的车辆历史记录(vehicle history record,VHR)。在诊断平台基于车辆上报的数据发现异常时,若有必要进行详细故障定位,则会通过远程统一诊断服务(unified diagnostic service,UDS)对故障进行进一步分析定位。为保证诊断过程中信息交互的安全性(如防止中继攻击),车辆的诊断代理模块与诊断平台会单独构建一条点对点安全通信的诊断通道。
然而,当前用于诊断的通信链接的建立流程包括过多耗时较多的操作,可能导致建链超时,影响远程诊断业务的可用性和稳定性。
本申请提供一种建立通信链接的方法、通信装置和系统,能够减少通信节点之间协商通信密钥所需时长,从而降低建链超时的几率,有助于提高相关业务的可用性和稳定性。
第一方面,提供了一种建立通信链接的方法,该方法可以由通信装置或通信装置中的部件(如芯片或芯片系统)执行,以下以通信装置为第一节点为例进行说明。在某些具体实现场景中,第一节点可以为智能设备中的诊断代理节点。
该方法包括:接收来自第二节点的第一安全密钥,第一安全密钥为基于第一通信密钥生成,第一通信密钥用于对第二节点与第三节点之间的通信内容加密和/或解密;其中,第二节点为通过第一节点的安全认证的节点;根据第一安全密钥生成第二通信密钥,第二通信密钥用于对第一节点与第三节点之间传输的信息进行加密和/或解密。
在一些实现方式中,第一节点和第二节点为设置于同一实体中的节点,例如,均为设置在车辆中的节点,则认为第一节点和第二节点互相通过安全认证。或者,第一节点和第二节点分设于不同实体中,则第一节点和第二节点之间可以通过共享密钥或证书进行安全认证。
在上述技术方案中,由于已有通信连接的通信密钥的安全性是可以保证的,因此通过复用已有通信链接的通信密钥,可以省去基于证书的建链模式中要求的证书的传递、多级证书的校验、临时密钥对的生成、临时公钥的签名和校验这些耗时较多的操作,能够节省建链耗时,从而降低建链超时的几率,有助于提高建链性能,同时降低通信资源以及通信节点的计算、存储资源的消耗。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:接收来自第三节点的第二密钥交换信息,第二密钥交换信息携带第一临时公钥,以及生成第一临时公钥的共享参数,第一临时公钥为根据共享参数和第一随机数生成;根据共享参数和第二随机数生成第二临时公钥;向第三节点发送第三密钥交换信息,第三密钥交换信息携带第二临时公钥,第二临时公钥用于第三节点生成第二通信密钥;根据第一临时公钥和第二随机数生成第二安全密钥;根据第一安全密钥生成第二通信密钥,包括:根据第一安全密钥和第二安全密钥生成第二通信密钥。
示例性地,第一临时公钥和第二临时公钥可以为DHE(Diffie-Hellman Ephemeral)密钥。
在上述技术方案中,通过临时密钥以及复用的已有通信链接的通信密钥生成新的密钥,有助于进一步提高新的密钥的可靠性,从而提高建链性能。
结合第一方面,在第一方面的某些实现方式中,第一节点为智能设备的诊断代理节点,第三节点为诊断平台,第二通信密钥用于对诊断代理节点和诊断平台之间传输的与诊断相关联的信息进行加密和/或解密。
需要说明的是,诊断平台与智能设备的诊断代理节点之间通过无线通信网络进行通信。
在一些实现方式中,与诊断相关联的信息包括用于指示诊断代理节点对智能设备中的待诊节点进行诊断的信息和/或诊断结果。
当上述技术方案应用于远程诊断领域时,诊断代理节点可以在收到远诊请求后,再生成第二通信密钥,以避免第一安全密钥发生变化,导致之前生成的通信密钥失效之类的情况发生,有助于进一步提升第二通信密钥的可靠性。
结合第一方面,在第一方面的某些实现方式中,第二节点为智能设备的通信节点,根据第一安全密钥生成第二通信密钥,包括:在接收到来自通信节点的诊断请求信息时,根据第一安全密钥生成第二通信密钥;其中,诊断请求信息指示诊断代理节点执行诊断的准备工作。
示例性地,诊断的准备工作可以包括:建立诊断代理节点和诊断平台之间的通信链接。
对于远程诊断这种对建链时延有较为严格要求的场景,通过本申请技术方案,能够在不影响安全性的前提下有效降低建链时延,提高建链性能。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:向第三节点发送第一密钥交换信息,第一密钥交换信息指示第一安全密钥。
示例性地,第一密钥交换信息可以携带第一安全密钥的标识。
结合第一方面,在第一方面的某些实现方式中,第一安全密钥为预共享密钥(pre-shared key,PSK)。
在上述技术方案中,基于轻量级密钥生成通信密钥,有助于缩短建链所需时长,大幅提升建链效率,防止建链超时。
第二方面,提供了一种建立通信链接的方法,该方法可以由通信装置或通信装置中的部件(如芯片或芯片系统)执行,以下以通信装置为第三节点为例进行说明。在某些具体实现场景中,第三节点可以为诊断平台(或称云服务器)。
该方法包括:接收来自第一节点的第一密钥交换信息,第一密钥交换信息指示第一安全密钥,第一安全密钥为基于第一通信密钥生成,第一通信密钥用于对第二节点与第三节点之间的通信内容加密;根据第一密钥交换信息从至少一个安全密钥中确定第一安全密钥,至少一个安全密钥中每个安全密钥与一个通信节点相关联;根据第一安全密钥生成第二通信密钥,第二通信密钥用于对与第一节点和第三节点之间传输的与诊断相关联的信息进行加密和/或解密。
在一些实现方式中,第三节点处存储有多个安全密钥,其中,每个安全密钥与一个通信节点或一种业务相关联,即,一个安全密钥用于为传输某个业务的通信链接生成通信密钥,或者一个安全密钥用于为第三节点与一个通信节点之间的通信链接生成通信密钥。则根据第一密钥交换信息确定第一安全密钥,包括:根据第一密钥交换信息携带的标识,从多个安全密钥中确定第一安全密钥。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:根据共享参数和第一随时数生成第一临时公钥;向第一节点发送第二密钥交换信息,第二密钥交换信息携带第一临时公钥以及共享参数;接收来自第一节点的第三密钥交换信息,第三密钥交换信息携带第二临时公钥,第二临时公钥为根据共享参数和第二随机数生成;根据第二临时公钥和第一随机数生成第二安全密钥;根据第一安全密钥生成第二通信密钥,包括:根据第一安全密钥和第二安全密钥生成第二通信密钥。
结合第二方面,在第二方面的某些实现方式中,第一节点为智能设备的诊断代理节点,第三节点为诊断平台,第二通信密钥用于对诊断代理节点和诊断平台之间传输的用于诊断的相关信息进行加密和/或解密。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:根据第一通信密钥生成第一安全密钥。
在一些实现方式中,第一通信密钥为对称密钥,则第三节点根据第一通信密钥生成第一安全密钥。
在又一些实现方式中,第一通信密钥也可以为非对称密钥。在第一通信密钥为非对称密钥时,该方法还包括:接收来自第二节点的第一安全密钥,该第一安全密钥为第二节点生成的。
结合第二方面,在第二方面的某些实现方式中,第一安全密钥为PSK。
第三方面,提供了一种建立通信链接的方法,该方法可以由通信装置或通信装置中的部件(如芯片或芯片系统)执行,以下以通信装置为第二节点为例进行说明。在某些具体实现场景中,第二节点可以为智能设备中的通信节点。
该方法包括:获取第一通信密钥,第一通信密钥用于对第二节点与第三节点之间的通信内容加密;根据第一通信密钥生成第一安全密钥;向第一节点发送第一安全密钥,第一安全密钥用于生成第二通信密钥,第二通信密钥用于对第一节点与第三节点之间传输的信息进行加密和/或解密。
结合第三方面,在第三方面的某些实现方式中,第二节点为智能设备的通信节点,第三节点为诊断平台,根据第一通信密钥生成第一安全密钥,包括:在接收来自诊断平台的诊断启动指令时,根据第一通信密钥生成第一安全密钥;其中,诊断启动指令指示智能设备启动诊断流程。
在一些实现方式中,启动诊断流程可以包括:建立第三节点与第一节点之间的通信链接;或者,触发第一节点和第三节点之间协商第二通信密钥的流程。
结合第三方面,在第三方面的某些实现方式中,第一安全密钥为PSK。
第四方面,提供了一种通信装置,该装置包括收发单元(或称收发模块)和处理单元(或称处理模块),该收发单元用于:接收来自第二节点的第一安全密钥,第一安全密钥为基于第一通信密钥生成,第一通信密钥用于对第二节点与第三节点之间的通信内容加密和/或解密;其中,第二节点为通过第一节点的安全认证的节点。该处理单元用于:根据第一安全密钥生成第二通信密钥,第二通信密钥用于对第一节点与第三节点之间传输的信息进行加密和/或解密。
结合第四方面,在第四方面的某些实现方式中,收发单元还用于:向第三节点发送第一密钥交换信息,第一密钥交换信息指示第一安全密钥。
结合第四方面,在第四方面的某些实现方式中,收发单元还用于:接收来自第三节点的第二密钥交换信息,第二密钥交换信息携带第一临时公钥,以及生成第一临时公钥的共享参数,第一临时公钥为根据共享参数和第一随机数生成;处理单元还用于:根据共享参数和第二随机数生成第二临时公钥;收发单元还用于:向第三节点发送第三密钥交换信息,第三密钥交换信息携带第二临时公钥,第二临时公钥用于第三节点生成第二通信密钥;根据第一临时公钥和第二随机数生成第二安全密钥;处理单元用于:根据第一安全密钥和第二安全密钥生成第二通信密钥。
结合第四方面,在第四方面的某些实现方式中,第一节点为智能设备的诊断代理节点,第三节点为诊断平台,第二通信密钥用于对诊断代理节点和诊断平台之间传输的与诊断相关联的信息进行加密和/或解密。
结合第四方面,在第四方面的某些实现方式中,第二节点为智能设备的通信节点,处理单元用于:在收发单元接收到来自通信节点的诊断请求信息时,根据第一安全密钥生成第二通信密钥;其中,诊断请求信息指示诊断代理节点执行诊断的准备工作。
第五方面,提供了一种通信装置,该装置包括收发单元和处理单元,该收发单元用于:接收来自第一节点的第一密钥交换信息,第一密钥交换信息指示第一安全密钥,第一安全密钥为基于第一通信密钥生成,第一通信密钥用于对第二节点与第三节点之间的通信内容加密。处理单元用于:根据第一密钥交换信息从至少一个安全密钥中确定第一安全密钥,至少一个安全密钥中每个安全密钥与一个通信节点相关联;以及根据第一安全密钥生成第二通信密钥,第二通信密钥用于对与第一节点和第三节点之间传输的与诊断相关联的信息进行加密和/或解密。
结合第五方面,在第五方面的某些实现方式中,处理单元还用于:根据共享参数和第一随时数生成第一临时公钥;收发单元还用于:向第一节点发送第二密钥交换信息,第二密钥交换信息携带第一临时公钥以及共享参数;以及接收来自第一节点的第三密钥交换信息,第三密钥交换信息携带第二临时公钥,第二临时公钥为根据共享参数和第二随机数生成;处理单元用于:根据第一安全密钥和第二安全密钥生成第二通信密钥。
结合第五方面,在第五方面的某些实现方式中,第一节点为智能设备的诊断代理节点,第三节点为诊断平台,第二通信密钥用于对诊断代理节点和诊断平台之间传输的用于诊断的相关信息进行加密和/或解密。
结合第五方面,在第五方面的某些实现方式中,处理单元还用于:根据第一通信密钥生成第一安全密钥。
第六方面,提供了一种通信装置,该装置包括收发单元和处理单元,该收发单元用于:获取第一通信密钥,第一通信密钥用于对第二节点与第三节点之间的通信内容加密;处理单元用于:根据第一通信密钥生成第一安全密钥;收发单元还用于:向第一节点发送第一安全密钥,第一安全密钥用于生成第二通信密钥,第二通信密钥用于对第一节点与第三节点之间传输的信息进行加密和/或解密。
结合第六方面,在第六方面的某些实现方式中,第二节点为智能设备的通信节点,第三节点为诊断平台,处理单元用于:在收发单元接收来自诊断平台的诊断启动指令时,根据第一通信密钥生成第一安全密钥;其中,诊断启动指令指示智能设备启动诊断流程。
结合第四至第六方面中任一方面,在第四至第六方面中任一方面的某些实现方式中,第一安全密钥为PSK。
第七方面,本申请提供一种通信装置,包括至少一个处理器,至少一个处理器与至少一个存储器耦合,至少一个存储器用于存储计算机程序或指令,至少一个处理器用于从至少一个存储器中调用并运行该计算机程序或指令,使得通信装置执行第一方面至第三方面中任一方面的方法,或第一方面至第三方面的任意可能的实现方式中的方法。
第八方面,本申请提供一种通信系统,包括如第四方面至第六方面的通信装置。
第九方面,本申请提供一种智能设备,包括如第四方面和第六方面的通信装置。
结合第九方面,在第九方面的某些实现方式中,上述智能设备为车辆。
第十方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,使得第一方面至第三方面中任一方面或其任一可能的实现方式中的方法被实现。
第十一方面,本申请提供一种计算机程序产品,计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得第一方面至第三方面中任一方面或其任一可能的实现方式中的方法被实现。
第十二方面,提供了一种芯片,该芯片包括电路,该电路用于执行上述第一方面或第二方面或第三方面中任一种可能实现方式中的方法。
上述第二方面至第十二方面中未详尽描述的有益效果具体可以参考第一方面中有益效果的描述,在此不再赘述。
图1是本申请实施例提供的诊断系统的示意图;
图2是本申请实施例提供的建立通信链接的方法的示意性流程图;
图3是本申请实施例提供的建立通信链接的方法的又一示意性流程图;
图4是本申请实施例提供的建立通信链接的方法的再一示意性流程图;
图5是本申请实施例提供的通信装置的一种示意性框图;
图6是本申请实施例提供的通信装置的又一种示意性框图。
下面将结合附图,对本申请中的技术方案进行描述。
图1示出了本申请实施例提供的诊断系统。如图1所示,以智能设备为车辆为例,该系统100包括诊断平台110和车辆140。其中,车辆140包括通信模块120、诊断代理模块130和多个待诊设备,例如待诊设备1和待诊设备2。具体地,诊断平台110可以是实体服务器也可以是虚拟服务器,当诊断平台110是虚拟服务器时,其可以位于世界各地,为不同国家和地区的车辆提供服务。诊断平台110可以通过无线通信网络与诊断代理模块130连接,通过诊断代理模块130实现对车辆140中待诊设备的诊断。
更为具体地,通信模块120可以与诊断平台110保持通信链接1,车辆140可以通过通信模块120向诊断平台110上报车辆相关数据,例如VHR数据。在诊断平台110根据车辆上报的数据发现异常时,若有必要进行故障定位和/或分析,则诊断平台110会向通信模块120发送远程诊断指令,以请求车辆140启动诊断。通信模块120接收到远程诊断指令之后,向诊断代理模块130发送该指令,以使诊断代理模块130进行诊断前的准备工作。为了保证诊断流程的安全性,诊断代理模块130接收到远程诊断指令之后,会启动与诊断平台110之间建立通信链接2的流程。在通信链接建立之后,诊断平台110通过该通信链接2向诊断代理模块130发送诊断信息,以使诊断代理模块130对待诊设备进行诊断,从而定位和/或分析故障。需要说明的是,上述建立通信链接的过程,可以理解为:需要通信的双方节点协商通信所需通信密钥的过程,安全密钥协商完毕代表通信链接建立完成,需要通信的双方节点后续通过二者协商的通信密钥对通信内容进行加密和/或解密。
当前技术背景下,诊断代理模块130和诊断平台110之间一般基于证书(certificate)建立通信链接(以下简称建链),在建链过程中,诊断代理模块130和诊断平台110之间需要完成多次证书验证才能完成建链。然而,实际实现过程中,上述多次证书验证耗费时间较长,可能导致诊断代理模块130和诊断平台110之间的通信链接建立超时,进而影响故障诊断进程。
本申请中,诊断代理模块130和诊断平台110可以基于与通信链接1所使用的通信密钥相关联的安全密钥进行建链,因此,在建链过程中无需多级证书验证,能够节省建链所需时长,降低建链超时的几率,以保障故障诊断业务的可用性和稳定性。
本申请实施例中,通信模块120可以包括通信盒子(telematics box,T-box)等支持无线通信的装置。诊断代理模块130可以包括车辆域控制器(vehicle domain controller,VDC)、自动驾驶域控制器(advanced driving domain controller,ADC)、座舱域控制器(cockpit domain controller,CDC)的任一个中。再例如,诊断代理模块130还可以包括车载应用服务(in-car application-server,ICAS)控制器,车身控制器(body domain controller,BDC),特殊装备系统(special equipment system,SAS),媒体图形单元(media graphics unit,MGU),车身超级核心(body super core,BSC),高级驾驶辅助系统超级核心(advanced driving assistant system super core,ADAS super core)的任一个中,本申请对此不做限定。其中,ICAS可以包括如下至少一项:车辆控制服务器ICAS1、智能驾驶服务器ICAS2、智能座舱服务器ICAS3、信息娱乐服务器ICAS4。在一些实现方式中,诊断代理模块130也可以为T-box。
示例性地,上述待诊设备可以包括但不限于:ECU、域控制器(domain control unit,DCU)。
以上结合图1介绍了本申请实施例提供的系统,以下结合图2至图4详细介绍本申请实施例提供的方法。
图2示出了本申请实施例提供的建立通信链接的方法的一种示意性流程图,该方法可以由第一节点、第二节点和第三节点执行。其中,第二节点和第三节点之间已建立通信链接,且第二节点和第三节点基于第一通信密钥对二者之间的通信内容进行加密和/或解密。第二节点和第一节点互为可信任设备,上述“可信任设备”可以理解为:第一节点和第二节点之间已建立通信链接,或者第一节点和第二节点之间相互通过安全认证。在该方法200由图1所示系统执行时,第一节点可以包括诊断代理模块130,第二节点可以包括通信模块120,第三节点可以包括诊断平台110。该方法200包括S210至S280中的部分或全部步骤。
S210,第二节点获取第一通信密钥,第一通信密钥用于对第二节点和第三节点之间的通信内容加密和/或解密。
S220,第二节点根据第一通信密钥生成第一安全密钥。
在一些实现方式中,第二节点接收到来自第三节点的第一指示信息之时或之后,执行S220。其中,第一指示信息用于指示第二节点触发或通知第一节点建立与第三节点之间的通信链接的流程。
S230,第二节点向第一节点发送第一安全密钥。
S240,第一节点向第三节点发送第一密钥交换信息,该第一密钥交换信息指示第一安全密钥。
在一些实现方式中,第一节点接收到来自第二节点的第二指示信息之时或之后,执行S240。其中,第二指示信息用于指示第一节点启动建立与第三节点之间的通信链接的流程。
示例性地,第一密钥交换信息包括第一安全密钥的标识。
S250,第一节点根据第一安全密钥生成第二通信密钥。
在一些实现方式中,S240和S250可以同步执行,或者,S250也可以在S240之前执行。
S260,第三节点根据第一安全密钥生成第二通信密钥。
在一些实现方式中,执行S250和S260之前,该方法还包括:S1,第三节点根据共享参数和第一随机数生成第一临时公钥。S2,第一节点接收来自第三节点的第二密钥交换信息,第二密钥交换信息携带第一临时公钥,以及生成第一临时公钥的共享参数。S3,第一节点根据所述共享参数和第二随机数生成第二临时公钥。S4,根据所述第一临时公钥和第二随机数生成第二安全密钥。进一步地,S250可以细化为:根据第一安全密钥和第二安全密钥生成第二通信密钥。
在一些实现方式中,该方法还包括:S5,第三节点接收来自第一节点的第三密钥交换信息,第三密钥交换信息携带第二临时公钥。S6,第三节点根据第二临时公钥和第一随机数生成第二安全密钥。进一步地,S260可以进一步细化为:根据第一安全密钥和第二安全密钥生成第二通信密钥。
可选地,该方法还包括:S270,第三节点向第一节点发送通过第二通信密钥机密的信息;以及S280,第一节点根据第二通信密钥对信息进行解密。
本申请实施例提供的建立通信链接的方法,通过复用已有通信链接的通信密钥,可以省去基于证书的建链模式中要求的证书的传递、多级证书的校验、临时密钥对的生成、临时公钥的签名和校验这些耗时较多的操作,能够节省建链耗时,从而降低建链超时的几率,有助于提高建链性能。
以下结合图3和图4,以第一节点为车辆的诊断代理节点、第二节点为车辆的通信节点、第三节点为诊断平台为例,对方法200涉及的建立通信链接的流程进行展开说明。
图3示出了本申请实施例提供的建立通信链接的方法的又一种示意性流程图。在该方法300由图1所示系统执行时,车辆可以包括图1所示的车辆140,通信节点可以包括通信模块120,诊断代理节点可以包括诊断代理模块130,诊断平台包括诊断平台110,该方法300包括S301至S310。
S301,诊断平台向通信节点发送诊断启动指令,诊断启动指令基于通信密钥1进行加密。
示例性地,诊断启动指令用于请求启动远程诊断。诊断启动指令可以为通过诊断平台和通信节点之间的通信链接传输的,通信密钥1为用于加密上述通信链接中传输信息的密钥。
S302,通信节点根据通信密钥1生成安全密钥1。
示例性地,通信密钥1和安全密钥1可以均为共享密钥(shared key,SK)。其中,安全密钥1可以为通信节点根据随机数1和通信密钥1生成的。
其中,通信密钥1可以视为第一通信密钥的一种示例,安全密钥1可以视为第一安全密钥的一种示例,远诊启动指令可以视为第一指示信息的一种示例。
S303,通信节点向诊断代理节点发送诊断请求信息,该诊断请求信息携带安全密钥1。
示例性地,该诊断请求信息用于指示诊断代理节点执行远程诊断相关的准备工作,例如,建立用于诊断的通信链接。该诊断请求信息可以视为上述第二指示信息的一种示例。
在一些实现方式中,诊断请求信息和安全密钥1也可以是分开发送的。
S304,诊断代理节点存储安全密钥1。
可选地,该方法还包括:S303’,通信节点向诊断平台发送安全密钥1的信息。S303和S303’可以同步执行,或者也可先后执行。
或者,诊断平台也可以根据通信密钥1自行生成安全密钥1。可以理解的是,诊断平台处可以存储多个车辆的安全密钥。
S305,诊断代理节点向诊断平台发送建链请求,该建链请求携带诊断代理节点支持的至少一个加密组件。
示例性地,至少一个加密组件中每个加密组件指示一种生成密钥的算法,至少一个加密组件可以为轻量级密钥技术的加密组件,例如,基于PSK加密组件,或者其他用于生成轻量级密钥的加密组件。示例性地,至少一个加密组件包括但不限于TLS_PSK_WITH_RC4_128_SHA,TLS_PSK_WITH_AES_128_CBC_SHA,TLS_PSK_WITH_AES_256_CBC_SHA,TLS_PSK_WITH_3DES_EDE_CBC_SHA。
示例性地,诊断代理节点根据远诊调用请求向诊断平台发送建链请求,即,在接收到远诊调用请求之时或之后再发送建链请求。
S306,诊断平台向诊断代理节点发送建链响应,该建链响应携带诊断平台选定的加密组件1的信息。
示例性地,诊断平台从至少一个加密组件中选择自己支持的加密组件1,并通过建链响应将加密组件1的信息发送至诊断代理节点。
在一些实现方式中,诊断平台可能支持至少一个加密组件中的多个加密组件,则诊断平台从多个加密组件中选择加密组件1。
S307,诊断代理节点向诊断平台发送密钥交换信息,该密钥交换信息携带安全密钥1的标识。
在一些实现方式中,诊断平台支持至少一个加密组件中的多个加密组件,且S306中诊断平台从将多个加密组件的信息均通过建链响应发送至诊断代理节点,则诊断代理节点还可以在密钥交换信息中携带后续使用的加密组件(如加密组件1)的信息。
其中,该密钥交换信息可以视为第一密钥交换信息的一种示例。
S308,诊断平台根据密钥交换信息确定安全密钥1,根据安全密钥1生成通信密钥2。
示例性地,诊断平台根据安全密钥1的标识,从自身存储的与多个车辆关联的安全密钥中提取安全密钥1。进而,通过加密组件1和安全密钥1生成通信密钥2。例如,加密组件1指示的算法为P^(),安全密钥1为k1,则通信密钥2可以为P^(k1)。可以理解的是,P^()可以为TLS_PSK_WITH_RC4_128_SHA,TLS_PSK_WITH_AES_128_CBC_SHA,TLS_PSK_WITH_AES_256_CBC_SHA,TLS_PSK_WITH_3DES_EDE_CBC_SHA中的任一算法,或者也可以为其他算法。
S309,诊断代理节点根据安全密钥1生成通信密钥2。
示例性地,S307和S309可以同步执行,或者S309也可以在S307之前执行。
诊断代理节点生成通信密钥2的具体实现方法可以参考S308中的描述,在此不再赘述。
S310,诊断平台和诊断代理节点之间基于通信密钥2执行远程诊断。
示例性地,诊断平台通过通信密钥2对诊断指令进行加密,并发送至诊断代理节点;诊断代理节点根据通信密钥2解密诊断指令,并根据解密后诊断指令对待诊设备进行诊断得到诊断结果。进一步地,诊断代理节点通过通信密钥2对诊断结果加密,并发送至诊断平台;诊断平台根据通信密钥2读取诊断结果。
本申请实施例提供的建立通信链接的方法,对于远程诊断这种场景,在不影响安全性的前提下,可以有效降低建链时延,降低对诊断平台的资源消耗,有助于提升远程诊断业务的可靠性。
图4示出了本申请实施例提供的建立通信链接的方法的再一种示意性流程图。在该方法400由图1所示系统执行时,车辆可以包括图1所示的车辆140,通信节点可以包括通信模块120,诊断代理节点可以包括诊断代理模块130,该方法400包括S401至S413。
其中,S401至S404的具体实现方法可以参考S301至S304中的描述,在此不再赘述。以下详细介绍S405至S413的具体实现方法。
S405,诊断代理节点向诊断平台发送建链请求,该建链请求携带诊断代理节点支持的至少一个加密组件。
示例性地,至少一个加密组件中每个加密组件指示一种生成密钥的算法,至少一个加密组件可以为基于PSK算法和临时密钥算法的加密组件,例如,以临时密钥算法为DHE算法为例,至少一个加密组件可以包括但不限于TLS_DHE_PSK_WITH_RC4_128_SHA,TLS_DHE_PSK_WITH_AES_128_CBC_SHA,TLS_DHE_PSK_WITH_AES_256_CBC_SHA,TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA。
S406,诊断平台向诊断代理节点发送建链响应,该建链响应携带诊断平台选定的加密组件2。
S407,诊断平台向诊断代理节点发送密钥交换信息1,该密钥交换信息1携带诊断平台生成的临时公钥1,以及用于生成临时公钥1的参数。
示例性地,诊断平台确定加密组件2,根据加密组件2生成临时公钥1。例如,临时公钥1可以为A(a,g,p),其中,a为诊断平台生成的随机数,g,p分别为诊断代理节点和诊断平台共享的素数和原根,g,p可以视为用于生成临时公钥的参数的一些示例。
进一步地,诊断平台将g,p,以及A(a,g,p)携带在密钥交换信息1中发送给诊断代理节点。
其中,密钥交换信息1可以视为上述第二密钥交换信息的一种示例,临时公钥1可以是视为第一临时公钥的一种示例,参数p,g可以视为共享参数的一种示例。
在一些实现方式中,S406和S407可以同步执行。
S408,诊断代理节点向诊断平台发送密钥交换信息2,该密钥交换信息2携带安全密钥1的标识以及诊断代理节点生成的临时公钥1。
在一些实现方式中,诊断代理节点接收密钥交换信息1,根据加密组件2和用于生成临时公钥1的参数生成临时公钥2。例如,临时公钥2可以为A(b,g,p),其中,b为诊断代理节点生成的随机数。
其中,密钥交换信息2可以视为上述第一密钥交换信息的一种示例,临时公钥2可以是视为第二临时公钥的一种示例。
S409,诊断平台根据临时公钥2生成安全密钥2。
示例性地,诊断平台根据临时公钥2以及用于生成临时公钥1的随机数,生成安全密钥2,例如安全密钥2可以为A(a,b,g,p)。
S410,诊断平台根据安全密钥1和安全密钥2生成通信密钥3。
示例性地,诊断平台根据安全密钥1的标识,从自身存储的与多个智能设备关联的安全密钥中提取安全密钥1。进而,使用加密组件2基于安全密钥1和安全密钥2生成通信密钥3。例如,加密组件2指示的算法为P_D^(),安全密钥1为k1,则通信密钥3可以为P_D^(k1,A(a,b,g,p))。可以理解的是,P_D^()可以为TLS_DHE_PSK_WITH_RC4_128_SHA,TLS_DHE_PSK_WITH_AES_128_CBC_SHA,TLS_DHE_PSK_WITH_AES_256_CBC_SHA,TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA中的任一算法,或者也可以为其他算法。
S411,诊断代理节点根据临时公钥1生成安全密钥2。
示例性地,诊断代理节点根据临时公钥1以及用于生成临时公钥2的随机数,生成安全密钥2。
S412,诊断代理节点根据安全密钥1和安全密钥2生成通信密钥3。
诊断代理节点生成通信密钥3的具体实现方法可以参考S410中的描述,在此不再赘述。
S413,诊断平台和诊断代理节点之间基于通信密钥3执行远程诊断。
方法400中未详尽描述的内容,可以参考方法300中的描述,在此不再赘述。
本申请实施例提供的建立通信链接的方法,基于已有通信密钥和临时密钥生成用于诊断的通信密钥,有助于进一步提升用于诊断的通信密钥的前向安全性,从而提高远程诊断业务的可靠性。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,各个实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
上文中结合图1至图4详细说明了本申请实施例提供的建立通信链接的方法。下面将结合图5和图6详细说明本申请实施例提供的装置。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
图5示出了本申请实施例提供的通信装置2000的示意性框图,该装置2000可以包括用于执行图2、图3、图4中的方法的单元。并且,该装置2000中的各单元为了实现上述方法实施例的相应流程。
该装置2000包括收发单元2010,收发单元2010可以用于实现相应的数据获取或收发功能。该装置2000还包括处理单元2020,处理单元2020可以用于实现相应的处理功能。
可选地,该装置2000还包括存储单元,该存储单元可以用于存储指令和/或数据,处理单元2020可以读取存储单元中的指令和/或数据,以使得装置实现前述各个方法实施例中的相关动作。
一示例中,在该装置2000应用于上述实施例中的第一节点时,收发单元2010用于:接收来自第二节点的第一安全密钥,第一安全密钥为基于第一通信密钥生成,第一通信密钥用于对第二节点与第三节点之间的通信内容加密和/或解密;处理单元2020用于:根据第一安全密钥生成第二通信密钥,第二通信密钥用于对第一节点与第三节点之间传输的信息进行加密和/或解密。
又一示例中,在该装置2000应用于上述实施例中的第二节点时,该收发单元2010用于:获取第一通信密钥,第一通信密钥用于对第二节点与第三节点之间的通信内容加密;处理单元2020用于:根据第一通信密钥生成第一安全密钥;收发单元2010还用于:向第一节点发送第一安全密钥,第一安全密钥用于生成第二通信密钥,第二通信密钥用于对第一节点与第三节点之间传输的信息进行加密和/或解密。
再一示例中,在该装置2000应用于上述实施例中的第三节点时,收发单元2010用于:接收来自第一节点的第一密钥交换信息,第一密钥交换信息指示第一安全密钥,第一安全密钥为基于第一通信密钥生成,第一通信密钥用于对第二节点与第三节点之间的通信内容加密。处理单元2020用于:根据第一密钥交换信息从至少一个安全密钥中确定第一安全密钥,至少一个安全密钥中每个安全密钥与一个通信节点相关联;根据第一安全密钥生成第二通信密钥,第二通信密钥用于对与第一节点和第三节点之间传输的与诊断相关联的信息进行加密和/或解密。
应理解,各单元执行上述相应步骤的具体过程在上述方法实施例中已经详细说明,为了简洁,在此不再赘述。
还应理解,这里的装置2000以功能单元的形式体现。这里的术语“模块”或“单元”可以指应用特有ASIC、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
上述各个方案的装置2000具有实现上述方法中相应步骤的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块;例如收发单元可以由收发机替代,其它单元,如处理单元等可以由处理器替代,用于执行各个方法实施例中相关的处理操作。
本申请中的处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如中央处理单元(central processing unit,CPU)、微处理器、图形处理器(graphics processing unit,GPU)(可以理解为一种微处理器)、或数字信号处理器(digital signal processor,DSP)等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为专用集成电路(application-specific integrated circuit,ASIC)或可编程逻辑器件(programmable logic device,PLD)实现的硬件电路,例如现场可编程门阵列(field programmable gate array,FPGA)。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,处理器还可以是针对人工智能设计的硬件电路,其可以理解为一种ASIC,例如神经网络处理单元(neural network processing unit,NPU)、张量处理单元(tensor processing unit,TPU)、深度学习处理单元(deep learning processing unit,DPU)等。
在具体实现过程中,以上装置中的各单元可以全部或部分集成在一起,或者也可以独立实现。在一种实现中,这些单元集成在一起,以片上系统(system-on-a-chip,SoC)的形式实现。
图6是本申请实施例提供的通信装置又一示意性框图。图6所示的通信装置2100可以包括:处理器2110、收发器2120以及存储器2130。其中,处理器2110、收发器2120以及存储器2130通过内部连接通路相连,该存储器2130用于存储指令,该处理器2110用于执行该存储器2130存储的指令,以实现上述各实施例中的方法。可选地,存储器2130既可以和处理器2110通过接口耦合,也可以和处理器2110集成在一起。
需要说明的是,上述收发器2120可以包括但不限于输入/输出接口(input/output interface)一类的收发装置,来实现装置2100与其他设备或通信网络之间的通信。
存储器2130可以是易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM)。例如,RAM可以用作外部高速缓存。作为示例而非限定,RAM包括如下多种形式:静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
收发器2120使用例如但不限于收发器一类的收发装置,来实现装置2100与其他设备或通信网络之间的通信,以接收/发送用于实现上述各实施例中的方法的数据/信息。
本申请实施例还提供一种智能设备,该智能设备包括上述实施例中的第一节点和第二节点;或者,包括上述实施例中的诊断代理节点和通信节点。
本申请所述的智能设备,可以包括陆上交通工具、水上交通工具、空中交通工具、工业设备、农业设备、或娱乐设备等。例如智能设备可以为车辆,该车辆为广义概念上的车辆,可以是交通工具(如商用车、乘用车、摩托车、飞行车、火车等),工业车辆(如:叉车、挂车、牵引车等),工程车辆(如挖掘机、推土车、吊车等),农用设备(如割草机、收割机等),游乐设备,玩具车辆等,本申请实施例对车辆的类型不作具体限定。再如,智能设备可以为智能机器人、智能家居设备、无人机、飞机、或轮船等。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机实现本申请上述各实施例中的方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机实现本申请上述各实施例中的方法。
本申请实施例还提供一种芯片,包括电路,用于执行本申请上述各实施例中的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本申请实施例中采用诸如“第一”、“第二”的前缀词,仅仅为了区分不同的描述对象,对被描述对象的位置、顺序、优先级、数量或内容等没有限定作用。本申请实施例中对序数词等用于区分描述对象的前缀词的使用不对所描述对象构成限制,对所描述对象的陈述参见权利要求或实施例中上下文的描述,不应因为使用这种前缀词而构成多余的限制。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,各个实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (20)
- 一种建立通信链接的方法,其特征在于,应用于第一节点,所述方法包括:接收来自第二节点的第一安全密钥,所述第一安全密钥为基于第一通信密钥生成,所述第一通信密钥用于对所述第二节点与第三节点之间的通信内容加密和/或解密;其中,所述第二节点为通过所述第一节点的安全认证的节点;根据所述第一安全密钥生成第二通信密钥,所述第二通信密钥用于对所述第一节点与所述第三节点之间传输的信息进行加密和/或解密。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:接收来自所述第三节点的第二密钥交换信息,所述第二密钥交换信息携带第一临时公钥,以及生成所述第一临时公钥的共享参数,所述第一临时公钥为根据所述共享参数和第一随机数生成;根据所述共享参数和第二随机数生成第二临时公钥;向所述第三节点发送第三密钥交换信息,所述第三密钥交换信息携带所述第二临时公钥,所述第二临时公钥用于所述第三节点生成所述第二通信密钥;根据所述第一临时公钥和所述第二随机数生成第二安全密钥;所述根据所述第一安全密钥生成第二通信密钥,包括:根据所述第一安全密钥和所述第二安全密钥生成所述第二通信密钥。
- 根据权利要求1或2所述的方法,其特征在于,所述第一节点为智能设备的诊断代理节点,所述第三节点为诊断平台,所述第二通信密钥用于对所述诊断代理节点和所述诊断平台之间传输的与诊断相关联的信息进行加密和/或解密。
- 根据权利要求3所述的方法,其特征在于,所述第二节点为所述智能设备的通信节点,所述根据所述第一安全密钥生成第二通信密钥,包括:在接收到来自所述通信节点的诊断请求信息时,根据所述第一安全密钥生成第二通信密钥;其中,所述诊断请求信息指示所述诊断代理节点执行诊断的准备工作。
- 根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:向所述第三节点发送第一密钥交换信息,所述第一密钥交换信息指示第一安全密钥。
- 根据权利要求1至5中任一项所述的方法,其特征在于,所述第一安全密钥为预共享密钥PSK。
- 一种建立通信链接的方法,其特征在于,应用于第三节点,所述方法包括:接收来自第一节点的第一密钥交换信息,所述第一密钥交换信息指示第一安全密钥,所述第一安全密钥为基于第一通信密钥生成,所述第一通信密钥用于对第二节点与所述第三节点之间的通信内容加密;根据所述第一密钥交换信息从至少一个安全密钥中确定所述第一安全密钥,所述至少一个安全密钥中每个安全密钥与一个通信节点相关联;根据所述第一安全密钥生成第二通信密钥,所述第二通信密钥用于对与所述第一节点和所述第三节点之间传输的与诊断相关联的信息进行加密和/或解密。
- 根据权利要求7所述的方法,其特征在于,所述方法还包括:根据共享参数和第一随时数生成第一临时公钥;向所述第一节点发送第二密钥交换信息,所述第二密钥交换信息携带所述第一临时公钥以及所述共享参数;接收来自所述第一节点的第三密钥交换信息,所述第三密钥交换信息携带第二临时公钥,所述第二临时公钥为根据所述共享参数和第二随机数生成;根据所述第二临时公钥和所述第一随机数生成第二安全密钥;所述根据所述第一安全密钥生成第二通信密钥,包括:根据所述第一安全密钥和所述第二安全密钥生成所述第二通信密钥。
- 根据权利要求7或8所述的方法,其特征在于,所述第一节点为智能设备的诊断代理节点,所述第三节点为诊断平台,所述第二通信密钥用于对所述诊断代理节点和所述诊断平台之间传输的用于诊断的相关信息进行加密和/或解密。
- 根据权利要求7至9中任一项所述的方法,其特征在于,所述第一安全密钥为预共享密钥PSK。
- 一种建立通信链接的方法,其特征在于,应用于第二节点,所述方法包括:获取第一通信密钥,所述第一通信密钥用于对所述第二节点与第三节点之间的通信内容加密;根据所述第一通信密钥生成第一安全密钥;向第一节点发送所述第一安全密钥,所述第一安全密钥用于生成第二通信密钥,所述第二通信密钥用于对所述第一节点与所述第三节点之间传输的信息进行加密和/或解密。
- 根据权利要求11所述的方法,其特征在于,所述第二节点为智能设备的通信节点,所述第三节点为诊断平台,所述根据所述第一通信密钥生成第一安全密钥,包括:在接收来自所述诊断平台的诊断启动指令时,根据所述第一通信密钥生成第一安全密钥;其中,所述诊断启动指令指示所述智能设备启动诊断流程。
- 根据权利要求11或12所述的方法,其特征在于,所述第一安全密钥为预共享密钥PSK。
- 一种通信装置,其特征在于,包括用于执行如权利要求1至6中任一项所述的方法,或者用于执行如权利要求7至10中任一项所述的方法,或者用于执行如权利要求11至13中任一项所述的方法的模块或单元。
- 一种通信装置,其特征在于,包括至少一个处理器,所述至少一个处理器与至少一个存储器耦合,所述至少一个处理器用于执行所述至少一个存储器中存储的计算机程序或指令,以使所述通信装置执行如权利要求1至6中任一项所述方法,或者执行如权利要求7至10中任一项所述的方法,或者执行如权利要求11至13中任一项所述的方法。
- 一种通信系统,其特征在于,包括第一节点、第二节点和第三节点;其中,所述第一节点用于执行如权利要求1至6中任一项所述的方法;所述第三节点用于执行如权利要求7至10中任一项所述的方法;所述第二节点用于执行如权利要求11至13中任一项所述的方法。
- 一种智能设备,其特征在于,包括第一节点和第二节点;其中,所述第一节点用于执行如权利要求1至6中任一项所述的方法;所述第二节点用于执行如权利要求11至13中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,其上存储有指令,所述指令被处理器执行时,以使得处理器实现如权利要求1至6中任一项所述的方法,或者,如权利要求7至10中任一项所述的方法;或者,如权利要求11至13中任一项所述的方法。
- 一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被运行时,实现如权利要求1至6中任一项所述的方法,或者,如权利要求7至10中任一项所述的方法;或者,如权利要求11至13中任一项所述的方法。
- 一种芯片,其特征在于,所述芯片包括电路,所述电路用于执行如权利要求1至6中任一项所述的方法,或者,如权利要求7至10中任一项所述的方法;或者,如权利要求11至13中任一项所述的方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410251548.7 | 2024-03-05 | ||
| CN202410251548.7A CN120640255A (zh) | 2024-03-05 | 2024-03-05 | 建立通信链接的方法、通信装置和系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2025185604A1 true WO2025185604A1 (zh) | 2025-09-12 |
| WO2025185604A8 WO2025185604A8 (zh) | 2025-10-02 |
Family
ID=96957351
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2025/080434 Pending WO2025185604A1 (zh) | 2024-03-05 | 2025-03-04 | 建立通信链接的方法、通信装置和系统 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN120640255A (zh) |
| WO (1) | WO2025185604A1 (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019069129A1 (en) * | 2017-10-04 | 2019-04-11 | Keyfree Technologies Inc. | METHODS AND DEVICES FOR MANAGING ACCESS TO A VEHICLE |
| CN110637451A (zh) * | 2017-03-17 | 2019-12-31 | 瑞典爱立信有限公司 | 用在通信网络中的网络节点、通信设备和操作其的方法 |
| CN112311746A (zh) * | 2019-07-31 | 2021-02-02 | 华为技术有限公司 | 一种数据共享方法及相关设备 |
| CN112585549A (zh) * | 2020-02-29 | 2021-03-30 | 华为技术有限公司 | 一种故障诊断方法、装置及车辆 |
-
2024
- 2024-03-05 CN CN202410251548.7A patent/CN120640255A/zh active Pending
-
2025
- 2025-03-04 WO PCT/CN2025/080434 patent/WO2025185604A1/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110637451A (zh) * | 2017-03-17 | 2019-12-31 | 瑞典爱立信有限公司 | 用在通信网络中的网络节点、通信设备和操作其的方法 |
| WO2019069129A1 (en) * | 2017-10-04 | 2019-04-11 | Keyfree Technologies Inc. | METHODS AND DEVICES FOR MANAGING ACCESS TO A VEHICLE |
| CN112311746A (zh) * | 2019-07-31 | 2021-02-02 | 华为技术有限公司 | 一种数据共享方法及相关设备 |
| CN112585549A (zh) * | 2020-02-29 | 2021-03-30 | 华为技术有限公司 | 一种故障诊断方法、装置及车辆 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN120640255A (zh) | 2025-09-12 |
| WO2025185604A8 (zh) | 2025-10-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7626911B2 (ja) | 車両のアップグレードパッケージを処理するための方法および装置 | |
| CN112055952B (zh) | 一种车载设备升级方法及相关设备 | |
| CN113439425B (zh) | 报文传输方法及装置 | |
| JP7529321B2 (ja) | 車両アップグレード方法および装置 | |
| US20210328810A1 (en) | Methods and apparatuses for processing transactions based on blockchain integrated station | |
| US20210326863A1 (en) | Methods and apparatuses for identifying replay transaction based on blockchain integrated station | |
| US11419014B2 (en) | Device for wireless communication handover | |
| WO2020211016A1 (zh) | 一种设备升级方法及相关设备 | |
| WO2019187204A1 (ja) | 制御装置、車両内通信システム、通信制御方法及びプログラム | |
| WO2021168614A1 (zh) | 数据加密处理方法、数据解密处理方法、装置及电子设备 | |
| CN115509917A (zh) | 一种验证加解密算法的方法、系统、设备和存储介质 | |
| WO2025185604A1 (zh) | 建立通信链接的方法、通信装置和系统 | |
| US20230327869A1 (en) | Authentication method and apparatus | |
| CN117997603A (zh) | 数据传输方法、车机系统、服务器、电子设备、介质 | |
| US20260030339A1 (en) | Communication method, apparatus, and system, and mobile carrier | |
| JP7764615B2 (ja) | オーバ・ジ・エアota技術に基づくアップグレード方法、及び通信装置 | |
| US20250193164A1 (en) | Communication Method, Apparatus, and System | |
| EP4707977A1 (en) | Diagnosis method, diagnosis apparatus, and intelligent device | |
| CN116437323A (zh) | 一种密钥获取方法及相关装置 | |
| CN116405317B (zh) | 密钥处理方法、装置、设备及存储介质 | |
| EP4664955A1 (en) | Security processing method and device for relay communication | |
| EP4629560A1 (en) | Communication method, node, communication system, and mobile carrier | |
| Lang et al. | Security Evolution in Vehicular Systems | |
| US20230370278A1 (en) | Vehicle network hashing | |
| Bouget et al. | Establishing End-to-End Secure Channel for IoT Devices through an Untrusted C-ITS Network. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25767342 Country of ref document: EP Kind code of ref document: A1 |