JP2013046334A - Information security system, host, device, control method thereof, and program thereof - Google Patents

Information security system, host, device, control method thereof, and program thereof Download PDF

Info

Publication number
JP2013046334A
JP2013046334A JP2011184503A JP2011184503A JP2013046334A JP 2013046334 A JP2013046334 A JP 2013046334A JP 2011184503 A JP2011184503 A JP 2011184503A JP 2011184503 A JP2011184503 A JP 2011184503A JP 2013046334 A JP2013046334 A JP 2013046334A
Authority
JP
Japan
Prior art keywords
value
oscillator
frequency
signal path
related value
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
JP2011184503A
Other languages
Japanese (ja)
Other versions
JP5747327B2 (en
Inventor
Toshiya Asai
稔也 浅井
Masaya Yoshikawa
雅弥 吉川
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.)
Meijo University
Original Assignee
Meijo University
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 Meijo University filed Critical Meijo University
Priority to JP2011184503A priority Critical patent/JP5747327B2/en
Publication of JP2013046334A publication Critical patent/JP2013046334A/en
Application granted granted Critical
Publication of JP5747327B2 publication Critical patent/JP5747327B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To derive a value of which uniqueness of a device is enhanced.SOLUTION: An IC card includes an oscillation circuit containing a plurality of oscillators having intrinsic oscillation frequency caused by variation in manufacture. Two of the plurality of oscillators are selected, and the selected oscillators are oscillated, to obtain an actual measurement count value C based on the oscillation frequency (steps S600-S605). Then, a response value Re and a corrected count value Cc are derived which is obtained by correcting the actual measurement count value C that has been obtained based on a correction value Cave, which is a value based on an average of the frequencies when an oscillator having the same arrangement and wiring as a selected oscillator of a plurality of IC cards 20 is oscillated (steps S610-S625).

Description

本発明は、情報セキュリティシステム,ホスト,デバイス,その制御方法及びそのプログラムに関する。   The present invention relates to an information security system, a host, a device, a control method thereof, and a program thereof.

従来、情報セキュリティシステムにおいて、PUF(physical Unclonable Function,物理的複製不可能関数)と呼ばれる技術が知られている。このPUFは、製造時に制御できない固有の物理的特徴を用いるものであり、この固有の物理的特徴まで第三者が複製することは困難であることを利用して偽造や秘密情報の漏洩を防止するものである。このようなPUFの具体例として、固有の発振周波数を持つ発振器を用い、この発振器の発振周波数の製造時のわずかなばらつきを固有の物理的特徴として利用するものが考えられている。   Conventionally, a technology called PUF (physical unclonable function) is known in information security systems. This PUF uses unique physical features that cannot be controlled at the time of manufacture, and it is difficult for third parties to duplicate these unique physical features to prevent counterfeiting and leakage of confidential information To do. As a specific example of such a PUF, an oscillator having a specific oscillation frequency is used, and a slight variation at the time of manufacturing the oscillation frequency of this oscillator is used as a specific physical characteristic.

例えば特許文献1には、NOT回路及びNAND回路を直列に接続して出力が発振するように構成したリングオシレーターを、PUFとして用いることが記載されている。そして、このリングオシレーターを複数配置したデバイスにおいて、複数のリングオシレーターのうちから選択された2つのリングオシレーターの発振周波数を測定し、測定した発振周波数の大小関係に基づく値を出力ビットとして出力することが記載されている。これにより、選択されたリングオシレーターの発振周波数の大小関係が製造時のばらつきにより変わることを利用して、固有の値を出力ビットとして出力することができる。例えば、このリングオシレーターと同じものを製造したとしても、製造時の発振周波数のばらつきまでは再現できないため、上記大小関係が同じになるとは限らず、出力ビットは同じ値になるとは限らない。そして、このようなリングオシレーターの選択と出力ビットとの正しい対応関係を予めリングオシレーターの製造時に調べて記憶しておき、リングオシレーターの選択と出力ビットとの対応が予め記憶しておいた対応関係と一致するか否かの判定を複数回行うことで、リングオシレーターを備えたデバイスが正規のものであるか否かを判定できるとしている。   For example, Patent Document 1 describes that a ring oscillator configured so that an output oscillates by connecting a NOT circuit and a NAND circuit in series is used as a PUF. Then, in a device in which a plurality of ring oscillators are arranged, the oscillation frequency of two ring oscillators selected from a plurality of ring oscillators is measured, and a value based on the magnitude relationship of the measured oscillation frequencies is output as an output bit. Is described. As a result, it is possible to output a unique value as an output bit by utilizing the fact that the magnitude relationship of the oscillation frequency of the selected ring oscillator changes due to variations in manufacturing. For example, even if the same ring oscillator is manufactured, the variation in oscillation frequency at the time of manufacture cannot be reproduced. Therefore, the above magnitude relationship is not always the same, and the output bits are not always the same value. The correct correspondence between the selection of the ring oscillator and the output bit is checked and stored in advance when the ring oscillator is manufactured, and the correspondence between the selection of the ring oscillator and the output bit is stored in advance. It is supposed that it can be determined whether or not the device provided with the ring oscillator is genuine by performing the determination of whether or not they match with each other a plurality of times.

国際公開第2008/056612号公報International Publication No. 2008/056612

ここで、発振器の発振周波数は、製造時のばらつきにより変化する他に、発振器の配置や配線の違いによっても変化する。例えば、配線が長ければその分だけ信号の遅延が生じるため、発振周波数が小さくなるなどである。このような発振器の配置や配線の違いによる発振周波数の変化が大きいと、相対的に製造時のばらつきが発振周波数に与える影響が小さくなってしまう。そして、発振器の配置や配線に起因して、選択された発振器と出力される固有の値との対応関係に偏りが生じると、製造時のばらつきが再現できていない偽造品であっても固有の値が正規品と同じになる可能性が高まるなど、デバイスのユニーク性(差異性)が低下してしまい、セキュリティの観点から問題となる。   Here, the oscillation frequency of the oscillator changes due to variations in manufacturing, and also changes due to differences in the arrangement and wiring of the oscillator. For example, if the wiring is long, the signal is delayed by that amount, so that the oscillation frequency becomes small. If the change in the oscillation frequency due to the difference in the placement and wiring of the oscillator is large, the influence of variations during manufacturing on the oscillation frequency becomes relatively small. If the correspondence between the selected oscillator and the output unique value is biased due to the placement and wiring of the oscillator, even if it is a counterfeit product that cannot reproduce the manufacturing variations, The uniqueness (difference) of the device is reduced, such as increasing the possibility that the value will be the same as the regular product, which is a problem from the viewpoint of security.

本発明は、上述した課題に鑑みなされたものであり、デバイスのユニーク性をより高めた値を導出することを主目的とする。   The present invention has been made in view of the above-described problems, and has as its main object to derive a value that further enhances the uniqueness of a device.

本発明の情報セキュリティシステムは、
ホストとデバイスとを備えた情報セキュリティシステムであって、
製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路と、
前記複数の発振器のうち少なくとも1つの発振器を選択する選択手段と、
前記選択された発振器を発振させ、該発振の周波数に基づく実測周波数関連値を取得する取得手段と、
前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出する補正手段と、
を備え、
前記発振回路及び前記選択手段は、前記デバイスが有しており、
前記取得手段は、前記デバイス又は前記ホストが有しており、
前記補正手段は、前記デバイス又は前記ホストが有している、
ものである。
The information security system of the present invention
An information security system comprising a host and a device,
An oscillation circuit having a plurality of oscillators with inherent oscillation frequencies due to manufacturing variations;
Selecting means for selecting at least one oscillator of the plurality of oscillators;
An acquisition means for oscillating the selected oscillator and acquiring an actually measured frequency-related value based on the frequency of the oscillation;
The acquired actual measurement frequency related value is corrected based on an average frequency related value that is a value based on an average frequency when an oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. Correction means for deriving a corrected frequency-related value;
With
The oscillation circuit and the selection unit are included in the device,
The acquisition unit has the device or the host,
The correction means has the device or the host,
Is.

この本発明の情報セキュリティシステムでは、製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路をデバイスが有している。そして、まず、この複数の発振器のうち少なくとも1つの発振器を選択し、選択された発振器を発振させ、その発振の周波数に基づく実測周波数関連値を取得する。続いて、取得された実測周波数関連値を、複数のデバイスにおける選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出する。このように、実測周波数関連値を平均周波数関連値で補正することで、実測周波数関連値から発振器の配置や配線に起因する発振周波数の変化分を除去することができ、デバイスのユニーク性をより高めた補正後周波数関連値を導出することができる。なお、「選択された発振器と同じ配置及び配線の発振器」とは、選択された発振器と発振器内部の回路や素子の配置及び発振器内部の配線が同じである発振器を含む。   In the information security system of the present invention, the device has an oscillation circuit having a plurality of oscillators having inherent oscillation frequencies caused by manufacturing variations. First, at least one oscillator is selected from the plurality of oscillators, the selected oscillator is oscillated, and a measured frequency-related value based on the frequency of the oscillation is acquired. Subsequently, the obtained measured frequency-related value is corrected based on the average frequency-related value, which is a value based on the average frequency when the oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. Derived frequency-related values after correction. In this way, by correcting the measured frequency-related value with the average frequency-related value, it is possible to remove the change in the oscillation frequency caused by the placement and wiring of the oscillator from the measured frequency-related value, making the device more unique. An enhanced corrected frequency-related value can be derived. The “oscillator having the same arrangement and wiring as the selected oscillator” includes an oscillator in which the arrangement of circuits and elements inside the oscillator and the wiring in the oscillator are the same as the selected oscillator.

ここで、補正により発振器の配置や配線に起因する発振周波数の変化分を除去することができる理由について説明する。まず、実測周波数関連値は、発振器の製造ばらつきに起因する発振周波数の変化分と、発振器の配置や配線に起因する発振周波数の変化分との両方の影響を受けた値となる。そして、同じ配置及び配線の発振器であれば、発振器の配置や配線に起因する発振周波数の変化分は同程度であるのに対し、発振器の製造ばらつきに起因する発振周波数の変化分は発振器毎に異なる。そのため、平均周波数関連値においては、製造ばらつきに起因する発振周波数の変化分は互いに打ち消しあい、配置や配線に起因する発振周波数の変化分の影響が残る。したがって、この平均周波数関連値で実測周波数関連値を補正することで、実測周波数関連値から配置や配線に起因する発振周波数の変化分を除去することができる。なお、平均周波数関連値は、配置や配線に起因する発振周波数の変化分を除去可能な値であればよいため、実際に選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値であればよく、実際に選択された発振器自体を発振させたときの周波数に基づいている必要はない。   Here, the reason why the change in the oscillation frequency due to the placement and wiring of the oscillator can be removed by the correction will be described. First, the measured frequency-related value is a value affected by both the change in the oscillation frequency due to the manufacturing variation of the oscillator and the change in the oscillation frequency due to the placement and wiring of the oscillator. If the oscillator has the same arrangement and wiring, the change in the oscillation frequency due to the arrangement and wiring of the oscillator is about the same, whereas the change in the oscillation frequency due to the manufacturing variation of the oscillator is different for each oscillator. Different. Therefore, in the average frequency-related value, the change in the oscillation frequency due to the manufacturing variation cancels each other, and the influence of the change in the oscillation frequency due to the arrangement and wiring remains. Therefore, by correcting the measured frequency related value with this average frequency related value, it is possible to remove the change in the oscillation frequency caused by the arrangement and wiring from the measured frequency related value. Note that the average frequency-related value may be any value that can eliminate the change in the oscillation frequency due to the arrangement and wiring, so the frequency when the oscillator with the same arrangement and wiring as the actually selected oscillator is oscillated. Any value may be used as long as it is based on the average of the two, and it is not necessary to be based on the frequency when the actually selected oscillator itself is oscillated.

なお、実測周波数関連値は、例えば、所定期間における発振回数としてもよいし、所定回数発振するのに要する時間としてもよい。2つ以上の発振器を選択する場合には、実測周波数関連値は、例えば所定期間における発振回数の差又は比としてもよいし、所定回数発振するのに要する時間の差又は比としてもよい。平均周波数関連値は、例えば、複数のデバイスにおける実測周波数関連値の平均としてもよい。2つ以上の発振器を選択する場合には、平均周波数関連値は、例えば選択された2つの発振器とそれぞれ同じ配置及び配線の発振器について、所定期間における発振回数の差又は比か、所定回数発振するのに要する時間の差又は比を導出し、これを複数のデバイスに渡って導出して平均したものとしてもよい。あるいは、平均周波数関連値は、所定期間における発振回数又は所定回数発振するのに要する時間を選択された2つ以上の発振器のそれぞれについて複数のデバイスに渡って平均し、その平均の差又は比としてもよい。補正後周波数関連値は、例えば実測周波数関連値と平均周波数関連値との差又は比としてもよい。   Note that the measured frequency-related value may be, for example, the number of oscillations in a predetermined period or the time required for oscillation a predetermined number of times. When two or more oscillators are selected, the measured frequency-related value may be, for example, a difference or ratio of the number of oscillations in a predetermined period, or a difference or ratio of the time required to oscillate a predetermined number of times. The average frequency related value may be, for example, an average of actually measured frequency related values in a plurality of devices. When two or more oscillators are selected, the average frequency-related value is, for example, the difference or ratio of the number of oscillations in a predetermined period or the predetermined number of times for oscillators having the same arrangement and wiring as the two selected oscillators. It is also possible to derive the difference or ratio of the time required for the calculation and average it by deriving it over a plurality of devices. Alternatively, the average frequency-related value is obtained by averaging the number of oscillations in a predetermined period or the time required for oscillation over a plurality of devices for each of two or more selected oscillators, and calculating the average difference or ratio Also good. The corrected frequency-related value may be, for example, the difference or ratio between the actually measured frequency-related value and the average frequency-related value.

本発明の情報セキュリティシステムにおいて、前記発振器は、リング状に奇数段の反転回路が直列接続されたリングオシレーターとしてもよい。リングオシレーターは、IC内部の論理素子や配線のみを用いて構成可能であり、デバイスの製造ばらつきが論理素子の遅延に影響することでデバイス間の差異がその発振周波数特性に表れやすいため、本発明に適用する意義が高い。なお、反転回路とは、入力値に対して出力値が反転する回路であり、例えば、NOTゲート,NANDゲート又はNORゲートの少なくともいずれかとしてもよい。また、リングオシレーターの反転回路の段数は、奇数段であればよく、例えば段数を3段以上としてもよく、7段としてもよい。また、リングオシレーターは、奇数段の反転回路と反転回路でない他の遅延回路とがリング状に直列接続されたものとしてもよい。特に反転回路の段数を1段とする場合には、反転回路と遅延回路とをリング状に直列接続することが好ましい。段数や遅延回路の有無は、例えばリングオシレーターからの出力信号を扱う上で適した発振周波数となるように適宜選択することができる。   In the information security system of the present invention, the oscillator may be a ring oscillator in which an odd number of inversion circuits are connected in series in a ring shape. The ring oscillator can be configured using only the logic elements and wirings inside the IC, and the difference between the devices tends to appear in the oscillation frequency characteristics because the manufacturing variation of the devices affects the delay of the logic elements. The significance of applying to is high. Note that the inverting circuit is a circuit that inverts an output value with respect to an input value, and may be, for example, at least one of a NOT gate, a NAND gate, and a NOR gate. Further, the number of stages of the inverting circuit of the ring oscillator may be an odd number, for example, the number of stages may be three or more, or may be seven. Further, the ring oscillator may be configured such that an odd number of inversion circuits and other delay circuits that are not inversion circuits are connected in series in a ring shape. In particular, when the number of inverting circuits is one, it is preferable that the inverting circuit and the delay circuit are connected in series in a ring shape. The number of stages and the presence / absence of a delay circuit can be appropriately selected so that, for example, an oscillation frequency suitable for handling an output signal from a ring oscillator is obtained.

本発明の情報セキュリティシステムにおいて、前記発振器は、リング状に奇数段の反転回路が直列接続されるとともに、少なくとも1つ以上の段において複数の反転回路が並列に接続され、該並列に接続された反転回路のうちいずれを各段の経路とするかによって複数の信号経路が選択可能であり、且つ、該信号経路を構成する各反転回路の製造ばらつきに起因する各信号経路固有の発振周波数をもち、前記選択手段は、前記複数の発振器のうち少なくとも1つの発振器を選択すると共に、該選択された発振器について複数の前記信号経路のうちいずれか1つの信号経路を選択する手段であり、前記取得手段は、前記選択された発振器を前記選択された信号経路で発振させ、該発振の周波数に基づく前記実測周波数関連値を取得する手段であり、前記補正手段は、前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を前記選択された信号経路で発振させたときの周波数の平均に基づく値である前記平均周波数関連値に基づいて補正した前記補正後周波数関連値を導出する手段としてもよい。こうすれば、1つの発振器の各段において並列に接続されたいずれの反転回路を選択するかにより、発振器の固有の発振周波数が異なる値となるため、擬似的に発振器の数を増やすことができる。なお、いずれの発振器が選択されるかによって補正後周波数関連値は異なる値となるため、発振器の数が多いほど補正後周波数関連値が第三者に予測されにくくなり、セキュリティを向上させることができる。   In the information security system of the present invention, the oscillator has an odd number of inversion circuits connected in series in a ring shape, and a plurality of inversion circuits are connected in parallel in at least one or more stages. A plurality of signal paths can be selected depending on which of the inverting circuits is used as the path of each stage, and each signal path has an oscillation frequency unique to each signal path resulting from manufacturing variations of the inverting circuits constituting the signal path. The selecting means is means for selecting at least one oscillator among the plurality of oscillators, and selecting any one of the plurality of signal paths for the selected oscillator, and the obtaining means Is means for oscillating the selected oscillator along the selected signal path and obtaining the measured frequency related value based on the frequency of the oscillation. The correction means sets the acquired measured frequency-related value to an average frequency when an oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated in the selected signal path. It is good also as a means to derive | lead-out the said frequency-related value after correction | amendment correct | amended based on the said average frequency relevant value which is a value based on. In this way, the oscillation frequency inherent to the oscillator varies depending on which inverting circuit connected in parallel in each stage of one oscillator, so that the number of oscillators can be increased in a pseudo manner. . Since the corrected frequency-related value varies depending on which oscillator is selected, the corrected frequency-related value is less likely to be predicted by a third party as the number of oscillators increases, which may improve security. it can.

本発明の情報セキュリティシステムにおいて、前記補正手段は、前記選択された発振器の前記選択された信号経路が所定の基準信号経路でなく且つ該基準信号経路と比べて1つの反転回路のみが異なる信号経路であるオフセット信号経路でないときには、複数の前記デバイスについて前記選択された発振器と同じ配置及び配線の発振器を前記基準信号経路で発振させたときの前記平均周波数関連値である基準値と、複数の前記デバイスについて前記選択された発振器と同じ配置及び配線の発振器を前記オフセット信号経路で発振させたときの前記平均周波数関連値と前記基準値との差であるオフセット値と、を用いて、前記選択された信号経路のうち前記基準信号経路と異なる反転回路に対応する前記オフセット値と前記基準値との和を前記選択された信号経路に対応する前記平均周波数関連値として導出し、該導出された平均周波数関連値に基づいて前記取得された実測周波数関連値を補正した前記補正後周波数関連値を導出する手段としてもよい。こうすれば、基準信号経路でなく且つオフセット信号経路でもない信号経路の平均周波数関連値を、基準値とオフセット値との和をとるという簡易な処理で導出できる。なお、前記補正手段は、前記選択された発振器の前記選択された信号経路が前記オフセット信号経路であるときには、前記選択された信号経路のうち前記基準信号経路と異なる反転回路に対応する前記オフセット値と前記基準値との和を前記選択された信号経路に対応する前記平均周波数関連値として導出し、該導出された平均周波数関連値に基づいて前記取得された実測周波数関連値を補正した前記補正後周波数関連値を導出する手段としてもよい。   In the information security system of the present invention, the correction means may be configured such that the selected signal path of the selected oscillator is not a predetermined reference signal path, and only one inverting circuit is different from the reference signal path. When the offset signal path is not an offset signal path, a reference value that is the average frequency related value when an oscillator having the same arrangement and wiring as the selected oscillator is oscillated in the reference signal path for the plurality of devices, An offset value that is a difference between the average frequency-related value and the reference value when an oscillator having the same arrangement and wiring as the selected oscillator is oscillated in the offset signal path for the device. The sum of the offset value and the reference value corresponding to an inverting circuit different from the reference signal path among the signal paths As means for deriving the corrected frequency-related value obtained by deriving the average frequency-related value corresponding to the selected signal path and correcting the acquired actual frequency-related value based on the derived average frequency-related value Also good. In this way, the average frequency related value of the signal path that is not the reference signal path and not the offset signal path can be derived by a simple process of calculating the sum of the reference value and the offset value. When the selected signal path of the selected oscillator is the offset signal path, the correction unit is configured to output the offset value corresponding to an inverting circuit different from the reference signal path among the selected signal paths. And the reference value is derived as the average frequency related value corresponding to the selected signal path, and the obtained actual frequency related value is corrected based on the derived average frequency related value. It may be a means for deriving a post-frequency related value.

本発明の情報セキュリティシステムにおいて、前記補正手段は、前記選択された発振器の前記選択された信号経路が所定の基準信号経路でなく且つ該基準信号経路と比べて1つの反転回路のみが異なる信号経路であるオフセット信号経路でないときには、複数の前記デバイスについて前記選択された発振器と同じ配置及び配線の発振器を前記基準信号経路で発振させたときの前記平均周波数関連値である基準値と、複数の前記デバイスについて前記選択された発振器と同じ配置及び配線の発振器を前記オフセット信号経路で発振させたときの前記平均周波数関連値と前記基準値との比であるオフセット値と、を用いて、前記選択された信号経路のうち前記基準信号経路と異なる反転回路に対応する前記オフセット値と前記基準値との積を前記選択された信号経路に対応する前記平均周波数関連値として導出し、該導出された平均周波数関連値に基づいて前記取得された実測周波数関連値を補正した前記補正後周波数関連値を導出する手段としてもよい。こうすれば、基準信号経路でなく且つオフセット信号経路でもない信号経路の平均周波数関連値を、基準値とオフセット値との積をとるという簡易な処理で導出できる。なお、前記オフセット値は、複数の前記デバイスについて前記選択された発振器と同じ配置及び配線の発振器を前記オフセット信号経路で発振させたときの前記平均周波数関連値を前記基準値で除した値としてもよい。また、前記補正手段は、前記選択された発振器の前記選択された信号経路が前記オフセット信号経路であるときには、前記選択された信号経路のうち前記基準信号経路と異なる反転回路に対応する前記オフセット値と前記基準値との積を前記選択された信号経路に対応する前記平均周波数関連値として導出し、該導出された平均周波数関連値に基づいて前記取得された実測周波数関連値を補正した前記補正後周波数関連値を導出する手段としてもよい。   In the information security system of the present invention, the correction means may be configured such that the selected signal path of the selected oscillator is not a predetermined reference signal path, and only one inverting circuit is different from the reference signal path. When the offset signal path is not an offset signal path, a reference value that is the average frequency related value when an oscillator having the same arrangement and wiring as the selected oscillator is oscillated in the reference signal path for the plurality of devices, An offset value that is a ratio of the average frequency-related value and the reference value when an oscillator having the same arrangement and wiring as the selected oscillator for the device is oscillated in the offset signal path is used. Product of the offset value and the reference value corresponding to an inverting circuit different from the reference signal path among the signal paths As means for deriving the corrected frequency-related value obtained by deriving the average frequency-related value corresponding to the selected signal path and correcting the acquired actual frequency-related value based on the derived average frequency-related value Also good. In this way, the average frequency related value of the signal path that is neither the reference signal path nor the offset signal path can be derived by a simple process of taking the product of the reference value and the offset value. The offset value may be a value obtained by dividing the average frequency related value when an oscillator having the same arrangement and wiring as the selected oscillator for a plurality of the devices is oscillated in the offset signal path by the reference value. Good. Further, the correction means, when the selected signal path of the selected oscillator is the offset signal path, the offset value corresponding to an inverting circuit different from the reference signal path among the selected signal paths. And the reference value is derived as the average frequency-related value corresponding to the selected signal path, and the obtained actual frequency-related value is corrected based on the derived average frequency-related value. It may be a means for deriving a post-frequency related value.

本発明の情報セキュリティシステムにおいて、前記選択手段は、前記複数の発振器のうち2つの発振器を選択する手段であり、前記取得手段は、前記選択された2つの発振器を発振させ、該2つの発振器の周波数の差に基づく値である前記実測周波数関連値を取得する手段であり、前記補正手段は、前記取得された実測周波数関連値を、複数の前記デバイスについての前記選択された2つの発振器と同じ配置及び配線の発振器を発振させたときの該2つの発振器の周波数の平均的な差に基づく値である前記平均周波数関連値に基づいて補正することで、前記補正後周波数関連値を導出する手段としてもよい。こうすれば、1つの発振器のみを選択する場合と比較して、発振器の選択のパターン数が増す。なお発振器の選択のパターンによって補正後周波数関連値は異なる値となるため、発振器の選択のパターン数が多いほど補正後周波数関連値が第三者に予測されにくくなり、セキュリティを向上させることができる。なお、2つの発振器の周波数の差に基づく値とは、例えば所定期間における発振回数の差又は比としてもよいし、所定回数発振するのに要する時間の差又は比としてもよいし、2つの発振器を同時に発振させて一方の発振器が所定回数発振したときの他方の発振回数としてもよい。また、2つの発振器の周波数の平均的な差に基づく値とは、2つの発振器の所定期間における発振回数の差又は比の平均としてもよいし、所定回数発振するのに要する時間の差又は比の平均としてもよいし、所定期間における発振回数又は所定回数発振するのに要する時間を2つの発振器のそれぞれについて複数のデバイスに渡って平均し、その平均の差又は比としてもよい。あるいは、2つの発振器の周波数の平均的な差に基づく値は、2つの発振器を同時に発振させて一方の発振器が所定回数発振したときの他方の発振回数を複数のデバイスについて導出し、その平均としてもよい。   In the information security system of the present invention, the selection means is means for selecting two oscillators of the plurality of oscillators, and the acquisition means oscillates the two selected oscillators, and the two oscillators Means for obtaining the measured frequency-related value, which is a value based on a difference in frequency, and the correction means uses the obtained measured frequency-related value as the two selected oscillators for the plurality of devices. Means for deriving the corrected frequency-related value by correcting based on the average frequency-related value, which is a value based on an average difference between the frequencies of the two oscillators when the oscillators of the arrangement and wiring are oscillated It is good. This increases the number of oscillator selection patterns as compared to selecting only one oscillator. Since the corrected frequency-related value differs depending on the oscillator selection pattern, the greater the number of oscillator selection patterns, the less likely the corrected frequency-related value is predicted by a third party, thereby improving security. . The value based on the difference between the frequencies of the two oscillators may be, for example, the difference or ratio of the number of oscillations in a predetermined period, or the difference or ratio of the time required to oscillate a predetermined number of times. May be simultaneously oscillated and the other oscillation frequency when one oscillator oscillates a predetermined number of times may be used. The value based on the average difference between the frequencies of the two oscillators may be the average of the difference or ratio of the number of oscillations in the predetermined period of the two oscillators, or the difference or ratio of the time required to oscillate the predetermined number of times. Alternatively, the number of oscillations in a predetermined period or the time required to oscillate a predetermined number of times may be averaged over a plurality of devices for each of the two oscillators, and the average difference or ratio may be used. Alternatively, the value based on the average difference between the frequencies of the two oscillators is obtained by simultaneously oscillating the two oscillators and deriving the other number of oscillations for a plurality of devices when one oscillator oscillates a predetermined number of times. Also good.

本発明の情報セキュリティシステムにおいて、前記取得手段及び前記補正手段は、前記ホストが有しているものとしてもよい。一般に、ホストと比べてデバイスは実装できる回路や処理能力に制限があることが多いため、このようにする意義が高い。   In the information security system of the present invention, the acquisition unit and the correction unit may be included in the host. In general, a device is often more limited than a host in terms of circuits and processing capabilities that can be mounted, and thus is highly meaningful.

本発明の情報セキュリティシステムにおいて、前記デバイスの有する発振器と該発振器の前記固有の発振周波数に基づく前記所定の固有値とを対応付けて記憶する固有値記憶手段と、前記固有値記憶手段から前記選択された発振器に対応する前記固有値を読み出し、該読み出した固有値が前記導出された補正後周波数関連値と一致するか否かにより、該デバイスが正規のものであるか否かを判定する判定手段と、を備え、前記固有値記憶手段及び前記判定手段は、前記ホストが有しているものとしてもよい。こうすれば、ユニーク性をより高めた補正後周波数関連値を用いてデバイスが正規のものであるか否かを判定するため、例えば実測周波数関連値をそのまま用いてデバイスが正規のものであるか否かを判定する場合と比べて判定の精度が高まり、セキュリティが向上する。   In the information security system of the present invention, eigenvalue storage means for storing the oscillator included in the device and the predetermined eigenvalue based on the specific oscillation frequency of the oscillator in association with each other, and the oscillator selected from the eigenvalue storage means Determining means for determining whether or not the device is normal based on whether or not the read eigenvalue matches the derived corrected frequency-related value. The eigenvalue storage means and the determination means may be included in the host. In this way, in order to determine whether or not the device is legitimate using the corrected frequency-related value with higher uniqueness, for example, whether the device is legitimate using the measured frequency-related value as it is. Compared with the case of determining whether or not, the accuracy of the determination is increased and the security is improved.

