Device, secure element and key sharing method

The method allows flexible and secure key sharing between IoT devices and secure elements using OTPs for verification and generated values, addressing the inflexibility of pre-determined key sharing systems.

JP7785443B2Active Publication Date: 2025-12-15DAI NIPPON PRINTING CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2020063730
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-03-31
Publication Date
2025-12-15
Estimated Expiration
2040-03-31

AI Technical Summary

Technical Problem

Existing systems for sharing keys between IoT devices and secure elements require pre-determined correspondence at the manufacturing stage, lacking flexibility and preventing post-manufacturing linkage.

Method used

A method and device enabling key sharing through a secure element and device main body that utilize a one-time password (OTP) for verification and generation of a generated value for secure communication, allowing flexible timing of key sharing without pre-writing keys.

Benefits of technology

Enables key sharing at any time post-manufacturing, ensuring secure and flexible linkage between IoT devices and secure elements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007785443000001
    Figure 0007785443000001
  • Figure 0007785443000002
    Figure 0007785443000002
  • Figure 0007785443000003
    Figure 0007785443000003
Patent Text Reader

Abstract

To provide a device, secure element and key sharing method that allow a key to be shared at any appropriate timing without writing the key beforehand.SOLUTION: A device comprises a secure element and a device body. The device body includes an acquisition unit that acquires a one-time password and an output unit that outputs the one-time password acquired by the acquisition unit to the secure element. The secure element includes a verification unit that verifies the one-time password and a generated value output unit that outputs a generated value generated by a prescribed method to the device body when the verification by the verification unit is successful. The device body and the secure element each use the generated value to share a key.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a device, a secure element, and a key sharing method. [Background technology]

[0002] The rapid increase in the number of IoT devices connected to the Internet is gradually bringing security issues to the forefront. Keys and other information assets in IoT devices can be protected in a secure area (e.g., a Trusted Execution Environment (TEE)) within the IoT device's SoC (System on Chip), or in a physically separate security chip such as a secure element (SECURE ELEMENT) outside the SoC. To protect information assets over the long term, it is desirable to store the information assets in a highly tamper-resistant security chip.

[0003] On the other hand, when an IoT device stores information assets in a security chip, communication between the SoC and the security chip is inevitable for the exchange of information between the two, and this communication must be protected. Generally, some kind of encrypted communication channel should be established between the SoC and the security chip. However, when the IoT device (SoC) and the security chip are manufactured by different companies, how the SoC and the security chip share the keys used in the encrypted communication channel can become an issue.

[0004] Patent Document 1 discloses a system in which an initial key is written to an ECU and a master key is written to a secure element mounted on a vehicle, thereby sharing a key between the ECU and the secure element. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-108212 Summary of the Invention [Problem to be solved by the invention]

[0006] However, in the system of Patent Document 1, it is necessary to determine the correspondence between the device (ECU) and the secure element in advance at the manufacturing stage and to write the key in advance. As a result, it is not possible to link a specific secure element to an arbitrary device after shipping from the factory, and it is difficult to set the correspondence between the secure element and the device after the device manufacturing stage, resulting in a lack of flexibility.

[0007] The present invention has been made in view of the above circumstances, and aims to provide a device, a secure element, and a key sharing method that enable key sharing at any timing without writing the key in advance. [Means for solving the problem]

[0008] A device according to an embodiment of the present invention is a device comprising a secure element and a device main body, wherein the device main body comprises an acquisition unit that acquires a one-time password and an output unit that outputs the one-time password acquired by the acquisition unit to the secure element, and the secure element comprises a verification unit that verifies the one-time password and a generated value output unit that, if verification by the verification unit is successful, outputs a generated value generated by a predetermined method to the device main body, and the device main body and the secure element each perform key sharing using the generated value.

[0009] A secure element according to an embodiment of the present invention is a secure element implemented in a device, and comprises an acquisition unit that acquires a one-time password from the device side, a verification unit that verifies the one-time password, and a generated value output unit that, if verification is successful in the verification unit, outputs a generated value generated by a predetermined method to the device side, and performs key sharing with the device side using the generated value.

[0010] A key sharing method according to an embodiment of the present invention is a key sharing method for a device comprising a secure element and a device main body, wherein the device main body acquires a one-time password and outputs the acquired one-time password to the secure element, the secure element verifies the one-time password, and if the verification is successful, outputs a generated value generated by a predetermined method to the device main body, and the device main body and the secure element each perform key sharing using the generated value. [Effects of the Invention]

[0011] According to the present invention, key sharing can be performed at any timing without writing the key in advance. [Brief explanation of the drawings]

[0012] [Figure 1] FIG. 1 is a schematic diagram illustrating an example of a configuration of an IoT device according to an embodiment of the present invention. [Figure 2] FIG. 1 is an explanatory diagram showing an example of a basic key sharing flow. [Figure 3] FIG. 10 is an explanatory diagram showing an example of input of an OTP linked to a device ID. [Figure 4] FIG. 10 is an explanatory diagram showing an example of direct generation of a key value. [Figure 5] FIG. 10 is an explanatory diagram showing an example of signing and encrypting a generated value. [Figure 6] FIG. 10 is an explanatory diagram showing an example of chaining of initial generated values. [Figure 7] FIG. 10 is an explanatory diagram showing an example of chaining of generated values ​​from the second time onward. [Figure 8] FIG. 10 is an explanatory diagram showing an example of remote management from a key management server. DETAILED DESCRIPTION OF THE INVENTION

[0013] The present invention will be described below with reference to the drawings illustrating embodiments thereof. FIG. 1 is a schematic diagram showing an example of the configuration of an IoT device 100 according to this embodiment. The IoT device 100 is a device to be implemented, and includes, for example, an embedded board running an RTOS (Real Time Operating System) or Linux (registered trademark). The IoT device is, for example, a device (also called an electronic device) that is equipped with an OS and can operate independently, and corresponds to the "thing" in the "Internet of Things" (IoT). The IoT device 100 includes an SoC (System on Chip) 50 and a secure element 60 inside.

[0014] The SoC 50 is an IC chip that holds the main functions of the IoT device 100. The SoC 50 includes a ROM 51, an NVM (Non-volatile memory) (TEE: Trusted Execution Environment) 52, an NVM (REE: Rich Execution Environment) 53, a RAM (TEE) 54, and a RAM (REE) 55.

[0015] The secure element 60 is a tamper-resistant security chip that includes a CPU, a non-volatile memory (NVM), and a secure non-volatile memory. The secure element 60 communicates with the SoC 50 via a standard communication channel (e.g., ISO7816 / SPI / I2C, etc.).

