JP2013131868A - Temperature sensor, encryption device, encryption method, and individual information generation device - Google Patents

Temperature sensor, encryption device, encryption method, and individual information generation device Download PDF

Info

Publication number
JP2013131868A
JP2013131868A JP2011279001A JP2011279001A JP2013131868A JP 2013131868 A JP2013131868 A JP 2013131868A JP 2011279001 A JP2011279001 A JP 2011279001A JP 2011279001 A JP2011279001 A JP 2011279001A JP 2013131868 A JP2013131868 A JP 2013131868A
Authority
JP
Japan
Prior art keywords
unit
output
value
circuit
encryption
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2011279001A
Other languages
Japanese (ja)
Other versions
JP5857726B2 (en
Inventor
Masaru Yamamoto
大 山本
Takao Ochiai
隆夫 落合
Masahiko Takenaka
正彦 武仲
Koichi Ito
孝一 伊藤
一男 ▲崎▼山
Kazuo Sakiyama
Mitsugi Iwamoto
貢 岩本
Kazuo Ota
和夫 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
University of Electro Communications NUC
Original Assignee
Fujitsu Ltd
University of Electro Communications NUC
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 Fujitsu Ltd, University of Electro Communications NUC filed Critical Fujitsu Ltd
Priority to JP2011279001A priority Critical patent/JP5857726B2/en
Publication of JP2013131868A publication Critical patent/JP2013131868A/en
Application granted granted Critical
Publication of JP5857726B2 publication Critical patent/JP5857726B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To detect ambient temperature by using a digital circuit and protect a fault attack that analyzes an inside key by applying stress of high temperature or low temperature to an encryption device.SOLUTION: A temperature sensor 100 comprises a metastability type PUF (Physically Unclonable Function) circuit 101, a frequency detection unit 102, a storage unit 103, and a temperature determination unit 104. The frequency detection unit 102 detects a frequency at which the metastability type PUF circuit 101 outputs a predetermined value. The storage unit 103 prestores data representing relation between ambient temperature and the frequency at which the metastability type PUF circuit 101 outputs the predetermined value. The temperature determination unit 104 determines ambient temperature on the basis of the frequency detected by the frequency detection unit 102 and the data stored in the storage unit 103. An encryption device 110 inhibits execution of encryption processing if the ambient temperature determined by the temperature determination unit 104 is out of a predetermined range.

Description

本明細書で議論される実施態様は、温度の検出技術に関する。   The embodiments discussed herein relate to temperature detection techniques.

近年、プリンタカートリッジや、電池等のバッテリー、ゲーム機のカートリッジといった製品に関して、正規品の製造メーカとは異なる製造メーカによるクローン品が多く見られるようになっている。クローン品とは、正規品の内部構造の分析や正規品の内部に存在するIC(集積回路)チップの解析等の結果を用いて製造された、正規品と同等の機能を有する製品である。これらのクローン品の中には、正規品を製造する正規メーカの知的財産等の権利を侵害するケースも多く、クローン対策技術が強く求められている。   In recent years, with regard to products such as printer cartridges, batteries such as batteries, and cartridges for game machines, many clone products from manufacturers different from those of genuine products have been seen. A clone product is a product having functions equivalent to those of a regular product manufactured using the results of analysis of the internal structure of a regular product and analysis of an IC (integrated circuit) chip present in the regular product. Among these clones, there are many cases of infringing on the intellectual property rights of authorized manufacturers that manufacture genuine products, and anti-clone technology is strongly demanded.

このようなクローン品を防止する手法として、正規品へ認証機能を付与することが行われている。この認証機能を実現する有効な手段のひとつがPUF(Physically Unclonable Function:物理的クローン作製不能機能)である。詳細は後述するが、PUFから生成される秘密情報は、顕微鏡での観察による解析では特定できない。従って、上記に挙げたようなクローン品への対策が必要な製品に対してPUFを組み込んで、PUFで秘密情報を生成することで認証機能を実現することは、クローン品への対策としての有効性が高い。   As a technique for preventing such a cloned product, an authentication function is given to a regular product. One effective means for realizing this authentication function is PUF (Physically Unclonable Function). Although details will be described later, the secret information generated from the PUF cannot be specified by analysis by observation with a microscope. Therefore, implementing an authentication function by incorporating a PUF into a product that requires countermeasures against the above-mentioned cloned products and generating secret information with the PUF is an effective countermeasure against the cloned products. High nature.

PUFは、ある同一の入力に対して、PUFが実装された電子デバイス毎に異なる出力を返す関数である。但し、デバイス毎に異なる値を出力するような関数を個別に設定する必要はなく、同一の回路(顕微鏡での解析を行っても、見た目は同一であって、その出力値が特定できない)がこの関数を実現する。つまり、PUFは、デバイス内の信号遅延や素子特性などの物理特性のわずかな違いを利用することで、その出力をデバイス毎に全く異なる値とする。従って、この出力はデバイス固有の値(「個体別情報」と称することとする)となる。   The PUF is a function that returns different outputs for each electronic device in which the PUF is mounted in response to a certain same input. However, it is not necessary to individually set functions that output different values for each device, and the same circuit (even if it is analyzed with a microscope, it looks the same and its output value cannot be specified). Realize this function. In other words, the PUF uses a slight difference in physical characteristics such as signal delay and element characteristics in the device to make its output completely different for each device. Therefore, this output is a value unique to the device (referred to as “individual information”).

理想的なPUFは、デバイス上に実装するとそのデバイスでは常に同一の個体別情報を出力する(再現性)一方、異なるデバイス上に実装されたPUF間では全く異なる個体別情報を出力する(ユニーク性)。このようなデバイスにおけるPUFの出力情報は、人における、「指紋」のような生体情報に喩えることができる。指紋は、同一人であれば年をとっても不変である(再現性)一方、別人の間では全く異なる(ユニーク性)という、理想的なPUFの出力情報と同様の性質を有している。   When an ideal PUF is mounted on a device, the device always outputs the same individual information (reproducibility), while the PUF mounted on different devices outputs completely different individual information (uniqueness). ). The output information of the PUF in such a device can be compared to human biological information such as “fingerprint”. Fingerprints have the same properties as the output information of an ideal PUF, that is, the same person does not change with age (reproducibility), but different between different people (uniqueness).

また、同一の回路構成のPUFが、このような理想的な再現性とユニーク性と兼ね備えていれば、攻撃者が回路を分解し、内部を解析したところで、クローンチップを生成することはできない。   Also, if PUFs having the same circuit configuration have such ideal reproducibility and uniqueness, a clone chip cannot be generated when an attacker disassembles the circuit and analyzes the inside.

このPUFは、識別情報(ID)の生成や暗号鍵の生成にも用いられる。従って、PUFを用いて認証機能を実現することが可能である。
多くの電子デバイス製品では、個々に固有のIDを必要とする。従来は、多くの場合において、それぞれのデバイス毎に異なる値をIDとして不揮発性メモリに書き込む作業が製造段階で行われていた。このIDの生成にPUFを用いると、セキュアにIDをICチップ内に格納しておけるだけでなく、この書き込み作業のコストを低減させることもできる。
This PUF is also used to generate identification information (ID) and an encryption key. Therefore, the authentication function can be realized using the PUF.
Many electronic device products require unique IDs individually. Conventionally, in many cases, an operation of writing a different value for each device as an ID in a nonvolatile memory has been performed in the manufacturing stage. If the PUF is used for generating the ID, not only can the ID be securely stored in the IC chip, but also the cost of the writing operation can be reduced.

また、暗号機能を含む製品はPUFを用いると安全性が向上する。具体例として、情報記録用の集積回路をカードに組み組んだスマートカードがある。また、通信の秘匿を保証するために、携帯電話に使用されるSIM(Subscriber Identification Module)カードや無線インターネット接続の端末などにも暗号機能が必須である。これらの機器での暗号化に使用する暗号鍵の生成にPUFを使用するようにすれば、暗号鍵が攻撃者に解析される危険性が大幅に低下し、安全性が向上する。   In addition, when a product including a cryptographic function uses a PUF, security is improved. As a specific example, there is a smart card in which an integrated circuit for recording information is assembled on a card. Also, in order to guarantee the confidentiality of communication, an encryption function is essential for a SIM (Subscriber Identification Module) card used for a mobile phone, a terminal connected to a wireless Internet, and the like. If a PUF is used to generate an encryption key used for encryption in these devices, the risk of the encryption key being analyzed by an attacker is greatly reduced and safety is improved.

次に、PUFの基本的な回路構成例を幾つか説明する。
なお、本明細書における以下の説明では、電位の異なる2値の論理レベルにおけるハイ・レベルを値「1」と表現し、ロー・レベルを値「0」と表現することとする。
Next, some basic circuit configuration examples of the PUF will be described.
In the following description of the present specification, a high level at two logical levels having different potentials is expressed as a value “1”, and a low level is expressed as a value “0”.

広く知られているPUFは、大きく分けて、遅延型PUFとメタスタビリティ(metastability )型PUFとの2つに分類することができる。ここでは、メタスタビリティ型PUFについて説明する。   The well-known PUFs can be broadly classified into two types: delay type PUFs and metastability type PUFs. Here, the metastability type PUF will be described.

メタスタビリティ型PUFは、デジタル回路の不定状態を利用するPUFである。メタスタビリティ型PUFに分類されるPUFの例として、バタフライ型PUF及びSRAM−PUFが知られている。   The metastability type PUF is a PUF that uses an indefinite state of a digital circuit. As examples of PUFs classified as metastability type PUFs, butterfly type PUFs and SRAM-PUFs are known.

まずSRAM−PUFについて説明する。
SRAM(Static Random Access Memory )への電力供給を開始した直後のメモリセルの初期値は、デバイスに依存した複雑な内部状態から決定されるため、ランダムな値となる。SRAM−PUFは、この初期値のばらつきを利用する。SRAM−PUFでは、メモリセル・アドレスがチャレンジに相当し、そのメモリセル・アドレスで特定されるメモリセルの初期値がレスポンスに相当し、後述するバタフライ型PUFのラッチ部分が、SRAM−PUFのメモリセルに相当する。
First, the SRAM-PUF will be described.
Since the initial value of the memory cell immediately after the start of power supply to the SRAM (Static Random Access Memory) is determined from a complicated internal state depending on the device, it is a random value. The SRAM-PUF uses this initial value variation. In the SRAM-PUF, the memory cell address corresponds to the challenge, the initial value of the memory cell specified by the memory cell address corresponds to the response, and the latch part of the butterfly PUF described later is the memory of the SRAM-PUF. Corresponds to a cell.

次にバタフライ型PUFについて説明する。バタフライ型PUFは、RSラッチ回路のメタステーブルを利用してPUFを実現するものである。
まず、メタステーブルについて、図1A及び図1Bを用いて説明する。
Next, the butterfly type PUF will be described. The butterfly type PUF realizes a PUF using a metastable of an RS latch circuit.
First, the metastable will be described with reference to FIGS. 1A and 1B.

図1Aには、RSラッチ回路の構成例が図解されている。このRSラッチ回路は、NAND(否定論理積)回路11及び12を用いて構成されている。
このRSラッチ回路の入力は負論理である。なお、図面においては、負論理の信号を信号名の上にオーバーバーを付すことで表現しているが、本明細書においては、負論理の信号を“#”で表記するものとする。従って、例えば、図1AのRSラッチ回路のセット入力は“#S”と表記し、リセット入力は“#R”と表記する。
FIG. 1A illustrates a configuration example of an RS latch circuit. This RS latch circuit is composed of NAND (Negative AND) circuits 11 and 12.
The input of this RS latch circuit is negative logic. In the drawings, a negative logic signal is represented by adding an overbar on the signal name. However, in this specification, a negative logic signal is represented by “#”. Therefore, for example, the set input of the RS latch circuit of FIG. 1A is expressed as “#S”, and the reset input is expressed as “#R”.

NAND回路11の2つの入力には、それぞれ、セット入力“#S”と、NAND回路12の出力とが入力される。また、NAND回路12の2つの入力には、それぞれ、リセット入力“#R”と、NAND回路11の出力とが入力される。また、NAND回路11の出力がRSラッチ回路の出力Qとなる。なお、NAND回路12からは、出力“#Q”が出力される。   The set input “#S” and the output of the NAND circuit 12 are input to the two inputs of the NAND circuit 11, respectively. Further, the reset input “#R” and the output of the NAND circuit 11 are input to the two inputs of the NAND circuit 12, respectively. Further, the output of the NAND circuit 11 becomes the output Q of the RS latch circuit. The NAND circuit 12 outputs the output “#Q”.

図1Bは、この図1AのRSラッチ回路の真理値表である。なお、この真理値表においては、セット入力S及びリセット入力Rを正論理で表記している。
真理値表からも分かるように、図1AのRSラッチ回路は、入力S=0且つ入力R=0のときには、出力値はそのまま保持されるので、Q=Qとなり、“#Q”=“#Q”となる。また、このRSラッチ回路は、入力S=0且つ入力R=1のときには出力値はリセットされて、Q=0となり、“#Q”=1となる。更に、このRSラッチ回路は、入力S=1且つ入力R=0のときには出力値はセットされて、Q=1、“#Q”=0となる。
FIG. 1B is a truth table of the RS latch circuit of FIG. 1A. In this truth table, the set input S and the reset input R are expressed in positive logic.
As can be seen from the truth table, the RS latch circuit of FIG. 1A holds the output value as it is when the input S = 0 and the input R = 0, so that Q = Q and “#Q” = “#” Q ". In the RS latch circuit, when the input S = 0 and the input R = 1, the output value is reset, Q = 0, and “#Q” = 1. Further, in this RS latch circuit, when the input S = 1 and the input R = 0, the output value is set so that Q = 1 and “#Q” = 0.

図1AのRSラッチ回路は、以上の入力の組み合わせのいずれかであれば、出力の論理は安定している。ところが、このRSラッチ回路は、入力S=1且つ入力R=1のときには、Q=“#Q”=1となってしまう。つまり、この場合には、本来は反対の論理を示すはずであるQの論理値と“#Q”の論理値とが、揃って「1」となってしまう。このとき、このRSラッチ回路の出力は、どちらも、中間電位の不安定な状態となっている。このような、デジタル回路としては異常である不安定な状態が、メタステーブル(metastable)と呼ばれている。一般的には、このようなメタステーブルの状態を回避するために、RSラッチ回路に対するS=1且つR=1の入力は禁止される。   If the RS latch circuit of FIG. 1A is any combination of the above inputs, the output logic is stable. However, in the RS latch circuit, Q = “# Q” = 1 when the input S = 1 and the input R = 1. That is, in this case, the logical value of Q, which should originally indicate the opposite logic, and the logical value of “#Q” are all “1”. At this time, both outputs of the RS latch circuit are in an unstable state of the intermediate potential. Such an unstable state that is abnormal as a digital circuit is called a metastable. In general, in order to avoid such a metastable state, input of S = 1 and R = 1 to the RS latch circuit is prohibited.