本発明の情報セキュリティシステムにおいて、前記デバイスにおける前記選択された発振器の前記固有の発振周波数に基づく前記所定の固有値に基づいて暗号化された暗号データを前記デバイスに出力する暗号データ出力手段と、前記導出された補正後周波数関連値に基づいて前記出力された暗号データを復号する復号手段と、を備え、前記暗号データ出力手段は、前記ホストが有しており、前記復号手段は、前記デバイスが有しているものとしてもよい。こうすれば、ユニーク性をより高めた補正後周波数関連値が固有値と一致していないと正しく暗号データを復号することができないため、暗号データが正規のデバイス以外のデバイスで復号されることをより防止できる。   In the information security system of the present invention, encrypted data output means for outputting, to the device, encrypted data encrypted based on the predetermined specific value based on the specific oscillation frequency of the selected oscillator in the device; Decryption means for decrypting the output encrypted data based on the derived corrected frequency-related value, and the encrypted data output means is included in the host, and the decryption means is provided by the device. It is good also as what it has. In this way, if the corrected frequency-related value with higher uniqueness does not match the eigenvalue, the encrypted data cannot be correctly decrypted. Can be prevented.

本発明のホストは、製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路を備えるデバイスと情報のやり取りを行うホストであって、
前記複数の発振器のうち選択された少なくとも1つの発振器を発振させたときの該発振の周波数に基づく実測周波数関連値を前記デバイスから取得する取得手段と、
前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出する補正手段と、
を備えたものである。
The host of the present invention is a host for exchanging information with a device including an oscillation circuit having a plurality of oscillators having unique oscillation frequencies caused by manufacturing variations,
An acquisition means for acquiring an actual measurement frequency related value based on a frequency of oscillation when at least one oscillator selected from the plurality of oscillators is oscillated;
The acquired actual measurement frequency related value is corrected based on an average frequency related value that is a value based on an average frequency when an oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. Correction means for deriving a corrected frequency-related value;
It is equipped with.

この本発明のホストは、製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路を有するデバイスと情報のやり取りを行う。具体的には、まず、この複数の発振器のうち選択された少なくとも1つの発振器を発振させたときの発振の周波数に基づく実測周波数関連値を取得する。続いて、取得された実測周波数関連値を、複数のデバイスにおける選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出する。このように、実測周波数関連値を平均周波数関連値で補正することで、実測周波数関連値から発振器の配置や配線に起因する発振周波数の変化分を除去することができ、デバイスのユニーク性をより高めた補正後周波数関連値を導出することができる。なお、このホストにおいて、上述した情報セキュリティシステムのホストの種々の態様を採用してもよいし、上述した情報セキュリティシステムのホストの各機能を実現するような構成を追加してもよい。   The host of the present invention exchanges information with a device having an oscillation circuit having a plurality of oscillators having unique oscillation frequencies caused by manufacturing variations. Specifically, first, an actually measured frequency-related value based on the oscillation frequency when at least one selected oscillator among the plurality of oscillators is oscillated is acquired. Subsequently, the obtained measured frequency-related value is corrected based on the average frequency-related value, which is a value based on the average frequency when the oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. Derived frequency-related values after correction. In this way, by correcting the measured frequency-related value with the average frequency-related value, it is possible to remove the change in the oscillation frequency caused by the placement and wiring of the oscillator from the measured frequency-related value, making the device more unique. An enhanced corrected frequency-related value can be derived. In this host, various aspects of the host of the information security system described above may be adopted, and a configuration that realizes each function of the host of the information security system described above may be added.

本発明のデバイスは、
製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路と、
前記複数の発振器のうち少なくとも1つの発振器を選択する選択手段と、
前記選択された発振器を発振させ、該発振の周波数に基づく実測周波数関連値を取得する取得手段と、
前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正することで、補正後周波数関連値を導出する補正手段と、
を備えたものである。
The device of the present invention
An oscillation circuit having a plurality of oscillators with inherent oscillation frequencies due to manufacturing variations;
Selecting means for selecting at least one oscillator of the plurality of oscillators;
An acquisition means for oscillating the selected oscillator and acquiring an actually measured frequency-related value based on the frequency of the oscillation;
The acquired measured frequency-related value is corrected based on an average frequency-related value that is a value based on an average frequency when an oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. A correction means for deriving a frequency-related value after correction,
It is equipped with.

この本発明のデバイスは、製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路を備えている。そして、この複数の発振器のうち少なくとも1つの発振器を選択し、選択された発振器を発振させ、その発振の周波数に基づく実測周波数関連値を取得する。続いて、取得された実測周波数関連値を、複数のデバイスにおける選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出する。このように、実測周波数関連値を平均周波数関連値で補正することで、実測周波数関連値から発振器の配置や配線に起因する発振周波数の変化分を除去することができ、デバイスのユニーク性をより高めた補正後周波数関連値を導出することができる。なお、このデバイスにおいて、上述した情報セキュリティシステムのデバイスの種々の態様を採用してもよいし、上述した情報セキュリティシステムのデバイスの各機能を実現するような構成を追加してもよい。   The device of the present invention includes an oscillation circuit having a plurality of oscillators having inherent oscillation frequencies due to manufacturing variations. Then, at least one oscillator is selected from the plurality of oscillators, the selected oscillator is oscillated, and a measured frequency related value based on the frequency of the oscillation is acquired. Subsequently, the obtained measured frequency-related value is corrected based on the average frequency-related value, which is a value based on the average frequency when the oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. Derived frequency-related values after correction. In this way, by correcting the measured frequency-related value with the average frequency-related value, it is possible to remove the change in the oscillation frequency caused by the placement and wiring of the oscillator from the measured frequency-related value, making the device more unique. An enhanced corrected frequency-related value can be derived. In this device, various aspects of the device of the information security system described above may be adopted, and a configuration that realizes each function of the device of the information security system described above may be added.

本発明のホストの制御方法は、
製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路を備えたデバイスと情報のやりとりを行うホストの制御方法であって、
(a)前記複数の発振器のうち選択された少なくとも1つの発振器を発振させたときの該発振の周波数に基づく実測周波数関連値を前記デバイスから取得するステップと、
(b)前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出するステップと、
を含むものである。
The host control method of the present invention includes:
A host control method for exchanging information with a device having an oscillation circuit having a plurality of oscillators having unique oscillation frequencies caused by manufacturing variations,
(A) obtaining an actually measured frequency-related value from the device based on the frequency of oscillation when at least one oscillator selected from the plurality of oscillators is oscillated;
(B) The obtained actual measurement frequency related value is based on an average frequency related value that is a value based on an average of frequencies when an oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. Deriving a corrected frequency-related value corrected by
Is included.

この本発明のホストの制御方法では、デバイスが有し製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路における複数の発振器のうち、選択された少なくとも1つの発振器を発振させたときの発振の周波数に基づく実測周波数関連値を取得する。続いて、取得された実測周波数関連値を、複数のデバイスにおける選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出する。このように、実測周波数関連値を平均周波数関連値で補正することで、実測周波数関連値から発振器の配置や配線に起因する発振周波数の変化分を除去することができ、発振器のユニーク性をより高めた補正後周波数関連値を導出することができる。なお、このホストの制御方法において、上述した情報セキュリティシステムのホストの種々の態様を採用してもよいし、上述した情報セキュリティシステムのホストの各機能を実現するようなステップを追加してもよい。   In this host control method of the present invention, at least one selected oscillator is oscillated among a plurality of oscillators in an oscillation circuit having a plurality of oscillators having inherent oscillation frequencies caused by manufacturing variations of the device. Acquire actual measurement frequency related value based on frequency of oscillation. Subsequently, the obtained measured frequency-related value is corrected based on the average frequency-related value, which is a value based on the average frequency when the oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. Derived frequency-related values after correction. In this way, by correcting the measured frequency-related value with the average frequency-related value, the change in the oscillation frequency caused by the placement and wiring of the oscillator can be removed from the measured frequency-related value, making the oscillator more unique. An enhanced corrected frequency-related value can be derived. In this host control method, various aspects of the host of the information security system described above may be adopted, and steps for realizing the functions of the host of the information security system described above may be added. .

本発明のデバイスの制御方法は、
製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路を備えたデバイスの制御方法であって、
(a)前記複数の発振器のうち少なくとも1つの発振器を選択するステップと、
(b)前記選択された発振器を発振させ、該発振の周波数に基づく実測周波数関連値を取得するステップと、
(c)前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出するステップと、
を含むものである。
The device control method of the present invention includes:
A method for controlling a device including an oscillation circuit having a plurality of oscillators having inherent oscillation frequencies due to manufacturing variations,
(A) selecting at least one oscillator from the plurality of oscillators;
(B) oscillating the selected oscillator and obtaining a measured frequency related value based on the frequency of the oscillation;
(C) Based on an average frequency related value that is a value based on an average of frequencies when an oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated, the acquired actually measured frequency related value. Deriving a corrected frequency-related value corrected by
Is included.

この本発明のデバイスの制御方法では、デバイスが有し製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路における複数の発振器のうち少なくとも1つの発振器を選択し、選択された発振器を発振させ、その発振の周波数に基づく実測周波数関連値を取得する。続いて、取得された実測周波数関連値を、複数のデバイスにおける選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出する。このように、実測周波数関連値を平均周波数関連値で補正することで、実測周波数関連値から発振器の配置や配線に起因する発振周波数の変化分を除去することができ、発振器のユニーク性をより高めた補正後周波数関連値を導出することができる。なお、このデバイスの制御方法において、上述した情報セキュリティシステムのデバイスの種々の態様を採用してもよいし、上述した情報セキュリティシステムのデバイスの各機能を実現するようなステップを追加してもよい。   In this device control method of the present invention, at least one oscillator is selected from a plurality of oscillators in an oscillation circuit having a plurality of oscillators having inherent oscillation frequencies due to manufacturing variations of the device, and the selected oscillator is selected. And the measured frequency related value based on the frequency of the oscillation is acquired. Subsequently, the obtained measured frequency-related value is corrected based on the average frequency-related value, which is a value based on the average frequency when the oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. Derived frequency-related values after correction. In this way, by correcting the measured frequency-related value with the average frequency-related value, the change in the oscillation frequency caused by the placement and wiring of the oscillator can be removed from the measured frequency-related value, making the oscillator more unique. An enhanced corrected frequency-related value can be derived. In this device control method, various aspects of the information security system device described above may be adopted, and steps for realizing each function of the information security system device described above may be added. .

本発明の第1のプログラムは、上述したホストの制御方法の各ステップを1又は複数のコンピューターに実現させるためのものである。この第1のプログラムをコンピューターに実行させれば、上述した本発明のホストの制御方法が実現されるため、本発明のホストの制御方法と同様の作用効果が得られる。また、本発明の第2のプログラムは、上述したデバイスの制御方法の各ステップを1又は複数のコンピューターに実現させるためのものである。この第2のプログラムをコンピューターに実行させれば、上述した本発明のデバイスの制御方法が実現されるため、本発明のデバイスの制御方法と同様の作用効果が得られる。第1のプログラム及び第2のプログラムは、コンピューターが読み取り可能な記録媒体(例えばハードディスク、ROM、FD、CD、DVDなど)に記録されていてもよいし、伝送媒体(インターネットやLANなどの通信網)を介してあるコンピューターから別のコンピューターに配信されてもよいし、その他どのような形で授受されてもよい。   A first program of the present invention is for causing one or a plurality of computers to realize each step of the above-described host control method. If the first program is executed by the computer, the above-described host control method of the present invention is realized, so that the same effects as the host control method of the present invention can be obtained. The second program of the present invention is for causing one or more computers to realize the steps of the device control method described above. If the second program is executed by a computer, the device control method of the present invention described above is realized, and thus the same operational effects as those of the device control method of the present invention can be obtained. The first program and the second program may be recorded on a computer-readable recording medium (for example, hard disk, ROM, FD, CD, DVD, etc.), or a transmission medium (communication network such as the Internet or LAN). ) May be distributed from one computer to another via the Internet, or may be exchanged in any other form.

情報セキュリティシステム10の構成の概略を示す構成図。1 is a configuration diagram showing an outline of the configuration of an information security system 10. FIG. PUF回路50の構成の概略を示す構成図。FIG. 2 is a configuration diagram showing an outline of the configuration of a PUF circuit 50. 発振器53の構成の概略を示す構成図。FIG. 3 is a configuration diagram showing an outline of the configuration of an oscillator 53. 平均値記憶ルーチンの一例を示すフローチャート。The flowchart which shows an example of an average value storage routine. 平均値テーブル46の一例を示す説明図。4 is an explanatory diagram showing an example of an average value table 46. FIG. 固有値記憶ルーチンの一例を示すフローチャート。The flowchart which shows an example of an eigenvalue storage routine. 主平均周期導出処理の一例を示すフローチャート。The flowchart which shows an example of a main average period derivation process. 固有値テーブル47の一例を示す説明図。FIG. 6 is an explanatory diagram illustrating an example of a unique value table 47. ICカード認証処理の様子を示すシーケンス。A sequence showing a state of IC card authentication processing. 判定処理の一例を示すフローチャート。The flowchart which shows an example of a determination process. 情報セキュリティシステム110の構成の概略を示す構成図。1 is a configuration diagram showing an outline of the configuration of an information security system 110. FIG. 回路データ提供処理の様子を示すシーケンス。The sequence which shows the mode of a circuit data provision process. 復号処理の一例を示すフローチャート。The flowchart which shows an example of a decoding process. 実験例1の補正あり固有値の差異率Dを示すテーブル。The table which shows the difference rate D of the eigenvalue with a correction | amendment of Experimental example 1. FIG. 実験例1の補正なし固有値の差異率Dを示すテーブル。10 is a table showing a difference rate D of uncorrected eigenvalues in Experimental Example 1. 実験例2の補正あり固有値の差異率Dを示すテーブル。The table which shows the difference rate D of the eigenvalue with a correction | amendment of Experimental example 2. FIG. 実験例2の補正なし固有値の差異率Dを示すテーブル。The table which shows the difference rate D of the eigenvalue without correction of Experimental example 2. 実測発振周波数の平均値及び標準偏差を示すテーブル。The table which shows the average value and standard deviation of measured oscillation frequency. 補正後発振周波数の平均値及び標準偏差を示すテーブル。The table which shows the average value and standard deviation of the oscillation frequency after correction.

[第1実施形態]
図1は、第1実施形態である情報セキュリティシステム10の構成の概略を示す構成図である。図示するように、情報セキュリティシステム10は、ICカード20と、カードリーダー30と、サーバー40とを備えている。この情報セキュリティシステム10は、ICカード20に記憶された情報を用いて、ICカード20の所有者であるユーザーに例えば現金の預け入れや払い戻しなどのATM(Automated Teller Machine)サービスや有料コンテンツを購入するコンテンツ購入サービスなどのサービスを提供する装置である。本実施形態では、情報セキュリティシステム10は、ATM(Automated Teller Machine)サービスを提供するものとした。
[First Embodiment]
FIG. 1 is a configuration diagram showing an outline of a configuration of an information security system 10 according to the first embodiment. As illustrated, the information security system 10 includes an IC card 20, a card reader 30, and a server 40. The information security system 10 purchases ATM (Automated Teller Machine) services such as depositing and refunding cash and paid contents to a user who is the owner of the IC card 20 by using information stored in the IC card 20. It is an apparatus that provides a service such as a content purchase service. In the present embodiment, the information security system 10 provides an ATM (Automated Teller Machine) service.

ICカード20は、ATMサービスに用いるキャッシュカードであり、CPU,ROM,RAMなどを備えたマイクロプロセッサーとして構成されたICチップ21を備えている。ICチップ21は、ICチップ21全体の制御を司る制御部22と,ICカード20の識別用のIDなど各種データを記憶する記憶部24と,ICカード20の固有の値を出力するためのPUF回路50とを備えている。本実施形態では、ICカード20は接触型であるものとしたが、非接触型であってもよい。このICカード20は、図示は省略するが同様の構成のものが複数存在し、それぞれ別のユーザーが所有している。   The IC card 20 is a cash card used for an ATM service, and includes an IC chip 21 configured as a microprocessor including a CPU, a ROM, a RAM, and the like. The IC chip 21 includes a control unit 22 that controls the entire IC chip 21, a storage unit 24 that stores various data such as an ID for identification of the IC card 20, and a PUF that outputs a unique value of the IC card 20. Circuit 50. In this embodiment, the IC card 20 is a contact type, but may be a non-contact type. Although not shown in the figure, there are a plurality of IC cards 20 having the same configuration, and each IC card 20 is owned by a different user.

PUF回路50は、複数の発振器53を備えた発振回路52と、発振器53を選択する選択回路54と、選択された発振器53の発振回数をカウントして発振器53の発振周波数に基づく値を測定する測定回路56とを備えている。図2は、PUF回路50の構成の概略を示す構成図である。   The PUF circuit 50 measures the value based on the oscillation frequency of the oscillator 53 by counting the oscillation frequency of the selected oscillator 53 by counting an oscillation circuit 52 including a plurality of oscillators 53, a selection circuit 54 for selecting the oscillator 53, and the selected oscillator 53. And a measurement circuit 56. FIG. 2 is a configuration diagram showing an outline of the configuration of the PUF circuit 50.

発振回路52は、製造ばらつきに起因する固有の発振周波数をもつ第1発振器53a〜第5発振器53eの5個の発振器53をそれぞれ所定位置に配置し所定の配線を行ったものである。この発振回路52では、図2に示すように、選択回路54の主発振器セレクター55a及び副発振器セレクター55bの入力部に各発振器53からの出力部がそれぞれ配線により接続されている。   In the oscillation circuit 52, five oscillators 53 of a first oscillator 53a to a fifth oscillator 53e each having a unique oscillation frequency due to manufacturing variations are arranged at predetermined positions, and predetermined wiring is performed. In the oscillation circuit 52, as shown in FIG. 2, the output units from the respective oscillators 53 are connected to the input units of the main oscillator selector 55a and the sub-oscillator selector 55b of the selection circuit 54 by wires.

図3は、発振器53の構成の概略を示す構成図である。なお、第1発振器53a〜第5発振器53eの内部の構成はいずれも同じである。このため、図3では1つの発振器53の構成を示している。発振器53は、6個のインバーター60と3個の経路セレクター66とを備え、リング状に奇数段(本実施形態では3段)のインバーター(NOTゲート)60が直列接続されると共に、各段において複数(本実施形態では2つ)のインバーター60が並列に接続されたリングオシレーターとして構成されている。具体的には、発振器53は、1段目のインバーター60として並列に接続された第1インバーター61a,第2インバーター61bを備え、2段目のインバーター60として並列に接続された第3インバーター62a,第4インバーター62bを備え、3段目のインバーター60として並列に接続された第5インバーター63a,第6インバーター63bを備えている。この第1インバーター61a〜第6インバーター63bは、入力値に対して出力値が反転する反転回路である。また、発振器53は、3個の経路セレクター66として、第1経路セレクター66aと、第2経路セレクター66bと、第3経路セレクター66cとを備えている。第1経路セレクター66aは、1段目のインバーター60のうち選択したいずれか1つの出力を2段目のインバーター60に出力するものである。第1経路セレクター66aの入力部は、1段目のインバーター60すなわち第1インバーター61a及び第2インバーター61bの出力部とそれぞれ配線で接続されており、第1経路セレクター66aの出力部は、2段目のインバーター60すなわち第3インバーター62a及び第4インバーター62bの入力部とそれぞれ配線で接続されている。第2経路セレクター66bは、2段目のインバーター60のうち選択したいずれか1つの出力を3段目のインバーター60に出力するものである。第2経路セレクター66bの入力部は、2段目のインバーター60すなわち第3インバーター62a及び第4インバーター62bの出力部とそれぞれ配線で接続されており、第2経路セレクター66bの出力部は、3段目のインバーター60すなわち第5インバーター63a及び第6インバーター63bの入力部とそれぞれ配線で接続されている。第3経路セレクター66cは、3段目のインバーター60のうち選択したいずれか1つの出力を1段目のインバーター60に出力するものである。第3経路セレクター66cの入力部は、3段目のインバーター60すなわち第5インバーター63a及び第6インバーター63bの出力部とそれぞれ配線で接続されており、第3経路セレクター66cの出力部は、1段目のインバーター60すなわち第1インバーター61a及び第2インバーター61bの入力部とそれぞれ配線で接続されている。なお、第3経路セレクター66cの出力部は、発振器53の出力部とも配線で接続されており、この発振器53の出力部が選択回路54の主発振器セレクター55a,副発振器セレクター55bの入力部にそれぞれに接続されるよう発振回路52内の配線がなされている(図2参照)。第1経路セレクター66a,第2経路セレクター66b,第3経路セレクター66cはそれぞれ経路選択信号p,q,rが制御部22から入力されるようになっており、この経路選択信号p,q,rの値によって各段で選択されるインバーター60が定まるようになっている。具体的には、第1経路セレクター66aは、経路選択信号pが値0のときには第1インバーター61aを選択し、値1のときには第2インバーター61bを選択する。第2経路セレクター66bは、経路選択信号qが値0のときには第3インバーター62aを選択し、値1のときには第4インバーター62bを選択する。第3経路セレクター66cは、経路選択信号rが値0のときには第5インバーター63aを選択し、値1のときには第6インバーター63bを選択する。   FIG. 3 is a configuration diagram showing an outline of the configuration of the oscillator 53. The internal configurations of the first oscillator 53a to the fifth oscillator 53e are the same. For this reason, FIG. 3 shows the configuration of one oscillator 53. The oscillator 53 includes six inverters 60 and three path selectors 66, and an odd number of stages (three stages in this embodiment) of inverters (NOT gates) 60 are connected in series in a ring shape. A plurality (two in this embodiment) of inverters 60 is configured as a ring oscillator connected in parallel. Specifically, the oscillator 53 includes a first inverter 61a and a second inverter 61b connected in parallel as the first-stage inverter 60, and a third inverter 62a connected in parallel as the second-stage inverter 60. A fourth inverter 62b is provided, and a fifth inverter 63a and a sixth inverter 63b connected in parallel as the third-stage inverter 60 are provided. The first inverter 61a to the sixth inverter 63b are inverting circuits that invert the output value with respect to the input value. The oscillator 53 includes a first path selector 66a, a second path selector 66b, and a third path selector 66c as three path selectors 66. The first path selector 66 a outputs any one output selected from the first-stage inverter 60 to the second-stage inverter 60. The input section of the first path selector 66a is connected to the first stage inverter 60, that is, the output sections of the first inverter 61a and the second inverter 61b by wiring, and the output section of the first path selector 66a has two stages. The first inverter 60, that is, the third inverter 62a and the input portion of the fourth inverter 62b are respectively connected by wiring. The second path selector 66b outputs any one output selected from the second-stage inverter 60 to the third-stage inverter 60. The input part of the second path selector 66b is connected to the second stage inverter 60, that is, the output parts of the third inverter 62a and the fourth inverter 62b by wiring, and the output part of the second path selector 66b is three stages. The input part of the inverter 60 of the eye, that is, the fifth inverter 63a and the sixth inverter 63b is connected by wiring. The third path selector 66c outputs any one output selected from the third-stage inverter 60 to the first-stage inverter 60. The input part of the third path selector 66c is connected to the output part of the third stage inverter 60, that is, the fifth inverter 63a and the sixth inverter 63b, respectively, and the output part of the third path selector 66c is one stage. The first inverter 61, that is, the input portions of the first inverter 61a and the second inverter 61b are respectively connected by wires. The output section of the third path selector 66c is also connected to the output section of the oscillator 53 by wiring, and the output section of the oscillator 53 is connected to the input sections of the main oscillator selector 55a and the sub oscillator selector 55b of the selection circuit 54, respectively. The wiring in the oscillation circuit 52 is made so as to be connected to (see FIG. 2). The first route selector 66a, the second route selector 66b, and the third route selector 66c are configured such that route selection signals p, q, and r are input from the control unit 22, respectively. The route selection signals p, q, r The inverter 60 selected at each stage is determined by the value of. Specifically, the first route selector 66a selects the first inverter 61a when the route selection signal p is 0, and selects the second inverter 61b when the value is 1. The second path selector 66b selects the third inverter 62a when the path selection signal q is 0, and selects the fourth inverter 62b when the value is 1. The third path selector 66c selects the fifth inverter 63a when the path selection signal r is 0, and selects the sixth inverter 63b when the path selection signal r is 1.

発振器53は、この経路選択信号p,q,rにより、並列に接続された各段のインバーター60のうちいずれを各段の経路として選択するかによって複数の信号経路が選択可能である。経路選択信号p,q,rで定まる発振器53の信号経路を信号経路W(p,q,r)と称する。この経路選択信号p,q,rで選択された信号経路W(p,q,r)は、直列に接続された3段のインバーター60で構成されるため、発振器53の出力は発振周波数で発振する。例えば、信号経路W(0,0,0)、すなわち第1インバーター61a,第3インバーター62a,第5インバーター63aが選択された状態において、第1インバーター61aの入力が値0である場合を考える。この場合、第1インバーター61aの出力及び第3インバーター62aの入力が値1,第3インバーター62aの出力及び第5インバーター63aの入力が値0,第5インバーター63aの出力が値1となって、発振器53からは値1が出力される。また、第5インバーター63aの出力である値1は第1インバーター61aの入力となるため、第1インバーター61aの入力が値0から値1に変化する。すると、第1インバーター61aの出力及び第3インバーター62aの入力が値0,第3インバーター62aの出力及び第5インバーター63aの入力が値1,第5インバーター63aの出力が値0となって、発振器53の出力は値0となる。このようにして、発振器53の出力は値0と値1とを繰り返す、すなわち発振する。そして、この発振器53の発振周波数は、信号経路W(p,q,r)を構成する各インバーター60の製造ばらつきに起因する各信号経路固有の値となる。   The oscillator 53 can select a plurality of signal paths according to which one of the inverters 60 connected in parallel is selected as the path of each stage by using the path selection signals p, q, and r. A signal path of the oscillator 53 determined by the path selection signals p, q, r is referred to as a signal path W (p, q, r). Since the signal path W (p, q, r) selected by the path selection signals p, q, r is composed of three stages of inverters 60 connected in series, the output of the oscillator 53 oscillates at the oscillation frequency. To do. For example, consider a case where the signal path W (0, 0, 0), that is, the first inverter 61a, the third inverter 62a, and the fifth inverter 63a are selected and the input of the first inverter 61a is 0. In this case, the output of the first inverter 61a and the input of the third inverter 62a are the value 1, the output of the third inverter 62a and the input of the fifth inverter 63a are the value 0, the output of the fifth inverter 63a is the value 1, A value 1 is output from the oscillator 53. Further, since the value 1 which is the output of the fifth inverter 63a becomes the input of the first inverter 61a, the input of the first inverter 61a changes from the value 0 to the value 1. Then, the output of the first inverter 61a and the input of the third inverter 62a have a value of 0, the output of the third inverter 62a and the input of the fifth inverter 63a have a value of 1, the output of the fifth inverter 63a has a value of 0, and the oscillator The output of 53 has the value 0. In this way, the output of the oscillator 53 repeats the value 0 and the value 1, that is, oscillates. The oscillation frequency of the oscillator 53 is a value unique to each signal path resulting from manufacturing variations of the respective inverters 60 constituting the signal path W (p, q, r).