[0016] The key management server 200 is a server that individually manages key sharing information in each secure element.

[0017] The ROM 51 stores a device ID. The device ID is an ID for identifying each IoT device. It is used to link the secure element 60 and the IoT device 100. In this embodiment, the uniqueness of the device ID is not an issue, but to ensure sufficient linkage between the IoT device 100 and the secure element 60, it is desirable that the device ID be unique within the IoT device manufacturer or worldwide and unrewritable.

[0018] The NVM (TEE) 52 stores a previously generated value 21, an asymmetric key pair generation function 41, a generated value decryption function 42, a generated value signature verification function 43, and a key derivation function 44.

[0019] The previously generated value 21 is the previously generated value output by the secure element 60.

[0020] The asymmetric key pair generation function 41 is a function that generates a key pair for asymmetric key cryptography on the IoT device 100 side (device main body).

[0021] The generated value decryption function 42 is a function that decrypts the generated value returned by the secure element 60 if the generated value is encrypted.

[0022] The generated value signature verification function 43 is a function that, when a signature is attached to the generated value returned by the secure element 60, verifies the signature to confirm the legitimacy of the generated value.

[0023] The key derivation function 44 is a function that derives a derived key value from a generated value generated by the secure element 60 .

[0024] The previously generated value 21, the asymmetric key pair generation function 41, the generated value decryption function 42, the generated value signature verification function 43, and the key derivation function 44 may reside on the ROM 51, but in this embodiment, they are arranged in the NVM (TEE) 52 because, when key derivation is performed only once, certain effects such as prevention of replay attacks and analysis can be obtained by deleting them from the NVM (TEE) 52 after the key derivation. Note that, when the NVM does not have a secure area (TEE), the previously generated value 21, the asymmetric key pair generation function 41, the generated value decryption function 42, the generated value signature verification function 43, and the key derivation function 44 may be arranged in the NVM (REE) 53.

[0025] The RAM (TEE) 54 stores a generated value 22, a derived key value 23, a generated value encryption key 24, a generated value decryption key 25, and a generated value signature verification key 26.

[0026] The generated value 22 is a value returned by the secure element 60 and used for key sharing.

[0027] The derived key value 23 is a value of a derived key derived from the generated value 22. This is a key value that the IoT device 100 shares with the secure element 60.

[0028] The generated value encryption key 24 is an asymmetric key used for encryption on the secure element 60 side when encrypting and exchanging the generated value 22. The generated value encryption key 24 is generated on the IoT device 100 side.

[0029] The generated value decryption key 25 is an asymmetric key used for decryption on the IoT device 100 side when encrypting and exchanging the generated value 22. The generated value decryption key 25 is generated on the IoT device 100 side.

[0030] The generated value signature verification key 26 is an asymmetric key used for signature verification when a signature is applied to the generated value returned by the secure element 60. The generated value signature verification key 26 is an asymmetric key opposite to the generated value signing key 27 on the secure element 60 side.

[0031] In this embodiment, it is assumed that asymmetric keys are used for both signature verification and encryption of the generated value. If the RAM does not have a secure area (TEE), the generated value 22, derived key value 23, generated value encryption key 24, generated value decryption key 25, and generated value signature verification key 26 may be stored in RAM (REE) 55.

[0032] The secure element 60 holds data such as an SEID, an OTP (one-time password), an OTP counter, an OTP generation key, a generated value 22, a derived key value 23, a generated value encryption key 24, a generated value signature key 27, and a generated value signature verification key 26.

[0033] The SEID is an ID that uniquely identifies the secure element 60. The key management server 200 can use the SEID as a value for identifying the secure element 60.

[0034] The OTP is a one-time password stored in the secure element 60 .

[0035] The OTP counter is a counter that holds the number of times remaining for which the secure element 60 can input an OTP and output a generated value. If the OTP counter is 0 when an OTP is input, the secure element 60 cannot output a generated value.

[0036] The OTP generation key is a key value used when generating or verifying an OTP value within the secure element 60 .

[0037] The generated value 22 is a value that the secure element 60 generates for key sharing and outputs to the IoT device 100.

[0038] The derived key value 23 is a value of a derived key derived from the generated value 22. The derived key value 23 is a key value shared with the IoT device 100.

[0039] The generated value encryption key 24 is a key used for encryption when the generated value 22 is externally output. The generated value encryption key 24 is received from the IoT device 100 and used.

[0040] The generated value signature key 27 is an asymmetric key used to add a signature when the generated value 22 is output to the outside.

[0041] The generated value signature verification key 26 is an asymmetric key used for signature verification when a signature is applied to the generated value returned by the secure element 60. The generated value signature verification key 28 is an asymmetric key opposite to the generated value signing key 27. Note that in this embodiment, it is assumed that the generated value signature verification key 26 is output from the secure element 60 to the IoT device 100.

[0042] In this embodiment, the OTP counter value is used in common as the upper limit of the number of OTP attempts and the number of OTP generation attempts, but in order to allow for a certain degree of failed attempts by users, the number of OTP attempts and the number of OTP generation attempts may be managed separately, and the upper limit of the number of attempts may be set to multiple times.

[0043] The secure element 60 also includes an OTP generation function 61 , an OTP verification function 62 , a generated value output function 63 , a generated value encryption function 64 , a generated value signature generation function 65 , a key derivation function 66 , and a secret communication function 67 .

[0044] The OTP verification function 62 is a function that compares the OTP value input from outside with the OTP value inside the secure element 60 .

[0045] The OTP generation function 61 is a function that recalculates the OTP within the secure element 60 when an OTP associated with an IoT device is input.

[0046] The generated value output function 63 is a function that generates the generated value 22 from which the key is derived and outputs it to the IoT device 100 side (device main body).

[0047] The key derivation function 66 is a function that derives a derived key value (key value) 23 from the generated value 22 .

[0048] The generated value encryption function 64 is a function that encrypts the generated value 22 using the generated value encryption key 24 .

[0049] The generated value signature generation function 65 is a function that uses the generated value signature key 27 (private key) to add a signature to the generated value 22. A signature is a technology that allows the receiver to know if the transmitted content has been tampered with. Generally, the sender hashes the data to generate a digest, and then encrypts the generated digest with a private key to generate a signature. The sender sends the signature along with the data. The receiver receives the data and signature, hashes the data, and generates a digest. The receiver decrypts the signature with a public key to obtain the digest. The two digests are compared to determine whether they match. If they match, it can be confirmed that the data has not been tampered with.

