System, method, and computer program for generating vehicle identification information

The vehicle identification system addresses privacy and security concerns by generating identification information from securely booted control units with unique cryptographic signatures, standardizing formats, and ensuring compliance with privacy laws.

JP7662095B2Active Publication Date: 2025-04-15TOYOTA JIDOSHA KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024096913
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-09-01
Filing Date
2024-06-14
Publication Date
2025-04-15
Estimated Expiration
2044-06-14

AI Technical Summary

Technical Problem

Existing vehicle identification systems using VINs face privacy and security issues, format inconsistencies, and non-compliance with privacy laws due to their association with non-critical components and permanent identifiers.

Method used

The system generates vehicle identification information based on multiple successfully secure booted control units, incorporating cryptographic signatures to enhance privacy and security, standardize identification formats, and reduce the risk of non-compliance with privacy laws.

Benefits of technology

This approach improves privacy and security, standardizes identification formats, and reduces the risk of non-compliance with privacy laws by using unique cryptographic signatures from securely booted control units.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007662095000001
    Figure 0007662095000001
  • Figure 0007662095000002
    Figure 0007662095000002
  • Figure 0007662095000003
    Figure 0007662095000003
Patent Text Reader

Abstract

To provide a system, a method and a device for generating identification information of a vehicle system for reducing a risk of non-compliance with privacy laws by automatically generating identification information of a vehicle system on the basis of a plurality of control units that are normally and securely booted and standardizing an identification information format.SOLUTION: A system includes a memory storage for storing computer-executable instructions, and at least one processor communicably connected to the memory storage, and the at least one processor executes an instruction, determines whether all of a plurality of control units in a vehicle are normally and securely booted, and generates identification information of the vehicle on the basis of a plurality of control units that are normally and securely booted according to determination that all of the plurality of control units are normally and securely booted.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Systems, methods, and computer programs consistent with exemplary embodiments of the present disclosure relate to vehicle systems, and more particularly, to generating identity information for vehicle systems. [Background technology]

[0002] Modern vehicles are capable of a wide range of complex functions, such as generating telemetry data, sending and receiving data over the Internet, and the like, and in order for the vehicles to perform the above functions, the vehicles are inherently connected to upstream servers.

[0003] In the related art, a vehicle identification number (VIN) may be used by a server to identify a particular vehicle among multiple vehicles communicating with the server. A VIN may refer to a code comprising multiple characters (e.g., numbers, alphabetic characters, combinations thereof, and the like) that serves as a unique identifier for a particular vehicle. A VIN may be provided to a vehicle during the manufacture of said vehicle and may identify and designate the vehicle's major components, specifications, manufacturer, and the like.

[0004] Nevertheless, the above approach of using a VIN to identify a particular vehicle may have at least the following drawbacks: Since the VIN may only be associated with some components (e.g., major components) of the vehicle and not with the critical components of the vehicle, such an arrangement may present privacy and security issues.

[0005] Furthermore, different VINs may be implemented based on different competing standards, and as a result, different VINs may have different formats. This can cause a server to have trouble identifying a particular vehicle, as a particular server may not be configured to read a VIN in a particular format, may misinterpret a VIN having a different format and assign the wrong vehicle, and may be homogeneous. Due to globalization, the above problems are becoming more common as vehicles are more frequently moved between different countries (which may utilize VINs of different standards).

[0006] Additionally, use of a VIN may not be compliant with privacy laws, such as the General Data Protection Regulation (GDPR) privacy law, which allows for having identifiers that are permanent and cannot be reset. Summary of the Invention

[0007] Exemplary embodiments of the present disclosure automatically generate an identity for a vehicle system based on multiple control units that have successfully securely booted, thus improving privacy and security, standardizing identity formats, and reducing the risk of non-compliance with privacy laws.

[0008] According to an embodiment, a system is provided that may include a memory storage that stores computer-executable instructions and at least one processor communicatively coupled to the memory storage, where the at least one processor may be configured to execute the instructions to determine whether all of a plurality of control units in a vehicle have successfully securely booted, and in response to determining that all of the plurality of control units have successfully securely booted, generate an identification information for the vehicle based on the plurality of control units that have successfully securely booted.

[0009] According to an embodiment, the identification information may specify multiple cryptographic signatures associated with multiple control units that have successfully secure booted, and each of the multiple cryptographic signatures may be unique.

[0010] According to an embodiment, at least one processor may be configured to execute instructions to reboot a failed control unit that has not successfully securely booted in response to a determination that not all of the plurality of control units have successfully securely booted, to determine whether the failed control unit has successfully rebooted, and to disable one or more non-essential functions of the vehicle in response to a determination that the failed control unit has not successfully rebooted.

[0011] According to an embodiment, the multiple control units may include a central control unit and one or more secondary control units, which may include memory storage and at least one processor, which may be configured to determine whether all of the multiple control units have successfully secure booted by executing instructions to perform a secure boot, determining whether the secure boot was successful, and in response to a determination that the secure boot was successful, sending a request to the one or more secondary control units regarding the status of the one or more secondary control units, receiving the status of the one or more secondary control units from the one or more secondary control units, and determining based on the status whether the one or more secondary control units have successfully secure booted.

[0012] According to an embodiment, at least one processor may be configured to execute instructions to send a first failure notification to one or more secondary control units in response to a secure boot failure, and the one or more secondary control units may be configured to select one control unit from a plurality of control units different from the central control unit as a new central control unit in response to receiving the first failure notification.

[0013] According to an embodiment, the status of one or more secondary control units may be cryptographically signed by the corresponding one or more secondary control units using a cryptographic key.

[0014] According to an embodiment, the plurality of control units may include an electronic control unit (ECU).

[0015] According to an embodiment, the identification information may include a software bill of materials (SBOM).

[0016] According to an embodiment, the at least one processor may be configured to execute instructions to transmit the identification information to a server via an Elliptic Curve Integrated Encryption Scheme (ECIES).

[0017] According to an embodiment, a method is provided that may include determining whether all of a plurality of control units in a vehicle have successfully securely booted, and in response to determining that all of the plurality of control units have successfully securely booted, generating an identification information for the vehicle based on the plurality of control units that have successfully securely booted.

