Electronic control unit, device for performing control operations on an electronic control unit, and corresponding method and computer program

By using Diffie-Hellman key exchange to generate a shared cipher between the electronic control unit and the OEM entity, the security problem of the electronic control unit's debugging interface is solved. This enables controllable access even in non-functional states, reduces the risk of key intrusion, and improves the system's security and flexibility.

CN115087976BActive Publication Date: 2025-12-12BAYERISCHE MOTOREN WERKE AG
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080096516.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-02-17
Filing Date
2020-10-22
Publication Date
2025-12-12
Estimated Expiration
2040-10-22

AI Technical Summary

Technical Problem

In the existing technology, the debugging interface of the electronic control unit is easily exploited by attackers to read out security assets or overwrite critical data, and there are security risks in the storage and management of keys. Suppliers may illegally access or leak keys, resulting in insufficient security.

Method used

The Diffie-Hellman key exchange mechanism is adopted, which shares secrets between the electronic control unit and the OEM entity. The shared password is generated by using the private key of the electronic control unit and the public key of the OEM, avoiding the storage of keys at the OEM. Keys are exchanged only when needed, ensuring that the keys are not exposed.

Benefits of technology

This enables access control even when the electronic control unit is not functioning, reducing the risk of key intrusion, avoiding key storage security issues, ensuring that suppliers cannot store keys, and improving the system's security and flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115087976B_ABST
    Figure CN115087976B_ABST
Patent Text Reader

Abstract

Examples relate to an electronic control unit, a method for an electronic control unit and a computer program and to a device, a method and a computer program for performing a control operation on an electronic control unit. The electronic control unit comprises a processing circuitry configured to determine first cryptographic information based on a private key of the electronic control unit and based on a public key of a second entity. The processing circuitry is configured to obtain second cryptographic information via an interface. The processing circuitry is configured to compare the first cryptographic information and the second cryptographic information. The processing circuitry is configured to unlock control access to the electronic control unit if the second cryptographic information is based on a private key of the second entity and based on a public key of the electronic control unit.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Examples relate to an electronic control unit, a method for an electronic control unit and a computer program for an electronic control unit, and to an apparatus for performing a control operation on an electronic control unit, a method for performing a control operation on an electronic control unit and a computer program for performing a control operation on an electronic control unit. BACKGROUND

[0002] Hardware debug interfaces, such as the debug interface defined by JTAG (Joint Test Action Group), are powerful tools for debugging embedded systems due to the wide read and write permissions. However, such interfaces can mean a target for attackers to perform physical access to read out security assets (e.g. keys) or to overwrite critical data (e.g. tuning values, such as maximum allowed speed). To protect these interfaces, chip manufacturers introduce debug lock mechanisms that can only be unlocked by providing the correct password. These keys are usually generated when the embedded system is programmed. In the next step, the generated keys are usually stored by the vendor in its own database or the database is sent to the OEM (Original Equipment Manufacturer). For this reason, the vendor of the OEM has access to the keys, which can be disadvantageous for several reasons. This time, it can not be transparent who has access to the keys and it can also not be clear how the keys are protected against internal and external adversaries. For example, an employee of the vendor can decide to sell the keys or the keys can be stored in an insecure server environment that can be easily penetrated. In addition, the passwords can need to be stored for the next decades. For example, if the vendor has a financial crisis, it can be necessary to shut down the server that stores the corresponding keys. Also, storing these keys requires dedicated memory and mandatory security mechanisms for protecting this storage, which is usually implemented by some kind of back-end system. SUMMARY

[0003] There can be a desire to overcome the above limitations.

[0004] This desire is solved by the technical solution according to the present invention.

[0005] Embodiments of the present disclosure are based on the finding that it can be desirable that a password for accessing the debug functionality of an electronic control unit does not actually leave the electronic control unit, but can be recreated by the OEM. To this end, a shared secret can be generated by two entities, namely by the electronic control unit and by an entity of the OEM. To this end, the known Diffie-Hellman key exchange can be modified to provide a temporarily decoupled key exchange between the entities. The electronic control unit is arranged for determining a shared secret between the entities using a private key of the electronic control unit and using a public key of the OEM. The OEM can do so using the public key of the electronic control unit (which can be provided by the electronic control unit or printed on the electronic control unit) and based on a private key of the OEM. Thus, the private key of the electronic control unit (which would allow a vendor to reconstruct the shared secret) can be contained in the electronic control unit itself, unknown to the vendor, thereby reducing the risk of key compromise of the electronic control unit. In addition, because the shared secret is identical between the two entities, a simple comparison of the shared secret can be sufficient, thereby alleviating the need to have a processor active to perform the comparison. Instead, this functionality can be moved into the debug port of the electronic control unit, thereby enabling the concept even if the main controller of the electronic control unit is not active due to an internal error state. Thus, a lightweight mechanism is provided which enables the OEM to ensure that the vendor cannot store the key and avoids the necessity of a comprehensive backend key storage, while being in control even in a non-functional state of the electronic control unit.