[0050] The secret communication function 67 is a function for the secure element 60 to perform secret communication with the key management server 200.

[0051] The key management server 200 includes an OTP table 201 , an OTP generation function 202 , and a secure communication function 203 .

[0052] The OTP table 201 is a database that holds, for each SEID, the OTP value stored in the secure element 60 of that SEID and the OTP generation key in association with each other.

[0053] The OTP generation function 202 is a function that regenerates an OTP value when an OTP generation request is received.

[0054] The secret communication function 203 is a function for the key management server 200 to perform secret communication with the secure element 60 .

[0055] Next, a description will be given of the processing of the IoT device 100 according to this embodiment. First, a basic key sharing process will be described.

[0056] 2 is an explanatory diagram showing an example of the basic flow of key sharing. The processes indicated by the reference symbols P1 to P10 will be explained below.

[0057] P1 (receive OTP): The user of the IoT device 100 receives an OTP for the secure element 60 in the IoT device 100 that the user holds from a secure element provider (which may, for example, provide and operate the key management server 200).

[0058] P2 (OTP input to IoT device): The user of the IoT device 100 inputs the OTP into the IoT device 100.

[0059] P3 (transmission to secure element): The IoT device 100 transmits the OTP entered by the user to the secure element 60.

[0060] P4 (Verify OTP counter value): The secure element 60 receives the OTP, checks its own OTP counter, and confirms that the counter value is equal to or greater than 1. If the counter value is 0, the secure element 60 ends the process here and does not output the generated value or share the key.

[0061] P5 (Decrement OTP counter): The secure element 60 decrements the OTP counter value by 1. In this embodiment, key generation using an OTP is permitted only once, so the counter value becomes 0 from 1.

[0062] P6 (OTP verification): The secure element 60 compares the received OTP with the OTP it holds. In this embodiment, the secure element 60 only compares the two to see if they match. If they do not match, the secure element 60 ends the process here and does not output the generated value or share the key.

[0063] P7 (output of generated value): If the received OTP matches the OTP held by the secure element 60 (if verification is successful), the secure element 60 generates a generated value and outputs the generated value. In this embodiment, the generated value does not have any particular regularity, and for example, a random number generated by a random number generator in the secure element 60 can be used as the generated value.

[0064] P8 (Return to IoT device): The secure element 60 returns the generated value to the IoT device 100. The IoT device 100 stores the generated value in the RAM (TEE) 54.

[0065] P9 (Derive derived key value): The IoT device 100 inputs the generated value into the key derivation function 44 and derives a key from the generated value, thereby obtaining a derived key value. Similarly, the secure element 60 inputs the generated value into the key derivation function 66 and derives a key from the generated value, thereby obtaining a derived key value. As a result, the IoT device 100 and the secure element 60 can obtain the same derived key value.

[0066] P10 (establishing a secure channel): The IoT device 100 and the secure element 60 establish a secure channel based on the derived key value and perform confidential communication.

[0067] Any algorithm may be used for deriving the key from the generated value as long as the algorithm is agreed upon between the IoT device 100 and the secure element 60. For example, various methods can be used, such as using a one-way hash function such as SHA-256 for the generated value.

[0068] If you want to associate only a specific secure element with a specific IoT device, you can achieve this by changing the method of generating and verifying the OTP. Specifically, the secure element operator generates an OTP associated with the device ID of the IoT device, and at the same time, the secure element also generates a similar value and compares it with the input, so that the generated value will not be output unless a specific device ID is input. A specific example is shown below.

[0069] 3 is an explanatory diagram showing an example of inputting an OTP linked to a device ID. The processes indicated by the reference symbols P21 to P32 will be described below.

[0070] P21 (Sending device ID and SEID): The user of the IoT device 100 notifies the secure element provider of the device ID of the IoT device 100 (Dev000003 in the example shown in the figure) and the SEID of the secure element 60 (SEID:00000001 in the example shown in the figure).

[0071] P22 (Generation of OTP linked to IoT device): The secure element operator generates a new OTP (DEXXXXXX in the example) from the received device ID and the OTP generation key linked to the secure element 60 (11223344 in the example).

[0072] P23 (Receiving OTP): The user of the IoT device 100 receives a new OTP (DEXXXXXX in the illustrated example) from the secure element operator (key management server 200).

[0073] P24 (transmission to secure element): The IoT device 100 transmits the OTP input by the user and the device ID of the IoT device 100 to the secure element 60.

[0074] P25 (Verify OTP counter value): The secure element 60 receives the OTP, checks its own OTP counter, and confirms that the counter value is equal to or greater than 1. If the counter value is 0, the secure element 60 ends the process here and does not output the generated value or share the key.

[0075] P26 (Decrement OTP counter): The secure element 60 decrements the OTP counter value by 1. In this embodiment, key generation using an OTP is permitted only once, so the counter value becomes 0 from 1.

[0076] P27 (Generation of OTP): The secure element 60 uses its own OTP generation function 61 to generate an OTP to be compared (DEXXXXXX in the example shown in the figure) from the OTP generation key (11223344 in the example shown in the figure) and the received device ID.

[0077] P28 (OTP verification): The secure element 60 compares the received OTP with the generated OTP. In this embodiment, only a match comparison is performed between the two. If the two do not match, the secure element 60 ends the process here and does not output the generated value or share the key.

[0078] P29 (output of generated value): If the received OTP matches the OTP generated by the secure element 60 (if verification is successful), the secure element 60 generates a generated value and outputs the generated value. In this embodiment, the generated value does not have any particular regularity, and for example, a random number generated by a random number generator in the secure element 60 can be used as the generated value.

[0079] P30 (return to IoT device): The secure element 60 returns the generated value to the IoT device 100. The IoT device 100 stores the generated value in the RAM (TEE) 54.

[0080] P31 (Derive derived key value): The IoT device 100 inputs the generated value into the key derivation function 44 and derives a key from the generated value, thereby obtaining a derived key value. Similarly, the secure element 60 inputs the generated value into the key derivation function 66 and derives a key from the generated value, thereby obtaining a derived key value. As a result, the IoT device 100 and the secure element 60 can obtain the same derived key value.

[0081] P32 (Establishing a secure channel): The IoT device 100 and the secure element 60 establish a secure channel based on the derived key value and perform confidential communication.

[0082] In the above example, a pre-recorded OTP is not used because the OTP to be compared is dynamically generated within the secure element 60. Furthermore, the OTP is not updated to prevent it from being updated with an arbitrary value.