[0018] According to an embodiment, the identification information may specify multiple cryptographic signatures associated with multiple control units that have successfully secure booted, and each of the multiple cryptographic signatures may be unique.

[0019] According to an embodiment, the method may further include, in response to a determination that not all of the plurality of control units have successfully securely booted, rebooting a failed control unit that has not successfully securely booted, determining whether the failed control unit has successfully rebooted, and, in response to a determination that the failed control unit has not successfully rebooted, disabling one or more non-essential functions of the vehicle.

[0020] According to an embodiment, the multiple control units may include a central control unit and one or more secondary control units, and determining whether all of the multiple control units in the vehicle have successfully performed a secure boot may include performing a secure boot by the central control unit; determining by the central control unit whether the secure boot was successful; in response to determining that the secure boot was successful, sending by the central control unit a request to the one or more secondary control units regarding the status of the one or more secondary control units; receiving by the central control unit the status of the one or more secondary control units from the one or more secondary control units; and determining by the central control unit whether the one or more secondary control units have successfully performed a secure boot based on the status.

[0021] According to an embodiment, the method may further include, in response to a failure of the secure boot, sending, by the central control unit, a first failure notification to the one or more secondary control units, and in response to receiving the first failure notification, selecting, by the one or more secondary control units, one control unit from the plurality of control units different from the central control unit as a new central control unit.

[0022] According to an embodiment, the status of one or more secondary control units may be cryptographically signed by the corresponding one or more secondary control units using a cryptographic key.

[0023] According to an embodiment, the plurality of control units may include an electronic control unit (ECU).

[0024] According to an embodiment, the identification information may include a software bill of materials (SBOM).

[0025] According to an embodiment, the at least one processor may be configured to execute instructions to transmit the identification information to a server via an Elliptic Curve Integrated Encryption Scheme (ECIES).

[0026] According to an embodiment, a non-transitory computer-readable recording medium is provided, the non-transitory computer-readable recording medium may have instructions stored thereon that are executable by at least one processor of a system to cause the at least one processor to perform a method, the method including: determining whether all of a plurality of control units in a vehicle have successfully booted securely; and, in response to determining that all of the plurality of control units have successfully booted securely, generating an identification of the vehicle based on the plurality of control units that have successfully booted securely.

[0027] According to an embodiment, the identification information may specify multiple cryptographic signatures associated with multiple control units that have successfully secure booted, and each of the multiple cryptographic signatures may be unique.

[0028] Additional aspects will be set forth in part in the description that follows, and in part will be apparent from the description, or may be realized by practice of the presented embodiments of the present disclosure. [Brief description of the drawings]

[0029] The features, advantages and importance of preferred embodiments of the present disclosure will now be described with reference to the accompanying drawings, in which like reference numerals refer to like elements, and in which: [Figure 1] FIG. 1 illustrates a block diagram of an example system configuration for generating vehicle identification information according to one or more embodiments. [Diagram 2] FIG. 2 illustrates a block diagram of a first exemplary component in a vehicle identity generation (VIG) system according to one or more embodiments. [Diagram 3] FIG. 3 illustrates a block diagram of a second exemplary component in a vehicle identity generation (VIG) system according to one or more embodiments. [Figure 4] FIG. 4 illustrates a flow diagram of an example method for generating identification information for a vehicle according to one or more embodiments. [Diagram 5]FIG. 5 illustrates a flow diagram of an exemplary method for verifying and generating identity information for a vehicle according to one or more embodiments. [Figure 6] FIG. 6 illustrates a flow diagram of an example method for determining whether all of a plurality of control units in a vehicle have successfully secure booted, according to one or more embodiments. [Figure 7] FIG. 7 illustrates a flow diagram of an exemplary secure boot process according to one or more embodiments. [Figure 8] FIG. 8 illustrates a flow diagram of an example method for rebooting a failed control unit according to one or more embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0030] The following detailed description of the exemplary embodiments refers to the accompanying drawings, in which the same reference numbers in different drawings may identify the same or similar elements.

[0031] The above disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementation to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementation. Furthermore, one or more features or components of one embodiment may be incorporated in or combined with another embodiment (or one or more features of another embodiment). Furthermore, in the description of operations provided below, it is understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be performed (at least partially) simultaneously, and the order of one or more operations may be switched.

[0032] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement the systems and / or methods is not a limitation of the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to any specific software code. It will be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

[0033] Although particular combinations of features are disclosed herein, such combinations are not intended to limit the disclosure of possible implementations, and in fact many of the features may be combined in ways not specifically disclosed herein.

[0034] No element, act, or instruction used herein should be construed as critical or required unless expressly stated otherwise. Additionally, the articles "a" and "an" as used herein are intended to include one or more items and may be used interchangeably with "one or more." When only one item is intended, the term "a" or similar terms are used. Additionally, the terms "has," "have," "having," "include," "including," or the like as used herein are intended to be open-ended terms. Additionally, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise. Additionally, phrases such as "at least one of [A] and [B]" or "at least one of [A] or [B]" should be understood as including only A, only B, or both A and B.

[0035] Exemplary embodiments of the present disclosure provide systems, methods, devices, and the like that automatically generate identification information for a vehicle system (i.e., a vehicle) based on multiple control units that have successfully securely booted.

[0036] According to an embodiment, the system may determine whether all of the control units in the vehicle have successfully securely booted, and may generate identification information for the vehicle based on the determination. For example, based on a determination that all of the control units have successfully securely booted, the system may generate identification information for the vehicle based on the control units that have successfully securely booted.

[0037] Finally, exemplary embodiments of the present disclosure automatically generate an identity for a vehicle system based on multiple control units that have successfully securely booted, thereby improving privacy and security, standardizing the identity format, and reducing the risk of non-compliance with privacy laws.

[0038] It is envisioned that the features, advantages, and importance of the exemplary embodiments described herein above are merely part of the present disclosure and are not intended to be exhaustive or to limit the scope of the present disclosure.

[0039] Further descriptions regarding the features, components, configuration, operation, and implementation aspects of the threshold adjustment system of the present disclosure, according to one or more embodiments, are provided below.