選択回路54は、図2に示すように、主発振器セレクター55aと副発振器セレクター55bとを備えている。主発振器セレクター55aは、発振回路52から引き出された第1発振器53a〜第5発振器53eの各出力部が自身の入力部と配線で接続されるとともに、自身の出力部が測定回路56の第1カウンター57aの入力部と配線で接続されている。主発振器セレクター55aは、第1発振器53a〜第5発振器53eのうち選択したいずれか1つの発振器53の出力を測定回路56の第1カウンター57aに出力する。
副発振器セレクター55bは、発振回路52から引き出された第1発振器53a〜第5発振器53eの各出力部が自身の入力部と配線で接続されるとともに、自身の出力部が測定回路56の第2カウンター57bの入力部と配線で接続されている。副発振器セレクター55bは、第1発振器53a〜第5発振器53eのうち選択したいずれか1つの発振器53の出力を測定回路56の第2カウンター57bに出力する。なお、第1カウンター57aにより選択されている発振器53を主発振器と表記し、第2カウンター57bにより選択されている発振器53を副発振器と称する。主発振器セレクター55a,副発振器セレクター55bは、それぞれ主発振器選択信号k1,副発振器選択信号k2が制御部22から入力されるようになっており、この主発振器選択信号k1,副発振器選択信号k2の値によって選択される発振器53が定まるようになっている。主発振器選択信号k1,副発振器選択信号k2は値1〜5のいずれかであり、それぞれが第1発振器53a〜第5発振器53eに対応している。なお、主発振器選択信号k1と副発振器選択信号k2とが同時に同じ値となることはなく、主発振器及び副発振器には異なる発振器53が選択される。
As shown in FIG. 2, the selection circuit 54 includes a main oscillator selector 55a and a sub oscillator selector 55b. In the main oscillator selector 55a, the output units of the first oscillator 53a to the fifth oscillator 53e drawn from the oscillation circuit 52 are connected to their input units by wiring, and their output units are connected to the first circuit of the measurement circuit 56. It is connected to the input part of the counter 57a by wiring. The main oscillator selector 55a outputs the output of any one of the first oscillator 53a to the fifth oscillator 53e to the first counter 57a of the measurement circuit 56.
The sub-oscillator selector 55b is configured such that each output unit of the first oscillator 53a to the fifth oscillator 53e drawn from the oscillation circuit 52 is connected to its own input unit by wiring, and its output unit is the second of the measurement circuit 56. It is connected to the input part of the counter 57b by wiring. The sub oscillator selector 55b outputs the output of any one of the first oscillator 53a to the fifth oscillator 53e selected to the second counter 57b of the measurement circuit 56. The oscillator 53 selected by the first counter 57a is referred to as a main oscillator, and the oscillator 53 selected by the second counter 57b is referred to as a sub oscillator. The main oscillator selector 55a and the sub oscillator selector 55b are configured such that the main oscillator selection signal k1 and the sub oscillator selection signal k2 are input from the control unit 22, respectively. The oscillator 53 selected by the value is determined. The main oscillator selection signal k1 and the sub-oscillator selection signal k2 have any one of values 1 to 5, and each correspond to the first oscillator 53a to the fifth oscillator 53e. Note that the main oscillator selection signal k1 and the sub oscillator selection signal k2 do not become the same value at the same time, and different oscillators 53 are selected as the main oscillator and the sub oscillator.

測定回路56は、第1カウンター57aと、第2カウンター57bと、出力決定部58とを備えている。第1カウンター57aは、自身の入力部が主発振器セレクター55aの出力部と配線で接続されると共に自身の出力部が出力決定部58の入力部と配線で接続されている。   The measurement circuit 56 includes a first counter 57a, a second counter 57b, and an output determination unit 58. The first counter 57a has its own input unit connected to the output unit of the main oscillator selector 55a by wiring and its own output unit connected to the input unit of the output determination unit 58 by wiring.

第1カウンター57aは、主発振器セレクター55aを介して入力された主発振器の出力信号の発振回数(例えば信号の立ち上がり数)をカウントして、カウント数を出力決定部58に出力する。第2カウンター57bは、自身の入力部が副発振器セレクター55bの出力部と配線で接続されると共に自身の出力部が出力決定部58の入力部と配線で接続されている。第2カウンター57bは、副発振器セレクター55bを介して入力された副発振器の出力信号の発振回数をカウントして、カウント数を出力決定部58に出力する。   The first counter 57a counts the number of oscillations of the output signal of the main oscillator (for example, the number of rising edges of the signal) input via the main oscillator selector 55a, and outputs the count number to the output determination unit 58. The second counter 57b has its own input unit connected to the output unit of the sub-oscillator selector 55b by wiring, and its own output unit connected to the input unit of the output determination unit 58 by wiring. The second counter 57b counts the number of oscillations of the output signal of the sub-oscillator input via the sub-oscillator selector 55b, and outputs the count to the output determination unit 58.

出力決定部58は、自身の入力部が第1カウンター57a及び第2カウンター57bの出力部と配線で接続されており、自身の出力部が制御部22に接続されている。出力決定部58は、第1カウンター57aのカウント数が入力されると、このカウント数が変化するタイミングから主発振器の発振周期を導出して、導出した発振周期を実測周期T(k,p,q,r)として出力する。実測周期T(k,p,q,r)は、発振器番号kに対応する発振器53を信号経路W(p,q,r)で発振させたときの発振周期の実測値を意味する。なお、発振器番号kは値1〜5のいずれかの値であり、それぞれ第1発振器53a〜第5発振器53eに対応している。上述したように発振器53の発振周波数は、信号経路W(p,q,r)を構成する各インバーター60の製造ばらつきに起因する各信号経路固有の値となるため、この実測周期T(k,p,q,r)も発振器番号k,経路選択信号p,q,rに対応した固有の値となる。また、出力決定部58は、第1カウンター57a及び第2カウンター57bのカウント数が入力され、入力された第2カウンター57bのカウント数が所定カウント値Cp(例えば16進数×4桁の表記で値8000)になったときの第1カウンター57aのカウント数を実測カウント値Cとして制御部22に出力する。ここで、主発振器選択信号k1で定まる主発振器を主発振器の経路選択信号p,q,r(以下、主経路選択信号p1,q1,r1と称する)で定まる主信号経路W(p1,q1,r1)で発振させたときの発振周波数をf1とし、副発振器選択信号k2で定まる副発振器を副発振器の経路選択信号p,q,r(以下、副経路選択信号p2,q2,r2と称する)で定まる副信号経路W(p2,q2,r2)で発振させたときの発振周波数をf2とすると、実測カウント値Cは以下の式(1)で表される値となる。ここで、発振周波数f1は主発振器選択信号k1、主経路選択信号p1,q1,r1に対応する固有の値となり、発振周波数f2は副発振器選択信号k2、副経路選択信号p2,q2,r2に対応する固有の値となるから、実測カウント値Cは発振周波数f1は主発振器選択信号k1、主経路選択信号p1,q1,r1、副発振器選択信号k2、副経路選択信号p2,q2,r2の組み合わせに対応する固有の値となる。なお、主発振器選択信号k1、主経路選択信号p1,q1,r1、副発振器選択信号k2、副経路選択信号p2,q2,r2の組み合わせをチャレンジCHと称する。第1カウンター57aは、カウント数をグレイコードで出力決定部58に出力するようになっており、出力決定部58はこのグレイコードを通常のバイナリコードに変換したものを実測カウント値Cとして出力する。このようにすることで、第1カウンター57aの出力と第2カウンター57bの出力との同期をとらなくとも、実測カウント値Cの誤差を最大で値1に抑えることができる。   The output determination unit 58 has its own input unit connected to the output units of the first counter 57 a and the second counter 57 b by wiring, and its output unit is connected to the control unit 22. When the count number of the first counter 57a is input, the output determination unit 58 derives the oscillation period of the main oscillator from the timing at which the count number changes, and the derived oscillation period is determined as the actual measurement period T (k, p, q, r). The actual measurement period T (k, p, q, r) means an actual measurement value of the oscillation period when the oscillator 53 corresponding to the oscillator number k is oscillated through the signal path W (p, q, r). The oscillator number k is one of values 1 to 5 and corresponds to the first oscillator 53a to the fifth oscillator 53e, respectively. As described above, the oscillation frequency of the oscillator 53 becomes a value unique to each signal path resulting from manufacturing variations of the respective inverters 60 constituting the signal path W (p, q, r). p, q, r) is also a unique value corresponding to the oscillator number k and the path selection signals p, q, r. Further, the output determination unit 58 receives the count numbers of the first counter 57a and the second counter 57b, and the input count number of the second counter 57b is a predetermined count value Cp (for example, a hexadecimal number × 4 digit notation). 8000), the count number of the first counter 57a is output to the control unit 22 as an actual count value C. Here, the main oscillator determined by the main oscillator selection signal k1 is a main signal path W (p1, q1, r1) determined by the main oscillator path selection signals p, q, r (hereinafter referred to as main path selection signals p1, q1, r1). The oscillation frequency when oscillating at r1) is f1, and the sub-oscillator determined by the sub-oscillator selection signal k2 is a sub-oscillator path selection signal p, q, r (hereinafter referred to as sub-path selection signals p2, q2, r2). Assuming that the oscillation frequency when oscillating in the sub-signal path W (p2, q2, r2) determined by is f2, the actually measured count value C is a value represented by the following equation (1). Here, the oscillation frequency f1 is a specific value corresponding to the main oscillator selection signal k1 and the main path selection signals p1, q1, and r1, and the oscillation frequency f2 is the sub-oscillator selection signal k2 and the subpath selection signals p2, q2, and r2. Since the measured count value C is a corresponding unique value, the oscillation frequency f1 is the main oscillator selection signal k1, the main path selection signals p1, q1, r1, the sub oscillator selection signal k2, the sub path selection signals p2, q2, r2. It is a unique value corresponding to the combination. A combination of the main oscillator selection signal k1, the main path selection signals p1, q1, and r1, the sub oscillator selection signal k2, and the sub path selection signals p2, q2, and r2 is referred to as a challenge CH. The first counter 57a outputs the count number as a gray code to the output determination unit 58, and the output determination unit 58 outputs an actual count value C obtained by converting the gray code into a normal binary code. . In this way, the error of the actually measured count value C can be suppressed to a maximum value of 1 without synchronizing the output of the first counter 57a and the output of the second counter 57b.

C=f1/f2×Cp (1) C = f1 / f2 × Cp (1)

ここで、発振器53毎及び信号経路W(p,q,r)毎に発振周波数が固有の値となる理由について詳細に説明する。発振器53を構成する6つのインバーター60は同じものであり、いずれの信号経路W(p,q,r)を選択した場合でも発振器53の発振周波数の定格値(例えば、170MHzなど)は同じ値である。同様に、第1発振器53a〜第5発振器53e間でも互いに内部の構成が同じであるため発振周波数の定格値は同じである。しかし、インバーター60の製造時のばらつきによってインバーター60の遅延時間にわずかな違いが生じるため、実際には第1発振器53a〜第5発振器53e毎、及び信号経路W(p,q,r)毎に発振周波数に違いが生じる。このばらつきは、例えば発振周波数の定格値の数%程度以下である。また、内部の構成が同じでも発振器53の配置や配線の違いによって遅延時間に違いが生じるため、これによっても発振周波数に違いが生じる。なお、発振器53の配置や配線の違いとは、発振器内部の回路や素子の配置及び発振器内部の配線の違いを含み、例えば発振器53内の信号経路W(p,q,r)毎の発振に用いられるインバーター60の配置や配線の違いなどである。具体的には、例えば、信号経路W(0,0,0)では3段目のインバーター60が第5インバーター63aであるのに対し信号経路W(0,0,1)では3段目のインバーター60が第6インバーター63bであるため、発振に用いられる3段目のインバーター60の配置,第2経路セレクター66bから3段目のインバーター60までの配線,3段目のインバーター60から第3経路セレクター66cまでの配線が異なるなど、同じ発振器53であっても信号経路W(p,q,r)によって発振周波数に違いが生じる。また、例えば第1発振器53aと第2発振器53bとでは同じ信号経路W(0,0,0)であってもその信号経路を構成する配線の長さが異なるなど、異なる発振器53の間では同じ信号経路であっても発振周波数に違いが生じる。このようなインバーター60の製造時のばらつきと発振器53の配置や配線の違いとによって、発振器53は第1発振器53a〜第5発振器53e毎、及び信号経路W(p,q,r)毎に固有の発振周波数で発振する。   Here, the reason why the oscillation frequency becomes a unique value for each oscillator 53 and each signal path W (p, q, r) will be described in detail. The six inverters 60 constituting the oscillator 53 are the same, and the rated value (for example, 170 MHz) of the oscillation frequency of the oscillator 53 is the same regardless of which signal path W (p, q, r) is selected. is there. Similarly, since the internal configurations of the first oscillator 53a to the fifth oscillator 53e are the same, the rated value of the oscillation frequency is the same. However, a slight difference occurs in the delay time of the inverter 60 due to variations in the manufacturing of the inverter 60, so in practice every first oscillator 53a to fifth oscillator 53e and every signal path W (p, q, r). A difference occurs in the oscillation frequency. This variation is, for example, about several percent or less of the rated value of the oscillation frequency. In addition, even if the internal configuration is the same, the delay time varies depending on the arrangement and wiring of the oscillator 53, so that the oscillation frequency also varies. Note that the difference in the arrangement and wiring of the oscillator 53 includes the arrangement of circuits and elements in the oscillator and the wiring in the oscillator. For example, in the oscillation for each signal path W (p, q, r) in the oscillator 53. For example, the arrangement and wiring of the inverter 60 used are different. Specifically, for example, in the signal path W (0, 0, 0), the third stage inverter 60 is the fifth inverter 63a, whereas in the signal path W (0, 0, 1), the third stage inverter. Since 60 is the sixth inverter 63b, the arrangement of the third stage inverter 60 used for oscillation, the wiring from the second path selector 66b to the third stage inverter 60, and the third stage inverter 60 to the third path selector Even in the same oscillator 53, such as the wiring up to 66c, the oscillation frequency varies depending on the signal path W (p, q, r). For example, even if the first oscillator 53a and the second oscillator 53b have the same signal path W (0, 0, 0), the lengths of the wires constituting the signal path are different. Even in the signal path, a difference occurs in the oscillation frequency. Oscillator 53 is unique to each of first to fifth oscillators 53a to 53e and to each signal path W (p, q, r) due to such variations in manufacturing of inverter 60 and differences in the arrangement and wiring of oscillator 53. It oscillates at the oscillation frequency.

カードリーダー30は、ネットワーク11を介してサーバー40と接続されており、サーバー40の端末として機能する。このカードリーダー30は、カードリーダー30全体の制御を司る制御部32と、各種データを記憶する記憶部34と、ICカード20を挿入可能なカードスロット36とを備えている。カードリーダー30は、ネットワーク11を介してサーバー40とデータのやり取りを行うと共に、カードスロット36に挿入されたICカード20とデータのやり取りを行う。   The card reader 30 is connected to the server 40 via the network 11 and functions as a terminal of the server 40. The card reader 30 includes a control unit 32 that controls the entire card reader 30, a storage unit 34 that stores various data, and a card slot 36 into which the IC card 20 can be inserted. The card reader 30 exchanges data with the server 40 via the network 11 and exchanges data with the IC card 20 inserted into the card slot 36.

サーバー40は、ICカード20が正規のカードであるか否かの判定を行うものであり、サーバー40全体の制御を司る制御部41と、各種データを記憶する記憶部45とを備えている。制御部41は、取得部42と、補正部43と、判定部44とを備えており、記憶部45は、平均値テーブル46と、固有値テーブル47とを備えている。取得部42は、ICカード20の主発振器及び副発振器を発振させ、その発振周波数の差に基づく値である上述した実測カウント値Cを取得する機能を有する。補正部43は、複数のICカード20についての実測カウント値Cを取得した主発振器及び副発振器と同じ配置及び配線の発振器53を発振させたときの2つの発振器53の周波数の平均的な差に基づく値を平均値テーブル46から導出し、取得部42により取得された実測カウント値Cを平均値テーブル46から導出した値に基づいて補正することで、補正後カウント値Ccを導出する機能を有する。判定部44は、固有値テーブル47からICカード20の主発振器及び副発振器に対応する固有値Iを読み出し、読み出した固有値Iが補正後カウント値Cと一致するか否かにより、ICカード20が正規のものであるか否かを判定する機能を有する。平均値テーブル46は、補正部43が実測カウント値Cを補正するために用いる値を各発振器53と対応付けて記憶しているテーブルである。また、固有値テーブル47は、ICカード20の有する主発振器,主信号経路,副発振器,副信号経路の組み合わせと、主発振器及び副発振器の固有の発振周波数に基づく所定の固有値Iとを対応付けて記憶しているテーブルである。   The server 40 determines whether or not the IC card 20 is a regular card, and includes a control unit 41 that controls the entire server 40 and a storage unit 45 that stores various data. The control unit 41 includes an acquisition unit 42, a correction unit 43, and a determination unit 44, and the storage unit 45 includes an average value table 46 and an eigenvalue table 47. The acquisition unit 42 has a function of oscillating the main oscillator and the sub-oscillator of the IC card 20 and acquiring the above-described actual count value C that is a value based on the difference between the oscillation frequencies. The correction unit 43 has an average difference between the frequencies of the two oscillators 53 when the oscillators 53 having the same arrangement and wiring as the main oscillator and the sub-oscillator that have obtained the actual count values C for the plurality of IC cards 20 are oscillated. A function of deriving the corrected count value Cc by deriving the value based on the average value table 46 and correcting the actual count value C acquired by the acquisition unit 42 based on the value derived from the average value table 46. . The determination unit 44 reads the eigenvalue I corresponding to the main oscillator and the sub-oscillator of the IC card 20 from the eigenvalue table 47, and determines whether the IC card 20 is normal depending on whether or not the read eigenvalue I matches the corrected count value C. It has a function of determining whether or not it is a thing. The average value table 46 is a table that stores values used by the correction unit 43 to correct the actually measured count value C in association with each oscillator 53. The eigenvalue table 47 associates the combination of the main oscillator, main signal path, sub-oscillator, and sub-signal path of the IC card 20 with a predetermined eigenvalue I based on the specific oscillation frequency of the main oscillator and the sub-oscillator. It is a stored table.

次に、こうして構成された情報セキュリティシステム10の動作について説明する。まず、サーバー40が平均値テーブル46及び固有値テーブル47を作成して記憶部45に記憶する処理について説明し、その後情報セキュリティシステム10全体の動作について説明する。   Next, the operation of the information security system 10 configured as described above will be described. First, the process in which the server 40 creates the average value table 46 and the eigenvalue table 47 and stores them in the storage unit 45 will be described, and then the operation of the entire information security system 10 will be described.

まず、サーバー40が事前に平均値テーブル46を作成して記憶部45に記憶しておく処理について説明する。図4は、平均値記憶ルーチンの一例を示すフローチャートである。このルーチンは、複数(例えば数百〜数万枚)のICカード20を用意し、用意したICカード20のICチップ21とサーバー40とを接続して、サーバー40の制御部41がネットワーク11を介さず直接に複数のICカード20と情報をやりとりできる状態にした上で、制御部41により実行される。この平均値記憶ルーチンは、ユーザーにICカード20を配布する前に予め実行しておくものである。なお、この平均値記憶ルーチンは、発振器53の配置や配線に起因する発振周波数の変化分を除去可能な値としての平均値を取得して記憶しておくものである。そのため、このルーチンに用いるICカード20は、情報セキュリティシステム10を構成するICカード20と発振器53の配置や配線を含めて同じ構成のICカードであればよく、必ずしも情報セキュリティシステム10を構成するICカード20、すなわち後にユーザーに配布するICカード20である必要はない。したがって、例えば情報セキュリティシステム10を構成するICカード20を製造する前や、サーバー40がネットワーク11に接続される前に平均値記憶ルーチンを実行してもよい。   First, the process in which the server 40 creates the average value table 46 in advance and stores it in the storage unit 45 will be described. FIG. 4 is a flowchart showing an example of the average value storage routine. In this routine, a plurality (for example, several hundred to several tens of thousands) of IC cards 20 are prepared, the IC chip 21 of the prepared IC card 20 and the server 40 are connected, and the control unit 41 of the server 40 establishes the network 11. This is executed by the control unit 41 after making it possible to directly exchange information with a plurality of IC cards 20 without intervention. This average value storage routine is executed in advance before distributing the IC card 20 to the user. This average value storage routine acquires and stores an average value as a value from which a change in the oscillation frequency due to the placement and wiring of the oscillator 53 can be removed. Therefore, the IC card 20 used in this routine may be an IC card having the same configuration including the placement and wiring of the oscillator 53 and the IC card 20 constituting the information security system 10, and the IC card constituting the information security system 10 is not necessarily used. It need not be the card 20, that is, the IC card 20 to be distributed to the user later. Therefore, for example, the average value storage routine may be executed before the IC card 20 constituting the information security system 10 is manufactured or before the server 40 is connected to the network 11.

この平均値記憶ルーチンが実行されると、制御部41は、まず、接続された複数のICカード20のうち1つを処理対象のICカードに設定する(ステップS200)。続いて、発振器番号kを値1に設定し(ステップS205)、実測周期T(k,0,0,0),T(k,1,0,0),T(k,0,1,0),T(k,0,0,1)を取得する(ステップS210)。実測周期T(k,p,q,r)は、上述したように発振器番号kに対応する発振器53を信号経路W(p,q,r)で発振させたときの発振周期の実測値である。なお、信号経路W(0,0,0)を基準信号経路、信号経路W(1,0,0),W(0,1,0),W(0,0,1)をオフセット信号経路と称する。オフセット信号経路は、基準信号経路と比べて経路選択信号p,q,rのうちいずれか1つの値のみが異なる信号経路である。換言すると、オフセット信号経路は、基準信号経路と比べて1つのインバーター60のみが異なる信号経路である。本実施形態では、例えば実測周期T(k,0,0,0)は、次のように取得する。主発振器選択信号k1として値kを、主経路選択信号p1,q1,r1として値0,0,0を、それぞれ取得部42が制御部22に送信して、これに対応する実測周期T(k,0,0,0)を送信するよう取得部42が制御部22を制御する。これを受けて、制御部22は、送信された主発振器選択信号k1を主発振器セレクター55aに設定し、主経路選択信号p1,q1,r1を主発振器の経路セレクター66に設定する。そして、出力決定部58から主発振器選択信号k1、経路選択信号p,q,rに対応する実測周期T(k,0,0,0)が出力されると、制御部22はこれを取得部42に送信し、取得部42が実測周期T(k、0,0,0)を取得する。実測周期T(k,1,0,0),T(k,0,1,0),T(k,0,0,1)についても、主経路選択信号p1,q1.r1の値が異なる以外は同様にして取得するものとした。なお、基準信号経路でなく且つオフセット信号経路でもない信号経路W(p,q,r)については、実測周期の測定を行わない。これは、後述する処理において、基準信号経路の実測周期Tの平均値とオフセット信号経路の実測周期Tの平均値とから、このような経路の平均値を計算により求めるよう設定されているためである。   When this average value storage routine is executed, the control unit 41 first sets one of the connected IC cards 20 as a processing target IC card (step S200). Subsequently, the oscillator number k is set to a value 1 (step S205), and the actual measurement period T (k, 0, 0, 0), T (k, 1, 0, 0), T (k, 0, 1, 0). ), T (k, 0, 0, 1) are acquired (step S210). The actual measurement period T (k, p, q, r) is an actual measurement value of the oscillation period when the oscillator 53 corresponding to the oscillator number k is oscillated in the signal path W (p, q, r) as described above. . The signal path W (0, 0, 0) is a reference signal path, the signal paths W (1, 0, 0), W (0, 1, 0), and W (0, 0, 1) are offset signal paths. Called. The offset signal path is a signal path in which only one value of the path selection signals p, q, r is different from that of the reference signal path. In other words, the offset signal path is a signal path in which only one inverter 60 is different from the reference signal path. In the present embodiment, for example, the actual measurement period T (k, 0, 0, 0) is acquired as follows. The acquisition unit 42 transmits the value k as the main oscillator selection signal k1 and the values 0, 0, 0 as the main path selection signals p1, q1, and r1 to the control unit 22, and the corresponding measurement cycle T (k , 0, 0, 0), the acquisition unit 42 controls the control unit 22. In response to this, the control unit 22 sets the transmitted main oscillator selection signal k1 in the main oscillator selector 55a, and sets the main path selection signals p1, q1, and r1 in the path selector 66 of the main oscillator. When the measurement period T (k, 0, 0, 0) corresponding to the main oscillator selection signal k1 and the path selection signals p, q, r is output from the output determination unit 58, the control unit 22 acquires this. 42, and the acquisition unit 42 acquires the actual measurement cycle T (k, 0, 0, 0). The main route selection signals p1, q1,... Are also measured for the actual measurement periods T (k, 1, 0, 0), T (k, 0, 1, 0), T (k, 0, 0, 1). It was obtained in the same manner except that the value of r1 was different. Note that the measurement period is not measured for the signal path W (p, q, r) that is neither the reference signal path nor the offset signal path. This is because, in the processing described later, it is set so that the average value of such a path is obtained by calculation from the average value of the actual measurement period T of the reference signal path and the average value of the actual measurement period T of the offset signal path. is there.

続いて、制御部41は、発振器番号kが上限値(本実施形態では値5)であるか否かを判定し(ステップS215)、発振器番号kが上限値でないときには、発振器番号kを値1インクリメントして(ステップS220)、ステップS210以降の処理を行う。これにより、第1発振器53a〜第5発振器53eについて、それぞれ実測周期T(k,0,0,0),T(k,1,0,0),T(k,0,1,0),T(k,0,0,1)が順次取得される。一方、ステップS215で発振器番号kが上限値であるときには、接続された複数のICカード20のうち未処理のICカード20があるか否かを判定する(ステップS225)。そして、未処理のICカード20があるときには、ステップS200以降の処理を行う。これにより、サーバー40に接続された全てのICカード20について実測周期Tが順次取得されることになる。   Subsequently, the control unit 41 determines whether or not the oscillator number k is an upper limit value (value 5 in the present embodiment) (step S215). If the oscillator number k is not the upper limit value, the oscillator number k is set to a value of 1. Increment (step S220), the processing after step S210 is performed. As a result, for the first oscillator 53a to the fifth oscillator 53e, the actual measurement periods T (k, 0, 0, 0), T (k, 1, 0, 0), T (k, 0, 1, 0), T (k, 0, 0, 1) is acquired sequentially. On the other hand, when the oscillator number k is the upper limit value in step S215, it is determined whether there is an unprocessed IC card 20 among the plurality of connected IC cards 20 (step S225). When there is an unprocessed IC card 20, the processes after step S200 are performed. As a result, the actual measurement period T is sequentially acquired for all the IC cards 20 connected to the server 40.

ステップS225で未処理のICカード20がないときには、発振器番号kを値1に設定し(ステップS230)、サーバー40に接続された複数のICカード20について取得した実測周期T(k,0,0,0),T(k,1,0,0),T(k,0,1,0),T(k,0,0,1)をそれぞれ平均した値である平均周期Tave(k,0,0,0),Tave(k,1,0,0),Tave(k,0,1,0),Tave(k,0,0,1)を導出する(ステップS235)。例えば、千枚のICカード20について実測周期Tの測定を行った場合には、千個の実測周期T(k,0,0,0)の平均値を平均周期Tave(k、0,0,0)とする。平均周期Tave(k,1,0,0),Tave(k,0,1,0),Tave(k,0,0,1)についても同様である。   If there is no unprocessed IC card 20 in step S225, the oscillator number k is set to the value 1 (step S230), and the actual measurement period T (k, 0, 0) acquired for the plurality of IC cards 20 connected to the server 40 is set. , 0), T (k, 1, 0, 0), T (k, 0, 1, 0), and T (k, 0, 0, 1) are averaged periods Tave (k, 0) , 0, 0), Tave (k, 1, 0, 0), Tave (k, 0, 1, 0), Tave (k, 0, 0, 1) are derived (step S235). For example, when the measurement cycle T is measured for a thousand IC cards 20, the average value of the thousand measurement cycles T (k, 0, 0, 0) is calculated as the average cycle Tave (k, 0, 0, 0). The same applies to the average period Tave (k, 1, 0, 0), Tave (k, 0, 1, 0), Tave (k, 0, 0, 1).

そして、制御部41は、導出した平均周期Tave(k,0,0,0)を基準値Tb(k)として発振器番号kと対応付けて平均値テーブル46として記憶部45に記憶する(ステップS240)。続いて、以下の式(2)〜(4)で導出したオフセット値To(k,1,0,0),To(k,0,1,0),To(k,0,0,1)をそれぞれ発振器番号kと対応付けて平均値テーブル46として記憶部45に記憶する(ステップS245)。なお、式(2)〜(4)からわかるように、オフセット値To(k,1,0,0),To(k,0,1,0),To(k,0,0,1)は、それぞれ平均周期Tave(k,1,0,0),Tave(k,0,1,0),Tave(k,0,0,1)と基準値Tb(k)との差である。そして、発振器番号kが上限値(本実施形態では値5)であるか否かを判定し(ステップS250)、発振器番号kが上限値でないときには、発振器番号kを値1インクリメントして(ステップS255)、ステップS235以降の処理を行う。一方、ステップS250で発振器番号kが上限値であるときには、本ルーチンを終了する。   Then, the control unit 41 stores the derived average period Tave (k, 0, 0, 0) in the storage unit 45 as the average value table 46 in association with the oscillator number k as the reference value Tb (k) (step S240). ). Subsequently, offset values To (k, 1, 0, 0), To (k, 0, 1, 0), To (k, 0, 0, 1) derived from the following equations (2) to (4). Are associated with the oscillator number k and stored in the storage unit 45 as the average value table 46 (step S245). As can be seen from the equations (2) to (4), the offset values To (k, 1, 0, 0), To (k, 0, 1, 0), To (k, 0, 0, 1) are , Respectively, is the difference between the average period Tave (k, 1, 0, 0), Tave (k, 0, 1, 0), Tave (k, 0, 0, 1) and the reference value Tb (k). Then, it is determined whether or not the oscillator number k is an upper limit value (value 5 in this embodiment) (step S250). If the oscillator number k is not the upper limit value, the oscillator number k is incremented by 1 (step S255). ), The process after step S235 is performed. On the other hand, when the oscillator number k is the upper limit value in step S250, this routine ends.