[0083] Various methods can be used for the OTP generation algorithm. For example, by using a keyed hash (such as HMAC-SHA256) and generating a keyed hash using an OTP generation key with the device ID as input, it is possible to include the device ID component in the OTP while preventing a third party from generating the OTP.

[0084] In the above example, the user of the IoT device 100 notifies the secure element provider of the device ID and the SEID of the secure element, and the secure element provider then generates a new OTP and shares the OTP. This allows the key sharing sequence to be started at any time, such as when the device is first started up. Also, for example, if the device ID and the secure element can be linked in advance when the device is manufactured, there is no need for the user to notify the device ID and the SEID of the secure element, and the OTP may be generated in advance based on the device ID and shared.

[0085] As described above, according to this embodiment, it is possible to ensure a method for linking an IoT device and a secure element, while enabling the linking to be performed flexibly at any timing.

[0086] In the above example, both the IoT device 100 and the secure element 60 derive a derived key value based on the generated value. On the other hand, if there is no possibility of a third party intercepting the communication path between the IoT device 100 and the secure element 60 or analyzing the memory, and if the IoT device 100 is not provided with a key generation algorithm, it is also possible to use the generated value as the key value as is. The following describes the case where the generated value is used as the key value as is.

[0087] 4 is an explanatory diagram showing an example of direct generation of a key value. The processes indicated by the reference characters P41 to P49 will be explained below.

[0088] P41 (receive OTP): The user of the IoT device 100 receives the OTP for the secure element 60 in the IoT device 100 that the user holds from the secure element operator (key management server 200).

[0089] P42 (OTP input to IoT device): The user of the IoT device 100 inputs the OTP to the IoT device 100.

[0090] P43 (Transmission to Secure Element): The IoT device 100 transmits the OTP entered by the user to the secure element 60.

[0091] P44 (Verify OTP counter value): The secure element 60 receives the OTP, checks its own OTP counter, and confirms that the counter value is equal to or greater than 1. If the counter value is 0, the secure element 60 ends the process here and does not output the generated value or share the key.

[0092] P45 (Decrement OTP counter): The secure element 60 decrements the OTP counter value by 1. In this embodiment, key generation using an OTP is permitted only once, so the counter value becomes 0 from 1.

[0093] P46 (OTP verification): The secure element 60 compares the received OTP with the OTP it holds. In this embodiment, the secure element 60 only compares the two to see if they match. If they do not match, the secure element 60 ends the process here and does not output the generated value or share the key.

[0094] P47 (output of generated value): If the received OTP matches the OTP held by the secure element 60 (if verification is successful), the secure element 60 generates a generated value and outputs the generated value. In this embodiment, the generated value does not have any particular regularity, and for example, a random number generated by a random number generator in the secure element 60 can be used as the generated value.

[0095] P48 (Return to IoT device): The secure element 60 returns the generated value to the IoT device 100. The IoT device 100 stores the generated value in the RAM (TEE) 54.

[0096] P49 (Establishing a secure channel): The IoT device 100 and the secure element 60 establish a secure channel using the generated value as the key value as is, and perform confidential communication.

[0097] In the above example, the generated value is a random number and used as a temporary key for the initial communication. After the secure channel is opened, the key is immediately changed to the user's real key. This provides sufficient protection against attackers who cannot intercept the key exchange.

[0098] As in the above example, if there is a risk that the transmission of the generated value in plaintext may be compromised (by interception, tampering, etc.) on the communication path between the IoT device 100 and the secure element 60, the generated value can be protected by introducing asymmetric key cryptography. Protection of the generated value will be described below.

[0099] 5 is an explanatory diagram showing an example of signing and encrypting the generated value. The processes indicated by the reference symbols P51 to P65 will be described below.

[0100] P51 (receive OTP): The user of the IoT device 100 receives the OTP for the secure element 60 in the IoT device 100 that the user holds from the secure element operator (key management server 200).

[0101] P52 (OTP input to IoT device): The user of the IoT device 100 inputs the OTP to the IoT device 100.

[0102] P53 (IoT device-side asymmetric key pair generation): The IoT device 100 uses its own asymmetric key pair generation function 41 to generate a key pair for asymmetric key cryptography (generated value encryption key 24 and generated value decryption key 25).

[0103] P54 (transmission to secure element): The IoT device 100 transmits the OTP input by the user and the generated value encryption key 24 to the secure element 60.

[0104] P55 (Verification of OTP counter value): The secure element 60 receives the OTP and the generated value encryption key 24, checks its own OTP counter, and confirms that the counter value is equal to or greater than 1. If the counter value is 0, the secure element 60 ends the process here and does not output the generated value or share the key.

[0105] P56 (Decrement OTP counter): The secure element 60 decrements the OTP counter value by 1. In this embodiment, key generation using an OTP is permitted only once, so the counter value becomes 0 from 1.

[0106] P57 (OTP verification): The secure element 60 compares the received OTP with the OTP it holds. In this embodiment, the secure element 60 only compares the two to see if they match. If they do not match, the secure element 60 ends the process here and does not output the generated value or share the key.

[0107] P58 (output of generated value): If the received OTP matches the OTP held by the secure element 60 (if verification is successful), the secure element 60 generates a generated value and outputs the generated value. In this embodiment, the generated value does not have any particular regularity, and for example, a random number generated by a random number generator in the secure element 60 can be used as the generated value.

[0108] P59 (Signature generation for generated value): The secure element 60 signs the generated value with its own generated value signing key 27. In this embodiment, for example, a cryptographic operation is performed on the hash of the generated value using the generated value signing key 27. The generated value signature verification key 26, which is the counterpart of the generated value signing key 27, is attached to this signature value, and a generated value certificate is generated.

[0109] P60 (encryption of generated value): The secure element 60 encrypts the generated value with the generated value encryption key 24 received from the IoT device 100.

[0110] P61 (return to IoT device): The secure element 60 returns the encrypted generated value and the generated value certificate to the IoT device 100. The IoT device 100 stores the received encrypted generated value and the generated value certificate in the RAM (TEE) 54.

[0111] P62 (Decryption of generated value): The IoT device 100 decrypts the generated value using the generated value decryption key 25 generated using its own asymmetric key pair generation function 41, and obtains the generated value in plain text.

[0112] P63 (Signature verification of generated value): The IoT device 100 compares the decrypted generated value with the generated value certificate. In this embodiment, the signature in the generated value certificate is decrypted with the generated value signature verification key 26, and compared to determine whether it matches the hash calculation result for the generated value. If the two do not match, the signature verification is considered to have failed, and the process ends here.