次に、このようなRSラッチ回路のメタステーブルを利用するバタフライ型PUFについて説明する。図2は、このバタフライ型PUFの構成例である。
このバタフライ型PUF10は、図1AのRSラッチ回路のセット入力“#S”及びリセット入力“#R”の両方に同一の値Aを入力するように構成したものである。ここで、このバタフライ型PUF10の出力である、RSラッチ回路の出力Q及び出力“#Q”を、それぞれ、B及びCとする。つまり、このバタフライ型PUF10は、RSラッチ回路に対しメタステーブル状態とする入力を与えると共に、このRSラッチ回路の出力端子から出力される信号を、このバタフライ型PUF10の出力とするように構成した回路である。
Next, a butterfly type PUF using such a metastable RS latch circuit will be described. FIG. 2 is a configuration example of this butterfly type PUF.
This butterfly type PUF 10 is configured to input the same value A to both the set input “#S” and the reset input “#R” of the RS latch circuit of FIG. 1A. Here, the output Q and the output “#Q” of the RS latch circuit, which are the outputs of the butterfly type PUF 10, are B and C, respectively. That is, the butterfly type PUF 10 provides an input for setting the metastable state to the RS latch circuit, and a circuit configured to use a signal output from the output terminal of the RS latch circuit as an output of the butterfly type PUF 10. It is.

このバタフライ型PUF10は、入力A=0のときは、出力B及び出力Cはどちらも1となり、この状態で出力の値は安定している。ところが、ここで、値Aを0から1に変化させると、出力Bが1であって出力Cが0である状態と、出力Bが0であって出力Cが1である状態とが生じて、出力が不定となる。これは、RSラッチ回路がメタステーブルの状態に置かれており、その出力が不確定の状態になっているためである。バタフライ型PUF10は、この不確定性を利用したPUFである。   In this butterfly type PUF 10, when the input A = 0, the output B and the output C are both 1, and the output value is stable in this state. However, when the value A is changed from 0 to 1, the state where the output B is 1 and the output C is 0 and the state where the output B is 0 and the output C is 1 occur. The output is undefined. This is because the RS latch circuit is placed in a metastable state and its output is indeterminate. The butterfly PUF 10 is a PUF that uses this uncertainty.

このバタフライ型PUF10の出力は2値(0と1)のどちらかの値をとる。しかしながら、バタフライ型PUF10をデバイスに実装すると、常に0を出力するもの、及び、常に1を出力するものと、出力が0と1とで定まらないもの、すなわち乱数を出力するものとの3つの態様のものが得られ、この出力の態様には再現性がある。そこで、このバタフライ型PUF10をデバイスに複数実装し、その各々から得られる出力を、バタフライ型PUF10を実装したデバイスについての個体別情報として利用することができる。   The output of this butterfly type PUF 10 takes one of two values (0 and 1). However, when the butterfly-type PUF 10 is mounted on a device, there are three modes: one that always outputs 0, one that always outputs 1, and one whose output is not determined by 0 and 1, that is, one that outputs a random number. The output mode is reproducible. Therefore, a plurality of butterfly-type PUFs 10 can be mounted on a device, and the output obtained from each can be used as individual-specific information about the device on which the butterfly-type PUF 10 is mounted.

次に図3について説明する。図3は、背景技術である個体別情報生成装置を図解したものである。
この個体別情報生成装置20は、電子デバイスであるデバイス1に、n個のPUF21を実装して構成されている。なお、図3では、PUF21−1、21−2、21−3、21−4、21−5、及び21−6の各々に、図2に図解したバタフライ型PUF10を描いているが、これに限定されるものではない。PUF21としては、例えば遅延型PUF及びメタスタビリティ型PUFのいずれでもよい。
Next, FIG. 3 will be described. FIG. 3 illustrates an individual-specific information generation apparatus that is a background art.
The individual-specific information generation apparatus 20 is configured by mounting n PUFs 21 on the device 1 which is an electronic device. In FIG. 3, the butterfly type PUF 10 illustrated in FIG. 2 is drawn on each of the PUFs 21-1, 21-2, 21-3, 21-4, 21-5, and 21-6. It is not limited. The PUF 21 may be, for example, either a delay type PUF or a metastability type PUF.

この個体別情報生成装置20では、n個実装されたPUF21から、どれを選択するかが、前述したチャレンジに相当する。図3は、このチャレンジによって、PUF21−1、21−2、21−3、21−4、21−5、及び21−6が選択された状態を表現している。この6個のPUF21各々の出力RES[5:0]は2値の値(0または1)をとるので、これらの値を並べて6ビットのビット列を形成する。このビット列がレスポンスとなり、デバイス1の個体別情報として利用することができる。なお、この個体別情報生成装置20がとり得る個体別情報のパターン数は、計6個のPUF21を選択するので、2の6乗パターン、すなわち64パターンである。   In the individual-specific information generation device 20, which one to select from the n PUFs 21 mounted corresponds to the challenge described above. FIG. 3 represents a state in which PUFs 21-1, 21-2, 21-3, 21-4, 21-5, and 21-6 are selected by this challenge. Since the output RES [5: 0] of each of the six PUFs 21 has a binary value (0 or 1), these values are arranged to form a 6-bit bit string. This bit string becomes a response and can be used as individual information of the device 1. Note that the number of individual information patterns that can be taken by the individual information generation apparatus 20 is 2 6 power patterns, that is, 64 patterns, because a total of six PUFs 21 are selected.

但し、前述したように、PUF21は乱数を出力する場合がある。図3は、計6個のPUF21のうち、PUF21−3及び21−4が乱数を出力している場合を表現している。このような乱数を出力するPUF21がチャレンジによる選択に含まれてしまうと、デバイス1で不変であるはずのレスポンスが異なる値となることがあり、再現性が失われてしまうため、デバイス1の個体別情報として利用できなくなってしまう。   However, as described above, the PUF 21 may output a random number. FIG. 3 represents a case where PUFs 21-3 and 21-4 out of a total of six PUFs 21 output random numbers. If such a PUF 21 that outputs a random number is included in the selection by the challenge, the response that should be invariant in the device 1 may have a different value and the reproducibility is lost. It cannot be used as other information.

この点に関し、個体別情報生成装置20に符号誤り訂正回路を備えるという技術が知られている。この技術では、チャレンジによって選択されたPUF21の出力を並べて構成したビット列をこの符号誤り訂正回路に入力し、その出力を個体別情報生成装置20のレスポンスとするように構成する。つまり、PUF21から上述のようにして生成されるビット列に含まれる乱数を符号誤り訂正回路で補正して、デバイス1では、同一のチャレンジに対して常に同一のレスポンスが得られるようにする。この技術では、このようにして、個体別情報生成装置20の出力の再現性を確保している。   In this regard, a technique is known in which the individual-specific information generation apparatus 20 includes a code error correction circuit. In this technology, a bit string formed by arranging the outputs of the PUFs 21 selected by the challenge is input to the code error correction circuit, and the output is used as a response of the individual-specific information generation apparatus 20. That is, the random number included in the bit string generated from the PUF 21 as described above is corrected by the code error correction circuit, so that the device 1 always obtains the same response to the same challenge. In this technique, the reproducibility of the output of the individual-specific information generation apparatus 20 is ensured in this way.

この他の背景技術として、電子デバイスの物理特性の違いを利用して乱数を生成する技術が幾つか知られている。そのひとつに、デジタル入力値に対して一義的に決定されないデジタル出力値を得ると共に、このデジタル出力値における「0」と「1」の出現頻度を均等にするという乱数生成の技術がある。   As other background arts, several techniques for generating a random number by using a difference in physical characteristics of an electronic device are known. One of them is a technique of random number generation that obtains a digital output value that is not uniquely determined with respect to a digital input value, and equalizes the appearance frequencies of “0” and “1” in the digital output value.

ところで、PUFの使用例のひとつに、前述したように、情報の暗号化に使用する暗号鍵の生成がある。これは、PUFの特徴のひとつである、解析の困難性を活用するものである。ところが、近年、暗号機能に対して、「フォールト攻撃」という手法が問題となっている。次に、このフォールト攻撃について説明する。   By the way, as one example of use of the PUF, there is generation of an encryption key used for information encryption as described above. This utilizes the difficulty of analysis, which is one of the features of PUF. However, in recent years, a technique called “fault attack” has become a problem for cryptographic functions. Next, this fault attack will be described.

セキュリティシステムの基盤技術として、様々な方式の暗号化が利用されている。この暗号化の方式は、公開鍵方式と共通鍵方式に大別される。
公開鍵暗号方式とは、暗号化と復号とで異なる鍵を用いる方式であり、暗号化を行うための鍵(公開鍵)を公開する代わりに、暗号文を復号するための鍵(秘密鍵)を受信者のみの秘密情報とすることで安全性を保つ方式である。これに対し、共通鍵暗号方式とは、暗号化と復号とで同一の鍵(共通鍵)を用いる方式であり、この共通鍵を送信者及び受信者を除く第三者には公開しない秘密の情報とすることで安全性を保つ方式である。
Various types of encryption are used as the basic technology of the security system. This encryption method is roughly divided into a public key method and a common key method.
Public key cryptography is a scheme that uses different keys for encryption and decryption, and instead of publishing the key for encryption (public key), the key for decrypting the ciphertext (secret key) Is a method of maintaining security by making secret information only for the receiver. On the other hand, the common key encryption method is a method that uses the same key (common key) for encryption and decryption, and this common key is a secret that is not disclosed to third parties except the sender and the receiver. It is a method that keeps safety by using information.

フォールト攻撃では、このような方式による暗号化機能が実装された装置に対して過電圧、高温、低温等のストレスを与えて装置内部のデータ値に異常(Fault )を発生させる。そして、その際の異常な出力値を利用して、装置内部に格納されている秘密情報(前述した秘密鍵や共通鍵)を入手し、この秘密情報を用いて、秘匿した情報の解読を行う。   In a fault attack, stress such as overvoltage, high temperature, low temperature, etc. is applied to a device on which an encryption function according to such a method is mounted, and an abnormality (Fault) is generated in the data value inside the device. Then, using the abnormal output value at that time, the secret information (the above-mentioned secret key or common key) stored in the device is obtained, and the secret information is decrypted using the secret information. .

このフォールト攻撃は現実の脅威として知られている。例えば、電子商取引で広く用いられているOpenSSLでは、公開鍵暗号方式のひとつであるRSA暗号が用いられている。このOpenSSLをFPGA(Field-Programmable Gate Array )上に実装した環境に対するフォールト攻撃が成功して、RSA暗号の秘密情報を解読したという報告がなされている。   This fault attack is known as a real threat. For example, in OpenSSL widely used in electronic commerce, RSA cryptography, which is one of public key cryptosystems, is used. It has been reported that a fault attack with respect to an environment in which this OpenSSL is mounted on an FPGA (Field-Programmable Gate Array) has been successful and the secret information of the RSA cipher has been decrypted.

この他の背景技術として、アクティブ回路とスタティック回路とにより構成されている出力回路におけるアクティブ回路の動作によって生じる電源変動が及ぼすスタティック回路の出力への影響を防止するという技術が知られている。   As another background art, there is known a technique for preventing an influence on the output of the static circuit, which is caused by a power supply fluctuation caused by the operation of the active circuit in the output circuit constituted by the active circuit and the static circuit.

特許第3604674号公報Japanese Patent No. 3604673 特開平10−51295号公報Japanese Patent Laid-Open No. 10-51295

ジェ・ダブリュ・リー(Jae W. Lee)、他5名、「ア・テクニック・トウ・ビルド・ア・シークレット・キー・イン・インテグレーテッド・サーキッツ・ウイズ・アイデンティフィケーション・アンド・オーセンティケーション・アプリケーションズ(A technique to build a secret key in integrated circuits with identification and authentication applications)」、アイ・イー・イー・イー・ブイ・エル・エス・アイ・サーキッツ・シンポジウム(IEEE VLSI Circuits Symposium)、2004年6月Jae W. Lee and five others, “A Technique Tow Build A Secret Key in Integrated Circuits with Identification and Authentication・ Applications (A technique to build a secret key in integrated circuits with identification and authentication applications), IEEE VLSI Circuits Symposium, June 2004 Moon サンディープ・エス・クマール(Sandeep S. Kumar)、他4名、「エクステンド・アブストラクト:ザ・バタフライ・ピー・ユー・エフ・プロテクティング・アイ・ピー・オン・エブリイ・エフ・ピー・ジー・エイ(Extend Abstract: The Butterfly PUF: Protecting IP on every FPGA)」、アイ・イー・イー・イー・インターナショナル・ワークショップ・オン・ハードウェアオリエンテッド・セキュリティ・アンド・トラスト(IEEE International Workshop on Hardware-Oriented Security and Trust - HOST)、2008年Sandeep S. Kumar and four others, “Extended Abstract: The Butterfly P. F. F. Protecting I P. On Every F. P. G. A. (Extend Abstract: The Butterfly PUF: Protecting IP on every FPGA), IEEE International Workshop on Hardware-Oriented Security and Trust-HOST), 2008 ジー・エドワード・ソ(G. Edward. Suh)、他1名、「フィジカル・アンクローナブル・ファンクションズ・フォー・デバイス・オーセンティケーション・アンド・シークレット・キー・ジェネレーション(Physical Unclonable Functions for Device Authentication and Secret Key Generation)」、デザイン・オートメーション・カンファレンス(Design Automation Conference)、2007年6月G. Edward. Suh, and one other, “Physical Unclonable Functions for Device Authentication and Secret Key Generation ”, Design Automation Conference, June 2007 ダイスケ・スズキ(Daisuke Suzuki)、他1名、「ザ・グリッチ・ピー・ユー・エフ:ア・ニュー・ディレイ・ピー・ユー・エフ・アーキテクチュア・エクスプロイティング・グリッチ・シェープス(The Glitch PUF: A New Delay-PUF Architecture Exploiting Glitch Shapes)」、クリプトグラフィック・ハードウェア・アンド・エンベデッド・システムズ・2010(Cryptographic Hardware and Embedded Systems - CHES 2010)、レクチャー・ノーツ・イン・コンピュータ・サイエンス(Lecture Notes in Computer Science - LNCS)、2010年、第6225巻(Volume 6225)、p. 366-382Daisuke Suzuki and one other person, “The Glitch PUF: A New, The New Delay PY F Architecture Exploiting Glitch Shapes” Delay-PUF Architecture Exploiting Glitch Shapes), Cryptographic Hardware and Embedded Systems 2010 (CHES 2010), Lecture Notes in Computer Science- LNCS), 2010, 6225 (Volume 6225), p. 366-382 アンドレア・ペレグリニ(Andrea Pellegrini)、他2名、「フォールト・ベースド・アタック・オブ・アールエスエイ・オーセンティケーション(Fault-Based Attack of RSA Authentication)」、デザイン・オートメーション・アンド・テスト・イン・ユーロップ・2010(Design, Automation and Test in Europe - DATE 2010)、2010年Andrea Pellegrini, two others, "Fault-Based Attack of RSA Authentication", Design Automation and Test in Europe 2010 (Design, Automation and Test in Europe-DATE 2010), 2010

前述したように、フォールト攻撃は、暗号化処理装置に意図的に異常を発生させることによって、装置内部に格納されている秘密情報を入手する攻撃である。PUFを用いて生成した秘密情報は、解析困難ではあるが、この秘密情報を用いて処理を行っている暗号機能に対してフォールト攻撃が行われた場合には、秘密情報が攻撃者に入手されてしまう可能性がある。そこで、暗号機能へのフォールト攻撃に対する対策が求められている。その対策のひとつに、装置の環境温度を監視して装置への温度ストレスの有無を検出するというものがある。   As described above, the fault attack is an attack in which secret information stored in the device is obtained by intentionally generating an abnormality in the encryption processing device. The secret information generated using the PUF is difficult to analyze, but if a fault attack is performed on the cryptographic function that is processed using this secret information, the secret information is obtained by the attacker. There is a possibility that. Therefore, a countermeasure against a fault attack on the cryptographic function is required. One countermeasure is to monitor the environmental temperature of the device and detect the presence or absence of temperature stress on the device.