[0040] Exemplary System Architecture 1 illustrates a block diagram of an example system configuration 100 for generating vehicle identity information according to one or more embodiments. As shown in FIG. 1, the system configuration 100 may include a server 110 and a vehicle identity generation (VIG) system 120.

[0041] The server 110 may include a cloud server, a hybrid cloud server, a server cluster, and the like. The server 110 may be remote from the VIG system 120 or communicatively connected to the VIG system 120.

[0042] VIG system 120 may include a system, platform, module, or the like that may be configured to perform one or more operations or acts that generate an identity for the vehicle. According to an embodiment, VIG system 120 may reside in a vehicle.

[0043] Exemplary operations that may be performed by VIG system 120 to generate vehicle identification information are described below with reference to Figures 4-8. Additionally, some exemplary components that may be included in VIG system 120, according to one or more embodiments, are described below with reference to Figures 2 and 3.

[0044] 2 illustrates a block diagram of example components of a VIG system 200, according to one or more embodiments. VIG system 200 may correspond to VIG system 120 of FIG. 1, and thus features associated with VIG system 120 and VIG system 200 may be equally applicable to one another, unless expressly stated otherwise.

[0045] As shown in FIG. 2, the VIG system 200 may include multiple control units, namely, control unit A, control unit B, control unit C, and control unit D. According to an embodiment, each of the control units may be communicatively connected to each other. According to an embodiment, one of the multiple control units may be configured as a central control unit (e.g., control unit A) that functions to perform a function for generating vehicle identification information. According to an embodiment, the multiple control units may include an electronic control unit (ECU) that controls one or more electrical systems in the vehicle. For example, the multiple control units may include an engine control unit, a brake control unit, a general electronic unit, an advanced driver assistance system, and the like.

[0046] It may be understood that VIG system 200 may include more or fewer control units than those shown in FIG. 2 and / or may be arranged differently than those shown in FIG. 2 without departing from the scope of the present disclosure.

[0047] 3 illustrates a block diagram of example components of a VIG system 300, according to one or more embodiments. VIG system 300 may correspond to VIG system 120 of FIG 1 and VIG system 200 of FIG 2, and thus features associated with VIG system 120, VIG system 200, and VIG system 300 may be equally applicable to one another unless expressly stated otherwise.

[0048] 3, the VIG system 300 may include at least one communication interface 310, at least one processor 320, at least one input / output component 330, and at least one storage 340. According to an embodiment, the at least one communication interface 310, the at least one processor 320, the at least one input / output component 330, and the at least one storage 340 may be provided in each of the control units (e.g., control units A, B, C, and D) of the VIG system.

[0049] It may be understood that VIG system 300 may include more or fewer components than those shown in FIG. 3 and / or may be arranged differently than those shown in FIG. 3 without departing from the scope of the present disclosure.

[0050] The communications interface 310 may include at least one transceiver-like component (e.g., a transceiver, a separate receiver and transmitter, a bus, etc.) that enables the components of the VIG system 300 to communicate with each other and / or with one or more components external to the VIG system 300, such as via wired connections, wireless connections, or a combination of wired and wireless connections.

[0051] For example, communication interface 310 may connect processor 320 to storage 340, thereby enabling them to communicate with and interoperate with each other in performing one or more operations. As another example, communication interface 310 may connect VIG system 300 (or one or more components included therein) to server 110, enabling them to communicate with and interoperate with each other.

[0052] According to one or more embodiments, the communications interface 310 may include one or more application programming interfaces (APIs) that enable the VIG system 300 (or one or more components included therein) to communicate with one or more software applications (e.g., software applications deployed on the server 110).

[0053] Input / output components 330 may include at least one component that enables VIG system 300 to receive information and / or provide output information. In some embodiments, input / output components 330 may include at least one input component (e.g., a touch screen display, a button, a switch, a microphone, a sensor, etc.) and at least one output component (e.g., a display, a speaker, one or more light emitting diodes (LEDs), etc.), each of which may be understood to be separate from one another.

[0054] Storage 340 may include one or more storage media suitable for storing data, information, and / or computer-executable instructions therein. According to an embodiment, storage 340 may include at least one memory storage, such as random access memory (RAM), read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory), that stores information and / or instructions for use by processor 320. Additionally or alternatively, storage 340 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium along with a corresponding drive.

[0055] According to an embodiment, storage 340 may be configured to store information, such as raw data, metadata, or the like, obtained from server 110. Additionally or alternatively, storage 340 may be configured to store one or more pieces of information associated with one or more operations performed by processor 320. For example, storage 340 may store information defining historical operations performed by processor 320 to generate the identification information, one or more results of operations performed by processor 320, or the like. Additionally, storage 340 may store data or information required in generating the identification information.

[0056] In some implementations, storage 340 may include multiple storage media and may be configured to store duplicates or copies of at least a portion of the information on multiple storage media to provide redundancy and to back up the information or associated data. Additionally, storage 340 may also store computer-readable or computer-executable instructions that, when executed by one or more processors (e.g., processor 320), cause the one or more processors to perform one or more acts / operations described herein.

[0057] Processor 320 may include at least one processor that is programmable or configurable to perform the functions or operations described herein. For example, processor 320 may be configured to execute computer-executable instructions stored in at least one storage medium or memory storage (such as, for example, storage 340) to thereby perform one or more acts or operations described herein.

[0058] According to an embodiment, the processor 320 may be configured to receive one or more signals and / or one or more user inputs (e.g., via the communications interface 310, the input / output components 330, etc.) that define one or more instructions to perform one or more operations. Furthermore, the processor 320 may be implemented in hardware, firmware, or a combination of hardware and software. For example, the processor 320 may include at least one of a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), and / or another type of processing or computational component.

[0059] According to an embodiment, the processor 320 may be configured to collect, extract, and / or receive one or more pieces of information (e.g., in the form of signals or data) from the server 110 and process the received one or more pieces of information, thereby generating the identification information.

[0060] A description of some example operations that may be performed by processor 320 is provided below with reference to FIGS.

[0061] Example Operations for Generating Vehicle Identification Information in the Present Disclosure Below, some exemplary operations that the VIG system of the present disclosure may perform are described with reference to FIGS.

