WO2013094056A1 - デバイス固有情報生成装置およびデバイス固有情報生成方法 - Google Patents

デバイス固有情報生成装置およびデバイス固有情報生成方法 Download PDF

Info

Publication number
WO2013094056A1
WO2013094056A1 PCT/JP2011/079820 JP2011079820W WO2013094056A1 WO 2013094056 A1 WO2013094056 A1 WO 2013094056A1 JP 2011079820 W JP2011079820 W JP 2011079820W WO 2013094056 A1 WO2013094056 A1 WO 2013094056A1
Authority
WO
WIPO (PCT)
Prior art keywords
glitch
circuit
bit
specific information
generation
Prior art date
Application number
PCT/JP2011/079820
Other languages
English (en)
French (fr)
Inventor
孝一 清水
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201180074942.9A priority Critical patent/CN103946909B/zh
Priority to PCT/JP2011/079820 priority patent/WO2013094056A1/ja
Priority to US14/361,543 priority patent/US9361482B2/en
Priority to KR1020147016455A priority patent/KR101576408B1/ko
Priority to JP2013550030A priority patent/JP5646091B2/ja
Priority to DE112011106024.6T priority patent/DE112011106024B4/de
Priority to TW101119285A priority patent/TWI505641B/zh
Publication of WO2013094056A1 publication Critical patent/WO2013094056A1/ja
Priority to IN3264CHN2014 priority patent/IN2014CN03264A/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]