また、クローン対策としてPUFが使用される製品例として前述したもののうちのひとつである電池は、発火事故を防止する安全上の観点から、温度の監視を行う場合がある。また、電池のクローン品には正規品に対して性能が劣っているものがあり、異常発熱による発火事故も懸念されており、温度監視が法律によって要求されている場合もある。   In addition, a battery, which is one of the above-described examples of products in which PUF is used as a countermeasure against clones, may be monitored for temperature from the viewpoint of safety to prevent a fire accident. In addition, some of the battery clones are inferior to the regular ones, and there are concerns about ignition accidents due to abnormal heat generation, and temperature monitoring may be required by law.

このように、PUFが使用される場面において、併せて温度監視が求められる場合がある。温度監視に使用される温度センサはPUFとは全く異なるデバイスであるため、従来は、PUFと温度センサとは個別に実装されていた。特に、PUFは、一般的にはデジタル回路で構成されるのに対し、温度センサは一般的にはアナログ回路で構成されていた。アナログ回路はプロセスの微細化による小型化の恩恵を受けにくいと言われているため、デジタル回路であるPUFがプロセスの微細化に伴って小型化されても温度センサはそれほど小型化されず、全体としての実装コストの低下は抑制されてしまう。   As described above, in a scene where the PUF is used, temperature monitoring may be required together. Since the temperature sensor used for temperature monitoring is a completely different device from the PUF, conventionally, the PUF and the temperature sensor are individually mounted. In particular, the PUF is generally composed of a digital circuit, whereas the temperature sensor is generally composed of an analog circuit. Since analog circuits are said to be less likely to benefit from miniaturization due to process miniaturization, even if the digital circuit PUF is miniaturized with process miniaturization, the temperature sensor is not so miniaturized. As a result, a reduction in mounting cost is suppressed.

上述した問題に鑑み、本明細書で後述する温度センサは、デジタル回路を用いて周囲温度の検知を行えるようにする。   In view of the above-described problems, the temperature sensor described later in this specification enables detection of the ambient temperature using a digital circuit.

本明細書で後述する温度センサのひとつに、メタスタビリティ型PUF回路、頻度検出部、記憶部、及び温度判定部を備えるというものがある。ここで、頻度検出部は、メタスタビリティ型PUF回路が所定値を出力する頻度を検出する。記憶部には、周囲温度とメタスタビリティ型PUF回路が所定値を出力する頻度との関係を表したデータが予め記憶されている。そして、温度判定部は、頻度検出部により検出された頻度と記憶部に記憶されているデータとに基づいて、周囲温度を判定する。   One of the temperature sensors described later in this specification includes a metastability type PUF circuit, a frequency detection unit, a storage unit, and a temperature determination unit. Here, the frequency detection unit detects the frequency at which the metastability type PUF circuit outputs a predetermined value. The storage unit stores in advance data representing the relationship between the ambient temperature and the frequency with which the metastable PUF circuit outputs a predetermined value. The temperature determination unit determines the ambient temperature based on the frequency detected by the frequency detection unit and the data stored in the storage unit.

また、本明細書で後述する暗号化装置のひとつに、上述した温度センサと共に、出力値生成回路、暗号鍵生成部、暗号化処理部、及び暗号化処理制御部を備えるというものがある。ここで、出力値生成回路は、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する回路である。暗号鍵生成部は、出力値生成回路の出力値に基づいて暗号鍵を生成する。暗号化処理部は、暗号鍵生成部により生成された暗号鍵を用いて情報の暗号化処理を行う。そして、暗号化処理制御部は、温度判定部により判定された周囲温度が所定範囲外である場合に、暗号化処理部を制御して暗号化処理の実行を禁止する。   One of the encryption devices described later in this specification includes an output value generation circuit, an encryption key generation unit, an encryption processing unit, and an encryption processing control unit in addition to the temperature sensor described above. Here, the output value generation circuit is a circuit that outputs a constant value or an indefinite value without uniquely determining an output value generated for an input value. The encryption key generation unit generates an encryption key based on the output value of the output value generation circuit. The encryption processing unit performs information encryption processing using the encryption key generated by the encryption key generation unit. Then, when the ambient temperature determined by the temperature determination unit is outside the predetermined range, the encryption processing control unit controls the encryption processing unit to prohibit the execution of the encryption process.

また、本明細書で後述する個体別情報生成装置のひとつに、出力値生成回路、個体別情報生成部、及び個体別情報出力制御部を備えるというものがある。ここで、出力値生成回路は、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する。個体別情報生成部は、出力値生成回路の出力値に基づいて個体別情報を生成する。そして、個体別情報出力制御部は、温度判定部により判定された周囲温度が所定範囲外である場合に、個体別情報生成部により生成される個体別情報の出力を禁止する。   One of the individual-specific information generation apparatuses described later in this specification includes an output value generation circuit, an individual-specific information generation unit, and an individual-specific information output control unit. Here, the output value generation circuit outputs a constant value or an indefinite value without uniquely determining the output value generated for the input value. The individual information generating unit generates individual information based on the output value of the output value generation circuit. The individual information output control unit prohibits the output of the individual information generated by the individual information generation unit when the ambient temperature determined by the temperature determination unit is outside the predetermined range.

本明細書で後述する温度センサは、周囲温度の検知がデジタル回路で行えるという効果を奏する。   The temperature sensor described later in this specification has an effect that the ambient temperature can be detected by a digital circuit.

RSラッチ回路の構成例である。It is an example of a structure of RS latch circuit. 図1AのRSラッチ回路の真理値表である。It is a truth table of the RS latch circuit of FIG. 1A. バタフライ型PUFの構成例である。It is an example of composition of a butterfly type PUF. 背景技術の個体別情報生成装置である。It is an individual information generation apparatus of background art. 暗号化装置の一実施例の機能ブロック図である。It is a functional block diagram of one Example of an encryption apparatus. 個体別情報生成装置の一実施例の機能ブロック図である。It is a functional block diagram of one Example of the information generation apparatus classified by individual. 個体別情報生成装置を備えた暗号化装置の構成例である。It is a structural example of the encryption apparatus provided with the information generation apparatus classified by individual. 個体別情報生成装置の構成の第一の例である。It is a 1st example of a structure of the information generation apparatus classified by individual. ID判定回路の具体的構成例である。It is a specific structural example of an ID determination circuit. 温度判定シーケンサ431による周囲温度の判定の手法を説明する図(その1)である。It is FIG. (1) explaining the method of determination of ambient temperature by the temperature determination sequencer 431. FIG. 温度判定シーケンサ431による周囲温度の判定の手法を説明する図(その2)である。It is FIG. (2) explaining the method of determination of ambient temperature by the temperature determination sequencer 431. FIG. テンプレート情報の例である。It is an example of template information. 個体別情報生成装置の構成の第二の例である。It is a 2nd example of a structure of the information generation apparatus classified by individual. 個体別情報生成装置の構成の第三の例である。It is a 3rd example of a structure of the information generation apparatus classified by individual. 暗号化処理システムの一実施例の構成図である。It is a block diagram of one Example of an encryption processing system.

まず図4について説明する。図4は、暗号化装置の一実施例の機能ブロック図である。
図4において、暗号化装置110は温度センサ100を備えている。この温度センサ100は、メタスタビリティ型PUF回路101、頻度検出部102、記憶部103、及び温度判定部104を備えている。
First, FIG. 4 will be described. FIG. 4 is a functional block diagram of an embodiment of the encryption apparatus.
In FIG. 4, the encryption device 110 includes a temperature sensor 100. The temperature sensor 100 includes a metastability type PUF circuit 101, a frequency detection unit 102, a storage unit 103, and a temperature determination unit 104.

メタスタビリティ型PUF回路101は、前述したように、デジタル回路の不定状態を利用するPUFであり、より具体的には、例えば、前述したバタフライ型PUFやSRAM−PUFなどである。   As described above, the metastability type PUF circuit 101 is a PUF that uses an indefinite state of a digital circuit, and more specifically, is, for example, the above-described butterfly type PUF or SRAM-PUF.

頻度検出部102は、メタスタビリティ型PUF回路101が所定値を出力する頻度を検出する。
記憶部103には、周囲温度とメタスタビリティ型PUF回路101が上記の所定値を出力する頻度との関係を表したデータが予め記憶されている。
The frequency detection unit 102 detects the frequency at which the metastability type PUF circuit 101 outputs a predetermined value.
The storage unit 103 stores in advance data representing the relationship between the ambient temperature and the frequency with which the metastable PUF circuit 101 outputs the predetermined value.

温度判定部104は、頻度検出部102により検出された頻度と記憶部103に記憶されているデータとに基づいて、周囲温度を判定する。
詳細は後述するが、メタスタビリティ型PUF回路101が、所定値を出力する頻度は、周囲温度に対して単調に変化する。そこで、上述したようにすることで、デジタル回路であるメタスタビリティ型PUFを用いて周囲温度の検知を行うことができるようになる。
The temperature determination unit 104 determines the ambient temperature based on the frequency detected by the frequency detection unit 102 and the data stored in the storage unit 103.
Although the details will be described later, the frequency at which the metastability type PUF circuit 101 outputs a predetermined value monotonously changes with respect to the ambient temperature. Therefore, by performing the above, it becomes possible to detect the ambient temperature using the metastability type PUF which is a digital circuit.

暗号化装置110は、以上のように構成されている温度センサ100と共に、出力値生成回路111、暗号鍵生成部112、暗号化処理部113、及び暗号化処理制御部114を備えている。   The encryption device 110 includes an output value generation circuit 111, an encryption key generation unit 112, an encryption processing unit 113, and an encryption processing control unit 114, in addition to the temperature sensor 100 configured as described above.

出力値生成回路111は、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する回路であり、より具体的には、例えば前述した各種のPUFである。   The output value generation circuit 111 is a circuit that outputs a constant value or an indefinite value without uniquely determining an output value generated with respect to an input value. PUF.

暗号鍵生成部112は、出力値生成回路111の出力値に基づいて暗号鍵を生成する。
暗号化処理部113は、暗号鍵生成部112により生成された暗号鍵を用いて情報の暗号化処理を行う。
The encryption key generation unit 112 generates an encryption key based on the output value of the output value generation circuit 111.
The encryption processing unit 113 performs information encryption processing using the encryption key generated by the encryption key generation unit 112.

暗号化処理制御部114は、温度センサ100の温度判定部104により判定された周囲温度が所定範囲外である場合に、暗号化処理部113を制御して暗号化処理の実行を禁止する。   When the ambient temperature determined by the temperature determination unit 104 of the temperature sensor 100 is outside the predetermined range, the encryption processing control unit 114 controls the encryption processing unit 113 to prohibit the execution of the encryption process.

このような構成を備えている暗号化装置110は、周囲温度を所定範囲外とするような温度ストレスを検知して暗号化処理の実行を禁止することで、温度ストレスによる前述のフォールト攻撃を防護することができる。   The encryption apparatus 110 having such a configuration protects the above-described fault attack due to temperature stress by detecting temperature stress that causes the ambient temperature to be outside the predetermined range and prohibiting execution of encryption processing. can do.

なお、温度センサ100のメタスタビリティ型PUF回路101を、出力値生成回路111として共用し、暗号鍵生成部112が、メタスタビリティ型PUF回路101の出力値に基づいて暗号鍵を生成するようにしてもよい。   The metastability type PUF circuit 101 of the temperature sensor 100 is shared as the output value generation circuit 111, and the encryption key generation unit 112 generates an encryption key based on the output value of the metastability type PUF circuit 101. Also good.

また、暗号鍵生成部112は、温度判定部104により判定された周囲温度が所定範囲外である場合には、暗号鍵の出力を禁止するようにしてもよい。このようにすることで、フォールト攻撃に対する防護が更に強化される。   Further, the encryption key generation unit 112 may prohibit the output of the encryption key when the ambient temperature determined by the temperature determination unit 104 is outside a predetermined range. In this way, protection against fault attacks is further strengthened.

また、図4において破線により表したように、暗号化装置110が、更に、通信ネットワークを介して不図示のサーバ装置とデータの授受を行う通信部115を備えるように構成してもよい。なお、このように構成する場合には、温度センサ100の記憶部103は、当該サーバ装置に配置するようにする。このようにして、暗号化装置110を構成する他の構成要素とは物理的に離れている別の場所に記憶部103を配置するように構成することで、顕微鏡等での記憶部103の観察による解析に基づいた暗号解読の可能性を低減することができる。   Further, as represented by a broken line in FIG. 4, the encryption device 110 may further include a communication unit 115 that exchanges data with a server device (not shown) via a communication network. In such a configuration, the storage unit 103 of the temperature sensor 100 is arranged in the server device. In this way, by configuring the storage unit 103 to be disposed at a location that is physically separated from the other components constituting the encryption device 110, the storage unit 103 is observed with a microscope or the like. It is possible to reduce the possibility of decryption based on the analysis by the method.

なお、出力値生成回路111は、記憶部103に記憶されているデータを通信部115が受け取らない場合には、出力値の生成動作を停止させるようにしてもよい。このようにすることで、暗号解読のための攻撃に対する防護が更に強化される。   Note that the output value generation circuit 111 may stop the output value generation operation when the communication unit 115 does not receive the data stored in the storage unit 103. In this way, protection against attacks for decryption is further strengthened.

次に図5について説明する。図5は、個体別情報生成装置の一実施例の機能ブロック図である。
図5において、個体別情報生成装置120は、電子デバイスであるデバイス1に実装されて構成されており、デバイス1についての個体別情報を生成する。
Next, FIG. 5 will be described. FIG. 5 is a functional block diagram of an embodiment of the individual-specific information generation apparatus.
In FIG. 5, the individual-specific information generation apparatus 120 is configured to be mounted on the device 1 that is an electronic device, and generates individual-specific information about the device 1.

個体別情報生成装置120は温度センサ100を備えている。この温度センサ100は、図4の暗号化装置110が備えているものと同様に構成されており、メタスタビリティ型PUF回路101、頻度検出部102、記憶部103、及び温度判定部104を備えている。   The individual information generation apparatus 120 includes a temperature sensor 100. The temperature sensor 100 is configured in the same manner as that of the encryption device 110 of FIG. 4, and includes a metastability type PUF circuit 101, a frequency detection unit 102, a storage unit 103, and a temperature determination unit 104. Yes.

また、個体別情報生成装置120は、温度センサ100と共に、出力値生成回路121、個体別情報生成部122、及び個体別情報生成制御部123を備えている。
出力値生成回路121は、図4の暗号化装置110が備えている出力値生成回路111と同様の、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する回路であり、より具体的には、例えば前述した各種のPUFである。
The individual-specific information generation apparatus 120 includes an output value generation circuit 121, an individual-specific information generation unit 122, and an individual-specific information generation control unit 123 along with the temperature sensor 100.
The output value generation circuit 121 is similar to the output value generation circuit 111 included in the encryption device 110 of FIG. 4, but the output value generated for the input value is not uniquely determined but is a fixed value or indefinite. More specifically, for example, the above-described various PUFs.

