Integrated silicon circuit comprising a physically non-reproducible function, and method and system for testing such a circuit
18 claims: 3 independent, 15 dependent
- 1回路に固有の署名の生成を可能にするLPUF(Loop Physically Unclonable Function)からなる物理的にコピー不可能な関数を提供するために設計された電子部品を含むシリコン集積回路において、 前記関数が、 トランジスタで構成される1つ以上の遅延素子を有するリング発振手段であって、前記遅延素子は、信号によって横断される経路であるループ(502)として配列され、前記ループは、Nが2以上の整数であるN個のトポロジー的に同一のラグチェーンおよび反転ゲート(503)から形成され、各ラグチェーンは、Mが 1以上の 整数である互いに直列に接続されたM個の遅延素子を含むリング発振手段の実行と、 前記ラグチェーンによって、該ラグチェーンを横断する前記信号に導入される遅延の値を設定するために使用されるN個の制御ワー ドの 生成と、 前記N個の制御ワードの更新後に、最後のラグチェーン(501)の出力における信号の周波数 の 測定と、 前記周波数測定から、前記回路に固有の署名を構成するビット の 推定と を前記シリコン集積回路に実行させる ことを特徴とするシリコン集積回路。
- 2請求項1に記載の回路において、前記回路は、ASICまたはFPGAであることを特徴とする回路。
- 3請求項1または2に記載の回路において、前記署名は、暗号化キーとして使用されることを特徴とする回路。
- 4請求項1または2に記載の回路において、前記署名は、その認証に使用されることを特徴とする回路。
- 5請求項1~4のいずれか一項に記載の回路において、前記ラグチェーンは、少なくとも2つの異なる経路に従って、それらを横断する信号をステアリングするように構成され、該経路は固有の遅延値を導き、該ステアリングは、制御ワードに属する少なくとも1つのビットによって制御されることを特徴とする回路。
- 6請求項1~5のいずれか一項に記載の回路において、制御ワードの連結から成るチャレンジワードは、制御モジュール(505)の入力において提示され、該制御モジュールは、前記ラグチェーンを設定するワードに基づいて組み合わせを生成することを特徴とする回路。
- 7請求項1~6のいずれか一項に記載の回路において、前記署名の前記ビットは、前記制御ワードの様々な組み合わせに関して測定された周波数の順位付けに応じて決定されることを特徴とする回路。
- 8請求項1~6のいずれか一項に記載の回路において、前記署名の前記ビットは、2つの測定周波数値間の推定差の関数として決定され、測定周波数値は、制御ワードの組み合わせに対応することを特徴とする回路。
- 9請求項1~6のいずれか一項に記載の回路において、前記署名の前記ビットは、測定された制御ワードの組み合わせの2つの間の周波数差の比率の値に応じて決定されることを特徴とする回路。
- 10請求項1~9のいずれか一項に記載の回路において、乱数発生器をさらに備え、生成された乱数は、前記制御ワードの組み合わせに対応する周波数が測定される順序の選択に使用されることを特徴とする回路。
- 11請求項1~10のいずれか一項に記載の回路において、少なくとも1つのパリティビットをさらに含み、該少なくとも1つのパリティビットビットは、誤って生成された前記署名のビットを修正するために使用されることを特徴とする回路。
- 12請求項1~11のいずれか一項に記載の物理的にコピー不可能な関数LPUFを含む集積回路のテスト方法であって、一連のステップをテスト回路に適用し、選ばれた信頼性レベルで回路に固有の署名を生成するために構成された回路を選択する集積回路のテスト方法において、 BとTのいずれもが少なくとも1である整数であって、テストを設定するためのパラメータTおよびThとして、測定値が蓄積される数に対応するトライアルの数を示すTと信頼できる測定値を得る閾値を示すThとを選択するとともに、前記署名のビット数であり少なくとも所定値HDに等しいハミング距離を有する制御ワードの数でもあるBを選択することと、 署名ビットごとに最大T回までの測定し、該最大T回の測定を対応するビットが不定であるか否かを決定するために累算して、前記回路の前記署名ビットを表す代表的量を測定することと、 前記パラメータThの値から推定された少なくとも1つの値と比較した後に、検出された不定ビット数の関数として前記テスト回路を選択することと を含むことを特徴とする方法。
- 13請求項12に記載の方法において、回路が選択されない確率を決定することをさらに含み、前記確率は、式:を用いることによって決定され、式中: erf()は、ガウス誤差関数であり;σは、その2乗が前記回路の前記署名ビットを代表する前記量の前記測定の分散であることを特徴とする方法。
- 14請求項13に記載の方法において、署名ビットごとにエラーの確率を決定することをさらにを含み、前記確率は、式:を用いることによって決定され、式中: erf()は、ガウス誤差関数であり;δ j は、2つの異なる組み合わせの制御ワードの適用に対応する2つの周波数間で測定された周波数差であり;sは、s 2 が測定雑音の分散であるように定義されることを特徴とする方法。
- 15請求項12~14のいずれか一項に記載の方法において、不定である署名ビットが存在しない場合に回路が選択されることを特徴とする方法。
- 16請求項12~14のいずれか一項に記載の方法において、テスト回路の前記LPUF機能が、値が前記回路の署名に基づいて決定されるパリティビットに関連し、不定ビットの数が厳密に2より少ない場合に、前記回路が選択されることを特徴とする方法。
- 17請求項12~16のいずれか一項に記載の方法において、s 2 およびσ 2 の値が、+70°Cに等しい温度、および公称供給電圧に対して5%低い前記回路用の供給電圧に関して測定され(1002)、前記測定フェーズ(1003)は、同じ状況下で行われることを特徴とする方法。
- 18請求項13~17のいずれか一項に記載の方法を実施するテストシステムにおいて、 ユーザーインターフェース(1104)と、測定プローブ(1106,1107)を制御する機器(1101)とを有するコンピュータ(1105)を含み、 前記プローブは、前記署名ビットを表し、前記テスト回路(1103)によって生成される前記代表的量の測定を集め、 前記コンピュータ(1105)は、前記測定を処理し、該測定を前記インターフェース(1104)に表示する ことを特徴とするテストシステム。
Independent claims18
106 paragraphs, as filed
0001The present invention relates to silicon integrated circuits that include physically non-copyable functions and methods of selecting such circuits based on reliability tests. This applies in particular to the field of authentication of cryptographic circuits and electronic components.
0002For many applications, it is useful to be able to uniquely identify electronic chips or integrated circuits. Prior art has proposed a solution that makes it particularly possible to distinguish a particular circuit from a series of circuits obtained from the same manufacturing equipment. Therefore, by incorporating a PUF (an acronym derived from the phrase "Physically Unclonable Function") type into an integrated circuit, the circuit Allows the generation of unique and unique signatures. This signature can be used to introduce an electronic system authentication mechanism.
0003This unique signature can also be used as a unique encryption key unique to this circuit. In this case, it is not necessary to store the key in the integrated circuit.
0004The signature is generated directly by the circuit. Since no human intervention is required, resistance to attacks, especially peep attack type attacks, is improved.
0005In the prior art, there are various ways to perform PUF functions. Therefore, a paper by R. Pappu entitled Physical One-Way Functions (PhD Thesis, Massachussetts Institute of Technology, March 2001) describes what an optical PUF is. The optical PUF consists of a transparent material containing randomly dispersed particles that allow the deflection of the laser beam.
0006Coated PUF is also used. This type of PUF is by P. Tuyls, B. Skoric and T. Kennar entitled Security with Noisy Data: Private Biometrics, Secure Key Storage and Anti-Counterfeiting (Secaucus, NJ USA: Springer-Verlag New York, 2007). It is described in the paper. In this case, the opaque material is randomly doped with dielectric particles and placed on top of the integrated circuit.
0007The family of PUFs, called silicon PUFs, takes advantage of the structural inconsistencies introduced by the method of manufacturing integrated circuits. Differences in dispersion between the wires and transistors that make up the circuit are actually significant from circuit to circuit, even if they form part of the same slice. This family includes, among other things, arbiter PUFs, ring oscillator PUFs and SRAM PUFs. Silicon PUFs can be implemented in ASIC or FPGA circuits without any technical changes.
0008The arbiter PUF is described in a paper by B. Gassend, DEClarke, M. van Dijk, and S. Devadas entitled Silicon physical random functions (ACM Conference on Computer and Communications Security, 2002, p.148-160). .. In this type of PUF, the exact same signal propagates by following two paths in the delay circuit, the two circuits are distinguishable and can be set using control words. The arbiter compares the delays between the two signals resulting from these two propagations, and the result of this comparison is the signature of the integrated circuit. One of the drawbacks of this type of PUF is that the elements that allow path parameterization must be balanced with respect to delay, which makes their design difficult.
0009PUFs with a pair of ring oscillators are also silicon PUFs. These are described in a paper by GESuh and S. Devadas entitled Physical unclonable functions for device authentication and secret key generation (DAC, 2007, p. 9-14). The frequencies produced by a pair of identical ring oscillators are compared. The result of this comparison is the signature of the integrated circuit. The disadvantage of ring oscillators is that the oscillators are sensitive to so-called secondary effects, such as those associated with the interconnection between the oscillators or the disturbances introduced into the oscillator during the attack period.
<p num="0010"> An object of the present invention is, in particular, to alleviate the above drawbacks.</p>
<p num="0011"> For this purpose, the subject of the present invention is a silicon integrated circuit containing a physically non-copyable function LPUF that allows the generation of signatures specific to said circuit. The function comprises a ring oscillator consisting of loops traversed by signal e, the loops being formed from N topologically identical lag chains and inverting gates connected in series with each other, one lag chain. , Consists of M delay elements connected in series with each other. It also includes a control module that produces N control words, which words are used by the lag chain to set the value of the delay introduced for the signal e traversing them. It also includes a measurement module that measures the frequency of the signal at the output of the last lag chain after the control word is updated. It also includes means of estimating the bits that make up the signature of the circuit from frequency measurements.</p><p num="0012"> The circuit is, for example, an ASIC circuit or FPGA.</p><p num="0013"> According to one embodiment, the signature is used as an encryption key.</p><p num="0014"> According to another embodiment, the signature is used for its authentication.</p><p num="0015"> The delay element includes, for example, means of steering signals traversing them according to at least two different paths, the path into which the delay value is introduced is unique to it, and the steering is at least one belonging to the control word. Controlled by bits.</p><p num="0016"> According to one aspect of the invention, a challenge word consisting of a concatenation of control words is presented at the input of a control module, which modules generate combinations based on the words so that a lag chain can be set.</p><p num="0017"> The bit of the signature is determined, for example, according to the frequency ranking measured for various combinations of control words.</p><p num="0018"> The bit of the signature is determined, for example, according to the estimated difference between the two measurement frequency values, and one measurement frequency value corresponds to one control word combination.</p><p num="0019"> The bit of the signature is determined, for example, according to the value of the ratio between the two estimated frequency differences.</p><p num="0020"> In one embodiment, the circuit comprises a random number generator and the generated numbers are used to select the order in which the frequencies corresponding to the combination of control words are measured.</p><p num="0021"> The circuit contains, for example, at least one parity bit, such bit used to correct the bit of the signature generated with the error.</p><p num="0022"> The subject of the present invention is also a method for testing integrated circuits including a physically non-copyable function LPUF. By applying a series of steps to the test circuit, a circuit can be selected that allows the generation of signatures specific to the circuit at the selected reliability level, and these steps are the parameters T for setting the test and A measurement phase in which a typical quantity representing the signature bit of a circuit is measured, corresponding to the selection of B combinations of Th and B control words having a humming distance equal to at least a predetermined value HD, for each signature bit. Up to T measurements are taken, and these T measurements are accumulated so that it can be determined whether the corresponding bit is indefinite, and this determination is at least estimated from the value of the parameter Th. Performed after being compared to a single value, the test circuit corresponds to the measurement phase, which is selected according to the number of indefinite bits detected.</p><p num="0023"> According to certain embodiments, the method of the invention comprises the step of determining the probability that a circuit will not be selected, the probability being:<maths num="1"><img id="000002" he="18" wi="64" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>Determined by using in the formula: erf () is a Gaussian error function; σ is the variance of the quantity of measurements that is representative of the signature bits of the circuit.</p><p num="0024"> According to another aspect of the practice, the method of the present invention comprises the step of determining the probability of error for each signature bit, wherein the probability is:<maths num="2"><img id="000003" he="21" wi="56" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>Determined by using in the formula: δ<sub>j</sub>Is the frequency difference measured between the two frequencies corresponding to the application of two different combinations of control words; s is s<sup>2</sup>Is defined as the variance of the measured noise.</p><p num="0025"> For example, a circuit is selected if there are no signature bits that are indefinite.</p><p num="0026"> The LPUF function of the test circuit relates to a parity bit whose value is determined based on the signature of the circuit, for example, the circuit is selected when the number of indefinite bits is exactly less than 2.</p><p num="0027"> s<sup>2</sup>And σ<sup>2</sup>The value of is measured for, for example, a temperature substantially equal to + 70 ° C. and a supply voltage for the circuit that is substantially 5% lower than the nominal supply voltage, and the measurement phase is performed under the same circumstances.</p><p num="0028"> The subject of the present invention is also a test system that implements the method according to the present invention. The system consists of a computer with a user interface and equipment items that allow control of the measuring probe, the function of which the probe represents a signature bit and collects representative quantities of measurements produced by the test circuit. Yes, the processing operations associated with this phase are then performed by the computer and displayed on its interface.</p><p num="0029"> Other features and advantages of the invention will be apparent from the following statements provided in connection with the accompanying drawings, given as non-limiting examples.</p>
0030<figref num="1">An example of arbiter PUF is shown.</figref><figref num="2">Represents a delay element that can be used in an arbiter PUF.</figref><figref num="3">An example of a silicon PUF including a loop structure according to the present invention is shown.</figref><figref num="4">An example of a delay element that can be used in a lag chain included in LPUF is shown.</figref><figref num="5">Indicates an LPUF containing an N = 2 lag chain.</figref><figref num="6">An example scheme for combining the control words used in LPUF is shown.</figref><figref num="7">An example error function that enables estimation of the reliability of LPUF is shown.</figref><figref num="8">The principle of detecting bad bits in LPUF is shown.</figref><figref num="9">An example of a combination of control words and a comparison of frequency measurements associated with them, which can reduce the defective rate of circuits including LPUF, is shown.</figref><figref num="10">An example of a method for testing a circuit according to the present invention is shown.</figref><figref num="11">An example of a test system for carrying out the test method according to the present invention is shown.</figref>
0031Figure 1 shows an example of an arbiter PUF. The arbiter PUF usually comprises a chain of K delay elements 100,101,102 connected in series with each other and an arbiter element 103 connected to the last delay element of the chain. The signal e is introduced into the PUF and traverses two different electronic paths 104,105. Delay elements 100,101,102 have K bits C<sub>1</sub>, C<sub>2</sub>, ..., C<sub>K</sub>Can be set using the binary control word of. Each setting of the two paths 104 and 105 corresponds to a word of K bits. This setting is unique for a particular binary control word, where each bit of the word is used to set one of the delay elements 100,101,102, which has steering function and controls. Involved in defining two unique paths associated with a word.
0032The arbiter element 103 compares the delays introduced by these two paths 104,105 between the two signals originating from e, and the result of this comparison is bit Q. By changing the control word, another bit Q is generated. Therefore, it is possible in this way to generate a binary word used as a signature for the circuit on which the arbiter PUF is implemented.
0033FIG. 2 represents a delay element that can be used in an arbiter PUF. This delay element is, for example, the j-th element in a chain of K elements. Two signals e<sub>0, j</sub>And e<sub>1,j</sub>Is shown as an input to this delay element. The output of the element is two signals s<sub>0</sub>And s<sub>1</sub>Corresponds to.
0034The input signal is the control bit C<sub>j</sub>Steering according to the value obtained by, said bits controlling the two gates 205,206 enable this steering.
0035For example, signal e<sub>0, j</sub>Is C<sub>j</sub>If = 0, the first path 200, or C<sub>j</sub>If = 1, the second path 201 can be followed. In the first case, the output signal s0 is the delay d associated with the first path 200.<sub>0</sub><sup>j</sup>Input signal affected by e<sub>0, j</sub>Corresponding to, in the second case, the output signal s1 is the delay d associated with the second path 201.<sub>1</sub><sup>j</sup>Input signal affected by e<sub>0, j</sub>Corresponds to.
0036Signal e<sub>1,j</sub>As for the latter, C<sub>j</sub>If = 0, the first path 202, or C<sub>j</sub>If = 1, the second path 203 can be followed. In the first case, the output signal s1 is the delay d associated with the first path 202.<sub>0</sub><sup>j</sup>Input signal affected by e<sub>1,j</sub>Corresponding to, in the second case, the output signal s1 is the delay d associated with the second path 203.<sub>1</sub><sup>j</sup>Input signal affected by e<sub>1,j</sub>Corresponds to.
0037In order for these delay elements to enable the implementation of the arbiter PUF, the internal paths to the elements must be balanced, that is, the parallel paths (200,202) are the same and the intersecting paths (201,203) are the same. It is necessary to be. This equilibrium is even more complex at the level of each delay element, as more paths can intersect. The implementation of arbiter PUF is therefore complicated.
0038FIG. 3 shows an example of a silicon PUF including a loop structure according to the present invention. The silicon PUF in this example is represented in the subsequent description by the acronym LPUF, which is derived from the phrase "Loop Physically Unclonable Function" ("Loop Physically Unclonable Function").
0039LPUF is a silicon PUF containing loop 300 formed from N lug chains 301,302. N is at least 2. This loop forms a simple ring oscillator.
0040The lug chains 301 and 302 are composed of M delay elements 303. Ring Oscillators Unlike PUFs, LPUF oscillators consist of a single oscillator.
0041One of the advantages of the LPUF structure is that noise is common to all delay chains. Moreover, since there is only one loop, there is no problem of interconnection between oscillators.
0042Each delay chain 301,302 receives a control word Ci of M bits, and the word corresponds to a delay value specific to the circuit.
0043Control word C<sub>i</sub>Bit C<sub>i, j</sub>Corresponds to the lag value of the delay element number j among the M elements of the lag chain i.
0044During the LPUF design period, more specifically, during the placement routing, which is to convert logic gates and their interconnects into gates with transistors and real wires, the lag chains are exactly the same. It is duplicated N times in the form. This replication can be easily performed either within the design framework of the ASIC or FPGA circuit. This means that LPUF is particularly simple in design.
0045FIG. 4 shows an example of a delay element that can be used in a lag chain included in an LPUF.
0046Input signal e<sub>i, j</sub>Is introduced into the delay element 405. The signal can be propagated by following two different paths 403,404. Path selection is the control bit C associated with the control element.<sub>i, j</sub>Determined by the value of, the bit has the purpose of selecting one of the two paths 403 or 404 using the multiplexer 400. The subscripts i and j indicate the index of the chain and the index of the elements in the chain, respectively.
0047As an example, C<sub>i, j</sub>When = 0, the input signal e<sub>i, j</sub>Follows the first path 403, and the output of the first delay element is the delay d.<sub>i, j</sub><sup>0</sup>Affected signal e<sub>i, j</sub>The delay is caused by the propagation of the signal along this first path. On the contrary, C<sub>i, j</sub>When = 1, the input signal e<sub>i, j</sub>Follows the second path 404, and the output of the first delay element is the delay d<sub>i, j</sub><sup>1</sup>Affected signal e<sub>i, j</sub>The delay is caused by the propagation of the signal along this second path.
0048Advantageously, it is sufficient to duplicate the delay element in order to have a replica of the original element 405 corresponding to the jth element in the exact same chain, and thus between the various paths 403,404 of the delay element. There is no need to balance. Therefore, since the various paths of the delay element do not intersect, equilibrium is more easily guaranteed compared to the arbiter PUF.
0049Since the delay element does not have the same physical characteristics in one chain and the next, it introduces different delays available to LPUF.
0050Figure 5 shows an LPUF with an N = 2 lag chain. Each of the two lug chains 500,501 contains M delay elements. These lag chains are topologically, i.e., functionally identical and have the same physical structure. The delay elements 506, 507 and their interconnect 508 are seen again in the second lug chain 501 in exactly the same way. The chains are connected in series with each other and the output of the second chain is looped by loop line 502 to the input of the first chain. The logic gate 503 that executes the inversion function is arranged on the loop 502. This looped assembly constitutes a configurable oscillator.
0051The two delay elements 500,501 each have two binary words C<sub>1</sub>And C<sub>2</sub>Is controlled by.
0052C<sub>1</sub>And C<sub>2</sub>Each of is C<sub>1,1</sub>, C<sub>1,2</sub>, ..., C<sub>1,M</sub>And C<sub>2,1</sub>, C<sub>2,2</sub>, ..., C<sub>2,M</sub>It consists of M bits displayed as. These two words are generated by control module 505.
0053The frequency of the output signal of the last lag chain is analyzed by the measurement module 504. The measured frequency values are determined by the delays introduced by the various lag chains and therefore by the control words applied to them. The control module 505 is, for example, the first pair value (C).<sub>1</sub>, C<sub>2</sub>)=(0,2<sup>j</sup>), That is, C<sub>2,j</sub>= 1 (j [1; M]) and C<sub>1</sub>And C<sub>2</sub>The other bit of is equal to 0, then the second pair value (C)<sub>1</sub>, C<sub>2</sub>)=(2<sup>j</sup>, 0) is applied continuously.
0054The measurement module 504 is a pair (C<sub>1</sub>, C<sub>2</sub>The frequencies of the signals corresponding to the application of the two values of) are continuously measured, and the measurements are freq (0,2, respectively).<sup>j</sup>) And freq (2)<sup>j</sup>, 0) is written. Estimated from these measurements are quantities that represent a bit of signature. For example, frequency difference δ<sub>j</sub>Is then estimated by control module 505 using the following equation: δ<sub>j</sub>= freq (0,2)<sup>j</sup>)-freq (2<sup>j</sup>,0) (1)
0055A pair that changes the path the signal follows (C)<sub>1</sub>, C<sub>2</sub>The difference in propagation lag in the lag chain, which is the result of applying the two values of), is not zero and can be utilized. In reality, this lag difference is the measured frequency difference δ.<sub>j</sub>As a result, the latter can be used to generate bites of signatures that are unique to the circuit.
0056Therefore, a representative quantity δ indicating a bit of signature<sub>j</sub>Customs may be chosen to generate signature bits based on. For example, when N = 2, bit i is δ<sub>j</sub>If is positive, equal to 0, δ<sub>j</sub>Is equal to 1 if is negative.
0057To generate the various bits of the signature, a binary word, referred to in the subsequent description as the "challenge word", is presented at the input of the LPUF and processed by the control module 505. Based on this, the control module 505 generates a combination of control words used to set the lag chain and to allow the measurement of frequency differences. In reality, one challenge word consists of N control words. These control words are N words C<sub>i</sub>It can be combined in various ways so that as many lagchain settings as possible can be obtained according to N! Possible control combinations (exclamation marks represent factorial operations). The response is then determined, for example, by the control module. When N = 2, the response example corresponding to the circuit signature can be represented according to the frequency difference described above. If N> 2, the response can be determined, for example, according to the frequency order of N! Possible control combinations.
0058To compare and classify the frequencies obtained with various combinations of controls and thus lags, there is the word C<sub>i</sub>There must be at least two different combinations of. Word C<sub>i</sub>Considering the total Hamming distance HD of the combination of HD, the expression:<maths num="3"><img id="000004" he="17" wi="109" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>Can be expressed using. In the equation, HW () is a function that determines the Hamming weight,<maths num="4"><img id="000005" he="10" wi="30" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>Represents an exclusive OR operation.
0059(C<sub>i,</sub>C<sub>i'</sub>) Is two control words established based on a combination of words acting on N chains, it is expressed by the following equation to be sure that it has at least two different combinations. Conditions should preferably be met: i, i' [1, N] HD 1 (3)
0060In addition, the jth bit of the N lagchain must not remain at the value "1", otherwise the controller cannot detect the bit difference. By convention, the jth bit can always be equal to "0". For example, for N = 2 and M = 3, the pair value (C)<sub>1</sub>, C<sub>2</sub>) = Difference δ obtained for (0,1)<sub>j</sub>Is a pair value (C) unless otherwise specified<sub>1</sub>, C<sub>2</sub>) = (2,3), (C<sub>1</sub>, C<sub>2</sub>) = (4,5), and (C<sub>1</sub>, C<sub>2</sub>The same is true for) = (6,7), and the following equation must be satisfied:<maths num="5"><img id="000006" he="16" wi="109" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>
0061LPUF can also include mechanisms to prevent attacks from snooping or fault injection. Therefore, a random number generator may be incorporated into the circuit. The latter can be used to select the order in which frequencies are measured. Therefore, since the frequency measurement is performed in a random sequence of control words, the attacker cannot force the bit value or unravel the bit value.
0062Advantageously, LPUF is resistant to environment-related noise and interference. In reality, the lag chains that make up the LPUF are affected by disturbance noise in exactly the same way. Therefore, if it has a longer duration than the measurement, the result of the frequency measurement is largely unaffected by this noise, so that the signature generation remains reliable, which means that of the ring oscillator. This may not be the case for PUFs with pairs.
0063For applications aimed at circuit authentication, LPUF can be used in conjunction with a CRP mechanism (an acronym derived from the phrase "Challenge-Response Pair").
0064This mechanism can be implemented by incorporating the LPUF into the circuit. The challenge message or word is presented to the LPUF, after which the latter determines a response message that allows authentication of the circuit. In practice, this response message corresponds to the signature generated by the PUF and is specific to the circuit.
0065LPUF can also be used to generate encryption keys. Thus, the LPUF itself uses a subset of challenge messages, and the signature thus generated can be used as an encryption key.
0066Challenge words are N control words C<sub>i</sub>Corresponding to the concatenation of (i [1, ..., N]), one control word is used for each of the N lag chains. The response word is the result of the measurement and the result of the frequency comparison produced by N! Possible combinations of N words Ci, and the exclamation mark represents the factorial operation. Conditions (3) and (4) can be complemented by the fact that all control words Ci are different because they have N! Different combinations. is this,<maths num="6"><img id="000007" he="14" wi="107" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>Can be represented by.
0067The measured frequencies are compared to each other so that a response can be formed according to a given protocol. For example, N! Combinations can be classified differently to obtain a (N!)! Arrangement.
0068Figure 6 shows an example scheme for combining the control words used in the LPUF. In this example, N = 3 and control word C<sub>i</sub>Can take three values A, B and C600 that meet the conditions (3), (4) and (5). Therefore, six possible combinations 603 can be generated for the control words (C1, C2, C3) and a frequency arrangement of 720 can be obtained.
0069Advantageously, the number of possible challenge words is significantly higher than in the case of Arbiter PUF. In fact, for arbiter PUF, this number is 2<sup>M</sup>be equivalent to. Considering equations (3), (4) and (5) for LPUF, the number of possible challenge words is given by Table (1) below for specific values of N and M.
0070<tables num="1"><img id="000008" he="62" wi="159" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></tables>
0071Advantageously, the number of different signatures that can be generated is, as a result, very large in the case of LPUF compared to arbiter PUF.
0072For applications aimed at generating encryption keys that are specific to the components on which LPUF is implemented, one scheme is to use a given control word, i.e., a control word stored by the circuit. This principle is the same as authentication, except that there is no challenge word delivery, and the consideration of a subset of challenge words in which the frequencies of the combinations are measured and compared is up to the LPUF.
0073To illustrate the principle of this scheme, consider the control module of the LPUF, using the same control word Ci, which causes the bits to be zero, except for the control word where one of the bits takes the value 1. The value associated with this control word is 2<sup>j</sup>And j represents the j-th delay element used to generate one bit of the key. The LPUF control module then generates N! Combinations by applying permutations to N control words Ci. As in this example, all control words, apart from 1, are identical (zero) and the number of combinations is equal to N, not N !. The N frequencies corresponding to these N combinations are obtained by measurement.
0074The measured frequency value is the control word (C<sub>1</sub>, C<sub>N</sub>) Corresponds to the above value, freq (C)<sub>1</sub>, ..., C<sub>N</sub>) Is displayed. Therefore, N frequencies f corresponding to the above N combinations.<sub>1</sub>, f<sub>2</sub>, ..., f<sub>N</sub>Can be written as: f<sub>1</sub>= freq (0,0, ..., 2<sup>j</sup>) f<sub>N-1</sub>= freq (0,2)<sup>j</sup>, , 0) f<sub>N</sub>= freq (2<sup>j</sup>,0,・・・,0)
0075These measured frequencies are classified, for example, so that the generated signature bits correspond to the difference or combination of measured frequencies.
0076As an example, when N = 2, the frequency difference δ<sub>i</sub>Therefore, the j-th bit of the encryption key can be obtained, and the difference is determined by using the equation (1).
0077For N = 3, there are 3 possible frequency values, and as a result, there are 6 possible combinations. The three values are: f<sub>1</sub>= freq (0,0,2<sup>j</sup>) f<sub>2</sub>= freq (0,2)<sup>j</sup>, 0) f<sub>3</sub>= freq (2<sup>j</sup>, 0,0).
0078The encryption key bits can then be estimated using a table that shows an example below.
0079<tables num="2"><img id="000009" he="66" wi="98" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></tables>
0080A signature can be obtained by applying this same scheme with a given challenge word. The number of challenge words is related to the number of bits that can be extracted to constitute the response word used to authenticate the circuit, including the encryption key or LPUF.
0081For example, if N = 2 and M = 5, it is possible to obtain 121 different bits, considering Table (1).
0082If N is greater than 2, the number of bits obtained will increase exponentially because there are (N!)! Possible arrangements, as already described herein.
0083The maximum number of bits that make up a signature is equal to the number of possible challenge words multiplied by the base 2 logarithm of (N!) !. Table (1) shows that there are a large number of challenge words and thus signature bits. However, the latter allows the challenge word to share the same combination of bits (eg, if N = 3, the challenge word M1 = (0,1,2) becomes the challenge word M2 = (0,1,3). (Close), so it can be duplicated. This overlap remains low when choosing a combination of control words where there is a very large distance between them. Thus, this option can be performed, for example, with a distance constraint that the Hamming distance between one challenge word and N! Combinations of other words is greater than or equal to the minimum value. In the previous example, the distance between M1 and M2 is<maths num="7"><img id="000010" he="10" wi="55" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>Is. If the minimum value selected is 2, one of these challenge words will be rejected.
0084The LPUF circuit can include a parity bit. In practice, one of the bits of the signature can be erroneously generated, especially due to the physical characteristics of the circuit after manufacture.
0085Parity bits are calculated by the circuit for all bits of the signature. One convention that can be used is to set the parity bit to "0" if the number of signature bits that is "1" is even.
0086This bit can be stored by using non-volatile memory. If an FPGA circuit is used, it is sufficient to have two configuration files that are unique to each value of the parity bit.
0087In order to reduce the probability of generating false signature bits, several measurements of a representative amount of signature bits, also called trials, may be made in succession by the LPUF measurement module for a particular control combination. After that, the values obtained by these trials are accumulated, and the signature bit is given by the sign of the accumulation result.
0088If the parity bit is related to the operation of the LPUF, the least reliable bit can be easily detected during the processing period corresponding to the trial.
0089Then, if it turns out that it does not follow parity, this bit can be easily modified by inversion.
0090This principle is shown in FIG. 8, where one of the curves 800 corresponds to the least reliable bit and the other curve corresponds to the more reliable bit of the signature. As previously described, once the measurement is finished, unreliable bits can be corrected if they do not follow parity.
0091LPUF features can be used to implement methods that allow to test and / or select integrated circuits with negligible probabilities of producing false signatures. Therefore, this method can improve the reliability of the use of LPUF, especially by disposing of unreliable circuits and also allowing them to be ranked by reliability level, and certain reliability. Circuits with levels can be used for certain family applications. This method may be applied at the end of the circuit manufacturing process, for example, to retain only the most reliable circuits.
0092Advantageously, this possibility of selecting the circuit makes it possible to save the trouble of executing the error correction code.
0093An object of the method of the present invention is, in particular, to discard circuits that have a probability of generating false signatures greater than a predetermined probability value.
0094An embodiment of this method is shown in the subsequent description. In this example, consider a circuit that includes an LPUF. The LPUF contains a lag chain of N = 2, and each signature bit has a frequency difference δ as previously defined.<sub>j</sub>Estimated from the measurement of.
0095By considering the population of circuits manufactured in exactly the same way, the variable δ<sub>j</sub>Is zero mean and variance σ<sup>2</sup>Follow a Gaussian distribution with. That is, δ<sub>j</sub> N (0, σ)<sup>2</sup>) (6) N (a, b) represents Gauss's law with mean a and variance b.
0096At the circuit level, δ<sub>j</sub>Each measurement of is environmentally sensitive. Δ corresponding to the jth bit of the circuit signature<sub>j</sub>The measured value of<maths num="8"><img id="000011" he="10" wi="30" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>And δ<sub>j</sub>Centered on the variance s corresponding to the measurement noise<sup>2</sup>Follow a Gaussian distribution with. That is,<maths num="9"><img id="000012" he="13" wi="96" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>
0097δ<sub>j</sub>The value of is a reliable value for measurement<maths num="10"><img id="000013" he="10" wi="30" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>To get, it needs to be from 0 as much as possible. P<sub>e, j</sub>The probability of an error in bit j, described as, is, for example, a measured value.<maths num="11"><img id="000014" he="10" wi="30" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>The sign of is the expected value δ<sub>j</sub>Matches a probability different from the sign of. This probability can be expressed using the following equation:<maths num="12"><img id="000015" he="18" wi="97" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>In the equation, the function erf () is a Gaussian error function.
0098Figure 7 shows an example of a graph showing this error. P<sub>e, j</sub>Is<maths num="13"><img id="000016" he="10" wi="30" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>Corresponds to the region 701 corresponding to the integral between - and 0 with a probability density of 700.
0099Probability of this error P<sub>e, j</sub>Is δ<sub>j</sub>Significant when is close to 0. It can actually be reduced by performing T trials in which the measurement results are accumulated. Therefore, T measurements<maths num="14"><img id="000017" he="10" wi="30" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>Is executed. P<sub>e, j</sub>Can be expressed using the following formula:<maths num="15"><img id="000018" he="20" wi="110" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>
0100Therefore, if δ<sub>j</sub>If is low and greater than the threshold Th, then a significant number of T trials need to be applied if the desired error probability is low. By fixing the Th threshold, it has a certain error probability and is smaller than Th while following the number of trials to be executed.<sub>j</sub>It is possible to exclude circuits with a value of. Th can be advantageously selected, taking into account unfavorable circumstances regarding circuit temperature and supply voltage.
0101Considering a circuit with M delay elements, each associated with one signature bit, in order for the circuit to fail, δ<sub>j</sub>It is sufficient if at least one bit j such as <Th is present. Therefore, in this example, the probability that the test circuit will fail can be predicted using the following equation: P<sub>rej</sub>= 1-[1-P (| δ)<sub>i</sub>| <Th)]<sup>M</sup> (Ten) During the ceremony<maths num="16"><img id="000019" he="17" wi="108" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>Is.
0102The above example corresponds to a control word with only a single bit j at N = 2 and a value of 1. The error probability is reduced when N> 2 or when the control words contain several non-zero bits with a constant Hamming distance HD between them, as expressed by equation (12). ..
0103Therefore, the signature bit is correlated with an HD delay element that functions to generate the difference between the two frequency measurements. It measures δ<sub>i</sub>Is equivalent to being considered to consist of the sum of the HD values of. Therefore, then<maths num="17"><img id="000020" he="18" wi="118" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>The result is.
0104Probability of failing the circuit as a result by increasing the Hamming distance HD between the control words used P<sub>rej</sub>Can be reduced. B signature bits can be much larger than M. The defective product rate in this case is the same as the formula in which M is replaced with the effective number of bits B of the signature:<maths num="18"><img id="000021" he="22" wi="107" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>
0105The method according to the invention makes a series of measurements as many as T times, and then bit by bit the result of the measurements.<maths num="19"><img id="000022" he="10" wi="30" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>Is accumulated. The values obtained from these trials are compared to one or more predetermined thresholds. The result of this comparison matches either a bit of the signature on which the trial was run, 0, 1, or an indeterminate value if no threshold is obtained (in which case the bit is considered indeterminate or unreliable) It becomes possible to decide whether to do it. An indefinite value is a value at which it is impossible to determine whether a bit is at "0" or "1". This technique makes it possible to improve the reliability of the measurement results used to generate the signature bit and, as a result, reduce the probability that this signature bit will be generated with an error.
0106If the control module of the LPUF stops the calculation of the given signature bit when a certain threshold is obtained, the measurement time can be optimized advantageously.
0107For N = 2, the measurement is, for example, the difference δ as previously defined.<sub>i</sub>Corresponds to. Thus, two thresholds may be selected and compared to the bit-by-bit total measurement of the signature, which correspond to, for example, the following values: --Th × T, in this regard, 1 is selected if the total measurement is greater than this value; --Th × T, in this regard, 0 is selected if the total measurement is smaller than this value.
0108When the accumulation of measurement results corresponding to a given bit of the circuit signature gets one of these thresholds, the measurement is stopped and a decision about the value of the bit is made.
0109The principles of continuous measurement and comparison with thresholds can be applied within the framework of circuit testing methods, but can also be applied by the circuit itself, as previously described.
0110For circuits that are considered reliable, convergence systematically occurs following the application of the test method according to the invention. The most reliable bits converge sharply and the least reliable bits require more measurement trials.
0111When this test method is applied to a circuit containing an LPUF containing a parity bit associated with a signature, the defective product rate can be significantly reduced. In practice, this test scheme is a circuit with unreliable signature bits, ie δ.<sub>j</sub><Th circuit is not rejected.
0112FIG. 9 shows an example of a combination of control words that can reduce the defective rate of circuits including LPUF and a comparison of frequency measurements associated with them. When N> 2, it is possible to use temperature-independent measurements by using the ratio between frequency differences rather than the difference between measurements. The signature bits of the circuit are then estimated from the values of these ratios. FIG. 9 shows six possible combinations of the three control words (A, B, C) for N = 3.
0113In this case, the signature bit is, for example,<maths num="20"><img id="000023" he="15" wi="85" file="JP5877415B2_D0001.tif" img-format="tif" img-content="drawing" /></maths>Weighing Δ corresponding to<sub>i, j</sub>Estimated from.
0114In this equation, the value δ<sub>i</sub>And δ<sub>j</sub>Corresponds to the difference in measured frequencies, and this difference is measured between two different combinations of control words.
0115Next, the LPUF control module weighs Δ<sub>i, j</sub>Is determined, and the signature bit of the circuit is estimated from it. The example in Figure 9 is Δ<sub>1,2</sub>If> 0, the first bit b of the signature<sub>0</sub>Is set to 1 and otherwise equal to 0. Similarly, Δ<sub>3,4</sub>If> 0, the second bit of the signature b<sub>1</sub>Is set to 1 and otherwise equal to 0.
0116FIG. 10 shows an example of a method for testing a circuit according to the present invention.
0117The purpose of the first step 1000 of this method is to select the configuration parameters of the test. Therefore, the values of the previously defined parameters T and Th are selected, which affect the probability of selecting or failing the circuit, as well as the duration of the test. This setting step also makes it possible to select the B combination of control words so as to guarantee the Hamming distance HD between two combinations in this B combination set.
0118The purpose of the second step 1001 of this method is to determine the probability of a bit error as well as the probability of failing the test circuit. These two probabilities, on the one hand, take into account the parameters T and Th as selected during the setup step, and on the other hand, the variance of the measured noise s.<sup>2</sup>And measurement variance by processing variance σ<sup>2</sup>It is determined using, for example, equations (9) and (13), taking into account the measured value of 1002. Measurement of these dispersions can be performed by any measuring means known to those of skill in the art.
0119The determination of these probabilities makes it possible to advantageously adapt the values of the setting parameters according to the needs of the user.
0120The purpose of the third step 1003, referred to as the measurement phase, is to determine if the test circuit is considered reliable. If not, the circuit fails. This measurement phase applies to all circuits that the user decides to test. Therefore, the LPUF control module included in the circuit being tested has a frequency difference of δ.<sub>j</sub>Is set to apply the B combination of control words selected during the first step so that it can be measured. Several measurement trials are performed bit by bit in the signature so that they are cumulative and compared to one or more thresholds as described above.
0121If the LPUF does not have free parity bits, the circuit fails if one bit less is not considered reliable.
0122If the LPUF has a free-use parity bit, then a single bit of the signature is not considered reliable. The test circuit is not rejected and the value of the parity bit is on the signature thus generated. It is calculated against. The bits then allow the circuit to detect and correct errors in unreliable bits.
0123To optimize the reliability of this test scheme, distribute s<sup>2</sup>And σ<sup>2</sup>It should be noted that the measurement and the measurement phase of the above can also be performed advantageously under the conditions corresponding to the limit operating conditions of the test circuit. These situations correspond, for example, to a temperature substantially equal to + 70 ° C and a supply voltage substantially 5% lower than the nominal supply voltage of the test circuit.
0124FIG. 11 shows an example of a test system that implements the test method according to the present invention. The test system 1100 consists of, for example, a computer 1105 with a user interface 1104. The system also includes equipment item 1101, which allows control of measurement probes 1106,1107. These measurement probes are routed to electronic card 1102, which includes the electronic circuit 1103 to be tested, which circuit includes the LPUF. The system implements the test method as described above. The user interface 1104 also allows you to configure tests and view results.
35 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| JP2005523481A | Cites | Japan |
| Maiti, A, Schaumont, P,Improving the quality of a Physical Unclonable Function using configurable Ring Oscillators,Field Programmable Logic and Applications, 2009. FPL 2009. International Conference on,IEEE,2009年 8月31日,pp. 703-707,URL,http://dx.doi.org/10.1109/FPL.2009.5272361 | Non-patent | – |
16 members in 9 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 1050297 | France | A | |
| 1050297 | France | A | |
| 1050297 | France | – | |
| 2011050234 | European Patent Office (EPO) | W | |
| 2011050234 | European Patent Office (EPO) | W | |
| 1050297 | – | – | – |
| EP2011050234 | – | – | – |
| FR20100050297 | – | – | – |
| WO2011EP50234 | – | – | – |
Members16
| Document | Office | Kind | |
|---|---|---|---|
| CA2787434A1 | Canada | A1 | |
| WO2011086051A1 | World Intellectual Property Organization (WIPO) | A1 | |
| FR2955394A1 | France | A1 | |
| FR2955394B1 | France | B1 | |
| SG182657A1 | Singapore | A1 | |
| KR20120118475A | Republic of Korea | A | |
| CN102762994A | China | A | |
| EP2526433A1 | European Patent Office (EPO) | A1 | |
| US2013202107A1 | United States of America | A1 | |
| JP2013534062A | Japan | A | |
| EP2526433B1 | European Patent Office (EPO) | B1 | |
| US8867739B2 | United States of America | B2 | |
| CN102762994B | China | B | |
| JP5877415B2This record | Japan | B2 | |
| KR101627892B1 | Republic of Korea | B1 | |
| CA2787434C | Canada | C |
29 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Written notification of registration of transferJAPANESE INTERMEDIATE CODE: R350R350 | R350 | |
| Request for change of ownership or part of ownershipJAPANESE INTERMEDIATE CODE: R313113S111 | S111 | |
| Written request for registration of change of domicileJAPANESE INTERMEDIATE CODE: R313531S531 | S531 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Written request for extension of timeJAPANESE INTERMEDIATE CODE: A601A601 | A601 | |
| Written request for extension of timeJAPANESE INTERMEDIATE CODE: A601A601 | A601 | |
| Written request for extension of timeJAPANESE INTERMEDIATE CODE: A601A601 | A601 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 5877415
- Publication, DOCDB
- 5877415
- Publication, EPODOC
- JP5877415B
- Application
- 2012549301
- Application, DOCDB
- 2012549301
- Application, EPODOC
- JP20120549301
Titles2
- Japanese
- 物理的に複製不可能な関数を含むシリコン集積回路およびそのような回路をテストする方法およびシステム
- English
- Silicon integrated circuits with physically non-replicatable functions and methods and systems for testing such circuits
Classification
- CPC, 12
- G01R31/31719
- G06K19/077
- H04L9/0861
- G06F21/31
- G06F21/73
- G06F2221/2129
- G09C1/00
- H04L9/3278
- H04L2209/12
- H04L2209/26
- G01R31/317
- G06F21/00
- IPC, 3
- H04L9 10
- G06F21 31
- G06F21 73
