Electronic device, host device, and electronic device system
Patent Information
- Application Number
- CN202580020671.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-03-19
- Filing Date
- 2025-03-05
- Publication Date
- 2026-10-16
AI Technical Summary
[0008] The problem to be solved by the present invention
Smart Images

Figure CN122935894A_ABST
Abstract
Description
Technical Field
[0001] This technology relates to electronic devices, host devices, and electronic device systems. Background Technology
[0002] In situations involving multiple electronic devices, key-based methods are used for pairing between devices, establishing sessions, and detecting tampering.
[0003] As methods of using keys, there are public key schemes and public key schemes, and there is generally a trade-off between these schemes. Public key schemes have the characteristics of being able to operate keys securely but with slow processing speed, while public key schemes have the characteristics of being difficult to operate keys securely and having high cost but with fast processing speed.
[0004] Such a technology has been proposed in which two key schemes are combined: a public key scheme is used when manufacturing electronic devices such as sensors, and a public key scheme is used during operation to establish sessions between multiple electronic devices and verify tampering (Patent Document 1).
[0005] Reference List
[0006] Patent documents
[0007] Patent Document 1: WO 2023 / 127429 Summary of the Invention
[0008] The problem to be solved by the present invention
[0009] In situations where multiple electronic devices are used, there is a need to establish sessions between the electronic devices and the device acting as the host more quickly.
[0010] This technology was developed in view of such problems, and its purpose is to provide an electronic device, a host device, and an electronic device system that can establish a high-speed session between a host device and multiple electronic devices while the host device is communicating with multiple electronic devices.
[0011] Solution to the problem
[0012] To address the aforementioned problems, a first technology is an electronic device comprising: a decryption processing unit configured to use a first public key to decrypt a session key sent in an encrypted state from a host device; an encryption processing unit configured to encrypt the decrypted session key; and a communication unit configured to send the encrypted session key to the host device.
[0013] Furthermore, the second technology is a host device comprising: a session key generation unit configured to generate a session key for establishing a session with other electronic devices besides a specific electronic device that is one of a plurality of electronic devices; and a communication unit configured to send an encrypted session key to the specific electronic device, receive a session key encrypted by the specific electronic device and sent from the specific electronic device, and send the received session key to the other electronic devices.
[0014] Additionally, the third technology is an electronic device system comprising: a host device including: a session key generation unit configured to generate a session key for establishing a session with other electronic devices besides a specific electronic device that is one of a plurality of electronic devices; and a communication unit configured to send an encrypted session key to the specific electronic device, receive a session key encrypted by the specific electronic device and sent from the specific electronic device, and send the received session key to the other electronic devices; and an electronic device that is the specific electronic device including: a decryption processing unit configured to decrypt a session key sent from the host device in an encrypted state using a first public key; an encryption processing unit configured to encrypt the decrypted session key; and a communication unit configured to send the encrypted session key to the host device. Attached Figure Description
[0015] Figure 1 This is a block diagram showing the configuration of the electronic device system 10.
[0016] Figure 2 This is a block diagram showing the configuration of host device 100.
[0017] Figure 3 This is a block diagram illustrating the configuration of an electronic device 200 according to a first embodiment.
[0018] Figure 4 This is a sequence diagram illustrating the processing of the electronic device system 10 according to the first embodiment.
[0019] Figure 5 This is a diagram illustrating the processing of the electronic device system 10 according to the first embodiment.
[0020] Figure 6 This is a block diagram illustrating the configuration of an electronic device 200 according to a second embodiment.
[0021] Figure 7 This is a sequence diagram illustrating the processing of the electronic device system 10 according to the second embodiment.
[0022] Figure 8 This is a diagram illustrating the processing of the electronic device system 10 according to the second embodiment. Detailed Implementation
[0023] Embodiments of this technology will now be described with reference to the accompanying drawings.
[0024] In addition, the descriptions will be given in the following order.
[0025] <First Embodiment>
[0026] [About public key schemes and public key schemes]
[0027] [Configuration of Electronic Device System 10]
[0028] [Configuration of Host Device 100]
[0029] [Configuration of Electronic Device 200]
[0030] [Processing of electronic device system 10]
[0031] <Second Embodiment>
[0032] [Configuration of Electronic Device 200]
[0033] [Processing of electronic device system 10]
[0034] <Modification Example>
[0035] <First Embodiment>
[0036] [About public key schemes and public key schemes]
[0037] First, the characteristics of public-key schemes and public-key cryptography used in this technology will be described. A public-key scheme is a scheme that uses different keys for encryption and decryption; encryption is performed using the public key, and decryption is performed using the private key. A public-key cryptography scheme is a scheme in which a public key is maintained between communicating devices, and the same key is used for encryption and decryption.
[0038] Public-key schemes offer advantages such as ease of key management and operation. During the manufacturing phase of devices using these keys, a secret value needs to be stored for each pair of communicating devices, but different values can be stored in each device. Furthermore, key transfer is not required when repairing devices. However, public-key schemes suffer from slow processing, resulting in time-consuming device processing and startup. Public-key scheme algorithms include RSA, ElGamal, and elliptic curve cryptography schemes.
[0039] On the other hand, public key schemes have the advantage of short processing time due to their fast processing speed. However, public key schemes require the sharing of unique keys between each pair of devices for communication during the manufacturing phase. Furthermore, when repairing equipment, the key on the faulty side needs to be transferred to the repair unit. Therefore, compared to public key schemes, they suffer from the disadvantage of complex management and operation keys. Public key scheme algorithms include Rivest Cipher 4 (RC4), Data Encryption Standard (DES), and Advanced Encryption Standard (AES), among others.
[0040] In this technology, in an electronic device system 10 where a host device 100 communicates with multiple electronic devices 200, the host device 100 uses a public key scheme to establish a session with a specific electronic device 200 as the initial session to be established, and uses a public key scheme to establish sessions with second and subsequent other electronic devices 200. As a result, the advantages of both public key and public key schemes are combined, enabling high-speed establishment of sessions between the host device 100 and the electronic devices 200, and facilitating key management and operation.
[0041] [Configuration of Electronic Device System 10]
[0042] The electronic equipment system 10 includes a host device 100 and multiple electronic devices 200.
[0043] The host device 100 can communicate with each of the multiple electronic devices 200 and perform management and control of each electronic device 200, as well as key transmission and reception. The host device 100 is, for example, an electronic control unit (ECU) installed in a car and performing electronic control of the entire car and its various parts.
[0044] Electronic device 200 can communicate with host device 100 and perform various types of processing and control. Electronic device 200 is, for example, an on-board sensor installed in a vehicle. On-board sensors can be external or internal sensors of the vehicle. Examples of sensors include cameras, image sensors, time-of-flight (ToF) sensors, light detection and ranging (LiDAR), infrared sensors, millimeter-wave radar, polarization sensors, multi-wavelength (multispectral) sensors, temperature sensors, humidity sensors, inertial measurement units (IMUs), etc.
[0045] The host device 100 and the electronic device 200 can communicate with each other through a communication scheme such as inter-integrated circuit (I2C). I2C is a synchronous serial communication scheme that performs data communication in sync with a clock and is primarily used for data communication with electrically erasable and programmable read-only memories (EEPROMs), sensors, and the like. However, the communication scheme is not limited to I2C and can be other schemes, and wired or wireless communication can be used.
[0046] exist Figure 1 In the example, the electronic devices 200 constituting the electronic device system 10 are assumed to be two electronic devices, namely a first electronic device 200A and a second electronic device 200B. However, the number of electronic devices 200 constituting the electronic device system 10 is not limited to two and can be any number. The first electronic device 200A corresponds to the specific electronic device in the claims. The electronic device that exchanges a public key with the host device 100 and initially establishes a session is the first electronic device 200A. Furthermore, the second electronic device 200B, which establishes a session with the host device 100 after the first electronic device 200A, corresponds to the other electronic devices in the claims. In addition, if there are third, fourth, etc. electronic devices after the second electronic device 200B, these electronic devices also correspond to the other electronic devices in the claims.
[0047] For example, in the case where the main unit 100 is an ECU operating in the car and the electronic equipment 200 is an on-board sensor installed in the car, the manufacturer of the main unit 100 and the manufacturer of the electronic equipment 200 may be different, and furthermore, the manufacturer that manufactures the car as the final product (e.g., the original equipment manufacturer (OEM)) may also be different. In this case, the manufacturer of the main unit 100 corresponds to layer 1, which supplies the main unit 100 to the car manufacturer. Furthermore, the manufacturer of the electronic equipment 200 corresponds to layer 2. The user is, for example, someone who uses the car by purchasing a car in which the main unit 100 and the electronic equipment 200 are installed.
[0048] [Configuration of Host Device 100]
[0049] Next, we will refer to Figure 2 Describe the configuration of host device 100.
[0050] Storage unit 101 stores keys and various types of data used in the processing. Specifically, storage unit 101 stores public key pairs, including the private key sh and public key ph inherent to host device 100, public key certificates, etc. The public key pairs are pre-stored in storage unit 101 by the manufacturer of host device 100 during the manufacturing phase of host device 100. Storage unit 101 includes non-volatile memory such as one-time programmable (OTP) memory, from which data is not erased even when the power to host device 100 is disconnected.
[0051] Communication unit 102 is a communication module that performs communication processing with electronic device 200. As described above, the communication scheme is, for example, I2C, but other schemes can be used. Host device 100 uses communication unit 102 to send keys to electronic device 200 and receive keys from electronic device 200, etc.
[0052] The control unit 103 includes a central processing unit (CPU), random access memory (RAM), read-only memory (ROM), etc. The CPU executes various types of processing and issues commands according to the program stored in the ROM, controls the entire host device 100 and its various units, and manages the sending and receiving of keys and data between the various processing units.
[0053] The first public key generation unit 104 generates a first public key Kd shared with the first electronic device 200A by using elliptic curve Diffie-Hellman key exchange (ECDH) and key derivation function (KDF), using the private key sh included in the public key pair pre-existing in the host device 100 and the public key pe sent from the first electronic device 200A.
[0054] The session key generation unit 105 generates a random key as a session key Ks, which is used to establish a secure session between the host device 100 and the second electronic device 200B.
[0055] The encryption processing unit 106 uses the first public key Kd to encrypt the session key Ks, and also uses the first public key Kd to generate a message authentication code (MAC) for tamper detection, and adds the generated MAC to the encrypted session key Ks.
[0056] The host device 100 has the above configuration.
[0057] [Configuration of Electronic Device 200]
[0058] Next, we will refer to Figure 3 Describe the configuration of electronic device 200.
[0059] Storage unit 201 stores the keys used in the processing and various types of data. Specifically, storage unit 201 stores a public key pair, including the private key se and public key pe inherent to the electronic device 200, as well as a public key certificate. Furthermore, storage unit 201 stores a second public key Kc as a random value. The second public key Kc is, for example, inherent to each type of final product (model in the case of a car) or each manufacturer of the final product. If the second public key Kc is inherent to each type of final product (model), the same second public key Kc is stored in storage unit 201 of all electronic devices 200 installed in the same type of final product (model). If the second public key Kc is inherent to each manufacturer of the final product, the same second public key Kc is stored in storage unit 201 of all electronic devices 200 installed in the final product manufactured by that manufacturer.
[0060] The public key pair and the second public key Kc are pre-stored in storage unit 201 by the manufacturer of electronic device 200 during the manufacturing phase. Note that other manufacturers besides the manufacturer of electronic device 200 (e.g., the manufacturer of host device 100 or the manufacturer of the final product (OEM)) may generate the second public key Kc and store it in storage unit 201 of electronic device 200. Storage unit 201 includes non-volatile memory such as OTP, from which data is not erased even when the power to electronic device 200 is turned off. Therefore, the second public key Kc will not change even when the power to electronic device 200 is turned off and then the electronic device 200 is powered on.
[0061] Communication unit 202 is a communication module that performs communication processing with host device 100. As described above, the communication scheme is, for example, I2C, but other schemes can be used. Electronic device 200 uses communication unit 202 to send keys to and receive keys from host device, etc.
[0062] The control unit 203 includes a central processing unit (CPU), random access memory (RAM), read-only memory (ROM), etc. The CPU executes various types of processing according to the program stored in the ROM and issues commands to control the entire electronic device 200 and its various units, as well as to manage the sending and receiving of data between the various processing units.
[0063] The first public key generation unit 204 generates a first public key Kd shared with the host device 100 using ECDH and KDF, the private key se included in the public key pair pre-existing in the electronic device 200, and the public key ph sent from the host device 100.
[0064] The decryption processing unit 205 uses the first public key Kd generated by the first public key generation unit 204 to decrypt the session key Ks sent from the host device 100, and further performs tamper detection of the session key Ks by comparing the MAC added to the session key Ks.
[0065] The encryption processing unit 206 uses the second public key Kc to encrypt the session key Ks sent from the host device 100.
[0066] Electronic device 200 has the above configuration. Note that the first electronic device 200A and the second electronic device 200B have the same configuration.
[0067] In the case where the processing method according to this technology is implemented by executing a program, the program is pre-installed by the manufacturer in the host device 100 and the electronic device 200.
[0068] The functions implemented by the components described in this specification can also be implemented in circuits or processing circuits, including general-purpose processors, special-purpose processors, integrated circuits, application-specific integrated circuits (ASICs), central processing units (CPUs), conventional circuits, and / or combinations thereof, programmed to implement the described functions. A processor includes transistors and other circuitry and is considered a circuit or processing circuit. A processor can also be a programmed processor that executes a program stored in memory. In this specification, circuits, units, and devices refer to hardware programmed to implement or perform the described functions. This hardware can be any hardware disclosed in this specification, or any hardware programmed to implement or known to perform the described functions. Where the hardware is a processor considered a circuit type, the circuit, device, or unit is a combination of hardware and software used to configure the hardware and / or processor.
[0069] [Processing in Electronic Device System 10]
[0070] Next, we will refer to Figure 4 and Figure 5 Describe the processing in electronic device system 10.
[0071] In the following description, the encrypted session key Ks is described as "session key Ks (ciphertext)" and the unencrypted session key Ks is described as "session key Ks (plaintext)".
[0072] As a prerequisite for processing in the electronic device system 10, it is assumed that during the manufacturing stage, the manufacturer of the electronic device 200 pre-stores the second public key Kc in the storage unit 201 of all electronic devices 200 constituting the electronic device system 10. The second public key Kc stored in the storage unit 201 of all electronic devices 200 used by a single user is the same.
[0073] Furthermore, it is assumed that during the manufacturing phase, the manufacturer of host device 100 stores the inherent public key pair, including the public key ph and the private key sh, and the public key certificate in the storage unit 101 of host device 100.
[0074] Furthermore, it is assumed that during the manufacturing phase, the manufacturer of the electronic device 200 stores the inherent public key pair, including the public key pe and the private key se, as well as the public key certificate, in the storage unit 201 of all electronic devices 200.
[0075] Then, via communication such as I2C, host device 100 sends the public key ph, which is included in its public key pair, to one of the multiple electronic devices 200. Note that because the public key ph is included in the public key certificate, it is not necessary to send the public key ph separately when host device 100 sends the public key certificate to electronic device 200. Then, electronic device 200, having received the public key ph and public key certificate from host device 100, sends the public key pe, which is included in its public key pair, and the public key certificate to host device 100.
[0076] In this way, among the multiple electronic devices 200, the electronic device 200 that exchanges a public key with the host device 100 and establishes a session becomes the first electronic device 200A. Any one of the multiple electronic devices 200 that can communicate with the host device 100 can become the first electronic device 200A, and which electronic device 200 becomes the first electronic device 200A can be determined by the manufacturer of the host device 100, by the manufacturer of the electronic device 200, or automatically by the host device 100 based on a predetermined algorithm, etc.
[0077] Then, during the operation phase of the electronic device system 10, using public key-based technologies such as certificate chain verification, the host device 100 and the first electronic device 200A mutually authenticate each other through public keys to confirm that the host device 100 and the first electronic device 200A are mutually trusted devices and establish a session.
[0078] The operation phase is the stage in which the final product, including the main unit 100 and electronic equipment 200, reaches the user and becomes usable. In the case where the final product, including the main unit 100 and electronic equipment 200, is a car, the operation phase is the stage in which the car is transported and reaches the user who purchased it, and the engine is started, making the car drivable.
[0079] In the processing of the electronic device system 10 during the operation phase, firstly, in step S1, the first public key generation unit 104 of the host device 100 generates a first public key Kd using ECDH and KDF, the private key sh included in the public key pair pre-existing in the host device 100, and the public key pe sent from the first electronic device 200A.
[0080] When generating the first public key Kd in the first public key generation unit 104 of the host device 100, the inputs to ECDH are the private key sh included in the host device 100 and the public key pe sent from the first electronic device 200A. The first public key generation unit 104 first generates Z (an output referred to as a shared secret, etc.) through ECDH, and then uses Z (shared secret) as input to KDF to generate the first public key Kd for encryption and for MAC.
[0081] Furthermore, in step S2, the first public key generation unit 204 of the first electronic device 200A generates a first public key Kd using ECDH and KDF, the private key se included in a pre-existing public key pair in the first electronic device 200A, and the public key ph sent from the host device 100. As a result, the host device 100 and the first electronic device 200A share the first public key Kd.
[0082] Note that steps S1 and S2 do not necessarily need to be performed in this order, and steps S1 and S2 can be performed in reverse order, simultaneously, or substantially simultaneously. The first electronic device 200A only needs to generate the first public key Kd before its use in step S7, which will be described later.
[0083] When generating the first public key Kd in the first public key generation unit 204 of the first electronic device 200A, the inputs to ECDH are the private key se included in the first electronic device 200A and the public key ph sent from the host device 100. The first public key generation unit 204 first generates the first public key Kd used for decryption via ECDH. Then, KDF uses the first public key Kd generated via ECDH as input to generate another first public key Kd for tamper detection using MAC.
[0084] Next, in step S3, the session key generation unit 105 of the host device 100 generates a random key as the session key Ks.
[0085] Next, in step S4, the encryption processing unit 106 of the host device 100 uses the first public key Kd generated by the first public key generation unit 104 to encrypt the session key Ks (plaintext), and also generates a MAC for tamper detection and adds the MAC to the session key Ks (ciphertext). As a result, the host device 100 can securely send the session key Ks (ciphertext) to the first electronic device 200A. Note that the encryption processing unit 106 can add the MAC to the session key Ks (plaintext) and then use the first public key Kd to encrypt the session key Ks (plaintext).
[0086] Then, in step S5, the host device 100 sends the session key Ks (ciphertext) to the first electronic device 200A via the communication unit 102. In step S6, the first electronic device 200A receives the session key Ks (ciphertext) sent from the host device 100.
[0087] Next, in step S7, the decryption processing unit 205 of the first electronic device 200A uses the first public key Kd generated by the first public key generation unit 204 to decrypt the session key Ks (ciphertext).
[0088] Furthermore, the decryption processing unit 205 of the first electronic device 200A generates a MAC based on the decrypted session key Ks (plaintext) and the first public key Kd generated by the first electronic device 200A, and detects tampering of the session key Ks (plaintext) by comparing the generated MAC with the MAC sent from the host device 100. If the MACs do not match, the session key Ks (plaintext) has been tampered with. Tampering may include, for example, bit reversal. In this way, tampering of the session key Ks (plaintext) can be detected using the MAC.
[0089] When the encryption processing unit 106 of the host device 100 encrypts the session key Ks (plaintext) and then adds a MAC to the session key Ks (ciphertext), the decryption processing unit 205 of the first electronic device 200A uses the MAC to perform tamper detection on the session key Ks (ciphertext) and then performs decryption. On the other hand, when the encryption processing unit 106 of the host device 100 adds a MAC to the session key Ks (plaintext) and then encrypts the session key Ks (plaintext), the decryption processing unit 205 of the first electronic device 200A uses the MAC to perform tamper detection after decryption.
[0090] Next, in step S8, the encryption processing unit 206 of the first electronic device 200A uses the second public key Kc pre-stored in the storage unit 201 to encrypt the session key Ks (plaintext). In this way, by having the first electronic device 200A encrypt the session key Ks (plaintext) using the second public key Kc, the second electronic device 200B, which has the same second public key Kc, becomes able to decrypt the session key Ks (ciphertext).
[0091] Next, in step S9, the first electronic device 200A sends the session key Ks (ciphertext) to the host device 100 via the communication unit 202. In step S10, the host device 100 receives the session key Ks (ciphertext) sent from the first electronic device 200A.
[0092] In this manner, host device 100 securely sends a session key Ks, used to establish a session with second electronic device 200B, to first electronic device 200A in a session established with first electronic device 200A. First electronic device 200A then uses the same second public key Kc, which is shared among electronic devices 200, to encrypt the session key Ks (plaintext) and sends the session key Ks back to host device 100.
[0093] Next, in step S11, the host device 100 sends the session key Ks (ciphertext) to the second electronic device 200B via the communication unit 102. In step S12, the first electronic device 200A receives the session key Ks (ciphertext) sent from the host device 100. In this way, in this technology, the host device 100 does not need to store the session key Ks (ciphertext) sent back from the first electronic device 200A in the storage unit 101.
[0094] Next, in step S13, the decryption processing unit 205 of the second electronic device 200B uses the second public key Kc, which is pre-stored in the storage unit 201 and is common among the electronic devices 200, to decrypt the session key Ks (ciphertext).
[0095] Note that, as described above, similar to using the first public key Kd to encrypt the session key Ks and performing tamper detection using MAC, the second public key Kc can be used to encrypt the session key Ks and perform tamper detection using MAC. In this case, in step S8, the encryption processing unit 206 of the first electronic device 200A uses the second public key Kc to encrypt the session key Ks (plaintext) and adds a MAC, and in step S13, the decryption processing unit 205 of the second electronic device 200B uses the second public key Kc to decrypt the session key Ks (ciphertext) and performs tamper detection using MAC.
[0096] Then, the second electronic device 200B can establish a session with the host device 100 using the session key Ks (plaintext).
[0097] Note that for the third and subsequent electronic devices 200 (e.g., the third electronic device 200C), steps S3 to S13 are performed. In step S3, the host device 100 generates a session key Ks for the third electronic device 200C, encrypts the session key Ks (plaintext) in step S4, and sends the session key Ks to the first electronic device 200A in step 5. The first electronic device 200A, having received the session key Ks (ciphertext) in step S6, decrypts the session key Ks (ciphertext) in step S7, encrypts the session key Ks (plaintext) using the second public key Kc in step S8, and sends the session key Ks (ciphertext) to the host device 100 in step S9. The host device 100, having received the session key Ks (ciphertext) in step S10, sends the session key Ks (ciphertext) to the third electronic device 200C in step S11. Then, the third electronic device 200C receives the session key Ks (ciphertext) in step S12 and decrypts the session key Ks (ciphertext) in step S13.
[0098] Note that if the session key Ks used for the electronic devices 200 (second electronic device, third electronic device, fourth electronic device, etc.) after the second electronic device 200B can be public, the host device 100 sends the public session key Ks (ciphertext) to each electronic device 200. Then, each electronic device 200 receives the public session key Ks (ciphertext), decrypts the public session key Ks (ciphertext), and obtains the public session key Ks (plaintext).
[0099] The processing of this technique is executed whenever the electronic equipment system 10, including the host device 100 and the electronic equipment 200, is started. For example, if the host device 100 is an ECU operating in the vehicle and the electronic equipment 200 is an on-board sensor, the processing of this technique is executed whenever the engine is started and both the ECU and the electronic equipment 200 (as an on-board sensor) are started. However, the starting of the electronic equipment 200 is not necessarily linked to the vehicle's engine. It is also possible for the ECU and the electronic equipment 200 to start without being linked to the engine. In this case, the processing of this technique is executed whenever the ECU and the electronic equipment 200 are started, regardless of whether the engine is started or not.
[0100] The processing according to the first embodiment is performed as described above. In this technology, among the plurality of electronic devices 200, a public key scheme is used to establish a session with a first electronic device 200A, which is a specific electronic device 200, and a public key scheme is used to establish sessions with other electronic devices 200 besides the first electronic device 200A. As a result, the time required to establish a session becomes shorter than when establishing a session with all electronic devices 200 using a public key, and sessions between the host device 100 and the plurality of electronic devices 200 can be established at high speed.
[0101] Furthermore, in this technology, when the host device 100 generates the session key Ks, or when the session key Ks is sent from the first electronic device 200A to the host device 100, there is no need to perform the process of storing the session key Ks, and thus the processing time can be shortened. Moreover, since the host device 100 does not need to include a storage device for storing the session key Ks, the manufacturing cost of the host device 100 can be reduced, and the risk of leakage of the session key Ks can be reduced.
[0102] Host device 100 sends session key Ks to first electronic device 200A, which has securely established a session through public key authentication. First electronic device 200A encrypts session key Ks using a second public key Kc, enabling second electronic device 200B to decrypt session key Ks using the second public key Kc. As a result, second electronic device 200B can securely receive session key Ks generated by host device 100 and can use session key Ks to establish a session with host device 100.
[0103] Since the manufacturers of host device 100 and electronic device 200 only need to store the public key pair and the second public key Kc, the manufacturing efficiency of host device 100 and electronic device 200 can be improved.
[0104] Furthermore, the second public key Kc stored in all electronic devices 200 is not different for each electronic device 200, but is a user-specific key that is common to all electronic devices 200, and therefore the management of electronic devices 200 and the second public key Kc becomes easier.
[0105] In conventional technologies, the key generated during the manufacturing phase needs to be stored in a storage device once, and the manufacturing phase needs to be completed. Subsequently, the key needs to be retrieved from the storage device and processing performed during the operation phase. This raises the question of who among the manufacturer of host device 100, the manufacturer of electronic device 200, the manufacturer of the final product, and the user should perform the key processing and session establishment between host device 100 and electronic device 200. Furthermore, there are situations where the manufacturer of host device 100 needs to request the manufacturer of the automobile to perform the processing for establishing a session between host device 100 and electronic device 200 during the automobile manufacturing process.
[0106] In contrast, as long as the public key pair and the second public key Kc are stored in the host device 100 and the electronic device 200 beforehand during the manufacturing stage, this technology can then perform key processing and session establishment solely through the processing between the host device 100 and the electronic device 200. Therefore, session establishment is straightforward, and the question of who performs the processing does not arise. Furthermore, it is unnecessary to request the car manufacturer to perform the processing for session establishment during the car's manufacturing stage. Also, it is unnecessary to request the dealer or repair service provider involved in car maintenance to perform the processing for session establishment. Therefore, the electronic device system 10 according to this technology can be readily introduced. Note that this is true even when the final product is not a car.
[0107] <Second Embodiment>
[0108] Next, a second embodiment of the present technology will be described. Since the configuration of the electronic device system 10 and the host device 100 is similar to that in the first embodiment, its description will be omitted.
[0109] [Configuration of Electronic Device 200]
[0110] Reference Figure 6 The configuration of the electronic device 200 according to the second embodiment is described. The electronic device 200 differs from that of the first embodiment in that it includes a true random number generation unit 211, a second storage unit 212, and a temporary key generation unit 213. Since the configuration other than these is similar to that in the first embodiment, its description is omitted.
[0111] The true random number generation unit 211 generates a true random number Nonce (hereinafter referred to as the true random number N) for generating the temporary key Ke based on the second public key Kc. Whenever the electronic device 200 is started, the true random number generation unit 211 generates a new true random number N. That is, the value of the true random number N changes whenever the electronic device 200 is started.
[0112] The second storage unit 212 holds a real random number N until it is used to generate a temporary key Ke. The data stored in the second storage unit 212 is a volatile memory that is erased when the power to the electronic device 200 is disconnected. Furthermore, the second storage unit 212 can also store and hold a first public key Kd shared between the host device 100 and the first electronic device 200A. Additionally, in the second electronic device 200B, the decrypted session key Ks can also be stored and held in the second storage unit 212.
[0113] The temporary key generation unit 213 generates a temporary key Ke based on the second public key Kc and a true random number N. The generation of the temporary key Ke can be performed, for example, by using KDF or the like.
[0114] The control unit 203 obtains the second public key Kc from the storage unit 201, further obtains the true random number N from the second storage unit 212, and supplies the second public key Kc and the true random number N to the temporary key generation unit 213.
[0115] The electronic device 200 according to the second embodiment has the above configuration. Note that since all electronic devices 200 constituting the electronic device system 10 can potentially become either the first electronic device 200A or the second electronic device 200B, the first electronic device 200A and the second electronic device 200B can have the same configuration. However, in the electronic device 200 that has become the first electronic device 200A, the true random number generation unit 211 does not need to perform processing.
[0116] [Processing in Electronic Device System 10]
[0117] Next, we will refer to Figure 7 and Figure 8 The processes in the electronic device system 10 according to the second embodiment are described. Processes similar to those in the first embodiment are indicated by the same step numbers, and their detailed descriptions are omitted.
[0118] The prerequisites for processing the electronic device system 10 during the manufacturing phase are similar to those in the first embodiment.
[0119] In the processing of the electronic device system 10 during the operation phase, in step S21, the true random number generation unit 211 of the second electronic device 200B generates a true random number N, and in step S22, the second electronic device 200B sends the true random number N to the host device 100. The second electronic device 200B uses the startup of the second electronic device 200B as a trigger to generate the true random number N and sends the true random number N to the host device 100. Note that when the true random number N is sent to the host device 100, the true random number N does not need to be encrypted, but encryption is not excluded.
[0120] In step S23, the host device 100 receives a true random number N, and in step S24, the host device 100 sends the true random number N to the first electronic device 200A. Then, in step S25, the first electronic device 200A receives the true random number N.
[0121] In step S26, the temporary key generation unit 213 of the first electronic device 200A generates a temporary key Ke based on the second public key Kc and the true random number N. Note that the generation of the temporary key Ke can be performed at any time after receiving the true random number N in step S25 and before using the temporary key Ke in step S27.
[0122] Then, in step S27, the encryption processing unit 206 of the first electronic device 200A uses a temporary key Ke to encrypt the session key Ks (plaintext). In the first embodiment, the second public key Kc is used to encrypt the session key Ks, but in the second embodiment, a temporary key Ke generated based on the second public key Kc and a truly random number N is used to encrypt the session key Ks. Note that the first electronic device 200A may retain the session key Ks (plaintext) in the second storage unit 212 until the temporary key Ke is used to encrypt the session key Ks (plaintext).
[0123] In step S28, the temporary key generation unit 213 of the second electronic device 200B generates a temporary key Ke based on the second public key Kc and a true random number N. Then, in step S29, the decryption processing unit 205 of the second electronic device 200B uses the temporary key Ke to decrypt the session key Ks (ciphertext).
[0124] Then, the second electronic device 200B can use the decrypted session key Ks (plaintext) to establish a session with the host device 100.
[0125] Note that the second electronic device 200B can store the decrypted session key Ks (plaintext) in the second storage unit 212.
[0126] Note that for the third and subsequent electronic devices 200 (e.g., the third electronic device 200C), steps S3 to S12 and steps S21 to S29 are executed. The third electronic device 200C also generates a true random number N in a similar manner to the second electronic device 200B. The true random number N generated by the third electronic device 200C has a different value than the true random number N generated by the second electronic device 200B. The electronic device 200 generates its own inherent true random number N and sends the true random number N to the host device 100. Note that in cases where all electronic devices 200 use the startup of the electronic device 200 as a trigger to generate a true random number N and send the true random number N to the host device 100, and the host device 100 arbitrarily selects an electronic device 200 that becomes the first electronic device 200A, the host device 100 may ignore or discard the true random number N sent from the first electronic device 200A.
[0127] In step S3, host device 100 generates a session key Ks (plaintext) for third electronic device 200C, encrypts the session key Ks (plaintext) in step S4, and sends the session key Ks to first electronic device 200A in step 5. First electronic device 200A, having received the session key Ks (ciphertext) in step S6, decrypts the session key Ks (ciphertext) in step S7, encrypts the session key Ks (plaintext) using a temporary key Ke in step S27, and sends the session key Ks (ciphertext) to host device 100 in step S9. Host device 100, having received the session key Ks (ciphertext) in step S10, sends the session key Ks (ciphertext) to third electronic device 200C in step S11. Then, third electronic device 200C receives the session key Ks (ciphertext) in step S12 and decrypts the session key Ks (ciphertext) using the temporary key Ke in step S29.
[0128] Note that if the session key Ks used for the electronic devices 200 (second electronic device, third electronic device, fourth electronic device...) after the second electronic device 200B can be public, the host device 100 sends the public session key Ks (ciphertext) to each electronic device 200. Then, each electronic device 200 receives the public session key Ks (ciphertext), decrypts the public session key Ks (ciphertext), and obtains the public session key Ks (plaintext).
[0129] The processing according to the second embodiment is performed as described above. In the second embodiment, a temporary key Ke generated based on the second public key Kc and a truly random number N is used instead of the second public key Kc to encrypt the session key Ks. Therefore, even if the second public key Kc is leaked, the session key Ks (ciphertext) cannot be decrypted using only the second public key Kc, and thus the security of the session key Ks can be improved.
[0130] Furthermore, even if the truly random number N exchanged between the host device 100, the first electronic device 200A, and the second electronic device 200B is leaked, a new truly random number N with a different value is generated each time the second electronic device 200B starts up, and therefore the leaked truly random number N cannot be reused. This also improves security.
[0131] By using a true random number N, which is information specific to the second electronic device 200B, when the first electronic device 200A encrypts the session key Ks (plaintext) used by the second electronic device 200B, the encrypted session key Ks sent back to the host device 100 cannot be used by any device other than the second electronic device 200B. This also improves security. Furthermore, it prevents so-called replay attacks, in which an attacker steals information (such as the key and the true random number N) sent and received between the host device 100 and the electronic device 200, and gains unauthorized access by retransmitting that information.
[0132] <Modification Example>
[0133] Although embodiments of the present technology have been specifically described above, the present technology is not limited to the above embodiments, and various modifications can be made based on the technical concept of the present technology.
[0134] When generating the first public key Kd in the first public key generation unit 104 of the host device 100, the use of ECDH and KDF has been described. However, since KDF generates the second public key Kc for tamper detection using MAC, ECDH can be performed alone if tamper detection is not required.
[0135] The host device 100 and electronic devices 200 constituting the electronic device system 10 are not limited to ECUs and on-board sensors in a vehicle. For example, a configuration can be adopted in which the electronic device system 10 is a monitoring camera system, the electronic devices 200 are monitoring cameras as sensors, and the host device 100 is a personal computer or server that manages the monitoring cameras.
[0136] In addition to sensors, electronic device 200 can also be an Internet of Things (IoT) device, a smartphone, a tablet terminal, a personal computer, a game console, a wearable device, or a semiconductor chip used in various devices that use semiconductors.
[0137] This technology can also have the following configurations. (1)
[0139] An electronic device, comprising: A decryption processing unit configured to use a first public key to decrypt a session key sent from a host device in an encrypted state; An encryption processing unit, configured to encrypt the decrypted session key; and A communication unit configured to send an encrypted session key to the host device. (2)
[0141] The electronic device according to (1) further includes: A first public key generation unit is configured to generate a first public key shared with the host device using the private key in the public key pair of the electronic device and the public key in the public key pair of the host device. (3)
[0143] According to the electronic device described in (1) or (2), each of the electronic devices that establishes a session with the host device has a second public key in advance. (4)
[0145] According to the electronic device described in (3), the encryption processing unit uses the second public key to encrypt the session key. (5)
[0147] The electronic device according to (3) further includes: a temporary key generation unit configured to generate a temporary key using the second public key and a random number sent from the host device. (6)
[0149] According to the electronic device described in (5), the encryption processing unit uses the temporary key to encrypt the session key. (7)
[0151] A host device, comprising: A session key generation unit, configured to generate session keys for establishing sessions with electronic devices other than a specific electronic device that is one of a plurality of electronic devices; and A communication unit configured to send an encrypted session key to the specific electronic device, receive a session key encrypted by and sent from the specific electronic device, and send the received session key to the other electronic device. (8)
[0153] The host device according to (7) further includes: an encryption processing unit configured to encrypt a session key using a first public key shared with the particular electronic device. (9)
[0155] The host device according to (7) or (8) further includes: a first public key generation unit, the first public key generation unit being configured to generate the first public key using the private key in the public key pair of the host device and the public key in the public key pair of the specific electronic device. (10)
[0157] The host device according to any one of (7) to (9) wherein the session key is encrypted by the particular electronic device using a second public key pre-shared by the plurality of electronic devices. (11)
[0159] The host device according to any one of (7) to (11), wherein the other electronic devices use a second public key pre-shared by the plurality of electronic devices to decrypt the session key encrypted by the particular electronic device. (12)
[0161] The host device according to any one of (7) to (11), wherein the host device obtains a random number generated by the other electronic device and sends the random number to the specific electronic device. (13)
[0163] The host device according to any one of (7) to (12) wherein a session with the specific electronic device is established by means of a public key scheme, and a session with the other electronic device is established by means of a public key scheme. (14)
[0165] An electronic device system, comprising: Host equipment, including: A session key generation unit, configured to generate session keys for establishing sessions with electronic devices other than a specific electronic device that is one of a plurality of electronic devices, and A communication unit configured to send an encrypted session key to the specific electronic device, receive a session key encrypted by and sent from the specific electronic device, and send the received session key to the other electronic devices; and The electronic device that serves as the specific electronic device includes: A decryption processing unit, configured to use a first public key to decrypt a session key sent in an encrypted state from the host device. An encryption processing unit, configured to encrypt the decrypted session key, and A communication unit configured to send the encrypted session key to the host device.
[0166] Reference tag list
[0167] 10 Electronic Equipment Systems
[0168] 100 main unit
[0169] 102 Communication Unit
[0170] 104 First Public Key Generation Unit
[0171] 105 Session Key Generation Unit
[0172] 106 Encryption Processing Units
[0173] 200 electronic devices
[0174] 200A First Electronic Equipment
[0175] 200B Second Electronic Device
[0176] 202 Communication Unit
[0177] 204 First Public Key Generation Unit
[0178] 205 Decryption Processing Unit
[0179] 213 Temporary Key Generation Unit
Claims
1. An electronic device, comprising: A decryption processing unit configured to use a first public key to decrypt a session key sent from a host device in an encrypted state; An encryption processing unit configured to encrypt the decrypted session key; as well as A communication unit configured to send an encrypted session key to the host device.
2. The electronic device according to claim 1, further comprising: A first public key generation unit is configured to generate a first public key shared with the host device using the private key in the public key pair of the electronic device and the public key in the public key pair of the host device.
3. The electronic device according to claim 1, wherein, All electronic devices that establish a session with the host device each have a second public key pre-existing.
4. The electronic device according to claim 3, wherein, The encryption processing unit uses the second public key to encrypt the session key.
5. The electronic device according to claim 3, further comprising: A temporary key generation unit is configured to generate a temporary key using the second public key and a random number sent from the host device.
6. The electronic device according to claim 5, wherein, The encryption processing unit uses the temporary key to encrypt the session key.
7. A host device, comprising: A session key generation unit, configured to generate a session key for establishing a session with other electronic devices besides a specific electronic device that is one of a plurality of electronic devices; as well as A communication unit configured to send an encrypted session key to the specific electronic device, receive a session key encrypted by and sent from the specific electronic device, and send the received session key to the other electronic device.
8. The host device according to claim 7, further comprising: An encryption processing unit is configured to encrypt a session key using a first public key shared with the particular electronic device.
9. The host device according to claim 8, further comprising: A first public key generation unit is configured to generate the first public key using the private key in the public key pair of the host device and the public key in the public key pair of the specific electronic device.
10. The host device according to claim 7, wherein, The session key is encrypted by the specific electronic device using a second public key that is pre-shared by the plurality of electronic devices.
11. The host device according to claim 7, wherein, The other electronic devices use a second public key, which is pre-shared by the plurality of electronic devices, to decrypt the session key encrypted by the specific electronic device.
12. The host device according to claim 7, wherein, The host device obtains a random number generated by the other electronic device and sends the random number to the specific electronic device.
13. The host device according to claim 7, wherein, A session with the specific electronic device is established using a public key scheme, and a session with the other electronic devices is established using a public key scheme.
14. An electronic device system, comprising: Host equipment, including: A session key generation unit, configured to generate session keys for establishing sessions with electronic devices other than a specific electronic device that is one of a plurality of electronic devices, and A communication unit configured to send an encrypted session key to the specific electronic device, receive a session key encrypted by and sent from the specific electronic device, and send the received session key to the other electronic devices; and The electronic device that serves as the specific electronic device includes: A decryption processing unit, configured to use a first public key to decrypt a session key sent in an encrypted state from the host device. An encryption processing unit, configured to encrypt the decrypted session key, and A communication unit configured to send the encrypted session key to the host device.
Citation Information
Patent Citations
Electronic device and information processing method
WO2023127429A1