Definitions

  • the present invention relates to security such as authentication and encryption, and more specifically, an object is to generate a device-specific identifier required for authentication, a secret key required for encryption, and the like.
  • the present invention relates to a device specific information generation apparatus and a device specific information generation method.
  • PUF Physical Unclonable Function
  • FIG. 13 is a basic configuration diagram of a PUF (hereinafter referred to as a glitch PUF) disclosed in Patent Document 1, and an explanatory diagram of specific signal processing.
  • the glitch PUF 1301 illustrated in FIG. 13A includes a data register group 1320, a glitch generation circuit 1330, and a bit conversion circuit 1340.
  • the glitch is a phenomenon that is seen in a transient state when the value of the signal changes, and is a phenomenon in which the value changes violently between 0 and 1.
  • the peaks generated in the signal waveform are also referred to as glitches here.
  • a glitch signal when the value of the input signal 1311 to the glitch generation circuit 1330 configured by the combinational circuit is changed, the value of the output signal 1312 changes accordingly.
  • a glitch occurs in a transient state until the change is completed.
  • a signal including a glitch is referred to as a glitch signal.
  • the glitch varies depending on the characteristics of the individual device on which the glitch generation circuit 1330 is mounted. That is, even in the same glitch generation circuit 1330, a different glitch is generated for each device. Therefore, it is possible to generate different bits for each device by determining a value of 0 or 1 according to the shape of the glitch.
  • determining the value for example, there is a method in which 0 is set if the number of peaks included in the glitch is an even number, and 1 is set if the number is odd.
  • FIG. 13C shows an implementation example of processing in the bit conversion circuit 1340 that converts the glitch shape into bits.
  • FIG. 13C shows a bit conversion circuit 1340 using a toggle flip-flop (hereinafter referred to as toggle FF) and a timing chart of its operation.
  • toggle FF toggle flip-flop
  • the toggle FF is a circuit in which the output value is inverted (changes to 1 if 0, changes to 0 if 1) for each input of the rising signal. Based on this principle, whether the number of peaks included in the glitch is even or odd corresponds one-to-one to the even or odd number of output inversions, resulting in a one-to-one correspondence to the 0 or 1 bit value. To do.
  • One bit is generated corresponding to the input signal 1311 by a series of processes as shown in FIG. By performing this process a plurality of times while changing the input signal 1311, it is possible to generate a bit string composed of a plurality of bits. That is, assuming that the input signal to the glitch generation circuit 1330 is n bits, for example, by performing 2 n ⁇ 1 changes such as 0 ⁇ 1, 0 ⁇ 2,..., 0 ⁇ 2 n ⁇ 1, A bit sequence of 2 n ⁇ 1 bits can be generated.
  • the configuration of the glitch PUF 1301 shown in Patent Document 1 has the following problems.
  • the performance when the glitch PUF 1301 is mounted on a device such as an FPGA or ASIC is unknown until the device is actually manufactured. For this reason, there is a possibility that the desired performance is not satisfied when the device is actually manufactured.
  • the performance is, for example, an information amount or an error rate.
  • the glitch is generated based on the delay characteristics of the gates constituting the glitch generation circuit 1330. Since this delay characteristic changes with aging of the device, the appearance of glitches also changes with aging of the device.
  • FIG. 14 is an explanatory diagram showing a state of aging of the glitch generation circuit in the conventional glitch PEF.
  • the glitch generation circuit 1430 changes with time, a situation occurs in which it becomes difficult for the glitch to occur or no glitch occurs. As a result, the amount of information generated is reduced. This is because, for example, in the method of determining bits depending on whether the number of glitch peaks is even or odd as described above, if the glitch does not appear in the first place (the number of peaks is 0), the bit is always 0. It is.
  • the present invention has been made to solve the above-described problems, and can output a glitch that satisfies a desired performance without being affected by device manufacturing or device aging. It is an object to obtain a device specific information generation apparatus and a device specific information generation method.
  • the device specific information generation apparatus includes a bit generation unit that includes a glitch generation circuit that outputs a glitch generated in the output signal of the combinational circuit, and a bit conversion circuit that converts the shape of the glitch into information bits.
  • a device-specific information generating apparatus that generates unique information of a semiconductor device in a semiconductor device, and the glitch generation circuit is equipped with a plurality of combinational circuits, and as a glitch generation circuit top that outputs a plurality of different glitches
  • the bit generation unit further includes a selector that receives a selection signal from outside and selects one glitch from a plurality of different glitches output from the glitch generation circuit and outputs the selected glitch to the bit conversion circuit. A selection signal to sequentially select one of a plurality of different glitches.
  • a performance evaluation / control unit for specifying a selection signal is further provided so that the specified glitch is output as unique information of the semiconductor device.
  • the device specific information generation method includes a glitch generation circuit that outputs a glitch generated in the output signal of the combinational circuit, and a bit conversion circuit that converts the shape of the glitch into information bits.
  • a device specific information generation method for generating specific information of a semiconductor device within a semiconductor device, wherein a plurality of different glitches output via a plurality of combinational circuits mounted on the glitch generation circuit A step of outputting a selection signal for selecting one glitch from the plurality of different glitches, and outputting a selection signal so as to sequentially select one of the plurality of different glitches.
  • Each bit information converted by the bit conversion circuit corresponding to each of the glitches is acquired, and it Based on the bit information of Les, identifying glitches that meet the desired performance, so as to output the identified glitches as unique information of the semiconductor device, those comprising identifying a selection signal.
  • a plurality of glitch generation circuits are mounted, and a glitch generation circuit close to a desired performance can be selected from among them. It is possible to obtain a device specific information generation apparatus and a device specific information generation method that can output a glitch that satisfies a desired performance without being influenced by the influence or aging of the device.
  • FIG. 11 is a flowchart for resetting the glitch PUF shown in FIG. 10 in Embodiment 2 of the present invention. It is the basic block diagram of PUF shown by patent document 1, and explanatory drawing of concrete signal processing. It is explanatory drawing which shows the state of the secular change of the glitch generation circuit in the conventional glitch PEF.
  • Embodiment 1 FIG.
  • the basic idea of the present invention is to mount a plurality of glitch generating circuits having different characteristics. Focusing on the number of occurrences of glitches as a characteristic, a large number of glitch generation circuits that generate a large amount of glitches are mounted. For that purpose, in particular, a simple and small logic circuit is connected in series to increase the complexity of the logic step by step and increase the occurrence of glitches.
  • FIG. 1 is a diagram for explaining a basic idea of a glitch generation circuit in a device specific information generation apparatus according to Embodiment 1 of the present invention.
  • the glitch generation circuit 130 shown in FIG. 1 is configured by connecting four identical logic circuits A (corresponding to logic circuits 131 (1) to 131 (4)) in series.
  • the logic circuit A may be a linear circuit or a non-linear circuit.
  • the output of the logic circuit 131 (1) at the first stage has a small glitch and a small amount of information.
  • the outputs of the third-stage logic circuit 131 (3) and the fourth-stage logic circuit 131 (4) have many glitches and are unstable.
  • a situation occurs in which the output of the logic circuit 131 (2) at the second stage has a good balance between glitch and stability.
  • FIG. 2 is an explanatory diagram regarding glitch stability in the first embodiment of the present invention.
  • a glitch having a different pattern for each operation is generated, and a bit generated each time. Represents a different situation.
  • Such a state is called unstable.
  • In an unstable state there is no reproducibility of bits for each operation, so that the generated bits cannot be used as information. That is, the amount of information that can be used as a PUF is reduced.
  • the amount of information increases when more glitches are generated (corresponding to the output of the third-stage logic circuit 131 (3) or the output of the fourth-stage logic circuit 131 (4)).
  • the state where many glitches are generated is unstable. Therefore, when the number of stages of the logic circuit A is increased to increase the glitch, the amount of information that can be used as a PUF initially increases, but starts to decrease at some point. That is the boundary between the second and third stages. Therefore, considering both the number of glitches and stability, in the example shown in FIG. 1, it can be said that the output of the logic circuit 131 (2) at the second stage is optimal for use as a PUF.
  • the output of the third-stage logic circuit 131 (3) may be optimized as a PUF after aging. That is, at the present time, there are many glitches and they are unstable, but when the glitches are difficult to occur due to aging, the output of the logic circuit 131 (3) at the third stage can be optimized as a PUF.
  • the output of the fourth-stage logic circuit 131 (4) can be used not as a PUF but as a random number generator. That is, the output of the logic circuit 131 (4) at the fourth stage is unstable due to an extremely large amount of glitches, so that the output is not stable every time as shown in FIG. Therefore, the output of the logic circuit 131 (4) at the fourth stage cannot be used as a PUF, but can be used as a random number.
  • FIG. 3 is a diagram illustrating a first configuration example of the device specific information generation apparatus according to Embodiment 1 of the present invention.
  • the glitch PUF 301 corresponding to the device specific information generation apparatus shown in FIG. 3 includes a bit generation unit 310 and a performance evaluation / control unit 350.
  • the bit generation unit 310 has a function of generating bits, and includes a data register group 320, a glitch generation circuit top 330, and a bit conversion circuit 340.
  • the performance evaluation / control unit 350 has a function of performing performance evaluation of bits generated by the bit generation unit 310 and controlling the bit control unit 310 so that a glitch close to a desired performance is generated. Yes.
  • the data register group 320 in the bit generation unit 310 is a register group that holds data input to the glitch generation circuit top 330.
  • the glitch generating circuit top 330 includes logic circuits 331 (1) to 331 (N) formed by connecting the same logic circuit A in N stages in series, and a selector 332.
  • the operations of the logic circuits 331 (1) to 331 (N) are the same as those of the glitch generation circuit 130 having the four-stage logic circuit in FIG.
  • the selector 320 selects which stage of the logic circuits 331 (1) to 331 (N) to select based on the selection signal output from the performance evaluation / control unit 350, and applies it to the bit conversion circuit 340. Select and switch.
  • the glitch generation circuit top 330 has a configuration for increasing the number of occurrences of glitches in stages, and N glitch signals are generated by a selection signal output from the performance evaluation / control unit 350. One of them can be selected.
  • the logic circuit A may be a linear circuit or a non-linear circuit as described in FIG.
  • the design policy for the purpose of reducing the mounting size, there is a configuration in which the logic complexity is increased by using a simple and small logic circuit and increasing the number N of stages.
  • FIG. 4 is a diagram illustrating a second configuration example of the device specific information generation apparatus according to Embodiment 1 of the present invention.
  • the glitch PUF 401 corresponding to the device specific information generation apparatus shown in FIG. 4 includes a bit generation unit 410 and a performance evaluation / control unit 450.
  • the bit generation unit 410 includes a data register group 420, a glitch generation circuit top 430, and a bit conversion circuit 440.
  • the glitch generating circuit top 330 in the first configuration example shown in FIG. 3 generates N glitch signals in total by connecting N stages of logic circuits A and selecting outputs from the respective stages. It was.
  • the glitch generation circuit top 430 in the second configuration example shown in FIG. 4 includes N glitch generation circuits 431 (1) to 431 (N) and a selector 432. That is, the glitch generating circuit top 430 generates N glitch signals by mounting N completely different glitch generating circuits.
  • An example of the glitch generation circuits 431 (1) to 431 (N) in the configuration of FIG. 4 is an encryption algorithm S-box.
  • S-boxes of various cryptographic algorithms such as DES, AES, MISTY, and Camellia, different glitch generation circuits can be implemented.
  • the performance evaluation / control unit 350 controls the selector 332 to select N glitch signals one by one. Thereby, the bit conversion circuit 340 can generate a bit corresponding to each stage by converting the glitch signal corresponding to each stage into a bit.
  • the performance evaluation / control unit 350 controls the selector 332 so that the bit generation for a certain stage is repeated (for example, 100 times), and at this time, as the output of the bit conversion circuit 340, it is obtained for the first time.
  • the error rate can be evaluated by comparing the value with the value obtained after the second time.
  • FIG. 5 is a diagram illustrating a configuration example of an error rate evaluation circuit included in the performance evaluation / control unit according to the first embodiment of the present invention.
  • the error rate evaluation circuit 560 counts and holds the register 561 that holds the first bit value, the comparator 562 that compares the first bit value with the second and subsequent bit values, and the number of times the comparison results do not match.
  • a register 563 is provided.
  • the comparator 562 generates an enable signal for the register 563 when the comparison result does not match.
  • the register 563 can count the number of mismatches by incrementing the register value by 1 according to the enable signal. For example, if the value of the register 563 after 100 comparisons is 10, the error rate evaluation circuit 560 determines that the error rate is 10%.
  • the error rate can be evaluated using the bit values in the same device, for example, by repeating 100 times, for example, 100 times.
  • 100 bit values generated for a plurality of, for example, 100 different devices are required. Therefore, it is necessary to create a situation in which a plurality of devices exist in the same device in a pseudo manner.
  • FIG. 6 is a diagram illustrating a configuration example of a device specific information generation apparatus for evaluating the information amount according to Embodiment 1 of the present invention, and a configuration example of an information amount evaluation circuit included in the performance evaluation / control unit.
  • a glitch PUF 601 corresponding to the device specific information generation apparatus shown in FIG. 6A includes a data register group 620, M glitch generation circuit tops 630 (1) to 630 (M), a selector 632, a bit conversion circuit 640, And a performance evaluation / control unit 650.
  • the data register group 620, the selector 632, the bit conversion circuit 640, and the performance evaluation / control unit 650 are respectively the data register group 320, the selector 332, the bit conversion circuit 340, and the performance evaluation / control in FIG. This has the same function as the unit 350.
  • the M glitch generation circuit tops 630 (1) to 630 (M) are the glitch generation circuit top 330 corresponding to the glitch generation circuit top 330 in FIG. 3 or the glitch generation circuit top 430 in FIG. That is, in order to generate N glitch signals, M having N glitch generation circuits) are mounted on the device in the same layout.
  • the performance evaluation / control unit 650 controls the selector 632 to select any one output from among the M glitch generation circuit tops 630 (1) to 630 (M).
  • the glitch PUF 601 configures a glitch PUF for M devices in a pseudo manner, and generates bits for the M devices in a pseudo manner.
  • the glitch PUF 601 can evaluate the amount of information by performing statistical processing on the M bit values generated in a pseudo manner in the performance evaluation / control unit 650.
  • Shannon's entropy is when the probability of a bit being 0 is p (the probability of 1 being 1-p) -P * log2 (p)-(1-p) * log2 (1-p) (1) Is defined.
  • Log2 is a logarithmic function with 2 as the base.
  • the logarithmic function is realized as a circuit, the mounting size becomes large. Therefore, it is desirable to evaluate the amount of information only from the value of p.
  • the information amount evaluation circuit 670 shown in FIG. 6B includes a comparator 671 and two registers 672 and 673.
  • the comparator 671 determines whether or not the bit value generated by the bit conversion circuit 640 is 0, and generates an enable signal for the register 672 and the register 673 from the result.
  • the enable signals of the two registers 672 and 673 are inverted from each other.
  • the register 672 functions as a counter whose value increases when the bit value is 0, and the register 673 has a bit value of 1. It functions as a counter that sometimes increases in value.
  • This circuit can also be used for the purpose of evaluating the 0/1 equality of bits in the random number test defined by NIST SP 800-22 in the United States.
  • FIG. 7 is a diagram showing a system configuration example including the device specific information generation apparatus according to Embodiment 1 of the present invention.
  • a glitch PUF 701 corresponding to the device specific information generation apparatus shown in FIG. 7 includes a bit generation unit 710 and a performance evaluation / control unit 750.
  • the bit generation unit 710 includes a data register group 720, M glitch generation circuit tops 730 (1) to 730 (M), a selector 732, and a bit conversion circuit 740, and is the same as FIG. In addition, M glitch generation circuit tops 730 (1) to 730 (M) are mounted on the device in the same layout.
  • the bit string generated by the bit generation unit 710 is input to the performance evaluation / control unit 750.
  • the performance evaluation / control unit 750 includes an error correction circuit 751, an OWHF circuit 752, a comparison / determination circuit 753, a performance evaluation circuit 754, and a control circuit 755.
  • the error correction circuit 751 is a circuit for correcting an error included in the bit string input to the performance evaluation / control unit 750.
  • the OWHF circuit 752 is a circuit that takes a hash value of a bit string after error correction.
  • the comparison / determination circuit 753 is a circuit that compares the generated hash value with the previously generated hash value.
  • the performance evaluation circuit 754 is a circuit that evaluates the performance of the bit string input to the performance evaluation / control unit 750.
  • the control circuit 755 is a circuit that controls the bit generation unit 710 based on the determination result by the comparison / determination circuit 753 and the evaluation result by the performance evaluation circuit 754.
  • the glitch PUF 701 shown in FIG. 7 is connected to the CPU 781, the memory 782, and the I / O 783 via the system bus 780.
  • FIG. 8 is a flowchart of initial setting of glitch PUF 701 shown in FIG. 7 according to Embodiment 1 of the present invention.
  • FIG. 9 is a flowchart for resetting the glitch PUF 701 shown in FIG. 7 according to Embodiment 1 of the present invention.
  • Step S801 The control circuit 755 obtains bit b (1, 1, 1) to bit b (N, M, 2 n ⁇ 1).
  • the glitch generation circuits 431 (1) to 431 (N) This corresponds to a number for selecting one of the following.
  • the third subscript k is a number representing an input change pattern to the glitch generation circuit, and corresponds to a bit string of 2 n ⁇ 1 bits when the input signal is n bits.
  • subscript j is a subscript representing a pseudo-mount of M devices for evaluating the amount of information, and therefore, one of these is actually used after the evaluation. Good.
  • j 1 is used.
  • Step S804 The OWHF circuit 752 calculates a hash value h of the bit string w (i) and stores it in the memory 782.
  • the performance evaluation / control unit 750 obtains the subscript i satisfying the desired performance, the syndrome s necessary for error correction of the bit string w (i), and the hash value h of the bit string w (i). Can be initialized.
  • Step S901 The control circuit 755 initializes the value of the counter cnt with 0.
  • the counter cnt represents the number of times that the error correction in step S903 has failed.
  • Step S902 The control circuit 755 controls the bit generation unit 710 to generate a bit string w (i) 'corresponding to the subscript i determined in the previous initial setting.
  • the control circuit 755 reads the subscript i from the memory 782.
  • the bit string w (i) ′ can be generated. Since the bit string w (i) ′ usually includes an error, the bit string w (i) ′ has a value different from w (i) generated by the initial setting and is attached with “′”.
  • Step S903 The error correction circuit 751 performs error correction processing on the bit string w (i) 'to obtain the bit string w (i) ".
  • the error correction circuit 751 reads the error correction syndrome s generated by the initial setting from the memory 782, and performs error correction processing on the bit string w (i) '.
  • the bit string w (i) '' after error correction is expected to match the bit string w (i) generated by the initial setting.
  • Step S904 The OWHF circuit 752 calculates a hash value h ′′ of the bit string w (i) ′′.
  • Step S905 The comparison / determination circuit 753 compares the hash value h ′′ with the hash value h generated by the initial setting, and branches the process depending on the comparison result.
  • h ⁇ h ′′ it means that the error correction in step S903 failed and the bit string w (i) generated by the initial setting could not be regenerated.
  • Step S906 This is a step in which the control circuit 755 increments the value of the counter cnt indicating the number of error correction failures by 1 and proceeds to the next step S907 when h ⁇ h ′′ in step S905.
  • Step S907 This is a step in which the control circuit 755 determines whether or not the value of the counter cnt exceeds a predetermined threshold value U. If the counter cnt does not exceed U, the process returns to step S902, and the control circuit 755 again performs bit string generation and error correction.
  • Step S908 When cnt> U in step S907, the control circuit 755 performs a failure notification. This means that the control circuit 755 determines that the bit string w (i) cannot be regenerated even if the bit string generation and error correction are continued.
  • the relationship between U and V is U> V.
  • Step S910 When cnt> V in step S909, the performance evaluation / control unit 750 performs initial setting processing and selects a new subscript i ′. This is because the performance evaluation / control unit 750 determines that the circuit characteristics have changed significantly because the regeneration of the bit string w (i) has failed many times, and before the bit string w (i) cannot be regenerated, It means that a new i ′ has been selected again by re-initializing.
  • the performance evaluation / control unit 750 outputs a glitch that satisfies the desired performance (information amount and error rate) without being affected by device manufacturing or device aging. It can be guaranteed, and initial settings can be redone if necessary.
  • the first embodiment it is possible to mount a plurality of glitch generation circuits and evaluate the information amount thereof. Therefore, by making it possible to select a glitch generation circuit to be used from among a plurality of glitch generation circuits, the possibility of satisfying desired performance can be increased. Furthermore, by providing a performance evaluation / control unit, it is possible to actually select a glitch generation circuit that satisfies the desired performance.
  • the glitch PUF can be used as a random number generator.
  • Embodiment 2 the initial setting for selecting the optimum glitch generating circuit and the resetting when the characteristics of the glitch generating circuit are changed have been described.
  • the second embodiment a specific application example using a glitch generation circuit will be described.
  • FIG. 10 is a configuration diagram of the performance evaluation / control unit when performing key generation in Embodiment 2 of the present invention.
  • the performance evaluation / control unit 1050 according to the second embodiment includes an error correction circuit 1051, an OWHF circuit 1052, a comparison / determination circuit 1053, a performance evaluation circuit 1054, a control circuit 1055, and an HF circuit 1056. Further, the configuration of FIG. 10 in the second embodiment includes an encryption circuit 1090.
  • the performance evaluation / control unit 1050 of FIG. 10 in the second embodiment uses a hash function (HF circuit 1056) for the purpose of randomizing a bit string. Furthermore, it is different. By the operation of the HF circuit 1056, the bit string generated by the glitch PUF 1001 can be used as a key for the encryption algorithm.
  • HF circuit 1056 hash function
  • FIG. 11 is a flowchart of initial setting of glitch PUF 1001 shown in FIG. 10 according to Embodiment 2 of the present invention.
  • FIG. 12 is a flowchart for resetting glitch PUF 1001 shown in FIG. 10 according to Embodiment 2 of the present invention.
  • steps S1102 to S1105 are the same as steps S801 to S804, and steps S1101 and S1105 to S1108 correspond to steps newly added as processing relating to key generation.
  • Step S1101 In this step, the encryption circuit 1090 receives the master key mk from the I / O 1082 and holds it in an internal register.
  • Step S1102 The control circuit 1055 obtains bit b (1, 1, 1) to bit b (N, M, 2 n ⁇ 1).
  • Step S1105 The OWHF circuit 1052 calculates a hash value h of the bit string w (i) and stores it in the memory 1082.
  • Step S1106 The HF circuit 1056 calculates the hash value k of the bit string w (i) and stores it in the internal register of the encryption circuit 1090. This k corresponds to the encryption key generated using the glitch PUF 1001.
  • Step S1107 This is a step in which the encryption circuit 1090 encrypts the master key mk using the encryption key k generated in step S1106 to obtain encrypted data x.
  • the encryption circuit 1090 holds the encrypted data x in the memory 1082.
  • Step S1108 This is a step in which the encryption circuit 1090 erases the master key mk and the encryption key k held in the internal register.
  • the master key mk is a key for actually encrypting data
  • the encryption key k generated by the glitch PUF is the master key. This is a key for encrypting mk.
  • the reason why the encryption key k is not used for data encryption is that the output of the glitch PUF 1001 changes due to the aging of the device, and it will eventually be impossible to regenerate the same encryption key k as the initial setting. Because.
  • the performance evaluation / control unit 1050 obtains the subscript i that satisfies the desired performance, the syndrome s necessary for error correction of the bit string w (i), and the hash value h of the bit string w (i). Can be initialized. Further, the performance evaluation / control unit 1050 can obtain the master key mk, generate the encryption key k, and generate the encrypted data x.
  • steps S1201 to S1208 are the same as steps S901 to S908
  • step S1211 is the same as step S909
  • steps S1209, S1210, and S1212 are newly added as processing related to key management. It corresponds to.
  • Step S1201 The control circuit 1055 initializes the value of the counter cnt with 0.
  • Step S1202 In this step, the control circuit 1055 controls the bit generation unit 1010 to generate a bit string w (i) 'corresponding to the suffix i determined in the previous initial setting.
  • Step S1203 This is a step in which the error correction circuit 1051 performs an error correction process on the bit string w (i) 'to obtain the bit string w (i) ".
  • Step S1204 The OWHF circuit 1052 calculates a hash value h ′′ of the bit string w (i) ′′.
  • Step S1205 The comparison / determination circuit 1053 compares the hash value h ′′ with the hash value h generated by the initial setting, and branches the process depending on the comparison result.
  • Step S1206 When the control circuit 1055 becomes h ⁇ h ′′ in step S1205, the value of the counter cnt indicating the number of error correction failures is incremented by 1, and the process proceeds to the next step S1207.
  • Step S1207 This is a step in which the control circuit 1055 determines whether or not the value of the counter cnt exceeds a predetermined threshold value U. If the counter cnt does not exceed U, the process returns to step S1202, and the control circuit 1055 performs bit string generation and error correction again.
  • Step S1208 When cnt> U in step S1207, the control circuit 1055 performs a failure notification.
  • the OWHF circuit 1052 holds the calculated hash value k as a regenerated key k in a register inside the encryption circuit 1090.
  • Step S1210 This is a step in which the encryption circuit 1090 decrypts the data x using the regenerated key k to obtain the master key mk.
  • the encryption circuit 1090 holds the master key mk in an internal register.
  • Step S1211 This is a step in which the control circuit 1055 determines whether or not the value of the counter cnt exceeds a certain threshold value V. If cnt does not exceed V, the control circuit 1055 proceeds to S1212.
  • Step S1212 The cryptographic circuit 1090 performs cryptographic processing using the master key mk.
  • Step S1213 If cnt> V in step S1211, the performance evaluation / control unit 1050 performs initial setting processing, selects a new subscript i ′, and uses a new key k ′ corresponding thereto. This is a step of performing encryption of mk. This is because the performance evaluation / control unit 1050 determines that the circuit characteristics have changed greatly because the regeneration of the bit string w (i) has failed many times, and the bit string w (i) cannot be regenerated (therefore, This means that a new i ′ has been selected again by initializing again before k cannot be regenerated.
  • the performance evaluation / control unit 1050 outputs a glitch that satisfies the desired performance (information amount and error rate) without being affected by device manufacturing or device aging. It can be guaranteed, and initial settings can be redone if necessary. Furthermore, it can be applied to processing related to key management.
  • the key generation for use in the encryption algorithm can be performed using the bit string generation by the glitch PUF having the effect of the first embodiment, and the encryption process can be performed. Can be applied.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Manipulation Of Pulses (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

 デバイス製造時の影響、あるいはデバイスの経年劣化の影響を受けずに、所望の性能を満たすグリッチを出力する装置を得る。グリッチ発生回路(330)と、グリッチの形状を情報ビットに変換するビット変換回路(340)とを有するビット生成部(310)を備え、グリッチ発生回路は、複数の組み合わせ回路(331)が搭載されることで、複数の異なるグリッチを出力し、ビット生成部は、選択信号に応じて、複数の異なるグリッチの中から1つのグリッチを選択してビット変換回路に対して出力するセレクタ(332)をさらに有し、選択信号を出力することで、複数の異なるグリッチのそれぞれに対応するビット情報を取得し、それぞれのビット情報に基づいて、所望の性能を満たしているグリッチを特定する性能評価・制御部(350)をさらに備える。

Description

デバイス固有情報生成装置およびデバイス固有情報生成方法
 本発明は、認証や暗号化などのセキュリティに関するものであり、より具体的には、認証で必要となるデバイス固有の識別子や、暗号化で必要となる秘密鍵などを生成することを目的としたデバイス固有情報生成装置およびデバイス固有情報生成方法に関するものである。
 ASICやFPGA等の半導体デバイスにおいて、同一種類のデバイス上に同一の回路を実装した場合でも、ゲート遅延等のデバイス特性がデバイス個体毎に異なることによって、デバイス個体毎に異なる出力が得られる現象が存在する。このような現象を生む回路もしくはその技術は、Physical Unclonable FunctionやPhysical Uncloning技術などと呼ばれ(以下の説明では、この技術をPUFと称する)、認証や暗号化といった用途への応用が期待されている。
 PUFの例として、組み合わせ回路の出力信号に発生するグリッチを利用した従来技術がある(例えば、特許文献1参照)。図13は、特許文献1に示されているPUF(以下、グリッチPUFと称する)の基本構成図、および具体的な信号処理の説明図である。図13(a)に示したグリッチPUF1301は、データレジスタ群1320、グリッチ発生回路1330、およびビット変換回路1340を備えて構成されている。
 ここで、グリッチとは、信号の値が変化する際の過渡状態に見られる、値が0と1とで激しく変化を繰り返す現象のことである。そのとき、信号波形に発生する山のことも、ここでは、グリッチと呼ぶ。
 図13(a)では、組み合わせ回路で構成されたグリッチ発生回路1330への入力信号1311の値を変化させると、それに応じて出力信号1312の値が変化する。その変化が完了するまでの過渡状態において、グリッチが発生する。以後、グリッチを含む信号を、グリッチ信号と呼ぶ。
 グリッチは、グリッチ発生回路1330が実装されたデバイス個体の特性によって変化する。つまり、同じグリッチ発生回路1330であっても、各デバイス毎に異なるグリッチが発生する。そこで、グリッチの形状に従って、0または1の値を決定することにより、各デバイス毎に異なるビットを生成することが可能となる。値の決定の仕方として、例えば、グリッチに含まれる山の数が偶数であれば0、奇数であれば1とする方法がある。
 以上の、グリッチPUF1301によるビット生成処理の流れが、図13(b)に示されている。また、グリッチ形状をビットに変換するビット変換回路1340での処理の実装例が、図13(c)に示されている。図13(c)では、トグルフリップフロップ(以下、トグルFFと称す)を利用したビット変換回路1340、およびその動作のタイミングチャートが示されている。
 トグルFFは、1回の立ち上がり信号の入力につき、出力の値が反転(0であれば1に、1であれば0に変化)する回路である。この原理により、グリッチに含まれる山の数が偶数、奇数のいずれであるかが、出力の反転回数の偶数、奇数に1対1対応し、結果、0、1のビット値に1対1対応する。
 図13に示したような一連の処理で、入力信号1311に対応して1ビットが生成されることとなる。この処理を、入力信号1311の変化のさせ方を変えて複数回行うことで、複数のビットからなるビット列を生成することができる。つまり、グリッチ発生回路1330への入力信号をnビットとすると、例えば、0→1、0→2、…、0→2n-1という2n-1個の変化のさせ方を行うことで、2n-1ビットのビット列を生成することができる。
国際公開第11/086688号パンフレット
 しかしながら、特許文献1に示されるグリッチPUF1301の構成には、次に述べる課題があった。グリッチPUF1301をFPGAやASIC等のデバイスに実装した際の性能は、実際にデバイスを製造するまで不明である。このため、実際にデバイスを製造した際に所望の性能を満たしていない可能性がある。ここで、性能とは、例えば、情報量やエラーレートである。
 また、デバイスの製造当初は、所望の性能を満たしていても、デバイスの経年劣化によって所望の性能を満たさなくなる可能性がある。そこで、デバイスの経年劣化によって情報量が減る理由を次に説明する。グリッチは、グリッチ発生回路1330を構成するゲートの遅延特性に基づいて発生する。この遅延特性は、デバイスの経年劣化によって変化するので、グリッチの出方もデバイスの経年劣化によって変化することとなる。
 図14は、従来のグリッチPEFにおけるグリッチ発生回路の経年変化の状態を示す説明図である。図14に示すように、グリッチ発生回路1430が経年変化すると、グリッチが出にくくなる、あるいはグリッチが出なくなるといった状況が発生する。その結果、生成される情報量が減ることとなる。なぜなら、例えば、上述のようにグリッチの山の数が偶数か奇数かによってビットを決定する方法においては、グリッチがそもそも出ない(山の個数が0)と、ビットが必ず0になってしまうためである。
 所望の情報量やエラーレートを満たさない結果として、所望のビット長の識別子や暗号鍵の生成が行えず、製品機器が機能しない不具合が発生することとなる。
 本発明は、前記のような課題を解決するためになされたものであり、デバイス製造時の影響、あるいはデバイスの経年劣化の影響を受けずに、所望の性能を満たすグリッチを出力することのできるデバイス固有情報生成装置およびデバイス固有情報生成方法を得ることを目的とする。
 本発明に係るデバイス固有情報生成装置は、組み合わせ回路の出力信号に発生するグリッチを出力するグリッチ発生回路と、グリッチの形状を情報ビットに変換するビット変換回路とを有するビット生成部を備えることにより、半導体デバイス内で半導体デバイスの固有情報を生成するデバイス固有情報生成装置であって、グリッチ発生回路は、複数の組み合わせ回路が搭載されることで、複数の異なるグリッチを出力するグリッチ発生回路トップとして構成され、ビット生成部は、外部から選択信号を受信することで、グリッチ発生回路から出力される複数の異なるグリッチの中から1つのグリッチを選択してビット変換回路に対して出力するセレクタをさらに有し、複数の異なるグリッチの中から1つを順次選択するように選択信号を出力することで、複数の異なるグリッチのそれぞれに対応してビット変換回路で変換されたそれぞれのビット情報を取得し、それぞれのビット情報に基づいて、所望の性能を満たしているグリッチを特定し、特定したグリッチを半導体デバイスの固有情報として出力するように、選択信号を特定する性能評価・制御部をさらに備えるものである。
 また、本発明に係るデバイス固有情報生成方法は、組み合わせ回路の出力信号に発生するグリッチを出力するグリッチ発生回路と、グリッチの形状を情報ビットに変換するビット変換回路とを有するデバイス固有情報生成装置に適用され、半導体デバイス内で半導体デバイスの固有情報を生成するためのデバイス固有情報生成方法であって、グリッチ発生回路に搭載された複数の組み合わせ回路を介して出力される複数の異なるグリッチの中から1つのグリッチを選択してビット変換回路に対して出力させる選択信号を出力するステップと、複数の異なるグリッチの中から1つを順次選択するように選択信号を出力することで、複数の異なるグリッチのそれぞれに対応してビット変換回路で変換されたそれぞれのビット情報を取得し、それぞれのビット情報に基づいて、所望の性能を満たしているグリッチを特定するステップと、特定したグリッチを半導体デバイスの固有情報として出力するように、選択信号を特定するステップとを備えるものである。
 本発明に係るデバイス固有情報生成装置およびデバイス固有情報生成方法によれば、グリッチ発生回路を複数搭載し、その中から所望の性能に近いグリッチ発生回路を選択可能とすることにより、デバイス製造時の影響、あるいはデバイスの経年劣化の影響を受けずに、所望の性能を満たすグリッチを出力することのできるデバイス固有情報生成装置およびデバイス固有情報生成方法を得ることができる。
本発明の実施の形態1におけるデバイス固有情報生成装置内のグリッチ発生回路の基本アイデアを説明するための図である。 本発明の実施の形態1におけるグリッチの安定性に関する説明図である。 本発明の実施の形態1におけるデバイス固有情報生成装置の第1の構成例を示す図である。 本発明の実施の形態1におけるデバイス固有情報生成装置の第2の構成例を示す図である。 本発明の実施の形態1における性能評価・制御部に含まれるエラーレート評価回路の構成例を示す図である。 本発明の実施の形態1における情報量を評価するためのデバイス固有情報生成装置の構成例、および性能評価・制御部に含まれる情報量評価回路の構成例を示す図である。 本発明の実施の形態1におけるデバイス固有情報生成装置を含むシステム構成例を示す図である。 本発明の実施の形態1における図7に示すグリッチPUFの初期設定のフローチャートである。 本発明の実施の形態1における図7に示すグリッチPUFの再設定のフローチャートである。 本発明の実施の形態2における鍵生成を行う場合の性能評価・制御部の構成図である。 本発明の実施の形態2における図10に示すグリッチPUFの初期設定のフローチャートである。 本発明の実施の形態2における図10に示すグリッチPUFの再設定のフローチャートである。 特許文献1に示されているPUFの基本構成図、および具体的な信号処理の説明図である。 従来のグリッチPEFにおけるグリッチ発生回路の経年変化の状態を示す説明図である。
 以下、本発明のデバイス固有情報生成装置およびデバイス固有情報生成方法の好適な実施の形態につき図面を用いて説明する。
 実施の形態1.
 本発明の基本アイデアは、グリッチ発生回路として、特性の異なるものを複数個搭載することである。特性として、グリッチの発生個数に着目し、あまりグリッチが発生しないグリッチ発生回路から、グリッチが大量に発生するグリッチ発生回路までを、多数搭載する。その目的から、特に、単純で小さな論理回路を直列に接続していくことで、段階的に論理の複雑さを増し、グリッチの発生を増加させていく構成を基本とする。
 図1は、本発明の実施の形態1におけるデバイス固有情報生成装置内のグリッチ発生回路の基本アイデアを説明するための図である。図1に示したグリッチ発生回路130は、同一の論理回路Aを4個(論理回路131(1)~131(4)に相当)、直列に接続して構成されている。ここで、論理回路Aは、線形回路であってもよいし、非線形回路であってもよい。
 グリッチ発生回路130への入力信号を変化させると、各論理回路131(1)~131(4)の出力にグリッチが発生する。これらの出力は、同じ論理回路Aを直列に接続した1段目・2段目・3段目・4段目の出力であり、段数が進むに従って、グリッチがより多く発生することとなる。
 これにより、たとえば、図1の例では、1段目の論理回路131(1)の出力は、グリッチが少なく情報量が少ない。一方、3段目の論理回路131(3)および4段目の論理回路131(4)の出力は、グリッチが多く不安定である。これに対して、2段目の論理回路131(2)の出力は、グリッチと安定性のバランスがよい、といった状況が起こる。
 ここで、安定性について、図2を用いて説明する。図2は、本発明の実施の形態1におけるグリッチの安定性に関する説明図であり、具体的には、同じ入力信号に対して、動作毎に異なるパターンのグリッチが発生し、毎回生成されるビットが異なる状況を表している。このような状態を不安定と呼ぶ。不安定な状態では、動作毎のビットの再現性がないため、生成されたビットを情報として使うことができない。つまり、PUFとして使用可能な情報量が減ることを意味する。
 先の図1において、グリッチが多く発生(3段目の論理回路131(3)の出力、あるいは4段目の論理回路131(4)の出力に相当)した方が、情報量は高くなるが、同時に、グリッチが多く発生する状態は、不安定である。従って、論理回路Aの段数を増やしてグリッチを増やすと、初めはPUFとして使用可能な情報量が増加するが、どこかの時点で減少に転じる。それが2段目と3段目の境界である。このことから、グリッチの数と安定性の両立を考慮すると、図1に示した例では、2段目の論理回路131(2)の出力が、PUFとしての利用に最適と言える。
 また、3段目の論理回路131(3)の出力は、経年劣化後にPUFとして最適となる可能性がある。つまり、現時点ではグリッチが多くて不安定であるが、経年劣化によってグリッチが出にくくなった際には、この3段目の論理回路131(3)の出力が、PUFとして最適になり得る。
 さらに、4段目の論理回路131(4)の出力は、PUFとしてではなく、乱数発生器としての利用が可能である。すなわち、4段目の論理回路131(4)の出力は、グリッチが非常に多くて不安定であるため、図2に示したように、毎回の出力が安定しない。従って、この4段目の論理回路131(4)の出力は、PUFとしては使えないが、逆に、乱数として使えるようになるのである。
 以上の原理を踏まえ、本実施の形態1におけるデバイス固有情報生成装置の内部構成について、いくつかの具体例を図示しながら、次に説明する。図3は、本発明の実施の形態1におけるデバイス固有情報生成装置の第1の構成例を示す図である。図3に示したデバイス固有情報生成装置に相当するグリッチPUF301は、ビット生成部310と性能評価・制御部350とを備えて構成されている。
 ここで、ビット生成部310は、ビット生成を行う機能を有し、データレジスタ群320,グリッチ発生回路トップ330、およびビット変換回路340を備えている。一方、性能評価・制御部350は、ビット生成部310で生成されるビットの性能評価を行うとともに、所望の性能に近いグリッチが発生するように、ビット制御部310を制御する機能を有している。
 次に、ビット生成部310の内部構成について、詳細に説明する。ビット生成部310内のデータレジスタ群320は、グリッチ発生回路トップ330に入力されるデータを保持するレジスタ群である。
 そして、グリッチ発生回路トップ330は、同じ論理回路AをN段直列に接続してなる論理回路331(1)~331(N)、およびセレクタ332を備えている。ここで、論理回路331(1)~331(N)の動作は、先の図1における4段の論理回路を有するグリッチ発生回路130と同様である。
 また、セレクタ320は、性能評価・制御部350から出力される選択信号に基づいて、論理回路331(1)~331(N)のいずれの段の出力を選択してビット変換回路340に与えるかを選択切換する。このような構成を備えることで、グリッチ発生回路トップ330は、グリッチの発生数を段階的に増加させる構成を備えるとともに、性能評価・制御部350から出力される選択信号により、N個のグリッチ信号の中から、いずれか1つを選択することを可能としている。
 なお、論理回路Aに関しては、先の図1で説明したように、線形回路であっても、非線形回路であってもよい。設計方針の一例としては、実装サイズを抑える目的のために、単独では単純で小さな論理回路を用い、その段数Nを増やすことで、論理の複雑度を増していく構成が挙げられる。
 次に、図4は、本発明の実施の形態1におけるデバイス固有情報生成装置の第2の構成例を示す図である。図4に示したデバイス固有情報生成装置に相当するグリッチPUF401は、ビット生成部410と性能評価・制御部450とを備えて構成されている。また、ビット生成部410は、データレジスタ群420,グリッチ発生回路トップ430、およびビット変換回路440を備えている。
 図4に示した第2の構成例と、先の図3で示した第1の構成例とを比較すると、基本的な構成は同じであるが、グリッチ発生回路トップの内部構成が異なっている。そこで、この相違点を中心に、以下に説明する。先の図3で示した第1の構成例におけるグリッチ発生回路トップ330は、論理回路AをN段接続し、その各段からの出力を選択することで、合計N個のグリッチ信号を生成していた。
 一方、図4に示した第2の構成例におけるグリッチ発生回路トップ430は、全く別々のN個のグリッチ発生回路431(1)~431(N)、およびセレクタ432を備えている。すなわち、グリッチ発生回路トップ430は、全く別々のグリッチ発生回路をN個実装することで、N個のグリッチ信号を生成している。
 この図4の構成におけるグリッチ発生回路431(1)~431(N)の例としては、暗号アルゴリズムのS-boxが挙げられる。DES、AES、MISTY、Camelliaといった、様々な暗号アルゴリズムのS-boxを利用することで、異なるグリッチ発生回路を実装することが可能である。
 次に、図3における性能評価・制御部350、および図4における性能評価・制御部450について、説明する。両者の機能は同一であり、ここでは、図3を用いて、性能評価・制御部350の機能について、具体的に説明する。
 性能評価・制御部350は、セレクタ332を制御し、N個のグリッチ信号を1個ずつ選択する。これにより、ビット変換回路340は、各段に対応するグリッチ信号をビットに変換することで、各段に対応するビットを生成できる。ここで、性能評価・制御部350は、ある段に対するビット生成を繰り返し(例えば100回)行わせるようにセレクタ332を制御し、その際に、ビット変換回路340の出力として、初回に得られた値と、2回目以降に得られた値とを比較することで、エラーレートの評価を行うことができる。
 図5は、本発明の実施の形態1における性能評価・制御部に含まれるエラーレート評価回路の構成例を示す図である。エラーレート評価回路560は、初回のビット値を保持するレジスタ561、初回のビット値と2回目以降のビット値とを比較する比較器562、およびその比較結果が不一致だった回数を数えて保持するレジスタ563を備えている。
 比較器562は、比較結果が不一致であった場合には、レジスタ563のイネーブル信号を生成する。そして、レジスタ563は、イネーブル信号に応じてレジスタの値を1増やすことで、不一致回数を数えることができる。例えば、100回の比較を行った後のレジスタ563の値が10であれば、エラーレート評価回路560は、エラーレートが10%であると判定する。
 このように、エラーレートは、同一のデバイス内でのビット生成を、例えば100回繰り返し、その100個のビット値を用いて評価することができる。一方、情報量を評価するためには、複数の、例えば100個の異なるデバイスに対して生成された100個のビット値が必要である。したがって、同一のデバイス内に、疑似的に複数デバイスが存在する状況を作る必要がある。
 図6は、本発明の実施の形態1における情報量を評価するためのデバイス固有情報生成装置の構成例、および性能評価・制御部に含まれる情報量評価回路の構成例を示す図である。図6(a)に示したデバイス固有情報生成装置に相当するグリッチPUF601は、データレジスタ群620、M個のグリッチ発生回路トップ630(1)~630(M)、セレクタ632、ビット変換回路640、および性能評価・制御部650を備えて構成されている。
 ここで、データレジスタ群620、セレクタ632、ビット変換回路640、および性能評価・制御部650のそれぞれは、先の図3におけるデータレジスタ群320、セレクタ332、ビット変換回路340、および性能評価・制御部350と同一の機能を有するものである。
 また、M個のグリッチ発生回路トップ630(1)~630(M)は、先の図3におけるグリッチ発生回路トップ330、あるいは先の図4におけるグリッチ発生回路トップ430に相当するグリッチ発生回路トップ(すなわち、N個のグリッチ信号を生成するために、グリッチ発生回路をN個有するもの)を、同一のレイアウトでM個、デバイス上に実装したものである。
 そして、性能評価・制御部650は、セレクタ632を制御することで、M個のグリッチ発生回路トップ630(1)~630(M)の中のいずれか1つの出力を選択可能としている。これにより、グリッチPUF601は、疑似的にM個のデバイスに対するグリッチPUFを構成し、疑似的にM個のデバイスに対するビットを生成している。さらに、グリッチPUF601は、擬似的に生成したM個のビット値に対する統計処理を性能評価・制御部650で行うことにより、情報量を評価することが可能となる。
 あるビットが持つ情報量は、例えば、シャノンのエントロピーによって測られる。シャノンのエントロピーは、ビットが0となる確率がp(1となる確率が1-p)のとき、
  -p×log2(p)-(1-p)×log2(1-p)         (1)
と定義される。なお、log2は、2を底とする対数関数である。
 対数関数を回路として実現すると、実装サイズが大きくなるため、pの値のみから情報量に関する評価を行うことが望ましい。ここで、上式(1)は、p=0.5で最大値を取る左右対称の凸関数であるため、情報量のおおよその大小は、pの値から判定できる。そこで、図6(b)を用いて、性能評価・制御部650に含まれる情報量評価回路670の機能について説明する。
 図6(b)に示した情報量評価回路670は、比較器671、および2つのレジスタ672、673を備えて構成されている。比較器671は、ビット変換回路640で生成されたビット値が0であるか否かを判定し、その結果からレジスタ672およびレジスタ673のイネーブル信号を生成する。
 2つのレジスタ672、673のイネーブル信号は、互いの反転となっており、レジスタ672は、ビット値が0であるときに値が増加するカウンタとして機能し、レジスタ673は、ビット値が1であるときに値が増加するカウンタとして機能する。上述した、グリッチPUF601で生成されるM個のビット値に対し、性能評価・制御部650として、この情報量評価回路670を用いることで、M個中の0と1の個数を数えることが可能となり、その結果、情報量の評価が可能となる。
 この回路は、また、米国のNIST SP800-22が定める乱数検定の、ビットの0/1等頻度性評価の目的にも使用可能である。
 次に、ここまでで説明したビット生成部、および、性能評価・制御部を、CPUやメモリも含むシステムとして構成する例について説明する。図7は、本発明の実施の形態1におけるデバイス固有情報生成装置を含むシステム構成例を示す図である。図7に示したデバイス固有情報生成装置に相当するグリッチPUF701は、ビット生成部710と性能評価・制御部750とを備えて構成されている。
 ビット生成部710は、データレジスタ群720、M個のグリッチ発生回路トップ730(1)~730(M)、セレクタ732、およびビット変換回路740を備えており、先の図6(a)と同様に、同一のレイアウトでM個、デバイス上に実装されたグリッチ発生回路トップ730(1)~730(M)を有している。そして、ビット生成部710で生成されたビット列は、性能評価・制御部750に入力される。
 性能評価・制御部750は、誤り訂正回路751、OWHF回路752、比較・判定回路753、性能評価回路754、および制御回路755を備えている。誤り訂正回路751は、性能評価・制御部750に入力されたビット列が含む誤りを訂正するための回路である。OWHF回路752は、誤り訂正後のビット列のハッシュ値を取る回路である。
 比較・判定回路753は、生成したハッシュ値を以前生成したハッシュ値と比較する回路である。性能評価回路754は、性能評価・制御部750に入力されたビット列の性能を評価する回路である。さらに、制御回路755は、比較・判定回路753による判定結果、および性能評価回路754による評価結果に基づいて、ビット生成部710を制御する回路である。
 さらに、図7に示すグリッチPUF701は、システムバス780を介して、CPU781、メモリ782、I/O783と接続されている。
 次に、フローチャートを用いて、図7に示した構成を備えるグリッチPUF701の動作について、詳細に説明する。図8は、本発明の実施の形態1における図7に示すグリッチPUF701の初期設定のフローチャートである。また、図9は、本発明の実施の形態1における図7に示すグリッチPUF701の再設定のフローチャートである。
 まず始めに、図8を用いて、初期設定の一連処理について、それぞれのステップ毎に説明する。
 ステップS801:制御回路755が、ビットb(1、1、1)~ビットb(N、M、2n-1)を得るステップである。ここで、b(i、j、k)の1つ目の添え字iは、グリッチ発生回路の番号である(i=1、…、N)。すなわち、先の図3においては、論理回路331(1)~331(N)のいずれかを選択する番号に相当し、先の図4においては、グリッチ発生回路431(1)~431(N)のいずれかを選択する番号に相当する。
 また、2つ目の添え字jは、同一レイアウトでM個実装したグリッチ発生回路トップ730(1)~730(M)のいずれかを選択する番号に相当する(j=1、…、M)。さらに、3つ目の添え字kは、グリッチ発生回路への入力変化パターンを表す番号であり、入力信号をnビットとすると、2n-1ビットのビット列に相当する。
 ステップS802:性能評価回路754が、ビットb(1、1、1)、…、b(N、M、2n-1)の性能を評価するステップである。性能評価回路754は、その評価結果から、所望の性能を満たす添え字i(i=1、…、N)を選び、添え字iをメモリ782に保持する。
 なお、添え字jに関しては、情報量を評価するためにM個のデバイスを疑似的に実装したものを表す添え字であるので、評価後、実際に使用するのは、この中の1つでよい。以降、j=1を使用するとして説明する。
 ステップS803:誤り訂正回路751が、j=1とした場合の、所望の性能を満たす添え字iに対応するビット列w(i)=(b(i、1、1)、…、b(i、1、2n-1))に対し、誤り訂正に必要なシンドロームsを生成し、メモリ782に保持するステップである。
 ステップS804:OWHF回路752が、ビット列w(i)のハッシュ値hを計算し、メモリ782に保持するステップである。
 以上が、初期設定のフローチャートである。このような一連処理により、性能評価・制御部750は、所望の性能を満たす添え字i、ビット列w(i)の誤り訂正に必要なシンドロームs、およびビット列w(i)のハッシュ値hを、初期設定することができる。
 次に、図9を用いて、再設定の一連処理について、それぞれのステップ毎に説明する。
 ステップS901:制御回路755が、カウンタcntの値を0で初期化するステップである。このカウンタcntは、ステップS903の誤り訂正が失敗した回数を表している。
 ステップS902:制御回路755が、ビット生成部710を制御することで、先の初期設定で決定した添え字iに対応するビット列w(i)’を生成するステップである。制御回路755は、添え字iをメモリ782から読み出す。そして、制御回路755は、グリッチ発生回路iを選択するための選択信号を生成し、この選択信号は、1台目(j=1に相当)のグリッチ発生回路トップ730(1)内のセレクタに入力される。これにより、ビット列w(i)’の生成が可能となる。なお、ビット列w(i)’は、通常、誤りを含むため、初期設定で生成したw(i)とは異なる値となり、「’」を付している。
 ステップS903:誤り訂正回路751が、ビット列w(i)’に対して誤り訂正処理を行い、ビット列w(i)’’を得るステップである。誤り訂正回路751は、初期設定で生成した誤り訂正用のシンドロームsをメモリ782から読み出し、ビット列w(i)’に対して誤り訂正処理を行う。誤り訂正後のビット列w(i)’’は、初期設定で生成したビット列w(i)と一致することが期待される。
 ステップS904:OWHF回路752が、ビット列w(i)’’のハッシュ値h’’を計算するステップである。
 ステップS905:比較・判定回路753が、ハッシュ値h’’を、初期設定で生成したハッシュ値hと比較し、比較結果により処理を分岐させるステップである。h=h’’となった場合は、ステップS903における誤り訂正が成功し、初期設定で生成したビット列w(i)を再生成できたことを意味する。逆に、h≠h’’となった場合は、ステップS903における誤り訂正に失敗し、初期設定で生成したビット列w(i)の再生成ができなかったことを意味する。
 ステップS906:制御回路755が、ステップS905でh≠h’’となった場合に、誤り訂正の失敗回数を表すカウンタcntの値を1増やし、次のステップS907に進むステップである。
 ステップS907:カウンタcntの値が、ある所定のしきい値Uを超えているか否かを、制御回路755が判定するステップである。カウンタcntがUを超えていない場合、ステップS902に戻り、制御回路755は、再びビット列生成と誤り訂正を行う。
 ステップS908:ステップS907において、cnt>Uとなった場合、制御回路755が、失敗通知を行うステップである。これは、制御回路755が、これ以上ビット列生成と誤り訂正を続けても、ビット列w(i)を再生成できないと判定したことを意味する。
 ステップS909:ステップS905において、ハッシュ値がh=h’’となり、ビット列w(i)の再生成に成功したとき、カウンタcntの値が、あるしきい値Vを超えているか否かを制御回路755が判定するステップである。制御回路755は、cntがVを超えていない場合には、再設定処理を終了する。なお、UとVの関係は、U>Vである。
 ステップS910:ステップS909において、cnt>Vとなった場合、性能評価・制御部750が、初期設定の処理を行って新たな添え字i’を選択するステップである。これは、ビット列w(i)の再生成に何度も失敗したため、性能評価・制御部750が、回路特性が大幅に変わったと判断し、ビット列w(i)の再生成ができなくなる前に、初期設定をやり直すことで、新たなi’を選び直したことを意味する。
 以上が、再設定のフローチャートである。このような一連処理により、性能評価・制御部750は、デバイス製造の影響、あるいはデバイスの経年劣化の影響を受けずに、所望の性能(情報量やエラーレート)を満たすグリッチを出力することを保証でき、必要に応じて初期設定をやり直すことができる。
 以上のように、実施の形態1によれば、グリッチ発生回路を複数搭載し、それらの情報量評価が可能である。従って、複数のグリッチ発生回路の中から使用するグリッチ発生回路を選択可能とすることで、所望の性能を満たす可能性を高めることができる。さらに、性能評価・制御部を備えることで、実際に、所望の性能を満たしているグリッチ発生回路の選択が可能となる。
 さらに、これらの特徴を持つことにより、デバイス製造時やデバイスの経年劣化後に、グリッチPUFが所望の情報量を満たすことを保証できる。この結果、グリッチPUFを利用した製品機器の機能が正常に動作することを保証する、あるいは機能の保証期間をより長くすることなどが可能となる。
 さらに、複数のグリッチ発生回路を搭載し、特に、グリッチが発生しやすく毎回のビット生成の再現性が低いグリッチ発生回路を搭載し、生成したビットの0/1等頻度性評価を行えることから、グリッチPUFの乱数発生器としての使用も可能となる。
 実施の形態2.
 先の実施の形態1では、最適なグリッチ発生回路の選択を行う初期設定、およびグリッチ発生回路の特性が変化したときの再設定に関して説明した。これに対して、本実施の形態2では、グリッチ発生回路を用いた具体的な応用例について説明する。
 グリッチPUFによるビット列生成を用いて、暗号アルゴリズムで使用するための鍵生成を行うことができる。図10は、本発明の実施の形態2における鍵生成を行う場合の性能評価・制御部の構成図である。本実施の形態2における性能評価・制御部1050は、誤り訂正回路1051、OWHF回路1052、比較・判定回路1053、性能評価回路1054、制御回路1055、およびHF回路1056を備えている。また、本実施の形態2における図10の構成では、暗号回路1090が含まれている。
 先の実施の形態1における図7の構成と比較すると、本実施の形態2における図10の性能評価・制御部1050は、ビット列をランダム化することを目的としたハッシュ関数(HF回路1056)をさらに備えている点が異なっている。このHF回路1056の働きにより、グリッチPUF1001で生成したビット列を、暗号アルゴリズムの鍵として使用することが可能となる。
 次に、フローチャートを用いて、図10に示した構成を備えるグリッチPUF1001の動作について、詳細に説明する。図11は、本発明の実施の形態2における図10に示すグリッチPUF1001の初期設定のフローチャートである。また、図12は、本発明の実施の形態2における図10に示すグリッチPUF1001の再設定のフローチャートである。
 まず始めに、図11を用いて、初期設定の一連処理について、それぞれのステップ毎に説明する。なお、この図11のフローチャートは、先の実施の形態1における図8のフローチャートに、鍵生成に関する処理を追加したものとなっている。具体的には、ステップS1102~S1105は、ステップS801~S804と同一であり、ステップS1101、S1105~S1108が、鍵生成に関する処理として新たに追加されたステップに相当する。
 ステップS1101:暗号回路1090が、I/O1082からマスター鍵mkを入力し、内部のレジスタに保持するステップである。
 ステップS1102:制御回路1055が、ビットb(1、1、1)~ビットb(N、M、2n-1)を得るステップである。
 ステップS1103:性能評価回路1054が、ビットb(1、1、1)、…、b(N、M、2n-1)の性能を評価するステップである。性能評価回路1054は、その評価結果から、所望の性能を満たす添え字i(i=1、…、N)を選び、添え字iをメモリ1082に保持する。
 ステップS1104:誤り訂正回路1051が、j=1とした場合の、所望の性能を満たす添え字iに対応するビット列w(i)=(b(i、1、1)、…、b(i、1、2n-1))に対し、誤り訂正に必要なシンドロームsを生成し、メモリに保持するステップである。
 ステップS1105:OWHF回路1052が、ビット列w(i)のハッシュ値hを計算し、メモリ1082に保持するステップである。
 ステップS1106:HF回路1056が、ビット列w(i)のハッシュ値kを計算し、暗号回路1090の内部レジスタに保持するステップである。このkが、グリッチPUF1001を用いて生成した暗号鍵に相当する。
 ステップS1107:暗号回路1090が、ステップS1106で生成した暗号鍵kを用いてマスター鍵mkを暗号化し、暗号化データxを得るステップである。暗号回路1090は、暗号化データxをメモリ1082に保持する。
 ステップS1108:暗号回路1090が、内部のレジスタに保持していたマスター鍵mkと暗号鍵kを消去するステップである。
 上述した図11におけるフローチャートには、2つの暗号鍵mkとkが存在するが、マスター鍵mkが実際にデータを暗号化するための鍵であり、グリッチPUFで生成した暗号鍵kは、マスター鍵mkを暗号化するための鍵である。ここで、暗号鍵kをデータの暗号化に使わない理由は、グリッチPUF1001の出力は、デバイスの経年劣化によって変化し、初期設定と同じ暗号鍵kを再生成することが、いずれ不可能になるためである。
 以上が、初期設定のフローチャートである。このような一連処理により、性能評価・制御部1050は、所望の性能を満たす添え字i、ビット列w(i)の誤り訂正に必要なシンドロームs、およびビット列w(i)のハッシュ値hを、初期設定することができる。さらに、性能評価・制御部1050は、マスター鍵mkの入手、暗号鍵kの生成、および暗号化データxの生成を行うことができる。
 次に、図12を用いて、再設定の一連処理について、それぞれのステップ毎に説明する。なお、この図12のフローチャートは、先の実施の形態1における図9のフローチャートに、鍵管理に関する処理を追加したものとなっている。具体的には、ステップS1201~S1208は、ステップS901~S908と同一であり、ステップS1211は、ステップS909と同一であり、ステップS1209、S1210、S1212が、鍵管理に関する処理として新たに追加されたステップに相当する。
 ステップS1201:制御回路1055が、カウンタcntの値を0で初期化するステップである。
 ステップS1202:制御回路1055が、ビット生成部1010を制御することで、先の初期設定で決定した添え字iに対応するビット列w(i)’を生成するステップである。
 ステップS1203:誤り訂正回路1051が、ビット列w(i)’に対して誤り訂正処理を行い、ビット列w(i)’’を得るステップである。
 ステップS1204:OWHF回路1052が、ビット列w(i)’’のハッシュ値h’’を計算するステップである。
 ステップS1205:比較・判定回路1053が、ハッシュ値h’’を、初期設定で生成したハッシュ値hと比較し、比較結果により処理を分岐させるステップである。
 ステップS1206:制御回路1055が、ステップS1205でh≠h’’となった場合に、誤り訂正の失敗回数を表すカウンタcntの値を1増やし、次のステップS1207に進むステップである。
 ステップS1207:カウンタcntの値が、ある所定のしきい値Uを超えているか否かを、制御回路1055が判定するステップである。カウンタcntがUを超えていない場合、ステップS1202に戻り、制御回路1055は、再びビット列生成と誤り訂正を行う。
 ステップS1208:ステップS1207において、cnt>Uとなった場合、制御回路1055が、失敗通知を行うステップである。
 ステップS1209:HF回路1056が、ビット列w(i)’’のハッシュ値kを計算するステップである。S1205において、h=h’’であったことから、w(i)’’=w(i)であるので、ここで求めたハッシュ値kは、w(i)のハッシュ値kと一致する。これは、初期設定で生成した鍵の再生成に成功したことを意味する。OWHF回路1052は、計算したハッシュ値kを、再生成した鍵kとして、暗号回路1090の内部のレジスタに保持する。
 ステップS1210:暗号回路1090が、再生成した鍵kを用いてデータxを復号し、マスター鍵mkを得るステップである。暗号回路1090は、マスター鍵mkを内部のレジスタに保持する。
 ステップS1211:カウンタcntの値が、あるしきい値Vを超えているか否かを、制御回路1055が判定するステップである。制御回路1055は、cntがVを超えていない場合には、S1212に進む。
 ステップS1212:暗号回路1090が、マスター鍵mkを用いて暗号処理を行うステップである。
 ステップS1213:ステップS1211において、cnt>Vとなった場合、性能評価・制御部1050が、初期設定の処理を行って新たな添え字i’の選択、および、それに対応する新たな鍵k’によるmkの暗号化を行うステップである。これは、ビット列w(i)の再生成に何度も失敗したため、性能評価・制御部1050が、回路特性が大幅に変わったと判断し、ビット列w(i)の再生成ができなくなる(従って、kが再生成できなくなる)前に、初期設定をやり直すことで、新たなi’を選び直したことを意味する。
 以上が、再設定のフローチャートである。このような一連処理により、性能評価・制御部1050は、デバイス製造の影響、あるいはデバイスの経年劣化の影響を受けずに、所望の性能(情報量やエラーレート)を満たすグリッチを出力することを保証でき、必要に応じて初期設定をやり直すことができる。さらに、鍵管理に関する処理に応用することができる。
 以上のように、実施の形態2によれば、先の実施の形態1の効果を有するグリッチPUFによるビット列生成を用いて、暗号アルゴリズムで使用するための鍵生成を行うことができ、暗号処理への応用が可能となる。

Claims (8)

  1.  組み合わせ回路の出力信号に発生するグリッチを出力するグリッチ発生回路と、
     前記グリッチの形状を情報ビットに変換するビット変換回路と
     を有するビット生成部を備えることにより、半導体デバイス内で前記半導体デバイスの固有情報を生成するデバイス固有情報生成装置であって、
     前記グリッチ発生回路は、複数の組み合わせ回路が搭載されることで、複数の異なるグリッチを出力するグリッチ発生回路トップとして構成され、
     前記ビット生成部は、外部から選択信号を受信することで、前記グリッチ発生回路から出力される前記複数の異なるグリッチの中から1つのグリッチを選択して前記ビット変換回路に対して出力するセレクタをさらに有し、
     前記複数の異なるグリッチの中から1つを順次選択するように前記選択信号を出力することで、前記複数の異なるグリッチのそれぞれに対応して前記ビット変換回路で変換されたそれぞれのビット情報を取得し、前記それぞれのビット情報に基づいて、所望の性能を満たしているグリッチを特定し、特定したグリッチを前記半導体デバイスの前記固有情報として出力するように、前記選択信号を特定する性能評価・制御部
     をさらに備えるデバイス固有情報生成装置。
  2.  請求項1に記載のデバイス固有情報生成装置において、
     前記グリッチ発生回路を構成する前記グリッチ発生回路トップは、同一の論理回路を直列に接続することで多段構成され、各段の出力信号を前記複数の異なるグリッチとして出力する
     デバイス固有情報生成装置。
  3.  請求項1に記載のデバイス固有情報生成装置において、
     前記グリッチ発生回路を構成する前記グリッチ発生回路トップは、回路構成が異なる複数のグリッジ発生回路で構成され、前記複数のグリッジ発生回路のそれぞれの出力信号を前記複数の異なるグリッチとして出力する
     デバイス固有情報生成装置。
  4.  請求項1ないし3のいずれか1項に記載のデバイス固有情報生成装置において、
     前記性能評価・制御部は、前記複数の異なるグリッチの中から1つを順次選択するように前記選択信号を出力することで、前記複数の異なるグリッチのそれぞれに対応して前記ビット変換回路で変換されたそれぞれのビット情報を取得する操作を繰り返し実行し、繰り返し回数に対する前記ビット情報の一致度から、前記複数の異なるグリッチのそれぞれのエラーレートの評価を行うエレーレート評価回路を含む
     デバイス固有情報生成装置。
  5.  請求項1ないし4のいずれか1項に記載のデバイス固有情報生成装置において、
     前記グリッチ発生回路は、1つの前記半導体デバイス上に、前記グリッチ発生回路トップを複数個搭載して構成され、
     前記ビット生成部は、外部から第2の選択信号を受信することで、複数のグリッチ発生回路トップのそれぞれの出力の中から1つを選択して前記ビット変換回路に対して出力する第2のセレクタをさらに有し、
     前記性能評価・制御部は、前記複数のグリッチ発生回路トップのそれぞれの出力の中から1つを順次選択するように前記第2の選択信号を出力するとともに、それぞれのグリッチ発生回路トップに対するnビット(nは2以上の整数)の入力信号を順次変化させることで、前記複数のグリッチ発生回路トップのそれぞれに対応して前記ビット変換回路で変換されたそれぞれのビット情報を2n-1ビットのビット列として取得する操作を実行し、ビット列に含まれるビット値が1のビット数をカウントすることで前記複数のグリッチ発生回路トップのそれぞれの情報量評価を行う情報量評価回路を含む
     デバイス固有情報生成装置。
  6.  請求項4または5に記載のデバイス固有情報生成装置において、
     前記性能評価・制御部は、
      前記ビット生成部内の前記ビット変換回路を介して取り込んだビット列に含まれる誤りを訂正するための誤り訂正回路と、
      前記誤り訂正回路による誤り訂正後のビット列のハッシュ値を生成するOWHF回路と、
      前記OWHF回路で生成された前記ハッシュ値を、それ以前に生成したハッシュ値と比較する比較・判定回路と、
      前記ビット列の性能として、前記エラーレート評価あるいは前記情報量評価を行う性能評価回路と、
      前記比較・判定回路による判定結果、および性能評価回路による評価結果に基づいて、前記ビット生成部から出力される前記情報ビットが、所望の性能を満たしているグリッチから生成されるように制御する制御回路と
     を有するデバイス固有情報生成装置。
  7.  請求項6に記載のデバイス固有情報生成装置において、
     前記性能評価・制御部は、
      前記誤り訂正回路による誤り訂正後のビット列をランダム化してハッシュ値を求めることで、暗号鍵を生成するHF回路
     をさらに有するデバイス固有情報生成装置。
  8.  組み合わせ回路の出力信号に発生するグリッチを出力するグリッチ発生回路と、
     前記グリッチの形状を情報ビットに変換するビット変換回路と
     を有するデバイス固有情報生成装置に適用され、半導体デバイス内で前記半導体デバイスの固有情報を生成するためのデバイス固有情報生成方法であって、
     前記グリッチ発生回路に搭載された複数の組み合わせ回路を介して出力される前記複数の異なるグリッチの中から1つのグリッチを選択して前記ビット変換回路に対して出力させる選択信号を出力するステップと、
     前記複数の異なるグリッチの中から1つを順次選択するように前記選択信号を出力することで、前記複数の異なるグリッチのそれぞれに対応して前記ビット変換回路で変換されたそれぞれのビット情報を取得し、前記それぞれのビット情報に基づいて、所望の性能を満たしているグリッチを特定するステップと、
     特定したグリッチを前記半導体デバイスの前記固有情報として出力するように、前記選択信号を特定するステップと
     を備えるデバイス固有情報生成方法。
PCT/JP2011/079820 2011-12-22 2011-12-22 デバイス固有情報生成装置およびデバイス固有情報生成方法 WO2013094056A1 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201180074942.9A CN103946909B (zh) 2011-12-22 2011-12-22 器件固有信息生成装置以及器件固有信息生成方法
PCT/JP2011/079820 WO2013094056A1 (ja) 2011-12-22 2011-12-22 デバイス固有情報生成装置およびデバイス固有情報生成方法
US14/361,543 US9361482B2 (en) 2011-12-22 2011-12-22 Device specific information generation device and device specific generation method
KR1020147016455A KR101576408B1 (ko) 2011-12-22 2011-12-22 디바이스 고유 정보 생성 장치 및 디바이스 고유 정보 생성 방법
JP2013550030A JP5646091B2 (ja) 2011-12-22 2011-12-22 デバイス固有情報生成装置およびデバイス固有情報生成方法
DE112011106024.6T DE112011106024B4 (de) 2011-12-22 2011-12-22 Erzeugungsvorrichtung für vorrichtungsspezifische Informationen und Erzeugungsverfahren für vorrichtungsspezifische Informationen
TW101119285A TWI505641B (zh) 2011-12-22 2012-05-30 半導體裝置固有資訊產生裝置及半導體裝置固有資訊產生方法
IN3264CHN2014 IN2014CN03264A (ja) 2011-12-22 2014-04-30

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/079820 WO2013094056A1 (ja) 2011-12-22 2011-12-22 デバイス固有情報生成装置およびデバイス固有情報生成方法

Publications (1)

Publication Number Publication Date
WO2013094056A1 true WO2013094056A1 (ja) 2013-06-27

Family

ID=48667980

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/079820 WO2013094056A1 (ja) 2011-12-22 2011-12-22 デバイス固有情報生成装置およびデバイス固有情報生成方法

Country Status (8)

Country Link
US (1) US9361482B2 (ja)
JP (1) JP5646091B2 (ja)
KR (1) KR101576408B1 (ja)
CN (1) CN103946909B (ja)
DE (1) DE112011106024B4 (ja)
IN (1) IN2014CN03264A (ja)
TW (1) TWI505641B (ja)
WO (1) WO2013094056A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015194877A (ja) * 2014-03-31 2015-11-05 富士通株式会社 転送装置、決定方法、及びデータ処理装置
JP2016046719A (ja) * 2014-08-25 2016-04-04 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
JP2016091177A (ja) * 2014-10-31 2016-05-23 株式会社アドバンテスト 認証端末
JP2018093550A (ja) * 2018-03-16 2018-06-14 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2508052A (en) * 2012-11-18 2014-05-21 Nds Ltd Glitch resistant device
KR102201642B1 (ko) 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
US9501664B1 (en) * 2014-12-15 2016-11-22 Sandia Corporation Method, apparatus and system to compensate for drift by physically unclonable function circuitry
US9703989B1 (en) * 2014-12-23 2017-07-11 Altera Corporation Secure physically unclonable function (PUF) error correction
US20170132434A1 (en) * 2015-11-06 2017-05-11 Mentor Graphics Corporation Measure variation tolerant physical unclonable function device
US10579339B2 (en) * 2017-04-05 2020-03-03 Intel Corporation Random number generator that includes physically unclonable circuits
US20210119812A1 (en) * 2020-12-23 2021-04-22 Intel Corporation Time-based multi-dimensional key recreation mechanism using puf technologies
CN113268745B (zh) * 2021-04-12 2022-06-21 温州大学 基于Camellia加密算法的软PUF

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008056612A1 (fr) * 2006-11-06 2008-05-15 Panasonic Corporation Appareil de sécurité d'informations
JP2009508430A (ja) * 2005-09-14 2009-02-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 品目の真正性を判定するデバイス、システム及び方法
WO2011086688A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 ビット列生成装置及びビット列生成方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1331551A1 (en) * 2000-10-24 2003-07-30 HMI CO., Ltd Random number generator
US7840803B2 (en) 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
JP3732188B2 (ja) * 2003-03-31 2006-01-05 Necマイクロシステム株式会社 擬似乱数発生回路
US7233212B2 (en) * 2005-03-31 2007-06-19 International Business Machines Corporation Oscillator array with row and column control
US20090217045A1 (en) * 2005-11-29 2009-08-27 Koninklijke Philps Electronics, N.V. Physical secret sharing and proofs of vicinity using pufs
WO2009156904A1 (en) 2008-06-27 2009-12-30 Koninklijke Philips Electronics N.V. Device, system and method for verifying the authenticity integrity and/or physical condition of an item

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009508430A (ja) * 2005-09-14 2009-02-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 品目の真正性を判定するデバイス、システム及び方法
WO2008056612A1 (fr) * 2006-11-06 2008-05-15 Panasonic Corporation Appareil de sécurité d'informations
WO2011086688A1 (ja) * 2010-01-15 2011-07-21 三菱電機株式会社 ビット列生成装置及びビット列生成方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015194877A (ja) * 2014-03-31 2015-11-05 富士通株式会社 転送装置、決定方法、及びデータ処理装置
JP2016046719A (ja) * 2014-08-25 2016-04-04 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
US10447487B2 (en) 2014-08-25 2019-10-15 Kabushiki Kaisha Toshiba Data generating device, communication device, mobile object, data generating method, and computer program product
JP2016091177A (ja) * 2014-10-31 2016-05-23 株式会社アドバンテスト 認証端末
JP2018093550A (ja) * 2018-03-16 2018-06-14 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム

Also Published As

Publication number Publication date
US20140325241A1 (en) 2014-10-30
JP5646091B2 (ja) 2014-12-24
CN103946909B (zh) 2016-05-11
IN2014CN03264A (ja) 2015-07-03
JPWO2013094056A1 (ja) 2015-04-27
KR101576408B1 (ko) 2015-12-09
DE112011106024B4 (de) 2023-07-06
TWI505641B (zh) 2015-10-21
DE112011106024T5 (de) 2014-09-18
US9361482B2 (en) 2016-06-07
TW201328190A (zh) 2013-07-01
KR20140093276A (ko) 2014-07-25
CN103946909A (zh) 2014-07-23

Similar Documents

Publication Publication Date Title
JP5646091B2 (ja) デバイス固有情報生成装置およびデバイス固有情報生成方法
KR101860461B1 (ko) 암호화 방법 및 암호화 장치
Rahim Combination of the Blowfish and Lempel-Ziv-Welch algorithms for text compression
Hiller et al. Cherry-picking reliable PUF bits with differential sequence coding
KR101987141B1 (ko) 난수 발생기
CN109274485B (zh) 一种数据加密方法、数据认证方法及相关设备和系统
JPH0863097A (ja) データを暗号化するための対称暗号化方法およびシステム
JP6305642B2 (ja) メッセージ認証子生成装置、メッセージ認証子生成方法及びメッセージ認証子生成プログラム
US10903978B2 (en) Method of encryption with dynamic diffusion and confusion layers
JP2009528559A (ja) Sms4暗号アルゴリズムを実現する暗号化および復号化処理方法とそのシステム
JP2007199156A (ja) 暗号処理装置、暗号処理装置製造装置、および方法、並びにコンピュータ・プログラム
JP6187462B2 (ja) ユニバーサルハッシュ関数演算装置、方法およびプログラム
JPWO2010024003A1 (ja) 倍ブロック長ブロック暗号化装置、復号装置、暗号化方法及び復号方法、及びそのプログラム
CN107493164B (zh) 一种基于混沌系统的des加密方法和系统
Rudnytskyi et al. Cryptographic encoding in modern symmetric and asymmetric encryption
Cardell et al. Recovering the MSS-sequence via CA
WO2012060685A1 (en) A method for linear transformation in substitution-permutation network symmetric-key block cipher
CN115801227B (zh) 一种生成置换表的方法及装置
JP5488608B2 (ja) ブロック暗号装置、ブロック暗号化方法およびプログラム
Smart et al. Modern Stream Ciphers
KR20030001888A (ko) 키를 사용하지 않고 블록 정보만을 이용하는 암호알고리즘 설계 방법
Kumar et al. Cryptompress: A Symmetric Cryptography algorithm to deny Bruteforce Attack
Fúster-Sabater et al. A deterministic approach to balancedness and run quantification in pseudorandom pattern generators
Fúster Sabater et al. A Deterministic Approach to Pseudorandom Pattern Generators
Tao et al. One Key Cryptosystems and Latin Arrays

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180074942.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11878211

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013550030

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14361543

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20147016455

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 112011106024

Country of ref document: DE

Ref document number: 1120111060246

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11878211

Country of ref document: EP

Kind code of ref document: A1