個体別情報生成部122は、出力値生成回路121の出力値に基づいて個体別情報を生成する。
個体別情報生成制御部123は、温度センサ100の温度判定部104により判定された周囲温度が所定範囲外である場合に、個体別情報生成部122により生成される個体別情報の出力を禁止する。
The individual information generation unit 122 generates individual information based on the output value of the output value generation circuit 121.
The individual-specific information generation control unit 123 prohibits the output of individual-specific information generated by the individual-specific information generation unit 122 when the ambient temperature determined by the temperature determination unit 104 of the temperature sensor 100 is outside the predetermined range. .

このような構成を備えている個体別情報生成装置120は、周囲温度を所定範囲外とするような温度ストレスを検知して個体別情報の出力を禁止する。従って、この個体別情報を暗号鍵として用いて情報の暗号化処理を行う暗号化装置が個体別情報生成装置120に設けられていても、この暗号化装置に対する温度ストレスによる前述のフォールト攻撃を防護することができる。   The individual-specific information generation device 120 having such a configuration detects temperature stress that causes the ambient temperature to be outside a predetermined range and prohibits output of individual-specific information. Therefore, even if an encryption device that performs information encryption processing using this individual information as an encryption key is provided in the individual information generation device 120, the above-described fault attack due to temperature stress on the encryption device is protected. can do.

なお、温度センサ100のメタスタビリティ型PUF回路101を、出力値生成回路121として共用し、個体別情報生成部122が、メタスタビリティ型PUF回路101の出力値に基づいて個体別情報を生成するようにしてもよい。   Note that the metastability type PUF circuit 101 of the temperature sensor 100 is shared as the output value generation circuit 121, and the individual information generation unit 122 generates individual information based on the output value of the metastability type PUF circuit 101. It may be.

次に、暗号化装置110及び個体別情報生成装置120の具体的な構成について説明する。
まず図6について説明する。図6は、個体別情報生成装置120を備えた暗号化装置110の構成例を図解したものである。
Next, specific configurations of the encryption device 110 and the individual information generation device 120 will be described.
First, FIG. 6 will be described. FIG. 6 illustrates a configuration example of the encryption device 110 provided with the individual-specific information generation device 120.

暗号化装置110は、個体別情報生成装置120、CPU210、暗号演算器220、ROM230、RAM240、及び通信インタフェース部250を備えて構成されている。なお、これらの各構成要素はバスライン260にいずれも接続されており、CPU210による管理の下で各種のデータを相互に授受することができるように構成されている。   The encryption device 110 includes an individual-specific information generation device 120, a CPU 210, a cryptographic operation unit 220, a ROM 230, a RAM 240, and a communication interface unit 250. Each of these components is connected to the bus line 260 and is configured to be able to exchange various data with each other under the control of the CPU 210.

個体別情報生成装置120は、半導体集積回路であるチップ200に実装されており、このチップ200についての個体別情報を生成する。この個体別情報生成装置120の具体的な構成については後述する。   The individual-specific information generation device 120 is mounted on a chip 200 that is a semiconductor integrated circuit, and generates individual-specific information about the chip 200. A specific configuration of the individual-specific information generation apparatus 120 will be described later.

CPU(Central Processing Unit )210は、暗号化装置110の各構成要素の動作を管理する中央演算部であり、図4における暗号化処理制御部114の機能の提供も行う。   A CPU (Central Processing Unit) 210 is a central processing unit that manages the operation of each component of the encryption device 110, and also provides the function of the encryption processing control unit 114 in FIG.

暗号演算器220は、各種の情報の暗号化処理や、暗号化されているデータの復号処理を行うものであり、図4における暗号化処理部113の一例である。なお、本実施形態では、暗号演算器220は、公開鍵コプロセッサ221と共通鍵コプロセッサ222とを備えている。ここで、公開鍵コプロセッサ221は、代表的な公開鍵暗号方式であるRSA暗号や楕円曲線暗号等を用いて暗号化及び復号の処理を行う。また、共通鍵コプロセッサ222は、代表的な共通鍵暗号方式であるAES暗号等を用いて暗号化及び復号の処理を行う。なお、暗号演算器220を暗号化装置110に備える代わりに、暗号演算器220により行われる暗号化及び復号の処理を、CPU210に行わせるように構成してもよい。   The cryptographic operation unit 220 performs encryption processing of various types of information and decryption processing of encrypted data, and is an example of the encryption processing unit 113 in FIG. In the present embodiment, the cryptographic operation unit 220 includes a public key coprocessor 221 and a common key coprocessor 222. Here, the public key coprocessor 221 performs encryption and decryption processing using RSA encryption, elliptic curve encryption, and the like, which are typical public key cryptosystems. In addition, the common key coprocessor 222 performs encryption and decryption processing using an AES cipher that is a typical common key cryptosystem. Instead of providing the cryptographic operation unit 220 in the encryption device 110, the CPU 210 may be configured to perform encryption and decryption processing performed by the cryptographic operation unit 220.

ROM(Read Only Memory)230には、CPU210により実行される制御プログラムや、暗号演算器220が暗号化や復号の処理において使用する固有のパラメータが予め格納されている不揮発性半導体メモリである。CPU210は、暗号化装置110への電力供給が開始されたときに、この制御プログラムをROM230から読み出してその実行を開始することで、暗号化装置110の各構成要素の動作管理を行えるようになる。   A ROM (Read Only Memory) 230 is a non-volatile semiconductor memory in which a control program executed by the CPU 210 and unique parameters used by the cryptographic calculator 220 in encryption and decryption processing are stored in advance. When the supply of power to the encryption device 110 is started, the CPU 210 reads out this control program from the ROM 230 and starts its execution, whereby the operation management of each component of the encryption device 110 can be performed. .

RAM(Random Access Memory)240は、CPU210や暗号演算器220が各種の処理を行う際に、必要に応じて作業用記憶領域として使用する揮発性半導体メモリである。   A RAM (Random Access Memory) 240 is a volatile semiconductor memory used as a working storage area as necessary when the CPU 210 and the cryptographic operation unit 220 perform various processes.

通信インタフェース部250は、サーバ装置300と通信ネットワーク310を介してデータの授受を行うものであり、図4における通信部115の一例である。つまり、通信インタフェース部250は、前述した温度センサ100の記憶部103がサーバ装置300に配置される場合に使用するものである。従って、記憶部103がチップ200上に配置される場合には、通信インタフェース部250は不要である。   The communication interface unit 250 exchanges data with the server device 300 via the communication network 310, and is an example of the communication unit 115 in FIG. That is, the communication interface unit 250 is used when the storage unit 103 of the temperature sensor 100 described above is arranged in the server device 300. Therefore, when the storage unit 103 is disposed on the chip 200, the communication interface unit 250 is not necessary.

この暗号化装置110において、暗号演算器220は、個体別情報生成装置120が出力値生成回路111の出力値に基づいて生成した個体別情報を暗号鍵として用いて、情報の暗号化処理を行う。なお、この暗号化処理において暗号鍵として用いられた個体別情報は、この暗号化情報に対して行う復号処理にも使用される。   In the encryption device 110, the cryptographic operation unit 220 performs information encryption processing using the individual information generated by the individual information generation device 120 based on the output value of the output value generation circuit 111 as an encryption key. . The individual-specific information used as the encryption key in this encryption process is also used for the decryption process performed on this encrypted information.

なお、個体別情報生成装置120で生成される個体別情報を暗号鍵の生成に用いる際に、生成された個体別情報のエントロピを更に向上させるための後処理(Post Processing )を行ってもよい。このために行われる後処理の一例として、線形フィードバックシフトレジスタ(LFSR)の使用を挙げることができる。LFSRは、排他的論理和回路で帰還をかけたシフトレジスタによって構成されるカウンタであり、個体別情報のエントロピを向上させることができる。従って、LFSRから出力されるデータ列を用いて暗号鍵の生成を行うようにすることで、よりランダム性の高い暗号鍵を生成することが可能になる。なお、LFSRは、専用のハードウェアを構成して用いるようにしてもよく、また、CPU210を用いてソフトウェアにより実現するようにしてもよい。   In addition, when the individual information generated by the individual information generation apparatus 120 is used for generating the encryption key, post-processing (Post Processing) for further improving the entropy of the generated individual information may be performed. . An example of post-processing performed for this purpose is the use of a linear feedback shift register (LFSR). The LFSR is a counter constituted by a shift register that is fed back by an exclusive OR circuit, and can improve the entropy of individual-specific information. Therefore, by generating the encryption key using the data string output from the LFSR, it becomes possible to generate an encryption key with higher randomness. The LFSR may be configured and used as dedicated hardware, or may be realized by software using the CPU 210.

次に図7について説明する。図7は、個体別情報生成装置120の構成の第一の例を図解したものであり、前述したメタスタビリティ型PUFの一例であるバタフライ型PUFを用いて個体別情報の生成を行うものである。   Next, FIG. 7 will be described. FIG. 7 illustrates a first example of the configuration of the individual-specific information generation apparatus 120, and generates individual-specific information using a butterfly-type PUF that is an example of the metastability-type PUF described above. .

図7の個体別情報生成装置120は、バタフライ型PUF部410、オシレータ401、セレクタ402、PUF出力部420、及び温度検出部430を備えている。
バタフライ型PUF部410は、図4における出力値生成回路111及び図5における出力値生成回路121の一例であり、バタフライ型PUFを含むラッチ411を複数個備えている。なお、ここでは、個体別情報生成装置120に与えられたチャレンジによって、128個のラッチ411が選択されたものとする。
7 includes a butterfly type PUF unit 410, an oscillator 401, a selector 402, a PUF output unit 420, and a temperature detection unit 430.
The butterfly type PUF unit 410 is an example of the output value generation circuit 111 in FIG. 4 and the output value generation circuit 121 in FIG. 5, and includes a plurality of latches 411 including a butterfly type PUF. Here, it is assumed that 128 latches 411 are selected by a challenge given to the individual-specific information generation apparatus 120.

オシレータ401は、ラッチ411に与えるクロック信号を生成する。生成されたクロック信号は、ラッチ411内のバタフライ型PUFへの入力信号(図2における入力Aに相当する信号)となる。   The oscillator 401 generates a clock signal to be supplied to the latch 411. The generated clock signal becomes an input signal to the butterfly PUF in the latch 411 (a signal corresponding to the input A in FIG. 2).

セレクタ402は、ID判定回路421からの選択信号に基づいて、チャレンジによって選択された128個のラッチ411の出力からサイクリックに1つずつ出力を選択してPUF出力部420へ入力する。また、セレクタ402は、温度判定シーケンサ431からの選択信号に基づいて、128個のラッチ411の出力から出力を1つ選択してレジスタ433に格納させる。   Based on the selection signal from the ID determination circuit 421, the selector 402 selects one output cyclically from the outputs of the 128 latches 411 selected by the challenge, and inputs them to the PUF output unit 420. The selector 402 selects one output from the outputs of the 128 latches 411 based on the selection signal from the temperature determination sequencer 431 and stores the selected output in the register 433.

次にPUF出力部420について説明する。PUF出力部420は、図5における個体別情報生成部122の一例であり、バタフライ型PUF部410の出力値に基づいて個体別情報を生成する。なお、前述したように、図6の暗号化装置110においては、PUF出力部420が生成した個体別情報を暗号鍵として用いるので、このPUF出力部420は、図4における暗号鍵生成部112の一例ともいえる。   Next, the PUF output unit 420 will be described. The PUF output unit 420 is an example of the individual information generation unit 122 in FIG. 5, and generates individual information based on the output value of the butterfly type PUF unit 410. As described above, since the individual-specific information generated by the PUF output unit 420 is used as the encryption key in the encryption device 110 of FIG. 6, the PUF output unit 420 is connected to the encryption key generation unit 112 of FIG. An example.

PUF出力部420は、ID判定回路421、シフトレジスタ422、及びエントロピ圧縮部423を備えている。
ID判定回路421は、セレクタ402によって選択されたラッチ411の出力に基づいて所定の数値を出力する回路である。図3の個体別情報生成装置20では、符号誤り訂正回路を用いて出力の再現性を確保することを説明したが、本実施例では、このID判定回路421を用いることで、ラッチ411の出力が乱数であっても、個体別情報生成装置120の出力の再現性が確保される。
The PUF output unit 420 includes an ID determination circuit 421, a shift register 422, and an entropy compression unit 423.
The ID determination circuit 421 is a circuit that outputs a predetermined numerical value based on the output of the latch 411 selected by the selector 402. In the individual-specific information generation apparatus 20 in FIG. 3, it has been described that the reproducibility of the output is ensured by using the code error correction circuit. In this embodiment, the output of the latch 411 is obtained by using the ID determination circuit 421. Is a random number, the reproducibility of the output of the individual-specific information generation apparatus 120 is ensured.

本実施例では、ID判定回路421に入力されるラッチ411の出力値が一定の値(固定値)「0」である場合には、ID判定回路421は数値「00」を出力するようにする。また、ID判定回路421に入力されるラッチ411の出力値が固定値「1」である場合には、ID判定回路421は数値「11」を出力するようにする。   In this embodiment, when the output value of the latch 411 input to the ID determination circuit 421 is a constant value (fixed value) “0”, the ID determination circuit 421 outputs a numerical value “00”. . When the output value of the latch 411 input to the ID determination circuit 421 is a fixed value “1”, the ID determination circuit 421 outputs a numerical value “11”.

更に、ID判定回路421に入力されるラッチ411の出力値が「0」と「1」との両方の値をとる不定値である場合(すなわち、ラッチ411の出力値が乱数である場合)には、ID判定回路421は数値「10」若しくは「01」を出力するようにする。但し、ここで、ラッチ411の出力値が「1」である頻度が「0」である頻度よりも高い場合(すなわち、出力値が「1」である頻度が50パーセントよりも高い場合)には、ID判定回路421は数値「10」を出力するようにする。また、ラッチ411の出力値が「1」である頻度が「0」である頻度よりも低い場合(すなわち、出力値が「0」である頻度が50パーセントよりも高い場合)には、ID判定回路421は数値「01」を出力するようにする。   Furthermore, when the output value of the latch 411 input to the ID determination circuit 421 is an indefinite value that takes both “0” and “1” (that is, when the output value of the latch 411 is a random number). The ID determination circuit 421 outputs a numerical value “10” or “01”. However, when the frequency at which the output value of the latch 411 is “1” is higher than the frequency at which it is “0” (that is, when the frequency at which the output value is “1” is higher than 50 percent). The ID determination circuit 421 outputs a numerical value “10”. When the frequency at which the output value of the latch 411 is “1” is lower than the frequency at which the output value is “0” (that is, when the frequency at which the output value is “0” is higher than 50%), the ID determination The circuit 421 outputs a numerical value “01”.

電源電圧及び周囲温度が一定の条件の下では、ラッチ411の出力値が乱数である場合に、そのラッチ411が出力する各値の出力頻度は、個々のラッチ411においてほぼ一定であり、再現性を有している。従って、このようにして、ラッチ411の出力値が「1」である頻度に応じて、ID判定回路421が、数値「10」若しくは「01」を出力するようにすることで、前述したような符号誤り訂正回路による個体別情報の再現性の確保が必須のものではなくなる。   Under the condition that the power supply voltage and the ambient temperature are constant, when the output value of the latch 411 is a random number, the output frequency of each value output by the latch 411 is substantially constant in each latch 411, and reproducibility. have. Therefore, the ID determination circuit 421 outputs the numerical value “10” or “01” according to the frequency with which the output value of the latch 411 is “1” in this way, as described above. Ensuring the reproducibility of the individual information by the code error correction circuit is not essential.