[0006] Embodiments of the present disclosure thus provide an electronic control unit for a vehicle. The electronic control unit comprises a processing circuitry arranged for determining first cryptographic information based on a private key of the electronic control unit and based on a public key of a second entity. The processing circuitry is arranged for obtaining second cryptographic information via an interface. The processing circuitry is arranged for comparing the first cryptographic information and the second cryptographic information. The processing circuitry is arranged for unlocking control access to the electronic control unit if the second cryptographic information is based on a private key of the second entity and based on a public key of the electronic control unit. Because the private key of the electronic control unit is not required by the second entity to determine the second cryptographic information, the private key of the electronic control unit can be contained within the electronic control unit and even discarded after the first cryptographic information is generated. Moreover, the private key can be generated during initialization of the electronic control unit at the OEM, thereby further protecting the private key from being accessed by malicious actors.

[0007] For example, the processing circuitry can be configured to store the first cryptographic information using a memory circuit of the electronic control unit. The processing circuitry can be configured to discard the private key of the electronic control unit after determining the first cryptographic information. Thus, the private key of the electronic control unit can not be disclosed to anyone.

[0008] For example, the processing circuitry can be configured to determine the first cryptographic information during a factory setting process of the electronic control unit, e.g. during initialization of the electronic control unit at an OEM. Thus, the first cryptographic information can be generated on the device and never be exposed.

[0009] In various embodiments, the processing circuitry can be configured to generate the private key of the electronic control unit. Thus, the private key of the electronic control unit can be contained within the electronic control unit and not be exposed.

[0010] Further, the processing circuitry can be configured to generate a public key of the electronic control unit based on the private key of the electronic control unit. The processing circuitry can be configured to provide the public key of the electronic control unit via the interface. If the public key is generated on the device, the private key can be contained within the electronic control unit. For example, the public key can be provided via the interface during a factory setting process of the electronic control unit, e.g. during initialization of the electronic control unit at an OEM.

[0011] In some embodiments, the public key is displayed on the electronic control unit in a machine readable form. Thus, the public key does not need to be saved in a database, but can be read by a debugging device using an optical scanner.

[0012] In various embodiments, the processing circuitry can be configured to obtain second cryptographic information from an external device via the interface and, after unlocking the control access, provide debugging functionality for the electronic control unit to the external device via the interface. In other words, the second cryptographic information can be used to unlock debugging access to the electronic control unit.

[0013] Embodiments of the present disclosure further provide an apparatus for performing a control operation on an electronic control unit of a vehicle. The apparatus comprises processing circuitry configured to provide cryptographic information to the electronic control unit via an interface. The cryptographic information is based on a public key of the electronic control unit and on a private key of a second entity. The processing circuitry is configured to obtain control access to the electronic control unit via the interface. The control access to the electronic control unit is unlocked by the electronic control unit based on the provided cryptographic information. The apparatus can be a counterpart of the electronic control unit obtaining control access to the electronic control unit based on the cryptographic key exchange scheme described above.

[0014] For example, the processing circuitry can be configured to determine the cryptographic information based on the public key of the electronic control unit and on the private key of the second entity. Thus, the cryptographic information can be determined on-site after obtaining the public key of the electronic control unit. Alternatively, the processing circuitry can be supplied with the cryptographic information by a back-end entity. In this case, the apparatus does not need to know the private key of the second entity.

[0015] In various embodiments, the processing circuitry is configured to communicate with the electronic control unit via the interface using a wired or wireless data communication connection. The processing circuitry can be configured to receive the public key of the electronic control unit via the data communication connection. Thus, the public key can be received from the electronic control unit, the cryptographic information is then generated and provided. Alternatively, the processing circuitry can be configured to process visual sensor data depicting at least a portion of the electronic control unit to obtain the public key of the electronic control unit. Thus, the public key can be printed on an exterior of the electronic control unit.

[0016] In embodiments, the processing circuitry can be configured to access a debug functionality of the electronic control unit after obtaining control access to the electronic control unit. Thus, the apparatus can be a debug apparatus.

[0017] Embodiments of the present disclosure further provide a method for an electronic control unit of a vehicle. The method comprises determining first cryptographic information based on a private key of the electronic control unit and on a public key of a second entity. The method comprises obtaining second cryptographic information via an interface. The method comprises comparing the first cryptographic information and the second cryptographic information. The method comprises unlocking control access to the electronic control unit if the second cryptographic information is based on a private key of the second entity and on a public key of the electronic control unit.

[0018] Embodiments of the present disclosure further provide a method for performing a control operation on an electronic control unit of a vehicle. The method comprises providing cryptographic information to the electronic control unit via an interface. The cryptographic information is based on a public key of the electronic control unit and on a private key of a second entity. The method comprises obtaining control access to the electronic control unit via the interface. The control access to the electronic control unit is unlocked by the electronic control unit based on the provided cryptographic information.

[0019] Embodiments of the present disclosure further provide a computer program having a program code for performing at least one of the above methods, when the computer program is executed on a computer, a processor, or a programmable hardware component. BRIEF DESCRIPTION OF DRAWINGS

[0020] Some examples of devices and / or methods will now be described, by way of example only, with reference to the accompanying drawings in which

[0021] Figure 1a a block diagram illustrating an embodiment of an electronic control unit;

[0022] Figure 1b a flowchart illustrating an embodiment of a method for an electronic control unit;

[0023] Figure 2a a block diagram illustrating an embodiment of a device for performing a control operation on an electronic control unit;

[0024] Figure 2b a flowchart illustrating an embodiment of a method for performing a control operation on an electronic control unit; and