[0113] P64 (Derive derived key value): The IoT device 100 inputs the generated value into the key derivation function 44 and derives a key from the generated value, thereby obtaining a derived key value. Similarly, the secure element 60 inputs the generated value into the key derivation function 66 and derives a key from the generated value, thereby obtaining a derived key value. This allows the IoT device 100 and the secure element 60 to obtain the same derived key value.

[0114] P65 (Establishing a secure channel): The IoT device 100 and the secure element 60 establish a secure channel based on the derived key value and perform confidential communication.

[0115] In the above example, the generated value signing key 27 and the generated value signature verification key 26 correspond to each other as asymmetric keys, with the generated value signing key 27 being a private key and the generated value signature verification key 26 being a public key.

[0116] In the above example, the IoT device 100 obtains the generated value signature verification key 26 from the generated value certificate returned by the secure element 60, but the generated value signature verification key 26 may be obtained from an external source, such as a server of a secure element business operator. Also, by signing the generated value signature verification key 26 by a CA (certification authority), it is possible to incorporate verification into the trust chain.

[0117] In this embodiment, the generated value encryption key 24 and the generated value decryption key 25 correspond to each other, with the generated value encryption key 24 being a public key and the generated value decryption key 25 being a private key. Although only the generated value encryption key 24 is exchanged over the communication channel, the encrypted generated value cannot be decrypted using the generated value encryption key 24 alone, ensuring the confidentiality of the generated value over the communication channel.

[0118] In the above example, the generated value is output only once using OTP, but by enabling the output of the generated value multiple times, it is possible to check the association between the IoT device 100 and the secure element 60 each time. Below, we will explain the processing for the first key sharing and the second and subsequent key sharing. Note that the derived key value is explicitly erased when the power is turned off.

[0119] 6 is an explanatory diagram showing an example of chaining of the first generated values. The processes indicated by the reference numerals P71 to P82 will be described below.

[0120] P71 (receive OTP): The user of the IoT device 100 receives the OTP for the secure element 60 in the IoT device 100 that the user holds from the secure element operator (key management server 200).

[0121] P72 (OTP input to IoT device): The user of the IoT device 100 inputs the OTP to the IoT device 100.

[0122] P73 (transmission to secure element): The IoT device 100 transmits the OTP entered by the user to the secure element 60.

[0123] P74 (Verify OTP counter value): The secure element 60 receives the OTP, checks its own OTP counter, and confirms that the counter value is 1 or greater. If the counter value is 0, the secure element 60 ends the process here and does not output a generated value or share a key. If the counter value is 1 or greater, it subtracts 1 from the counter value.

[0124] P75 (OTP verification): The secure element 60 compares the received OTP with the OTP it holds. In this embodiment, the secure element 60 only compares the two to see if they match. If they do not match, the secure element 60 ends the process here and does not output the generated value or share the key.

[0125] P76 (update counter value): If the received OTP matches the OTP held by the secure element 60 (if verification is successful), the secure element 60 adds 1 to its own OTP counter.

[0126] P77 (output of generated value): The secure element 60 generates a generated value and outputs the generated value. In this embodiment, the generated value does not have any particular regularity, and for example, a random number generated by a random number generator in the secure element 60 can be used as the generated value.

[0127] P78 (update OTP): The secure element 60 updates the OTP value (XXXXXXXX in the illustrated example) with the generated value (87654321 in the illustrated example).

[0128] P79 (return to IoT device): The secure element 60 returns the generated value to the IoT device 100. The IoT device 100 stores the generated value in the RAM (TEE) 54.

[0129] P80 (save generated value): The IoT device 100 saves the generated value in the NVM (TEE) 52 as the previously generated value.

[0130] P81 (Derive derived key value): The IoT device 100 inputs the generated value into the key derivation function 44 and derives a key from the generated value, thereby obtaining a derived key value. Similarly, the secure element 60 inputs the generated value into the key derivation function 66 and derives a key from the generated value, thereby obtaining a derived key value. As a result, the IoT device 100 and the secure element 60 can obtain the same derived key value.

[0131] P82 (Establishing a secure channel): The IoT device 100 and the secure element 60 establish a secure channel based on the derived key value and perform confidential communication.

[0132] 7 is an explanatory diagram showing an example of chaining of generated values ​​from the second time onwards. The processes indicated by the reference characters P91 to P102 will be described below.

[0133] P91 (power-on): The user of the IoT device 100 powers on the IoT device 100.

[0134] P92 (OTP input of previously generated value): The IoT device 100 treats the previously generated value stored in the NVM (TEE) 52 as an OTP.

[0135] P93 (transmission to secure element): The IoT device 100 transmits the previously generated value to the secure element 60 as an OTP.

[0136] P94 (Verify OTP counter value): The secure element 60 receives the OTP, checks its own OTP counter, and confirms that the counter value is 1 or greater. If the counter value is 0, the secure element 60 ends the process here and does not output a generated value or share a key. If the counter value is 1 or greater, it subtracts 1 from the counter value.

[0137] P95 (OTP verification): The secure element 60 compares the received OTP with the OTP it holds. In this embodiment, the secure element 60 only compares the two to see if they match. If they do not match, the secure element 60 ends the process here and does not output the generated value or share the key.

[0138] P96 (update counter value): If the received OTP matches the OTP held by the secure element 60 (if verification is successful), the secure element 60 adds 1 to its own OTP counter.

[0139] P97 (output of generated value): The secure element 60 generates a generated value and outputs the generated value. In this embodiment, the generated value does not have any particular regularity, and for example, a random number generated by a random number generator in the secure element 60 can be used as the generated value.

[0140] P98 (update OTP): The secure element 60 updates the OTP value (87654321 in the illustrated example) with the generated value (FEDCBA98 in the illustrated example).

[0141] P99 (return to IoT device): The secure element 60 returns the generated value to the IoT device 100. The IoT device 100 stores the generated value in the RAM (TEE) 54.

[0142] P100 (save generated value): The IoT device 100 saves the generated value in the NVM (TEE) 52 as the previously generated value.

[0143] P101 (Derive derived key value): The IoT device 100 inputs the generated value into the key derivation function 44 and derives a key from the generated value, thereby obtaining a derived key value. Similarly, the secure element 60 inputs the generated value into the key derivation function 66 and derives a key from the generated value, thereby obtaining a derived key value. As a result, the IoT device 100 and the secure element 60 can obtain the same derived key value.