ここで図8について説明する。図8は、ID判定回路421の具体的構成例を図解したものである。
図8のID判定回路421は、セレクタ402によって選択されたラッチ411からの連続する1023ビット分の出力値が全て「0」である場合には「00」を出力し、当該連続する1023ビット分の出力値が全て「1」である場合には「11」を出力する。また、このID判定回路421は、当該1023ビット分の出力値のうち、値が「0」である個数が512個以上である場合(すなわち、出力値の50パーセント以上が「0」の場合)には、「01」を出力する。更に、このID判定回路421は、当該1023ビット分の出力値のうち、値が「1」である個数が512個以上である場合(すなわち、出力値の50パーセント以上が「1」の場合)には、「10」を出力する。
Here, FIG. 8 will be described. FIG. 8 illustrates a specific configuration example of the ID determination circuit 421.
The ID determination circuit 421 in FIG. 8 outputs “00” when the output values for 1023 consecutive bits from the latch 411 selected by the selector 402 are all “0”, and outputs 1023 bits for the consecutive 1023 bits. When all the output values are “1”, “11” is output. Further, the ID determination circuit 421 has 512 or more output values corresponding to 1023 bits of which the value is “0” (that is, 50% or more of the output value is “0”). Outputs “01”. Further, the ID determination circuit 421 has 512 or more output values for the 1023 bits corresponding to the value “1” (that is, when 50% or more of the output values are “1”). Outputs “10”.

このID判定回路421は、ビット数変換器501、加算器502、レジスタ503、リダクション演算回路504及び506、AND(論理積)回路505及び508、NOT(否定)回路507、及びOR(論理和)回路509を備えて構成されている。   The ID determination circuit 421 includes a bit number converter 501, an adder 502, a register 503, reduction operation circuits 504 and 506, AND (logical product) circuits 505 and 508, a NOT (negative) circuit 507, and an OR (logical sum). A circuit 509 is provided.

ビット数変換器501は、ラッチ411から出力される1ビットの出力値を10ビットのデータに変換する変換器であり、当該1ビットの出力値を最下位ビットの値とし、当該最下位ビットに上位9ビット分の「0」を付加して得られるデータを出力する。   The bit number converter 501 converts the 1-bit output value output from the latch 411 into 10-bit data. The 1-bit output value is used as the least significant bit value, and the least significant bit is converted into the least significant bit. Data obtained by adding “0” for the upper 9 bits is output.

加算器502は、ビット数変換器501から出力される10ビットのデータを、レジスタ503に格納されている10ビットのデータに加算し、その加算結果を出力する。
レジスタ503は、加算器502から出力される10ビットの加算結果が格納される。従って、ビット数変換器501、加算器502、及びレジスタ503により、セレクタ402によって選択されたラッチ411から出力される出力値が「1」であった個数を計数するカウンタ回路が構成されている。この個数が512個以上1023個以下の場合には、レジスタ503に格納される10ビットのデータのうちの最上位のビットの値が「1」となり、この個数が0個以上511個以下の場合には、当該最上位のビットの値が「0」となる。この最上位のビットの値が、ID判定回路421からの2ビットの出力のうちの上位ビットの出力(ID[1])として導き出されると共に、AND回路505及び508各々への入力の1つとされる。
The adder 502 adds the 10-bit data output from the bit number converter 501 to the 10-bit data stored in the register 503, and outputs the addition result.
The register 503 stores the 10-bit addition result output from the adder 502. Accordingly, the bit number converter 501, the adder 502, and the register 503 constitute a counter circuit that counts the number of output values output from the latch 411 selected by the selector 402. When this number is 512 or more and 1023 or less, the value of the most significant bit in the 10-bit data stored in the register 503 is “1”, and when this number is 0 or more and 511 or less The value of the most significant bit is “0”. The value of the most significant bit is derived as an upper bit output (ID [1]) of the 2-bit output from the ID determination circuit 421 and is also one of inputs to the AND circuits 505 and 508. The

なお、レジスタ503は、セレクタ402によって選択されたラッチ411から1023ビット分の値の出力を受け取る度に、格納されている全てのビットの値が「0」にリセットされる。また、このリセットの度に、セレクタ402には選択信号が送られて、ラッチ411の出力の選択が次のものに切り替えられる。   Note that each time the register 503 receives an output of a value of 1023 bits from the latch 411 selected by the selector 402, the values of all stored bits are reset to “0”. At each reset, a selection signal is sent to the selector 402, and the selection of the output of the latch 411 is switched to the next one.

リダクション演算回路504及び506は、どちらも、レジスタ503に格納されている10ビットのデータに対するリダクション演算を行う回路である。但し、リダクション演算回路504は、当該10ビットのデータに対して論理積のリダクション演算を行うのに対し、リダクション演算回路506は、当該10ビットのデータに対して論理和のリダクション演算を行う。従って、リダクション演算回路504は、当該10ビットのデータの全ての値が「1」である場合にのみ値「1」を出力し、当該10ビットのデータのうちで少なくとも1ビットの値が「0」である場合には値「0」を出力する。一方、リダクション演算回路506は、当該10ビットのデータのうちで少なくとも1ビットの値が「1」である場合には値「1」を出力し、当該10ビットのデータの全ての値が「0」である場合にのみ値「0」を出力する。   The reduction operation circuits 504 and 506 are both circuits that perform a reduction operation on 10-bit data stored in the register 503. However, the reduction operation circuit 504 performs a logical product reduction operation on the 10-bit data, whereas the reduction operation circuit 506 performs a logical OR operation on the 10-bit data. Therefore, the reduction operation circuit 504 outputs the value “1” only when all the values of the 10-bit data are “1”, and at least one bit value of the 10-bit data is “0”. ", The value" 0 "is output. On the other hand, the reduction operation circuit 506 outputs a value “1” when the value of at least 1 bit among the 10-bit data is “1”, and all the values of the 10-bit data are “0”. "0" is output only when

AND回路505には、リダクション演算回路504の出力と、レジスタ503に格納されている10ビットのデータのうちの前述した最上位のビットの値とが入力される。従って、AND回路505は、選択されたラッチ411から出力される出力値が「1」であった個数が1023個の場合にのみ(すなわち、当該出力値が全て「1」であった場合にのみ)値「1」を出力し、その他の場合には値「0」を出力する。   The AND circuit 505 receives the output of the reduction operation circuit 504 and the value of the most significant bit described above among the 10-bit data stored in the register 503. Therefore, the AND circuit 505 is used only when the number of output values output from the selected latch 411 is “1” is 1023 (that is, only when the output values are all “1”). ) Output the value “1”, otherwise output the value “0”.

一方、AND回路508には、リダクション演算回路506の出力と、レジスタ503に格納されている10ビットのデータのうちの前述した最上位のビットの値をNOT回路507によって反転した値とが入力される。従って、AND回路508は、選択されたラッチ411から出力される出力値が「1」であった個数が1個以上511個以下の場合には値「1」を出力する。そして、その他の場合、すなわち、選択されたラッチ411から出力される出力値が「1」であった個数が0個、若しくは、512個以上1023個以下の場合には、AND回路508は値「0」を出力する。   On the other hand, the AND circuit 508 receives the output of the reduction operation circuit 506 and the value obtained by inverting the value of the most significant bit in the 10-bit data stored in the register 503 by the NOT circuit 507. The Therefore, the AND circuit 508 outputs a value “1” when the number of output values output from the selected latch 411 is “1” is 1 or more and 511 or less. In other cases, that is, when the number of output values output from the selected latch 411 is “1”, or 512 or more and 1023 or less, the AND circuit 508 outputs the value “ "0" is output.

OR回路509には、AND回路505及び508各々の出力が入力される。従って、OR回路509は、AND回路505及び508の出力のうちの少なくとも一方の値が「1」のとき、すなわち、選択されたラッチ411の出力値が「1」であった個数が1個以上511個以下の場合若しくは1023個の場合に、値「1」を出力する。一方、この他の場合、すなわち、選択されたラッチ411の出力値が「1」であった個数が0個の場合若しくは512個以上1022個以下の場合に、OR回路509は値「0」を出力する。このOR回路509の出力が、ID判定回路421からの2ビットの出力のうちの下位ビットの出力(ID[0])として導き出される。   The outputs of the AND circuits 505 and 508 are input to the OR circuit 509. Therefore, the OR circuit 509 is one or more when the value of at least one of the outputs of the AND circuits 505 and 508 is “1”, that is, the output value of the selected latch 411 is “1”. When the number is 511 or less or 1023, the value “1” is output. On the other hand, in other cases, that is, when the number of output values of the selected latch 411 being “1” is 0 or 512 or more and 1022 or less, the OR circuit 509 changes the value “0”. Output. The output of the OR circuit 509 is derived as the lower bit output (ID [0]) of the 2-bit output from the ID determination circuit 421.

以上の動作をまとめると、選択されたラッチ411からの1023ビット分の出力値のうちで値が「1」の個数が0個である場合(すなわち、当該出力値が全て「0」であった場合)には、ID判定回路421の出力は、上位ビット・下位ビット共に「0」となる。また、この1023ビット分の出力値のうちで値が「1」の個数が1023個である場合(すなわち、当該出力値が全て「1」であった場合)には、ID判定回路421の出力は、上位ビット・下位ビット共に「1」となる。更に、この1023ビット分の出力値のうちで値が「1」の個数が1個以上511個以下である場合(すなわち、当該出力値の50パーセント以上が「0」の場合)には、ID判定回路421の出力は、上位ビットが「0」となり、下位ビットが「1」となる。そして、この1023ビット分の出力値のうちで値が「1」の個数が512個以上1022個以下である場合(すなわち、出力値の50パーセント以上が「1」の場合)には、ID判定回路421の出力は、上位ビットが「1」となり、下位ビットが「0」となる。   To summarize the above operations, when the number of output values corresponding to “1” is 0 among the output values of 1023 bits from the selected latch 411 (that is, the output values are all “0”). In this case, the output of the ID determination circuit 421 is “0” for both the upper and lower bits. Further, when the number of values “1” among the output values for 1023 bits is 1023 (that is, when all the output values are “1”), the output of the ID determination circuit 421 is output. Is “1” for both the upper and lower bits. Further, when the number of values “1” among the output values for 1023 bits is 1 or more and 511 or less (that is, when 50% or more of the output values is “0”), the ID In the output of the determination circuit 421, the upper bit is “0” and the lower bit is “1”. If the number of “1” s among the output values for 1023 bits is 512 or more and 1022 or less (that is, 50% or more of the output values is “1”), the ID determination In the output of the circuit 421, the upper bit is “1” and the lower bit is “0”.

なお、ID判定回路421を図8の構成例のようなハードウェアのみで構成する代わりに、ID判定回路421の機能を演算処理装置で実現させるプログラム(ソフトウェア)を作成し、当該プログラムを当該演算処理装置で実行させるようにして構成してもよい。   Instead of configuring the ID determination circuit 421 only with hardware as in the configuration example of FIG. 8, a program (software) that realizes the function of the ID determination circuit 421 with an arithmetic processing device is created, and the program is executed as the calculation. You may comprise so that it may be performed with a processing apparatus.

図7の説明に戻る。
シフトレジスタ422には、バタフライ型PUF部410の128個のラッチ411の出力のうちの1つが順にセレクタ402により選択されてID判定回路421に入力されたときにID判定回路421から出力される2ビットの数値が順次格納される。
Returning to the description of FIG.
The shift register 422 outputs 2 from the ID determination circuit 421 when one of the 128 latches 411 outputs of the butterfly-type PUF unit 410 is sequentially selected by the selector 402 and input to the ID determination circuit 421. Bit numbers are stored sequentially.

エントロピ圧縮部423は、シフトレジスタ422に並べられた256(128×2)ビットのビット列に対してエントロピ圧縮を行い、得られた値を、個体別情報(レスポンス)の生成結果として出力する。   The entropy compression unit 423 performs entropy compression on a bit string of 256 (128 × 2) bits arranged in the shift register 422, and outputs the obtained value as a result of generating individual information (response).

シフトレジスタ422に格納された値をそのままレスポンスとして使用すると、128個のラッチ411のセレクタ402による選択順序と、シフトレジスタ422に格納されているビット列の並び順とが1対1対応してしまう。従って、この対応関係を推測されてしまうと、チャレンジ(ラッチ411の選択)に対するレスポンスの値が推測できてしまう可能性がある。エントロピ圧縮部423は、この推測を困難なものとするためのものである。   If the value stored in the shift register 422 is used as a response as it is, the selection order by the selector 402 of the 128 latches 411 and the arrangement order of the bit strings stored in the shift register 422 have a one-to-one correspondence. Therefore, if this correspondence is inferred, there is a possibility that the value of the response to the challenge (selection of the latch 411) can be inferred. The entropy compression unit 423 is for making this estimation difficult.

エントロピ圧縮部423としては、例えば一方向性関数回路を使用する。一方向性関数回路は、入力が一意であれば、出力が一意に定まるが、出力から入力を求めることは非常に困難な関数である。なお、本実施例では、エントロピ圧縮部423として、入力されたビット列に対するハッシュ関数値を得る回路を用いる。より具体的には、この回路として、米国連邦情報処理基準(Federal Information Processing Standard/FIPS)に採用されているハッシュ関数であるSHA−256によるハッシュ関数値を得る回路を用いる。このエントロピ圧縮部423を用いることで、レスポンスからチャレンジを推測することが極めて困難なものとなり、安全性が向上する。   As the entropy compression unit 423, for example, a one-way function circuit is used. In the one-way function circuit, if the input is unique, the output is uniquely determined, but it is a very difficult function to obtain the input from the output. In this embodiment, a circuit that obtains a hash function value for the input bit string is used as the entropy compression unit 423. More specifically, as this circuit, a circuit that obtains a hash function value based on SHA-256, which is a hash function adopted in the Federal Information Processing Standard (FIPS), is used. By using this entropy compression unit 423, it becomes extremely difficult to guess the challenge from the response, and safety is improved.

図7の個体別情報生成装置120では、以上のようにして個体別情報が生成される。
次に温度検出部430について説明する。温度検出部430は、温度判定シーケンサ431と、不揮発性メモリ432と、レジスタ433とを備えている。
In the individual information generation apparatus 120 in FIG. 7, individual information is generated as described above.
Next, the temperature detection unit 430 will be described. The temperature detection unit 430 includes a temperature determination sequencer 431, a nonvolatile memory 432, and a register 433.