To(k,1,0,0)=Tave(k,1,0,0)−Tb(k) (2)
To(k,0,1,0)=Tave(k,0,1,0)−Tb(k) (3)
To(k,0,0,1)=Tave(k,0,0,1)−Tb(k) (4)
To (k, 1, 0, 0) = Tave (k, 1, 0, 0) −Tb (k) (2)
To (k, 0, 1, 0) = Tave (k, 0, 1, 0) −Tb (k) (3)
To (k, 0, 0, 1) = Tave (k, 0, 0, 1) −Tb (k) (4)

このように平均値記憶ルーチンを実行することで、平均値テーブル46が作成されて記憶部45に記憶される。図5は、平均値テーブル46の一例を示す説明図である。この図に示すように、平均値テーブル46では、発振器番号kの値1〜5について、それぞれ基準値Tb(k),オフセット値To(k、1,0,0),To(k、0,1,0),To(k、0,0,1)の値が対応付けられている。ここで、上述したように基準値Tb(k)は、発振器番号kに対応する発振器53を基準信号経路で発振させたときの発振周期T(k,0,0,0)を複数のICカード20について測定して平均した値である。そして、同じ信号経路且つ同じ発振器53であれば、発振器53の配置や配線に起因する発振周波数の変化分はどのICカード20でも同程度であるのに対し、製造ばらつきに起因する発振周波数の変化分はICカード20毎に異なる。そのため、発振周期T(k,0,0,0)の平均値である基準値Tb(k)は、製造ばらつきに起因する発振周波数の変化分は互いに打ち消しあい、発振器53の配置や配線に起因する発振周波数の変化分の影響が残った値となる。このように、発振周期の平均をとった値である平均周期Tave(k,p,q,r)は、発振周波数の定格値と発振器53の配置や配線に起因する発振周波数の変化分とで定まる値となる。また、オフセット値To(k,1,0,0)は平均周期Tave(k,1,0,0)と基準値Tb(k)との差であり、両者は信号経路が信号経路W(1,0,0)であるか信号経路W(0,0,0)であるかが異なるから、この違いに起因する発振周波数の差に相当する値がオフセット値To(k,1,0,0)となる。具体的には、発振器53の1段目のインバーター60として第2インバーター61bを選択したときと第1インバーター61aを選択したときとで信号の経路となる配線が異なり、この配線の長さ等で定まる遅延時間の違いに相当する値がオフセット値To(k,1,0,0)となる。例えば、第3経路セレクター66cの出力から第1インバーター61aの入力までの配線と比べて第3経路セレクター66cの出力から第2インバーター61bの入力までの配線が長いほど、平均周期Tave(k,1,0,0)は基準値Tb(k)よりも大きい値となりオフセット値To(k,1,0,0)も大きい値となる。同様に、信号経路が信号経路W(0,1,0)であるか信号経路W(0,0,0)であるかの違いに起因する発振周波数の差に相当する値がオフセット値To(k,0,1,0)となり、信号経路が信号経路W(0,0,1)であるか信号経路W(0,0,0)であるかの違いに起因する発振周波数の差に相当する値がオフセット値To(k,0,0,1)となる。   By executing the average value storage routine in this way, the average value table 46 is created and stored in the storage unit 45. FIG. 5 is an explanatory diagram showing an example of the average value table 46. As shown in this figure, in the average value table 46, the reference value Tb (k), offset value To (k, 1, 0, 0), To (k, 0, 1, 0) and To (k, 0, 0, 1) are associated with each other. Here, as described above, the reference value Tb (k) is an oscillation period T (k, 0, 0, 0) when the oscillator 53 corresponding to the oscillator number k is oscillated in the reference signal path. It is the value measured and averaged for 20. If the same signal path and the same oscillator 53 are used, the change in the oscillation frequency caused by the placement and wiring of the oscillator 53 is almost the same in any IC card 20, whereas the change in the oscillation frequency caused by manufacturing variations. The minutes differ for each IC card 20. For this reason, the reference value Tb (k), which is the average value of the oscillation period T (k, 0, 0, 0), cancels out the changes in the oscillation frequency due to manufacturing variations, resulting from the placement and wiring of the oscillator 53. This value remains the effect of the change in oscillation frequency. As described above, the average period Tave (k, p, q, r), which is an average value of the oscillation periods, is determined by the rated value of the oscillation frequency and the change in the oscillation frequency caused by the placement and wiring of the oscillator 53. It becomes a fixed value. The offset value To (k, 1, 0, 0) is the difference between the average period Tave (k, 1, 0, 0) and the reference value Tb (k), and the signal path is the signal path W (1 , 0, 0) or the signal path W (0, 0, 0) is different, the value corresponding to the difference in oscillation frequency due to this difference is the offset value To (k, 1, 0, 0). ) Specifically, the wiring used as a signal path differs depending on whether the second inverter 61b is selected as the first-stage inverter 60 of the oscillator 53 and when the first inverter 61a is selected. A value corresponding to the difference in the determined delay time is the offset value To (k, 1, 0, 0). For example, as the wiring from the output of the third path selector 66c to the input of the second inverter 61b is longer than the wiring from the output of the third path selector 66c to the input of the first inverter 61a, the average period Tave (k, 1 , 0, 0) is larger than the reference value Tb (k), and the offset value To (k, 1, 0, 0) is also larger. Similarly, a value corresponding to a difference in oscillation frequency due to a difference between whether the signal path is the signal path W (0, 1, 0) or the signal path W (0, 0, 0) is an offset value To ( k, 0, 1, 0), corresponding to the difference in oscillation frequency due to the difference between the signal path W (0, 0, 1) and the signal path W (0, 0, 0). The value to be used is the offset value To (k, 0, 0, 1).

続いて、サーバー40が事前に固有値テーブル47を記憶しておく処理について説明する。図6は、固有値記憶ルーチンの一例を示すフローチャートである。このルーチンは、情報セキュリティシステム10を構成するICカード20を製造した後、ユーザーにICカード20を配布する前に実行される。また、このルーチンは、ユーザーに配布するICカード20のICチップ21とサーバー40とを接続して、サーバー40の制御部41がネットワーク11を介さず直接に複数のICカード20と情報をやりとりできる状態にした上で、制御部41により実行される。なお、サーバー40がネットワーク11に接続される前に固有値記憶ルーチンを実行してもよい。また、固有値記憶ルーチンを実行する前には平均値テーブル記憶ルーチンを実行しておき、平均値テーブル46を作成しておく。   Next, processing in which the server 40 stores the eigenvalue table 47 in advance will be described. FIG. 6 is a flowchart showing an example of the eigenvalue storage routine. This routine is executed after the IC card 20 constituting the information security system 10 is manufactured and before the IC card 20 is distributed to the user. Also, this routine connects the IC chip 21 of the IC card 20 distributed to the user and the server 40 so that the control unit 41 of the server 40 can directly exchange information with the plurality of IC cards 20 without going through the network 11. It is executed by the control unit 41 after making the state. Note that the eigenvalue storage routine may be executed before the server 40 is connected to the network 11. Further, before executing the eigenvalue storage routine, the average value table storage routine is executed, and the average value table 46 is created.

この固有値記憶ルーチンが実行されると、制御部41は、まず、サーバー40に接続されたICカード20のうち1つを処理対象のICカードに設定し(ステップS300)、処理対象のICカード20のIDを取得する(ステップS305)。具体的には、制御部41が、処理対象のICカード20の記憶部24に記憶されたIDを送信するよう制御部22を制御し、制御部22から送信されたIDを取得する。続いて、処理対象のチャレンジCHの設定、すなわち主発振器選択信号k1,主経路選択信号p1,q1,r1、副発振器選択信号k2,副経路選択信号p2,q2,r2の設定を行う(ステップS310)。ここで、本実施形態では、主発振器選択信号k1と副発振器選択信号k2との組み合わせは20通り存在し、1つの主発振器選択信号k1と副発振器選択信号k2との組み合わせについて主経路選択信号p1,q1,r1の組み合わせが8通り、副経路選択信号p2,q2,r2の組み合わせが8通り存在するため、20×8×8=1280通りのチャレンジCHが存在する。ステップS310では、この1280通りのチャレンジCHのうち未処理のもの1つを処理対象のチャレンジCHに設定する。   When this eigenvalue storage routine is executed, the control unit 41 first sets one of the IC cards 20 connected to the server 40 as the IC card to be processed (step S300), and the IC card 20 to be processed. ID is acquired (step S305). Specifically, the control unit 41 controls the control unit 22 to transmit the ID stored in the storage unit 24 of the processing target IC card 20, and acquires the ID transmitted from the control unit 22. Subsequently, the challenge CH to be processed is set, that is, the main oscillator selection signal k1, the main path selection signals p1, q1, r1, the sub oscillator selection signal k2, the sub path selection signals p2, q2, r2 are set (step S310). ). Here, in the present embodiment, there are 20 combinations of the main oscillator selection signal k1 and the sub oscillator selection signal k2, and the main path selection signal p1 for one combination of the main oscillator selection signal k1 and the sub oscillator selection signal k2. , Q1, r1 and 8 combinations of sub-path selection signals p2, q2, r2, there are 20 × 8 × 8 = 1280 challenge CHs. In step S310, one of the 1280 challenge CHs that have not been processed is set as the challenge CH to be processed.

続いて、制御部41は、処理対象のチャレンジCHに対応する実測カウント値CをICカード20から取得する(ステップS315)。この処理は具体的には以下のように行う。まず、処理対象のチャレンジCHを処理対象のICカード20の制御部22に送信して、チャレンジCHに対応する実測カウント値Cをサーバー40に送信するよう取得部42が制御部22に指令する。これを受けて、制御部22は、送信されたチャレンジCHに含まれる主発振器選択信号k1を主発振器セレクター55aに設定し、副発振器選択信号k2を副発振器セレクター55bに設定し、主経路選択信号p1,q1,r1、副経路選択信号p2,q2,r2、をそれぞれ主発振器及び副発振器の経路セレクター66に設定する。そして、出力決定部58からチャレンジCHに対応する実測カウント値Cが出力されると、制御部22はこれを取得部42に送信し、取得部42が実測カウント値Cを取得する。   Subsequently, the control unit 41 acquires an actual measurement count value C corresponding to the challenge CH to be processed from the IC card 20 (step S315). Specifically, this processing is performed as follows. First, the acquisition unit 42 instructs the control unit 22 to transmit the challenge CH to be processed to the control unit 22 of the IC card 20 to be processed and to transmit the actual count value C corresponding to the challenge CH to the server 40. In response to this, the control unit 22 sets the main oscillator selection signal k1 included in the transmitted challenge CH to the main oscillator selector 55a, sets the sub oscillator selection signal k2 to the sub oscillator selector 55b, and sets the main path selection signal. p1, q1, r1, and sub-path selection signals p2, q2, r2 are set in the path selector 66 of the main oscillator and the sub-oscillator, respectively. Then, when the actual measurement count value C corresponding to the challenge CH is output from the output determination unit 58, the control unit 22 transmits this to the acquisition unit 42, and the acquisition unit 42 acquires the actual measurement count value C.

次に、制御部41の補正部43は、処理対象のチャレンジCHの主発振器選択信号k1,主経路選択信号p1,q1,r1に対応する平均周期Tave(k1,p1,q1,r1)を導出する主平均周期導出処理を行う(ステップS320)。なお、平均周期Tave(k1,p1,q1,r1)は主平均周期T1aveとも称する。ここで、固有値記憶ルーチンの説明を中断して、主平均周期導出処理について説明する。図7は、主平均周期導出処理の一例を示すフローチャートである。   Next, the correction unit 43 of the control unit 41 derives an average period Tave (k1, p1, q1, r1) corresponding to the main oscillator selection signal k1, main path selection signals p1, q1, r1 of the challenge CH to be processed. The main average period deriving process is performed (step S320). The average period Tave (k1, p1, q1, r1) is also referred to as a main average period T1ave. Here, the description of the eigenvalue storage routine will be interrupted, and the main average period derivation process will be described. FIG. 7 is a flowchart illustrating an example of the main average period derivation process.

この主平均周期導出処理では、補正部43は、まず、主信号経路W(p1,q1,r1)が基準信号経路であるか否かを判定する(ステップS400)。本実施形態では、基準信号経路は信号経路W(0,0,0)であるため、主経路選択信号p1,q1,r1がいずれも値0であるか否かを判定することになる。そして、主信号経路W(p1,q1,r1)が基準信号経路であるときには、平均値テーブル46に記憶された基準値Tb(k1)の値を主平均周期T1aveとして導出して(ステップS410)、主平均周期導出処理を終了する。平均値記憶ルーチンで説明したように基準値Tb(k1)は平均周期Tave(k1,0,0,0)であるため、主信号経路W(p1,q1,r1)が基準信号経路であるときには基準値Tb(k1)をそのままT1aveとするのである。   In the main average period deriving process, the correction unit 43 first determines whether or not the main signal path W (p1, q1, r1) is the reference signal path (step S400). In the present embodiment, since the reference signal path is the signal path W (0, 0, 0), it is determined whether or not the main path selection signals p1, q1, and r1 are all zero. When the main signal path W (p1, q1, r1) is the reference signal path, the value of the reference value Tb (k1) stored in the average value table 46 is derived as the main average period T1ave (step S410). Then, the main average period deriving process is terminated. As described in the average value storage routine, since the reference value Tb (k1) is the average period Tave (k1, 0, 0, 0), the main signal path W (p1, q1, r1) is the reference signal path. The reference value Tb (k1) is used as T1ave as it is.

一方、ステップS400で主信号経路W(p1,q1,r1)が基準信号経路でないと判定したときには、補正部43は、主信号経路W(p1,q1,r1)がオフセット信号経路であるか否かを判定する(ステップS420)。本実施形態では、オフセット信号経路は信号経路W(1,0,0),W(0,1,0),W(0,0,1)であるため、主経路選択信号p1,q1,r1が値(1,0,0)、値(0,1,0)、値(0,0,1)のいずれかであるか否かを判定することになる。そして、主信号経路W(p1,q1,r1)がオフセット信号経路であるときには、平均値テーブル46に記憶された基準値Tb(k1)とオフセット値To(k1,p1,q1,r1)との和を主平均周期T1aveとして導出して(ステップS430)、主平均周期導出処理を終了する。平均値記憶ルーチンで説明したようにオフセット値To(k1,1,0,0),To(k1,0,1,0),To(k1,0,0,1)は、それぞれ平均周期Tave(k1,1,0,0),Tave(k1,0,1,0),Tave(k1,0,0,1)と基準値Tb(k1)との差であるため、主信号経路W(p1,q1,r1)がオフセット信号経路であるときにはこのようにして主平均周期T1aveを導出するのである。   On the other hand, when it is determined in step S400 that the main signal path W (p1, q1, r1) is not the reference signal path, the correction unit 43 determines whether the main signal path W (p1, q1, r1) is the offset signal path. Is determined (step S420). In this embodiment, since the offset signal paths are signal paths W (1, 0, 0), W (0, 1, 0), W (0, 0, 1), the main path selection signals p1, q1, r1 Is a value (1, 0, 0), a value (0, 1, 0), or a value (0, 0, 1). When the main signal path W (p1, q1, r1) is an offset signal path, the reference value Tb (k1) stored in the average value table 46 and the offset value To (k1, p1, q1, r1) The sum is derived as the main average period T1ave (step S430), and the main average period deriving process is terminated. As described in the average value storage routine, the offset values To (k1, 1, 0, 0), To (k1, 0, 1, 0), and To (k1, 0, 0, 1) are average cycles Tave ( k1, 1, 0, 0), Tave (k 1, 0, 1, 0), Tave (k 1, 0, 0, 1) and the difference between the reference value Tb (k 1) and the main signal path W (p 1 , Q1, r1) is the offset signal path, the main average period T1ave is derived in this way.

また、ステップS420で主信号経路W(p1,q1,r1)がオフセット信号経路でないときには、補正部43は、主経路選択信号p1が値0であるか否かを判定し(ステップS440)、主経路選択信号p1が値0でないときには平均値テーブル46に記憶されたオフセット値To(k1,p1,0,0)を読み出す(ステップS445)。続いて、主経路選択信号p1が値0であるとき又はオフセット値To(k1,p1,0,0)を読み出した後に、主経路選択信号q1が値0であるか否かを判定し(ステップS450)、主経路選択信号q1が値0でないときには平均値テーブル46に記憶されたオフセット値To(k1,0,q1,0)を読み出す(ステップS455)。次に、主経路選択信号q1が値0であるとき又はオフセット値To(k1,0,q1,0)を読み出した後に、主経路選択信号r1が値0であるか否かを判定し(ステップS460)、主経路選択信号r1が値0でないときには平均値テーブル46に記憶されたオフセット値To(k1,0,0,r1)を読み出す(ステップS465)。そして、主経路選択信号r1が値0であるとき又はオフセット値To(k1,0,0,r1)を読み出した後に、オフセット値To(k1,p1,0,0),To(k1,0,q1,0),To(k1,0,0,r1)のうちステップS445,S455,S465により読み出されたオフセット値と基準値Tb(k1)との和を主平均周期T1aveとして導出して(ステップS470)、主平均周期導出処理を終了する。このように、主信号経路W(p1,q1,r1)が基準信号経路でもオフセット信号経路でもないときには、主経路選択信号p1,q1,r1のうち基準信号経路と異なる値のものすなわち値0でないものを判定し、値0でない主経路選択信号に対応するオフセット値を平均値テーブル46から読み出して、読み出したオフセット値と基準値Tb(k1)との和を主平均周期T1aveとして導出するのである。   When the main signal path W (p1, q1, r1) is not the offset signal path in step S420, the correction unit 43 determines whether or not the main path selection signal p1 is 0 (step S440). When the route selection signal p1 is not 0, the offset value To (k1, p1, 0, 0) stored in the average value table 46 is read (step S445). Subsequently, when the main route selection signal p1 is 0 or after reading the offset value To (k1, p1, 0, 0), it is determined whether the main route selection signal q1 is 0 (step) S450), when the main route selection signal q1 is not 0, the offset value To (k1, 0, q1, 0) stored in the average value table 46 is read (step S455). Next, when the main route selection signal q1 is 0 or after reading the offset value To (k1, 0, q1, 0), it is determined whether or not the main route selection signal r1 is 0 (Step S1). S460) When the main route selection signal r1 is not 0, the offset value To (k1, 0, 0, r1) stored in the average value table 46 is read (step S465). Then, when the main route selection signal r1 is 0 or after reading the offset value To (k1, 0, 0, r1), the offset values To (k1, p1, 0, 0), To (k1, 0, q1, 0), To (k1, 0, 0, r1), the sum of the offset value read in steps S445, S455, and S465 and the reference value Tb (k1) is derived as the main average period T1ave ( Step S470), the main average period deriving process is terminated. Thus, when the main signal path W (p1, q1, r1) is neither the reference signal path nor the offset signal path, the main path selection signals p1, q1, r1 have values different from the reference signal path, that is, not the value 0. The offset value corresponding to the main route selection signal that is not 0 is read from the average value table 46, and the sum of the read offset value and the reference value Tb (k1) is derived as the main average period T1ave. .

ここで、このようにして主平均周期T1aveを導出する理由について説明する。例えば平均周期Tave(k1,1,1,0)と平均周期Tave(k1,0,0,0)とを比較すると、両者は発振器53の1段目のインバーター60が第2インバーター61bであるか第1インバーター61aであるかの違いと、2段目のインバーター60が第4インバーター62bであるか第3インバーター62aであるかの違いがある。そこで、1段目のインバーター60が第2インバーター61bであるか第1インバーター61aであるかの違いによる発振周波数の差に相当する値であるオフセット値To(k1,1,0,0)と、2段目のインバーター60が第4インバーター62bであるか第3インバーター62aであるかの違いによる発振周波数の差に相当する値であるオフセット値To(k1,0,1,0)とを基準値Tb(k1)とを合計することで、平均周期Tave(k1,1,1,0)に近似した値が得られると考えられる。このように主信号経路W(p1,q1,r1)が基準信号経路でもオフセット信号経路でもないときに、オフセット値Toと基準値Tb(k1)とを用いて平均周期Tave(k1,p1,q1,r1)を導出することで、予め全ての信号経路p,q,rについて実測周期T(k,p,q,r)の測定及び平均周期Tave(k,p,q,r)の導出を行って平均値テーブル46に記憶しておく場合と比べて、平均値テーブル46の作成に要する時間を短くするとともに平均値テーブル46のデータ量を小さくしているのである。平均値記憶ルーチンにおいて基準信号経路でなく且つオフセット信号経路でもない信号経路W(p,q,r)については実測周期の測定を行わないものとしたのはこのような理由による。   Here, the reason why the main average period T1ave is derived in this way will be described. For example, when the average period Tave (k1, 1, 1, 0) is compared with the average period Tave (k1, 0, 0, 0), both indicate whether the first inverter 60 of the oscillator 53 is the second inverter 61b. There is a difference whether it is the first inverter 61a and a difference that the second-stage inverter 60 is the fourth inverter 62b or the third inverter 62a. Therefore, an offset value To (k1, 1, 0, 0) that is a value corresponding to a difference in oscillation frequency depending on whether the first-stage inverter 60 is the second inverter 61b or the first inverter 61a; An offset value To (k1, 0, 1, 0) that is a value corresponding to the difference in oscillation frequency depending on whether the second-stage inverter 60 is the fourth inverter 62b or the third inverter 62a is a reference value. It is considered that a value approximate to the average period Tave (k1, 1, 1, 0) can be obtained by summing up Tb (k1). As described above, when the main signal path W (p1, q1, r1) is neither the reference signal path nor the offset signal path, the average period Tave (k1, p1, q1) is calculated using the offset value To and the reference value Tb (k1). , R1), the measurement period T (k, p, q, r) and the average period Tave (k, p, q, r) are derived in advance for all signal paths p, q, r. Compared to the case where the average value table 46 is stored, the time required to create the average value table 46 is shortened and the data amount of the average value table 46 is reduced. This is why the measurement cycle is not measured for the signal path W (p, q, r) that is not the reference signal path and is not the offset signal path in the average value storage routine.

図6の固有値記憶ルーチンに戻る。ステップS320で主平均周期T1aveを導出すると、制御部41の補正部43は、処理対象のチャレンジCHの副発振器選択信号k2,副経路選択信号p2,q2,r2に対応する平均周期Tave(k2,p2,q2,r2)(副平均周期T2aveとも称する)を導出する副平均周期導出処理を行う(ステップS325)。この処理は、図7で説明した主平均周期導出処理と同様にして行う。すなわち、副信号経路W(p2,q2,r2)が基準信号経路であるときには、基準値Tb(k2)の値を副平均周期T2aveとして導出し、副信号経路W(p2,q2,r2)がオフセット信号経路であるときには、基準値Tb(k2)の値とオフセット値To(k2,p2,q2,r2)との和を副平均周期T2aveとして導出する。また、副信号経路W(p2,q2,r2)が基準信号経路でもオフセット信号経路でもないときには、副経路選択信号p2,q2,r2のうち基準信号経路と異なる値のものすなわち値0でないものを判定し、値0でない副経路選択信号に対応するオフセット値を平均値テーブル46から読み出して、読み出したオフセット値と基準値Tb(k1)との和を副平均周期T1aveとして導出する。   Returning to the eigenvalue storage routine of FIG. When the main average period T1ave is derived in step S320, the correction unit 43 of the control unit 41 calculates the average period Tave (k2, k2) corresponding to the sub-oscillator selection signal k2, sub-path selection signals p2, q2, r2 of the challenge CH to be processed. p2, q2, r2) (also referred to as sub-average period T2ave) is derived (step S325). This process is performed in the same manner as the main average period derivation process described with reference to FIG. That is, when the sub signal path W (p2, q2, r2) is the reference signal path, the value of the reference value Tb (k2) is derived as the sub average period T2ave, and the sub signal path W (p2, q2, r2) is In the case of the offset signal path, the sum of the value of the reference value Tb (k2) and the offset value To (k2, p2, q2, r2) is derived as the sub average period T2ave. Also, when the sub signal path W (p2, q2, r2) is neither the reference signal path nor the offset signal path, the sub path selection signals p2, q2, r2 have values different from the reference signal path, that is, those not having the value 0. The offset value corresponding to the sub route selection signal that is not 0 is read from the average value table 46, and the sum of the read offset value and the reference value Tb (k1) is derived as the sub average period T1ave.

続いて、制御部41の補正部43は、ステップS315で取得した実測カウント値Cを補正するための補正値Caveを以下の式(5)により導出する(ステップS330)。ここで、式(5)におけるT2ave/T1aveは、式(1)におけるf1/f2の平均値に相当する。すなわち、補正値Caveは、複数のICカード20について同じチャレンジCHに対応する実測カウント値Cを取得してこれを平均した値に相当するものである。そして、補正値Caveを導出すると、制御部41の補正部43は、補正値Caveを用いてステップS315で取得した実測カウント値Cを補正した補正後カウント値Ccを式(6)により導出する(ステップS335)。式(6)からわかるように、補正後カウント値Ccは、実測カウント値Cと補正値Caveとの差である。ここで、補正値Caveは、実測カウント値Cの平均に相当する値であり、実測周期T(k、p、q、r)に対する平均周期Tave(k,p,q,r)と同様に、実測カウント値Cから発振器53の製造ばらつきに起因する発振周波数の変化分は互いに打ち消しあって除かれ、発振器53の配置や配線に起因する発振周波数の変化分の影響が残った値となる。そのため、実測カウント値Cとこの補正値Caveとの差である補正後カウント値Ccは、実測カウント値Cから発振器53の配置や配線に起因する発振周波数の変化分が除去され、発振器53の製造ばらつきに起因する発振周波数の変化分を表す値となる。より具体的には、補正後カウント値Ccは、処理対象のICカード20における発振器53のうち処理対象のチャレンジCHで定まる主発振器の主信号経路と副発振器の副信号経路とに関する部分の製造ばらつきに起因する発振周波数の変化分により定まる値となる。そして、この製造ばらつきはICカード20に固有のものであるため、補正後カウント値CcはICカード20の固有の値となり、この値を用いてICカード20が正規のものであるか否かの判定を行うことができる。   Subsequently, the correction unit 43 of the control unit 41 derives a correction value Cave for correcting the actual measurement count value C acquired in step S315 by the following equation (5) (step S330). Here, T2ave / T1ave in Equation (5) corresponds to the average value of f1 / f2 in Equation (1). In other words, the correction value Cave corresponds to a value obtained by obtaining the measured count values C corresponding to the same challenge CH for a plurality of IC cards 20 and averaging them. Then, when the correction value Cave is derived, the correction unit 43 of the control unit 41 derives the corrected count value Cc obtained by correcting the actual count value C acquired in Step S315 using the correction value Cave, using Expression (6) ( Step S335). As can be seen from Equation (6), the corrected count value Cc is the difference between the actually measured count value C and the correction value Cave. Here, the correction value Cave is a value corresponding to the average of the actually measured count value C, and similarly to the average period Tave (k, p, q, r) with respect to the actually measured period T (k, p, q, r), The change in the oscillation frequency due to the manufacturing variation of the oscillator 53 is canceled out from the actually measured count value C, and the influence of the change in the oscillation frequency due to the placement and wiring of the oscillator 53 remains. Therefore, the corrected count value Cc, which is the difference between the actually measured count value C and the correction value Cave, is obtained by removing the change in the oscillation frequency caused by the placement and wiring of the oscillator 53 from the actually measured count value C. This value represents a change in the oscillation frequency due to the variation. More specifically, the corrected count value Cc is a manufacturing variation of a portion related to the main signal path of the main oscillator and the sub signal path of the sub oscillator determined by the challenge CH to be processed of the oscillator 53 in the IC card 20 to be processed. The value is determined by the change in the oscillation frequency due to the above. Since this manufacturing variation is unique to the IC card 20, the corrected count value Cc is a unique value of the IC card 20, and this value is used to determine whether the IC card 20 is genuine. Judgment can be made.

Cave=T2ave/T1ave×Cp (5)
Cc=C−Cave (6)
Cave = T2ave / T1ave × Cp (5)
Cc = C-Cave (6)