[0144] P102 (Establishing a secure channel): The IoT device 100 and the secure element 60 establish a secure channel based on the derived key value and perform confidential communication.

[0145] In this embodiment, the generated value is stored in a secure environment within the SoC 50, and the next key sharing requires that the previously generated value be input as an OTP. This allows the SoC 50 and the secure element 60 to continuously share keys while continuously verifying their association. Furthermore, since the derived key value is erased upon power interruption, the secure element 60 cannot generate a valid derived key and open a secure channel unless it knows the previously generated value stored on the NVM (TEE) 52 side of the IoT device 100. Thus, while the derived key value is used as a session key each time power is turned on, and key value changes are forced, only the associated IoT device can generate a new derived key. Therefore, this effectively functions as a countermeasure against attempts to tamper with the correspondence between the IoT device 100 and the secure element 60, such as disconnecting the secure element 60 from the SoC and connecting it to another SoC.

[0146] In addition, instead of directly using the previously generated value as the OTP, an algorithm may be agreed upon in advance between the IoT device 100 and the secure element 60, and the previously generated value may be used as input to generate derived data using the algorithm, which may then be used as the OTP.

[0147] During the key sharing operation phase, requests may arise such as (1) the initial key sharing has failed and the OTP has been blocked, (2) the correspondence between the secure element 60 and the IoT device 100 needs to be legally changed, or (3) the OTP function needs to be blocked. These requests can be addressed by updating the information inside the secure element 60 using the secure communication path of the secure element 60, for example. The following describes a recovery procedure from a situation where the generated value has been output but key sharing has failed for some reason and the OTP has been blocked.

[0148] 8 is an explanatory diagram showing an example of remote management from the key management server 200. The processes indicated by the reference numerals P111 to P120 will be described below.

[0149] P111 (Contact the secure element administrator): The user contacts the secure element administrator and informs them that the OTP has been blocked and that they would like it restored, along with the SEID value. Note that this process can be performed through communication between the user's terminal device and the secure element administrator's terminal device.

[0150] P112 (Server-side update of OTP): The secure element administrator uses his / her terminal device to search for the SEID in the OTP table 201 of the key management server 200 and updates the OTP for that SEID (in the example shown in the figure, the OTP value is updated to A55AA55A).

[0151] P113 (Notifying the user of the OTP): The secure element administrator uses his / her own terminal device to notify the user of the updated OTP and convey the recovery procedure (secret communication path establishment procedure) at the time of recovery.

[0152] P114 (Power-on and implementation of recovery procedures): The user powers on and executes the recovery procedures based on the recovery procedures provided by the secure element administrator.

[0153] P115 (Enable secret communication function): The IoT device 100 is configured to automatically enable the secret communication function 67 on the secure element 60 side by executing a predetermined recovery procedure. This instructs the secure element 60 to enable the secret communication function 67.

[0154] P116 (Establishment of secret communication path): The secure element 60 establishes a secret communication path with the key management server 200. Here, only the network communication function (Ethernet (trademark) / Wi-Fi (trademark), etc.) of the IoT device 100 is used, and a secure channel such as TLS (Transport Layer Security) is established between the secure element 60 and the key management server 200. However, if the secure element 60 is capable of independent network communication, it may communicate by itself. After establishment, the secure element 60 sends an OTP synchronization request and an SEID to the key management server 200.

[0155] P117 (OTP update confirmation): The key management server 200 receives the OTP synchronization request from the connecting secure element 60 and checks whether the OTP has been updated for the specified SEID (in the example shown in the figure, the OTP value has been updated to A55AA55A).

[0156] P118 (Acquisition of updated information): If the OTP of the SEID has been updated, the key management server 200 acquires the updated OTP.

[0157] P119 (download of updated information): The key management server 200 transmits the updated OTP value to the secure element 60 via the secure communication path.

[0158] P120 (update of secure element side information): The secure element 60 updates the original OTP value with the OTP value received from the key management server 200 (in the example shown in the figure, the OTP value has been updated to A55AA55A). Following the update, the value of the OTP counter is restored to its maximum value.

[0159] In the above example, for convenience, the OTP counter value is automatically updated to the maximum value at the same time as the OTP value is updated, but the OTP counter value may also be stored in the key management server 200 and synchronized via a secure communication channel. In this case, the OTP function on the secure element 60 side can be blocked by setting the OTP counter on the key management server 200 side to 0, which is the opposite of the above recovery. Furthermore, the secure element administrator can use various methods to authorize the user depending on the security policy of the operator, such as online certificate authentication, telephone, or offline certificate verification.

[0160] The device of this embodiment is a device comprising a secure element and a device main body, wherein the device main body comprises an acquisition unit that acquires a one-time password and an output unit that outputs the one-time password acquired by the acquisition unit to the secure element, and the secure element comprises a verification unit that verifies the one-time password and a generated value output unit that, if verification by the verification unit is successful, outputs a generated value generated by a specified method to the device main body, and the device main body and the secure element each perform key sharing using the generated value.

[0161] The secure element of this embodiment is a secure element implemented in a device, and comprises an acquisition unit that acquires a one-time password from the device side, a verification unit that verifies the one-time password, and a generated value output unit that outputs a generated value generated by a predetermined method to the device side if verification is successful by the verification unit, and performs key sharing with the device side using the generated value.

[0162] The key sharing method of this embodiment is a key sharing method for a device that has a secure element and a device main body, in which the device main body acquires a one-time password and outputs the acquired one-time password to the secure element, the secure element verifies the one-time password, and if the verification is successful, outputs a generated value generated by a predetermined method to the device main body, and the device main body and the secure element each perform key sharing using the generated value.

[0163] The device main body (the part of the device excluding the secure element) acquires the one-time password entered by the user and outputs the acquired one-time password to the secure element.

[0164] The secure element verifies the one-time password output by the device itself, and if the verification is successful, outputs a generated value generated using a specified method to the device itself. The input of a one-time password set in advance in the secure element is a prerequisite for generating a generated value. In other words, before generating a generated value, the secure element is asked to input a one-time password specified by the secure element manufacturer. This allows the secure element manufacturer to perform knowledge-based authentication of the parties sharing the key, thereby confirming the identity of the parties sharing the key. The use of a one-time password can prevent multiple key generation due to a replay attack.

[0165] The device itself and the secure element each use the generated value to share the key. The secure element generates a value from which the key (shared key) is derived, and the key is shared dynamically.