温度判定シーケンサ431は、レジスタ433に格納されているラッチ411の出力と、不揮発性メモリ432に記憶されているデータとに基づいて、この個体別情報生成装置120が実装されているチップ200の周囲温度を判定する。ここで、この周囲温度の判定結果が所定の温度範囲外である場合には、暗号化処理停止信号を出力する。この暗号化処理停止信号がCPU210により受信されると、CPU210は、暗号演算器220を制御して、暗号演算器220による暗号化処理の実行を禁止する。また、この暗号化処理停止信号はエントロピ圧縮部423にも送られ、エントロピ圧縮部423は、暗号化処理停止信号を受信した場合には、個体別情報の出力を中止する。   Based on the output of the latch 411 stored in the register 433 and the data stored in the non-volatile memory 432, the temperature determination sequencer 431 is arranged around the chip 200 on which the individual information generation device 120 is mounted. Determine the temperature. Here, if the determination result of the ambient temperature is outside the predetermined temperature range, an encryption processing stop signal is output. When the encryption processing stop signal is received by the CPU 210, the CPU 210 controls the cryptographic operation unit 220 to prohibit the encryption processing unit 220 from executing the encryption processing. The encryption processing stop signal is also sent to the entropy compression unit 423, and when receiving the encryption processing stop signal, the entropy compression unit 423 stops outputting the individual information.

不揮発性メモリ432は、後述するテンプレート情報を記憶しておくものである。なお、テンプレート情報の漏出によって個体別情報生成装置120が生成する個体別情報が推定されることの防止のために、不揮発性メモリ432は耐タンパ性を有しているものを用いることが好ましい。
レジスタ433は、ラッチ411から出力されるビット列のうち、温度判定シーケンサ431からの選択信号に基づきセレクタ402によって選択されたものを格納する。
The nonvolatile memory 432 stores template information to be described later. In order to prevent estimation of individual information generated by the individual information generation device 120 due to leakage of template information, it is preferable to use a non-volatile memory 432 having tamper resistance.
The register 433 stores a bit string output from the latch 411 and selected by the selector 402 based on a selection signal from the temperature determination sequencer 431.

ここで、温度検出部430による周囲温度の判定の手法について、図9A及び図9Bを用いて説明する。
図2のバタフライ型PUF10では、入力Aが0から1へと変化させる立ち上がりのタイミングにおいて、出力B及びCの値を変化させて0若しくは1とする。従って、入力Aとしてクロック信号をバタフライ型PUF10に印加すると、出力B及びCとしてビット列が出力される。従って、クロック信号をバタフライ型PUF10に例えば200万サイクル入力すれば、200万ビットのビット列がバタフライ型PUF10から出力される。
Here, a method of determining the ambient temperature by the temperature detection unit 430 will be described with reference to FIGS. 9A and 9B.
In the butterfly type PUF 10 of FIG. 2, the values of the outputs B and C are changed to 0 or 1 at the rising timing when the input A changes from 0 to 1. Therefore, when a clock signal is applied to the butterfly type PUF 10 as the input A, a bit string is output as the outputs B and C. Therefore, if a clock signal is input to the butterfly type PUF 10 for 2 million cycles, for example, a bit string of 2 million bits is output from the butterfly type PUF 10.

ここで、この200万ビットのビット列を、図9Aに図解するように、1024ビットを1区間とする計2048区間(kukan1,kukan2,…,kukan2048)のビット列に分割する。そして、この区間毎の1024ビットのビット列において、値が1であるビットの個数を計数し、値が1であるビットがビット列に含まれている頻度を各区間について算出する。図9Bは、バタフライ型PUF10が形成されている半導体チップの周囲温度を25℃(室温)とした場合と85℃とした場合とにおける、この算出結果をプロットしたグラフの一例である。   Here, as illustrated in FIG. 9A, this 2 million-bit bit string is divided into a total of 2048 sections (kukan1, kukan2,..., Kukan2048) having 1024 bits as one section. Then, in the 1024-bit bit string for each section, the number of bits having a value of 1 is counted, and the frequency at which bits having a value of 1 are included in the bit string is calculated for each section. FIG. 9B is an example of a graph plotting the calculation results when the ambient temperature of the semiconductor chip on which the butterfly-type PUF 10 is formed is 25 ° C. (room temperature) and 85 ° C.

発明者は、十数個の半導体チップ(FPGA:Field-Programmable Gate Array )を使用して上述の実験を行った。この実験の結果、複数個のバタフライ型PUF10を単一の半導体チップに形成した場合であっても、その半導体チップの周囲温度によって、上記の算出結果から得られるグラフの傾向が異なることが判明した。   The inventor conducted the above-described experiment using ten or more semiconductor chips (FPGA: Field-Programmable Gate Array). As a result of this experiment, it was found that even when a plurality of butterfly-type PUFs 10 are formed on a single semiconductor chip, the tendency of the graph obtained from the above calculation results differs depending on the ambient temperature of the semiconductor chip. .

すなわち、図9Bのグラフを得たバタフライ型PUF10では、周囲温度が上昇すると、出力ビット列中に含まれる1の割合が増加することが分かった。また、その一方で、バタフライ型PUF10には、周囲温度が上昇すると、出力ビット列中に含まれる1の割合が減少するものや、周囲温度の変化に対して出力ビット列中に含まれる1の割合がほとんど変化しないものが存在することも分かった。   That is, in the butterfly-type PUF 10 obtained from the graph of FIG. 9B, it was found that when the ambient temperature increases, the ratio of 1 included in the output bit string increases. On the other hand, in the butterfly-type PUF 10, when the ambient temperature rises, the ratio of 1 included in the output bit string decreases, or the ratio of 1 included in the output bit string with respect to the change in the ambient temperature. I also found that there are things that hardly change.

そこで、図7の温度判定シーケンサ431は、バタフライ型PUF部410のラッチ411が出力するビット列における所定値「1」の頻度が周囲温度に応じて変化することを利用し、この頻度から周囲温度の推定を行う。より具体的には、温度判定シーケンサ431は、以下に説明するようにして、チップ200の周囲温度を推定する。   Therefore, the temperature determination sequencer 431 in FIG. 7 uses the fact that the frequency of the predetermined value “1” in the bit string output from the latch 411 of the butterfly-type PUF unit 410 changes according to the ambient temperature, and the ambient temperature is calculated from this frequency. Make an estimate. More specifically, the temperature determination sequencer 431 estimates the ambient temperature of the chip 200 as described below.

まず、チップ200に形成されているバタフライ型PUF部410の各ラッチ411について、チップ200の周囲温度と、値が1であるビットが出力ビット列に含まれている頻度についての前述した区間の平均値(平均頻度)との関係をチップ200毎について求める。次に、求められた関係から、各チップ200について、周囲温度に対する平均頻度の変化が単調増加若しくは単調減少しているラッチ411を選択する。そして、選択されたラッチ411についての上述した関係を表しているテンプレート情報を生成して不揮発性メモリ432に記憶させておく。図10のテーブルは、このテンプレート情報の例であり、異なるチップ200(「チップA」及び「チップB」)についてのものであり、それぞれ選択された2つのラッチ411についての周囲温度と頻度との関係がテーブル形式で示されている。   First, for each latch 411 of the butterfly-type PUF unit 410 formed on the chip 200, the average value of the above-described interval with respect to the ambient temperature of the chip 200 and the frequency with which a bit having a value of 1 is included in the output bit string A relationship with (average frequency) is obtained for each chip 200. Next, for each chip 200, a latch 411 in which the change in average frequency with respect to the ambient temperature monotonously increases or decreases is selected from the obtained relationship. Then, template information representing the above-described relationship for the selected latch 411 is generated and stored in the nonvolatile memory 432. The table of FIG. 10 is an example of this template information, which is for different chips 200 (“chip A” and “chip B”), and the ambient temperature and frequency for each of the two selected latches 411. The relationship is shown in table format.

周囲温度の検出時には、温度判定シーケンサ431は、まず、セレクタ402に選択信号を出力して、不揮発性メモリ432に記憶されている上述のテンプレート情報で上述の関係が表されているラッチ411の出力を選択させる。すると、選択されたラッチ411の出力であるビット列が、セレクタ402を介してレジスタ433に送られる。レジスタ433は、オシレータ401で生成されたクロック信号に同期しているこのビット列を格納する。
なお、本実施例では、レジスタ433に格納するビット列のビット数を、前述した1区間のビット列に相当する1024ビットとするが、このビット数でなくてもよい。
When detecting the ambient temperature, the temperature determination sequencer 431 first outputs a selection signal to the selector 402 and outputs the latch 411 in which the above relationship is represented by the above template information stored in the nonvolatile memory 432. To select. Then, the bit string that is the output of the selected latch 411 is sent to the register 433 via the selector 402. The register 433 stores this bit string synchronized with the clock signal generated by the oscillator 401.
In the present embodiment, the number of bits of the bit string stored in the register 433 is 1024 bits corresponding to the bit string of one section described above, but it may not be this number of bits.

次に、温度判定シーケンサ431は、レジスタ433に格納されているビット列を読み出して、そのビット列において値が1であるビットの個数を計数する。そして、そのビット列のビット数に対する当該個数の割合を、値が1であるビットがビット列に含まれている頻度として算出する。ここで、温度判定シーケンサ431は、不揮発性メモリ432に記憶されている上述のテンプレート情報を参照してこの頻度に対応付けられている周囲温度を読み出し、読み出された周囲温度を、チップ200の周囲温度の判定結果とする。   Next, the temperature determination sequencer 431 reads the bit string stored in the register 433, and counts the number of bits having a value of 1 in the bit string. Then, the ratio of the number of bits to the number of bits of the bit string is calculated as the frequency at which bits having a value of 1 are included in the bit string. Here, the temperature determination sequencer 431 reads the ambient temperature associated with this frequency with reference to the above-described template information stored in the nonvolatile memory 432, and uses the read ambient temperature of the chip 200. Use the ambient temperature judgment result.

なお、温度判定シーケンサ431は、頻度の算出を、ラッチ411が出力するビット列の他の区間でも行い、各区間について算出された頻度の平均値に基づいて周囲温度の判定を行うようにしてもよい。また、この場合に、算出された頻度に対応付けられている周囲温度をテンプレート情報から区間毎に求め、得られた周囲温度の下限値から上限値までの範囲を、チップ200の周囲温度の検出結果としてもよい。   The temperature determination sequencer 431 may calculate the frequency also in other sections of the bit string output from the latch 411 and determine the ambient temperature based on the average value of the frequencies calculated for each section. . In this case, the ambient temperature associated with the calculated frequency is obtained for each section from the template information, and the range from the lower limit value to the upper limit value of the obtained ambient temperature is detected as the ambient temperature of the chip 200. As a result.

次に図11について説明する。図11は、個体別情報生成装置120の構成の第二の例を図解したものであり、前述したメタスタビリティ型PUFの一例であるバタフライ型PUFを用いて個体別情報の生成を行うものである。   Next, FIG. 11 will be described. FIG. 11 illustrates a second example of the configuration of the individual-specific information generation apparatus 120, and generates individual-specific information using a butterfly-type PUF that is an example of the metastability-type PUF described above. .

図11に図解した第二の例は、図7に示した第一の例とは、不揮発性メモリ432を備えていない点が相違している。ここでは、この相違点に関して説明する。
図11の個体別情報生成装置120では、前述のテンプレート情報が、サーバ装置300の有している不図示の記憶装置に記憶されている。温度判定シーケンサ431は、テンプレート情報を参照する場合には、通信インタフェース部250及び通信ネットワーク310を介してサーバ装置300に問い合わせを行って、テンプレート情報を取得する。
The second example illustrated in FIG. 11 is different from the first example illustrated in FIG. 7 in that the nonvolatile memory 432 is not provided. Here, this difference will be described.
In the individual-specific information generation device 120 in FIG. 11, the template information described above is stored in a storage device (not shown) included in the server device 300. When referring to the template information, the temperature determination sequencer 431 makes an inquiry to the server apparatus 300 via the communication interface unit 250 and the communication network 310 to acquire the template information.

個体別情報生成装置120を図11のように構成することで、テンプレート情報の個体別情報生成装置120からの漏出が防止され、また、不揮発性メモリ432が不要となるので、個体別情報生成装置120の小型化が可能になる。   By configuring the individual-specific information generation apparatus 120 as shown in FIG. 11, leakage of template information from the individual-specific information generation apparatus 120 is prevented, and the nonvolatile memory 432 is not required. The 120 can be downsized.

なお、温度判定シーケンサ431は、サーバ装置300からテンプレート情報を取得することができなかった場合には、例えばオシレータ401の動作を停止させて、バタフライ型PUF部410の各ラッチ411の動作を停止させるようにしてもよい。   Note that the temperature determination sequencer 431 stops the operation of each latch 411 of the butterfly PUF unit 410, for example, by stopping the operation of the oscillator 401 when the template information cannot be acquired from the server device 300. You may do it.

次に図12について説明する。図12は、個体別情報生成装置120の構成の第三の例を図解したものであり、前述したメタスタビリティ型PUFの一例であるSRAM−PUFを用いて個体別情報の生成を行うものである。   Next, FIG. 12 will be described. FIG. 12 illustrates a third example of the configuration of the individual-specific information generation apparatus 120, and generates individual-specific information using an SRAM-PUF that is an example of the metastability type PUF described above. .

図12の個体別情報生成装置120は、SRAM−PUF部440、セレクタ402、PUF出力部420、及び温度検出部430を備えている。つまり、この第三の例は、図13に示した第一の例とは、バタフライ型PUF部410と、バタフライ型PUF部410のラッチ411に与えるクロック信号を生成するオシレータ401との代わりに、SRAM−PUF部440を備えている点が相違している。   The individual-specific information generation apparatus 120 in FIG. 12 includes an SRAM-PUF unit 440, a selector 402, a PUF output unit 420, and a temperature detection unit 430. That is, the third example is different from the first example shown in FIG. 13 in place of the butterfly-type PUF unit 410 and the oscillator 401 that generates the clock signal to be supplied to the latch 411 of the butterfly-type PUF unit 410. The difference is that an SRAM-PUF unit 440 is provided.

SRAM−PUF部440は、前述したように、メタスタビリティ型PUFの一例であり、SRAMへの電力供給を開始した直後のメモリセルの初期値のばらつきを利用したPUFである。ここでは、個体別情報生成装置120に与えられたチャレンジによって、SRAM−PUF部440が備えている多数のSRAMメモリセル441のうちから128個が選択されたものとする。   As described above, the SRAM-PUF unit 440 is an example of a metastability type PUF, and is a PUF that uses variations in initial values of memory cells immediately after the start of power supply to the SRAM. Here, it is assumed that 128 pieces are selected from the many SRAM memory cells 441 provided in the SRAM-PUF unit 440 by the challenge given to the individual-specific information generation apparatus 120.

セレクタ402は、チャレンジによって選択された128個のSRAMメモリセル441の出力からサイクリックに1つずつ出力を選択してPUF出力部420へ入力する。また、セレクタ402は、温度判定シーケンサ431からの選択信号に基づいて、SRAMメモリセル441のうちの1つを選択し、その格納内容を読み出させてレジスタ433に格納させる。
PUF出力部420及び温度検出部430は、図7の第一の例が備えているものと同様のものである。
The selector 402 selects one output at a time from the outputs of the 128 SRAM memory cells 441 selected by the challenge, and inputs them to the PUF output unit 420. Further, the selector 402 selects one of the SRAM memory cells 441 based on the selection signal from the temperature determination sequencer 431, reads the stored content, and stores it in the register 433.
The PUF output unit 420 and the temperature detection unit 430 are the same as those provided in the first example of FIG.