[0025] Figure 3 a diagram illustrating an exchange of information performed between an electronic control unit and a debugging device. DETAILED DESCRIPTION

[0026] Various examples will now be described more fully with reference to the accompanying drawings in which some examples are illustrated. In the figures, the thickness of lines, layers and / or regions can be exaggerated for clarity.

[0027] Accordingly, while further example implementations can be modified and alternative forms, some specific examples thereof have been shown in the drawings and will be described in detail herein. However, this detailed description is not intended to limit further implementations to the particular forms disclosed. Rather, further implementations can cover all modifications, equivalents, and alternatives falling within the scope of the disclosure. Identical or similar numbers in the drawings represent identical or similar elements, which can be implemented independently or in modified form, when compared to each other, while providing the same or similar functionality.

[0028] It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements can be present. If two elements A and B are coupled using an "or", this is understood as disclosing all possible combinations, i.e., only A, only B, as well as A and B, if such combinations are not otherwise explicitly or implicitly defined as being impermissible. An alternative wording of the same combinations is "at least one of A and B". Similar alternatives using "and" are also contemplated.

[0029] The terminology used herein for the purpose of describing particular examples is not intended to be limiting for further examples. Whenever a singular form such as "a", "an" and "the" is used, this is also to be understood as including plural forms, unless it is explicitly stated otherwise. Likewise, the use of "or" as a conjunction is to be understood as encompassing a selection of one or more of the items to which this conjunctive reference is used. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items. The same applies to "at least one of X, Y and Z" for any X, Y and Z, and "one or more of X, Y and Z" for any X, Y and Z. Furthermore, the terms "comprise", "comprising", "comprises", "include", "including", "includes", "contain", "containing", "contains", "characterized by" and "characterised by" are to be construed as non-exclusive, unless otherwise specified. The term "comprise", "comprising", "comprises" or "comprised of" as used herein is to be construed as specifying the presence of stated features or steps but not to preclude the presence or addition of one or more other features, steps, characteristics, integers, steps, or groups thereof. The term "coupled" as used herein refers to any connection, coupling, linkage or the like by which the elements are placed in working connection, allowing at least some form of desired transfer, communication, or the like, between the elements thus coupled.

[0030] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this example belongs.

[0031] Figure 1a A block diagram illustrating an embodiment of an electronic control unit 10 for a vehicle 100 is shown. The electronic control unit comprises a processing circuit 14 and an interface 12, e.g. an interface circuit 12, coupled to the processing circuit 14. Generally, the processing circuit 14 can be arranged to provide the functionality of the electronic control unit 10. In some other embodiments, the processing circuit can provide (only) the functionality of a debug interface of the electronic control unit together with a main processor of the electronic control unit. In other words, the processing circuit 14 can be arranged to implement a debug interface of the electronic control unit 10.

[0032] The processing circuit is arranged to determine first cryptographic information based on a private key of the electronic control unit and based on a public key of a second entity. The processing circuit is arranged to obtain the second cryptographic information via the interface. The processing circuit is arranged to compare the first cryptographic information and the second cryptographic information. The processing circuit is arranged to unlock control access to the electronic control unit if the second cryptographic information is based on a private key of the second entity and based on a public key of the electronic control unit. Fig. 1 further illustrates a vehicle 100 comprising the electronic control unit 10.

[0033] Figure 1b A flowchart illustrating an embodiment of a corresponding method for the electronic control unit 10 is shown. Correspondingly, the method can implement the functionality of the debug interface of the electronic control unit 10. The method comprises determining 130 first cryptographic information based on a private key of the electronic control unit and based on a public key of a second entity. The method comprises obtaining 140 second cryptographic information via the interface. The method comprises comparing 150 the first cryptographic information and the second cryptographic information. The method comprises unlocking 160 control access to the electronic control unit if the second cryptographic information is based on a private key of the second entity and based on a public key of the electronic control unit.

[0034] The following description relates to both Figure 1a the electronic control unit and Figure 1b the method. Features described in connection with Figure 1a the electronic control unit can equally apply to Figure 1b the method.

[0035] Various embodiments of the present disclosure relate to an electronic control unit, or to a method or computer program for an electronic control unit. For example, the electronic control unit can be an electronic control unit of a vehicle, or of another piece of electronically controlled machinery. Generally, a vehicle comprises a large number of different electronic control units, for example an electronic control unit for controlling the engine, an electronic control unit for sensors of the vehicle, an electronic control unit of a safety system of the vehicle, etc. These electronic control units are typically manufactured by third party suppliers of the manufacturer of the vehicle, i.e. the original equipment manufacturer, OEM. At the same time, the OEM typically wishes to limit access to the electronic control units, for example in order to avoid malicious actors manipulating the electronic control units. In some systems as outlined before, the electronic control units are secured by using a security code implanted into the electronic control unit by the supplier and shared with the OEM via a database. In such a case, the database comprising the security code can present an attractive target for malicious actors. Embodiments can avoid providing such an attractive target by using a cryptographic scheme in which a shared secret is generated by using two pairs of private and public keys. As the name suggests, the public keys can be publicly accessible without compromising the security concept. Thus, only the public keys can be exchanged between the OEM and the supplier, enabling the OEM to access the electronic control units without compromising the security concept.