[0166] That is, when sharing a key, the secure element returns a dynamic value (generated value) generated by the device itself to the device itself, and key sharing between the device itself and the secure element is performed based on that value. This allows key sharing to be performed at any time after shipping from the factory, without having to write the key in advance. In addition, there is no need to embed a fixed key in the device, and the key cannot be identified even if the device is stolen before key sharing.

[0167] Furthermore, there is no need to define the correspondence between devices and secure elements in advance (for example, during manufacturing), and a specific secure element can be linked to any device, ensuring flexibility. Furthermore, there is no risk of key leakage or theft because keys are not exchanged via a communication path between the device and the secure element.

[0168] In the device of this embodiment, the device main body includes a key derivation unit that generates a key value derived from the generated value output by the generated value output unit, and shares the key value.

[0169] The secure element of this embodiment includes a key derivation unit that generates a key value derived from a value generated by the predetermined method, and shares the key value with the device side.

[0170] The device main body generates a key value derived from the generated value output by the secure element and shares the generated key value. Any algorithm can be used as the key derivation algorithm from the generated value, as long as it is agreed upon between the device main body and the secure element. This improves security because even if the generated value is fraudulently stolen, it is impossible to generate a key value without knowing the key derivation algorithm.

[0171] The device of this embodiment shares the generated value output by the generated value output unit as a key value.

[0172] The secure element of this embodiment shares the generated value generated by the predetermined method with the device side as a key value.

[0173] The generated value output by the secure element is shared as the key value. For example, for devices that do not have a key derivation algorithm, the generated value is used as the key value (the key value is generated directly). This ensures flexibility in the key generation algorithm according to the requirements of the device.

[0174] In the device of this embodiment, the device main body includes a key generation unit that generates a key pair for asymmetric key cryptography and a key output unit that outputs one of the keys in the key pair generated by the key generation unit to the secure element, the secure element includes an encryption unit that encrypts a generated value generated using the specified method with one of the keys in the key pair, the generated value output unit outputs the generated value encrypted by the encryption unit to the device, and the device main body further includes a decryption unit that decrypts the encrypted generated value with the other key of the key pair.

[0175] The secure element of this embodiment includes a key acquisition unit that acquires one of a key pair for asymmetric key cryptography from the device side, and an encryption unit that encrypts a generated value generated using the specified method with one of the key pair, and the generated value output unit outputs the generated value encrypted by the encryption unit to the device.

[0176] The device main body generates a key pair for asymmetric key cryptography and outputs one of the generated keys to the secure element.

[0177] The secure element encrypts the generated value generated by a predetermined method using one of the key pair and outputs the encrypted generated value to the device, thereby making communication of the generated value confidential.

[0178] The device itself decrypts the encrypted generated value with the other key of the key pair, i.e., applies asymmetric key encryption to the generated value. This prevents eavesdropping on communications during key generation and prevents inappropriate binding between the device and the secure element.

[0179] In the device of this embodiment, the secure element includes a signature generation unit that generates a signature for a generated value generated using the specified method, the generated value output unit outputs the encrypted generated value together with the signature to the device, and the device main body further includes a signature verification unit that verifies the signature, and if verification fails, key sharing is not performed.

[0180] The secure element of this embodiment includes a signature generation unit that generates a signature for a generated value generated by the specified method, and the generated value output unit outputs the encrypted generated value together with the signature to the device.

[0181] The secure element generates a signature for a generated value using a predetermined method, and outputs the encrypted generated value together with the generated signature to the device. By signing with the private key within the secure element, the legitimacy of the generated value can be ensured.

[0182] The device itself verifies the signature, and if the verification fails, the key sharing is not performed. This provides a means of verifying the validity of the generated value and prevents inappropriate binding between the device and the secure element.

[0183] In the device of this embodiment, the device main body includes an SoC having a secure area that stores the key pair generated by the key generation unit, the generated value output by the secure element, and the key value derived from the generated value.

[0184] The device itself includes an SoC that has a secure area for storing the generated key pair, the generated value output by the secure element, and the key value derived from the generated value, thereby preventing software attacks on the generated value and key leakage.

[0185] In the device of this embodiment, the device main body is equipped with an SoC having a secure area that stores the generated value output by the generated value output unit as a previously generated value, and when the device is started up, the previously generated value or a calculated value based on the previously generated value is used as the one-time password.

[0186] The secure element of this embodiment includes a generated value acquisition unit that acquires, when the device is started up, a previously generated value or a calculated value based on the previously generated value from the device side, and the generated value output unit outputs a generated value generated using the previously generated value or the calculated value to the device side.

[0187] The device main body is equipped with an SoC having a secure area that stores the generated value output by the secure element as the previously generated value. When the device is started up, the previously generated value or a value calculated based on the previously generated value is used as the one-time password. In other words, each time the device is started up (e.g., powered on), key sharing with the secure element using the one-time password is required, and the previously generated value or a value derived from the previously generated value is required to be input as the one-time password when sharing the key.

[0188] This ensures that when the secure element and device are separated, they can only be operated with a combination that has already had a key shared, while forcing a change to the derived key reduces the risk of the derived key being analyzed.

[0189] The secure element of this embodiment has an upper limit on the number of times the generated value is generated.

[0190] There is an upper limit to the number of times a generated value can be generated. For example, by setting the upper limit to 1, key sharing is allowed only once at initialization. This allows for strict control of the timing of key sharing.

[0191] In the secure element of this embodiment, the acquisition unit acquires identification information of the device and a one-time password associated with the identification information, and includes a generation unit that generates a one-time password using the identification information, and the generated value output unit determines whether to output the generated value to the device side based on the one-time password generated by the generation unit and the one-time password acquired by the acquisition unit.

[0192] The secure element acquires the device identification information and the one-time password associated with the identification information, and generates a one-time password using the identification information. The secure element determines whether to output the generated value to the device side based on the generated one-time password and the acquired one-time password.

[0193] That is, when a one-time password is entered, the user is prompted to enter the device's identification information at the same time, and the consistency between the one-time password generated using the entered identification information and the entered one-time password is confirmed within the secure element. This allows the secure element manufacturer to link the device and secure element, thereby preventing key sharing through an unauthorized combination of device and secure element that the user or business operator did not anticipate.

[0194] The secure element of this embodiment comprises a storage unit that stores a one-time password, and an update unit that updates the one-time password stored in the storage unit from an external server via a secret communication path, and the verification unit verifies the one-time password acquired by the acquisition unit using the one-time password stored in the storage unit.

[0195] The secure element can update the one-time password from an external server via a secret communication channel, and uses the updated one-time password to verify the input one-time password.