次に、制御部41は、補正後カウント値Ccが値0以上であるか否かを判定する(ステップS340)。そして、補正後カウント値Ccが値0以上であるときには、固有値Iを値1として、この固有値IとステップS305で取得したID及びステップS310で設定したチャレンジCHとを対応付けて固有値テーブルとして記憶する(ステップS345)。一方、補正後カウント値Ccが値0以上でないときには、固有値Iを値0として、この固有値IとステップS305で取得したID及びステップS310で設定したチャレンジCHとを対応付けて固有値テーブル47として記憶する(ステップS350)。この固有値Iは処理対象のICカード20におけるチャレンジCHに対応する固有の値であるため、後でICカード20が正規のものであるか否かを判定する場合において、ここで記憶した固有値Iと同じ値が判定対象のICカード20から導出されるかどうかによってその判定を行うことができる。   Next, the control unit 41 determines whether or not the corrected count value Cc is 0 or more (step S340). When the corrected count value Cc is greater than or equal to 0, the eigenvalue I is set to the value 1, and the eigenvalue I is associated with the ID acquired in step S305 and the challenge CH set in step S310 and stored as an eigenvalue table. (Step S345). On the other hand, when the corrected count value Cc is not equal to or greater than 0, the unique value I is set to 0, and the unique value I is associated with the ID acquired in step S305 and the challenge CH set in step S310 and stored as the unique value table 47. (Step S350). Since this unique value I is a unique value corresponding to the challenge CH in the IC card 20 to be processed, when it is later determined whether or not the IC card 20 is genuine, the unique value I stored here is used. The determination can be made depending on whether or not the same value is derived from the IC card 20 to be determined.

ここで、補正後カウント値Cc自体ではなく、補正後カウント値Ccが値0以上であるか否かに応じた値を固有値Iとして記憶する理由について説明する。同じICカード20について同じチャレンジCHに対応する実測カウント値CをPUF回路50から取得する場合、理想的には実測カウント値Cは常に同じ値となるが、実際は誤差やノイズ等の影響によりわずかに異なる値が実測カウント値Cとして取得される場合がある。そのため、固有値記憶ルーチンで予め求めておいた補正後カウント値Ccと同じ値が得られるかどうかによりICカード20が正規のものであるか否かを判定すると、正規のカードであっても誤差やノイズの大きさによっては同じ値が得られず正しい判定ができない場合がある。そこで、補正後カウント値Ccが値0以上か否かを表す値を固有値Iとして、換言すると補正後カウント値Ccを2値化したものを固有値Iとして、誤差があったとしても予め記憶しておいた固有値Iと同じ値が得られるようにしているのである。本実施形態で補正後カウント値Ccが値0以上であるか否かに応じた値を固有値Iとして記憶するのはこのような理由による。ここで、補正後カウント値Ccの絶対値が誤差やノイズ分と比較して同等以下に小さい場合には、2値化してもなお誤差やノイズにより固有値Iが同じ値とならないなど、2値化した固有値Iの安定性が低下する場合がある。このようなケースへの対処方法として、例えばステップS335で導出した補正後カウント値Ccの絶対値が所定の閾値以下であるときには処理対象のチャレンジCHは不安定な固有値Iを出力してしまうため認証用途に適さないとみなして、ステップS345又はS350での固有値テーブルへの記憶を行わないこととしてもよい。こうすることで,認証時に不安定な固有値Iを生成するチャレンジCHを用いることを防止して、認証の安定性を高めることができる。なお、補正後カウント値Ccを2値化したものを固有値Iとすると、予め記憶された固有値Iと同じ値が正規のカードでないICカード20から得られた値と偶然一致する可能性が高まるという問題があるが、複数のチャレンジCHを設定して複数個の固有値Iが全て一致するか否かによりICカード20が正規のカードであるか否かを判定することでこの問題は解決できる。   Here, the reason why not the corrected count value Cc itself but a value corresponding to whether or not the corrected count value Cc is equal to or greater than 0 is stored as the eigenvalue I will be described. When the measured count value C corresponding to the same challenge CH for the same IC card 20 is acquired from the PUF circuit 50, the measured count value C is ideally always the same value, but in reality, it is slightly affected by errors, noise, and the like. A different value may be acquired as the actually measured count value C. For this reason, if it is determined whether or not the IC card 20 is a genuine card depending on whether or not the same value as the corrected count value Cc obtained in advance in the eigenvalue storage routine is obtained, errors or Depending on the magnitude of noise, the same value may not be obtained and correct determination may not be possible. Therefore, a value indicating whether or not the corrected count value Cc is equal to or greater than 0 is set as the eigenvalue I, in other words, the binarized value of the corrected count value Cc is set as the eigenvalue I and stored in advance even if there is an error. The same value as the eigenvalue I is obtained. For this reason, the value according to whether or not the corrected count value Cc is equal to or greater than 0 is stored as the eigenvalue I in the present embodiment. Here, if the absolute value of the corrected count value Cc is smaller than or equal to the error or noise, binarization such that the eigenvalue I does not become the same value due to error or noise even if binarization is performed. The stability of the eigenvalue I may decrease. As a method of dealing with such a case, for example, when the absolute value of the corrected count value Cc derived in step S335 is equal to or less than a predetermined threshold, the challenge CH to be processed outputs an unstable eigenvalue I, and thus authentication. Considering that it is not suitable for the use, it is good also as not storing in the eigenvalue table in step S345 or S350. By doing so, it is possible to prevent the use of a challenge CH that generates an unstable eigenvalue I at the time of authentication and improve the stability of authentication. If the corrected count value Cc is binarized as the eigenvalue I, the same value as the prestored eigenvalue I is more likely to coincide with the value obtained from the IC card 20 that is not a regular card. Although there is a problem, this problem can be solved by setting a plurality of challenge CHs and determining whether or not the IC card 20 is a regular card based on whether or not all the plurality of eigenvalues I match.

そして、ステップS345又はステップS350で固有値Iを記憶すると、未処理のチャレンジCHがあるか否かを判定する(ステップS355)。そして、未処理のチャレンジCHがあるときにはステップS310以降の処理を行う。一方、未処理のチャレンジCHがないときには、接続された複数のICカード20のうち未処理のICカード20があるか否かを判定する(ステップS269)。そして、未処理のICカード20があるときには、ステップS300以降の処理を行う。未処理のICカード20がないときには、本ルーチンを終了する。この固有値記憶ルーチンを実行することで、サーバー40に接続された全てのICカード20についての固有値Iのテーブルである固有値テーブル47が作成されて、記憶部45に記憶される。図8は、固有値テーブル47の一例を示す説明図である。この図に示すように、固有値テーブル47では、ICカード20のID及びチャレンジCHと固有値Iとを対応付けられている。なお、上述したように本実施形態ではチャレンジCHは1280通りの組合せが存在するため、ICカード20の1つのIDについて1280個の固有値Iが存在する。   When the eigenvalue I is stored in step S345 or step S350, it is determined whether there is an unprocessed challenge CH (step S355). Then, when there is an unprocessed challenge CH, the processing from step S310 is performed. On the other hand, when there is no unprocessed challenge CH, it is determined whether there is an unprocessed IC card 20 among the plurality of connected IC cards 20 (step S269). When there is an unprocessed IC card 20, the processes after step S300 are performed. When there is no unprocessed IC card 20, this routine is finished. By executing this eigenvalue storage routine, an eigenvalue table 47 that is a table of eigenvalues I for all IC cards 20 connected to the server 40 is created and stored in the storage unit 45. FIG. 8 is an explanatory diagram showing an example of the eigenvalue table 47. As shown in this figure, in the unique value table 47, the ID and challenge CH of the IC card 20 and the unique value I are associated with each other. As described above, since there are 1280 combinations of challenge CHs in this embodiment, there are 1280 unique values I for one ID of the IC card 20.

次に、情報セキュリティシステム10の動作、特に、カードリーダー30のカードスロット36に挿入されたICカード20が正規のカードであるか否かの判定をサーバー40が行う際の動作について説明する。図9は、ICカード認証処理の様子を示すシーケンスである。この処理は、カードリーダー30が、カードスロット36にICカード20が挿入されたことを検出したときに開始される。   Next, an operation of the information security system 10, particularly an operation when the server 40 determines whether or not the IC card 20 inserted into the card slot 36 of the card reader 30 is a regular card will be described. FIG. 9 is a sequence showing a state of the IC card authentication process. This process is started when the card reader 30 detects that the IC card 20 has been inserted into the card slot 36.

このICカード認証処理が開始されると、まず、カードリーダー30の制御部32がカードスロット36に挿入されたICカード20に対してIDの送信要求を送信する(ステップS500)。続いて、この送信要求を受信したICカード20の制御部22は記憶部24から自身のIDを読み出し、これをカードリーダー30に送信する(ステップS505)。そして、制御部32は、ICカード20から受信したIDをサーバー40に送信する(ステップS510)。   When the IC card authentication process is started, first, the control unit 32 of the card reader 30 transmits an ID transmission request to the IC card 20 inserted into the card slot 36 (step S500). Subsequently, the control unit 22 of the IC card 20 that has received this transmission request reads out its own ID from the storage unit 24 and transmits it to the card reader 30 (step S505). Then, the control unit 32 transmits the ID received from the IC card 20 to the server 40 (step S510).

IDを受信すると、サーバー40の制御部41は、今回のICカード20が正規のカードであるか否かの判定に用いるチャレンジCHを決定する(ステップS515)。本実施形態では、制御部41は、1280通りのチャレンジCHのうち128個のチャレンジCHをランダムに選出して判定に用いるチャレンジCHとして決定するものとした。続いて、制御部41は、受信したID及び決定したチャレンジCHに対応する固有値Iを固有値テーブル47から読み出す(ステップS520)。決定したチャレンジCHは128個であるため、固有値Iも128個が固有値テーブル47から読み出される。   When receiving the ID, the control unit 41 of the server 40 determines a challenge CH used for determining whether or not the current IC card 20 is a regular card (step S515). In the present embodiment, the control unit 41 randomly selects 128 challenge CHs out of 1280 challenge CHs and determines them as challenge CHs used for determination. Subsequently, the control unit 41 reads the eigenvalue I corresponding to the received ID and the determined challenge CH from the eigenvalue table 47 (step S520). Since the determined challenge CH is 128, 128 unique values I are read from the unique value table 47.

続いて、制御部41は、決定したチャレンジCHに対応する補正値Caveを導出する(ステップS525)。この補正値Caveは、上述した図6の固有値記憶ルーチンのステップS330で説明した補正値Caveと同じものである。そのため、128個のチャレンジCHに対応する各補正値Caveは、上述した固有値記憶ルーチンのステップS320〜S330の処理と同様の処理により導出する。   Subsequently, the control unit 41 derives a correction value Cave corresponding to the determined challenge CH (step S525). This correction value Cave is the same as the correction value Cave described in step S330 of the eigenvalue storage routine of FIG. Therefore, each correction value Cave corresponding to 128 challenge CHs is derived by the same process as the process of steps S320 to S330 of the eigenvalue storage routine described above.

そして、制御部41は、ステップS515で決定したチャレンジCHと、ステップS520で読み出した固有値Iと、ステップS525で導出した補正値Caveとを対応付けて記憶部45に記憶し(ステップS530)、決定した128個のチャレンジCHをカードリーダー30に送信する(ステップS535)。カードリーダー30の制御部32は、サーバー40から送信されたチャレンジCHをICカード20に送信する(ステップS540)。   Then, the control unit 41 stores the challenge CH determined in step S515, the eigenvalue I read in step S520, and the correction value Cave derived in step S525 in association with each other in the storage unit 45 (step S530). The 128 challenge CHs are transmitted to the card reader 30 (step S535). The control unit 32 of the card reader 30 transmits the challenge CH transmitted from the server 40 to the IC card 20 (step S540).

カードリーダー30からチャレンジCHが送信されると、ICカード20の制御部22は、送信された128個のチャレンジCHに対応する実測カウント値Cを取得する(ステップS545)。具体的には、まず、制御部22が、送信されたチャレンジCHに含まれる主発振器選択信号k1を主発振器セレクター55aに設定し、副発振器選択信号k2を副発振器セレクター55bに設定し、主経路選択信号p1,q1,r1、副経路選択信号p2,q2,r2をそれぞれ主発振器及び副発振器の経路セレクター66に設定する。そして、制御部22は、出力決定部58からチャレンジCHに対応する実測カウント値Cを取得する。この処理を、128個のチャレンジCHについてそれぞれ行って、128個の実測カウント値Cを取得する。   When the challenge CH is transmitted from the card reader 30, the control unit 22 of the IC card 20 acquires the actually measured count value C corresponding to the transmitted 128 challenge CHs (step S545). Specifically, first, the control unit 22 sets the main oscillator selection signal k1 included in the transmitted challenge CH to the main oscillator selector 55a, sets the sub oscillator selection signal k2 to the sub oscillator selector 55b, and sets the main path. The selection signals p1, q1, r1 and the sub path selection signals p2, q2, r2 are set in the path selector 66 of the main oscillator and the sub oscillator, respectively. Then, the control unit 22 acquires an actual measurement count value C corresponding to the challenge CH from the output determination unit 58. This process is performed for each of the 128 challenge CHs, and 128 actually measured count values C are acquired.

実測カウント値Cを取得すると、制御部22は、チャレンジCHと実測カウント値Cとを対応付けてカードリーダー30に送信する(ステップS550)。カードリーダー30の制御部32は、ICカード20から送信されたチャレンジCHをサーバー40に送信する(ステップS555)。   When the actual count value C is acquired, the control unit 22 transmits the challenge CH and the actual count value C in association with each other to the card reader 30 (step S550). The control unit 32 of the card reader 30 transmits the challenge CH transmitted from the IC card 20 to the server 40 (step S555).

カードリーダー30からチャレンジCHと実測カウント値Cとが送信されると、サーバー40の制御部41は、送信されたチャレンジCHと実測カウント値Cとを対応付けて記憶部45に記憶する(ステップS560)。この処理と上述したステップS530とにより、記憶部45にはチャレンジCH,固有値I,補正値Cave,実測カウント値Cが対応付けられたテーブル(以下、判定用テーブルと称する)が記憶される。   When the challenge CH and the actual count value C are transmitted from the card reader 30, the control unit 41 of the server 40 stores the challenge CH and the actual count value C in association with each other in the storage unit 45 (step S560). ). Through this process and step S530 described above, the storage unit 45 stores a table (hereinafter referred to as a determination table) in which the challenge CH, the eigenvalue I, the correction value Cave, and the actually measured count value C are associated with each other.

続いて、制御部41は、この判定用テーブルを用いてカードスロット36に接続されたICカード20が正規のものであるか否かを判定する判定処理を行う(ステップS565)。ここで、ICカード認証処理の説明を中断して、判定処理について説明する。図10は、判定処理の一例を示すフローチャートである。   Subsequently, the control unit 41 performs determination processing for determining whether or not the IC card 20 connected to the card slot 36 is legitimate using the determination table (step S565). Here, the description of the IC card authentication process is interrupted, and the determination process will be described. FIG. 10 is a flowchart illustrating an example of the determination process.

この判定処理が開始されると、制御部41は、まず、記憶部45の判定用テーブルに含まれる128個のチャレンジCHのうち未処理のもの1つを処理対象のチャレンジCHに設定する(ステップS600)。続いて、制御部41の判定部44は、処理対象のチャレンジCHに対応する固有値I,補正値Cave,実測カウント値Cを判定用テーブルから読み出す(ステップS605)。そして、制御部41の補正部43は、読み出した補正値Caveと実測カウント値Cとから、補正後カウント値Ccを導出する(ステップS610)。なお、補正後カウント値Ccは、上述した図6のステップS335と同様に式(6)により導出する。そして、補正部43は、補正後カウント値Ccが値0以上であるか否かを判定して(ステップS615)、補正後カウント値Ccが値0以上であるときには、レスポンス値Reを値1に設定し(ステップS620)、補正後カウント値Ccが値0以上でないときには、レスポンス値Reを値0に設定する(ステップS625)。   When this determination process is started, the control unit 41 first sets one of the 128 challenge CHs included in the determination table of the storage unit 45 as an unprocessed challenge CH (step CH). S600). Subsequently, the determination unit 44 of the control unit 41 reads the eigenvalue I, the correction value Cave, and the actually measured count value C corresponding to the challenge CH to be processed from the determination table (step S605). Then, the correction unit 43 of the control unit 41 derives the corrected count value Cc from the read correction value Cave and the actually measured count value C (step S610). The corrected count value Cc is derived from the equation (6) as in step S335 in FIG. 6 described above. Then, the correction unit 43 determines whether or not the corrected count value Cc is equal to or greater than 0 (step S615). When the corrected count value Cc is equal to or greater than 0, the response value Re is set to 1. If the count value Cc after correction is not equal to or greater than 0 (step S620), the response value Re is set to 0 (step S625).

続いて、制御部41の判定部44は、レスポンス値ReがステップS605で読み出した固有値Iと一致するか否かを判定する(ステップS630)。レスポンス値Reが固有値Iと一致するときには、判定部44は、未処理のチャレンジCHがあるか否かを判定し(ステップS635)、未処理のチャレンジCHがある場合にはステップS600に進む。そして、ステップS635で未処理のチャレンジCHがないときには、判定部44は、カードスロット36に挿入されたICカード20は正規のカードであると判定し(ステップS640)、本処理を終了する。一方、ステップS630でレスポンス値Reが固有値Iと一致しないときには、判定部44は、カードスロット36に挿入されたICカード20は正規のカードでないと判定して(ステップS645)、本処理を終了する。   Subsequently, the determination unit 44 of the control unit 41 determines whether or not the response value Re matches the eigenvalue I read in step S605 (step S630). When the response value Re matches the eigenvalue I, the determination unit 44 determines whether there is an unprocessed challenge CH (step S635). If there is an unprocessed challenge CH, the process proceeds to step S600. If there is no unprocessed challenge CH in step S635, the determination unit 44 determines that the IC card 20 inserted into the card slot 36 is a legitimate card (step S640), and ends this process. On the other hand, when the response value Re does not match the eigenvalue I in step S630, the determination unit 44 determines that the IC card 20 inserted into the card slot 36 is not a legitimate card (step S645), and ends this process. .

図9のICカード認証処理の説明に戻る。ステップS565の判定処理を行うと、制御部41は、判定結果に応じた処理を行って(ステップS570)、本処理を終了する。例えば、判定処理でICカード20が正規のカードであったときには、制御部41は、ICカード20を挿入したユーザーが希望するATMサービス(現金の払い戻しなど)をカードリーダー30の図示しない操作部を介して入力するよう促す所定の表示画面をカードリーダー30の図示しない表示部に表示するよう、カードリーダー30に指令を送信する。そして、カードリーダー30が表示画面を表示し、その後のユーザーの操作に従ってATMサービスをユーザーに提供する処理を行う。また、例えば、判定処理でICカード20が正規のカードでなかったときには、制御部41は、カードスロット36に挿入されたICカード20が使用不能である旨をカードリーダー30の表示部に表示するよう、カードリーダー30に指令を送信する。   Returning to the description of the IC card authentication process in FIG. If the determination process of step S565 is performed, the control part 41 will perform the process according to a determination result (step S570), and will complete | finish this process. For example, when the IC card 20 is a legitimate card in the determination process, the control unit 41 sends an ATM service (such as cash refund) desired by the user who inserted the IC card 20 to the operation unit (not shown) of the card reader 30. An instruction is transmitted to the card reader 30 to display a predetermined display screen prompting input via the card reader 30 on a display unit (not shown). Then, the card reader 30 displays a display screen, and performs processing for providing the ATM service to the user according to the subsequent user operation. For example, when the IC card 20 is not a regular card in the determination process, the control unit 41 displays on the display unit of the card reader 30 that the IC card 20 inserted into the card slot 36 is unusable. A command is transmitted to the card reader 30.

このように、ICカード認証処理では、サーバー40が128個のチャレンジCHに対応する実測カウント値CをICカード20から取得し、実測カウント値Cを補正した補正後カウント値Ccの値から導出したレスポンス値Reが固有値テーブル47に記憶された固有値Iと全て一致するか否かによって、ICカード20が正規のカードであるか否かの判定を行うのである。上述したように補正後カウント値Ccは、実測カウント値Cから発振器53の配置や配線に起因する発振周波数の変化分が除去され、ICカード20における発振器53のうち処理対象のチャレンジCHで定まる主発振器の主信号経路と副発振器の副信号経路とに関する部分の製造ばらつきに起因する発振周波数の変化分により定まる値となる。そして、この製造ばらつきはICカード20を複製したとしても再現できないため、予め図6の固有値記憶ルーチンを行って固有値テーブル47を作成したときに用いたICカード20自身からのレスポンス値Reのみが固有値Iと全て一致する。しかも、補正後カウント値Ccは、実測カウント値Cから発振器53の配置や配線に起因する発振周波数の変化分が除去された値であるから、実測カウント値Cと比べてICカード20のユニーク性をより高めた値となっている。例えば実測カウント値Cそのものを予め固有値テーブル47の固有値Iとして記憶しておき、レスポンス値Reも実測カウント値Cそののもを用いるとすると、発振器53の配置や配線に起因して、チャレンジCHと固有値I,レスポンス値Reとの対応関係に偏りが生じることのより製造時のばらつきが再現できていない偽造品であっても固有値Iとレスポンス値Reとが一致する可能性が高まる場合がある。本実施形態では、実測カウント値Cを補正した補正後カウント値Ccを用いることで、このようなことを防止してICカード20のユニーク性を高めることができる。   As described above, in the IC card authentication process, the server 40 obtains the actual count value C corresponding to the 128 challenge CHs from the IC card 20 and derives it from the corrected count value Cc obtained by correcting the actual count value C. Whether or not the IC card 20 is a regular card is determined based on whether or not the response value Re matches all the unique values I stored in the unique value table 47. As described above, the corrected count value Cc is obtained by removing the change in the oscillation frequency due to the placement and wiring of the oscillator 53 from the actually measured count value C, and is determined by the challenge CH to be processed in the oscillator 53 in the IC card 20. This value is determined by the change in the oscillation frequency caused by the manufacturing variation in the part related to the main signal path of the oscillator and the sub signal path of the sub oscillator. Since this manufacturing variation cannot be reproduced even if the IC card 20 is copied, only the response value Re from the IC card 20 itself used when the eigenvalue storage routine of FIG. All match I. In addition, the corrected count value Cc is a value obtained by removing the change in the oscillation frequency due to the placement and wiring of the oscillator 53 from the measured count value C. Therefore, the uniqueness of the IC card 20 is compared with the measured count value C. Is a higher value. For example, if the measured count value C itself is stored in advance as the eigenvalue I of the eigenvalue table 47 and the response value Re is also used as the measured count value C itself, the challenge CH and the challenge CH are caused by the arrangement and wiring of the oscillator 53. Since the correspondence between the eigenvalue I and the response value Re is biased, there is a possibility that the eigenvalue I and the response value Re are likely to match even for a counterfeit product in which variations during manufacturing cannot be reproduced. In the present embodiment, by using the corrected count value Cc obtained by correcting the actual count value C, such a situation can be prevented and the uniqueness of the IC card 20 can be enhanced.

ここで、第1実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。第1実施形態のサーバー40が本発明のホストに相当し、ICカード20がデバイスに相当し、発振回路52が発振回路に相当し、選択回路54が選択手段に相当し、取得部42が取得手段に相当し、補正部43が補正手段に相当し、固有値テーブル47が固有値記憶手段に相当し、判定部44が判定手段に相当する。なお、本実施形態では、サーバー40の動作を説明することにより本発明のホストの制御方法の一例も明らかにしている。   Here, the correspondence between the components of the first embodiment and the components of the present invention will be clarified. The server 40 of the first embodiment corresponds to the host of the present invention, the IC card 20 corresponds to the device, the oscillation circuit 52 corresponds to the oscillation circuit, the selection circuit 54 corresponds to the selection means, and the acquisition unit 42 acquires The correction unit 43 corresponds to the correction unit, the eigenvalue table 47 corresponds to the eigenvalue storage unit, and the determination unit 44 corresponds to the determination unit. In this embodiment, an example of the host control method of the present invention is also clarified by describing the operation of the server 40.

以上詳述した第1実施形態の情報セキュリティシステム10によれば、製造ばらつきに起因する固有の発振周波数をもつ複数の発振器53を有する発振回路52をICカード20が有している。そして、まず、この複数の発振器53のうち少なくとも1つの発振器53を選択し、選択された発振器53を発振させ、その発振周波数に基づく実測カウント値Cを取得する。続いて、取得された実測カウント値Cを、複数のICカード20における選択された発振器と同じ配置及び配線の発振器53を発振させたときの周波数の平均に基づく値である補正値Caveに基づいて補正した補正後カウント値Cc及びレスポンス値Reを導出する。このように、実測カウント値Cを補正値Caveで補正することで、実測カウント値Cから発振器53の配置や配線に起因する発振周波数の変化分を除去することができ、ICカード20のユニーク性をより高めた補正後カウント値Cc及びレスポンス値Reを導出することができる。   According to the information security system 10 of the first embodiment described in detail above, the IC card 20 has the oscillation circuit 52 having a plurality of oscillators 53 having unique oscillation frequencies caused by manufacturing variations. First, at least one oscillator 53 is selected from the plurality of oscillators 53, the selected oscillator 53 is oscillated, and an actually measured count value C based on the oscillation frequency is acquired. Subsequently, the acquired actual count value C is based on a correction value Cave that is a value based on an average of frequencies when the oscillator 53 having the same arrangement and wiring as the selected oscillator in the plurality of IC cards 20 is oscillated. A corrected count value Cc and response value Re are derived. In this way, by correcting the actual count value C with the correction value Cave, the change in the oscillation frequency due to the placement and wiring of the oscillator 53 can be removed from the actual count value C, and the uniqueness of the IC card 20 It is possible to derive a corrected count value Cc and a response value Re that further increase

また、発振器53は、リング状に奇数段のインバーター60が直列接続されたリングオシレーターとしている。リングオシレーターは、IC内部の論理素子や配線のみを用いて構成可能であり、デバイス(ICカード20)の製造ばらつきが論理素子の遅延に影響することでデバイス間の差異がその発振周波数特性に表れやすいため、本発明に適用する意義が高い。   The oscillator 53 is a ring oscillator in which an odd number of inverters 60 are connected in series in a ring shape. The ring oscillator can be configured using only logic elements and wirings inside the IC, and variations in the devices (IC card 20) affect the delay of the logic elements, so that differences between devices appear in their oscillation frequency characteristics. Since it is easy, the significance to apply to this invention is high.

さらに、発振器53は、1つの発振器53の各段において並列に接続されたいずれのインバーター60を選択するかにより、複数の選択経路W(p,q,r)が選択可能である。そして、取得部42は、選択された発振器53を選択された信号経路W(p,q,r)で発振させ、発振の周波数に基づく実測カウント値Cを取得し、補正部43は、取得された実測カウント値Cを、補正値Caveに基づいて補正した補正後カウント値Ccを導出する。こうすれば、1つの発振器53の各段において並列に接続されたいずれのインバーター60を選択するかにより、発振器53の固有の発振周波数が異なる値となるため、擬似的に発振器53の数を増やすことができる。なお、いずれの発振器53が選択されるかによって補正後カウント値Ccやレスポンス値Reは異なる値となるため、発振器53の数が多いほど補正後カウント値Ccやレスポンス値Reが第三者に予測されにくくなり、セキュリティを向上させることができる。   Furthermore, the oscillator 53 can select a plurality of selection paths W (p, q, r) depending on which inverter 60 connected in parallel in each stage of one oscillator 53 is selected. Then, the acquisition unit 42 oscillates the selected oscillator 53 along the selected signal path W (p, q, r), acquires the actual count value C based on the oscillation frequency, and the correction unit 43 acquires The corrected count value Cc obtained by correcting the actually measured count value C based on the correction value Cave is derived. By doing so, the specific oscillation frequency of the oscillator 53 varies depending on which inverter 60 connected in parallel in each stage of one oscillator 53 is selected, so the number of oscillators 53 is increased in a pseudo manner. be able to. Since the corrected count value Cc and the response value Re differ depending on which oscillator 53 is selected, the corrected count value Cc and the response value Re are predicted by a third party as the number of the oscillators 53 increases. Security can be improved.

さらにまた、補正部43は、選択された発振器53の選択された信号経路が基準信号経路でなく且つ基準信号経路と比べて1つの反転回路のみが異なる信号経路であるオフセット信号経路でないときには、複数のICカード20について選択された発振器と同じ配置及び配線の発振器53を基準信号経路で発振させたときの平均周期Tである基準値Tbと、複数のICカード20について選択された発振器と同じ配置及び配線の発振器53をオフセット信号経路で発振させたときの平均周期Tと基準値Tbとの差であるオフセット値Toと、を用いて、選択された信号経路のうち基準信号経路と異なる反転回路に対応するオフセット値Toと基準値Tbとの和を選択された信号経路に対応する平均周期Tとして導出し、導出された平均周期Tに基づいて実測カウント値Cを補正した補正後カウント値Ccを導出する。このため、基準信号経路でなく且つオフセット信号経路でもない信号経路の平均周波数関連値を、基準値Tbとオフセット値Toとの和をとるという簡易な処理で導出できる。   Furthermore, when the selected signal path of the selected oscillator 53 is not a reference signal path and is not an offset signal path in which only one inverting circuit is different from the reference signal path, a plurality of correction units 43 are provided. The same arrangement as the oscillator selected for the IC card 20 and the reference value Tb, which is the average period T when the oscillator 53 of the wiring is oscillated in the reference signal path, and the same arrangement as the oscillator selected for the plurality of IC cards 20 And an inverting circuit different from the reference signal path among the selected signal paths, using the offset period To which is the difference between the average period T and the reference value Tb when the oscillator 53 of the wiring is oscillated in the offset signal path. Is derived as an average period T corresponding to the selected signal path, and the derived average period T is derived from the sum of the offset value To and the reference value Tb. Based deriving a corrected count value Cc obtained by correcting the measured count value C by. For this reason, the average frequency related value of the signal path that is neither the reference signal path nor the offset signal path can be derived by a simple process of taking the sum of the reference value Tb and the offset value To.

