Electronic apparatus and information processing method
By implementing a two-step authenticity judgment process using public and common key methods, the electronic device efficiently verifies data integrity while minimizing key leakage and processing time.
Patent Information
- Application Number
- JP2021212201
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2021-12-27
- Publication Date
- 2025-02-05
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing methods for verifying data integrity in electronic devices, such as the public key and common key methods, suffer from high computational overhead and risk of key leakage, leading to long processing times and increased costs.
An electronic device equipped with a first authenticity judgment using a public key system and a second authenticity judgment using a common key method, where code data is generated to reduce processing time and minimize key leakage risks.
This approach reduces processing time for authenticity judgments and minimizes the risk of key leakage by leveraging a common key method after an initial public key verification, ensuring fast and secure data verification.
Smart Images

Figure 2025016818000001_ABST
Abstract
Description
[Technical field]
[0001] The present technology relates to electronic devices and information processing methods, and more particularly to technology regarding electronic devices and information processing methods that perform processing to show that data has not been tampered with. [Background technology]
[0002] There are several ways to verify that information handled by electronic devices has not been tampered with. For example, known methods include the "public key method" (see Non-Patent Documents 1 and 2 below), which uses a private key and a public key to verify that the target data has not been tampered with, and the "shared key method" (see Non-Patent Document 3 below), which uses a shared key to verify that the target data has not been tampered with. [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] L. Chen, D. Moody, A. Regenscheid, K. Randall, Recommendations for Discrete Logarithm-Based Cryptography: Elliptic Curve Domain Parameters, Draft NIST Special Publication 800-186, October 2019. Internet<URL:https: / / csrc.nist.gov / publications / detail / sp / 800-186 / draft> [Non-Patent Document 2] RSA Cryptography Specifications Version 2.2 Internet<URL:https: / / datatracker.ietf.org / doc / html / rfc8017> [Non-Patent Document 3] Recommendation for Block Cipher Modes of OperationInternet<URL:https: / / nvlpubs.nist.gov / nistpubs / Legacy / SP / nistspecialpublication800-38a.pdf> Summary of the Invention [Problem to be solved by the invention]
[0004] The public key method has the problem that it requires more calculations and takes longer processing time than the common key method. Another problem is that the risk cost of the shared key system is higher than that of the public key system.
[0005] The present technology is intended to solve the above-mentioned problems, and aims to reduce the risk cost while suppressing the amount of calculation required for the process of determining whether or not tampering has occurred. [Means for solving the problem]
[0006] The electronic device of the present technology includes a first authenticity determination processing unit that performs a first authenticity determination on target data using a public key system, a code data generation unit that generates code data using a common key system from the target data that has been determined to be true in the first authenticity determination using a common key system, and a second authenticity determination processing unit that performs a second authenticity determination on the target data using the code data. By generating coded data (MAC: Message Authentication Code) by a common key system using the target data determined to be "true" by the first authenticity determination process, the coded data can be used in a second authenticity determination process for determining the authenticity of the target data. Since the second authenticity determination process is a process by a common key system, the processing time is shorter than that of the first authenticity determination process by a public key system.
[0007] The information processing method of the present technology involves a computer device executing a first authenticity determination process using a public key system for target data, a code data generation process using a common key system to generate code data from the target data that has been determined to be true in the first authenticity determination process, and a second authenticity determination process using the code data to perform a second authenticity determination on the target data. The above electronic device can be realized by such an information processing method. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a block diagram illustrating a configuration of an information processing system. [Diagram 2] FIG. 2 is a diagram for explaining an outline of procedures executed by each device. [Diagram 3] 11 is a flowchart showing an example of a process flow for an electronic device to perform authenticity determination. [Figure 4] 10 is a flowchart showing an example of a flow of a process executed by the electronic device when storing a public key and a common key in the electronic device. [Diagram 5] 11 is a flowchart showing an example of a flow of a process executed by an electronic device according to a first modified example. [Figure 6] 13 is a flowchart showing an example of a flow of a process executed by an electronic device according to a second modified example. [Figure 7] 13 is a flowchart showing an example of a flow of a process executed by an electronic device according to a third modified example. [Figure 8] 13 is a flowchart showing an example of a flow of processes executed by an electronic device according to a fourth modified example. [Figure 9] FIG. 13 is a diagram for explaining an overview of a procedure executed by each device in the fifth modified example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] The embodiments will be described below in the following order. <1. System configuration> <2. Processing procedures for each device> <3. Modifications> <3-1. First modified example> <3-2. Second modified example> <3-3.Third modified example> <3-4. Fourth modified example> <3-5. Fifth modified example> <3-6. Other Modifications> <4. Summary> <5. This Technology>
[0010] <1. System configuration> In order to determine the authenticity of target data, it is necessary to perform processes for generating various keys and digital signatures, etc., and for storing these data, etc. Various configurations for performing authenticity determination are possible.
[0011] First, one embodiment of the information processing system S will be described. As shown in FIG. 1, the information processing system S includes a server device 1, a host device 2, and an electronic device 3.
[0012] In the following example, the server device 1 is, for example, a manufacturing device for an image sensor. The host device 2 is, for example, a camera device equipped with an image sensor. The electronic device 3 is, for example, an image sensor manufactured by the server device 1.
[0013] The server device 1 is a device that performs processes of generating various keys and generating data to be subjected to authenticity verification (hereinafter, referred to as "target data D"), and transmitting necessary data to other devices.
[0014] The server device 1 includes a calculation processing unit 10, a storage unit 11, and a communication unit 12.
[0015] The arithmetic processing unit 10 has a key generation function FA1, a target data generation function FA2, a signature generation function FA3, a storage processing function FA4, an instruction function FA5, and a communication processing function FA6.
[0016] The key generation function FA1 generates a private key Kpr used in the public key system and a public key Kpb that pairs with the private key Kpr. The generated private key Kpr is stored in the storage unit 11. The generated public key Kpb is transmitted to the electronic device 3.
[0017] The target data generation function FA2 generates target data D, which is data to be certified as not having been tampered with, that is, data to be subjected to an authenticity determination process. The generated target data D is first transmitted to the host device 2.
[0018] There are various possible target data D. For example, the target data D may be data including at least a part of a program that operates in the electronic device 3 as an image sensor, data such as variables used in the program, or a patch file for updating the program. The target data D may also be data such as a program that uses AI (Artificial Intelligence), or an AI model used by the program.
[0019] The signature generation function FA3 generates a digital signature DS in the public key system using the target data D and the private key Kpr. The generated digital signature DS is transmitted to the host device 2. In the case of the Rivest-Shamir-Adleman Cryptosystem (RSA) method, for example, the digital signature DS is generated by hashing the target data D and encrypting the resulting hash data using a private key Kpr.
[0020] The memory processing function FA4 executes the process of storing the private key Kpr generated by the key generation function FA1 in the memory unit 11, the process of storing the target data D to be distributed to the host device 2 etc. in the memory unit 11, the process of storing temporary data in each process in the memory unit 11, and the process of reading them out.
[0021] The instruction function FA5 transmits an instruction to generate a common key Kcm used in the common key system to the electronic device 3. In response to this, the electronic device 3 generates the common key Kcm. Note that after the electronic device 3 is mounted on the host device 2, the instruction may be transmitted to the host device 2. The instruction function FA5 also instructs the host device 2 to update various software and the like used in the electronic device 3.
[0022] The communication processing function FA6 performs processes such as transmitting the public key Kpb generated by the key generation function FA1 to the electronic device 3, transmitting the target data D generated by the target data generation function FA2 to the host device 2, transmitting the digital signature DS generated by the signature generation function FA3 to the host device 2, and transmitting instructions by the instruction function FA5 to the host device 2 and the electronic device 3.
[0023] The storage unit 11 is configured to include a ROM (Read Only Memory), a RAM (Random Access Memory), etc., and stores and reads out various types of data in response to instructions from a storage processing function FA4.
[0024] The communication unit 12 performs various communications between the server device 1 and the host device 2 or between the server device 1 and the electronic device 3 in response to instructions from the communication processing function FA6.
[0025] The host device 2 includes a processor 20, a storage unit 21, and a communication unit 22.
[0026] The arithmetic processing unit 20 has an update notification function FB1, a storage processing function FB2, and a communication processing function FB3.
[0027] The update notification function FB1 performs a process of notifying the electronic device 3 that an update is available in response to an update instruction received from the server device 1.
[0028] The storage processing function FB2 performs processing for storing the target data D and the digital signature DS received from the server device 1 in the storage unit 21.
[0029] The communication processing function FB3 performs processes of receiving target data D and digital signature DS from the server device 1, receiving update instructions from the server device 1, transmitting target data D and digital signature DS to the electronic device 3, and transmitting code data CD to the electronic device 3, as described later.
[0030] The storage unit 21 is configured to include a ROM, a RAM, etc., and stores and reads out various types of data in response to instructions from a storage processing function FB2.
[0031] The communication unit 22 performs various communications between the host device 2 and the server device 1 or between the host device 2 and the electronic device 3 in response to instructions from the communication processing function FB3. The communication with the server device 1 is performed via various communication networks such as the Internet. The communication with the electronic device 3 is performed by a communication method such as I2C (Inter-Integrated Circuit).
[0032] As described above, the electronic device 3 is, for example, an image sensor mounted on a camera device serving as the host device 2, and is a device that actually uses the target data D that has not been tampered with and performs processing.
[0033] The electronic device 3 includes a processing unit 30 , a storage unit 31 , and a communication unit 32 .
[0034] The calculation processing unit 30 has a first authenticity determination function FC1, a random number generation function FC2, a common key generation function FC3, a code data generation function FC4, a non-tampering determination function FC5, a second authenticity determination function FC6, a processing selection function FC7, an update determination function FC8, a memory processing function FC9, and a communication processing function FC10.
[0035] The first authenticity determination function FC1 performs a first authenticity determination to prove that the target data D has not been tampered with, using the target data D, the public key Kpb, and the digital signature DS. For example, in the case of the RSA method, the first authenticity determination compares hash data obtained from the digital signature DS by decryption processing using the public key Kpb with hash data obtained by hashing the target data D.
[0036] If the two hash data match, the target data D is determined to be "authentic" and has not been tampered with. On the other hand, if the two hash data do not match, the target data D is determined to be "not genuine" and has been tampered with.
[0037] The first authenticity determination function FC1 may use various encryption techniques, such as Elliptic Curve Cryptography (ECC) and RSA.
[0038] The target data D used in the first authenticity determination is acquired from another device (for example, the server device 1 or the host device 2) each time the electronic device 3 is started. This means that the electronic device 3 does not need to have a storage unit for storing the target data D. Even if the electronic device 3 is hacked, it is possible to operate the electronic device 3 using the target data D newly acquired each time.
[0039] The random number generation function FC2 generates random numbers for generating a common key Kcm in a common key system. It is desirable that the random numbers generated by the random number generation function FC2 are true random numbers.
[0040] Note that a number other than a true random number may be generated for generating the common key Kcm using a method that cannot be guessed from outside the electronic device 3. An example of such a method is a PUF (Physically Unclonable Function).
[0041] The common key generation function FC3 generates a common key Kcm using the random number generated by the random number generation function FC2. The generated common key Kcm is stored in the storage unit 31. The common key Kcm generated by the common key generation function FC3 may be unique to the electronic device 3. By making the common key Kcm unique to the electronic device 3, it is possible to minimize the scope of influence when the common key Kcm is leaked.
[0042] The code data generation function FC4 generates code data CD using the target data D determined to be “true” by the first authenticity determination function FC1 and the common key Kcm generated by the common key generation function FC3. The generated code data CD is transmitted to the host device 2. Note that the code data CD is not stored in the storage unit 31 of the electronic device 3.
[0043] The code data CD is, for example, a MAC (Message Authentication Code). Here, it is preferable that the process of generating the code data CD is executed inseparably from the first authenticity determination process by the first authenticity determination function FC1.
[0044] For example, if the program is tampered with so that a program other than the code data generation process can be executed after the first authenticity determination process, there will be no point in performing the first authenticity determination using the first authenticity determination function FC1.
[0045] As an example of a configuration for inseparably executing the first authenticity determination process and the process for generating the code data CD, the arithmetic processing unit 30 has a non-tampering determination function FC5.
[0046] The non-tampering determination function FC5 performs a process for determining whether the program related to the process of the first authenticity determination and the program related to the process of generating the code data CD have been tampered with. For example, it is possible to verify that the programs have not been tampered with by using a secure boot function or the like.
[0047] Even if the calculation processing unit 30 of the electronic device 3 does not have the non-tampering determination function FC5, it is possible to ensure that the program is non-tampered with by the storage mode when the program is stored in the storage unit 31. For example, a program for executing the first authenticity determination process and a program for executing the process for generating the common key Kcm may be stored in the storage unit 31, which is generally called a mask ROM.
[0048] By using these techniques, the first authenticity determination process and the process of generating the code data CD can be executed inseparably.
[0049] The second authenticity determination function FC6 is a function that may be used, for example, when the electronic device 3 is started up for the second time or later. For example, when the electronic device 3 is started up for the first time, the code data CD for the target data D is generated, and is used when the target data D is used when the electronic device 3 is started up for the second time.
[0050] When the electronic device 3 is started up for the second time, a second authenticity check is executed, which has a shorter processing time than the first authenticity check.
[0051] Specifically, the second authenticity determination function FC6 acquires the target data D and the code data CD from the host device 2, and compares the code data CD regenerated from the target data D using the common key Kcm with the code data CD acquired from the host device 2.
[0052] If the two code data CD match, the target data D is determined to be "true" and has not been tampered with. On the other hand, if the two code data CD do not match, the target data D is determined to be "not true" and is determined to have been tampered with.
[0053] The second authenticity determination function FC6 may use various encryption techniques such as CMAC (Cipher-based Message Authentication Code).
[0054] The target data D used in the second authenticity determination is obtained from another device (for example, the server device 1 or the host device 2) every time the electronic device 3 is started up.
[0055] The process selection function FC7 performs a process of selecting whether the first authenticity determination process or the second authenticity determination process is to be performed in order to determine whether the target data D has been tampered with. For example, if the current startup of the electronic device 3 is the first startup that uses the target data D, the first authenticity determination process is selected. On the other hand, if the current startup of the electronic device 3 is the second or subsequent startup that uses the target data D, the second authenticity determination process is selected.
[0056] In other words, if the code data CD for the target data D has not been generated, the first authenticity determination process is selected, and if the code data CD for the target data D has been generated, the second authenticity determination process is selected.
[0057] In addition, even if the current startup of the electronic device 3 is the second or subsequent startup using the target data D, if a patch file for updating the target data D exists, this will be the first time that the target data D with the patch file applied has been used, so the processing selection function FC7 determines that the current startup is the first startup and selects the first authenticity determination processing.
[0058] In the following explanation, the first boot using target data D will be referred to as the "first boot," and the second boot using target data D will be referred to as the "non-first boot." Furthermore, the boot when a patch file for updating is available will be referred to as the "first boot."
[0059] The update determination function FC8 determines whether or not there is an update for the target data D, that is, whether or not there is a patch file to be applied to the target data D. This determination is made based on whether or not there is a notification by the update notification function FB1 of the host device 2. In addition, the determination result of the update determination process is used by the process selection function FC7.
[0060] The storage processing function FC9 performs processes such as storing the public key Kpb received from the server device 1 in the storage unit 31, storing the common key Kcm generated by the common key generation function FC3 in the storage unit 31, and temporarily storing the target data D and code data CD received from the host device 2 in the storage unit 31.
[0061] The communication processing function FC10 performs processes such as receiving the public key Kpb from the server device 1, transmitting the encoded data CD to the host device 2, and receiving the target data D and the encoded data CD from the host device 2. In this embodiment, the communication processing function FC10 receives the target data D from another device every time the electronic device 3 is started up.
[0062] The calculation processing unit 30 performs various processes other than those described above. For example, when there is a patch file to be applied to the target data D, one of the processes is to apply the patch file to the target data D to generate new target data D. Note that the process of applying the patch file to the target data D may be executed in the server device 1 or the host device 2.
[0063] The storage unit 31 is configured to include a ROM, a RAM, etc., and stores and reads out various types of data in response to instructions from a storage processing function FC9.
[0064] The communication section 32 performs communication between the electronic device 3 and the host device 2 in response to an instruction from the communication processing function FC10.
[0065] <2. Processing procedures for each device> The procedures of the above-mentioned processes executed by the server device 1, the host device 2, and the electronic device 3 will be described with reference to FIG.
[0066] First, in step S 1 , a private key Kpr and a public key Kpb in the public key system are generated in the server device 1 , and the private key Kpr is stored in the storage unit 11 of the server device 1 . In step S 2 , the server device 1 transmits the public key Kpb to the electronic device 3 to be stored in the storage unit 31 of the electronic device 3 .
[0067] In step S3, the electronic device 3 generates a common key Kcm in the common key system and stores it in the storage unit 31.
[0068] The processes in steps S1 to S3 are performed in a manufacturing process of an image sensor serving as the electronic device 3, for example.
[0069] As described above, the first authenticity determination may be performed by transmitting the target data D and the digital signature DS from the server device 1 to the host device 2, and then transmitting the target data and the digital signature DS from the host device 2 to the electronic device 3 when the electronic device 3 is initially started up for the target data D. In this case, the digital signature DS is stored in the storage unit 21 of the host device 2, as shown in FIG.
[0070] As another method, it is possible to complete the process up to the initial startup during the manufacturing process of the electronic device 3 as an image sensor. In this case, it is not necessary to store the digital signature DS in the storage unit 21 of the host device 2. The example shown in Fig. 2 shows an example in which the process up to the initial startup is completed during the manufacturing process.
[0071] Specifically, in step S4, the server device 1 generates target data D such as program data to be operated on the electronic device 3. The generated target data D is transmitted to the host device 2, but the transmission timing does not have to be the timing of executing step S4.
[0072] In step S5, the server device 1 generates a digital signature DS using the target data D and the private key Kpr.
[0073] In step S6, the server device 1 transmits the target data D and the digital signature DS to the electronic device 3.
[0074] In step S7, the electronic device 3 performs a first authenticity determination process (signature verification process) using the target data D, the digital signature DS, and the public key Kpb. As a result, the electronic device 3 can obtain the presence or absence of tampering with the target data D, i.e., the result information of the first authenticity determination.
[0075] In step S8, the electronic device 3 generates code data CD such as a MAC using the target data D determined to be "true" by the first authenticity determination and the common key Kcm. As described above, the example shown in FIG. 2 is an example in which at least the process up to step S8 is completed in the manufacturing process of the electronic device 3 as an image sensor.
[0076] In step S9, the generated code data CD is transmitted to the host device 2. The processes in and after step S9 may be executed after the electronic device 3 as an image sensor is mounted in the host device 2 as a camera device.
[0077] Through the processes from step S4 to step S9, the initial startup of the electronic device 3 is completed, and the electronic device 3 becomes able to use the target data D.
[0078] The processes from step S10 onwards are processes related to non-initial startup. In step S10, the host device 2 transmits the target data D and the code data CD to the electronic device 3.
[0079] In step S11, the electronic device 3 performs a second authenticity determination process (message authentication) using the target data D, the code data CD, and the common key Kcm. As a result, the electronic device 3 can obtain information on whether the target data D has been tampered with, that is, the result information of the second authenticity determination.
[0080] By performing the processes from step S10 to step S11, the non-initial startup of the electronic device 3 is completed, and the electronic device 3 becomes able to use the target data D.
[0081] A flowchart showing the flow of the process executed by the electronic device 3 at startup in order to realize the above-mentioned process is shown in Fig. 3. It should be noted that when the process shown in Fig. 3 is executed, the public key Kpb and the common key Kcm are stored in the storage unit 31 of the electronic device 3.
[0082] In step S101, the arithmetic processing unit 30 of the electronic device 3 checks whether or not there is an update notification. If there is no update notification, in step S102, the arithmetic processing unit 30 determines whether or not the target data D is being started for the first time.
[0083] When it is determined in step S101 that there is an update notification, or when it is determined in step S102 that the target data D is being started for the first time, the calculation processing unit 30 executes each process for the first start.
[0084] Specifically, the arithmetic processing unit 30 performs a secure boot process in step S103, which makes it possible to execute a non-tampering determination process for ensuring that the program related to the first authenticity determination process and the program related to the process for generating the code data CD have not been tampered with.
[0085] In step S104, the calculation processing unit 30 transmits a transmission request for the target data D and the digital signature DS to the server device 1 or the host device 2.
[0086] In step S105, the calculation processing unit 30 receives the target data D and the digital signature DS.
[0087] In step S106, the calculation processing unit 30 performs a first authenticity determination process.
[0088] In step S107, the calculation processing unit 30 performs branching processing according to the processing result of the first authenticity determination processing. Specifically, it is determined whether the target data D has been tampered with, and if it is determined that the target data D has been tampered with, the calculation processing unit 30 performs corresponding processing in step S108.
[0089] Various examples of the countermeasures are conceivable, such as notifying the user that the data has been tampered with (notifying an error) and halting the start-up of the electronic device 3 or the host device 2 in which the electronic device 3 is installed. Alternatively, the user may be allowed to select whether or not to continue the launch knowing that the target data D has been tampered with, or the launch may be continued while presenting the user with an operation to interrupt the launch.
[0090] On the other hand, if it is determined that the target data D has not been tampered with, the arithmetic processing unit 30 prepares for a non-initial startup. That is, the calculation processing unit 30 uses the common key Kcm and the target data D to generate the code data CD in step S109.
[0091] The processor 30 transmits the generated code data CD to the host device 2 in step S110.
[0092] In step S111, the arithmetic processing unit 30 starts using the target data D. This allows the arithmetic processing unit 30 to execute a program as the target data D, etc.
[0093] In step S102, when it is determined that the target data D is not the first startup, the calculation processing unit 30 executes each process for a non-first startup.
[0094] Specifically, the processor 30 transmits a transmission request for the target data D and the encoded data CD to the host device 2 in step S112.
[0095] The arithmetic processing unit 30 receives the target data D and the code data CD from the host device 2 in step S113.
[0096] In step S114, the calculation processing unit 30 performs a second authenticity determination process.
[0097] In step S115, the arithmetic processing unit 30 performs branching processing according to the result of the second authenticity judgment processing. Specifically, it is determined whether the target data D has been tampered with, and if it is determined that the target data D has been tampered with, the arithmetic processing unit 30 performs the corresponding processing in step S108, and if it is determined that the target data D has not been tampered with, the arithmetic processing unit 30 proceeds to processing in step S111.
[0098] In addition, when storing the public key Kpb and the common key Kcm in the memory unit 31 of the electronic device 3 by having the processing unit 30 of the electronic device 3 execute a program, rather than storing the public key Kpb and the common key Kcm in the memory unit 31 during manufacture of the electronic device 3 without executing a program by the processing unit 30 of the electronic device 3, this may be realized by a processing procedure such as that shown in Figure 4.
[0099] In step S201, the processor 30 determines whether the public key Kpb has already been stored in the memory 31.
[0100] If it is determined that the public key Kpb has already been stored, the processor 30 does not execute the processes of steps S202 and S203.
[0101] On the other hand, if it is determined that the public key Kpb is not stored, in step S202, the calculation processing unit 30 transmits a request to generate and transmit the public key Kpb to the server device 1. The request may be transmitted to the server device 1 via the host device 2.
[0102] In step S203, the processor 30 receives the public key Kpb from the server device 1 and stores it in the memory 31. This reception may be performed via the host device 2. It is desirable that the electronic device 3 receives the public key Kpb in a state where secure communication with the server device 1 and the host device 2 has been established. In other words, it is desirable that the public key Kpb is transmitted and received in an environment where the transmitted and received data cannot be tampered with or where tampering is difficult.
[0103] In step S204, the processor 30 determines whether or not an instruction to generate the common key Kcm has been received. The instruction to generate the common key Kcm may be issued by the server device 1 as described above, or may be issued by the host device 2.
[0104] If it is determined that the generation instruction has been received, the calculation processing unit 30 generates random numbers in step S205, and generates a common key Kcm using the generated random numbers and stores the common key Kcm in the storage unit 31 in step S206.
[0105] On the other hand, if it is determined that the instruction to generate the common key Kcm has not been received, the calculation processing unit 30 ends the series of processes shown in FIG.
[0106] <3. Modifications> <3-1. First modified example> The first modification relates to the timing of generating the common key Kcm. A specific processing procedure will be described with reference to FIG. Note that the same processes as those shown in FIG. 3 are denoted by the same step numbers and descriptions thereof will be omitted where appropriate.
[0107] If the calculation processing unit 30 of the electronic device 3 determines in step S101 that there is an update notification, or if it determines in step S102 that the target data D is being started for the first time, the calculation processing unit 30 executes each process for the first start.
[0108] In each process for initial startup, the calculation processing unit 30 executes steps S103 to S106 to prepare the target data D and the digital signature DS.
[0109] Next, in step S107, the calculation processing unit 30 performs a branching process according to the result of the first authenticity determination process.
[0110] If it is determined that the target data D has not been tampered with, the calculation processing unit 30 generates a common key Kcm in step S131 before executing the process of step S109. As a result, the common key Kcm is not generated until immediately before the generation of the code data CD that requires the common key Kcm, thereby further reducing the risk of the common key Kcm being leaked.
[0111] <3-2. Second modified example> The second modification is an example in which the code data CD is stored in the storage unit 31 of the electronic device 3. A specific processing procedure will be described with reference to FIG. Note that the same processes as those shown in FIG. 3 are denoted by the same step numbers and descriptions thereof will be omitted where appropriate.
[0112] The arithmetic processing unit 30 of the electronic device 3 executes each process from step S103 onwards as a process for initial startup in response to the branching processes of steps S101 and S102.
[0113] In step S107, the calculation processing unit 30 performs a branching process according to the result of the first authenticity determination process.
[0114] If it is determined that the target data D has not been tampered with, the calculation processing unit 30 generates code data CD using the common key Kcm and the target data D in step S109.
[0115] Next, the arithmetic processing unit 30 performs a process of storing the code data CD in the storage unit 31 in step S141.
[0116] Furthermore, the arithmetic processing unit 30 of the electronic device 3 executes each process from step S143 onwards as a process for non-initial startup in response to the branching processes of steps S101 and S102. Specifically, the processor 30 transmits a request to transmit the target data D to the host device 2 in step S143.
[0117] Next, the calculation processing unit 30 receives the target data D in step S144. Furthermore, the processor 30 acquires the code data CD from the memory 31 in step S145.
[0118] Using the target data D, the code data CD, and the common key Kcm, the calculation processing unit 30 performs the second authenticity determination process in step S114.
[0119] That is, in the second modified example, the target data D is obtained from another device each time the electronic device 3 is started up, and the code data CD is stored inside the electronic device 3. This makes it possible to reduce the communication band and improve the processing speed.
[0120] <3-3.Third modified example> The third modified example is an example in which both the code data CD and the target data D are stored in the storage unit 31 of the electronic device 3. A specific processing procedure will be described with reference to FIG. Note that the same processes as those shown in FIG. 6 are denoted by the same step numbers and descriptions thereof will be omitted where appropriate.
[0121] The arithmetic processing unit 30 of the electronic device 3 executes each process from step S103 onwards as a process for initial startup in response to the branching processes of steps S101 and S102.
[0122] In step S107 after executing the processes from step S103 to step S106, the calculation processing unit 30 performs a branching process according to the result of the first authenticity determination process.
[0123] If it is determined that the target data D has not been tampered with, the calculation processing unit 30 performs a process of storing the target data D in the storage unit 31 in step S151. Note that the storage process of the target data D can be performed at any timing after the reception process in step S105.
[0124] Next, the calculation processing unit 30 uses the common key Kcm and the target data D to generate code data CD in step S109.
[0125] In step S141, the calculation processing unit 30 stores the code data CD in the storage unit 31. As a result, both the object data D and the code data CD are stored in the storage unit 31. In this example, no process is performed to transmit the target data D or the code data CD to the host device 2, but the target data D and the code data CD may be transmitted to the host device 2 in the event that the data stored in the electronic device 3 is corrupted.
[0126] The arithmetic processing unit 30 of the electronic device 3 executes the processes of steps S152 and S114 as processes for non-initial startup in response to the branching processes of steps S101 and S102. Specifically, the calculation processing unit 30 performs a process of acquiring the target data D and the code data CD from the storage unit 31 in step S152.
[0127] Using the target data D, the code data CD, and the common key Kcm, the calculation processing unit 30 performs the second authenticity determination process in step S114.
[0128] That is, in the third modified example, the target data D and the code data CD are stored inside the electronic device 3. This makes it possible to reduce the communication band and improve the processing speed.
[0129] <3-4. Fourth modified example> In the above example, the process of generating the common key Kcm is executed by the electronic device 3. However, the common key Kcm may be generated by a device other than the electronic device 3, such as the server device 1 or the host device 2, and the generated common key Kcm may be transmitted to the electronic device 3 and stored in the storage unit 31. In the fourth modified example, an example in which the host device 2 generates the common key Kcm will be described.
[0130] A specific description will be given with reference to FIG. Note that the same processes as those shown in FIG. 4 are given the same step numbers and descriptions thereof will be omitted as appropriate.
[0131] The processor 30 of the electronic device 3 stores the public key Kpb in the storage unit 31 by performing the processes from step S201 to step S203.
[0132] Next, in step S211, the calculation processing unit 30 determines whether the common key Kcm is stored in the storage unit 31 or not.
[0133] When it is determined that the common key Kcm is stored in the storage unit 31, the calculation processing unit 30 ends the series of processes shown in Fig. 8. This enables the storage unit 31 to store various keys necessary for the processes.
[0134] On the other hand, if it is determined that the common key Kcm is not stored in the storage unit 31, the calculation processing unit 30 transmits a request to generate and transmit the common key Kcm to the host device 2 in step S212.
[0135] In response to this, the processor 20 of the host device 2 performs a process of generating random numbers and a process of generating a common key Kcm, and performs a process of transmitting the generated common key Kcm to the electronic device 3 .
[0136] In step S213, the processor 30 of the electronic device 3 receives the common key Kcm and stores the common key Kcm in the memory 31.
[0137] In this way, by generating the common key Kcm in a device other than the electronic device 3, the electronic device 3 does not need to include the random number generation function FC2 and the common key generation function FC3 shown in Fig. 1, and therefore it is possible to reduce the size of the program deployed in the electronic device 3. Therefore, it is possible to reduce the cost and size of the electronic device 3.
[0138] It is preferable that the process of transmitting the common key Kcm from the host device 2 to the electronic device 3 be performed in an environment in which eavesdropping on communications is not possible or is difficult to achieve.
[0139] <3-5. Fifth modified example> In the above example, the server device 1 generates the target data D. In the fifth modified example, the host device 2 generates the target data D.
[0140] The process flow of this example will be specifically described with reference to FIG. Note that the same processes as those shown in FIG. 2 are denoted by the same step numbers and descriptions thereof will be omitted where appropriate.
[0141] First, steps S1, S2 and S3 are performed to store the private key Kpr in the public key system in the memory unit 11 of the server device 1, and the public key Kpb in the public key system and the common key Kcm in the common key system are stored in the memory unit 31 of the electronic device 3.
[0142] In step S20, the host device 2 generates target data D such as program data that runs on the electronic device 3.
[0143] In step S21, the host device 2 transmits the target data D to the server device 1 in order to obtain a digital signature DS for the target data D.
[0144] In step S22, the server device 1 generates a digital signature DS using the received target data D and the stored private key Kpr.
[0145] The generated digital signature DS is transmitted to the host device 2 in step S23.
[0146] The processes from step S24 to step S27 are carried out when the electronic device 3 is started up for the first time.
[0147] In step S24, the host device 2 transmits the target data D and the digital signature DS to the electronic device 3.
[0148] In step S25, the electronic device 3 performs a first authenticity determination process (signature verification process) using the target data D, the digital signature DS, and the public key Kpb. As a result, the electronic device 3 can obtain the presence or absence of tampering with the target data D, i.e., the result information of the first authenticity determination.
[0149] In step S26, the electronic device 3 generates code data CD such as a MAC using the target data D determined to be “true” by the first authenticity determination and the common key Kcm. The generated code data CD is transmitted to the host device 2 in step S27.
[0150] The processes in and after step S28 are processes related to non-initial startup. Note that the processes in steps S28 and S29 are similar to the processes in steps S10 and S11 in FIG. 2, and therefore descriptions thereof will be omitted.
[0151] According to this example, a manufacturer of the electronic device 3 can generate the target data D and operate it in the electronic device 3, thereby expanding the scope of application of the present technology.
[0152] <3-6. Other Modifications> In this example and the above-mentioned examples, the private key Kpr and the public key Kpb are generated by the server device 1, but the private key Kpr and the public key Kpb may be generated and managed by the host device 2. In other words, the private key Kpr and the public key Kpb may be managed by the user who purchased the electronic device 3.
[0153] In this case, the process of writing the public key Kpb to the storage unit 31 of the electronic device 3 may be performed by the host device 2 after purchasing the electronic device 3. This allows the user who purchased the electronic device 3 to manage the private key Kpr at his / her own risk, making risk management easier. Also, since there is no need to transmit / receive the target data D and the digital signature DS between the host device 2 and the server device 1, it is possible to prevent various data from leaking out.
[0154] The public key Kpb generated in the host device 2 may be transmitted to the server device 1, and the server device 1, upon receiving the public key Kpb, may perform a process of storing the public key Kpb in the storage unit 31 of the manufactured electronic device 3. In that case, the electronic device 3 may be delivered to the user with the public key Kpb stored in the storage unit 31.
[0155] The common key Kcm stored in the electronic device 3 may be used without being changed as long as the target data D is the same, but may be periodically regenerated even if the target data D is the same. This reduces the risk of the common key Kcm being leaked. Note that the same common key Kcm may be used when the target data D is different. For example, the electronic device 3 may be configured so that the common key Kcm cannot be rewritten.
[0156] In addition to the various configurations described above, the first authenticity determination may be performed after one or more stages of processing for authenticating the public key Kpb corresponding to the private key Kpr. The risk can be further reduced by using the so-called certificate chain mechanism.
[0157] Furthermore, a plurality of combinations of the private key Kpr and the public key Kpb may be generated, and the plurality of public keys Kpb may be stored in the storage unit 31 of one electronic device 3 . This makes it possible, for example, if it is discovered that a public key Kpb currently in use has been leaked, to immediately invalidate that public key Kpb and start using a different public key Kpb. Therefore, the risk of leakage can be reduced, and the period during which the electronic device 3 is stopped can be shortened.
[0158] The host device 2 and the electronic device 3 described above may take various forms. For example, the host device 2 may be a surveillance camera, and the electronic device 3 may be an image sensor mounted on the surveillance camera.
[0159] Furthermore, the host device 2 may be an on-board ECU (Electronic Control Unit), and the electronic device 3 may be an image sensor as an in-vehicle sensor or an outside-vehicle sensor driven by the ECU.
[0160] The electronic device 3 can be applied to various sensors, such as an RGB sensor that obtains R (Red) images, G (Green) images, and B (Blue) images, a ToF (Time of Flight) sensor, a thermal sensor, a polarization sensor, a multi-wavelength (multispectral) sensor, an EVS (Event based Vision Sensor), an IR (Infrared) sensor, a SWIR (Short Wavelength infrared) sensor, a humidity sensor, and a moisture sensor.
[0161] <4. Summary> As described in the various examples above, the electronic device 3 includes a first authenticity determination processing unit (first authenticity determination function FC1) that performs a first authenticity determination on the target data D using a public key system, a code data generation unit (code data generation function FC4) that generates code data CD using the common key system from the target data D that has been determined to be true in the first authenticity determination using the common key system, and a second authenticity determination processing unit (second authenticity determination function FC6) that performs a second authenticity determination on the target data D using the code data CD. By generating coded data CD by a common key system using the target data D determined to be "true" by the first authenticity determination process, the coded data CD can be used in a second authenticity determination process for determining the authenticity of the target data D. Since the second authenticity determination process is a process by the common key system, the processing time is shorter than that of the first authenticity determination process by the public key system. Therefore, for the first authenticity determination, a first authenticity determination is performed using a public key system with a low risk of leakage, thereby making it possible to obtain a highly accurate authenticity determination result for the target data D and obtain correct code data CD for the regular target data D. For the second and subsequent authenticity determinations, the correct code data CD is used to perform a second authenticity determination process using a common key system, thereby shortening the processing time and enabling the electronic device 3 to start up at a faster speed. In other words, this configuration makes it possible to reduce the risk of keys being leaked while also speeding up authenticity determination.
[0162] As described with reference to Figure 1 etc., the electronic device 3 may be provided with a processing selection unit (processing selection function FC7) that performs a first authenticity judgment before generating the code data CD for the target data D, and performs a second authenticity judgment without performing the first authenticity judgment after generating the code data CD for the target data D. For example, when authenticity determination is performed to confirm that the target data D has not been tampered with each time the electronic device 3 is started, the first authenticity determination process, which requires a relatively large amount of calculation, does not need to be performed from the second time onward. Therefore, the startup of the electronic device 3 can be speeded up.
[0163] As described with reference to FIG. 1 etc., the electronic device 3 may include a storage processing unit (storage processing function FC9) that stores in the storage unit 31 the common key Kcm used to generate the code data CD by the common key method. By storing the common key Kcm used to generate the code data CD inside the electronic device 3, the risk of the common key Kcm being leaked can be reduced.
[0164] As described in the fourth modified example with reference to FIG. 8 etc., the electronic device 3 may be provided with a communication processing unit (communication processing function FC10) that receives the common key Kcm from another device (e.g., the server device 1 or the host device 2). Specifically, the common key Kcm used to generate the code data CD can be generated in another device, so that the electronic device 3 does not need to have a function for generating the common key Kcm. Therefore, the capacity of the program stored in the electronic device 3 can be reduced, and the memory size can be reduced.
[0165] As described with reference to FIG. 1 etc., the electronic device 3 may include a key generation unit (a common key generation function FC3) that generates a common key Kcm. This eliminates the need to generate the common key Kcm in other devices (for example, the server device 1 or the host device 2). Therefore, since there is no need to transmit or receive the common key Kcm, the risk of the common key Kcm being leaked can be further reduced. Therefore, the authenticity of the target data D can be determined with higher accuracy.
[0166] As described in the first variant with reference to Figure 5 etc., the key generation unit (common key generation function FC3) of the electronic device 3 may generate the common key Kcm after first performing a first authenticity determination on the target data D. As a result, the common key Kcm is not generated until the code data CD that requires the common key Kcm is generated, so that the risk of the common key Kcm being leaked can be further reduced.
[0167] As described with reference to FIG. 1 etc., the common key Kcm may be unique to the electronic device 3 . If a different common key Kcm is created for each electronic device 3, in the conventional common key method, either the server device 1 or the host device 2 would need to store a common key Kcm for each electronic device 3, which would result in high management costs. However, with this configuration, the common key Kcm exists only in the electronic device 3, so that the server device 1 and the host device 2 do not incur management costs for the common key Kcm. Furthermore, since the common key Kcm is unique to each electronic device 3, the scope of the impact when the common key Kcm is leaked can be minimized, and the cost of risk management can be reduced.
[0168] As described in the second modified example with reference to FIG. 6 and the like, the storage processing section (storage processing function FC9) of the electronic device 3 may store the code data CD in the storage section 31. By storing the code data CD used for the second authenticity determination in the storage unit 31 of the electronic device 3, it is not necessary to obtain the code data CD from another device (for example, the server device 1 or the host device 2) every time the second authenticity determination is performed. Therefore, it is possible to reduce the processing load related to the communication processing.
[0169] As described in the third modified example with reference to FIG. 7 and the like, the storage processing section (storage processing function FC9) of the electronic device 3 may store the target data D in the storage section 31. The target data D is, for example, various programs used by the electronic device 3 for processing, and specifically includes not only the software itself but also patch files applied to the software and AI models used for AI processing. By storing the target data D in the storage unit 31 of the electronic device 3, it is possible to reduce the processing load and communication bandwidth since it is not necessary to perform communication processing to obtain the target data D from other devices. In this case, it is also possible to store only the target data D in advance during the manufacturing process of the electronic device 3. It is considered that the target data D has a larger capacity than the code data CD. By storing the target data D in the electronic device 3 in advance, it is not necessary to perform processing to receive the target data D every time the electronic device 3 is started, and the start-up time can be shortened.
[0170] As described with reference to FIGS. 1, 3, etc., the electronic device 3 may include a communication processing unit (communication processing function FC10) that receives the target data D from the host device 2 each time the electronic device 3 is started up. By acquiring the target data D from the host device 2 at each startup, it is not necessary to store the target data D in a non-volatile memory or the like inside the electronic device 3. Therefore, it is possible to miniaturize the electronic device 3 by reducing the capacity of the storage unit 31 included in the electronic device 3.
[0171] As described with reference to FIG. 3 and the like, the communication processing section (communication processing function FC10) of the electronic device 3 may receive the code data CD from the host device 2 every time the electronic device 3 is started up. By obtaining not only the target data D but also the code data CD from the host device 2 at each startup, it is not necessary to secure an area for storing both the target data D and the code data CD inside the electronic device 3. Therefore, the capacity of the storage unit 31 included in the electronic device 3 can be made smaller, and the electronic device 3 can be made more compact.
[0172] As described with reference to FIG. 1 etc., the electronic device 3 may be configured to inseparably execute the first authenticity determination process and the process of generating the code data CD. It is possible to guarantee that the code data CD is generated consecutively using the target data D that has been proven not to have been tampered with by the first authenticity determination process. Therefore, it is possible to eliminate the possibility that the target data D is tampered with after the first authenticity determination process and before the code data CD is generated, and it is possible to reduce the risk of tampering.
[0173] As described with reference to FIG. 1 etc., the electronic device 3 may include a memory unit 31 formed as a mask ROM in which a program related to the first authenticity determination process and a program related to the process of generating the code data CD are stored. By using the mask ROM method, it is possible to ensure that no other process is executed between the process of the first authenticity determination and the process of generating the code data CD.
[0174] As described with reference to Figures 1, 3, etc., the electronic device 3 may be provided with a non-tampering determination processing unit (non-tampering determination function FC5) that performs non-tampering determination processing for a program related to the first authenticity determination processing and a program related to the processing for generating the code data CD. This makes it possible to guarantee that both the first authenticity determination and the generation of the code data CD are performed based on a legitimate program, and therefore it is possible to guarantee that the generated code data CD is correct, thereby reducing the risk of tampering.
[0175] As explained with reference to Figures 1, 3, etc., the electronic device 3 may be provided with an update determination processing unit (update determination function FC8) that determines whether or not the target data D has been updated, and if there is an update, the first authenticity determination processing unit (first authenticity determination function FC1) may perform a first authenticity determination on the new target data D after the update, and the code data generation unit (code data generation function FC4) may generate code data CD for the new target data D. As a result, if there is no change in the target data D, it is possible to prove that the data has not been tampered with by the second authenticity determination process, thereby making it possible to shorten the processing time required for authenticity determination. The update determination process may be executed by the server device 1 or the host device 2. In this case, the electronic device 3 may perform the update process based on the update instruction received from the server device 1 or the host device 2 and new target data D.
[0176] In the information processing method of the embodiment, a computer device executes a first authenticity determination process (first authenticity determination function FC1) using a public key system for target data D, a code data generation process (code data generation function FC4) using a common key system to generate code data CD from target data D that has been determined to be true in the first authenticity determination process using the common key system, and a second authenticity determination process (second authenticity determination function FC6) using the code data CD to perform a second authenticity determination on the target data D.
[0177] The program of the embodiment is a program that causes an arithmetic processing device such as a CPU to execute a first authenticity determination process (first authenticity determination function FC1) using a public key system for target data D, a code data generation process (code data generation function FC4) using a common key system to generate code data CD from target data D that has been determined to be true in the first authenticity determination process using the common key system, and a second authenticity determination process (second authenticity determination function FC6) using the code data CD to perform a second authenticity determination on the target data D. By using such a program, the arithmetic processing unit 30 of the electronic device 3 described above can be realized by an arithmetic processing device such as a microcomputer.
[0178] These programs can be pre-recorded on a HDD as a recording medium built into a device such as a computer device, or on a ROM in a microcomputer having a CPU. Alternatively, the programs can be temporarily or permanently stored (recorded) on a removable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a Blu-ray Disc (registered trademark), a magnetic disk, a semiconductor memory, or a memory card. Such removable recording media can be provided as so-called package software. Furthermore, such a program can be installed in a personal computer or the like from a removable recording medium, or can be downloaded from a download site via a network such as a LAN (Local Area Network) or the Internet.
[0179] It should be noted that the effects described in this specification are merely examples and are not limiting, and other effects may also be obtained.
[0180] Furthermore, the above-mentioned examples may be combined in any manner, and even when various combinations are used, the above-mentioned various operational effects can be obtained.
[0181] <5. This Technology> (1) a first authenticity determination processing unit that performs a first authenticity determination on the target data using a public key system; a code data generation unit that generates code data by a common key system from the target data that has been determined to be true in the first authenticity determination by a common key system; A second authenticity determination processing unit that performs a second authenticity determination on the target data using the code data. electronic equipment. (2) a processing selection unit that performs the first authenticity determination before generating the encoded data for the target data, and performs the second authenticity determination without performing the first authenticity determination after generating the encoded data for the target data. The electronic device described in (1) above. (3) a storage processing unit that stores a common key used for generating the code data by the common key method in a storage unit; An electronic device according to any one of (1) to (2) above. (4) A communication processing unit that receives the common key from another device. The electronic device described in (3) above. (5) a key generating unit for generating the common key; The electronic device described in (3) above. (6) The key generation unit generates the common key after first performing the first authenticity determination on the target data. The electronic device described in (5) above. (7) The common key is unique to the electronic device. An electronic device according to any one of (3) to (6) above. (8) The storage processing unit stores the encoded data in the storage unit. An electronic device according to any one of (3) to (7) above. (9) The storage processing unit stores the target data in the storage unit. The electronic device described in (8) above. (10) a communication processing unit that receives the target data from a host device each time the electronic device is started; An electronic device according to any one of (3) to (8) above. (11) The communication processing unit receives the encoded data from the host device every time the electronic device is started. The electronic device described in (10) above. (12) The first authenticity determination process and the process of generating the code data are executed inseparably. An electronic device according to any one of (1) to (11) above. (13) A storage unit configured as a mask ROM for storing a program related to the first authenticity determination process and a program related to the process of generating the code data. The electronic device described in (12) above. (14) A non-tampering determination processing unit that performs a non-tampering determination process for the program related to the first authenticity determination process and the program related to the process of generating the code data. The electronic device described in (12) above. (15) an update determination processing unit that determines whether the target data has been updated; If there is an update, the first authenticity determination processing unit performs the first authenticity determination on new target data after the update; The code data generating unit generates the code data for the new target data. An electronic device according to any one of (1) to (14) above. (16) A first authenticity determination process for the target data using a public key system; a code data generation process for generating code data by a common key system from the target data determined to be true in the first authenticity determination process by a common key system; A second authenticity determination process is executed by a computer device to perform a second authenticity determination on the target data using the code data. Information processing methods. [Explanation of symbols]
[0182] 1 Server equipment (other devices) 2 Host device 3 Electronic equipment 31 Storage section FC1 First authenticity determination function (first authenticity determination processing section) FC3 common key generation function (key generation part) FC4 Code data generation function (code data generation part) FC5 Non-tampering verification function (non-tampering verification processing section) FC6 Second authenticity determination function (Second authenticity determination processing section) FC7 Processing selection function (processing selection part) FC8 Update determination function (update determination processing section) FC9 Memory Processing Function (Memory Processing Unit) FC10 Communication processing function (communication processing section) Kcm common key D. Target Data CD Code Data
Claims
1. a first authenticity determination processing unit that performs a first authenticity determination on the target data using a public key system; a code data generation unit that generates code data by a common key system from the target data that is determined to be true in the first authenticity determination by a common key system; a second authenticity determination processing unit that performs a second authenticity determination on the target data by using the code data; electronic equipment.
2. a processing selection unit that performs the first authenticity determination before generating the code data for the target data, and performs the second authenticity determination without performing the first authenticity determination after generating the code data for the target data.
2. The electronic device according to claim 1.
3. a storage processing unit that stores a common key used for generating the code data by the common key method in a storage unit; 2. The electronic device according to claim 1.
4. A communication processing unit that receives the common key from another device.
4. The electronic device according to claim 3.
5. a key generating unit for generating the common key; 4. The electronic device according to claim 3.
6. The key generation unit generates the common key after first performing the first authenticity determination on the target data.
6. The electronic device according to claim 5.
7. The common key is unique to the electronic device.
4. The electronic device according to claim 3.
8. The storage processing unit stores the encoded data in the storage unit.
4. The electronic device according to claim 3.
9. The storage processing unit stores the target data in the storage unit.
9. The electronic device according to claim 8.
10. a communication processing unit that receives the target data from a host device each time the electronic device is started; 4. The electronic device according to claim 3.
11. The communication processing unit receives the encoded data from the host device every time the electronic device is started. The electronic device according to claim 10.
12. The first authenticity determination process and the process of generating the code data are executed inseparably.
2. The electronic device according to claim 1.
13. A storage unit configured as a mask ROM for storing a program related to the first authenticity determination process and a program related to the process of generating the code data.
13. The electronic device according to claim 12.
14. a non-tampering determination processing unit that performs a non-tampering determination process for the program related to the first authenticity determination process and the program related to the process of generating the code data; 13. The electronic device according to claim 12.
15. an update determination processing unit that determines whether the target data has been updated; If there is an update, The first authenticity determination processing unit performs the first authenticity determination on new target data after the update, The code data generating unit generates the code data for the new target data.
2. The electronic device according to claim 1.
16. A first authenticity determination process for the target data using a public key system; a code data generation process for generating code data by a common key system from the target data determined to be true in the first authenticity determination process by a common key system; A second authenticity determination process is executed by a computer device to perform a second authenticity determination on the target data using the code data. Information processing methods.