図12の個体別情報生成装置120では、SRAM−PUF部440への電力の供給及び停止が繰り返されることで、電力供給時の初期値がSRAMメモリセル441から順次得られる。ID判定回路421は、セレクタ402によって選択されたSRAMメモリセル441からの連続する1023ビット分の初期値が全て「0」である場合には「00」を出力し、当該連続する1023ビット分の初期値が全て「1」である場合には「11」を出力する。また、このID判定回路421は、当該1023ビット分の初期値のうち、値が「0」である個数が512個以上である場合(すなわち、出力値の50パーセント以上が「0」の場合)には、「01」を出力する。更に、このID判定回路421は、当該1023ビット分の初期値のうち、値が「1」である個数が512個以上である場合(すなわち、出力値の50パーセント以上が「1」の場合)には、「10」を出力する。   In the individual-specific information generation device 120 in FIG. 12, the initial value at the time of power supply is sequentially obtained from the SRAM memory cell 441 by repeatedly supplying and stopping power to the SRAM-PUF unit 440. The ID determination circuit 421 outputs “00” when the initial values of 1023 consecutive bits from the SRAM memory cell 441 selected by the selector 402 are all “0”, and outputs 1023 consecutive bits. If all the initial values are “1”, “11” is output. In addition, the ID determination circuit 421 has 512 or more initial values for 1023 bits whose value is “0” (that is, 50% or more of the output value is “0”). Outputs “01”. Further, the ID determination circuit 421 has 512 or more initial values for the 1023 bits whose value is “1” (that is, 50% or more of the output value is “1”). Outputs “10”.

シフトレジスタ422には、SRAM−PUF部440の128個のSRAMメモリセル441の出力のうちの1つが順にセレクタ402により選択されてID判定回路421に入力されたときにID判定回路421から出力される2ビットの数値が順次格納される。   The shift register 422 outputs from the ID determination circuit 421 when one of the outputs of the 128 SRAM memory cells 441 of the SRAM-PUF unit 440 is sequentially selected by the selector 402 and input to the ID determination circuit 421. 2-bit numerical values are sequentially stored.

エントロピ圧縮部423は、シフトレジスタ422に並べられた256(128×2)ビットのビット列に対してエントロピ圧縮を行い、得られた値を、個体別情報(レスポンス)の生成結果として出力する。   The entropy compression unit 423 performs entropy compression on a bit string of 256 (128 × 2) bits arranged in the shift register 422, and outputs the obtained value as a result of generating individual information (response).

温度判定シーケンサ431は、レジスタ433に格納されているラッチ411の出力と、不揮発性メモリ432に記憶されているデータとに基づいて、この個体別情報生成装置120が実装されているチップ200の周囲温度を判定する。ここで、この周囲温度の判定結果が所定の温度範囲外である場合には、暗号化処理停止信号を出力する。この暗号化処理停止信号がCPU210により受信されると、CPU210は、暗号演算器220を制御して、暗号演算器220による暗号化処理の実行を禁止する。また、この暗号化処理停止信号はエントロピ圧縮部423にも送られ、エントロピ圧縮部423は、暗号化処理停止信号を受信した場合には、個体別情報の出力を中止する。   Based on the output of the latch 411 stored in the register 433 and the data stored in the non-volatile memory 432, the temperature determination sequencer 431 is arranged around the chip 200 on which the individual information generation device 120 is mounted. Determine the temperature. Here, if the determination result of the ambient temperature is outside the predetermined temperature range, an encryption processing stop signal is output. When the encryption processing stop signal is received by the CPU 210, the CPU 210 controls the cryptographic operation unit 220 to prohibit the encryption processing unit 220 from executing the encryption processing. The encryption processing stop signal is also sent to the entropy compression unit 423, and when receiving the encryption processing stop signal, the entropy compression unit 423 stops outputting the individual information.

この温度判定シーケンサ431による周囲温度の判定の手法も、図7の第一の例のものと同様である。
すなわち、SRAMメモリセル441の各々について、チップ200の周囲温度と、値が1であるビットが出力ビット列に含まれている頻度についての前述した区間の平均値(平均頻度)との関係をチップ200毎について求める。次に、求められた関係から、各チップ200について、周囲温度に対する平均頻度の変化が単調増加若しくは単調減少しているSRAMメモリセル441を選択する。そして、選択されたラッチ411についての上述した関係を表しているテンプレート情報を生成して不揮発性メモリ432に記憶させておく。
The method for determining the ambient temperature by the temperature determination sequencer 431 is also the same as that in the first example of FIG.
That is, for each of the SRAM memory cells 441, the relationship between the ambient temperature of the chip 200 and the average value (average frequency) of the above-described interval with respect to the frequency at which the bit having a value of 1 is included in the output bit string is represented by the chip 200. Ask for each. Next, for each chip 200, the SRAM memory cell 441 in which the change in average frequency with respect to the ambient temperature monotonously increases or decreases is selected from the obtained relationship. Then, template information representing the above-described relationship for the selected latch 411 is generated and stored in the nonvolatile memory 432.

温度判定シーケンサ431は、周囲温度の検出時には、まず、セレクタ402に選択信号を出力して、不揮発性メモリ432に記憶されている上述のテンプレート情報で上述の関係が表されているSRAMメモリセル441を選択させる。すると、選択されたSRAMメモリセル441の内容が、セレクタ402を介してレジスタ433に送られる。レジスタ433は、SRAM−PUF部440への電力の供給及び停止の繰り返しに同期しているこのビット列を格納する。温度判定シーケンサ431は、レジスタ433に格納されているビット列を読み出して、そのビット列において値が1であるビットの個数を計数する。そして、そのビット列のビット数に対する当該個数の割合を、値が1であるビットがビット列に含まれている頻度として算出する。ここで、温度判定シーケンサ431は、不揮発性メモリ432に記憶されている上述のテンプレート情報を参照してこの頻度に対応付けられている周囲温度を読み出し、読み出された周囲温度を、チップ200の周囲温度の判定結果とする。   When detecting the ambient temperature, the temperature determination sequencer 431 first outputs a selection signal to the selector 402, and the SRAM memory cell 441 in which the above relationship is represented by the above template information stored in the nonvolatile memory 432. To select. Then, the content of the selected SRAM memory cell 441 is sent to the register 433 via the selector 402. The register 433 stores this bit string synchronized with the repeated supply and stop of power to the SRAM-PUF unit 440. The temperature determination sequencer 431 reads the bit string stored in the register 433, and counts the number of bits having a value of 1 in the bit string. Then, the ratio of the number of bits to the number of bits of the bit string is calculated as the frequency at which bits having a value of 1 are included in the bit string. Here, the temperature determination sequencer 431 reads the ambient temperature associated with this frequency with reference to the above-described template information stored in the nonvolatile memory 432, and uses the read ambient temperature of the chip 200. Use the ambient temperature judgment result.

なお、図12に図解した個体別情報生成装置120の構成を変形して、図11に図解した第二の例のように構成してもよい。すなわち、前述したテンプレート情報を、サーバ装置300の有している記憶装置に記憶させておくようにしてもよい。このように構成する場合には、温度判定シーケンサ431は、テンプレート情報を参照するときは、第二の例の場合と同様に、通信インタフェース部250及び通信ネットワーク310を介してサーバ装置300に問い合わせを行えばよい。   Note that the configuration of the individual-specific information generation apparatus 120 illustrated in FIG. 12 may be modified and configured as in the second example illustrated in FIG. That is, the template information described above may be stored in a storage device that the server device 300 has. In the case of such a configuration, the temperature determination sequencer 431 makes an inquiry to the server apparatus 300 via the communication interface unit 250 and the communication network 310 as in the second example when referring to the template information. Just do it.

なお、今までに説明した個体別情報生成装置120の構成の第一の例から第三の例は、いずれも、同じPUFを個体別情報の生成と温度検出とに共用するように構成されている。すなわち、チップ200の周囲温度が所定の温度範囲外であることがPUFを用いて検出された場合には、個体別情報生成装置120は、個体別情報の出力を中止すると共に、暗号化処理の実行停止を指示する信号を出力するようにしていた。ここで、チップ200の周囲温度が所定の温度範囲外であることが検出された場合には、更に、PUFそのものの動作を停止させるようにしてもよい。また、上述の信号を受信したCPU210は、暗号演算器220による暗号化処理の実行を禁止させる制御を行うと共に、以降の個体別情報生成装置120からの出力を全て無効として使用しないようにして、安全性の更なる向上を目指してもよい。   The first to third examples of the configuration of the individual information generation device 120 described so far are all configured to share the same PUF for generation of individual information and temperature detection. Yes. That is, when it is detected using the PUF that the ambient temperature of the chip 200 is outside the predetermined temperature range, the individual-specific information generation apparatus 120 stops outputting the individual-specific information and performs encryption processing. A signal to stop execution was output. Here, when it is detected that the ambient temperature of the chip 200 is outside the predetermined temperature range, the operation of the PUF itself may be further stopped. In addition, the CPU 210 that has received the above-described signal performs control to prohibit execution of the encryption processing by the cryptographic calculator 220, and does not invalidate all subsequent outputs from the individual-specific information generation device 120. You may aim at the further improvement of safety.

また、上述したように同じPUFを個体別情報の生成と温度検出とに共用する代わりに、個体別情報の生成と温度検出とに別々のPUFを実装するようにしてもよい。すなわち、図13に図解した暗号化処理システム600の構成のように、温度検出装置610と個体別情報生成装置620との各々に専用のPUFを実装するようにしてもよい。   As described above, instead of sharing the same PUF for generation of individual information and temperature detection, separate PUFs may be mounted for generation of individual information and temperature detection. That is, as in the configuration of the encryption processing system 600 illustrated in FIG. 13, a dedicated PUF may be mounted on each of the temperature detection device 610 and the individual-specific information generation device 620.

図13の構成では、温度検出装置610が、自らが有しているPUFを用いて周囲温度の検出を行い、周囲温度が所定の温度範囲外であることが検出された場合には、個体別情報生成装置620及び暗号化装置630に停止信号を出力する。個体別情報生成装置620は、自らが有しているPUFを用いて個体別情報の生成を行うが、上述した停止信号を受け取った場合には、個体別情報の生成を中止する。また、暗号化装置630は、個体別情報生成装置620により生成される個体別情報を用いて情報の暗号化処理を行うが、上述した停止信号を受け取った場合には、この暗号化処理の実行を中止する。   In the configuration of FIG. 13, the temperature detection device 610 detects the ambient temperature using its own PUF, and when it is detected that the ambient temperature is outside the predetermined temperature range, A stop signal is output to the information generation device 620 and the encryption device 630. The individual-specific information generation device 620 generates individual-specific information using the PUF that it owns, but stops receiving the individual-specific information when it receives the stop signal described above. The encryption device 630 performs information encryption processing using the individual-specific information generated by the individual-specific information generation device 620. When the above-described stop signal is received, the encryption device 630 executes the encryption processing. Cancel.

このように、個体別情報の生成と温度検出とに別々のPUFを実装することで、各々の機能に適した特性を有しているPUFを使用できるようになるので、各機能の性能が向上する。PUFを用いて行う温度測定では、温度変化に対して敏感なPUFを使用することが好ましい。一方、個体別情報の生成では、周囲温度の変化によらず安定した個体別情報を生成する必要があるため、この生成に使用するPUFは、温度変化に対して影響が少ない方が好ましい。従って、個体別情報の生成用のPUFと、温度測定用のPUFとを兼用せずに専用のものとすることで、2つの機能の各々について性能の向上が期待できる。   In this way, by installing separate PUFs for individual information generation and temperature detection, it becomes possible to use PUFs having characteristics suitable for each function, thus improving the performance of each function. To do. In temperature measurement performed using a PUF, it is preferable to use a PUF that is sensitive to temperature changes. On the other hand, in the generation of individual information, since it is necessary to generate stable individual information regardless of changes in ambient temperature, it is preferable that the PUF used for generation has less influence on temperature changes. Therefore, by using a dedicated PUF for generating individual-specific information and a PUF for temperature measurement, an improvement in performance can be expected for each of the two functions.

なお、以上までに説明した、PUFを用いた温度検出を、電圧の検出に応用することができる。すなわち、周囲温度が一定の環境において、動作させるために印加する電圧と所定値(例えば1)を出力する頻度とが単調に変化する関係を有しているPUFを用いることで、周囲温度が一定の環境での電圧の検出を行うことも可能である。   It should be noted that the temperature detection using the PUF described above can be applied to voltage detection. In other words, in an environment where the ambient temperature is constant, the ambient temperature is constant by using a PUF having a relationship in which the voltage applied for operation and the frequency of outputting a predetermined value (for example, 1) change monotonously. It is also possible to detect the voltage in the environment.

1 デバイス
10 バタフライ型PUF
11、12 NAND回路
20、120、620 個体別情報生成装置
21、21−1、21−2、21−3、21−4、21−5、21−6 PUF
100 温度センサ
101 メタスタビリティ型PUF回路
102 頻度検出部
103 記憶部
104 温度判定部
110、630 暗号化装置
111、121 出力値生成回路
112 暗号鍵生成部
113 暗号化処理部
114 暗号化処理制御部
115 通信部
122 個体別情報生成部
123 個体別情報生成制御部
200 チップ
210 CPU
220 暗号演算器
221 公開鍵コプロセッサ
222 共通鍵コプロセッサ
230 ROM
240 RAM
250 通信インタフェース部
260 バスライン
300 サーバ装置
310 通信ネットワーク
401 オシレータ
402 セレクタ
410 バタフライ型PUF部
411 ラッチ
420 PUF出力部
421 ID判定回路
422 シフトレジスタ
423 エントロピ圧縮部
430 温度検出部
431 温度判定シーケンサ
432 不揮発性メモリ
433 レジスタ
440 SRAM−PUF部
441 SRAMメモリセル
501 ビット数変換器
502 加算器
503 レジスタ
504、506 リダクション演算回路
505、508 AND回路
507 NOT回路
509 OR回路
600 暗号化処理システム
610 温度検出装置
1 device 10 butterfly type PUF
11, 12 NAND circuit 20, 120, 620 Individual information generation device 21, 21-1, 21-2, 21-3, 21-4, 21-5, 21-6 PUF
DESCRIPTION OF SYMBOLS 100 Temperature sensor 101 Metastability type | mold PUF circuit 102 Frequency detection part 103 Memory | storage part 104 Temperature determination part 110,630 Encryption apparatus 111,121 Output value generation circuit 112 Encryption key generation part 113 Encryption process part 114 Encryption process control part 115 Communication unit 122 Individual information generation unit 123 Individual information generation control unit 200 Chip 210 CPU
220 Cryptographic operator 221 Public key coprocessor 222 Common key coprocessor 230 ROM
240 RAM
DESCRIPTION OF SYMBOLS 250 Communication interface part 260 Bus line 300 Server apparatus 310 Communication network 401 Oscillator 402 Selector 410 Butterfly type PUF part 411 Latch 420 PUF output part 421 ID determination circuit 422 Shift register 423 Entropy compression part 430 Temperature detection part 431 Temperature determination sequencer 432 Nonvolatile Memory 433 Register 440 SRAM-PUF unit 441 SRAM memory cell 501 Bit number converter 502 Adder 503 Register 504, 506 Reduction operation circuit 505, 508 AND circuit 507 NOT circuit 509 OR circuit 600 Encryption processing system 610 Temperature detection device

Claims (10)