[0036] The processing circuitry is configured to determine first cryptographic information based on a private key of the electronic control unit and based on a public key of a second entity. In the context of the present disclosure, (at least) six pieces of cryptographic information are used:

[0037] - the private key and the public key of the second entity (i.e. of a key pair of the second entity comprising the private key and the corresponding public key)

[0038] - the private key and the public key of the second entity (i.e. of a key pair of the second entity comprising the private key and the corresponding public key)

[0039] - a shared secret generated by the electronic control unit, and

[0040] - a shared secret generated by the device of the second entity.

[0041] The shared secret generated by the electronic control unit is denoted as first cryptographic information, the shared secret generated by the device of the second entity is denoted as second cryptographic information. The control access for the electronic control unit can be unlocked if the first cryptographic information and the second cryptographic information match, i.e. if the shared secrets match. For example, the first cryptographic information and the second cryptographic information match, i.e. the shared secrets match, if the first cryptographic information is based on the private key of the electronic control unit and on the public key of the second entity, and if the second cryptographic information is based on the private key of the second entity and on the public key of the electronic control unit.

[0042] In general, the most secure approach can be to generate the private key of the electronic control unit on the device, e.g. by using the processing circuitry 14. In other words, the processing circuitry can be configured to generate the private key of the electronic control unit. For example, the processing circuitry can be configured to generate the private key of the electronic control unit using cryptographic functionality of the processing circuitry, or the processing circuitry can be configured to execute a cryptographic algorithm to generate the private key of the electronic control unit. Alternatively, the processing circuitry 14 can be configured to obtain the private key of the electronic control unit, e.g. via the interface 12, and / or from another processor of the electronic control unit.

[0043] Based on the private key of the electronic control unit, the public key can be generated. In other words, the processing circuitry can be configured to generate the public key of the electronic control unit based on the private key of the electronic control unit. For example, the processing circuitry can be configured to derive the public key of the electronic control unit from the private key of the electronic control unit. In various implementations, e.g. when adapting the Elliptic Curve Diffie Hellman key exchange in a time decoupled manner, the private key can be an integer, while the public key can be a point on an elliptic curve based on a multiple of the integer of the private key.

[0044] The processing circuitry can be arranged to provide the public key of the electronic control unit via the interface. For example, the public key can be provided via the interface during a factory setting process of the electronic control unit, e.g. before control access to the electronic control unit is locked. For example, the factory setting process can be a factory setting process at a manufacturer of the electronic control unit or a factory setting process at a manufacturer of a vehicle (or machine) comprising the electronic control unit, i.e. an OEM. In this case, the public key can be provided to the factory setting entity and subsequently stored in a database sent to the OEM or printed on a label to be attached to the electronic control unit. For example, the public key can be displayed in a machine readable form on the electronic control unit, e.g. on a label or an electronic display of the electronic control unit. Alternatively, the public key of the electronic control unit can be provided to a device gaining access to the electronic control unit, e.g. before obtaining the second cryptographic information. Again, in another embodiment, the public key can be generated externally to the device and subsequently provided to the processing circuitry.

[0045] To generate the first cryptographic information, the public key of the second entity is used. For example, the processing circuitry can be arranged to obtain, i.e. receive, the public key of the second entity via the interface 12, e.g. from the device 20 gaining access to the electronic control unit or from a factory setting device before control access to the electronic control unit is locked. In the former case, the public key of the second entity can be verified, e.g. to avoid a public key from an untrusted entity. However, in various embodiments, the public key of the second entity can be stored in the memory circuitry of the electronic control unit. For example, the public key of the second entity can be part of the firmware of the electronic control unit.

[0046] Once the private key of the electronic control unit and the public key of the second entity are available, the processing circuitry can use both to determine the first cryptographic information. As already indicated before, the first cryptographic information can be a shared secret of a key exchange performed between the electronic control unit and the second entity. In other words, it can be a symmetric key that can be generated using one of two different key combinations, using the private key of the electronic control unit and the public key of the second entity or using the private key of the second entity and the public key of the electronic control unit. For example, the processing circuitry can be arranged to determine the first cryptographic information during a factory setting process of the electronic control unit. Alternatively, the processing circuitry can be arranged to determine the first cryptographic information upon receiving the public key of the second entity or upon generating the private key of the electronic control unit. After generating the first cryptographic information, it can be stored within the memory of the electronic control unit. In other words, the processing circuitry can be arranged to store the first cryptographic information (permanently) using the memory circuitry of the electronic control unit, i.e. within the electronic control unit.

[0047] Once the first cryptographic information has been generated, the private key of the electronic control unit can no longer be necessary and can be discarded. In other words, the processing circuitry can be arranged for discarding (i.e. deleting) the private key of the electronic control unit after determining the first cryptographic information (and / or after storing the first cryptographic information).

[0048] After generating the first cryptographic information, or alternatively after storing the public key of the second entity within the electronic control unit, control access to the electronic control unit can be locked. In other words, the processing circuitry can be arranged for locking access to the electronic control unit, e.g. if one or more of the following conditions is met:

[0049] - before receiving the second cryptographic information,

[0050] - after storing the public key of the second entity within the electronic control unit,

[0051] - after providing the public key of the electronic control unit via the interface, and / or

[0052] - after generating the first cryptographic information.