そしてまた、選択回路54は、複数の発振器53のうち2つの発振器を選択し、取得部42は、選択された2つの発振器53を発振させ、2つの発振器の周波数の差に基づく値である実測カウント値Cを取得する手段であり、補正部43は、取得された実測カウント値Cを、複数のICカード20についての選択された2つの発振器53と同じ配置及び配線の発振器53を発振させたときの2つの発振器の周波数の平均的な差に基づく値である補正値Caveに基づいて補正することで、補正後カウント値Ccを導出する。このため、1つの発振器53のみを選択する場合と比較して、発振器53の選択のパターン数すなわちチャレンジCHの総数が増す。   Further, the selection circuit 54 selects two oscillators from among the plurality of oscillators 53, and the acquisition unit 42 oscillates the two selected oscillators 53, and is an actual measurement that is a value based on the difference in frequency between the two oscillators. The correction unit 43 oscillates the acquired actually measured count value C in the same arrangement and wiring as the two selected oscillators 53 for the plurality of IC cards 20. The corrected count value Cc is derived by performing correction based on the correction value Cave, which is a value based on the average difference between the frequencies of the two oscillators. For this reason, compared with the case where only one oscillator 53 is selected, the number of patterns selected by the oscillator 53, that is, the total number of challenge CHs is increased.

そしてまた、ICカード20の有する発振器53と発振器53の固有の発振周波数に基づく固有値Iとを対応付けて記憶する固有値テーブル47と、固有値テーブル47から選択された発振器53に対応する固有値Iを読み出し、読み出した固有値Iが導出されたレスポンス値Reと一致するか否かにより該デバイスが正規のものであるか否かを判定する判定部44と、をサーバー40が備えている。このため、ユニーク性をより高めた補正後カウント値Cc及びレスポンス値Reを用いてICカード20が正規のものであるか否かを判定するため、例えば実測カウント値Cをそのまま用いてICカード20が正規のものであるか否かを判定する場合と比べて判定の精度が高まり、セキュリティが向上する。   Also, the eigenvalue table 47 that stores the oscillator 53 of the IC card 20 and the eigenvalue I based on the unique oscillation frequency of the oscillator 53 in association with each other, and the eigenvalue I corresponding to the oscillator 53 selected from the eigenvalue table 47 are read out. The server 40 includes a determination unit 44 that determines whether or not the device is authentic depending on whether or not the read eigenvalue I matches the derived response value Re. For this reason, in order to determine whether or not the IC card 20 is legitimate by using the corrected count value Cc and the response value Re with higher uniqueness, for example, the actual measurement count value C is used as it is. Compared with the case where it is determined whether or not is genuine, the accuracy of the determination is increased and the security is improved.

なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。   It should be noted that the present invention is not limited to the above-described embodiment, and it goes without saying that the present invention can be implemented in various modes as long as it belongs to the technical scope of the present invention.

上述した第1実施形態では、サーバー40の制御部41が補正部43を有するものとしたが、ICカード20の制御部22が補正部を有するものとしてもよい。この場合、サーバー40からチャレンジCHと併せて補正値CaveをICカード20に送信して、ICカード20が実測カウント値Cを補正値Caveで補正して補正後カウント値Ccやレスポンス値Reを導出し、導出した値をサーバー40に送信するものとすればよい。   In the first embodiment described above, the control unit 41 of the server 40 includes the correction unit 43, but the control unit 22 of the IC card 20 may include the correction unit. In this case, the correction value Cave is transmitted from the server 40 together with the challenge CH to the IC card 20, and the IC card 20 corrects the actually measured count value C with the correction value Cave to derive the corrected count value Cc and the response value Re. The derived value may be transmitted to the server 40.

[第2実施形態]
図11は、第2実施形態である情報セキュリティシステム110の構成の概略を示す構成図である。なお、第2実施形態の構成要素のうち第1実施形態と同様の構成については、第1実施形態と同じ符号を付してその説明を省略する。
[Second Embodiment]
FIG. 11 is a configuration diagram showing an outline of the configuration of the information security system 110 according to the second embodiment. In addition, about the structure similar to 1st Embodiment among the components of 2nd Embodiment, the same code | symbol as 1st Embodiment is attached | subjected and the description is abbreviate | omitted.

図11に示すように、情報セキュリティシステム110は、ユーザーPC130と、ユーザーPC130に接続されたFPGA(Field Programmable Gate Array)120と、サーバー140とを備えている。この情報セキュリティシステム110は、FPGA120の再構成可能回路126に回路を構成するための回路データを暗号化した暗号データをサーバー140が提供し、正規のFPGA120のみがこの暗号データを復号して利用できるようにした装置である。   As shown in FIG. 11, the information security system 110 includes a user PC 130, an FPGA (Field Programmable Gate Array) 120 connected to the user PC 130, and a server 140. In this information security system 110, the server 140 provides the reconfigurable circuit 126 of the FPGA 120 with the encrypted data obtained by encrypting the circuit data for configuring the circuit, and only the authorized FPGA 120 can decrypt and use the encrypted data. This is the device.

FPGA120は、ユーザーPC130の拡張カードとしての機能を有し、サーバー140から提供された回路データに基づいて事後的に回路の構成や再構成が可能な集積回路である。このFPGA120は、全体の制御を司る制御部121と、事後的に回路の構成及び再構成が可能な再構成可能回路126と、FPGA120の電源がオンされたときに所定の処理を行う起動処理部128と、PUF回路50とを備えている。制御部121は、CPU,ROM,RAMなどを備えたマイクロプロセッサーとして構成され、取得部122と、補正部123と、復号部124とを備えている。この制御部121は、PUF回路50から取得した実測カウント値Cに基づいて得られる補正後カウント値Ccに基づきサーバー140から提供された暗号データを復号し、復号して得られた回路データを用いて再構成可能回路126に回路を構成する機能を有する。取得部122は、PUF回路50の主発振器及び副発振器を発振させ、その発振周波数の差に基づく値である実測カウント値Cを取得する機能を有する。補正部123は、取得部122により取得された実測カウント値Cを、複数のICカード20についての実測カウント値Cを取得した主発振器及び副発振器と同じ配置及び配線の発振器53を発振させたときの2つの発振器53の周波数の平均的な差に基づく値に基づいて補正することで、補正後カウント値Ccを導出する機能を有する。復号部124は、補正部123に導出された補正後カウント値Ccに基づいてサーバー140から出力された暗号データを復号する機能を有する。再構成可能回路126は、スイッチの切り替えにより機能を変更可能な論理回路ブロックと、スイッチの切り替えにより接続を変更可能な配線とを多数備えた回路として構成されている。この再構成可能回路126は、FPGA120の電源がオフの状態では回路が構成されていない状態であり、電源がオンされた状態で各スイッチを切り替えることにより回路の構成や変更がなされる。各スイッチの切り替えは、制御部121が回路データに基づいて出力するスイッチの切り替え信号に基づいて行われる。起動処理部128は、CPU,ROM,RAMなどを備えたマイクロプロセッサーとして構成されており、ROMには制御部121及びPUF回路50を構成するためのデータやFPGA120のIDが記憶されている。ここで、FPGA120の制御部121及びPUF回路50は、再構成可能回路126と同様にスイッチの切り替えにより構成された回路であり、電源がオフの状態では構成されていない。起動処理部128は、FPGA120の電源がオンされる毎にROMに記憶されたデータに基づいてスイッチの切り替え信号を出力し、FPGA120内に制御部121及びPUF回路50を構成する機能を有する。なお、図11ではFPGA120の電源がオンされ起動処理部128により制御部121及びPUF回路50が構成された状態を示している。ここで、PUF回路50はFPGA120の電源がオンされる毎に構成されるが、同じFPGA120について起動処理部128が同じデータに基づいてPUF回路50を構成する場合には、常に同じPUF回路50が構成される。そのため、PUF回路50の発振器53の製造ばらつきに起因する発振周波数の変化分や、発振器53の配置や配線に起因する発振周波数の変化分も変わることはなく、同じチャレンジCHに対して出力される実測カウント値CがPUF回路50の構成の都度変わることはない。   The FPGA 120 is an integrated circuit that has a function as an expansion card of the user PC 130 and can be configured and reconfigured afterwards based on circuit data provided from the server 140. The FPGA 120 includes a control unit 121 that performs overall control, a reconfigurable circuit 126 that can be configured and reconfigured later, and a startup processing unit that performs predetermined processing when the power of the FPGA 120 is turned on. 128 and a PUF circuit 50. The control unit 121 is configured as a microprocessor including a CPU, a ROM, a RAM, and the like, and includes an acquisition unit 122, a correction unit 123, and a decoding unit 124. The control unit 121 decrypts the encrypted data provided from the server 140 based on the corrected count value Cc obtained based on the actual count value C obtained from the PUF circuit 50, and uses the circuit data obtained by decrypting the encrypted data. The reconfigurable circuit 126 has a function of configuring a circuit. The acquisition unit 122 has a function of causing the main oscillator and the sub-oscillator of the PUF circuit 50 to oscillate and acquiring an actual measurement count value C that is a value based on a difference between the oscillation frequencies. When the correcting unit 123 oscillates the oscillator 53 having the same arrangement and wiring as the main oscillator and the sub-oscillator that acquired the measured count values C for the plurality of IC cards 20 with the measured count value C acquired by the acquiring unit 122 The corrected count value Cc is derived by performing correction based on the value based on the average difference between the frequencies of the two oscillators 53. The decryption unit 124 has a function of decrypting the encrypted data output from the server 140 based on the corrected count value Cc derived to the correction unit 123. The reconfigurable circuit 126 is configured as a circuit having a number of logic circuit blocks whose functions can be changed by switching the switches and wirings whose connections can be changed by switching the switches. The reconfigurable circuit 126 is in a state where the circuit is not configured when the power of the FPGA 120 is off, and the circuit is configured or changed by switching each switch while the power is on. Each switch is switched based on a switch switching signal output from the control unit 121 based on the circuit data. The activation processing unit 128 is configured as a microprocessor including a CPU, a ROM, a RAM, and the like, and data for configuring the control unit 121 and the PUF circuit 50 and the ID of the FPGA 120 are stored in the ROM. Here, like the reconfigurable circuit 126, the control unit 121 and the PUF circuit 50 of the FPGA 120 are circuits configured by switching switches, and are not configured when the power is off. The activation processing unit 128 has a function of outputting a switch switching signal based on data stored in the ROM each time the power of the FPGA 120 is turned on, and configuring the control unit 121 and the PUF circuit 50 in the FPGA 120. FIG. 11 shows a state in which the FPGA 120 is turned on and the activation processing unit 128 configures the control unit 121 and the PUF circuit 50. Here, the PUF circuit 50 is configured every time the power of the FPGA 120 is turned on. However, when the activation processing unit 128 configures the PUF circuit 50 for the same FPGA 120 based on the same data, the same PUF circuit 50 is always included. Composed. Therefore, the change in the oscillation frequency due to the manufacturing variation of the oscillator 53 of the PUF circuit 50 and the change in the oscillation frequency due to the arrangement and wiring of the oscillator 53 do not change and are output to the same challenge CH. The actual count value C does not change every time the configuration of the PUF circuit 50 is changed.

ユーザーPC130は、ネットワーク11を介してサーバー40と接続された周知の汎用パソコンであり、コントローラー132と、HDD134と、拡張スロット136と、バス137と、表示装置138と、入力装置139とを備えている。コントローラー132は、CPU,ROM,RAMなどを備えたプロセッサーとして構成されている。HDD134は、各種アプリケーションプログラムや各種データファイルを記憶する大容量メモリである。拡張スロット136は、FPGA120などの拡張カードが接続可能であり、接続されたFPGA120とユーザーPC130との間のインターフェースとしての機能を有する。バス137は、例えばPCI(Peripheral Component Interconnect)バスとして構成され、コントローラー132,HDD134,拡張スロット136,表示装置138,及び入力装置139を接続している。表示装置138は、例えば液晶ディスプレイとして構成されており、制御部20から出力された表示データに基づく画像を表示して各種情報をユーザーに表示する機能を有している。入力装置139は、例えばキーボードやマウス等の入力装置として構成されており、ユーザーから入力された操作に基づく操作信号を制御部20に出力する機能を有している。   The user PC 130 is a known general-purpose personal computer connected to the server 40 via the network 11, and includes a controller 132, an HDD 134, an expansion slot 136, a bus 137, a display device 138, and an input device 139. Yes. The controller 132 is configured as a processor including a CPU, a ROM, a RAM, and the like. The HDD 134 is a large-capacity memory that stores various application programs and various data files. The expansion slot 136 can be connected to an expansion card such as the FPGA 120, and has a function as an interface between the connected FPGA 120 and the user PC 130. The bus 137 is configured as a PCI (Peripheral Component Interconnect) bus, for example, and connects the controller 132, HDD 134, expansion slot 136, display device 138, and input device 139. The display device 138 is configured as a liquid crystal display, for example, and has a function of displaying an image based on the display data output from the control unit 20 and displaying various information to the user. The input device 139 is configured as an input device such as a keyboard and a mouse, for example, and has a function of outputting an operation signal based on an operation input from a user to the control unit 20.

サーバー140は、ユーザーの求めに応じて再構成可能回路126に構成する回路の回路データをFPGA120に提供するものであり、サーバー140全体の制御を司る制御部141と、各種データを記憶する記憶部145とを備えている。制御部141は、取得部142と、補正部143と、暗号データ出力部148とを備えており、記憶部145は、平均値テーブル146と、固有値テーブル147とを備えている。取得部142は、実測カウント値Cを取得する対象がICカード20ではなくFPGA120である点以外は、取得部42と同様の機能を有する。補正部143は、補正後カウント値Ccを導出する対象がICカード20ではなくFPGA120である点以外は、補正部43と同様の機能を有する。暗号データ出力部148は、FPGA120における選択された発振器53の固有の発振周波数に基づく固有値Iに基づいて回路データを暗号化した暗号データをFPGA120に出力する機能を有する。平均値テーブル146は、補正部143が実測カウント値Cを補正するために用いる値を各発振器53と対応付けて記憶しているテーブルであり、ICカード20ではなくFPGA120のPUF回路50についての値を記憶している点以外は平均値テーブル46と同様の構成を有する。固有値テーブル147は、FPGA120のPUF回路50についての固有値Iを記憶している点以外は、固有値テーブル47と同様の構成を有する。また、記憶部145には、FPGA120にの再構成可能回路126に構成可能な複数の回路データと、回路データを識別するための回路識別情報とが対応付けて記憶されている。   The server 140 provides circuit data of circuits configured in the reconfigurable circuit 126 to the FPGA 120 according to a user request, and includes a control unit 141 that controls the entire server 140 and a storage unit that stores various data. 145. The control unit 141 includes an acquisition unit 142, a correction unit 143, and an encrypted data output unit 148. The storage unit 145 includes an average value table 146 and an eigenvalue table 147. The acquisition unit 142 has the same function as the acquisition unit 42 except that the target for acquiring the actual count value C is the FPGA 120 instead of the IC card 20. The correction unit 143 has the same function as the correction unit 43 except that the target for deriving the corrected count value Cc is not the IC card 20 but the FPGA 120. The encryption data output unit 148 has a function of outputting, to the FPGA 120, encryption data obtained by encrypting circuit data based on the eigenvalue I based on the specific oscillation frequency of the selected oscillator 53 in the FPGA 120. The average value table 146 is a table in which values used by the correction unit 143 to correct the actual count value C are stored in association with the respective oscillators 53, and values for the PUF circuit 50 of the FPGA 120 instead of the IC card 20. Is the same as that of the average value table 46 except that it stores. The eigenvalue table 147 has the same configuration as the eigenvalue table 47 except that the eigenvalue I for the PUF circuit 50 of the FPGA 120 is stored. The storage unit 145 stores a plurality of circuit data that can be configured in the reconfigurable circuit 126 in the FPGA 120 and circuit identification information for identifying the circuit data in association with each other.

次に、こうして構成された情報セキュリティシステム110の動作、特に、記憶部145に記憶された回路データを暗号化した暗号データをサーバー140がFPGA120に提供し、FPGA120がその復号を行って回路データを取得する際の動作について説明する。図12は、回路データ提供処理の様子を示すシーケンスである。この処理は、FPGA120の電源がオフからオンに変わったときに開始される。なお、図12の処理のうち、図9と同様の処理については同じステップ番号を付して、詳細な説明を省略する。   Next, the server 140 provides the FPGA 120 with encrypted data obtained by encrypting the circuit data stored in the storage unit 145, and the FPGA 120 decrypts the circuit data. The operation at the time of acquisition will be described. FIG. 12 is a sequence showing a state of the circuit data providing process. This process is started when the power of the FPGA 120 changes from off to on. Of the processes in FIG. 12, processes similar to those in FIG. 9 are given the same step numbers, and detailed descriptions thereof are omitted.

ここで、サーバー140は、予め図4の平均値記憶ルーチン及び図6の固有値記憶ルーチンと同様の処理を実行済みであり、平均値テーブル146及び固有値テーブル147を作成して記憶部145に記憶しているものとした。より具体的には、まず、複数のFPGA120を用意し、用意したFPGA120とサーバー140とを接続して、サーバー140の制御部141がネットワーク11を介さず直接に複数のFPGA120と情報をやりとりできる状態にした上で、図4の平均値記憶ルーチンと同様の処理を制御部141により実行しておく。これにより、サーバー140に接続された全てのFPGA120についてFPGA120のID及びチャレンジCHと固有値Iとを対応付けた固有値テーブル147が作成されて記憶部145に記憶される。また、ユーザーが入手する前のFPGA120とサーバー40とを接続して、サーバー40の制御部141がネットワーク11を介さず直接に複数のFPGA120と情報をやりとりできる状態にした上で、図6の固有値記憶ルーチンと同様の処理を制御部141により実行しておく。これにより、サーバー40に接続された全てのFPGA120についてFPGA120のID及びチャレンジCHと固有値Iとを対応付けた固有値テーブル147が作成されて記憶部145に記憶される。   Here, the server 140 has already executed the same processing as the average value storage routine of FIG. 4 and the eigenvalue storage routine of FIG. 6, and creates the average value table 146 and the eigenvalue table 147 and stores them in the storage unit 145. It was supposed to be. More specifically, first, a plurality of FPGAs 120 are prepared, the prepared FPGAs 120 and the server 140 are connected, and the control unit 141 of the server 140 can directly exchange information with the plurality of FPGAs 120 without going through the network 11. After that, the control unit 141 executes processing similar to the average value storage routine of FIG. As a result, the eigenvalue table 147 in which the ID and challenge CH of the FPGA 120 and the eigenvalue I are associated with each other for all the FPGAs 120 connected to the server 140 is created and stored in the storage unit 145. In addition, the FPGA 120 before being obtained by the user is connected to the server 40 so that the control unit 141 of the server 40 can directly exchange information with the plurality of FPGAs 120 without going through the network 11. Processing similar to the storage routine is executed by the control unit 141 in advance. As a result, the unique value table 147 in which the ID and challenge CH of the FPGA 120 and the unique value I are associated with each other is created for all the FPGAs 120 connected to the server 40 and stored in the storage unit 145.

図12の回路データ提供処理が開始されると、まず、FPGA120の電源がオンされたことにより、起動処理部128が制御部121及びPUF回路50を構成する(ステップS700)。続いて、起動処理部128により構成された制御部121は、起動処理部128のROMに記憶されたFPGA120のIDを読み出してユーザーPC130に送信する(ステップS705)。   When the circuit data providing process of FIG. 12 is started, first, the activation processing unit 128 configures the control unit 121 and the PUF circuit 50 when the power of the FPGA 120 is turned on (step S700). Subsequently, the control unit 121 configured by the activation processing unit 128 reads out the ID of the FPGA 120 stored in the ROM of the activation processing unit 128 and transmits it to the user PC 130 (step S705).

そして、ユーザーPC130のコントローラー132は、FPGA120からIDを受信すると、ユーザーがFPGA120への提供を希望する回路データの回路識別情報を入力装置139を介して受け付ける(ステップS710)。この処理は、例えば回路識別情報を入力装置139を介して入力するようユーザーに促す図示しない所定の入力画面を表示するようコントローラー132が表示装置138を制御して、ユーザーが入力装置139に入力した操作に基づいて回路識別情報を入力装置139からコントローラー132が受信することにより行う。なお、ユーザーは、再構成可能回路126に構成したい所定の機能を有する回路データを使用する権利を回路データの提供者から購入することで、この回路データの回路識別情報を予め入手しているものとした。回路識別情報を受け付けると、コントローラー132は、ステップS705で送信されたIDと受け付けた回路識別情報とをネットワーク11を介してサーバー140に送信する(ステップS715)。   Then, when receiving the ID from the FPGA 120, the controller 132 of the user PC 130 receives the circuit identification information of the circuit data that the user desires to provide to the FPGA 120 via the input device 139 (step S710). In this process, for example, the controller 132 controls the display device 138 to display a predetermined input screen (not shown) that prompts the user to input circuit identification information via the input device 139, and the user inputs the input to the input device 139. The controller 132 receives circuit identification information from the input device 139 based on the operation. The user has obtained the circuit identification information of the circuit data in advance by purchasing the right to use the circuit data having a predetermined function to be configured in the reconfigurable circuit 126 from the circuit data provider. It was. When the circuit identification information is received, the controller 132 transmits the ID transmitted in step S705 and the received circuit identification information to the server 140 via the network 11 (step S715).

ステップS715で送信されたID及び回路識別情報を受信すると、サーバー140の制御部141は、ステップS515〜S525の処理を行う。これにより、制御部141は128個のチャレンジCHを決定し、受信したID及び決定したチャレンジCHに対応する固有値Iを固有値テーブル147から読み出し、決定したチャレンジCHに対応する補正値Caveを固有値テーブル147から導出する。   When the ID and the circuit identification information transmitted in step S715 are received, the control unit 141 of the server 140 performs the processes in steps S515 to S525. Accordingly, the control unit 141 determines 128 challenge CHs, reads the received ID and the eigenvalue I corresponding to the determined challenge CH from the eigenvalue table 147, and sets the correction value Cave corresponding to the determined challenge CH to the eigenvalue table 147. Derived from

続いて、制御部141は、ステップS715で送信された回路識別情報に対応する回路データを記憶部145から読み出す(ステップS720)。次に、制御部141は、ステップS520で読み出した固有値Iに基づいてステップS720で読み出した回路データを暗号化した暗号データを生成する(ステップS725)。本実施形態では、チャレンジに対応する128個の固有値Iを128ビットの鍵情報として用いて、暗号方式の1つであるAES(Advanced Encryption Standard)により回路データを暗号化するものとした。なお、128個の固有値Iから所定の演算により求めた値を鍵情報として回路データを暗号化してもよい。   Subsequently, the control unit 141 reads circuit data corresponding to the circuit identification information transmitted in step S715 from the storage unit 145 (step S720). Next, the control unit 141 generates encrypted data obtained by encrypting the circuit data read in step S720 based on the eigenvalue I read in step S520 (step S725). In the present embodiment, the circuit data is encrypted by AES (Advanced Encryption Standard), which is one of the encryption methods, using 128 eigenvalues I corresponding to the challenge as 128-bit key information. Note that the circuit data may be encrypted by using, as key information, values obtained from 128 unique values I by a predetermined calculation.

暗号データを生成すると、暗号データ出力部148は、ステップS515で決定したチャレンジCHと、ステップS525で導出した補正値Caveと、ステップS725で生成した暗号データとを、ネットワーク11を介してユーザーPC130に送信する(ステップS730)。ユーザーPC130のコントローラー132は、サーバー140から送信されたチャレンジCH,補正値Cave,及び暗号データを拡張スロット136を介してFPGA120に送信する(ステップS735)。FPGA120の制御部121は、コントローラー132から送信されたチャレンジCHと補正値Caveとを対応付けた復号用テーブルを作成し、復号用テーブルとコントローラー132から送信された暗号データとを図示しない制御部121のRAMなどに記憶する(ステップS740)。   When the encrypted data is generated, the encrypted data output unit 148 sends the challenge CH determined in step S515, the correction value Cave derived in step S525, and the encrypted data generated in step S725 to the user PC 130 via the network 11. Transmit (step S730). The controller 132 of the user PC 130 transmits the challenge CH, the correction value Cave, and the encrypted data transmitted from the server 140 to the FPGA 120 via the expansion slot 136 (step S735). The control unit 121 of the FPGA 120 creates a decryption table in which the challenge CH transmitted from the controller 132 is associated with the correction value Cave, and the control unit 121 (not shown) includes the decryption table and the encrypted data transmitted from the controller 132. (Step S740).

そして、制御部121は、ステップS740で記憶した暗号データをPUF回路50の固有の値を用いて復号する復号処理を行う(ステップS745)。ここで、回路データ提供処理の説明を中断して、復号処理について説明する。図13は、復号処理の一例を示すフローチャートである。なお、図13の処理のうち、図10の判定処理と同様の処理については同じステップ番号を付して、詳細な説明を省略する。   And the control part 121 performs the decoding process which decodes the encryption data memorize | stored by step S740 using the intrinsic | native value of the PUF circuit 50 (step S745). Here, the description of the circuit data providing process is interrupted, and the decoding process will be described. FIG. 13 is a flowchart illustrating an example of the decoding process. Note that, in the processing of FIG. 13, the same processing as the determination processing of FIG. 10 is given the same step number, and detailed description is omitted.

この復号処理が開始されると、制御部121は、ステップS600の処理を行ってステップS740で記憶した128個のチャレンジのうち未処理のもの1つを処理対象のチャレンジCHに設定する。続いて、制御部121の取得部122は、処理対象のチャレンジCHに対応する実測カウント値Cを取得する(ステップS800)。この処理は、図6の固有値記憶ルーチンのステップS315においてICカード20の制御部22が行う処理を同様にして行う。すなわち、取得部122が処理対象のチャレンジCHに含まれる主発振器選択信号k1,副発振器選択信号k2,主経路選択信号p1,q1,r1,副経路選択信号p2,q2,r2をPUF回路50に送信し、測定回路56の出力決定部58からチャレンジCHに対応する実測カウント値Cを取得する。   When this decryption process is started, the control unit 121 performs the process of step S600 and sets one unprocessed challenge among the 128 challenges stored in step S740 as the challenge CH to be processed. Subsequently, the acquisition unit 122 of the control unit 121 acquires the actual measurement count value C corresponding to the challenge CH to be processed (step S800). This process is performed in the same manner as the process performed by the control unit 22 of the IC card 20 in step S315 of the eigenvalue storage routine of FIG. That is, the acquisition unit 122 supplies the main oscillator selection signal k1, the sub oscillator selection signal k2, the main path selection signals p1, q1, r1, and the sub path selection signals p2, q2, r2 included in the challenge CH to be processed to the PUF circuit 50. The measured count value C corresponding to the challenge CH is acquired from the output determination unit 58 of the measurement circuit 56.

続いて、復号部124は、処理対象のチャレンジCHに対応する補正値CaveをステップS740で作成された復号用テーブルから読み出す(ステップS810)。そして、補正部123は、ステップS610の処理を行い、ステップS810で読み出した補正値CaveとステップS800で取得した実測カウント値Cとから上述した式(6)により補正後カウント値Ccを導出する。そして、ステップS615〜S625の処理を行う。これにより、復号部124、補正後カウント値Ccが値0以上であるときにはレスポンス値Reを値1に設定し、補正後カウント値Ccが値0未満であるときにはレスポンス値Reを値0に設定する。   Subsequently, the decryption unit 124 reads the correction value Cave corresponding to the challenge CH to be processed from the decryption table created in Step S740 (Step S810). Then, the correction unit 123 performs the process of step S610, and derives the post-correction count value Cc from the correction value Cave read out in step S810 and the actual count value C acquired in step S800 by the above-described equation (6). And the process of step S615-S625 is performed. Accordingly, the decoding unit 124 sets the response value Re to the value 1 when the corrected count value Cc is greater than or equal to the value 0, and sets the response value Re to the value 0 when the corrected count value Cc is less than the value 0. .