[0062] FIG. 4 illustrates a flow diagram of an example method 400 for generating identification information for a vehicle, according to one or more embodiments. One or more operations in the method 400 may be performed by at least one processor (e.g., processor 320) of the VIG system. According to an embodiment, the VIG system may be provided in a vehicle and may include a plurality of control units that control electrical systems in the vehicle. According to an embodiment, the plurality of control units may include a central control unit and one or more secondary control units (i.e., control units in the plurality of control units other than the central control unit), where one or more operations in the method 400 may be performed by the central control unit. According to an embodiment, one or more operations in the method 400 may be performed during a startup process of the vehicle. According to an embodiment, the plurality of control units may include an electronic control unit (ECU).

[0063] As shown in Figure 4, at operation S410, the at least one processor may be configured to determine whether all of the plurality of control units in the vehicle have successfully secure booted. It may be appreciated that during the startup process of the vehicle, each of the plurality of control units in the vehicle may be configured to perform a secure boot process, and the at least one processor may be configured to determine whether all of the plurality of control units have succeeded in the process. A description of the secure boot process and determining whether all of the plurality of control units have successfully secure booted is provided below with reference to Figures 6 and 7. The method then proceeds to operation S420.

[0064] At operation S420, in response to determining that all of the plurality of control units have successfully securely booted during operation S410, the at least one processor may be configured to generate an identification information for the vehicle based on the plurality of control units that have successfully securely booted. According to an embodiment, the identification information may specify a plurality of cryptographic signatures associated with the plurality of control units that have successfully securely booted, where each of the plurality of cryptographic signatures is unique.

[0065] According to an embodiment, each control unit (e.g., ECU) may be configured with a set of public and private cryptographic keys by the manufacturer during its manufacture. The keys may be configured in a Hardware Security Module (HSM) in the control unit's SOC, which allows only the control unit to utilize the keys to provide cryptographic signatures, preventing any third-party attacker from using the keys. Furthermore, each set of keys (and corresponding signatures) is unique, such that no two control units can provide the same cryptographic signature, regardless of whether they are manufactured by the same manufacturer, manufactured in the same batch, have the same model, and are of the same kind. According to an embodiment, the cryptographic signatures of one or more secondary control units may be received by a central control unit as part of determining whether all of the multiple control units have successfully secure booted.

[0066] According to an embodiment, the identification information may include a software bill of materials (SBOM) that specifies multiple cryptographic signatures associated with multiple control units that have successfully securely booted.

[0067] It can be appreciated that because each cryptographic signature is unique to a particular control unit, the identification information (which specifies such a unique combination of signatures) is also unique, such that the identification information can be used to identify a particular vehicle having a particular control unit that corresponds to the particular signature in the identification information. Furthermore, because the identification information simply specifies a unique combination of signatures, the format for a vehicle's identification information can be standardized regardless of location.

[0068] Upon performing operation S420, method 400 may end or terminate. Alternatively, method 400 may return to operation S410, such that the at least one processor may be configured to repeatedly determine that all of the plurality of control units have successfully securely booted (at operation S410) and generate an identification information for the vehicle (at operation S420) for at least a predetermined amount of time.

[0069] To this end, the system of the present disclosure may generate vehicle identification information based on multiple control units that have successfully securely booted.

[0070] Exemplary Operations for Verifying and Generating Vehicle Identification Information in the Present Disclosure 5 illustrates a flow diagram of an example method 500 for verifying and generating vehicle identification information according to one or more embodiments. One or more operations of method 500 may be part of operations S410 and / or S420 in method 400 and may be performed by at least one processor of the VIG system (e.g., processor 320).

[0071] As shown in Figure 5, in operation S510, the at least one processor may be configured to determine whether all of the plurality of control units in the vehicle have successfully secure booted. It may be appreciated that during a boot process of the vehicle, each of the plurality of control units in the vehicle may be configured to perform a secure boot process, and the at least one processor may be configured to determine whether all of the plurality of control units have succeeded in the process. A description of the secure boot process and determining whether all of the plurality of control units have successfully secure booted is provided below with reference to Figures 6 and 7.

[0072] Thus, based on a determination that all of the control units in the vehicle have successfully securely booted, the at least one processor may determine that all of the control units in the vehicle are valid and proceed to operation S520. On the other hand, based on a determination that not all of the control units in the vehicle have successfully securely booted (i.e., one or more of the control units in the vehicle failed the secure boot process), the at least one processor may determine that one or more of the control units in the vehicle may not be valid and proceed to operation S540.

[0073] At operation S520, the at least one processor may be configured to generate an identification information for the vehicle based on the plurality of control units that have successfully securely booted. According to an embodiment, the identification information may specify a plurality of cryptographic signatures associated with the plurality of control units that have successfully securely booted, similar to operation S420 in method 400. The method then proceeds to operation S530.

[0074] At operation S530, the at least one processor may be configured to transmit the identification information to a server. According to an embodiment, the server may refer to a server external to the vehicle with which the vehicle communicates to perform various functions. According to an embodiment, the server may receive and store the identification information and utilize the identification information to identify the vehicle. In particular, because the identification information specifies a unique signature combination associated with a particular control unit in a particular vehicle, the server may be able to identify a particular vehicle based on whether the vehicle includes a combination of control units associated with the unique signature combination specified in the identification information. Furthermore, because the identification information simply specifies a unique signature combination, the format for the vehicle's identification information may be standardized regardless of location.

[0075] According to an embodiment, the at least one processor may be configured to transmit the identification information to the server via an Elliptic Curve Integrated Encryption Scheme (ECIES). According to an embodiment, the identification information may be transmitted via the ECIES using the vehicle VIN as a salt for key generation. It may be appreciated that the use of the ECIES for encryption and transmission of data using the VIN as a salt allows for blocking or banning of keys or vehicles from the server if necessary.

[0076] According to an embodiment, the server may store information about the vehicle, such as the owner of the vehicle, the software and hardware in the vehicle, and the like, which may be identified by an identification information.

[0077] At operation S540, the at least one processor may be configured to reboot the failed control unit. According to an embodiment, the failed control unit may refer to a control unit that has not successfully securely booted. A description of rebooting the failed control unit is described below with reference to FIG. 8. The method then proceeds to operation S550.