[0196] For example, it can respond to requests such as when key sharing fails and the one-time password is blocked, when the correspondence between the device and the secure element needs to be legally changed, or when the one-time password function needs to be blocked, etc. This provides a method for managing the behavior of the secure element regarding key sharing independently of the device security.

[0197] In the secure element of this embodiment, the number of times the generated value is generated can be changed from the external server.

[0198] The number of times the generated value is generated can be changed from an external server via a secret communication channel, which provides a method for managing the behavior of the secure element regarding key sharing independently of the device security. [Explanation of symbols]

[0199] 21 Previously generated value 22 Generated Values 23 Derived Key Values 24 Generated Value Encryption Key 25 Generated value decryption key 26 Generated Value Signature Verification Key 27 Generated Value Signing Key 41 Asymmetric key pair generation function 42 Generated value decryption function 43 Generated value signature verification function 44 Key Derivation Function 50 SoC 51 ROM 52 NVM(TEE) 53 NVM(REE) 54 RAM(TEE) 55 RAM(REE) 60 Secure Element 61 OTP generation function 62 OTP verification function 63 Generated value output function 64 Generated Value Encryption Function 65 Generated Value Signature Generation Function 66 Key Derivation Function 67 Secret communication function 100 IoT devices 200 Key Management Server 201 OTP Table 202 OTP generation function 203 Secret communication function

Claims

1. A device comprising a secure element and a device body, The device body comprises: an acquisition unit for acquiring a one-time password; an output unit that outputs the one-time password acquired by the acquisition unit to the secure element; Equipped with The secure element comprises: a verification unit that verifies the one-time password based on a match comparison between the one-time password output by the output unit and a one-time password pre-recorded in the secure element; a generated value output unit that outputs a generated value generated by a predetermined method to the device main body when the verification is successful by the verification unit; Equipped with The device main body and the secure element each include: performing key sharing using the generated value; device.

2. The device body comprises: a key derivation unit that generates a key value derived from the generated value output by the generated value output unit; sharing said key value; The device of claim 1 .

3. The generated value output by the generated value output unit is shared as a key value. The device of claim 1 .

4. The device body comprises: a key generation unit that generates a key pair for asymmetric key cryptography; a key output unit that outputs one of the keys in the pair generated by the key generation unit to the secure element, The secure element comprises: an encryption unit that encrypts the value generated by the predetermined method with one of the key pair; The generated value output unit outputting the generated value encrypted by the encryption unit to the device; The device body comprises: Further, a decryption unit is provided that decrypts the encrypted generated value with the other of the key pair. A device according to any one of claims 1 to 3.

5. The secure element comprises: a signature generation unit that generates a signature for the generated value generated by the predetermined method, The generated value output unit outputting the encrypted generated value together with the signature to the device; The device body comprises: Further, a signature verification unit for verifying the signature is provided, If verification fails, no key sharing takes place. The device of claim 4.

6. The device body comprises: a SoC having a secure area for storing a key pair generated by the key generation unit, a generated value output by the secure element, and a key value derived from the generated value; 6. A device according to claim 4 or claim 5.

7. The device body comprises: a SoC having a secure area that stores the generated value output by the generated value output unit as a previously generated value; If the verification is successful in the verification unit, the device main body stores the generated value or a value calculated based on the generated value as a previously generated value, and the secure element updates the one-time password stored therein with the generated value or a value calculated based on the generated value; When the device is powered on for the second or subsequent time, the output unit of the device main body transmits the previously generated value to the secure element as a one-time password; the verification unit of the secure element verifies the one-time password based on a match comparison between the received one-time password and the updated one-time password stored in the secure element; A device according to any one of claims 1 to 5.

8. A secure element implemented in a device, an acquisition unit that acquires a one-time password from a device side that is a device main body of the device; a verification unit that verifies the one-time password based on a match comparison between the one-time password acquired by the acquisition unit and a one-time password pre-recorded in the secure element; a generated value output unit that outputs a generated value generated by a predetermined method to the device side if the verification unit is successful; Equipped with updating a one-time password pre-recorded in the secure element with the generated value or a value calculated based on the generated value, and performing key sharing with the device side using the generated value or a value calculated based on the generated value; Secure Element.

9. having an upper limit on the number of times the generated value is generated; The secure element of claim 8.

10. a storage unit for storing a one-time password; an updating unit that updates the one-time password stored in the storing unit from an external server via a secret communication path; Equipped with The verification unit verifying the one-time password acquired by the acquisition unit using the one-time password stored in the storage unit; The secure element according to claim 8 or claim 9.

11. The number of times the generated value is generated can be changed from the external server. The secure element of claim 10.

12. a key derivation unit that generates a key value derived from the generated value generated by the predetermined method, sharing the key value with the device side; A secure element according to any one of claims 8 to 11.

13. The generated value generated by the predetermined method is shared with the device side as a key value. A secure element according to any one of claims 8 to 11.

14. a key acquisition unit that acquires one of a pair of keys for asymmetric key encryption from the device side; an encryption unit that encrypts the value generated by the predetermined method with one of the key pair; Equipped with The generated value output unit outputting the generated value encrypted by the encryption unit to the device; A secure element according to any one of claims 8 to 13.

15. a signature generation unit that generates a signature for the generated value generated by the predetermined method, The generated value output unit outputting the encrypted generated value together with the signature to the device; 15. A secure element according to claim 14.

16. a generated value acquisition unit that acquires, from the device side, a previously generated value or a calculated value based on the previously generated value when the device is powered on for the second or subsequent time; When the previously generated value or the calculated value is acquired by the generated value acquisition unit, the secure element verifies the one-time password counter value, and if the verification is successful, compares the previously generated value or the calculated value acquired by the generated value acquisition unit with the one-time password that is pre-recorded in the secure element and has been updated; The generated value output unit If the previously generated value or the calculated value matches the updated one-time password pre-recorded in the secure element, the generated value is output to the device. A secure element according to any one of claims 8 to 15.

17. A key sharing method for a device including a secure element and a device main body, The device body comprises: Get a one-time password outputting the acquired one-time password to the secure element; The secure element comprises: verifying the one-time password based on a match comparison between the output one-time password and a one-time password pre-recorded in the secure element; If the verification is successful, a generated value generated by a predetermined method is output to the device main body; The device main body and the secure element each include: performing key sharing using the generated value; Key sharing method.

Citation Information

Patent Citations

  • Key generation method, key generation system, and computer program

    JP2017108212A