次に、復号部124は、ステップS635の処理を行って未処理のチャレンジCHがあるか否かを判定し、未処理のチャレンジCHがある場合にはステップS600に進む。これにより、128個のチャレンジCHにそれぞれ対応するレスポンス値Reが設定されるまで上述した処理を繰り返す。そして、ステップS635で未処理のチャレンジCHがないときには、復号部124はステップS740で記憶した暗号データをレスポンス値Reに基づいて復号して(ステップS820)、復号処理を終了する。ステップS820の処理は、本実施形態では、チャレンジに対応する128個のレスポンス値Reを128ビットの鍵情報として用いて、AESを復号する処理により暗号データを復号化するものとした。暗号データがステップS725において回路データをどのような手法で暗号化したものであるかは、予めFPGA120とサーバー140との間で取り決められているものとした。こうすることで、ステップS725とステップS820とで処理に用いる鍵情報が一致していればステップS820の復号を正しく行うことができる。なお、暗号データと共に、暗号化した手法を識別するための情報を付加してサーバー140がFPGA120に暗号データを送信するものとしてもよい。   Next, the decryption unit 124 determines whether there is an unprocessed challenge CH by performing the process of step S635. If there is an unprocessed challenge CH, the process proceeds to step S600. Thus, the above-described processing is repeated until response values Re corresponding to 128 challenge CHs are set. If there is no unprocessed challenge CH in step S635, the decryption unit 124 decrypts the encrypted data stored in step S740 based on the response value Re (step S820), and ends the decryption process. In the processing of step S820, in this embodiment, 128 response values Re corresponding to the challenge are used as 128-bit key information, and the encrypted data is decrypted by the processing of decrypting AES. It is assumed that the method of encrypting the circuit data in step S725 is determined in advance between the FPGA 120 and the server 140. In this way, if the key information used for the processing in step S725 and step S820 match, the decryption in step S820 can be performed correctly. The server 140 may transmit the encrypted data to the FPGA 120 by adding information for identifying the encrypted method together with the encrypted data.

図12の回路データ提供処理の説明に戻る。ステップS745の復号処理を行うと、制御部121は、復号して得られた回路データに基づいて、再構成可能回路126内に回路を構成して(ステップS750)、本処理を終了する。ここで、FPGA120で導出されるレスポンス値Reが、サーバー140で導出された固有値Iと一致していないときには、ステップS725とステップS820とで処理に用いた鍵情報が一致せず、ステップS820における復号が正しく行われない。そのため、ユーザーが提供を希望していた回路データがFPGA120内に構成されることはない。   Returning to the description of the circuit data providing process of FIG. When the decoding process of step S745 is performed, the control unit 121 configures a circuit in the reconfigurable circuit 126 based on the circuit data obtained by decoding (step S750), and ends this process. Here, when the response value Re derived by the FPGA 120 does not match the eigenvalue I derived by the server 140, the key information used for processing in step S725 and step S820 does not match, and the decryption in step S820 is performed. Is not done correctly. Therefore, the circuit data that the user wanted to provide is not configured in the FPGA 120.

このように、回路データ提供処理では、FPGA120のユニーク性をより高めた値であるレスポンス値Reが、サーバー140での回路データの暗号化に用いた固有値Iと一致しているときにのみ正しく暗号データを復号できるようにして、回路データが正規のFPGA120以外のデバイスで利用されることを防止するのである。   As described above, in the circuit data providing process, only when the response value Re, which is a value that further enhances the uniqueness of the FPGA 120, matches the eigenvalue I used to encrypt the circuit data in the server 140, the encryption is correctly performed. The data can be decoded to prevent the circuit data from being used by a device other than the regular FPGA 120.

ここで、第2実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。第2実施形態のサーバー140が本発明のホストに相当し、FPGA120がデバイスに相当し、発振回路52が発振回路に相当し、選択回路54が選択手段に相当し、取得部122が取得手段に相当し、補正部123が補正手段に相当し、暗号データ出力部148が暗号データ出力手段に相当し、復号部124が復号手段に相当する。なお、本実施形態では、サーバー40の動作を説明することにより本発明のデバイスの制御方法の一例も明らかにしている。   Here, the correspondence between the constituent elements of the second embodiment and the constituent elements of the present invention will be clarified. The server 140 of the second embodiment corresponds to the host of the present invention, the FPGA 120 corresponds to the device, the oscillation circuit 52 corresponds to the oscillation circuit, the selection circuit 54 corresponds to the selection unit, and the acquisition unit 122 serves as the acquisition unit. Correspondingly, the correction unit 123 corresponds to a correction unit, the encrypted data output unit 148 corresponds to an encrypted data output unit, and the decryption unit 124 corresponds to a decryption unit. In this embodiment, an example of the device control method of the present invention is also clarified by describing the operation of the server 40.

以上詳述した第2実施形態の情報セキュリティシステム110によれば、FPGA120がチャレンジCHに対応するPUF回路50の実測カウント値Cを取得し、取得された実測カウント値Cを補正値Caveに基づいて補正した補正後カウント値Cc及びレスポンス値Reを導出する。このため、実測カウント値Cから発振器53の配置や配線に起因する発振周波数の変化分を除去してユニーク性をより高めることができ、FPGA120のユニーク性をより高めた補正後カウント値Cc及びレスポンス値Reを導出することができる。   According to the information security system 110 of the second embodiment described in detail above, the FPGA 120 acquires the actual count value C of the PUF circuit 50 corresponding to the challenge CH, and the acquired actual count value C is based on the correction value Cave. A corrected count value Cc and response value Re are derived. Therefore, the uniqueness can be further improved by removing the change in the oscillation frequency caused by the arrangement and wiring of the oscillator 53 from the actually measured count value C, and the corrected count value Cc and the response that further enhance the uniqueness of the FPGA 120. The value Re can be derived.

また、サーバー140がチャレンジCHに対応する固有値Iに基づいて暗号化された暗号データをFPGA120に出力し、FPGA120が導出したレスポンス値Reに基づいて暗号データを復号する。これにより、ユニーク性をより高めたレスポンス値Reが固有値Iと一致していないと正しく暗号データを復号することができないため、暗号データが正規のFPGA120以外のデバイスで復号されることをより防止できる。   Further, the server 140 outputs the encrypted data encrypted based on the eigenvalue I corresponding to the challenge CH to the FPGA 120, and decrypts the encrypted data based on the response value Re derived by the FPGA 120. As a result, since the encrypted data cannot be correctly decrypted unless the response value Re with higher uniqueness matches the eigenvalue I, it is possible to further prevent the encrypted data from being decrypted by a device other than the regular FPGA 120. .

なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。   It should be noted that the present invention is not limited to the above-described embodiment, and it goes without saying that the present invention can be implemented in various modes as long as it belongs to the technical scope of the present invention.

例えば、上述した第2実施形態では、図12のステップS710においてユーザーが入力した回路識別情報をコントローラー132が受け付けるものとしたが、予め回路識別情報がFPGA120やユーザーPC130に記憶されており、ユーザーの操作を介さず自動的にコントローラー132が回路識別情報を取得するものとしてもよい。   For example, in the second embodiment described above, the controller 132 accepts the circuit identification information input by the user in step S710 of FIG. 12, but the circuit identification information is stored in the FPGA 120 or the user PC 130 in advance, and the user's The controller 132 may automatically acquire the circuit identification information without any operation.

上述した第1,第2実施形態では、図4の平均値処理ルーチンにおいて基準値Tb(k)とオフセット値To(k,1,0,0),To(k,0,1,0),To(k,0,0,1)とを導出して記憶部45,記憶部145に記憶するものとしたが、基準値Tb(k)と平均周期Tave(k、1,0,0),Tave(k,0,1,0),Tave(k,0,0,1)とを記憶するものとしてもよい。この場合、図7の主平均周期導出処理や副平均周期導出において、オフセット値Toを基準値Tbと平均周期Taveとから導出すればよい。また、オフセット値Toを用いず、各発振器53の各経路についてそれぞれ平均周期Taveを導出して記憶部45,145に記憶するものとしてもよい。   In the first and second embodiments described above, the reference value Tb (k) and the offset values To (k, 1, 0, 0), To (k, 0, 1, 0), To (k, 0, 0, 1) is derived and stored in the storage unit 45 and the storage unit 145. However, the reference value Tb (k) and the average period Tave (k, 1, 0, 0), Tave (k, 0, 1, 0), Tave (k, 0, 0, 1) may be stored. In this case, the offset value To may be derived from the reference value Tb and the average period Tave in the main average period derivation process and the sub average period derivation in FIG. Further, without using the offset value To, the average period Tave may be derived for each path of each oscillator 53 and stored in the storage units 45 and 145.

上述した第1,第2実施形態では、入力された第2カウンター57bのカウント数が所定カウント値Cp(例えば16進数×4桁の表記で値8000)になったときの第1カウンター57aのカウント数を実測カウント値Cとしたが、選択された2つの発振器の周波数の差に基づく値であれば、どのような値を実測カウント値Cとしてもよい。例えば、実測カウント値Cは、選択された発振器がそれぞれ所定回数発振するのに要する時間の差又は比としてもよい。   In the first and second embodiments described above, the count of the first counter 57a when the count number of the input second counter 57b reaches a predetermined count value Cp (for example, a value of 8000 in hexadecimal notation × four digits). Although the number is the actual count value C, any value may be used as the actual count value C as long as the value is based on the difference between the frequencies of the two selected oscillators. For example, the actual measurement count value C may be a time difference or ratio required for each of the selected oscillators to oscillate a predetermined number of times.

上述した第1,第2実施形態では、基準値Tb及びオフセット値Toは、平均周期Taveすなわち時間を表す値を用いて導出するものとしたが、周波数を表す値を用いて導出してもよい。例えば、平均値記憶ルーチンにおいて実測周期Tの代わりに実測周波数を取得するものとし、実測周波数の平均値として平均周波数を求めて、基準信号経路における平均周波数を基準値Tbとし、オフセット信号経路における平均周波数と基準値Tbとの差をオフセット値Toとしてもよい。この場合、図6の固有値記憶ルーチンのステップS320では、図7の主平均周期導出処理と同様の処理を行って、主信号経路の平均周波数A1を基準値Tbやオフセット値Toを用いて導出する処理を行えばよい。同様に、図7の固有値記憶ルーチンのステップS325では、図7の主平均周期導出処理と同様の処理を行って、副信号経路の平均周波数A2を基準値Tbやオフセット値Toを用いて導出する処理を行えばよい。そして、図6の固有値記憶ルーチンのステップS330では、式(5)に代えてCave=A1/A2×Cpにより補正後カウント値Ccを導出すればよい。このように、基準値Tb及びオフセット値Toを周波数を表す値としても、本実施形態と同様に補正後カウント値Ccを導出することができる。なお、本実施形態のように、基準信号経路でなく且つオフセット信号経路でもない信号経路についてその信号経路のうち基準信号経路と異なる反転回路に対応するオフセット値Toと基準値Tbとの和を用いる態様においては、時間を表す値を用いて基準値Tb及びオフセット値Toを導出しておく場合の方が、周波数を表す値を用いて基準値Tb及びオフセット値Toを導出しておく場合と比べて、オフセット値Toと基準値Tbとの和により導出した値がより精度の高い値となるため好ましい。   In the first and second embodiments described above, the reference value Tb and the offset value To are derived using the average period Tave, that is, a value representing time, but may be derived using a value representing the frequency. . For example, in the average value storage routine, the actual measurement frequency is obtained instead of the actual measurement period T, the average frequency is obtained as the average value of the actual measurement frequencies, the average frequency in the reference signal path is set as the reference value Tb, and the average in the offset signal path The difference between the frequency and the reference value Tb may be used as the offset value To. In this case, in step S320 of the eigenvalue storage routine of FIG. 6, the same process as the main average period derivation process of FIG. 7 is performed to derive the average frequency A1 of the main signal path using the reference value Tb and the offset value To. What is necessary is just to process. Similarly, in step S325 of the eigenvalue storage routine of FIG. 7, the same process as the main average period derivation process of FIG. 7 is performed, and the average frequency A2 of the sub signal path is derived using the reference value Tb and the offset value To. What is necessary is just to process. Then, in step S330 of the eigenvalue storage routine of FIG. 6, the corrected count value Cc may be derived from Cave = A1 / A2 × Cp instead of Equation (5). Thus, even if the reference value Tb and the offset value To are values representing the frequency, the corrected count value Cc can be derived as in the present embodiment. Note that, as in this embodiment, the sum of the offset value To and the reference value Tb corresponding to an inverting circuit different from the reference signal path is used for the signal path that is not the reference signal path and is not the offset signal path. In the aspect, the case where the reference value Tb and the offset value To are derived using the value representing the time is compared with the case where the reference value Tb and the offset value To are derived using the value representing the frequency. Thus, a value derived from the sum of the offset value To and the reference value Tb is preferable because it is a more accurate value.

上述した第1,第2実施形態では、平均周期Tと基準値Tbとの差によりオフセット値Toを導出するものとしたが、平均周期Tと基準値Tbとの比によりオフセット値Toを導出もよい。例えば、平均周期Tを基準値Tbで除したものをオフセット値Toとしてもよい。この場合、基準信号経路でなく且つオフセット信号経路でもない信号経路については、その信号経路のうち基準信号経路と異なる反転回路に対応するオフセット値Toと基準値Tbとの積により平均周期Tを導出するものとすればよい。このようにしても、基準信号経路でなく且つオフセット信号経路でもない信号経路の平均周波数関連値を、基準値Tbとオフセット値Toとの積を求めるという簡易な処理で導出できる。なお、このようにオフセット値Toと基準値Tbとの積を用いる態様においては、上述した時間を表す値を用いて基準値Tb及びオフセット値Toを導出しておく場合と、周波数を表す値を用いて基準値Tb及びオフセット値Toを導出しておく場合とで、オフセット値Toと基準値Tbとの積により導出した値の精度は変わらない。   In the first and second embodiments described above, the offset value To is derived from the difference between the average period T and the reference value Tb. However, the offset value To may be derived from the ratio between the average period T and the reference value Tb. Good. For example, a value obtained by dividing the average period T by the reference value Tb may be used as the offset value To. In this case, for a signal path that is neither a reference signal path nor an offset signal path, the average period T is derived from the product of the offset value To and the reference value Tb corresponding to an inverting circuit different from the reference signal path. What should I do? Even in this case, the average frequency related value of the signal path that is not the reference signal path and not the offset signal path can be derived by a simple process of obtaining the product of the reference value Tb and the offset value To. In the aspect using the product of the offset value To and the reference value Tb as described above, the reference value Tb and the offset value To are derived using the above-described value representing the time, and the value representing the frequency is used. The accuracy of the value derived by the product of the offset value To and the reference value Tb does not change between the case where the reference value Tb and the offset value To are derived.

上述した第1,第2実施形態では、サーバーが128個のチャレンジCHを決定してこれをICカード20やFPGA120に送信するものとしたが、ICカード20やFPGA120が決定してサーバーに送信するものとしてもよい。   In the first and second embodiments described above, the server determines 128 challenge CHs and transmits them to the IC card 20 and the FPGA 120. However, the IC card 20 and FPGA 120 determine and transmit them to the server. It may be a thing.

上述した第1,第2実施形態では、発振器53はリング状に3段のインバーター60が直列接続されると共に、各段において2つのインバーター60が並列に接続されたリングオシレーターとして構成されているものとしたが、段数は奇数段であればよく、並列数はいくつとしてもよい。また、各段で並列数が異なるものとしてもよい。また、並列に接続されたインバーター60がなくリング状に奇数段の反転回路が直列接続されたリングオシレーターとしてもよい。また、発振器は製造ばらつきに起因する固有の発振周波数をもつものであればよく、リングオシレーターに限られない。   In the first and second embodiments described above, the oscillator 53 is configured as a ring oscillator in which three stages of inverters 60 are connected in series in a ring shape, and two inverters 60 are connected in parallel at each stage. However, the number of stages may be an odd number, and the number of parallels may be any number. Moreover, it is good also as a thing from which a parallel number differs in each stage. Further, there may be a ring oscillator in which there is no inverter 60 connected in parallel and an odd number of inversion circuits are connected in series in a ring shape. Further, the oscillator is not limited to a ring oscillator as long as it has a specific oscillation frequency due to manufacturing variations.

上述した第1,第2実施形態では、チャレンジによりPUF回路50の2つの発振器53を選択して選択された発振器53の発振周波数に基づく実測カウント値Cを導出するものとしたが、発振器53を1つだけ選択するものとしてもよい。この場合、例えばPUF回路50からは選択された発振器53の発振周波数を実測カウント値として導出し、この実測カウント値と予め求めた発振器53の発振周波数の平均値との差をとることで補正後カウント値を導出するものとしてもよい。この場合でも、平均値により実測カウント値を補正することで実測カウント値から発振器53の配置や配線に起因する発振周波数の変化分を除去することができ、PUF回路50のユニーク性をより高めた補正後カウント値を導出することができる。また、発振周波数に限らず発振周波数に関連する値であればどのようなものを用いて実測カウント値や補正後カウント値を導出してもよい。例えばPUF回路50からは選択された発振器53の周期を実測カウント値として導出し、この実測カウント値と予め求めた発振器53の周期の平均値との差をとることで補正後カウント値を導出するものとしてもよい。   In the first and second embodiments described above, the measured count value C based on the oscillation frequency of the selected oscillator 53 is derived by selecting the two oscillators 53 of the PUF circuit 50 by the challenge. Only one may be selected. In this case, for example, the oscillation frequency of the selected oscillator 53 is derived from the PUF circuit 50 as an actually measured count value, and after correction is performed by taking the difference between this actually measured count value and the average value of the oscillation frequencies of the oscillator 53 previously obtained. The count value may be derived. Even in this case, by correcting the measured count value with the average value, the change in the oscillation frequency due to the placement and wiring of the oscillator 53 can be removed from the measured count value, and the uniqueness of the PUF circuit 50 is further enhanced. A corrected count value can be derived. Further, the measured count value and the corrected count value may be derived using any value as long as it is not limited to the oscillation frequency but is related to the oscillation frequency. For example, the period of the selected oscillator 53 is derived from the PUF circuit 50 as an actually measured count value, and the corrected count value is derived by taking the difference between the actually measured count value and the average value of the period of the oscillator 53 obtained in advance. It may be a thing.

上述した第1,第2実施形態では、サーバー40,140にICカード20,FPGA120を接続し、予め基準値Tbやオフセット値Toを導出して平均値テーブル46,146を記憶したり固有値Iを導出して固有値テーブル47,147を記憶したりするものとしたが、サーバー40、サーバー140が基準値Tb,オフセット値To,固有値Iを導出せず、予め別に作成された平均値テーブル46,146,固有値テーブル47,147を外部から受け取って記憶部45,145に記憶するものとしてもよい。   In the first and second embodiments described above, the IC card 20 and the FPGA 120 are connected to the servers 40 and 140, the reference value Tb and the offset value To are derived in advance, the average value tables 46 and 146 are stored, and the eigenvalue I is stored. However, the server 40 and the server 140 do not derive the reference value Tb, the offset value To, and the eigenvalue I, and the average value tables 46 and 146 created separately in advance. The eigenvalue tables 47 and 147 may be received from the outside and stored in the storage units 45 and 145.

上述した第1実施形態において、ICカード20の固有の値に基づいてサーバー40とICカード20との間でやり取りする情報を暗号化するものとしてもよい。例えば、サーバー40は、チャレンジCHに対応する固有値Iに基づいて暗号化した暗号データと平文のチャレンジCH及び補正値Caveとを送信するものとし、ICカード20は、受信したチャレンジCHに対応する実測カウント値Cと受信した補正値Caveとから導出したレスポンス値Reに基づいて暗号データを復号するものとしてもよい。同様に、ICカード20のレスポンス値Reに基づいて暗号化した暗号データをサーバー40に送信し、サーバー40は受信した暗号データを固有値Iに基づいて復号するものとしてもよい。こうすれば、ICカード20とサーバー40との間でやり取りする情報のセキュリティを向上させることができる。   In the first embodiment described above, information exchanged between the server 40 and the IC card 20 may be encrypted based on a unique value of the IC card 20. For example, it is assumed that the server 40 transmits encrypted data encrypted based on the eigenvalue I corresponding to the challenge CH, the plaintext challenge CH, and the correction value Cave, and the IC card 20 performs the actual measurement corresponding to the received challenge CH. The encrypted data may be decrypted based on the response value Re derived from the count value C and the received correction value Cave. Similarly, the encrypted data encrypted based on the response value Re of the IC card 20 may be transmitted to the server 40, and the server 40 may decrypt the received encrypted data based on the eigenvalue I. In this way, the security of information exchanged between the IC card 20 and the server 40 can be improved.

以下には、情報セキュリティシステムのPUF回路を実際に作成した例を実施例として説明する。   Hereinafter, an example in which a PUF circuit of an information security system is actually created will be described as an example.

[実験例1]
実験例1のPUF回路として、図2のPUF回路50の発振器53の数を512個としたPUF回路を作成した。具体的には、512個の発振器をそれぞれ所定位置に配置し所定の配線を行った発振回路と、512個の発振器のうちいずれか1つを主発振器として選択する主発振器セレクターと512個の発振器のうちいずれか1つを副発振器として選択する副発振器セレクターとを備えた選択回路と、主発振器及び副発振器の発振周波数に基づく実測カウント値Cを出力する測定回路とを備えたPUF回路を作成した。なお、512個の発振器は、いずれもリング状に7個のインバーターを直列接続したリングオシレーターとして構成した。このため、実験例1のPUF回路を構成する発振器には並列接続されたインバーターが存在せず、信号経路は1つである。
[Experimental Example 1]
As the PUF circuit of Experimental Example 1, a PUF circuit in which the number of oscillators 53 of the PUF circuit 50 in FIG. Specifically, an oscillation circuit in which 512 oscillators are arranged at predetermined positions and wired, a main oscillator selector that selects any one of the 512 oscillators as a main oscillator, and 512 oscillators A PUF circuit including a selection circuit including a sub-oscillator selector that selects any one of them as a sub-oscillator and a measurement circuit that outputs an actual count value C based on the oscillation frequency of the main oscillator and the sub-oscillator is created. did. Each of the 512 oscillators was configured as a ring oscillator in which seven inverters were connected in series in a ring shape. For this reason, there is no inverter connected in parallel in the oscillator constituting the PUF circuit of Experimental Example 1, and there is one signal path.

このPUF回路は、具体的には、産業総合研究所製のサイドチャネル攻撃用標準評価ボードSASEBO-GIIを用意し、この基板に実装された評価用FPGA(Xilinx社製,Virtex5シリーズ(65nm),LX30)に回路を構成することにより作成した。   Specifically, this PUF circuit is a side-channel attack standard evaluation board SASEBO-GII manufactured by the National Institute of Advanced Industrial Science and Technology, and an evaluation FPGA (Virtex5 series (65nm), manufactured by Xilinx), mounted on this board. Created by configuring the circuit in LX30).

[実験例2]
512個の発振器を、いずれも28個のインバーターと7段の経路セレクターとを備え、リング状に7段のインバーターが直列接続されると共に、各段において4つのインバーターが並列に接続されたリングオシレーターとした点以外は、実験例1と同様のPUF回路を作成した。なお、実験例2の発振器は、7段の各段において4つのインバーターが並列に接続されているため、信号経路は47=16384通り存在する。
[Experiment 2]
Ring oscillator with 512 oscillators, each with 28 inverters and 7-stage path selector, 7 stages of inverters connected in series in a ring shape, and 4 inverters connected in parallel at each stage Except for the points described above, a PUF circuit similar to Experimental Example 1 was created. In the oscillator of Experimental Example 2, since four inverters are connected in parallel in each of the seven stages, there are 4 7 = 16384 signal paths.

[ユニーク性評価試験]
実験例1及び実験例2のPUF回路をそれぞれ5個作成して、ユニーク性の評価試験を行った。具体的には以下のように行った。まず、実験例1の5個のPUF回路に入力する128個のチャレンジCHを定めた。次に、5個のPUF回路に対して図4の平均値記憶ルーチンを行って実測周期Tから512個の平均周期Taveを導出し、128個のチャレンジCHにそれぞれ対応する補正値Caveを各PUF回路について導出しておいた。続いて、この128個のチャレンジCHに対応する128個の実測カウント値Cを各PUF回路について取得した。そして、図10の判定処理のステップS610〜S625と同様にして実測カウント値Cと補正値Caveとから128個のレスポンス値Reを各PUF回路について導出して128ビットの補正あり固有値とし、5個のPUF回路間で128ビットの補正あり固有値のうち値が異なるビットの割合を差異率Dとして算出した。また、比較のために128個の実測カウント値Cを値0以上か否かで二値化した値を128ビットの補正なし固有値とし、同様に5個のPUF回路間で値が異なるビットの割合を差異率Dとして算出した。実験例2についても同様にして128ビットの補正あり固有値と補正なし固有値とを導出して、それぞれ5個のPUF回路間で値が異なるビットの割合を差異率Dとして算出した。ここで、差異率Dは50%に近いほど導出される固有値に偏りがないことを意味するため好ましく、差異率Dが50%に近いほどその固有値はPUF回路のユニーク性を高めた値であるといえる。
[Uniqueness evaluation test]
Five PUF circuits of Experimental Example 1 and Experimental Example 2 were prepared, respectively, and a uniqueness evaluation test was performed. Specifically, it was performed as follows. First, 128 challenge CHs to be input to the five PUF circuits of Experimental Example 1 were determined. Next, the average value storage routine of FIG. 4 is performed on the five PUF circuits to derive 512 average periods Tave from the actual measurement period T, and the correction values Cave corresponding to the 128 challenge CHs are set to the respective PUFs. The circuit was derived. Subsequently, 128 actually measured count values C corresponding to the 128 challenge CHs were obtained for each PUF circuit. Then, in the same manner as in steps S610 to S625 of the determination process of FIG. 10, 128 response values Re are derived for each PUF circuit from the actually measured count value C and the correction value Cave, and are set to the 128-bit corrected eigenvalue. The ratio of bits having different values among the 128-bit corrected eigenvalues between these PUF circuits was calculated as the difference rate D. For comparison, a value obtained by binarizing 128 actually measured count values C based on whether or not the value is 0 or more is set as a 128-bit uncorrected eigenvalue, and similarly, a ratio of bits having different values among five PUF circuits Was calculated as the difference rate D. Similarly for Experimental Example 2, 128-bit corrected eigenvalues and uncorrected eigenvalues were derived in the same manner, and the ratio of bits having different values among the five PUF circuits was calculated as the difference rate D. Here, the difference rate D is preferably closer to 50% because it means that there is no bias in the derived eigenvalue. The closer the difference rate D is to 50%, the more the eigenvalue is a value that increases the uniqueness of the PUF circuit. It can be said.

(実験結果)
ユニーク性評価試験の結果を図14〜17に示す。図14は、実験例1の5個のPUF回路間で補正あり固有値の差異率Dを示すテーブルである。図15は、実験例1の5個のPUF回路間で補正なし固有値の差異率Dを示すテーブルである。図16は、実験例2の5個のPUF回路間で補正あり固有値の差異率Dを示すテーブルである。図17は、実験例2の5個のPUF回路間で補正なし固有値の差異率Dを示すテーブルである。なお、図14〜図17では、5個のPUF回路を番号1〜5で区別しており、5個のPUF回路のうち2個の固有値を比較したときの差異率Dを、縦軸と横軸との交点の数値で示している。例えば、図14では、実験例1の1番のPUF回路と2番のPUF回路とで補正あり固有値を比較したときに、差異率Dが36.21%であったことを示している。
(Experimental result)
The results of the uniqueness evaluation test are shown in FIGS. FIG. 14 is a table showing the eigenvalue difference rate D with correction among the five PUF circuits of Experimental Example 1. FIG. 15 is a table showing a difference rate D of eigenvalues without correction among the five PUF circuits of Experimental Example 1. FIG. 16 is a table showing the eigenvalue difference rate D with correction among the five PUF circuits of Experimental Example 2. FIG. 17 is a table showing the difference rate D of eigenvalues without correction among the five PUF circuits in Experimental Example 2. 14 to 17, the five PUF circuits are distinguished by numbers 1 to 5, and the difference rate D when two eigenvalues are compared among the five PUF circuits is represented by the vertical axis and the horizontal axis. It is shown by the numerical value of the intersection with. For example, FIG. 14 shows that the difference rate D was 36.21% when the corrected eigenvalues were compared between the first PUF circuit and the second PUF circuit of Experimental Example 1.