[0078] At operation S550, the at least one processor may be configured to determine whether the failed control unit rebooted successfully. According to an embodiment, the at least one processor may be configured to determine whether the failed control unit rebooted successfully by sending a request to the failed control unit for a status of the failed control unit, receiving a status of the failed control unit from the failed control unit, and determining whether the failed control unit rebooted successfully based on the status, similar to operations S630, S640, and S650 in method 600 described below.

[0079] It can be appreciated that if there are multiple failed control units, operations S540 and S550 can be performed for all of the failed control units.

[0080] Thus, based on a determination that the failed control unit rebooted normally, the at least one processor may determine that all of the multiple control units in the vehicle are valid and proceed to operation S520. On the other hand, based on a determination that the failed control unit did not reboot normally (i.e., the failed control unit failed the reboot process), the at least one processor may determine that one or more of the multiple control units in the vehicle are not valid and proceed to operation S560.

[0081] At operation S560, the at least one processor may be configured to disable one or more non-essential functions of the vehicle. According to an embodiment, the non-essential functions of the vehicle may refer to functions of the vehicle that are not directly related to the movement of the vehicle. For example, the non-essential functions may include online payments, weather reports, video playback, and the like, provided via an in-vehicle infotainment (IVI) system of the vehicle. According to an embodiment, the at least one processor may be configured to disable one or more non-essential functions of the vehicle by preventing one or more non-safety-critical CAN signals from being transmitted and received within the vehicle while allowing all safety-critical CAN signals to be transmitted and received within the vehicle.

[0082] According to embodiments, the at least one processor may be configured to disable one or more non-essential functions of the vehicle associated with the failed control unit. According to embodiments, the at least one processor may be configured to disable all non-essential functions of the vehicle regardless of which functions are associated with the failed control unit.

[0083] It may be understood that once one or more non-essential features of a vehicle are disabled, the only way to enable the feature is to have a trusted / verified entity, such as the vehicle's seller, dealer, manufacturer, or the like, enable the feature. Such a process prevents malicious hardware and / or software from being installed to compromise the vehicle. In particular, if, for example, a vehicle user installs credit card information in the vehicle's IVI system to make online payments, when untrusted / invalid hardware and / or software is detected in the vehicle (i.e., by determining that not all of the multiple control units have successfully secure booted and the failed control unit cannot be rebooted), the feature for making online payments should be disabled. Furthermore, the enablement of the feature should be restricted to trusted / verified entities to improve security and prevent any third party from easily compromising the vehicle.

[0084] It may also be appreciated that when untrusted / invalid hardware and / or software is detected in a vehicle, some or all non-essential functions of the vehicle should be disabled, but essential functions of the vehicle, such as the movement and steering of the vehicle, should not be disabled, so that the vehicle is at least operable to transport the user to a trusted / verified entity, and in addition, to prevent any undesirable accidents that may occur by completely disabling all functions of the vehicle.

[0085] According to an embodiment, when one or more non-essential features of the vehicle are disabled, a lock notification may be provided to the user. According to an embodiment, the lock notification may indicate to the user that one or more non-essential features of the vehicle are disabled (locked) and that the user should go to a trusted / verified entity to enable the features. According to an embodiment, the lock notification may be in the form of an LED light.

[0086] Once operations S530 or S560 have been performed, the method 500 may end or terminate.

[0087] Alternatively, after performing operation S530, method 500 may return to operation S510, such that the at least one processor may be configured to repeatedly perform (at operation S510) determining whether all of the multiple control units have successfully securely booted, (at operation S520) generating identification information for the vehicle, transmitting the identification information (at operation S530), rebooting the failed control unit (at operation S540), determining whether the failed control unit has successfully rebooted (at operation S550), and disabling one or more non-essential functions of the vehicle (at operation S560) for at least a predetermined amount of time.

