Information processing device, electronic control system, information processing method, and information processing program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-03
- Publication Date
- 2026-08-14
Smart Images

Figure 2026131522000001_ABST
Abstract
Description
Technical Field
[0001] This disclosure is mainly a technology for using the calculation result using a key in communication between information processing devices mounted on a moving body such as an automobile, or between an information processing device and an external device. More specifically, it relates to an information processing device, an electronic control system, an information processing method, and an information processing program (hereinafter collectively referred to as "information processing device, etc.") in which an information processing device can quickly obtain a calculation result when performing a calculation using a key by a hardware security module (HSM).
Background Art
[0002] With the recent spread of autonomous driving technology and connected cars, communication between information processing devices that make up the electronic control system mounted on automobiles and external devices provided outside the automobiles, as well as communication between information processing devices inside the automobiles, has been increasing. Along with this, the risk of cyberattacks has been increasing, and the importance of security in in-vehicle networks has been increasing.
[0003] In order to detect or prevent cyberattacks on in-vehicle networks, it is effective to use message authentication technology or technology for encrypting transmitted and received data. When using these technologies, in order to manage keys in a secure environment and perform various processes using keys, an electronic control device equipped with an HSM as disclosed in Patent Document 1 may be used.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] The inventors of the present invention have found the following problems. When performing calculations using keys on an HSM, the information processing device must first request the calculation from the HSM, the HSM must then perform the calculation, and after the calculation on the HSM is completed, the information processing device must retrieve the calculation result.
[0006] Traditionally, a method for information processing devices to obtain calculation results is to receive an interrupt from the HSM (High-Speed Multifunction Device) indicating the completion of the calculation. However, there are cases where the information processing device cannot receive an interrupt from the HSM, such as by setting the security level of the information processing device higher than that of the HSM. Another possible approach is to poll the HSM for calculation results from the information processing unit, that is, to periodically query it. However, this approach has the problem of increasing the load on the information processing unit due to the polling process, and preventing the information processing unit from performing other tasks. Furthermore, one possible approach is for the information processing device to acquire the calculation results from the HSM after a certain period of time has elapsed. However, if the time required for calculation in the HSM fluctuates, it may result in waiting longer than necessary or failing to acquire the calculation results because the calculation has not yet finished. As a result, necessary communication using the calculation results may be delayed, potentially causing delays in vehicle control.
[0007] One aspect of this disclosure is the aim of realizing an information processing device that can acquire calculation results from an HSM more quickly and reliably. [Means for solving the problem]
[0008] One aspect of this disclosure is an information processing device (100) connected to a hardware security module (HSM) that performs calculations using keys, A calculation request unit (102) that requests the aforementioned calculation from the HSM, A prediction time calculation unit (103) that calculates the predicted time, A calculation result acquisition unit (104) acquires the calculation result, which is the result of the calculation, when the predicted time has elapsed since the request, It has a processing unit (105) that performs processing using the calculation result, The prediction time calculation unit calculates the prediction time based on previously calculated prediction times and calculation result acquisition success / failure information indicating whether or not the calculation result based on the previously calculated prediction time was acquired.
[0009] With this configuration, the information processing device of the present disclosure calculates the predicted time using the calculated predicted time and obtains the calculation result when the predicted time has elapsed since the request for calculation to the HSM, thereby enabling the calculation result from the HSM to be obtained more quickly and reliably.
[0010] The numbers in parentheses attached to the claims and the constituent elements of the invention described in this section indicate the correspondence between the present invention and the embodiments described later, and are not intended to limit the present invention. [Brief explanation of the drawing]
[0011] [Figure 1] Explanatory diagram illustrating the location of the electronic control system in each embodiment. [Figure 2] Block diagram showing an example configuration of the electronic control system S. [Figure 3] Diagram illustrating the positional relationship between the information processing device and the HSM in each embodiment. [Figure 4] Diagram illustrating the relationship between the transmitting information processing device and the receiving information processing device in each embodiment. [Figure 5] Block diagram showing an example configuration of the information processing device for each embodiment. [Figure 6] This diagram illustrates the information stored in the prediction time-related information storage unit of the information processing device in Embodiment 1. [Figure 7] Flowcharts illustrating the operation of information processing devices and the like in each embodiment. [Figure 8] Block diagram showing a specific configuration example of the electronic control system and information processing device of each embodiment (Example 1) [Figure 9] Block diagram showing a specific configuration example of the electronic control system and information processing device of each embodiment (Example 2) [Figure 10] Explanatory drawing for explaining information stored in the prediction time-related information storage unit of the information processing apparatus in Embodiment 2
Mode for Carrying Out the Invention
[0012] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the drawings.
[0013] The present invention means the invention described in the claims or the section of means for solving the problems, and is not limited to the following embodiments. Also, at least the words in parentheses mean the words described in the claims or the section of means for solving the problems, and are not limited to the following embodiments either.
[0014] The configurations and methods described in the dependent claims of the claims are arbitrary configurations and methods in the invention described in the independent claim of the claims. The configurations and methods of the embodiments corresponding to the configurations and methods described in the dependent claims, and the configurations and methods described only in the embodiments without description in the claims are arbitrary configurations and methods in the present invention. The configurations and methods described in the embodiments when the description of the claims is broader than the description of the embodiments are also arbitrary configurations and methods in the present invention in the sense that they are examples of the configurations and methods of the present invention. In any case, by describing in the independent claim of the claims, it becomes the essential configuration and method of the present invention.
[0015] The effects described in the embodiments are the effects when having the configurations of the embodiments as examples of the present invention, and are not necessarily the effects of the present invention.
[0016] When there are a plurality of embodiments (including examples and modified examples. The same applies hereinafter), the configurations disclosed in each embodiment are not limited to each embodiment alone, and can be combined across embodiments. For example, the configuration disclosed in one embodiment may be combined with another embodiment. Also, the configurations disclosed in each of the plurality of embodiments may be collected and combined.
[0017] The problems described in the section on the problems that the invention aims to solve are not publicly known problems, but rather problems that the inventors have discovered independently, and together with the structure and method of the present invention, these facts affirm the inventive step of the invention.
[0018] 1. Configuration and other prerequisites for each embodiment (1) Location where the electronic control system S and information processing device 100 are installed. Referring to Figure 1, the locations where the electronic control system S of each embodiment is installed will be described.
[0019] The electronic control system S of each embodiment has one or more information processing devices 100. Focusing on one information processing device 100, this device sends and receives messages with other information processing devices 100. Alternatively, this device sends and receives messages with an external device 30 installed outside the electronic control system S.
[0020] The electronic control system S and the information processing device 100 contained therein in each embodiment are "mounted" on a vehicle, which is a "mobile object," as shown in Figure 1(a). The following embodiments will be described based on the arrangement shown in Figure 1(a). Here, A "moving object" refers to any object that can move, regardless of its speed. It also includes objects that are stationary. Examples include, but are not limited to, automobiles, motorcycles, bicycles, pedestrians, ships, aircraft, and items carried on them. "To be mounted" includes not only cases where it is directly fixed to the moving object, but also cases where it is not fixed to the moving object but moves with it. Examples include cases where it is carried by a person riding on the moving object, or where it is mounted on cargo placed on the moving object.
[0021] In each embodiment, the electronic control system S is described as an in-vehicle system mounted on a vehicle. However, the electronic control system S is not limited to in-vehicle systems and can be applied to an electronic control system S installed in any location, as shown in Figure 1(b). For example, the electronic control system S may be mounted on a stationary or fixed object rather than a moving object. Alternatively, it may be installed in a building.
[0022] (2) Configuration of the electronic control system S Figure 2 shows an example of the configuration of the electronic control system S. The electronic control system S consists of multiple The system consists of an Electronic Control Unit (ECU) ECU20 and an in-vehicle network (NW1~NW3) connecting them. Figure 2 shows eight ECUs (ECU20a~ECU20h) as an example, but naturally, the electronic control system S can be composed of any number of ECUs. In the following explanation, when describing one or more ECUs as a whole, we will refer to them as ECU20 or each ECU20, and when describing individual electronic control units, we will refer to them as ECU20a, ECU20b, ECU20c, ...
[0023] In the case of Figure 2, each ECU 20 is connected via an in-vehicle communication network, etc. For example, they are connected via an in-vehicle communication network such as CAN (Controller Area Network) or LIN (Local Interconnect Network). Alternatively, they may be connected using any communication method, whether wired or wireless, such as Ethernet®, Wi-Fi®, or Bluetooth®. Furthermore, multiple of these communication methods may be used. Note that "connection" refers to a state in which data can be exchanged, and includes not only cases where different hardware is connected via a wired or wireless communication network, but also cases where virtual machines implemented on the same hardware are virtually connected to each other.
[0024] The electronic control system S shown in Figure 2 includes an integrated ECU 20a, an external communication ECU 20b, zone ECUs (20c, 20d), and individual ECUs (20e to 20h).
[0025] The integrated ECU 20a is an ECU that has the function of controlling the entire electronic control system S, as well as a gateway function that mediates communication between each ECU 20. The integrated ECU 20a is sometimes called a gateway ECU (G-ECU) or a mobility computer (MC). The integrated ECU 20a may also be a relay device or a gateway device.
[0026] The external communication ECU 20b is an ECU having a communication unit that communicates with an external device located outside the vehicle, for example, an external device 30 in each embodiment. The communication method used by the external communication ECU 20b is either wireless communication or wired communication. For example, it is connected via a communication network using wireless communication methods such as IEEE802.11 (Wi-Fi®), IEEE802.16 (WiMAX®), W-CDMA (Wideband Code Division Multiple Access), HSPA (High Speed Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution Advanced), 4G, 5G, etc. Alternatively, DSRC (Dedicated Short Range Communication) can be used. If the vehicle is parked in a parking lot or housed in a repair shop, a wired communication method can be used instead of wireless communication. For example, a LAN (Local Area Network), the internet, or a fixed telephone line can be used. Furthermore, to implement multiple communication methods, multiple external communication ECUs 20b may be provided. Alternatively, instead of providing external communication ECUs 20b, the integrated ECU 20a may incorporate the functions of the external communication ECUs 20b.
[0027] Zone ECUs (20c, 20d) are gateway-function ECUs appropriately positioned according to the location and function of the individual ECUs described later. For example, Zone ECU 20c is an ECU that has a gateway function to mediate communication between individual ECUs 20e and 20f, located at the front of the vehicle, and other ECUs 20, while Zone ECU 20d is an ECU that has a gateway function to mediate communication between individual ECUs 20g and 20h, located at the rear of the vehicle, and other ECUs 20. Zone ECUs (20c, 20d) are sometimes called domain computers (DCs). Individual ECUs 20e and 20f are connected to Zone ECU 20c via Network 2 (NW2), and individual ECUs 20g and 20h are connected to Zone ECU 20d via Network 3 (NW3).
[0028] Individual ECUs (20e~20h) can be composed of ECUs with any function. Examples include drivetrain electronic control units that control the engine, steering wheel, brakes, etc., vehicle system electronic control units that control meters, power windows, etc., information system electronic control units such as navigation systems, or safety control system electronic control units that prevent collisions with obstacles or pedestrians. Furthermore, the ECUs may not be in parallel, but may be classified as master and slave units. Furthermore, depending on the functions implemented by each individual ECU (20e-20h), necessary sensors may be connected to each individual ECU (20e-20h). Examples include, but are not limited to, speed sensors, acceleration sensors, angular velocity sensors, temperature sensors, sheet sensors, and voltmeters. In addition, these sensors may be connected to the integrated ECU 20a or zone ECUs (20c, 20d) instead of each individual ECU (20e-20h).
[0029] Each ECU 20 may be a physically independent electronic control unit, or a virtualized electronic control unit implemented using virtualization technology. Furthermore, if each ECU 20 is implemented on different hardware, they only need to be connected via wired or wireless communication. If multiple virtualized electronic control units are implemented on the same hardware, they only need to be virtually connected to each other.
[0030] The information processing device 100 in each embodiment can be implemented using each ECU 20 connected to the in-vehicle communication network or a module included in each ECU 20. Figure 2 shows an example where the individual ECU 20e, zone ECU 20c, integrated ECU 20a, external communication ECU 20b, and external device 30 are each information processing devices 100. For example, when sending a message from the individual ECU 20e to the zone ECU 20c, the individual ECU 20e becomes the transmitting information processing device 100, and the zone ECU 20c becomes the receiving information processing device 100. When sending a message from the external communication ECU 20b to the external device 30, the external communication ECU 20b becomes the transmitting information processing device 100, and the external device 30 becomes the receiving information processing device 100.
[0031] (3) Positional relationship between the information processing device 100 and the HSM200 Figure 3 is a diagram illustrating the positional relationship between the information processing device 100 and the HSM200 in each embodiment. The HSM200 is hardware for securely storing information such as symmetric keys, private keys, or public keys, and for performing various operations using these keys. In each embodiment, the HSM200 is a device that performs calculations using keys. For example, examples of calculations performed by the HSM200 include generating message authentication codes, generating digital signatures, generating certificates, encrypting messages, or decrypting encrypted messages.
[0032] The information processing device 100 is "connected" to the HSM200, and requests calculations from the HSM200 and obtains the calculation results from the HSM200. Here, "connected" refers to a physical or functional connection. That is, it means a state in which data can be exchanged, and includes not only cases where different hardware is connected via a wired or wireless communication network, but also cases where virtual machines implemented on the same hardware are virtually connected. Alternatively, the HSM may be installed inside the information processing unit, and the HSM and the information processing unit excluding the HSM portion may be connected by the internal bus of the information processing unit.
[0033] In the case of Figure 3(a), the information processing device 100 and HSM200 are contained within the ECU20, which is connected to the in-vehicle communication network. In this configuration, the information processing device 100 and HSM200 are implemented as modules, or components, within the ECU20. The information processing device 100 and HSM200 are connected by the internal bus of the ECU20. The modules are realized, for example, as one or more semiconductor elements, or as a substrate on which multiple semiconductor elements are mounted. In the following embodiments, the explanation will be based on the arrangement shown in Figure 3(a).
[0034] In the case of Figure 3(b), the information processing device 100 is implemented as an ECU 20 connected to the in-vehicle communication network. The HSM 200 is included in the ECU 20. In other words, the information processing device 100 has the HSM 200 inside it. In this configuration, the information processing device 100 is implemented in the ECU 20, and the HSM 200 is implemented in the form of a module, or component, inside the ECU 20. In this case as well, similar to Figure 3(a), the information processing device 100 and the HSM 200 are connected by the internal bus of the ECU 20. The HSM200 shown in Figures 3(a) and 3(b) can be understood as a plug-in type HSM.
[0035] In the case of Figure 3(c), the information processing device 100 and the HSM200 are each implemented as ECU20 connected to the in-vehicle communication network. For example, in Figure 2, the integrated ECU20a or individual ECUs (20e to 20h) may be represented as the HSM200. Since the HSM200 requires high processing power, it is desirable to use the integrated ECU20a, which has high processing power, or individual ECUs (20e to 20h) that can be configured as dedicated ECUs, as the HSM200. In this case, the information processing device 100 and the HSM200 are connected by the in-vehicle communication network, etc., as already explained. In other words, Figure 3(c) is also a diagram showing an electronic control system S having the information processing device 100 and the HSM200. The HSM200 in Figure 3(c) can be understood as a network-type HSM.
[0036] (4) Information processing device on the transmitting side and information processing device on the receiving side The information processing device 100 and HSM200 can be used as either the message sender or the message receiver. Figure 4 illustrates the relationship between the sending and receiving information processing devices. Here, we assume a case where a message is sent from the individual ECU20e to the zone ECU20c shown in Figure 2.
[0037] Figure 4(a) shows the case where an individual ECU 20e adds a message authentication code (MAC value) to a message and sends it, and a zone ECU 20c receives it. The information processing device 100 of the individual ECU 20e requests the HSM 200 to calculate the message authentication code for the message to be transmitted, obtains the message authentication code as a result of the calculation, and transmits it to the zone ECU 20c along with the message. Zone ECU20c receives a message and a message authentication code, requests HSM200 to calculate the message authentication code of the received message, obtains the resulting message authentication code, compares it with the message authentication code received from individual ECU20e, and verifies whether the message has been tampered with or impersonated.
[0038] Figure 4(b) shows the case where an individual ECU 20e encrypts and sends a message, and a zone ECU 20c receives and decrypts it. The information processing device 100 of the individual ECU 20e requests the HSM 200 to encrypt the message to be transmitted, obtains the encrypted message which is the result of the calculation, and transmits it to the zone ECU 20c. Zone ECU20c receives the encrypted message, requests HSM200 to decrypt the received encrypted message, and obtains the decrypted message, which is the result of the calculation.
[0039] (5) Time required for HSM200 to perform calculations using keys The time required for HSM200 to perform calculations using keys can vary due to the following factors: (i) Key length (ii) Size of input data to be entered into the HSM200 (iii) Storage location for input data and output data output from HSM200 (iv) Method of transferring input and output data (v) Status of the HSM200 (e.g., cache status, peripheral status, etc.) (vi) The surrounding environment of the HSM200 (e.g., temperature, voltage, etc.) In (iii), the main reason is that the read / write speed differs depending on the type of storage device, such as RAM or flash memory. In (iv), the main reason is that the transfer speed differs depending on the transfer method, such as DMA transfer or CPU transfer.
[0040] Of these, (i) through (iv) significantly affect the time required for the calculation, but are usually unrelated to the actual time required for the most recent calculation. In other words, the factors that may be problematic in each embodiment are (v) and (vi).
[0041] Regarding (v), the processing performed by the HSM200 includes processes that are executed periodically, such as message authentication which is the target of the computation request, and processes that are performed infrequently but involve a large amount of processing, such as verification of update programs. In the former process, it is highly likely that the process will be executed periodically and consecutively, and the message authentication command is likely to remain in the cache within the HSM200. In other words, the message authentication processing time tends to remain short. In the latter process, if a low-frequency process occurs, the message authentication process and update program verification, which are the targets of the computation request, are executed in parallel. As a result, the HSM200 cache is overwritten by other processes, and it is highly likely that the message authentication command will not remain in the HSM200. In other words, the message authentication processing time tends to remain long. Furthermore, regarding peripheral access, if a low-frequency process occurs, peripheral access within the HSM200 tends to be occupied by that process, resulting in a prolonged period of longer message authentication processing time. Furthermore, due to the characteristics of the HSM200, its status cannot be obtained from outside the HSM200. Therefore, it is effective to predict its status based on the actual time taken for the most recent calculations.
[0042] Regarding (vi), the processing volume in the HSM200 changes gradually and continuously due to changes in temperature, voltage, etc. Therefore, it is effective to make predictions based on the actual time taken for the most recent calculation.
[0043] In other words, for factors (v) and (vi), the time required for calculations changes over relatively long periods, so it is desirable to make predictions based on the actual time required for the most recent or near-recent calculations.
[0044] 2. Embodiment 1 (1) Configuration of the information processing device 100 (in the case of the transmitting side) Referring to Figure 5, the configuration of the information processing device 100 in this embodiment will be described. The information processing device 100 includes a message acquisition unit 101, a calculation request unit 102, a predicted time calculation unit 103, a calculation result acquisition unit 104, a processing unit 105, and a predicted time-related information storage unit 106.
[0045] The information processing device 100 can consist of a dedicated or general-purpose CPU (Central Processing Unit), volatile memory such as RAM, non-volatile memory such as ROM, flash memory, or hard disk, various interfaces, and an internal bus connecting them. By executing software on this hardware, the device can be configured to perform the functions of each functional block shown in Figure 5. The HSM200 is similar. Specific hardware configuration examples will be described later using Figures 8 and 9.
[0046] This embodiment describes the case where the calculation performed by the HSM200 is the generation of a message authentication code (MAC value). Furthermore, the case of a transmitting information processing device 100 that sends a message and a MAC value will be primarily described, and the case of a receiving information processing device 100 that receives a message and a MAC value will also be described.
[0047] The message acquisition unit 101 acquires the message to be transmitted. For example, it acquires measured values, such as speed information and location information, detected by sensors connected to the ECU 20 where the information processing device 100 is installed.
[0048] The calculation request unit 102 "requests" a calculation from the HSM200. In this embodiment, it requests the HSM200 to calculate the MAC value using the key stored in the message acquired by the message acquisition unit 101. The specific request method will be explained later in Examples 1 and 2. The calculation request unit 102 also outputs the calculation request to the prediction time-related information storage unit 106. Here, "making a request" includes not only making a request directly to the HSM, but also cases where the HSM recognizes the request through a predetermined operation.
[0049] The prediction time calculation unit 103 calculates the prediction time. The method for calculating the prediction time will be explained later. The prediction time calculation unit 103 outputs the calculated prediction time to the calculation result acquisition unit 104 and the prediction time related information storage unit 106.
[0050] The calculation result acquisition unit 104 acquires the calculation result, which is the result of the calculation performed by the HSM200, when the predicted time calculated by the predicted time calculation unit 103 has elapsed since the calculation request from the calculation request unit 102. In this embodiment, the MAC value corresponding to the message acquired by the message acquisition unit 101 is acquired. The specific acquisition method will be explained later in Examples 1 and 2. The calculation result acquisition unit 104 also outputs the calculation result to the processing unit 105. The calculation result acquisition unit 104 also outputs calculation result acquisition success / failure information, which indicates the success or failure of acquiring the calculation result, to the predicted time-related information storage unit 106. Here, "to obtain" includes not only obtaining calculation results directly from the HSM, but also obtaining calculation results performed by the HSM through a predetermined operation.
[0051] The processing unit 105 performs processing using the calculation results obtained by the calculation result acquisition unit 104. In this embodiment, the message acquired by the message acquisition unit 101 and the MAC value acquired by the calculation result acquisition unit 104 are output to the receiving information processing device 100.
[0052] The prediction time-related information storage unit 106 stores the calculation request output from the calculation request unit 102, the predicted time output from the prediction time calculation unit 103, and the success / failure information of the calculation result acquisition output from the calculation result acquisition unit 104. The prediction time-related information storage unit 106 is a storage device capable of reading or writing various types of information. The prediction time-related information storage unit 106 may be an external storage device (hard disk, USB memory, CD / BD, etc.) or an internal storage device (ROM, RAM, etc.), and may be volatile or non-volatile.
[0053] Figure 6 shows an example of the information stored in the prediction time-related information storage unit 106 in this embodiment. The calculation request (p) is information that identifies the calculation request output from the calculation request unit 102 and its order, and the prediction time (T p) is the predicted time used to obtain the calculation result for the p-th calculation request, and the calculation result acquisition success / failure information is information indicating whether the calculation result for the p-th calculation request was successfully obtained. For example, the predicted time (T5) used for the 5th calculation request (p=5) is 5u, and the calculation result for this calculation request was successfully obtained. u is the unit of time for the predicted time. For example, if the predicted time is calculated in 1ms increments, u=1ms.
[0054] In Figure 6, for the first calculation request (p=1), the predicted time (T1) is an initial value pre-stored in the predicted time-related information storage unit 106, and in Figure 6, 5u is used as the predicted time (T1). However, instead of the pre-stored initial value, a previously calculated predicted time may be used. For example, if the order of calculation requests is counted from the time the car's ignition is turned ON, the predicted time stored immediately before the ignition was turned OFF may be used as the initial value.
[0055] Next, the method for calculating the predicted time in this embodiment will be described. The prediction time calculation unit 103 calculates the prediction time based on previously calculated prediction times and calculation result acquisition success / failure information indicating the success or failure of acquiring calculation results based on the previously calculated prediction times. In this embodiment, the prediction time (T) is calculated based on the following formula 1. p Calculate ). (Formula 1) T p =T1····(p=1) =max(minSn-u,maxFn+u) ····(p≠1) T1: Initial value u: Time as the unit of prediction time n: The range of calculated prediction times used for the prediction (number of calculation requests up to the most recent date) Sn: Set of calculated predicted times (up to the most recent n times) when the calculation result was successfully obtained. Fn: Set of calculated estimated times in cases where obtaining the calculation result fails (up to the most recent n times)
[0056] The method for calculating the predicted time will be explained using Figure 6. Here, n=3, meaning that the previously calculated predicted times used to calculate the predicted time will be the most recent three times. For example, the predicted time (T5) for the 5th computation request can be calculated using Equation 1, using the previously calculated predicted times and success / failure results from the 2nd to 4th computation requests, as follows: T5=max(min(5u,5u)-u,max(4u)+u) =max(4u,5u) =5u
[0057] The predicted time calculation unit 103 of this embodiment, using Equation 1, has the following features. In other words, Equation 1 encompasses the following technical concepts. The prediction time calculation unit 103 calculates the prediction time based on the most recent n prediction times (where n is an integer greater than or equal to 1). The value of n may be a fixed value or a variable value. For example, as already mentioned, the time required for calculations in the HSM200 may vary depending on the surrounding environment of the HSM200, so the surrounding environment of the HSM, such as the voltage supplied to the HSM200 or the temperature of the HSM200, may be measured, and the value of n may be changed according to the measurement results. A larger value of n is better suited to predicting relatively long-period changes, while a smaller value of n is better suited to predicting relatively short-period changes. The prediction time calculation unit 103 calculates the prediction time based on the minimum value of the calculated prediction time when the calculation result acquisition unit 104 succeeds in acquiring the calculation result, and the maximum value of the calculated prediction time when the calculation result acquisition unit 104 fails to acquire the calculation result. More specifically, the prediction time calculation unit 103 uses the larger of the value obtained by subtracting a predetermined constant from the minimum value and the value obtained by adding a predetermined constant to the maximum value as the prediction time. The predetermined constant is, for example, time, which is the unit of the prediction time.
[0058] Note that in Equation 1, the previously calculated predicted times used to calculate the predicted time are based on the most recent n calculations, but values that fall under separately defined outliers may be excluded. For example, upper and lower limits may be predetermined, and calculated predicted times that are greater than the upper limit or less than the lower limit may not be included in Sn or Fn.
[0059] Furthermore, it is desirable that the prediction time calculation unit 103 uses only pre-calculated prediction times that satisfy common conditions. As already explained, the key length, the size of the message used for the calculation, the storage location of the message or calculation result, and the method of transferring the message or calculation result greatly affect the time required for the HSM200 to perform the calculation. Therefore, it is desirable that the prediction time calculation unit 103 calculates the prediction time based on pre-calculated prediction times in which at least one of the following is common: the key length, the size of the message used for the calculation (corresponding to "input data"), the storage location of the message or calculation result, and the method of transferring the message or calculation result.
[0060] (2) When the information processing device 100 is used as the receiving side The following describes each functional block in Figure 6 when the information processing device 100 is used as the receiving side.
[0061] The message acquisition unit 101 acquires the message and message authentication code sent from the information processing device 100 on the sending side.
[0062] The processing unit 105 compares the message authentication code obtained by the message acquisition unit 101 with the message authentication code obtained by the calculation result acquisition unit 104 to verify whether the message has been tampered with or impersonated.
[0063] The calculation request unit 102, the predicted time calculation unit 103, the calculation result acquisition unit 104, and the predicted time related information storage unit 106 have the same functions and operations as (1), so the explanation in (1) is quoted and the description is omitted.
[0064] (3) Operation of the information processing device 100 Next, the operation of the information processing device 100 and HSM200 (which together constitute the electronic control system S) will be explained with reference to Figure 7. Figure 7 not only shows the methods executed by the information processing device 100, etc., but also shows the processing procedure of a program that can be executed by the information processing device 100, etc. Furthermore, these processes are not limited to the order shown in Figure 7. That is, the order can be changed unless there are constraints such as a relationship where one step utilizes the result of the preceding step.
[0065] The message acquisition unit 101 of the information processing device 100 acquires a message (S101). The calculation request unit 102 "requests" calculations from the HSM200 (S102).
[0066] HSM200 accepts the request for calculation S102 (S201). The HSM200 performs calculations using the key (S202). The HSM200 outputs the calculation result of S202 (S203).
[0067] The prediction time calculation unit 103 of the information processing device 100 calculates the prediction time (S103). Specifically, it calculates the prediction time based on previously calculated prediction times and calculation result acquisition success / failure information indicating the success or failure of acquiring calculation results based on the previously calculated prediction times. Then, it sets the prediction time in the timer. The calculation result acquisition unit 104 acquires the calculation result output from the HSM200 in S203 (S104) when the predicted time calculated in S103 has elapsed from the request in S102.
[0068] If the calculation result acquisition unit 104 successfully acquires the calculation result (S105:Y), the predicted time calculated in S103 is stored as the calculated predicted time in the predicted time-related information storage unit 106 (S106). In addition, calculation result acquisition success / failure information indicating that the calculation result was successfully acquired is stored in the predicted time-related information storage unit 106 (S106). Then, the processing unit 105 performs processing using the calculation result acquired in S104 (S108). If the calculation result acquisition unit 104 fails to acquire the calculation result (S105:N), the predicted time calculated in S103 is stored in the predicted time-related information storage unit 106 as the calculated predicted time (S107). In addition, calculation result acquisition success / failure information indicating that the calculation result acquisition failed is stored in the predicted time-related information storage unit 106 (S107). Then, the process returns to S103, and the predicted time calculation unit 103 calculates the predicted time again (S103). The calculated predicted time may be saved immediately after S103, instead of during S106 and S107.
[0069] In the example shown in Figure 7, if the calculation result acquisition unit 104 fails to acquire the calculation result, the process returns to S103 and the prediction time calculation unit 103 calculates the prediction time again using Equation 1. However, the prediction time may be calculated using a different calculation method than Equation 1, for example, based on a different formula or rule. For example, the prediction time may be 30% of the value obtained by Equation 1, or a fixed time, such as u or 2u, may be used. By calculating a shorter prediction time than the initially calculated prediction time in this way, it is possible to prevent the waiting time from becoming long. Furthermore, since the calculation result acquisition operation can be repeated in a short time only in the event of failure, the waiting time can be further reduced.
[0070] (4) Examples of specific hardware configurations The specific hardware configurations shown in Figure 5 will be described as Example 1 and Example 2.
[0071] (a) Example 1: Configuration in which computation requests and computation results are shared via Shared RAM Figure 8 is a diagram illustrating the hardware configuration of the information processing device 100 and HSM200 in Example 1. The information processing device 100 in Example 1 consists of a CPU, Host-HSM IF, RAM, Shared RAM, Communication IF, and Timer. The CPU is the central processing unit. The Host-HSM IF is an interface for communicating with the HSM200 and is connected to the internal bus of the ECU20 or the in-vehicle network. The RAM is random access memory and stores data received or generated by the information processing device 100. The Shared RAM is random access memory accessible from the HSM200 and stores calculation requests and calculation results. The Communication IF is an interface for communication with other ECUs and external devices. The Timer is a timer for measuring time.
[0072] The HSM200 consists of a Secure CPU, a Host-HSM IF, and a Cipher Key. The Host-HSM IF is an interface for communication with the information processing unit 100 and is connected to the internal bus or in-vehicle network of the ECU20. The Secure CPU is a CPU isolated from the outside. The Cipher Key is an encryption key.
[0073] In this embodiment, messages acquired by the message acquisition unit 101, predicted times calculated by the predicted time calculation unit 103, calculated predicted times, and calculation result acquisition success / failure information generated by the calculation result acquisition unit 104 are stored in RAM. In addition, calculation requests generated by the calculation request unit 102 and calculation results acquired by the calculation result acquisition unit 104 are stored in Shared RAM.
[0074] In this embodiment, when the calculation request unit 102 requests a calculation from the HSM200, the calculation request generated by the calculation request unit 102 is first saved to Shared RAM, and the HSM200 reads the calculation request saved to Shared RAM via the Host-HSM IF. In other words, the calculation request unit 102 "requests" a calculation by saving the calculation request to Shared RAM.
[0075] Furthermore, in this embodiment, when the calculation result acquisition unit 104 acquires the calculation result, the HSM200 first saves the calculation result to Shared RAM via the Host-HSM IF, and the calculation result acquisition unit 104 reads the calculation result saved in Shared RAM. In other words, the calculation result acquisition unit 104 "acquires" the calculation result by reading the calculation result saved by the HSM200 in Shared RAM.
[0076] In this embodiment, both the calculation request and the calculation result are shared between the information processing device 100 and the HSM200 via Shared RAM. However, only the calculation result may be shared via Shared RAM, and the calculation request may be sent and received using the method described in Embodiment 2 below.
[0077] Furthermore, in this embodiment, the Shared RAM is provided inside the information processing device 100, but it may also be provided inside the ECU 20 and outside the information processing device 100.
[0078] (b) Example 2: Configuration for directly sending and receiving calculation requests and calculation results Figure 9 illustrates the hardware configuration of the information processing device 100 and HSM200 in Example 2. The information processing device 100 in this embodiment has the same configuration as in Embodiment 1, but without the Shared RAM. The HSM200 in this embodiment has the same configuration as in Embodiment 1.
[0079] In this embodiment, in addition to messages, predicted time, calculated predicted time, and success / failure information for obtaining calculation results, the calculation request generated by the calculation request unit 102 and the calculation result obtained by the calculation result acquisition unit 104 are also stored in RAM.
[0080] In this embodiment, when the calculation request unit 102 requests a calculation from the HSM200, it first saves the calculation request it has generated to RAM and then sends it to the HSM200 via the Host-HSM IF. In other words, the calculation request unit 102 "requests" a calculation by sending the calculation request to the HSM200.
[0081] Furthermore, in this embodiment, when the calculation result acquisition unit 104 acquires a calculation result, it receives the calculation result transmitted from the HSM200 via the Host-HSM IF and stores it in RAM. In other words, the calculation result acquisition unit 104 "acquires" the calculation result by receiving the calculation result from the HSM200.
[0082] (5) Summary As described above, according to the information processing device 100 of this embodiment, the predicted time is calculated using the calculated predicted time and the success / failure information of the calculation result acquisition, and the calculation result is acquired when the predicted time has elapsed since the request for calculation to the HSM, so that the calculation result from the HSM can be acquired more quickly and reliably. According to the information processing device 100 of this embodiment, the predicted time is calculated based on the most recent n (where n is an integer of 1 or more) calculated predicted times, so a more accurate predicted time can be calculated based on past performance. This is particularly effective when the factors causing fluctuations in the time required for calculation cannot be obtained from an external source, or when the time required for calculation fluctuates slowly and continuously without discrete movements. According to the information processing device 100 of this embodiment, since the n calculated predicted times do not include outliers, the predicted time is calculated using only the calculated predicted times that are not affected by sudden factors or calculation errors, resulting in a more accurate predicted time. According to the information processing device 100 of this embodiment, the predicted time is calculated based on the minimum value of the calculated predicted time when the calculation result is successfully obtained, and the maximum value of the calculated predicted time when the calculation result is not obtained, so that a predicted time with minimal waiting time can be calculated. Furthermore, by using the larger of the value obtained by subtracting a predetermined constant from the minimum value and the value obtained by adding a predetermined constant to the maximum value as the predicted time, the possibility of failure in obtaining the calculation result can be reduced, and the possibility of success in obtaining the calculation result can be increased. And by using the predetermined constant as the unit of time for the predicted time, a predicted time with minimal waiting time can be calculated up to the limit of the resolution. According to the information processing device 100 of this embodiment, the predicted time is calculated based on a pre-calculated predicted time in which at least one of the following is common: the key length, the size of the message used for calculation, the storage location of the message or calculation result, and the method of transferring the message or calculation result. Therefore, a more accurate predicted time can be calculated.
[0083] 3. Embodiment 2 (1) Configuration of the information processing device 100 The information processing device 100 of this embodiment differs from the information processing device 100 of Embodiment 1 in that the formula used by the prediction time calculation unit 103 is different. The following will focus on the differences. For the same configuration and operation as the information processing device 100 described in this embodiment, the description and drawings of Embodiment 1 will be referenced as the configuration and operation of this embodiment.
[0084] Figure 10 shows an example of the information stored in the prediction time-related information storage unit 106 in this embodiment. Items similar to those in Figure 6 of Embodiment 1 are omitted from the explanation, and the descriptions of Figure 6 and Embodiment 1 are referenced.
[0085] Next, the method for calculating the predicted time in this embodiment will be described. The prediction time calculation unit 103 calculates the prediction time based on previously calculated prediction times and calculation result acquisition success / failure information indicating the success or failure of acquiring calculation results based on the previously calculated prediction times. In this embodiment, the prediction time (T) is calculated based on the following equation 2. p Calculate ). (Formula 2) T p =T1····(p=1) =max(avrSn×s,avrFn×f) ····(p≠1) T1: Initial value u: Time as the unit of prediction time n: The range of calculated prediction times used for the prediction (number of calculation requests up to the most recent date) avrSn: The average value of the set of calculated predicted times Sn when the calculation result was successfully obtained (up to the most recent n times). avrFn: The average value of the set of calculated predicted times Fn when obtaining the calculation result fails (up to the most recent n times). s: A coefficient multiplied by the mean value of Sn (a value less than or equal to 1) f: A coefficient multiplied by the mean value of Fn (a value greater than or equal to 1)
[0086] The method for calculating the predicted time will be explained using Figure 10. Here, n=5, meaning that the previously calculated predicted times used to calculate the predicted time are those from the most recent 5 times. However, the n previously calculated predicted times do not include values that fall under the separately defined outliers. For example, if the minimum value is considered an outlier, then the past 5 years of data, obtained by excluding the minimum value from the past 6 years of data, are used. Also, let s = 0.9 and f = 1.1.
[0087] For example, the predicted time for the x+7th operation request (T x+7 The result obtained by using Equation 2 with the five pieces of information obtained from the x+1 to x+6 calculation requests, excluding the x+3 calculation request which is an outlier, is as follows. Note that decimal places are rounded. T x+7 =max(avr(10u,11u,10u,10u)×0.9,avr(9u)×1.1) =max(9.2u,9.9u) =9.9u ≈10u
[0088] The predicted time calculation unit 103 of this embodiment, which uses Equation 2, has the following features. In other words, Equation 2 encompasses the following technical concepts. The prediction time calculation unit 103 calculates the prediction time based on the most recent n prediction times (where n is an integer greater than or equal to 1). The value of n may be a fixed value or a variable value. The prediction time calculation unit 103 calculates the prediction time based on a first average value of the calculated prediction time when the calculation result acquisition unit 104 succeeds in acquiring the calculation result, and a second average value of the calculated prediction time when the calculation result acquisition unit 104 fails to acquire the calculation result. More specifically, the prediction time calculation unit 103 uses as the prediction time the larger of the value obtained by multiplying the first average value by a first predetermined constant that is 1 or less, and the value obtained by multiplying the second average value by a second predetermined constant that is 1 or more.
[0089] In this embodiment, one minimum value is considered an outlier, but one maximum value may also be considered an outlier. Alternatively, one minimum value and one maximum value (a total of two) may be considered outliers. There may also be two or more minimum or maximum values. In particular, since the average value is used in this embodiment, setting outliers is effective in preventing a decrease in prediction accuracy. Of course, you don't have to set outliers.
[0090] According to this embodiment, the change in prediction time can be greatly increased by varying the prediction time using a first predetermined constant (s) and a second predetermined constant (f). The decrease in prediction accuracy due to the large change in prediction time is prevented by removing outliers.
[0091] (2) Summary As described above, according to the information processing device 100 of this embodiment, the predicted time is calculated using the calculated predicted time and the success or failure information of the calculation result acquisition, and the calculation result is acquired when the predicted time has elapsed since the request for calculation to the HSM, so that the calculation result from the HSM can be acquired more quickly and reliably. According to the information processing device 100 of this embodiment, the predicted time is calculated based on the most recent n (where n is an integer of 1 or more) previously calculated predicted times, so a more accurate predicted time can be calculated based on past performance. This is particularly effective when the factors causing fluctuations in the time required for calculation cannot be obtained from an external source, or when the time required for calculation fluctuates slowly and continuously without discrete movements. According to the information processing device 100 of this embodiment, since the n calculated predicted times do not include outliers, the predicted time is calculated using only the calculated predicted times that are not affected by sudden factors or calculation errors, resulting in a more accurate predicted time. According to the information processing device 100 of this embodiment, the predicted time is calculated based on a first average value of the calculated predicted time when the calculation result is successfully obtained, and a second average value of the calculated predicted time when the calculation result is not obtained. This makes it possible to calculate a predicted time that minimizes waiting time. Furthermore, by using the larger of the value obtained by multiplying the first average value by a first predetermined constant that is 1 or less, and the value obtained by multiplying the second average value by a second predetermined constant that is 1 or more, as the predicted time, the possibility of failure in obtaining the calculation result can be reduced, and the possibility of success in obtaining the calculation result can be increased. According to the information processing device 100 of this embodiment, the predicted time is calculated based on a pre-calculated predicted time in which at least one of the following is common: the key length, the size of the message used for the calculation, the storage location of the message or calculation result, and the method of transferring the message or calculation result. Therefore, a more accurate predicted time can be calculated.
[0092] 4. Other Embodiments As explained in Figure 4, the information processing device 100 and the HSM200 can be used for encrypting messages on the transmitting side and for decrypting encrypted messages on the receiving side. Furthermore, the information processing device 100 and HSM200 can also be used for generating and verifying digital signatures and certificates using keys. The formulas used in the prediction time calculation unit 103 may include not only formulas 1 and 2, but also formulas using statistical methods or formulas generated based on learning functions.
[0093] 5. Other disclosed inventions In each embodiment, the HSM200 performs calculations using a key, but a specific arithmetic unit 300, which is specialized for certain calculations that do not use a key, can be used instead of the HSM200. For example, one calculation that can be performed by the specific arithmetic unit 300 is the calculation of a hash value using a one-way hash function. If the specific computing device 300 is defined as a device that includes both key-based and key-free calculations, then it can be understood as the following invention encompassing each embodiment.
[0094] An information processing device (100) connected to a specific arithmetic unit (300) that performs specific calculations, A calculation request unit (102) that requests the calculation from the specified calculation unit, A prediction time calculation unit (103) that calculates the predicted time, A calculation result acquisition unit (104) acquires the calculation result, which is the result of the calculation, when the predicted time has elapsed since the request, It has a processing unit (105) that performs processing using the calculation result, The prediction time calculation unit calculates the prediction time based on previously calculated prediction times and calculation result acquisition success / failure information indicating the success or failure of acquiring the calculation result based on the previously calculated prediction time. Information processing device (100).
[0095] 6. Summary The features of the information processing device, etc., in each embodiment of the present invention (including examples; the same applies hereinafter) have been described above.
[0096] The terms used in each embodiment are illustrative and may be replaced with synonymous terms or terms that include synonymous functions.
[0097] The block diagram used in describing the embodiment classifies and organizes the device configuration by function. Each block representing a function can be realized by any combination of hardware or software. Furthermore, since it represents a function, such a block diagram can also be understood as a disclosure of a method invention and a program invention that realizes said method.
[0098] The functional blocks that can be understood as processes, flows, and methods described in each embodiment may be reordered, unless there are constraints such as a relationship where one step utilizes the results of other preceding steps.
[0099] The terms "first," "second," through "nth" (where N is an integer) used in each embodiment and in the claims are used to distinguish between two or more configurations or methods of the same kind, and do not imply any order or hierarchy.
[0100] Although each embodiment has been described on the premise that the device disclosed in each embodiment is mounted on a vehicle, the present invention also includes dedicated or general-purpose devices other than those for vehicles, unless otherwise specifically limited by the claims. Furthermore, although each embodiment has been described on the premise that the device disclosed in each embodiment is mounted on a vehicle, it may also be a device carried by a pedestrian.
[0101] Furthermore, the following are examples of the form of the information processing device of the present invention. Examples of component forms include semiconductor elements, electronic circuits, modules, and microcomputers. Examples of semi-finished products include ECUs and system boards. Examples of finished products include mobile phones, smartphones, tablets, personal computers (PCs), workstations, and servers. Other devices with communication capabilities include, for example, video cameras, still cameras, and car navigation systems.
[0102] Examples of the electronic control system of the present invention include semi-finished or finished products.
[0103] In addition, the present invention can be realized not only with dedicated hardware having the configuration and functions described in each embodiment, but also as a combination of a program for realizing the present invention recorded on a recording medium such as memory or a hard disk, and general-purpose hardware having a dedicated or general-purpose CPU and memory capable of executing this program.
[0104] Programs stored on non-transitional physical recording media of dedicated or general-purpose hardware (e.g., external storage devices (hard disks, USB memory, CD / BD, etc.) or internal storage devices (RAM, ROM, etc.)) can also be provided to the dedicated or general-purpose hardware via the recording media, or via a communication line from a server without using the recording media. This allows for the provision of the latest functions at all times through program upgrades. [Industrial applicability]
[0105] The information processing device and the like of the present invention are primarily intended for devices mounted in automobiles, but may also be intended for ordinary devices not mounted in automobiles. [Explanation of Symbols]
[0106] 100 Information processing device, 101 Message acquisition unit, 102 Calculation request unit, 103 Prediction time calculation unit, 104 Calculation result acquisition unit, 105 Processing unit, 106 Prediction time related information storage unit, 200 HSM, 20 ECU, 30 External device
Claims
1. An information processing device (100) connected to a hardware security module (HSM) (200) that performs calculations using keys, A calculation request unit (102) that requests the calculation from the HSM, A prediction time calculation unit (103) that calculates the predicted time, A calculation result acquisition unit (104) acquires the calculation result, which is the result of the calculation, when the predicted time has elapsed since the request, It includes a processing unit (105) that performs processing using the calculation result, The prediction time calculation unit calculates the prediction time based on previously calculated prediction times and calculation result acquisition success / failure information indicating the success or failure of acquiring the calculation result based on the previously calculated prediction time. Information processing device (100).
2. The prediction time calculation unit calculates the prediction time based on the most recent n (where n is an integer of 1 or more) previously calculated prediction times. The information processing apparatus according to claim 1.
3. The n calculations of the predicted time do not include any values that fall under the separately defined outliers. The information processing apparatus according to claim 2.
4. The prediction time calculation unit calculates the prediction time based on the minimum value of the calculated prediction time when the calculation result acquisition unit succeeds in acquiring the calculation result, and the maximum value of the calculated prediction time when the calculation result acquisition unit fails to acquire the calculation result. The information processing apparatus according to claim 1.
5. The prediction time calculation unit calculates the prediction time based on a first average value, which is the average value of the calculated prediction times when the calculation result acquisition unit succeeds in acquiring the calculation results, and a second average value, which is the average value of the calculated prediction times when the calculation result acquisition unit fails to acquire the calculation results. The information processing apparatus according to claim 1.
6. The prediction time calculation unit calculates the prediction time based on the calculated prediction time, which has at least one of the following common elements: the length of the key, the size of the input data used for the calculation, the storage location of the input data or the calculation result, and the method of transferring the input data or the calculation result. The information processing apparatus according to claim 1.
7. The prediction time calculation unit determines the prediction time to be the larger of the value obtained by subtracting a predetermined constant from the minimum value and the value obtained by adding the predetermined constant to the maximum value. The information processing apparatus according to claim 4.
8. The predetermined constant is time, which is the unit of the predicted time. The information processing apparatus according to claim 7.
9. The prediction time calculation unit determines the prediction time to be the larger of the following two values: the value obtained by multiplying the first average value by a first predetermined constant that is 1 or less, and the value obtained by multiplying the second average value by a second predetermined constant that is 1 or more. The information processing apparatus according to claim 5.
10. If the calculation result acquisition unit fails to acquire the calculation result, the prediction time calculation unit will recalculate the prediction time using a different calculation method than the one used in the case of failure. The information processing apparatus according to claim 1.
11. The operation performed by the HSM is an operation that performs at least one of the following: generating a message authentication code, generating a digital signature, generating a certificate, encrypting a message, or decrypting the encrypted message. The information processing apparatus according to claim 1.
12. The aforementioned calculation request unit, Send a calculation request to the HSM, or The calculation request is stored in a storage unit accessible by the HSM. By doing so, the request for the aforementioned calculation is made. The information processing apparatus according to claim 1.
13. The calculation result acquisition unit, The calculation result is received from the HSM, or The calculation result stored in the HSM is read from a storage unit accessible to the HSM. By doing so, the calculation result is obtained. The information processing apparatus according to claim 1.
14. The information processing device further has the HSM, The information processing apparatus according to claim 1.
15. The information processing device is mounted on a mobile device. An information processing apparatus according to any one of claims 1 to 14.
16. A hardware security module (HSM) that performs calculations using keys, The information processing apparatus according to claim 1, having Electronic control system (S).
17. An information processing method performed on an information processing device (100) connected to a hardware security module (HSM) (200) that performs calculations using keys, The request for the calculation is made to the HSM (S102), The predicted time is calculated (S103), When the predicted time has elapsed since the request, the calculation result, which is the result of the calculation, is obtained (S104). An information processing method which performs processing using the calculation result (S108), The aforementioned predicted time is calculated based on previously calculated predicted times and calculation result acquisition success / failure information indicating whether the calculation result based on the aforementioned calculated predicted time was acquired. Information processing methods.
18. An information processing program executable on an information processing device (100) connected to a hardware security module (HSM) (200) that performs calculations using keys, The request for the calculation is made to the HSM (S102), The predicted time is calculated (S103), When the predicted time has elapsed since the request, the calculation result, which is the result of the calculation, is obtained (S104). An information processing program that performs processing using the calculation result (S108), The aforementioned predicted time is calculated based on previously calculated predicted times and calculation result acquisition success / failure information indicating whether the calculation result based on the aforementioned calculated predicted time was acquired. The information processing device is made to perform a process that includes the following: Information processing program.
Citation Information
Patent Citations
On-vehicle electronic control device
JP2024177943A