図14〜図17から、差異率Dは、図15及び図17ではいずれも数%程度であり50%から離れた値となっているのに対し、図14及び図16ではそれよりも50%に近い値となっていることがわかった。この結果から、異なるPUF回路間であっても補正なし固有値は互いに数%程度しか異なる値とならず、補正なし固有値は他のPUF回路と値が一致しやすい、すなわちユニーク性の低い値であることがわかった。そして、補正あり固有値を用いることで、異なるPUF回路間で固有値の差異率Dが50%に近づいており、補正あり固有値はユニーク性をより高めた値であることがわかった。   14 to 17, the difference rate D is about several percent in FIGS. 15 and 17 and is a value far from 50%, whereas in FIGS. 14 and 16, the difference rate D is 50%. It was found that the value was close to. From this result, even without different PUF circuits, the uncorrected eigenvalues differ from each other by only a few percent, and the uncorrected eigenvalues tend to match values with other PUF circuits, that is, have low uniqueness. I understood it. Then, by using the corrected eigenvalue, the difference rate D of eigenvalues between different PUF circuits approaches 50%, and it has been found that the corrected eigenvalue is a value with higher uniqueness.

[発振周波数の分布測定]
実験例2の5つのPUF回路について、実測発振周波数と補正後発振周波数とを導出し、その分布を調べた。まず、PUF回路の512個の発振器についてそれぞれ64通りの信号経路をランダムに設定し、1つのPUF回路について512×64=32768個の擬似的な発振器を測定対象に定めた。そして、この測定対象の発振器の実測発振周波数f1〜f32768を測定し、測定した32768個の実測発振周波数の平均値及び標準偏差を算出した。他の4つのPUF回路についても同じ32768個の擬似的な発振器を測定対象として、同様に実測発振周波数f1〜f32768を測定してその平均値及び標準偏差を算出した。また、5つのPUF回路全体で32768×5個の実測発振周波数の平均値及び標準偏差を算出した。次に、この5つのPUF回路を用いて、この32768個の発振器それぞれについて各PUF回路から測定された5つの実測発振周波数の平均値を求めて、平均値f1ave〜f32768aveとした。また、5つのPUF回路の32768個の発振器全ての実測発振周波数の平均値を求めて、平均値faveとした。そして、各PUF回路について補正後発振周波数Fn=fn/fnave×fave(nは1〜32768までの整数)を算出し、各PUF回路について補正後発振周波数F1〜F32768の平均値及び標準偏差を算出した。また、5つのPUF回路全体で32768×5個の補正後発振周波数の平均値及び標準偏差を算出した。
[Oscillation frequency distribution measurement]
With respect to the five PUF circuits of Experimental Example 2, the actually measured oscillation frequency and the corrected oscillation frequency were derived, and their distributions were examined. First, 64 signal paths were set at random for 512 oscillators of the PUF circuit, and 512 × 64 = 32768 pseudo oscillators for one PUF circuit were determined as measurement objects. The measured oscillation frequencies f1 to f32768 of the measurement target oscillator were measured, and the average value and standard deviation of the measured 32768 measured oscillation frequencies were calculated. For the other four PUF circuits, the same 32768 pseudo oscillators were measured, and the measured oscillation frequencies f1 to f32768 were measured in the same manner to calculate the average value and standard deviation. Further, the average value and standard deviation of 32768 × 5 actually measured oscillation frequencies were calculated for the entire five PUF circuits. Next, using these five PUF circuits, the average value of the five actually measured oscillation frequencies measured from each PUF circuit for each of the 32768 oscillators was obtained, and the average values were f1ave to f32768ave. Further, the average value of the actually measured oscillation frequencies of all 32768 oscillators of the five PUF circuits was obtained and set as the average value fave. Then, the corrected oscillation frequency Fn = fn / fnave × fave (n is an integer from 1 to 32768) is calculated for each PUF circuit, and the average value and standard deviation of the corrected oscillation frequencies F1 to F32768 are calculated for each PUF circuit. did. In addition, the average value and standard deviation of 32768 × 5 post-correction oscillation frequencies were calculated for all five PUF circuits.

(測定結果)
図18は、実測発振周波数f1〜f32768の平均値及び標準偏差を示すテーブルである。図19は、補正後発振周波数F1〜F32768の平均値及び標準偏差を示すテーブルである。なお、図18,19では、5個のPUF回路を番号1〜5で区別している。図18からわかるように、実測発振周波数の標準偏差はいずれも25MHz程度の値であるのに対し、補正後発振周波数の標準偏差はいずれも1MHz前後と小さい値となっている。ここで、補正後発振周波数は、実測周波数を平均値で補正したものであるため、実測発振周波数から発振器の配置や配線に起因する発振周波数の変化分を除去した値となっている。これらのことから、実測発振周波数におけるばらつきに与える影響は、PUF回路の製造時のばらつきに起因するものよりも発振器の配置や配線に起因するものが大きかったことが確認できた。このように発振器の配置や配線に起因する影響が大きい場合には、補正せず実測発振周波数を用いてPUF回路の固有値を導出しても製造時のばらつきによる発振周波数の変化分を十分利用できず、固有値がユニーク性の低い値となってしまうと考えられる。一方、補正後発振周波数を用いて固有値を導出すれば、発振器の配置や配線に起因する実測発振周波数のばらつきが大きくともこれを除去することができるため、ユニーク性の高い値を固有値として導出することができる。
(Measurement result)
FIG. 18 is a table showing average values and standard deviations of actually measured oscillation frequencies f1 to f32768. FIG. 19 is a table showing average values and standard deviations of the corrected oscillation frequencies F1 to F32768. 18 and 19, the five PUF circuits are distinguished by numbers 1 to 5. As can be seen from FIG. 18, the standard deviations of the actually measured oscillation frequencies are all about 25 MHz, whereas the standard deviations of the corrected oscillation frequencies are all as small as around 1 MHz. Here, the corrected oscillation frequency is a value obtained by correcting the actually measured frequency with an average value, and is thus a value obtained by removing the change in the oscillation frequency due to the placement and wiring of the oscillator from the actually measured oscillation frequency. From these facts, it was confirmed that the influence on the variation in the actually measured oscillation frequency was larger due to the placement and wiring of the oscillator than that due to the variation in manufacturing the PUF circuit. In this way, when the influence due to the placement and wiring of the oscillator is large, even if the eigenvalue of the PUF circuit is derived using the actually measured oscillation frequency without correction, the change in the oscillation frequency due to manufacturing variations can be fully utilized. Therefore, it is considered that the eigenvalue becomes a value with low uniqueness. On the other hand, if the eigenvalue is derived using the corrected oscillation frequency, it is possible to eliminate even a large variation in the actually measured oscillation frequency due to the placement and wiring of the oscillator. Therefore, a highly unique value is derived as the eigenvalue. be able to.

10,110 情報セキュリティシステム、11 ネットワーク、20 ICカード、21 ICチップ、22 制御部、24 記憶部、30 カードリーダー、32 制御部、34 記憶部、36 カードスロット、40,140 サーバー、41 制御部、42 取得部、43 補正部、44 判定部、45 記憶部、46 平均値テーブル、47 固有値テーブル、50 PUF回路、52 発振回路、53 発振器、53a〜53e 第1〜第5発振器、54 選択回路、55a 主発振器セレクター、55b 副発振器セレクター、56 測定回路、57a,57b 第1,第2カウンター、58 出力決定部、60 インバーター、61a,61b 第1,第2インバーター、62a,62b 第3,第4インバーター、63a,63b 第5,第6インバーター、66 経路セレクター、66a〜66c 第1〜第3経路セレクター、120 FPGA、121 制御部、122 取得部、123 補正部、124 復号部、126 再構成可能回路、128 起動処理部、130 ユーザーPC、132 コントローラー、134 HDD、136 拡張スロット、137 バス、138 表示装置、139 入力装置、141 制御部、145 記憶部、148 暗号データ出力部。   10, 110 Information security system, 11 network, 20 IC card, 21 IC chip, 22 control unit, 24 storage unit, 30 card reader, 32 control unit, 34 storage unit, 36 card slot, 40,140 server, 41 control unit 42 acquisition unit 43 correction unit 44 determination unit 45 storage unit 46 average value table 47 eigenvalue table 50 PUF circuit 52 oscillation circuit 53 oscillator 53a to 53e first to fifth oscillator 54 selection circuit , 55a Main oscillator selector, 55b Sub oscillator selector, 56 Measuring circuit, 57a, 57b First and second counters, 58 Output determination unit, 60 Inverter, 61a, 61b First and second inverter, 62a, 62b Third, third 4 inverters, 63a, 63b, 5th, 6th Converter, 66 path selector, 66a to 66c 1st to 3rd path selector, 120 FPGA, 121 control unit, 122 acquisition unit, 123 correction unit, 124 decoding unit, 126 reconfigurable circuit, 128 activation processing unit, 130 user PC , 132 controller, 134 HDD, 136 expansion slot, 137 bus, 138 display device, 139 input device, 141 control unit, 145 storage unit, 148 encrypted data output unit.

Claims (15)

ホストとデバイスとを備えた情報セキュリティシステムであって、
製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路と、
前記複数の発振器のうち少なくとも1つの発振器を選択する選択手段と、
前記選択された発振器を発振させ、該発振の周波数に基づく実測周波数関連値を取得する取得手段と、
前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出する補正手段と、
を備え、
前記発振回路及び前記選択手段は、前記デバイスが有しており、
前記取得手段は、前記デバイス又は前記ホストが有しており、
前記補正手段は、前記デバイス又は前記ホストが有している、
情報セキュリティシステム。
An information security system comprising a host and a device,
An oscillation circuit having a plurality of oscillators with inherent oscillation frequencies due to manufacturing variations;
Selecting means for selecting at least one oscillator of the plurality of oscillators;
An acquisition means for oscillating the selected oscillator and acquiring an actually measured frequency-related value based on the frequency of the oscillation;
The acquired actual measurement frequency related value is corrected based on an average frequency related value that is a value based on an average frequency when an oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. Correction means for deriving a corrected frequency-related value;
With
The oscillation circuit and the selection unit are included in the device,
The acquisition unit has the device or the host,
The correction means has the device or the host,
Information security system.
前記発振器は、リング状に奇数段の反転回路が直列接続されたリングオシレーターである、
請求項1に記載の情報セキュリティシステム。
The oscillator is a ring oscillator in which an odd number of inversion circuits are connected in series in a ring shape.
The information security system according to claim 1.
前記発振器は、リング状に奇数段の反転回路が直列接続されるとともに、少なくとも1つ以上の段において複数の反転回路が並列に接続され、該並列に接続された反転回路のうちいずれを各段の経路とするかによって複数の信号経路が選択可能であり、且つ、該信号経路を構成する各反転回路の製造ばらつきに起因する各信号経路固有の発振周波数をもち、
前記選択手段は、前記複数の発振器のうち少なくとも1つの発振器を選択すると共に、該選択された発振器について複数の前記信号経路のうちいずれか1つの信号経路を選択する手段であり、
前記取得手段は、前記選択された発振器を前記選択された信号経路で発振させ、該発振の周波数に基づく前記実測周波数関連値を取得する手段であり、
前記補正手段は、前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を前記選択された信号経路で発振させたときの周波数の平均に基づく値である前記平均周波数関連値に基づいて補正した前記補正後周波数関連値を導出する手段である、
請求項1又は2に記載の情報セキュリティシステム。
In the oscillator, an odd number of inverting circuits are connected in series in a ring shape, and a plurality of inverting circuits are connected in parallel in at least one or more stages, and each of the inverting circuits connected in parallel is connected to each stage. A plurality of signal paths can be selected depending on whether the signal path is selected, and each signal path has an oscillation frequency specific to each signal path due to manufacturing variations of the inverting circuits constituting the signal path.
The selection means is means for selecting at least one oscillator among the plurality of oscillators, and selecting any one signal path among the plurality of signal paths for the selected oscillator,
The acquisition means is means for causing the selected oscillator to oscillate in the selected signal path and acquiring the measured frequency related value based on the frequency of the oscillation.
The correcting means is based on an average of frequencies obtained by causing the oscillator of the same arrangement and wiring as the selected oscillator in the plurality of devices to oscillate in the selected signal path, with respect to the acquired actually measured frequency related value. Means for deriving the corrected frequency-related value corrected based on the average frequency-related value that is a value;
The information security system according to claim 1 or 2.
前記補正手段は、前記選択された発振器の前記選択された信号経路が所定の基準信号経路でなく且つ該基準信号経路と比べて1つの反転回路のみが異なる信号経路であるオフセット信号経路でないときには、複数の前記デバイスについて前記選択された発振器と同じ配置及び配線の発振器を前記基準信号経路で発振させたときの前記平均周波数関連値である基準値と、複数の前記デバイスについて前記選択された発振器と同じ配置及び配線の発振器を前記オフセット信号経路で発振させたときの前記平均周波数関連値と前記基準値との差であるオフセット値と、を用いて、前記選択された信号経路のうち前記基準信号経路と異なる反転回路に対応する前記オフセット値と前記基準値との和を前記選択された信号経路に対応する前記平均周波数関連値として導出し、該導出された平均周波数関連値に基づいて前記取得された実測周波数関連値を補正した前記補正後周波数関連値を導出する手段である、
請求項3に記載の情報セキュリティシステム。
When the selected signal path of the selected oscillator is not a predetermined reference signal path and is not an offset signal path in which only one inverting circuit is different from the reference signal path, A reference value that is an average frequency related value when an oscillator having the same arrangement and wiring as the selected oscillator for the plurality of devices is oscillated in the reference signal path; and the selected oscillator for the plurality of devices; The reference signal among the selected signal paths using an offset value that is a difference between the average frequency related value and the reference value when oscillators having the same arrangement and wiring are oscillated in the offset signal path. The average frequency corresponding to the selected signal path is the sum of the offset value and the reference value corresponding to an inverting circuit different from the path Derived as continuous values, a means for deriving the corrected frequency related value obtained by correcting the obtained actually measured frequency related value based on the average frequency related value issued conductor,
The information security system according to claim 3.
前記補正手段は、前記選択された発振器の前記選択された信号経路が所定の基準信号経路でなく且つ該基準信号経路と比べて1つの反転回路のみが異なる信号経路であるオフセット信号経路でないときには、複数の前記デバイスについて前記選択された発振器と同じ配置及び配線の発振器を前記基準信号経路で発振させたときの前記平均周波数関連値である基準値と、複数の前記デバイスについて前記選択された発振器と同じ配置及び配線の発振器を前記オフセット信号経路で発振させたときの前記平均周波数関連値と前記基準値との比であるオフセット値と、を用いて、前記選択された信号経路のうち前記基準信号経路と異なる反転回路に対応する前記オフセット値と前記基準値との積を前記選択された信号経路に対応する前記平均周波数関連値として導出し、該導出された平均周波数関連値に基づいて前記取得された実測周波数関連値を補正した前記補正後周波数関連値を導出する手段である、
請求項3に記載の情報セキュリティシステム。
When the selected signal path of the selected oscillator is not a predetermined reference signal path and is not an offset signal path in which only one inverting circuit is different from the reference signal path, A reference value that is an average frequency related value when an oscillator having the same arrangement and wiring as the selected oscillator for the plurality of devices is oscillated in the reference signal path; and the selected oscillator for the plurality of devices; The reference signal among the selected signal paths using an offset value that is a ratio of the average frequency related value and the reference value when oscillators having the same arrangement and wiring are oscillated in the offset signal path The average frequency corresponding to the selected signal path is the product of the offset value and the reference value corresponding to an inverting circuit different from the path Derived as continuous values, a means for deriving the corrected frequency related value obtained by correcting the obtained actually measured frequency related value based on the average frequency related value issued conductor,
The information security system according to claim 3.
前記選択手段は、前記複数の発振器のうち2つの発振器を選択する手段であり、
前記取得手段は、前記選択された2つの発振器を発振させ、該2つの発振器の周波数の差に基づく値である前記実測周波数関連値を取得する手段であり、
前記補正手段は、前記取得された実測周波数関連値を、複数の前記デバイスについての前記選択された2つの発振器と同じ配置及び配線の発振器を発振させたときの該2つの発振器の周波数の平均的な差に基づく値である前記平均周波数関連値に基づいて補正することで、前記補正後周波数関連値を導出する手段である、
請求項1〜5のいずれか1項に記載の情報セキュリティシステム。
The selection means is means for selecting two oscillators of the plurality of oscillators,
The acquisition means is means for causing the selected two oscillators to oscillate and acquiring the measured frequency-related value that is a value based on a difference in frequency between the two oscillators.
The correction means uses the obtained measured frequency-related value as an average of the frequencies of the two oscillators when the oscillators having the same arrangement and wiring as the selected two oscillators for the plurality of devices are oscillated. A means for deriving the corrected frequency-related value by correcting based on the average frequency-related value that is a value based on a difference.
The information security system according to any one of claims 1 to 5.
前記取得手段及び前記補正手段は、前記ホストが有している、
請求項1〜6のいずれか1項に記載の情報セキュリティシステム。
The acquisition unit and the correction unit are included in the host.
The information security system according to any one of claims 1 to 6.
請求項1〜7のいずれか1項に記載の情報セキュリティシステムであって、
前記デバイスの有する発振器と該発振器の前記固有の発振周波数に基づく前記所定の固有値とを対応付けて記憶する固有値記憶手段と、
前記固有値記憶手段から前記選択された発振器に対応する前記固有値を読み出し、該読み出した固有値が前記導出された補正後周波数関連値と一致するか否かにより、該デバイスが正規のものであるか否かを判定する判定手段と、
を備え、
前記固有値記憶手段及び前記判定手段は、前記ホストが有している、
情報セキュリティシステム。
The information security system according to any one of claims 1 to 7,
Eigenvalue storage means for storing the oscillator included in the device and the predetermined eigenvalue based on the inherent oscillation frequency of the oscillator in association with each other;
Read the eigenvalue corresponding to the selected oscillator from the eigenvalue storage means, and whether or not the device is normal depending on whether or not the read eigenvalue matches the derived corrected frequency-related value Determination means for determining whether or not
With
The eigenvalue storage means and the determination means have the host.
Information security system.
請求項1〜7のいずれか1項に記載の情報セキュリティシステムであって、
前記デバイスにおける前記選択された発振器の前記固有の発振周波数に基づく前記所定の固有値に基づいて暗号化された暗号データを前記デバイスに出力する暗号データ出力手段と、
前記導出された補正後周波数関連値に基づいて前記出力された暗号データを復号する復号手段と、
を備え、
前記暗号データ出力手段は、前記ホストが有しており、
前記復号手段は、前記デバイスが有している、
情報セキュリティシステム。
The information security system according to any one of claims 1 to 7,
Encrypted data output means for outputting to the device encrypted data encrypted based on the predetermined unique value based on the unique oscillation frequency of the selected oscillator in the device;
Decryption means for decrypting the output encrypted data based on the derived corrected frequency-related value;
With
The encrypted data output means has the host,
The device has the decoding means,
Information security system.
製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路を備えるデバイスと情報のやり取りを行うホストであって、
前記複数の発振器のうち選択された少なくとも1つの発振器を発振させたときの該発振の周波数に基づく実測周波数関連値を前記デバイスから取得する取得手段と、
前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出する補正手段と、
を備えたホスト。
A host for exchanging information with a device including an oscillation circuit having a plurality of oscillators having unique oscillation frequencies caused by manufacturing variations,
An acquisition means for acquiring an actual measurement frequency related value based on a frequency of oscillation when at least one oscillator selected from the plurality of oscillators is oscillated;
The acquired actual measurement frequency related value is corrected based on an average frequency related value that is a value based on an average frequency when an oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. Correction means for deriving a corrected frequency-related value;
With a host.
製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路と、
前記複数の発振器のうち少なくとも1つの発振器を選択する選択手段と、
前記選択された発振器を発振させ、該発振の周波数に基づく実測周波数関連値を取得する取得手段と、
前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正することで、補正後周波数関連値を導出する補正手段と、
を備えたデバイス。
An oscillation circuit having a plurality of oscillators with inherent oscillation frequencies due to manufacturing variations;
Selecting means for selecting at least one oscillator of the plurality of oscillators;
An acquisition means for oscillating the selected oscillator and acquiring an actually measured frequency-related value based on the frequency of the oscillation;
The acquired measured frequency-related value is corrected based on an average frequency-related value that is a value based on an average frequency when an oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. A correction means for deriving a frequency-related value after correction,
With a device.
製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路を備えたデバイスと情報のやりとりを行うホストの制御方法であって、
(a)前記複数の発振器のうち選択された少なくとも1つの発振器を発振させたときの該発振の周波数に基づく実測周波数関連値を前記デバイスから取得するステップと、
(b)前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出するステップと、
を含むホストの制御方法。
A host control method for exchanging information with a device having an oscillation circuit having a plurality of oscillators having unique oscillation frequencies caused by manufacturing variations,
(A) obtaining an actually measured frequency-related value from the device based on the frequency of oscillation when at least one oscillator selected from the plurality of oscillators is oscillated;
(B) The obtained actual measurement frequency related value is based on an average frequency related value that is a value based on an average of frequencies when an oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated. Deriving a corrected frequency-related value corrected by
Host control method including
製造ばらつきに起因する固有の発振周波数をもつ複数の発振器を有する発振回路を備えたデバイスの制御方法であって、
(a)前記複数の発振器のうち少なくとも1つの発振器を選択するステップと、
(b)前記選択された発振器を発振させ、該発振の周波数に基づく実測周波数関連値を取得するステップと、
(c)前記取得された実測周波数関連値を、複数の前記デバイスにおける前記選択された発振器と同じ配置及び配線の発振器を発振させたときの周波数の平均に基づく値である平均周波数関連値に基づいて補正した補正後周波数関連値を導出するステップと、
を含むデバイスの制御方法。
A method for controlling a device including an oscillation circuit having a plurality of oscillators having inherent oscillation frequencies due to manufacturing variations,
(A) selecting at least one oscillator from the plurality of oscillators;
(B) oscillating the selected oscillator and obtaining a measured frequency related value based on the frequency of the oscillation;
(C) Based on an average frequency related value that is a value based on an average of frequencies when an oscillator having the same arrangement and wiring as the selected oscillator in the plurality of devices is oscillated, the acquired actually measured frequency related value. Deriving a corrected frequency-related value corrected by
A method for controlling a device including:
請求項12に記載のホストの制御方法の各ステップを1又は複数のコンピューターに実現させるプログラム。   A program that causes one or more computers to realize each step of the host control method according to claim 12. 請求項13に記載のデバイスの制御方法の各ステップを1又は複数のコンピューターに実現させるプログラム。   A program that causes one or more computers to realize each step of the device control method according to claim 13.
JP2011184503A 2011-08-26 2011-08-26 Information security system, host, device, and control method Active JP5747327B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011184503A JP5747327B2 (en) 2011-08-26 2011-08-26 Information security system, host, device, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011184503A JP5747327B2 (en) 2011-08-26 2011-08-26 Information security system, host, device, and control method

Publications (2)

Publication Number Publication Date
JP2013046334A true JP2013046334A (en) 2013-03-04
JP5747327B2 JP5747327B2 (en) 2015-07-15

Family

ID=48009870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011184503A Active JP5747327B2 (en) 2011-08-26 2011-08-26 Information security system, host, device, and control method

Country Status (1)

Country Link
JP (1) JP5747327B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015228570A (en) * 2014-05-30 2015-12-17 凸版印刷株式会社 Authentication system and portable communication terminal
EP3067875A1 (en) 2015-03-12 2016-09-14 Fujitsu Limited Multi-frequencies puf based electronic circuit, authentication system, and authentication method
JP2019121885A (en) * 2017-12-28 2019-07-22 三菱重工業株式会社 Monitoring device, monitor system, information processing device, monitoring method, and program
JP2019144536A (en) * 2017-12-22 2019-08-29 ザ・ボーイング・カンパニーThe Boeing Company Interference detecting ring oscillators
JP2020096384A (en) * 2020-03-16 2020-06-18 三菱重工業株式会社 Information processing apparatus, information processing method, and program
CN111670443A (en) * 2017-11-14 2020-09-15 耐瑞唯信有限公司 Integrated circuit personalization
JP7084160B2 (en) 2018-03-02 2022-06-14 Necプラットフォームズ株式会社 Start control device, start control system, start control method, and start control program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008056612A1 (en) * 2006-11-06 2008-05-15 Panasonic Corporation Information security apparatus
JP2009524998A (en) * 2006-01-24 2009-07-02 ヴェラヨ インク Equipment security based on signal generators
JP2011114386A (en) * 2009-11-24 2011-06-09 Mitsubishi Electric Corp Base station device, radio communication system and frequency correction method
JP2011123909A (en) * 2002-04-16 2011-06-23 Massachusetts Inst Of Technology <Mit> Authentication of integrated circuit
WO2011086051A1 (en) * 2010-01-18 2011-07-21 Institut Telecom-Telecom Paris Tech Integrated silicon circuit comprising a physically non-reproducible function, and method and system for testing such a circuit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011123909A (en) * 2002-04-16 2011-06-23 Massachusetts Inst Of Technology <Mit> Authentication of integrated circuit
JP2009524998A (en) * 2006-01-24 2009-07-02 ヴェラヨ インク Equipment security based on signal generators
WO2008056612A1 (en) * 2006-11-06 2008-05-15 Panasonic Corporation Information security apparatus
JP2011114386A (en) * 2009-11-24 2011-06-09 Mitsubishi Electric Corp Base station device, radio communication system and frequency correction method
WO2011086051A1 (en) * 2010-01-18 2011-07-21 Institut Telecom-Telecom Paris Tech Integrated silicon circuit comprising a physically non-reproducible function, and method and system for testing such a circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015001999; 浅井稔也,他: '改良リングオシレータPUFのFPGA実装とその評価' 電子情報通信学会技術研究報告 Vol. 110,No. 439, 20110224, pp. 173-178, 電子情報通信学会 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015228570A (en) * 2014-05-30 2015-12-17 凸版印刷株式会社 Authentication system and portable communication terminal
EP3067875A1 (en) 2015-03-12 2016-09-14 Fujitsu Limited Multi-frequencies puf based electronic circuit, authentication system, and authentication method
CN111670443A (en) * 2017-11-14 2020-09-15 耐瑞唯信有限公司 Integrated circuit personalization
JP2021503208A (en) * 2017-11-14 2021-02-04 ナグラビジョン エス アー Integrated circuit personalization
CN111670443B (en) * 2017-11-14 2023-08-22 耐瑞唯信有限公司 Integrated circuit personalization
JP2019144536A (en) * 2017-12-22 2019-08-29 ザ・ボーイング・カンパニーThe Boeing Company Interference detecting ring oscillators
JP2019121885A (en) * 2017-12-28 2019-07-22 三菱重工業株式会社 Monitoring device, monitor system, information processing device, monitoring method, and program
US11271757B2 (en) 2017-12-28 2022-03-08 Mitsubishi Heavy Industries, Ltd. Monitoring device, monitoring system, information processing device, monitoring method, and program
JP7084160B2 (en) 2018-03-02 2022-06-14 Necプラットフォームズ株式会社 Start control device, start control system, start control method, and start control program
JP2020096384A (en) * 2020-03-16 2020-06-18 三菱重工業株式会社 Information processing apparatus, information processing method, and program
JP7084442B2 (en) 2020-03-16 2022-06-14 三菱重工業株式会社 Information processing equipment, information processing methods and programs

Also Published As

Publication number Publication date
JP5747327B2 (en) 2015-07-15

Similar Documents

Publication Publication Date Title
JP5747327B2 (en) Information security system, host, device, and control method
JP5333669B2 (en) Individual information generation apparatus and individual information generation method
Wang et al. The request for better measurement: A comparative evaluation of two-factor authentication schemes
JP6547079B1 (en) Registration / authorization method, device and system
JP5831202B2 (en) Individual information generation apparatus and individual information generation method
CN108880821B (en) Authentication method and equipment of digital certificate
KR20120127607A (en) Device and method for obtaining a cryptographic key
US20200250655A1 (en) Efficient, environmental and consumer friendly consensus method for cryptographic transactions
CN109766672B (en) Anonymous authentication method for core copyright
CN109034796A (en) Transaction monitoring and managing method, electronic device and readable storage medium storing program for executing based on alliance&#39;s chain
US20160267266A1 (en) Electronic circuit, authentication system, and authentication method
CN109359471B (en) Encryption method, device, system, equipment and medium based on user identity
US20090083739A1 (en) Network resource access control methods and systems using transactional artifacts
CN114580029A (en) Block chain digital asset privacy protection method, device, equipment and storage medium
CN101877639A (en) Messaging device, key updating method and program
CN108880807A (en) Private key signature process method, apparatus, equipment and medium
JP5448892B2 (en) Certificate verification system, path constraint information generation apparatus, certificate verification apparatus, and certificate verification method
JP2012527678A (en) Method and apparatus enabling portable user reputation
Aysu et al. A design method for remote integrity checking of complex PCBs
US20210391993A1 (en) Methods, systems, and apparatuses for cryptographic wireless detection and authentication of fluids
CN110266478B (en) Information processing method and electronic equipment
CN110796446B (en) Key injection method, key injection device, electronic equipment and computer-readable storage medium
JP6246516B2 (en) Information processing system
JP5469631B2 (en) Decryption result verification apparatus, method and program
JP2011145591A (en) Commitment system, master device, transmitter, receiver, commitment method, program and recording medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150325

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: 20150414

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150421

R150 Certificate of patent or registration of utility model

Ref document number: 5747327

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250