[0088] For example, once method 500 has ended with operation S530 (wherein identification information is generated based on the signature of the vehicle's control unit), the user may drive the vehicle to a location and stop the vehicle. Then, the next time the user starts the vehicle, the vehicle may begin a boot process where method 500 may begin again. Assuming there are no changes to the vehicle's hardware (i.e., the hardware associated with the control unit and the control unit itself in the vehicle), operations S510, S520, and S530 may be performed again where the vehicle's identification information remains intact.

[0089] On the other hand, if the vehicle's hardware is properly modified by a trusted / verified entity, the next time the user starts the vehicle and operations S510 and S520 are performed, the resulting identification information will be different from the previous identification information (i.e., the signature shown in the new identification information will specify the new hardware rather than the previous hardware). Thus, the at least one processor may transmit the new identification information to the server during operation S530, so that the server may update the vehicle's identification information stored in the server. According to an embodiment, the server may store both the new and old identification information of the vehicle in order to maintain a record of the vehicle.

[0090] This process allows the vehicle's identity to be changed, thereby reducing the risk of non-compliance with privacy laws that allow for having identifiers that are permanent and cannot be reset.

[0091] It may also be appreciated that a diagnostic tool may be used to put the vehicle into a diagnostic mode in order for a trusted / verified entity to appropriately modify the vehicle's hardware (to subsequently allow all of the control units to securely boot successfully), in which the vehicle's hardware and / or software may be modified such that the new hardware and / or software does not fail secure boot.

[0092] It can also be understood that if a third party attacker installs malicious hardware and / or software in a vehicle, the next time the user starts the vehicle, the control unit associated with the malicious hardware and / or software may fail the secure boot process and operations S540, S550, and S560 may occur.

[0093] Through this process, the vehicle's identity can act not only as an identifier for the vehicle, but also as a verification tool to verify whether the vehicle has been compromised and is unsafe to operate at full capacity, thereby improving the security of the vehicle.Furthermore, privacy can be maintained because the identity merely specifies a combination of the vehicle's components (i.e., control units) and not a particular configuration of those components.

[0094] Exemplary Operations for Determining Whether All of the Control Units in a Vehicle of the Present Disclosure Have Successfully Secure Booted 6 illustrates a flow diagram of an example method 600 for determining whether all of a plurality of control units in a vehicle have successfully performed a secure boot, according to one or more embodiments. One or more operations of the method 600 may be part of operation S510 in the method 500 and may be performed by at least one processor (e.g., processor 320) of the VIG system. In particular, similar to the description provided in connection with the methods 400 and 500, the plurality of control units may include a central control unit and one or more secondary control units, where one or more operations of the method 600 may be performed by the central control unit. Furthermore, during the startup process of the vehicle, each of the plurality of control units (i.e., the central control unit and one or more secondary control units) in the vehicle is configured to perform a secure boot process.

[0095] As shown in Figure 6, at operation S610, at least one processor (i.e., a processor of a central control unit) may be configured to perform a secure boot. A description of the secure boot process is provided below with reference to Figure 7. The method then proceeds to operation S620.

[0096] At operation S620, the at least one processor may be configured to determine whether the secure boot was successful. Thus, based on a determination that the secure boot process was successful, the at least one processor may determine that the central control unit of the multiple control units has successfully securely booted and proceed to operation S630. On the other hand, based on a determination that the secure boot process was not successful, the at least one processor may determine that the central control unit of the multiple control units has not successfully securely booted and proceed to operation S660.

[0097] At operation S630, the at least one processor may be configured to send a request to the one or more secondary control units regarding the status of the one or more secondary control units. According to an embodiment, the status of the one or more secondary control units may indicate whether the one or more secondary control units have successfully securely booted.

[0098] For example, if a vehicle includes control unit A, control unit B, control unit C, and control unit D, and control unit A functions as a central control unit, each of control units A, B, C, and D may be configured to perform a secure boot process. In this regard, once control unit A successfully securely boots during operations S610 and S620, control unit A may be configured to send requests to control units B, C, and D regarding the status of control units B, C, and D, respectively. The method then proceeds to operation S640.

[0099] At operation S640, the at least one processor may be configured to receive a status of the one or more secondary control units from the one or more secondary control units. According to an embodiment, the status of the one or more secondary control units may indicate whether the one or more secondary control units have successfully securely booted.

[0100] According to embodiments, if one or more secondary control units successfully secure boot, the one or more secondary control units may be configured to send a status to the central control unit indicating that the one or more secondary control units successfully secure booted. According to embodiments, the one or more secondary control units may cryptographically sign the status using a cryptographic key, such that the status may serve as proof that the one or more secondary control units successfully secure booted. For example, if cryptographic key B is embedded within control unit B during its manufacture and control unit B successfully secure boots, control unit B may cryptographically sign the status using cryptographic key B and then send the signed status to control unit A indicating that control unit B successfully secure boots.

[0101] According to an embodiment, if one or more secondary control units have not successfully securely booted, the one or more secondary control units may be configured to send a status to the central control unit indicating that the one or more secondary control units have not successfully securely booted. For example, if control unit C has not successfully securely booted, control unit C may send a status to control unit A indicating that control unit C has not successfully securely booted. The method then proceeds to operation S650.

[0102] At operation S650, the at least one processor may be configured to determine, based on the received status, whether all of the secondary control units (i.e., all control units in the vehicle other than the central control unit) have successfully securely booted. Thus, based on a determination that all of the secondary control units have successfully securely booted, the at least one processor may determine that all of the multiple control units in the vehicle have successfully securely booted. On the other hand, based on a determination that not all of the secondary control units have successfully securely booted, the at least one processor may determine that not all of the multiple control units in the vehicle have successfully securely booted.

[0103] In operation S660, the at least one processor may be configured to send a first failure notification to the one or more secondary control units. According to an embodiment, the first failure notification may indicate that the central control unit has not successfully securely booted. According to an embodiment, in response to receiving the first failure notification, the one or more secondary control units may be configured to select a control unit from a plurality of control units in a vehicle different from the central control unit as a new central control unit. According to an embodiment, the one or more secondary control units may be configured to select a new central control unit based on a vote among the one or more secondary control units.

[0104] It can be understood that each of the control units may store a list of preferred control units during its manufacture. The list of preferred control units may specify a priority as to which control unit should be the central control unit. The list of preferred control units may be predefined by the manufacturer of the control unit as needed based on the use of the control unit, the type of vehicle, and the like. For example, an ECU designed for use in a battery electric vehicle may specify an advanced driver assistance system (ADAS) ECU as the first preferred control unit because ADAS has high computing power.

[0105] It can be appreciated that according to an embodiment, an initial control unit (eg, control unit A) may be selected as the central control unit by one or more secondary control units based on voting as well.

[0106] Once a new central control unit is selected, method 600 may be started again with the new central control unit, where the previous central control unit is now considered as the secondary control unit. For example, if control unit A does not successfully secure boot and control unit D is selected as the new central control unit, method 600 may be started again with control unit D as the central control unit and control units A, B, and C as the secondary control units. It may also be understood that during operation S610, if the new central control unit also does not successfully secure boot, operation S660 may be performed again to select yet another new central control unit. For example, if control unit D also does not successfully secure boot, operation S660 may be performed, where control unit B or C may be selected as yet another new central control unit.

[0107] It can be appreciated that if the new central control unit has already successfully secure booted when selected, the new central control unit can skip operations S610 and S620.

[0108] Exemplary Secure Boot Process in This Disclosure FIG. 7 illustrates a flow diagram of an exemplary secure boot process according to one or more embodiments.

[0109] As shown in FIG. 7, the secure boot process can be separated into four software execution privilege levels / stages: exception level (EL) 3 for the boot firmware, exception level 2 for the hypervisor, exception level 1 for the operating system (OS), and exception level 0 for applications.

[0110] The secure boot process may begin at EL3, where power is turned on and the boot ROM starts. The boot ROM may then be configured to launch the boot firmware. Once the boot firmware is launched, the boot ROM may be configured to determine whether the boot firmware has been adjusted by comparing the boot firmware with a memory image previously verified for the boot firmware. The previously verified memory image for the boot firmware may indicate the latest verified configuration for the boot firmware (e.g., the configuration of the boot firmware during manufacturing). It may be understood that the previously verified memory image for the boot firmware may be stored in the memory of the corresponding control unit. It may also be understood that if the boot firmware has been previously updated, the updated boot firmware may also be stored in the memory and used for comparison.

[0111] The boot firmware may also be configured to determine whether the associated hardware being executed is authentic by cryptographically querying the associated hardware. It may be appreciated that, similar to a control unit (e.g., ECU), each piece of hardware in a vehicle may also have a set of public and private encryption keys embedded in it by the manufacturer during its manufacture to designate it as authentic. Thus, the boot firmware may be able to cryptographically query the associated hardware based on the keys embedded in it to verify whether it is authentic. Once the boot firmware verifies that the boot firmware has not been tampered with and that the associated hardware is authentic, the boot ROM may be configured to sign a hash of the boot firmware to verify that it has booted properly.

[0112] The boot firmware may then be configured to launch the hypervisor at EL2 and, similar to the boot firmware, determine whether the hypervisor has been adjusted by comparing the hypervisor to a previously verified memory image for the hypervisor. If the boot firmware determines that the hypervisor has not been adjusted, the boot firmware may be configured to sign a hash of the hypervisor to verify that the hypervisor has booted properly.

[0113] The hypervisor may then be configured to determine whether the OS has been tweaked by booting the OS at EL1 and, similar to the boot firmware, comparing the OS to a previously verified memory image for the OS. If the hypervisor determines that the OS has not been tweaked, the hypervisor may be configured to sign a hash of the OS to verify that the OS has booted properly.

[0114] The OS may then be configured to launch the application at EL0 and determine if the application has been tampered with by comparing the application to a previously verified memory image for the application, similar to the boot firmware. If the OS determines that the application has not been tampered with, the OS may be configured to sign a hash of the application to verify that the application has booted properly.

[0115] Thus, each level in the boot process may sequentially verify the level above, providing a chain of levels of trust via cryptographic signatures. Thus, once the application has booted properly and all hashes of EL3, EL2, EL1, and EL0 have been signed, the control unit has successfully securely booted. Furthermore, once the control unit has successfully securely booted, an SBOM may be generated enumerating all components (hardware, software, and the like) associated with the control unit, where a hash of the SBOM may be cryptographically signed and stored in the control unit's memory. It may be appreciated that if the hardware and / or software associated with the control unit is appropriately modified by a trusted / verified entity and a new hash of the SBOM is generated, the new hash of the SBOM may be cryptographically signed and stored in the control unit's memory along with the previous hash of the SBOM to maintain a record of the control unit's components.

[0116] In this regard, when a control unit receives a request for status, the control unit may then transmit a signed hash of the SBOM to indicate that the control unit has successfully securely booted. It may be appreciated that the cryptographic signature described above is provided using a cryptographic key embedded in the corresponding control unit.

[0117] It can be appreciated that if none of the levels boot properly, the boot process may stop and the signature may not be provided. Thus, the control unit has not securely booted properly. In this regard, when the control unit receives a request regarding the status, the control unit may then send a notification to indicate that the control unit has not securely booted properly.

[0118] In view of the above, according to an embodiment, the generated vehicle identification information may include a signed hash of the SBOM specifying signed hashes of multiple SBOMs received from multiple control units.

[0119] According to an embodiment, the secure boot process may be completed within 460 ms or 520 ms.

[0120] Exemplary Operations for Rebooting a Failed Control Unit in the Present Disclosure 8 illustrates a flow diagram of an example method 800 for rebooting a failed control unit, according to one or more embodiments. One or more operations of method 800 may be part of operation S540 in method 500 and may be performed by at least one processor (e.g., processor 320) of the VIG system. In particular, similar to the description provided in connection with methods 400 and 500, the multiple control units may include a central control unit and one or more secondary control units, where one or more operations in method 800 may be performed by the central control unit. Furthermore, a failed control unit may refer to a control unit of the multiple control units that has not successfully securely booted.

[0121] As shown in FIG. 8, in operation S810, at least one processor (i.e., a processor of the central control unit) may be configured to send a second failure notification to a server. According to an embodiment, the second failure notification may identify the failed control unit and indicate that the failed control unit has not successfully secure booted. According to an embodiment, in response to receiving the second failure notification, the server may be configured to send data to reboot the failed control unit. According to an embodiment, the data to reboot the failed control unit may include an over-the-air (OTA) patch to reconfigure the failed control unit back to factory settings.

[0122] It can be appreciated that the vehicle may include a primary communication path for internal communications within the vehicle and a secondary communication path for external communications outside the vehicle. Thus, it can be appreciated that the second failure notification may be transmitted to the server via the secondary communication path. The method then proceeds to operation S820.

[0123] At operation S820, the at least one processor may be configured to receive data from a server to reboot the failed control unit. The method then proceeds to operation S830.

[0124] At operation S830, the at least one processor may be configured to use the received data to reboot the failed control unit. According to an embodiment, the at least one processor may be configured to execute a patch to reconfigure the failed control unit back to factory settings and then request the failed control unit to go through the secure boot process again.

[0125] Various aspects of the embodiments

[0126] The above disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.

[0127] Some embodiments may relate to systems, methods, and / or computer-readable media at any possible level of technical detail of integration. Furthermore, one or more of the above components described above may be implemented as instructions stored in a computer-readable medium and executable by at least one processor (and / or may include at least one processor). The computer-readable medium may include a computer-readable non-transitory storage medium (or media) having computer-readable program instructions for causing a processor to perform operations.

[0128] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), static random access memories (SRAMs), portable compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves with instructions recorded on them, and any suitable combination of the above. As used herein, computer-readable storage media should not be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.