メタスタビリティ型PUF回路、
前記メタスタビリティ型PUF回路が所定値を出力する頻度を検出する頻度検出部、
周囲温度と前記メタスタビリティ型PUF回路が前記所定値を出力する頻度との関係を表したデータが予め記憶されている記憶部、及び
前記頻度検出部により検出された頻度と前記記憶部に記憶されているデータとに基づいて、周囲温度を判定する温度判定部、
を備える温度センサ
Metastability type PUF circuit,
A frequency detection unit for detecting a frequency at which the metastability type PUF circuit outputs a predetermined value;
A storage unit in which data representing a relationship between an ambient temperature and the frequency at which the metastable PUF circuit outputs the predetermined value is stored in advance, and a frequency detected by the frequency detection unit is stored in the storage unit. A temperature determination unit for determining the ambient temperature based on the data
Temperature sensor with
メタスタビリティ型PUF回路と、
前記メタスタビリティ型PUF回路が所定値を出力する頻度を検出する頻度検出部と、
周囲温度と前記メタスタビリティ型PUF回路が前記所定値を出力する頻度との関係を表したデータが予め記憶されている記憶部と、
前記頻度検出部により検出された頻度と前記記憶部に記憶されているデータとに基づいて、周囲温度を判定する温度判定部と、
を備える温度センサ、
入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する出力値生成回路、
前記出力値生成回路の出力値に基づいて暗号鍵を生成する暗号鍵生成部、
前記暗号鍵生成部により生成された暗号鍵を用いて情報の暗号化処理を行う暗号化処理部、及び
前記温度判定部により判定された周囲温度が所定範囲外である場合に、前記暗号化処理部を制御して前記暗号化処理の実行を禁止する暗号化処理制御部、
を備える暗号化装置。
Metastability type PUF circuit,
A frequency detection unit for detecting a frequency at which the metastability type PUF circuit outputs a predetermined value;
A storage unit in which data representing the relationship between the ambient temperature and the frequency at which the metastable PUF circuit outputs the predetermined value is stored in advance;
A temperature determination unit that determines an ambient temperature based on the frequency detected by the frequency detection unit and the data stored in the storage unit;
A temperature sensor comprising,
An output value generation circuit for outputting a constant value or an indefinite value without uniquely determining an output value generated with respect to an input value;
An encryption key generation unit for generating an encryption key based on an output value of the output value generation circuit;
An encryption processing unit that performs encryption processing of information using the encryption key generated by the encryption key generation unit, and the encryption processing when the ambient temperature determined by the temperature determination unit is outside a predetermined range An encryption processing control unit that controls the unit to prohibit the execution of the encryption processing,
An encryption device comprising:
前記メタスタビリティ型PUF回路が、前記出力値生成回路として共用されている請求項2に記載の暗号化装置。   The encryption apparatus according to claim 2, wherein the metastability type PUF circuit is shared as the output value generation circuit. 前記暗号鍵生成部は、前記温度判定部により判定された周囲温度が所定範囲外である場合には、前記暗号鍵の出力を禁止する請求項2又は3に記載の暗号化装置。   The encryption apparatus according to claim 2 or 3, wherein the encryption key generation unit prohibits output of the encryption key when the ambient temperature determined by the temperature determination unit is outside a predetermined range. 通信ネットワークを介してサーバ装置とデータの授受を行う通信部を更に備え、
前記記憶部が、前記サーバ装置に配置されている、
請求項2又は3に記載の暗号化装置。
A communication unit that exchanges data with the server device via the communication network;
The storage unit is arranged in the server device;
The encryption device according to claim 2 or 3.
前記出力値生成回路は、前記記憶部に記憶されているデータを前記通信部が受け取らない場合には、前記出力値の生成動作を停止する請求項5に記載の暗号化装置。   The encryption apparatus according to claim 5, wherein the output value generation circuit stops the output value generation operation when the communication unit does not receive the data stored in the storage unit. メタスタビリティ型PUF回路が所定値を出力する頻度を検出し、
周囲温度と前記メタスタビリティ型PUF回路が前記所定値を出力する頻度との関係を表したデータが予め記憶されている記憶部に記憶されている該データと、前記検出された頻度とに基づいて、周囲温度を判定し、
入力値に対しての出力値が一義的には定まらずに一定の値若しくは不定の値を出力するデジタル回路の出力値に基づいて暗号鍵を生成し、
前記暗号鍵を用いて情報の暗号化処理を行い、
前記周囲温度の判定により判定された周囲温度が所定範囲内である場合には、前記暗号鍵を用いて情報の暗号化処理を行い、該周囲温度が該所定範囲外である場合には、該暗号化処理の実行を禁止する、
暗号化方法。
Detecting the frequency with which the metastability type PUF circuit outputs a predetermined value,
Based on the data stored in the storage unit in which data representing the relationship between the ambient temperature and the frequency at which the metastable PUF circuit outputs the predetermined value is stored in advance, and the detected frequency Determine the ambient temperature,
An encryption key is generated based on an output value of a digital circuit that outputs a constant value or an indefinite value without uniquely determining an output value for an input value,
Encrypt information using the encryption key,
When the ambient temperature determined by the determination of the ambient temperature is within a predetermined range, information encryption processing is performed using the encryption key, and when the ambient temperature is outside the predetermined range, Prohibit execution of encryption processing,
Encryption method.
前記デジタル回路が、前記頻度の検出がされるメタスタビリティ型PUF回路である請求項7に記載の暗号化方法。   The encryption method according to claim 7, wherein the digital circuit is a metastability type PUF circuit in which the frequency is detected. 請求項1に記載の温度センサ、
入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力する出力値生成回路、
前記出力値生成回路の出力値に基づいて個体別情報を生成する個体別情報生成部、及び
前記温度判定部により判定された周囲温度が所定範囲外である場合に、前記個体別情報生成部により生成される個体別情報の出力を禁止する個体別情報出力制御部、
を備える個体別情報生成装置。
The temperature sensor according to claim 1,
An output value generation circuit for outputting a constant value or an indefinite value without uniquely determining an output value generated with respect to an input value;
The individual-specific information generation unit that generates individual-specific information based on the output value of the output value generation circuit, and when the ambient temperature determined by the temperature determination unit is outside a predetermined range, the individual-specific information generation unit Individual information output control unit that prohibits output of generated individual information,
An individual-specific information generation apparatus comprising:
前記メタスタビリティ型PUF回路が、前記出力値生成回路として共用されている請求項9に記載の個体別情報生成装置。   The individual-specific information generation apparatus according to claim 9, wherein the metastability type PUF circuit is shared as the output value generation circuit.
JP2011279001A 2011-12-20 2011-12-20 Temperature sensor, encryption device, encryption method, and individual information generation device Active JP5857726B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011279001A JP5857726B2 (en) 2011-12-20 2011-12-20 Temperature sensor, encryption device, encryption method, and individual information generation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011279001A JP5857726B2 (en) 2011-12-20 2011-12-20 Temperature sensor, encryption device, encryption method, and individual information generation device

Publications (2)

Publication Number Publication Date
JP2013131868A true JP2013131868A (en) 2013-07-04
JP5857726B2 JP5857726B2 (en) 2016-02-10

Family

ID=48909123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011279001A Active JP5857726B2 (en) 2011-12-20 2011-12-20 Temperature sensor, encryption device, encryption method, and individual information generation device

Country Status (1)

Country Link
JP (1) JP5857726B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016532349A (en) * 2013-10-03 2016-10-13 クアルコム,インコーポレイテッド Physically non-clonal function pattern matching for device identification
JP6081675B1 (en) * 2014-01-10 2017-02-15 クアルコム,インコーポレイテッド Sensor identification
EP3203477A1 (en) 2016-02-03 2017-08-09 Hiroshi Watanabe Semiconductor apparatus and identification method of a semiconductor chip
WO2018168251A1 (en) 2017-03-16 2018-09-20 株式会社デンソー Control device
US10177923B2 (en) 2016-07-15 2019-01-08 Hiroshi Watanabe Electronic appliance and network of the same
US10581841B2 (en) 2017-02-13 2020-03-03 Zentel Japan Corporation Authenticated network
US10693636B2 (en) 2017-03-17 2020-06-23 Guigen Xia Authenticated network
US10706177B2 (en) 2017-02-13 2020-07-07 Hiroshi Watanabe Apparatus and method for chip identification and preventing malicious manipulation of physical addresses by incorporating a physical network with a logical network
US10785022B2 (en) 2016-09-13 2020-09-22 Hiroshi Watanabe Network without abuse of a private key
US11044108B1 (en) 2019-12-24 2021-06-22 CERA Licensing Limited Temperature sensing physical unclonable function (PUF) authentication system
US11516028B2 (en) 2019-12-24 2022-11-29 CERA Licensing Limited Temperature sensing physical unclonable function (PUF) authentication system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875418B (en) * 2017-05-12 2020-08-07 中芯国际集成电路制造(上海)有限公司 Method for generating a PUF signature and device having a PUF

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246970B1 (en) * 1998-07-10 2001-06-12 Silverbrook Research Pty Ltd Method for making a chip tamper-resistant
WO2008056612A1 (en) * 2006-11-06 2008-05-15 Panasonic Corporation Information security apparatus
WO2009024913A2 (en) * 2007-08-22 2009-02-26 Intrinsic Id Bv Identification of devices using physically unclonable functions
US20090276232A1 (en) * 2008-05-02 2009-11-05 Goodnow Kenneth J Warranty monitoring and enforcement for integrated circuit
EP2211289A1 (en) * 2009-01-22 2010-07-28 Robert Bosch GmbH Method and control device for protecting a sensor against manipulation
JP2010279003A (en) * 2009-06-01 2010-12-09 Sony Corp Malfunction occurrence attack detection circuit and integrated circuit
WO2011086688A1 (en) * 2010-01-15 2011-07-21 三菱電機株式会社 Bit sequence generation device and bit sequence generation method
JP2011526113A (en) * 2008-06-27 2011-09-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Apparatus, system, and method for verifying authenticity, integrity, and / or physical state of an item

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246970B1 (en) * 1998-07-10 2001-06-12 Silverbrook Research Pty Ltd Method for making a chip tamper-resistant
WO2008056612A1 (en) * 2006-11-06 2008-05-15 Panasonic Corporation Information security apparatus
WO2009024913A2 (en) * 2007-08-22 2009-02-26 Intrinsic Id Bv Identification of devices using physically unclonable functions
US20090276232A1 (en) * 2008-05-02 2009-11-05 Goodnow Kenneth J Warranty monitoring and enforcement for integrated circuit
JP2011526113A (en) * 2008-06-27 2011-09-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Apparatus, system, and method for verifying authenticity, integrity, and / or physical state of an item
EP2211289A1 (en) * 2009-01-22 2010-07-28 Robert Bosch GmbH Method and control device for protecting a sensor against manipulation
JP2010279003A (en) * 2009-06-01 2010-12-09 Sony Corp Malfunction occurrence attack detection circuit and integrated circuit
WO2011086688A1 (en) * 2010-01-15 2011-07-21 三菱電機株式会社 Bit sequence generation device and bit sequence generation method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015017003; 岩井 祐樹、太田 和夫、崎山 一男: '"故障感度解析を利用したPUFの実現について"' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 2D1-3, 20110125, p.1-8, 電子情報通信学会情報セキュリティ研究専門委員会 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016532349A (en) * 2013-10-03 2016-10-13 クアルコム,インコーポレイテッド Physically non-clonal function pattern matching for device identification
JP6081675B1 (en) * 2014-01-10 2017-02-15 クアルコム,インコーポレイテッド Sensor identification
US10146929B2 (en) 2014-01-10 2018-12-04 Qualcomm Incorporated Sensor identification
EP3203477A1 (en) 2016-02-03 2017-08-09 Hiroshi Watanabe Semiconductor apparatus and identification method of a semiconductor chip
US10460824B2 (en) 2016-02-03 2019-10-29 Hiroshi Watanabe Semiconductor apparatus with reduced risks of chip counterfeiting and network invasion
US10177923B2 (en) 2016-07-15 2019-01-08 Hiroshi Watanabe Electronic appliance and network of the same
US10341122B2 (en) 2016-07-15 2019-07-02 Hiroshi Watanabe Electronic appliance and network of the same
US10785022B2 (en) 2016-09-13 2020-09-22 Hiroshi Watanabe Network without abuse of a private key
US10581841B2 (en) 2017-02-13 2020-03-03 Zentel Japan Corporation Authenticated network
US10706177B2 (en) 2017-02-13 2020-07-07 Hiroshi Watanabe Apparatus and method for chip identification and preventing malicious manipulation of physical addresses by incorporating a physical network with a logical network
WO2018168251A1 (en) 2017-03-16 2018-09-20 株式会社デンソー Control device
US11036846B2 (en) 2017-03-16 2021-06-15 Denso Corporation Control device
US10693636B2 (en) 2017-03-17 2020-06-23 Guigen Xia Authenticated network
US11044108B1 (en) 2019-12-24 2021-06-22 CERA Licensing Limited Temperature sensing physical unclonable function (PUF) authentication system
US11516028B2 (en) 2019-12-24 2022-11-29 CERA Licensing Limited Temperature sensing physical unclonable function (PUF) authentication system
US11652649B2 (en) 2019-12-24 2023-05-16 CERA Licensing Limited Sensor secured by physical unclonable function (PUF)

Also Published As

Publication number Publication date
JP5857726B2 (en) 2016-02-10

Similar Documents

Publication Publication Date Title
JP5857726B2 (en) Temperature sensor, encryption device, encryption method, and individual information generation device
US10482291B2 (en) Secure field-programmable gate array (FPGA) architecture
JP5333669B2 (en) Individual information generation apparatus and individual information generation method
CN111095963B (en) Method and apparatus for secure ranging
KR101723006B1 (en) Device authentication using a physically unclonable functions based key generation system
JP5831202B2 (en) Individual information generation apparatus and individual information generation method
KR101252707B1 (en) Method and apparatus for detecting unauthorized access to a computing device and securely communicating information about such unauthorized access
CN109417466B (en) Secret key estimation method and device
EP3537653A1 (en) Verifiable, leak-resistant authentication
Tawalbeh et al. Lightweight crypto and security
Giri et al. Efficient biometric and password based mutual authentication for consumer USB mass storage devices
US11368319B2 (en) Integrated circuit performing authentication using challenge-response protocol and method of using the integrated circuit
Giri et al. A novel and efficient session spanning biometric and password based three-factor authentication protocol for consumer USB mass storage devices
JP5870675B2 (en) Temperature sensor, encryption device, encryption method, and individual information generation device
US11133930B2 (en) Security credentials
JP5831203B2 (en) Individual information generation apparatus, encryption apparatus, authentication system, and individual information generation method
Ulitzsch et al. A post-quantum secure subscription concealed identifier for 6G
Aysu et al. A design method for remote integrity checking of complex PCBs
Dubrova Energy-efficient cryptographic primitives
KR101373576B1 (en) Des encryption system
Ulz et al. Automated Authentication Credential Derivation for the Secured Configuration of IoT Devices
Claeys Security for the internet of things: a bottom-up approach to the secure and standardized internet of things
Zheng et al. Trusted user authentication scheme combining password with fingerprint for mobile devices
Bolotnyy et al. 4 Physical Privacy and Security in RFID Systems
Sood Physically Unclonable Functions with Confidential Computing for Enhanced Encryption of EHRs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141112

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20141212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150623

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151130

R150 Certificate of patent or registration of utility model

Ref document number: 5857726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150