[0053] To unlock the electronic control unit, the first cryptographic information is compared with the second cryptographic information. The processing circuitry can be arranged for comparing the first cryptographic information and the second cryptographic information to determine whether (or if) the second cryptographic information is generated using the private key of the second entity and the public key of the electronic control unit. In other words, the second cryptographic information can be considered to be generated using the private key of the second entity and the public key of the electronic control unit if the second cryptographic information matches the first cryptographic information. If this is the case, i.e. if the first cryptographic information matches the second cryptographic information, the control access can be unlocked.

[0054] In general, the control access can provide control functionality to an entity communicating with the electronic control unit, e.g. via the interface 12. For example, the control access can enable (i.e. authorize) an entity communicating with the electronic control unit to read out status information and / or parameters of the electronic control unit, and / or to adapt parameters of the electronic control unit. In short, the control access can provide a debugging functionality (i.e. a diagnostic functionality or a functionality for accessing or changing internal parameters or internal states of the electronic control unit) to an external entity. Thus, the processing circuitry can be arranged for obtaining the second cryptographic information from an external device via the interface, e.g. from the device 20 in connection with Figure 2a The processing circuitry can be arranged for providing the debugging functionality for the electronic control unit to the external device after unlocking the control access.

[0055] The interface 12 can correspond to one or more inputs and / or outputs for receiving and / or transmitting information within a module, between modules, or between modules of different entities, which information can be digital (bit) values according to a specific code. For example, the interface 12 can comprise interface circuitry arranged for receiving and / or transmitting information. In some embodiments, the interface 12 can be a debug port, e.g. a JTAG port, of an electronic control unit.

[0056] In embodiments, the processing circuitry 14 can be implemented using one or more processing circuits, one or more processing devices, any means for processing such as a processor, a computer or a programmable hardware component being operable with accordingly adapted software. In other words, the described functionality of the processing circuitry 14 can be carried out with software, which can be executed using one or more programmable hardware components. Such hardware components can include a general purpose processor, a Digital Signal Processor (DSP), a micro-controller, etc.

[0057] The proposed concept or one or more examples described above or below (e.g. Figures 2a to 3 ) refer to more details and aspects of the electronic control unit and corresponding method. The electronic control unit and corresponding device can comprise one or more additional optional features corresponding to one or more aspects of the proposed concept or one or more examples described above or below.

[0058] Figure 2a A block diagram illustrating an embodiment of a device 20 for performing control operations on an electronic control unit 10, e.g. of a vehicle 100 or another apparatus, is shown. The device comprises a processing circuitry 24 and an interface 22 coupled to the processing circuitry 24. Generally, the processing circuitry is arranged for providing the functionality of the device, e.g. in conjunction with the interface 12. The processing circuitry is arranged for providing (second) cryptographic information to the electronic control unit via the interface 22. The cryptographic information is based on a public key of the electronic control unit and on a private key of a second entity. The processing circuitry is arranged for obtaining control access to the electronic control unit via the interface. The control access to the electronic control unit is unlocked by the electronic control unit based on the provided cryptographic information.

[0059] Figure 2b A flow chart illustrating an embodiment of a corresponding method for performing control operations on an electronic control unit is shown. The method comprises providing 230 cryptographic information to the electronic control unit via an interface. The cryptographic information is based on a public key of the electronic control unit and on a private key of a second entity. The method comprises obtaining 240 control access to the electronic control unit via the interface. The control access to the electronic control unit is unlocked by the electronic control unit based on the provided cryptographic information.

[0060] The following description relates toFigure 2a equipment and Figure 2b The methods of these two. Combining Figure 2a The described features can be applied in the same way. Figure 2b The method.

[0061] Some embodiments of this disclosure relate to an apparatus 20, method, and computer program for performing control operations on an electronic control unit 10 of a vehicle 100. In other words, the apparatus 20 may be adapted or configured for using control access to the electronic control unit, i.e., debugging access or diagnostic access. Therefore, processing circuitry may be configured to access the debugging functionality (i.e., diagnostic functionality) of the electronic control unit after obtaining control access to it. For example, processing circuitry may be configured to access and / or adapt one or more parameters and / or states of the electronic control unit after obtaining control access to it. In conjunction with... Figure 1a and / or Figure 1b In terms of the language used, device 20 may be a device for obtaining control access to the electronic control unit of the second entity for (i.e., representing) the second entity.

[0062] The processing circuitry is configured to provide cryptographic information to the electronic control unit via interface 22, the cryptographic information being based on the public key of the electronic control unit and the private key of the second entity. (As in combination) Figure 1a and / or Figure 1b The aforementioned password information (in combination with) Figure 1a and / or Figure 1b The second cryptographic information (represented as the second cryptographic information) can be a shared cryptographic key generated by the second entity using its private key and the public key of the electronic control unit, for example, a symmetric cryptographic key. In some embodiments, the processing circuitry can use cryptographic information provided by another entity (e.g., the server of the second entity). In other words, the processing circuitry can be configured to retrieve the cryptographic information, for example, from the server of the second entity or from the memory circuitry of the device, if the cryptographic information is stored in the memory of the device. Alternatively, the cryptographic information can be generated on the device by the device 20. In other words, the processing circuitry can be configured to determine (i.e., generate) the cryptographic information based on the public key of the electronic control unit and the private key of the second entity.