[0129] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium into each computing / processing device, or may be downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing / processing device.

[0130] The computer readable program code / instructions for performing the operations may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, or the like, and procedural programming languages ​​such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or a connection to an external computer may be made (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry to perform an aspect or operation.

[0131] The computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing apparatus produce means for implementing the function / act specified in the block or blocks of the flowcharts and / or block diagrams. The computer-readable program instructions may also be stored in a computer-readable storage medium that may direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer-readable storage medium having instructions stored therein comprises an article of manufacture including instructions that implement an aspect of the function / act specified in the block or blocks of the flowcharts and / or block diagrams.

[0132] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause the computer, other programmable apparatus, or other device to perform a series of operational steps to generate a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the function / act specified in the block or blocks of the flowcharts and / or block diagrams.

[0133] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. In this regard, each block in the flowcharts or block diagrams may represent a portion of a microservice module, segment, or instruction, comprising one or more executable instructions that implement the specified logical function. The methods, computer systems, and computer-readable media may include additional, fewer, different, or differently arranged blocks compared to those depicted in the figures. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may in fact be executed simultaneously or substantially simultaneously, or the blocks may be executed in reverse order depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, as well as combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or acts or executes a combination of dedicated hardware and computer instructions.

[0134] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement the systems and / or methods is not a limitation of the implementation. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it will be understood that software and hardware can be designed to implement the systems and / or methods based on the description herein.

[0135] It can be appreciated that numerous modifications and variations of the present disclosure are possible in light of the above teachings. It will be apparent that, within the scope of the appended paragraphs, the present disclosure may be practiced otherwise than as specifically described herein.

Claims

1. 1. A system comprising: a memory storage device storing computer executable instructions; at least one processor communicatively connected to the memory storage; wherein the at least one processor executes the computer-executable instructions to Determining whether all of the multiple control units in the vehicle have successfully performed a secure boot; The system is configured to generate identification information for the vehicle based on the plurality of control units that have successfully performed a secure boot in response to a determination that all of the plurality of control units have successfully performed a secure boot.

2. 2. The system of claim 1, wherein the identification information specifies a plurality of cryptographic signatures associated with the plurality of control units that have successfully securely booted, each of the plurality of cryptographic signatures being unique.

3. The at least one processor executes the computer-executable instructions to: rebooting a failed control unit that has not normally performed the secure boot in response to a determination that not all of the plurality of control units have normally performed the secure boot; determining whether the failed control unit has successfully rebooted; 3. The system of claim 1 or 2, configured to disable one or more non-essential functions of the vehicle in response to determining that the failed control unit has not rebooted normally.

4. the plurality of control units comprises a central control unit and one or more secondary control units; the central control unit comprises the memory storage and the at least one processor; The at least one processor executes the computer-executable instructions to: Secure boot and determining whether the secure boot was successful; and responsive to determining that the secure boot was successful, sending a request to the one or more secondary control units regarding a status of the one or more secondary control units; receiving the status of the one or more secondary control units from the one or more secondary control units; determining whether the one or more secondary control units have successfully performed a secure boot based on the status; and The system according to claim 1 or 2, further configured to determine whether all of the plurality of control units have successfully performed a secure boot by:

5. the at least one processor is configured to execute the computer-executable instructions to send a first failure notification to the one or more secondary control units in response to a failure of the secure boot; The system of claim 4 , wherein the one or more secondary control units are configured to, in response to receiving the first failure notification, select one control unit from the plurality of control units different from the central control unit as a new central control unit.

6. The system of claim 4 , wherein the status of the one or more secondary control units is cryptographically signed by a corresponding one or more secondary control units using an encryption key.

7. The system of claim 1 or 2, wherein the plurality of control units comprises an electronic control unit (ECU).

8. The system of claim 1 or 2, wherein the identification information comprises a software bill of materials (SBOM).

9. 3. The system of claim 1 or 2, wherein the at least one processor is configured to execute the computer-executable instructions to transmit the identification information to a server via an Elliptic Curve Integrated Encryption Scheme (ECIES).

10. Determining whether all of a plurality of control units in a vehicle have successfully performed a secure boot; In response to a determination that all of the plurality of control units have normally performed the secure boot, generating identification information of the vehicle based on the plurality of control units that have normally performed the secure boot; A method comprising:

11. The method of claim 10 , wherein the identification information specifies a plurality of cryptographic signatures associated with the plurality of control units that have successfully securely booted, each of the plurality of cryptographic signatures being unique.

12. rebooting a failed control unit that has not normally performed the secure boot in response to a determination that not all of the plurality of control units have normally performed the secure boot; determining whether the failed control unit has successfully rebooted; in response to determining that the failed control unit has not rebooted normally, disabling one or more non-essential functions of the vehicle; The method of claim 10 or 11, further comprising:

13. the plurality of control units comprises a central control unit and one or more secondary control units; The determination of whether all of the control units in the vehicle have been securely booted normally includes: performing a secure boot by the central control unit; determining, by the central control unit, whether the secure boot was successful; in response to determining that the secure boot was successful, sending, by the central control unit, a request to the one or more secondary control units regarding the status of the one or more secondary control units; receiving, by the central control unit, the status of the one or more secondary control units from the one or more secondary control units; determining, by the central control unit, whether the one or more secondary control units have successfully performed a secure boot based on the status; The method of claim 10 or 11, comprising:

14. in response to the secure boot failing, sending, by the central control unit, a first failure notification to the one or more secondary control units; selecting, by the one or more secondary control units, a control unit from the plurality of control units different from the central control unit as a new central control unit in response to receiving the first failure notification; The method of claim 13 further comprising:

15. The method of claim 13 , wherein the status of the one or more secondary control units is cryptographically signed by a corresponding one or more secondary control units using an encryption key.

16. The method of claim 10 or 11, wherein the plurality of control units comprises electronic control units (ECUs).

17. The method of claim 10 or 11, wherein the identification information comprises a software bill of materials (SBOM).

18. 12. The method of claim 10 or 11, wherein at least one processor is configured to execute instructions to transmit the identification information to a server via an Elliptic Curve Integrated Encryption Scheme (ECIES).

19. A non-transitory computer-readable storage medium having instructions recorded thereon, the instructions being executable by at least one processor to cause the at least one processor to perform a method, the method comprising: Determining whether all of a plurality of control units in a vehicle have successfully performed a secure boot; generating identification information for the vehicle based on the plurality of control units that have been securely booted normally in response to a determination that all of the plurality of control units have been securely booted normally; A non-transitory computer-readable recording medium comprising:

20. 20. The non-transitory computer-readable medium of claim 19, wherein the identification information specifies a plurality of cryptographic signatures associated with the plurality of control units that have successfully securely booted, each of the plurality of cryptographic signatures being unique.

Citation Information

Patent Citations

  • Management system, key generation device, on-vehicle computer, management method, and computer program

    JP2018026669A

  • Verifying identity of a vehicle entering a trust zone

    US20220116221A1