[0063] In some embodiments, the public key of the electronic control unit can be retrieved from a server of the second entity. In other words, the processing circuitry can be arranged for obtaining (i.e. receiving) the public key of the electronic control unit from a server of the second entity. Alternatively, the public key of the electronic control unit can be obtained from the electronic control unit. For example, the public key of the electronic control unit can be printed on a label of the electronic control unit or shown via a display of the electronic control unit. In this case, the visual sensor data of the camera can be used to read the public key of the electronic control unit. In other words, the processing circuitry can be arranged for processing visual sensor data (of the camera, e.g. a camera connected to the device 20) depicting at least a part of the electronic control unit to obtain the public key of the electronic control unit. For example, the visual sensor data can comprise a photo of the electronic control unit, the photo depicting the public key. The processing circuitry can be arranged for extracting the public key of the electronic control unit from the visual sensor data. Alternatively, the processing circuitry can be arranged for receiving the public key from the electronic control unit via the interface. For example, the processing circuitry can be arranged for communicating with the electronic control unit via the interface using a wired or wireless data communication connection (e.g. according to the JTAG standard). The processing circuitry can be arranged for receiving the public key of the electronic control unit via the data communication connection, e.g. in response to a request from the device.

[0064] The processing circuitry is arranged for obtaining control access to the electronic control unit via the interface. As outlined before, the control access to the electronic control unit can provide the device with access to the debugging / diagnostic functionality of the electronic control unit. Access to the debugging / diagnostic functionality can be locked before the cryptographic information is provided and can be locked again after the device is disconnected from the electronic control unit. In other words, the control access to the electronic control unit is unlocked (i.e. made available) by the electronic control unit based on the provided cryptographic information and a device that cannot provide the correct cryptographic information can not be available.

[0065] The interface 22 can correspond to one or more inputs and / or outputs for receiving and / or transmitting information within a module, between modules or between modules of different entities, which information can be digital (bit) values according to a specific code. For example, the interface 22 can comprise interface circuitry arranged for receiving and / or transmitting information.

[0066] In embodiments, processing circuitry 24 can be implemented using one or more processing units, one or more processing devices, any means for processing, such as a processor, a computer or a programmable hardware component being operable with accordingly adapted software. In other words, processing circuitry 24 can be implemented with one or more programmable hardware components that are operable with

[0067] Figure 3 diagram showing the information exchange performed between the electronic control unit and the commissioning device. Figure 3 diagram showing the information exchange performed between the electronic control unit and the commissioning device. Figure 1a diagram showing the information exchange performed between the electronic control unit and the commissioning device. Figure 2a diagram showing the information exchange performed between the electronic control unit and the commissioning device. Figure 3 diagram showing the information exchange performed between the electronic control unit and the commissioning device. Figure 1a diagram showing the information exchange performed between the electronic control unit and the commissioning device. Figure 2a diagram showing the information exchange performed between the electronic control unit and the commissioning device.

[0068] In preparing the comparison of the cryptographic information, both parties can optionally generate the cryptographic information, and / or the private and / or public keys on which the cryptographic information is based. For example, the electronic control unit can generate 110 a private key of the electronic control unit, and / or the electronic control unit can generate 120 a public key of the electronic control unit. In addition, the public key of the electronic control unit can be provided 125 (by the electronic control unit) and received 210 (by the device). Alternatively, the device can process visual sensor data 215 to obtain the public key of the electronic control unit. Both parties determine (i.e. generate) their respective cryptographic information (which is optional for the device). Furthermore, the electronic control unit can store 135 the first cryptographic information and optionally discard its private key thereafter. The device provides 230 the (second) cryptographic information obtained 140 (i.e. received) by the electronic control unit to the electronic control unit. The electronic control unit compares 150 the first and second cryptographic information and, if they match, unlocks 160 control access so that the device acquires 240 control access. Once control access is unlocked, the electronic control unit can provide the commissioning functionality 165 that the device can access 245.

[0069] The proposed concepts in connection with one or more of the examples described above or below (e.g. in Figures 1a to 2a ) refer to more details and aspects of the system. The system can comprise one or more additional optional features corresponding to one or more aspects of the proposed concepts or one or more of the examples described above or below.

[0070] Embodiments of the present disclosure provide an improved concept for securing the ownership and confidentiality of secrets generated by third parties while avoiding storing them.

[0071] Embodiments can provide a concept for preventing any knowledge of a vendor having a secret debug password and avoiding storing an entire database with keys. At least some embodiments are based on the Diffie-Hellman key exchange, which is commonly used to securely derive a shared secret via an unprotected communication channel. In the Diffie-Hellman key exchange, both entities have an asymmetric key pair with a public key and a private key. Both entities then exchange their public keys and combine it with their own private key, resulting in a shared secret. In the context of the present disclosure, the first cryptographic information generated by the electronic control unit and the (second) cryptographic information provided / generated by the debug device correspond to the shared secret.

[0072] In an embodiment, the OEM (i.e. the second entity) can generate a single asymmetric key pair (i.e. the private and public key of the second entity). Subsequently, e.g. when the vendor manufactures the embedded system, a single asymmetric key pair (i.e. the private and public key of the electronic control unit) can be generated on the chip. The controller can use the OEM public key and combine it with the (secret) private key of the controller to a device-specific secret (i.e. the first cryptographic information). This secret can be used as a debug password. Optionally, the private key of the device's asymmetric key pair can be deleted. If an entity (e.g. the debug device) needs to have debug access, the device's public key can be made available, e.g. by means of the controller (e.g. the public key can be printed on the controller's package) or using a database. In contrast to a password-only solution, the database of data sets can only contain the public keys, thus can be less critical from a security point of view. In a last step, the OEM can generate a shared secret (i.e. the (second) cryptographic information) by combining the device's public key with its private key and send this key to the controller. If the two secrets match, the debug port can be unlocked. This method can thus be seen as a time-shifted Diffie-Heelman key exchange. It can be seen as time-shifted, because one port of the key exchange is performed when the debug port of the electronic control unit is locked, the other port is conducted (only) when access to the device is needed.

[0073] In an exemplary implementation of the concept, elliptic curve cryptography (ECC), more specifically, elliptic curve Diffie-Hellman (ECDH) key exchange is used all the time. Using ECDH, the described process can be performed using one or more of the following actions:

[0074] Locking:

[0075] 1. The back-end stores an asymmetric ECC key pair serverpub, serverpriv (i.e. the public and private key of the second entity).

[0076] 2. For each ECU, generate a secret random number ECUpriv (i.e. the ECU's private key).

[0077] 3. The ECU uses the ECC to generate and store the public key ECUpub (i.e. the ECU's public key) = ECUpriv x P, where "x" denotes scalar multiplication and P is the base point. The ECUpriv key can then be deleted from the ECU.

[0078] 4. The ECU calculates and stores the shared secret (i.e. the first cryptographic information): shared key = serverpub x ECUpriv.

[0079] 5. The ECU locks the debug port.

[0080] Unlocking:

[0081] 1. Obtain the ECUpub of the respective ECU either by the ECU itself (diagnostic work), or by some other source (e.g. the public key can be printed on the control's packaging).

[0082] 2. Transmit the ECUpub to the back-end and calculate the shared secret (i.e. the (second) cryptographic information) shared key = ECUpub x serverpriv.

[0083] 3. Obtain the shared key and transmit the key to the component that checks the identity.

[0084] 4. If the received and stored keys are identical, the debug port is unlocked.

[0085] This enables the vendor not to own the debug password and can avoid the necessity to store and manage an entire database with keys. The concept can be used for electronic control units in automotive and embedded systems environments.

[0086] In some other systems, a more direct approach can be taken in which at least the problem of the vendor being able to illegitimately store the generated passwords as they are processed can be avoided. This problem can be solved by generating the password on the device, locking the debug port, and storing the password in some application on the controller. The application unlocks the debug port by providing the password (e.g., only if it receives a valid certificate). The corresponding key pair can be generated by the OEM, in which the public key is stored into the component, while the private key is controlled by the OEM. A valid certificate can only be issued if it is requested by an authorized person. While this approach overcomes some of the initial problems, it assumes that the processor is operating in a functioning state. Often, the case is that the controller is debugged when a malfunctioning behavior is observed. As such, it is common that the processor is not functioning, and thus cannot verify the incoming certificate. Furthermore, the hardware debug functionality is protected by a key (i.e., a symmetric key) that the vendor processes as it stores the passwords in a database. Thus, the key exchange provided by embodiments of the present disclosure can provide a more comprehensive approach that can also be applied if the main processor of the electronic control unit is stuck.

[0087] One or more examples in connection with the concept presented or described in the above or below (e.g., in the Examples section) refer to further details and aspects of the concept. The concept can include one or more additional optional features corresponding to one or more aspects of the presented concept or one or more examples described above or below. Figures 1a to 3 The aspects and features mentioned and described in one or more of the preceding examples and figures can be combined with one or more of the other examples and features mentioned and described below, in order to replace other features appearing in other examples, or in order to additional introduce the other features to other examples.

[0088] Aspects and features mentioned and described in one or more of the preceding examples and figures can also be combined with one or more of the other examples, in order to replace other features of other examples with features of this example, or in order to additionally introduce features of this example to other examples.

[0089] Examples can further relate to or be a computer program having a program code for performing one or more of the methods described above when the computer program is executed on a computer or processor. The steps, operations, or processes described above can be performed by programmed computers or processors. Examples can also cover program storage devices such as digital data stores, optical storage devices, loaded into or accessing a machine, processor, or computer readable medium that tangibly embody a program of instructions, thereby making a machine-implemented process, such a process comprising one or more of the methods described above. The program storage devices can be article of manufacture comprising a computer readable medium. The media and computer readable media can also be programs in sources coded specially for a machine or processor, or in a proprietary language and / or in a high level language and / or in a low level language.

[0090] This description and the accompanying drawings only illustrate principles of the disclosure. Furthermore, all examples recited herein are principally intended to be only for illustrative purposes to aid the reader in understanding the principles of the disclosure and the concepts contributed by the inventor(s) to furthering the art and are to be construed as being without limitation to such specifically recited examples and conditions. This description, therefore, is not to be taken in a limiting sense, and all

[0091] A functional block denoted as "a means for performing a certain function" can refer to a circuitry configured for performing a certain function. Thus, a "means for" can be implemented as "a means configured for doing something or being suitable for something", such as an apparatus or a circuitry configured for or being suitable for a corresponding task.

[0092] The functions of the various elements shown in the figures, including any functional blocks labeled as "means", "signal providing device", "signal generating device", etc., can be embodied in

[0093] Block diagrams can illustrate high-level circuit diagrams, for example, that embody the principles of the present disclosure. Similarly, flow diagrams, flow charts, state transition diagrams, pseudocode, and the like can represent various processes, operations, or steps that can be substantially represented in computer-readable medium, for example, so as to be executed by a computer or processor, whether or not such computer or processor is explicitly shown. The methods disclosed in the present specification can be implemented by an apparatus having means for performing each of the respective actions of these methods.

[0094] It should be understood that the disclosure of a number of actions, processes, operations, steps, or functions in the present specification can not be limited to the specific order in which they are disclosed, unless explicitly stated or implied otherwise, for example, due to technical reasons. Therefore, the disclosure of a number of actions or functions will not limit these to a specific order, unless such actions or functions are not interchangeable due to technical reasons. Furthermore, in some examples, a single action, function, process, operation, or step can include or be divided into a number of sub-actions, sub-functions, sub-processes, sub-operations, or sub-steps, respectively, or can be divided into a number of sub-actions, sub-functions, sub-processes, sub-operations, or sub-steps, respectively. Such sub-actions can be included in the disclosure of the single action unless explicitly excluded.

Claims

1. An electronic control unit (10) for a vehicle (100), the electronic control unit comprising processing circuitry (14), the processing circuitry being configured to: determine first cryptographic information based on a private key of the electronic control unit and based on a public key of a second entity; store the first cryptographic information using a memory circuitry of the electronic control unit; discard the private key of the electronic control unit after determining the first cryptographic information; obtain second cryptographic information via an interface (12); compare the first cryptographic information and the second cryptographic information; and unlock control access to the electronic control unit if the second cryptographic information is based on a private key of the second entity and based on a public key of the electronic control unit; wherein the public key of the electronic control unit being displayed in a machine-readable form on the electronic control unit, such that the necessity of a comprehensive backend key storage is avoided while enabling control even in a non-functional state of the electronic control unit.

2. The electronic control unit of claim 1, wherein, the processing circuitry being configured to determine the first cryptographic information during a factory setting process of the electronic control unit.

3. The electronic control unit according to claim 1 or 2, wherein the processing circuitry being configured to generate the private key of the electronic control unit.

4. The electronic control unit according to claim 1 or 2, wherein the processing circuitry being configured to obtain the second cryptographic information from an external device via the interface and to provide a debugging functionality for the electronic control unit to the external device after unlocking the control access.

5. A device (20) for performing a control operation on an electronic control unit (10) of a vehicle (100), the device comprising processing circuitry (24), the processing circuitry being configured to: process visual sensor data depicting at least a portion of the electronic control unit to obtain a public key of the electronic control unit, provide cryptographic information to the electronic control unit via an interface (22), the cryptographic information being based on the public key of the electronic control unit and on a private key of a second entity, and to the electronic control unit via the interface, wherein control access to the electronic control unit being unlocked by the electronic control unit based on the provided cryptographic information, wherein the cryptographic information is determined on-site after obtaining the public key of the electronic control unit, such that the necessity of a comprehensive backend key storage is avoided while enabling control even in a non-functional state of the electronic control unit.

6. The apparatus of claim 5, wherein, the processing circuitry being configured to determine the cryptographic information based on the public key of the electronic control unit and based on the private key of the second entity.

7. The apparatus of claim 6, wherein, the processing circuitry being configured to communicate with the electronic control unit via the interface using a wired or wireless data communication connection.

8. The apparatus of one of claims 5 to 7, wherein, the processing circuitry being configured to access a debugging functionality of the electronic control unit after taking control access to the electronic control unit.

9. A method for an electronic control unit of a vehicle, the method comprising: determining (130) first cryptographic information based on a private key of the electronic control unit and based on a public key of a second entity; storing the first cryptographic information using a memory circuitry of the electronic control unit; discarding a private key of the electronic control unit after determining the first cryptographic information; obtaining (140) second cryptographic information via an interface; comparing (150) the first cryptographic information and the second cryptographic information; and unlocking (160) control access to the electronic control unit if the second cryptographic information is based on a private key of the second entity and on a public key of the electronic control unit; wherein the public key of the electronic control unit is displayed in machine-readable form on the electronic control unit, such that the necessity of a comprehensive backend key storage is avoided while enabling control even in a non-functional state of the electronic control unit.

10. A method for performing a control operation on an electronic control unit of a vehicle, the method comprising: processing visual sensor data depicting at least a portion of the electronic control unit to obtain a public key of the electronic control unit; providing (230) cryptographic information to the electronic control unit via an interface, the cryptographic information being based on the public key of the electronic control unit and on a private key of a second entity; and gaining (240) control access to the electronic control unit via the interface, wherein control access to the electronic control unit is unlocked by the electronic control unit based on the provided cryptographic information, wherein the cryptographic information is determined on-site after obtaining the public key of the electronic control unit, such that the necessity of a comprehensive backend key storage is avoided while enabling control even in a non-functional state of the electronic control unit.

11. A computer program having a program code for performing at least one of the methods according to claim 9 or 10 when the computer program is executed on a computer, a processor, or a programmable hardware component.

Citation Information

Patent Citations

  • Vehicle security module system

    US20170305368A1