JP5377667B2 - ビット列生成装置及びビット列生成方法 - Google Patents
ビット列生成装置及びビット列生成方法 Download PDFInfo
- Publication number
- JP5377667B2 JP5377667B2 JP2011549823A JP2011549823A JP5377667B2 JP 5377667 B2 JP5377667 B2 JP 5377667B2 JP 2011549823 A JP2011549823 A JP 2011549823A JP 2011549823 A JP2011549823 A JP 2011549823A JP 5377667 B2 JP5377667 B2 JP 5377667B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- glitch
- signal
- input
- data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 48
- 238000005070 sampling Methods 0.000 claims abstract description 107
- 238000012545 processing Methods 0.000 claims description 55
- 238000012937 correction Methods 0.000 claims description 29
- 230000000630 rising effect Effects 0.000 claims description 10
- 230000001934 delay Effects 0.000 claims description 5
- 230000003111 delayed effect Effects 0.000 claims description 5
- 230000001052 transient effect Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 230000001902 propagating effect Effects 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 20
- 230000008569 process Effects 0.000 description 27
- 230000008859 change Effects 0.000 description 14
- 230000004044 response Effects 0.000 description 11
- 230000006399 behavior Effects 0.000 description 6
- 230000010355 oscillation Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000010363 phase shift Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Manipulation Of Pulses (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
グリッチを発生するグリッチ発生部と、
前記グリッチ発生部によって発生された前記グリッチの波形を取得するグリッチ波形取得部と、
前記グリッチ波形取得部によって取得された前記グリッチの波形に基づいて、1か0かのいずれかを示す1ビットデータを生成するビットデータ生成部と、
前記ビットデータ生成部によって生成された複数の前記1ビットデータからなるビット列を生成するビット列生成部と
を備えたことを特徴とする。
図1〜図18を参照して、実施の形態1のビット列生成装置200を説明する。実施の形態1のビット列生成装置200は、グリッチ形状を利用してPUFを構成する方法である。
論理回路の上流設計においてデバイス固有の特徴量を入力し、その特徴に応じたデバイスの挙動をシミュレートすることを考える。このシミュレーションの目的は、実装するPUFがデバイスの個体差によってどの程度の情報量をもつかを評価することであり、製造したLSIを大量に評価せずとも、その情報量(特にその下限を)を評価できる環境を構築することにある。前述のように、上流設計のシミュレーションに最も親和性のある特徴量は遅延情報である。各デバイスが持つ遅延情報の個体差がPUFのレスポンスの違いに直接結びつくような回路構成であれば、現状の論理回路設計フローの範囲でPUFの情報量を評価できる可能性がある。ここで、ある同一の論理回路が異なる遅延情報を持つときに起こりうる、回路の挙動の違いについて考える。
図2は、同一の論理回路が異なる遅延情報を持つときに起こりうる、回路の挙動の例を示す。例えば図2(a)のように、複数の入力に対してANDやXORなどの論理演算を行う回路を考える。このような回路では、ある特殊な条件が成立しない限り、各信号の遅延差によって、「グリッチ」と呼ばれる信号の過渡遷移が発生する。図2の例では、入力信号x1、x2、x3がすべて0から1へと変化する場合、XORゲートの出力は、入力信号x1、x2の信号変化に差があることによって凸状のグリッチが発生する。図2(b)のように、入力信号x3の変化がそのグリッチよりも早くANDゲートに到達していれば、グリッチはANDゲートの出力に伝播する。逆に、図2(c)のように、入力信号x3が遅ければ、グリッチはANDゲート出力に伝播せず、出力は変化しないことになる。さらに、x3の到達時刻が早い場合であっても、グリッチの幅が短い場合は、信号変化が出力に伝播しないケースもある。ここで、十分な幅を持つグリッチ波形に限定すれば、そのグリッチ波形の形状は、各ゲートの遅延の絶対量によって決定するのではなく、信号間の遅延値の相対関係によって確定する。つまり、グリッチ形状は動作環境が変化してもその形状が保存されることが期待できる。
発明者は、論理回路を構成する各ゲートの入力信号間の遅延関係によって様々な形状を取りうるグリッチに着目し、PUFの構成に応用する方法を考案した。以下では、この構成方法を「グリッチPUF」と呼ぶ場合がある。
上記で述べたように、発明者は、遅延のばらつきによって様々な形状を取りうるグリッチを用いて、PUFを構成することを試みた。ここで問題となるのは、グリッチのような微小時間に発生するパルス信号の形状を如何にして正確に捕捉するかという点である。この点につき、その捕捉処理は、デジタル回路で実現する必要がある。
この問題の一般的な解決方法として、位相シフト法によりグリッチ波形をサンプリングする案が考えられる。位相のずれたクロック信号を複数用いし、それらのクロックを用いて微小パルスをサンプリングする。さらに、サンプリング精度を高めるためには、可能な限り多く位相の異なるクロックを用意する必要がある。この場合、クロックラインの数が多くなりすぎるため、この方式は現実的でない。特にFPGAでは、ジッタの少ないグローバルクロックラインの本数は数本から数十本と限られている。グリッチ波形を再生成し、サンプリング処理を時分割処理することでクロックラインの本数を減らす方法も考えられるが、分割数に応じて抽出速度が低下することになる。
図3は、この方式を用いたサンプリング回路220の構成を示す。以下、このサンプリング処理を「グリッチ捕捉処理」(グリッチ形状取得処理ともいう)と呼ぶことにする。このサンプリング方式では、正確な形状捕捉のためにはサンプリング間隔を短くする必要がある。よって、図3における各フリップ・フロップ(レジスタR1〜Rn)に取り込む信号間に挿入するバッファの段数(B1〜Bn)を少なくすること、あるいは、より遅延値の小さい素子を用いることで、フリップ・フロップ(以下、FFと表記する)に取り込む信号間の遅延差をできる限り小さくする必要がある。しかしながら、信号間の遅延差が小さくなればなるほど、FF間のクロックジッタ、配線遅延及びゲート遅延のばらつきなどの影響で、図4のように、FFのサンプリング位置と遅延の順序関係が一致しなくなる。よって、サンプリングしたデータの時刻順序関係に、入れ替わりが発生する。つまり、グリッチの形状を正確に復元できなくなることが予想される。尚この問題は、前述のクロックに対する位相シフトにおいても同様に発生する。
図4は、「実際のグリッチ波形とサンプリング結果の期待値」(図4(a))と「順序補正の誤差によって発生するサンプリング結果」(図4(b))とを示す図である。すなわち、図4(b)のように、サンプリングしたデータの時刻順序関係に入れ替わりが発生し、グリッチの形状を正確に復元できなくなることが予想される。
そこで発明者は、グリッチ捕捉処理を行う前に以下に示す「前処理」を行う。「前処理」を行うことでサンプリング結果の時刻順序関係を決定する。以下では、この「前処理」を「ジッタ補正処理」(後述のS701)と呼ぶ。以下に「ジッタ補正処理」の概要を説明する。
(1)まず、グリッチが発生する信号とは別に、単純な立ち上がり信号が発生する信号線を用意する。以下、この信号を伝令信号(後述の伝令信号(h))と呼ぶことにする。
(2)次に伝令信号を図3のサンプリング回路220へ入力し、サンプリングを行う。この場合、サンプリング回路220の各FF(R1〜Rn)は、クロックの立ち上がりよりも伝令信号の到達が早いものは1、遅いものは0をラッチすることになる。この処理をクロックラインに遅延値を可変とする遅延回路(後述の可変遅延回路207)を入れた状態で遅延値を変えながら複数回行い、FF毎に1をラッチする回数をカウントする。
(3)最後に、この回数の大小によって各FFがサンプリングする時刻の順序関係を算出する。この順序関係を用いて、グリッチ波形のサンプリング結果に対して並び替えを行うことでグリッチ形状を復元する。
図5は、ジッタ補正処理を用いてグリッチ捕捉処理を行った場合の捕捉結果を示す。
図6は、ジッタ補正処理を行わない場合の捕捉結果を示す。
前述したサンプリング方法によりデジタルデータとして捕捉されたグリッチ形状は、1ビットの値に変換される。ここでは、グリッチ形状がもつ立ち上がりエッジの偶奇性をビット値に変換する方法について述べる。立ち上がりエッジの偶奇判定は、微分処理と加算処理とをハードウェアあるいはソフトウェアで実装することで検出可能である。この処理を「形状判定処理」(後述のS709)と呼ぶ。
そこで発明者は、エッジの偶奇性を判定する前に図7に示すような捕捉されたグリッチ形状のパルス幅が閾値w以下の場合、そのパルスを無視する処理を行うことにした。以下この処理を「フィルタ処理」と略記する。
図7は補足されたグリッチパターンの例を3つ示している。
形状判定処理の結果のエラーレートを改善するために、繰り返し同じ処理を実行できる特徴を生かして、同じ入力レジスタの状態変化よって発生するグリッチに対して繰り返し形状判定を行い、多数決処理によって最終的な出力を決定する。
特に「初期鍵生成時」には、M回の繰り返し処理に対して出力が全て同じになる入力のみを鍵生成のために利用する。「初期鍵生成時」とは、ビット列生成装置200が搭載されたシステムLSI1000において、ビット列生成装置200によって初めて鍵情報(ビット列)が生成される時である。例えば、工場出荷時において、そのLSIにおいて、鍵情報が初めて生成されるような場合である。この場合、N個の状態変化に対してそれぞれM回の判定処理を行い、Nビットのレスポンスを生成するが、同時にNビットのマスク値を生成することになる。マスク値が1のビットは鍵生成に利用するビットを表し、0のビットは鍵生成に用いないことを表す。マスク値はHelper Dataの一部として外部に出力する。この「エラーレートの改善」については、「図15のi,j」として後述する説明以降で、詳しく説明する。
図8は、グリッチPUFを実行するビット列生成装置200の回路構成を示す。ビット列生成装置200は、主に、制御レジスタ群203、データレジスタ群204、グリッチ発生回路205、サンプリング回路220及び2種類の遅延回路(伝令信号用遅延回路206、可変遅延回路207)によって構成される。
(1)制御レジスタ群203は、以下に示す制御用のパラメータを格納する。
制御信号Sel(1):グリッチ発生回路の選択信号(loguビット)、
制御信号sel(2): サンプリング回路の入力選択信号(1ビット)、
伝令信号(h):(1ビット)、
制御信号(D):可変遅延回路の遅延値指定信号(q+q’ビット)、
制御信号(p):トリガー信号(1ビット)、
(2)データレジスタ群204は、グリッチ発生回路205に入力するデータX(uビット)を格納する。
(3)図9は、グリッチ発生回路205の構成を示す。グリッチ発生回路205は、図9に示すように、入力データXに対して、定められた論理演算Y=f(X)を実行する組み合わせ回路(ランダムロジック部2051)と、vビットのYから1ビットを選択信号Sel(1)により選択して1ビットを出力するv−1セレクタ2052によって構成される。
(4)伝令信号用遅延回路206は、例えばバッファチェーンによって構成され、伝令信号(h)の遅延信号hdであるDLY(h)を出力する。バッファチェーンの段数は、設計時にグリッチ発生回路205で生成されるグリッチ信号の発生タイミングをシミュレーションで評価して決定する。この詳細は、後述する。
(5)サンプリング回路220は、図3に示したような、バッファチェーン(サンプリング用遅延回路209)とFF(サンプリング用レジスタ群210)とにより構成される。尚、FPGAにグリッチPUFを実装することを想定した場合、サンプリング回路220で用いるバッファチェーンにはLook−up Table(LUT)にバッファを実装するよりも算術加算回路用のキャリーパスを用いた方がサンプリングの分解能を高めることができる。また、可変遅延回路207に関しても変更可能な遅延値の刻みを細かくするためにキャリーパスを用いる。但し、可変遅延回路207の可変範囲はサンプリング範囲よりも広く取る必要があるため、全てをキャリーパスで実装すると回路規模が増大する。そのため、図10に示すように、キャリーパスによる遅延回路とLUTによる遅延回路を組み合わせることで分解能を落とさずに広い稼動範囲を確保することができる。
図10は、キャリーパスによる遅延回路とLUTによる遅延回路を組み合わせた遅延回路の構成を示す。
グリッチの形状捕捉を効率よく実現するためには、設計段階で各回路のパラメータを調整する必要がある。調整すべきパラメータは以下の通りである。
n:サンプリング回路220のFF数、
delays:サンプリング回路220の信号間に挿入するバッファの遅延値、
ranges:サンプリング回路220のサンプリング範囲、
rangeg:グリッチ発生回路205のグリッチ発生範囲、
rangeCLK:可変遅延回路207の可変範囲、
tg:グリッチ発生範囲の中央値の時刻、
th:伝令信号(h)の遅延信号hd(DLY(h))の立ち上がり時刻。
図11は、各パラメータの関係を示す図である。「n」及び「delays」は、サンプリング範囲とその分解能に関係するパラメータであり、サンプリング範囲rangesは、おおよそ「n・delays」なる。つまり、ranges≒n・delaysである。
グリッチ形状を捕捉するためには、
rangeg<ranges<rangeCLK
となる必要がある。以下に、この関係を成立させるための設計手順について述べる。
(1)まず、グリッチ発生回路205の論理を決定した段階で、遅延情報付きの論理シミュレーションを行い、サンプリング回路220の入力においてグリッチが発生する時間範囲rangegと発生タイミングtgとを見積もる。
(2)次に、
rangeg<ranges
を満たす「n」及び「delays」を決める。このとき実装対象のプラットフォームにおいてdelaysが可能な限り小さくなるようなセルをバッファとして利用することでサンプリングの分解能を高めることができる。従って、実際に決定するのはnとなる。実施の形態1の実装では、設計マージンとしてrangegの倍以上になるようにrangesを設定している。また、rangeCLKも同様にrangesの倍を目安に可変遅延回路のバッファ段数を設定している。
(3)次に、伝令信号用遅延回路のバッファ段数を決定する。このとき、遅延回路の遅延値は、前述の見積もり結果tgを用いてtg≒thとなるように設計する。伝令信号に対してタイミング調整を行う理由は、サンプリング結果の時刻順序関係を算出するために利用するのと同時に、グリッチの形状捕捉を行う際に用いる可変遅延回路の遅延値指定信号の値Dgを決定するためである。
以下その方法について説明する。
サンプリング結果の時刻順序関係を算出する際に伝令信号に対してDを最小値から最大値へとインクリメントしながら変化してサンプリングする。このとき、サンプリング結果の中心付近のFFが最初に1をラッチするDの値をDgとする。グリッチ発生範囲は伝令信号の遅延と同程度になるように調整してあるため、グリッチ波形をサンプリング範囲の中央付近でサンプリングすることが可能となる。ただし、正確に信号間の遅延を調整することは一般に困難なため、rangesやrangeCLKは、前述した倍半分のようなマージンをとって設定する必要がある。
以下、試作したグリッチPUF(ビット列生成装置200)の回路性能を示す。
図12は、実装評価結果を示す。試作は、AVNET社のSpartan−3A評価ボードを用いて行った。ターゲットデバイスは、XC3S400A−4FT256である。また、前述した形状捕捉処理以降に行う処理は同一FPGA上に実装したMicroBlazeを用いてファームウェア処理で実行する。グリッチ発生回路205としては、論理の複雑さと広く暗号ハードウェア設計者に回路構造が知られていることからAESのSubBytes回路を用いた。また、サンプリング回路220のFF数は256個で実装し、可変遅延回路207は256ビットの加算回路と、LUTの段数が4、8、12、16段と異なるバッファチェーンを4−1セレクタで選択する構成とした。
ビット列生成装置200は、データバス202に接続されている。ビット列生成装置200は、制御レジスタ群203、データレジスタ群204、グリッチ発生回路205(グリッチ発生部)、伝令信号用回路206(伝令信号遅延部)、可変遅延回路207(可変遅延部)、セレクタ208、サンプリング用遅延回路209(グリッチ遅延部)、サンプリング用レジスタ群210(サンプリング部)、グリッチ形状判定回路211(ビットデータ生成部、ビット列生成部)、及びビット列出力バス212を備える。サンプリング用遅延回路209とサンプリング用レジスタ群210とは、サンプリング回路220(グリッチ波形取得部)を構成する。
以下、各構成要素を説明する。
制御レジスタ群203は、データバス202からのデータ入力に対して、
グリッチ発生回路205への制御信号sel(1)と、
後述するジッタ補正処理を行う際に用いる伝令信号(h)と、
セレクタ209への制御信号sel(2)と、
可変遅延回路207における遅延値の変更のための制御信号(D)と、
サンプリング用レジスタ群210へのクロック入力のための制御信号(p)と、
を保持する複数のレジスタを備える。
データレジスタ群204は、データバス202からのデータ入力に対して、グリッチ発生回路205への入力信号Xを保持する複数のレジスタを備える。
グリッチ発生回路205は、データレジスタ群204からのデータ信号Xと、制御レジスタ群203からの制御信号sel(1)を入力とし、信号gを出力する回路である。図9を参照して、グリッチ発生回路205の内部構成を説明する。ランダムロジック部2051(組み合わせ回路)は、Xをビット毎に表現した{x1,・・・,xu}のuビットの入力を、任意の関数を組み合わせた組み合わせ回路によって処理し、vビットのデータ{y1,・・・,yv}を出力する。セレクタ2052(グリッチ出力セレクタ)は、制御信号sel(1)に従って、{y1,・・・,yv}のv本の信号線(ビット信号線という場合がある)のなかから1ビットの信号線を1本選択し、出力gとする。ランダムロジック部2051で処理する関数としては、DESで定義されるS−boxが例として挙げられる。この例の場合、「u=6,v=4」となる。なお、S−boxは、あくまでも一例であり、ランダムロジック部2051の構成を限定するものではない。
伝令信号用遅延回路206及びサンプリング用遅延回路209は、固定の信号遅延を発生させる回路である。
図13は、伝令信号用遅延回路206、あるいはサンプリング用遅延回路209として使用される遅延回路の内部構成を示す。図13に示す遅延回路401、遅延回路402は、伝令信号用遅延回路206あるいはサンプリング用遅延回路209として使用される。 図13(a)に示す遅延回路401は、一般的なバッファ回路(遅延素子の一例)の直列接続によって構成する例であり、ASIC(Application Specific Integrated Circuit)で一般的に用いられる。一方、図13(b)に示す遅延回路402は、加算器(遅延素子の一例)のキャリー伝播遅延を利用して遅延回路を構成する例である。FPGAでは、加算回路は専用のハードマクロで構成されるため、キャリー伝播遅延は通常の論理を構成するLUTよりも高速となる。このため、キャリー伝播遅延を遅延回路として利用することで、遅延の粒度を細かくすることが可能となる。ここで、伝令信号用遅延回路206の論理段数は、グリッチ発生回路205の論理段数と同程度になるように設計される。
可変遅延回路207は、制御信号(D)によって入力から出力までの遅延を変更可能とする遅延回路である。
図14は、可変遅延回路207の内部構成を示す。図14に示す可変遅延回路501、可変遅延回路502は、可変遅延回路207として使用される。
図14(a)の可変遅延回路501は、直列に接続されるバッファ回路の段毎に制御信号(D)によってパスをセレクタで切り替える構成である。
図14(b)の可変遅延回路502は、制御信号(D)をエンコードしたデータとall「1」のデータとを加算することで発生するキャリーの伝播遅延を用いた構成である。たとえば、可変遅延回路502において大きい遅延値を必要とする場合は、「00・・・01」とall「1」との加算を行うことで下位から桁上げを伝播させ、最上位で発生するキャリー信号を出力する。可変遅延回路502において小さい遅延値を必要とする場合は、「100…0」とall「1」とを加算することで、上位で発生した桁上げを出力する。可変遅延回路502のような加算回路を遅延回路として用いる理由は、前述のように、FPGAのようなLSIにおいて遅延の粒度を細かくするためである。可変遅延回路207の可変範囲は、サンプリング用遅延回路209の最小パス遅延(s1の遅延)と最大パス遅延(sn)とを含む範囲で変更可能に設計される。
セレクタ208は、グリッチ発生回路205の出力gと伝令信号用遅延回路206の出力DLY(h)とを制御信号sel(2)によって選択する回路であり、セレクタ208の出力s0は、サンプリング用遅延回路209に接続される。
図3を参照してサンプリング用レジスタ群210の構成を説明する。サンプリング用レジスタ群210は、サンプリング用遅延回路209の出力を、可変遅延回路207の出力CLK(v)をクロック信号としてラッチするレジスタ群である。サンプリング用遅延回路209は、遅延素子の段数が異なる信号s1,・・・,信号snを出力する。
サンプリング用遅延回路209は、サンプリング用レジスタ群210を構成する各レジスタRに接続される。
レジスタRiは、入力信号線から信号siを入力し、クロック信号線からクロック信号CLK(v)を入力し、出力信号線から信号riを出力する。
グリッチ形状判定回路211は、サンプリング用レジスタ群210の出力「r1,r2,…,rn」であるnビットの信号を入力とし、後述するジッタ補正処理を実行すると共に、ジッタ補正処理の後、グリッチに基づき得られたnビットのデータ「rc1,rc2,…,rcn」を、1ビットのデータbに変換する論理を有する。
図15は、ビット列生成装置200の動作を示すフローチャートである。図15を参照してビット列生成装置200の動作を説明する。以下に説明する図15及び後述の図16の動作に関しては、CPU500がビット列生成装置200を制御するものとする。
最初に、ビット列生成装置200は、ジッタ補正処理(S701)を行う。
図16は、ビット列生成装置200によるジッタ補正処理の動作を示すフローチャートである。以下、図16を参照して、ジッタ補正処理に関して説明する。
(2)続けて、CPU500は、可変遅延回路207への制御信号(D)の変更を繰り返しながら、伝令信号(h)を入力する(S802、S804)。
(3)このとき、CPU500は、同一の制御信号(D)に対してN回、伝令信号(h)を入力する(S803)。伝令信号(h)の入力は、図8に示す伝令信号(h)の信号線と制御信号(p)の信号線とを、それぞれ同一タイミング(同じサイクルで)0から1に変更することで行う。これにより、サンプリング用遅延回路209およびサンプリング用レジスタ群210では、図17のタイミングチャートに記載されるような処理が行われる。
図17は、サンプリング回路220による伝令信号(h)のサンプリングの状態を示す図である。
(2)逆に、制御信号(D)の値が大きい場合は、伝令信号(h)が伝播して立ち上がりが観測される区間よりも後にCLK(v)の立ち上がりエッジが発生する。よって、この場合、サンプリング用レジスタ群210は、すべて1をラッチする。すなわち、サンプリング用レジスタ群210の各レジスタRは、信号s1〜snに関しすべて「1」をラッチする。
(3)制御信号(D)を最小値から最大値まで変化させ、同様の処理(伝令信号(h)と制御信号l(p)の信号線をそれぞれ同一タイミングで0から1に変更し、サンプリング用レジスタ群210によるラッチ)を行った場合、信号線s1〜snのうち伝令信号(h)の伝播が速い信号線から順に1に変化する。
伝令信号(h)の伝播に関して、図17では、信号線s1が最も伝令信号(h)の伝播が速い信号線であり、信号線snが最も遅い信号線として表記されている。しかし、サンプリング用遅延回路209の各遅延の粒度を細かくした場合、図17の信号線stと信号線st’との関係のように、「t<t’」であるが、信号遅延値は「st>st’」となる信号線が発生しうる。これは、サンプリング用遅延回路209からサンプリング用レジスタ群210までの配線遅延や、CLK(v)のジッタによって発生する現象である。
S803で同一の制御信号(D)に対して繰り返し処理を行う理由は、サンプリング用レジスタ群210の各レジスタRにおいて、データの変化とクロックの立ち上がりのタイミングとが近接しているレジスタは、ラッチするデータが不安定になる。したがって、ラッチするデータの精度を上げるために繰り返し処理を行う。
図15のグリッチ形状取得処理の説明に戻る。ジッタ補正処理後、CPU500は、グリッチ形状取得処理のための初期設定処理を行う(S702)。この初期設定処理では、CPU500は全レジスタを初期化した後、制御信号sel(2)を、信号gを選択する信号値に設定する。また、CPU500は、可変遅延回路207の遅延値を決定する制御信号(D)を、ジッタ補正処理で記憶された値Dgに設定する。これは、グリッチ発生回路205と同等の論理段数を持つ伝令信号用遅延回路206の信号DLY(h)を補足したCLK(v)の立ち上がりタイミングで、グリッチ発生回路205の信号gを補足するためである。
図15に示すように、ビット列生成装置200では、前述の処理を、入力データX(変数j)及び制御信号sel(1)(変数i)を変えて繰り返し行う。
図15の変数i,j,kは次の意味である。
変数i:「1〜v」本の信号線のうち、sel(1)の選択する信号線を示す。
変数j:2u通り(j=0〜2u−1)のうちの、どの入力データXかを示す。
変数k:同一の「X、sel(1)」に対する繰り返し回数を示す。
また、データの信頼性を高めるために、同一の入力データXと制御信号sel(1)とに対しても繰り返し処理を行う。すなわち図15に示すように、変数i,jを固定して、K=1〜Nまでを繰り返す。この処理の一例として、グリッチ形状判定回路211は、「i,j」が同一でKの異なる、b(i,j,1),b(i,j,2),b(i,j,N)に対して多数決処理を行い、その結果をb(i,j)とする例が挙げられる。最終的に、上記の処理で得られた互いに「i,j」の異なる複数の1ビットのデータb(i,j)からなるビット列であるビット列b(i,j)を鍵情報として利用する。
そして、図15では、「i,j」を切り替えることで、各信号線i(i:1〜v)ごとに、各入力データXj(j:0〜2u−1)に対する各信号線i(i:1〜v)の出力から生成される1ビットデータの信頼性を評価している。
この図15のフローは、例えば、上記で「1.4 エラーレートの改善」として説明した「初期鍵生成時」と、「初期鍵生成時以降」との双方に適用できる。これを以下に説明する。
初期鍵生成時は、例えば以下のような処理によって、生成されるビットの信頼性を向上する。ランダムロジック回路2051(組み合わせ回路)は、同一の入力データXjを繰り返し入力する。グリッチ発生回路205のセレクタ2052は、同一の入力データXjがランダムロジック回路2051へ繰り返し入力されるごとにいずれかのビット信号線から信号g(ビット対応信号)を出力することにより、v本のどのビット信号線からもN回(所定回数)、信号gを出力する。なおセレクタ2052の出力は、制御信号sel(1)による制御に基づく。グリッチ形状判定回路211(ビットデータ生成部)は、N回出力された信号gのそれぞれに対応する1ビットデータ(N個)をv本のビット信号線ごとに生成する。そして、グリッチ形状判定回路211はビット信号線ごとに生成された1ビットデータの総数に占める1と0との比率に応じて、同一の入力データXに対する各ビット信号線の出力の使用可否を決定する。すなわち、各ビット信号線から信号gがN回出力されるので、グリッチ形状判定回路211によって、1と0とのいずれかである1ビットデータが各ビット信号線ごとにN個生成される。グリッチ形状判定回路211は、各ビット信号線ごとに、N個に占める1と0との比率に応じて、同一の入力データXに対する各ビット信号線の出力の使用可否を決定する。この判定は、例えば入力データX(0)についてビット信号線iから出力された信号gを元にする1ビットデータがN個とも全部「1」である場合、あるいはN個とも全部「0」である場合にのみ、ビット信号線iを使用可能と決定する。各ビット信号線の出力の使用可否に関しては、前記「1.4 エラーレートの改善」で述べたように、マスク値を用いることができる。
マスク値の生成以降は、同一の入力データXに対して使用可能と決定されたビット信号線の出力の信頼性が判定される。ランダムロジック回路2051は、グリッチ形状判定回路211によって同一の入力データXに対するビット信号線の出力が使用可能と決定された後に、再び、同一の入力データXを繰り返し入力する。セレクタ2052は、同一の入力データXがランダムロジック回路2051へ繰り返し入力されるごとにグリッチ形状判定回路211によって出力が使用可能と決定されたビット信号線である特定の決定信号線から、所定回数(例えばN’回)、信号g(ビット対応信号)を出力する。グリッチ形状判定回路211は、特定の決定信号線からN’回出力された信号gごとにこの信号gに対応する1ビットデータをN’個生成し、生成された1ビットデータの総数(N’個)からなるビットグループに含まれる1と0との比率に基づいて、このビットグループを代表する代表ビットを1と0とのいずれかに決定する。この代表ビットの決定は、前記のように多数決処理を用いることができる。ランダムロジック回路2051と、セレクタ2052と、グリッチ形状判定回路211とは、繰り返し入力される同一の入力データXに対して同様の処理を実行することにより、少なくとも他の一本の決定信号線に関して、同一の入力データXに対する代表ビットを決定する。そしてグリッチ形状判定回路211(ビット列生成部)は、決定された複数の代表ビットを使用して、ビット列を生成する。
Claims (14)
- 複数の論理回路を組み合わせた組み合わせ回路であって、入力された入力データに対して過渡遷移に起因するグリッチを発生して出力する組み合わせ回路を有するグリッチ発生部と、
前記組み合わせ回路から前記グリッチを入力し、入力された前記グリッチを遅延させるグリッチ遅延部と、前記グリッチ遅延部により遅延された前記グリッチの波形をサンプリングすることで前記グリッチの波形を取得するサンプリング部とを有するグリッチ波形取得部と、
前記グリッチ波形取得部の前記サンプリング部によって取得された前記グリッチの波形に基づいて、1か0かのいずれかを示す1ビットデータを生成するビットデータ生成部と、
前記ビットデータ生成部によって生成された複数の前記1ビットデータからなるビット列を生成するビット列生成部と
を備えたことを特徴とするビット列生成装置。 - 前記組み合わせ回路は、
前記入力データとしてuビット(uは1以上の整数)の入力データXを入力し、入力データXを用いて、vビット(vは1以上の整数)のデータである出力データYを計算するためにY=f(X)の演算を実行すると共に、前記出力データYを各ビットごとに前記グリッチを含んで出力するv本のビット信号線を備え、
前記グリッチ発生部は、さらに、
前記複数のビット信号線のいずれかのビット信号線による出力を指示する選択信号を入力し、入力された前記選択信号の指示するビット信号線から前記ビットに対応するビット対応信号を出力するグリッチ出力セレクタを備えた
ことを特徴とする請求項1記載のビット列生成装置。 - 前記組み合わせ回路は、
互いに異なる前記入力データXを入力し、
前記グリッチ出力セレクタは、
前記選択信号で制御されることによって、それぞれの前記入力データXについて前記複数のビット信号線の各ビット信号線から前記ビット対応信号を出力することを特徴とする請求項2記載のビット列生成装置。 - 前記組み合わせ回路は、
同一の前記入力データXを繰り返し入力し、
前記グリッチ出力セレクタは、
同一の前記入力データXが前記組み合わせ回路へ繰り返し入力されるごとにいずれかの前記ビット信号線から前記ビット対応信号を出力することにより、どの前記ビット信号線からも所定回数、前記ビット対応信号を出力し、
前記ビットデータ生成部は、
前記所定回数出力された前記ビット対応信号のそれぞれに対応する前記1ビットデータを前記ビット信号線ごとに生成し、前記ビット信号線ごとに生成された前記1ビットデータの総数に占める1と0との比率に応じて、同一の前記入力データXに対する各ビット信号線の出力の使用可否を決定することを特徴とする請求項2または3のいずれかに記載のビット列生成装置。 - 前記ビットデータ生成部は、
前記ビット信号線から出力された前記ビット対応信号を元に生成された前記1ビットデータの総数に占める1の比率が100%の場合と、0の比率が100%の場合とのいずれかの場合には、同一の前記入力データXに対する前記ビット信号線の出力を使用可能と決定することを特徴とする請求項4記載のビット列生成装置。 - 前記組み合わせ回路は、
前記ビットデータ生成部によって同一の前記入力データXに対する前記ビット信号線の出力が使用可能と決定された後に、再び、同一の前記入力データXを繰り返し入力し、
前記グリッチ出力セレクタは、
同一の前記入力データXが前記組み合わせ回路へ繰り返し入力されるごとに前記ビットデータ生成部によって出力が使用可能と決定された前記ビット信号線である特定の決定信号線から、所定回数、前記ビット対応信号を出力し、
前記ビットデータ生成部は、
前記特定の決定信号線から前記所定回数出力された前記ビット対応信号ごとに前記ビット対応信号に対応する前記1ビットデータを生成し、生成された前記1ビットデータの総数からなるビットグループに含まれる1と0との比率に基づいて前記ビットグループを代表する代表ビットを1と0とのいずれかに決定し、
前記組み合わせ回路と、前記グリッチ出力セレクタと、前記ビットデータ生成部とは、
繰り返し入力される同一の前記入力データXに対して同様の処理を実行することにより、少なくとも他の一本の前記決定信号線に関して、同一の前記入力データXに対する前記代表ビットを決定し、
前記ビット列生成部は、
前記ビットデータ生成部によって決定された複数の前記代表ビットを使用して、前記ビット列を生成することを特徴とする請求項4または5のいずれかに記載のビット列生成装置。 - 前記ビット列生成装置は、さらに、
前記ビット列生成部によって生成された前記ビット列の誤りを訂正する誤り訂正部を備えたことを特徴とする請求項1〜6のいずれかに記載のビット列生成装置。 - 前記グリッチ遅延部は、
信号線で直列に接続され、前記グリッチを遅延させて伝搬させる複数の遅延素子を備え、
前記サンプリング部は、
入力信号線と、クロック信号線と、出力信号線とを有する複数のレジスタであって、各レジスタの入力信号線は重複することなくいずれかの前記遅延素子の入力側と出力側とのいずれかの側に接続され、前記クロック信号線から入力されるクロック信号の立ち上がりに連動して、前記入力信号線の接続部における情報をラッチする複数のレジスタを備え、
前記ビット列生成装置は、さらに、
ゼロから所定の値に立ち上がる信号である伝令信号を入力し、入力された伝令信号を遅延させ、遅延された伝令信号を前記グリッチ遅延部の直列接続の最初の遅延素子に出力する伝令信号遅延部と、
前記サンプリング部の各レジスタに入力するためのクロック信号を入力すると共に、入力された前記クロック信号の出力タイミングを制御する制御信号を入力し、入力された前記制御信号に従ったタイミングで、入力された前記クロック信号を前記サンプリング部の各レジスタに出力する可変遅延部と
を備えたことを特徴とする請求項1〜7のいずれかに記載のビット列生成装置。 - 前記ビットデータ生成部は、
前記伝令信号遅延部によって出力された遅延された伝令信号を前記可変遅延部によって出力された前記クロック信号に連動して前記サンプリング部の各レジスタがラッチした前記レジスタごとのラッチデータの値に基づいて前記レジスタごとのラッチデータをソートし、ソート結果を記憶することを特徴とする請求項8記載のビット列生成装置。 - 前記ビットデータ生成部は、
前記サンプリング部の各レジスタが前記グリッチ発生部からグリッチ遅延部に出力された信号をラッチした場合には、記憶された前記ソート結果に基づいて、前記グリッチ発生部から出力され各レジスタによってラッチされた信号をソートすることを特徴とする請求項9記載のビット列生成装置。 - 前記ビットデータ生成部は、
前記伝令信号遅延部における前記伝令信号と前記可変遅延部における前記クロック信号との同一の設定に対して、前記サンプリング部の各レジスタを用いた前記伝令信号のサンプリングを繰り返し行うことを特徴とする請求項8〜10のいずれかに記載のビット列生成装置。 - 前記遅延部は、
加算器の桁上げ信号を用いることにより信号を遅延させることを特徴とする請求項1〜8のいずれかに記載のビット列生成装置。 - 前記ビットデータ生成部は、
前記グリッチ波形取得部によって取得された前記グリッチの波形に含まれる立ち上がりエッジの数が奇数か偶数かによって0と1とのいずれかの1ビットデータを生成すると共に、前記グリッチの波形におけるパルス幅が閾値w以下の場合には、そのパルスを無視することを特徴とする請求項1〜12のいずれかに記載のビット列生成装置。 - 入力された入力データに対して過渡遷移に起因するグリッチを発生して出力する工程と、
出力された前記グリッチを入力し、入力された前記グリッチを遅延させ、遅延された前記グリッチの波形をサンプリングすることで前記グリッチの波形を取得する工程と、
取得された前記グリッチの波形に基づいて、1か0かのいずれかを示す1ビットデータを生成する工程と、
生成された複数の前記1ビットデータからなるビット列を生成する工程と
を備えたことを特徴とするビット列生成方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/050422 WO2011086688A1 (ja) | 2010-01-15 | 2010-01-15 | ビット列生成装置及びビット列生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011086688A1 JPWO2011086688A1 (ja) | 2013-05-16 |
JP5377667B2 true JP5377667B2 (ja) | 2013-12-25 |
Family
ID=44303992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011549823A Active JP5377667B2 (ja) | 2010-01-15 | 2010-01-15 | ビット列生成装置及びビット列生成方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9031232B2 (ja) |
EP (1) | EP2525489B1 (ja) |
JP (1) | JP5377667B2 (ja) |
KR (1) | KR101370231B1 (ja) |
CN (1) | CN102783028B (ja) |
WO (1) | WO2011086688A1 (ja) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5335141B2 (ja) * | 2010-06-07 | 2013-11-06 | 三菱電機株式会社 | 信号処理システム |
CN103299576B (zh) * | 2011-01-13 | 2016-05-25 | 三菱电机株式会社 | 比特生成装置以及比特生成方法 |
JP2013031151A (ja) | 2011-06-20 | 2013-02-07 | Renesas Electronics Corp | 暗号通信システムおよび暗号通信方法 |
JP5857726B2 (ja) * | 2011-12-20 | 2016-02-10 | 富士通株式会社 | 温度センサ、暗号化装置、暗号化方法、及び個体別情報生成装置 |
KR101576408B1 (ko) | 2011-12-22 | 2015-12-09 | 미쓰비시덴키 가부시키가이샤 | 디바이스 고유 정보 생성 장치 및 디바이스 고유 정보 생성 방법 |
US20140041040A1 (en) * | 2012-08-01 | 2014-02-06 | The Regents Of The University Of California | Creating secure multiparty communication primitives using transistor delay quantization in public physically unclonable functions |
US9038133B2 (en) | 2012-12-07 | 2015-05-19 | International Business Machines Corporation | Self-authenticating of chip based on intrinsic features |
CN104838617B (zh) * | 2012-12-11 | 2018-01-02 | 三菱电机株式会社 | 整合安全装置及整合安全装置中使用的信号处理方法 |
EP2799980A3 (de) * | 2013-05-03 | 2014-11-19 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
CN103338108B (zh) * | 2013-06-13 | 2016-09-21 | 北京华大信安科技有限公司 | 生成密钥的方法、装置及芯片 |
CA2922701C (en) | 2013-08-28 | 2021-05-04 | Stc.Unm | Systems and methods for leveraging path delay variations in a circuit and generating error-tolerant bitstrings |
US9992031B2 (en) * | 2013-09-27 | 2018-06-05 | Intel Corporation | Dark bits to reduce physically unclonable function error rates |
CN103543980B (zh) * | 2013-11-07 | 2021-10-22 | 吴胜远 | 数字数据处理的方法及装置 |
US9189654B2 (en) * | 2013-12-04 | 2015-11-17 | International Business Machines Corporation | On-chip structure for security application |
KR102198499B1 (ko) * | 2013-12-31 | 2021-01-05 | 주식회사 아이씨티케이 홀딩스 | 디지털 값 처리 장치 및 방법 |
DE102014203648A1 (de) * | 2014-02-28 | 2014-06-05 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Erzeugen von Zufallsbits |
CN103902930B (zh) * | 2014-03-10 | 2016-09-07 | 杭州晟元数据安全技术股份有限公司 | 基于环形振荡器的物理不可克隆函数电路结构 |
WO2015177923A1 (ja) * | 2014-05-23 | 2015-11-26 | 三菱電機株式会社 | 通信装置及び通信方法及びプログラム |
KR102201642B1 (ko) | 2014-11-28 | 2021-01-13 | 삼성전자주식회사 | Puf 회로 및 그것의 키 등록 방법 |
EP3238199B1 (en) | 2014-12-24 | 2020-06-17 | Intrinsic ID B.V. | Secure key generation from biased physical unclonable function |
US9934411B2 (en) * | 2015-07-13 | 2018-04-03 | Texas Instruments Incorporated | Apparatus for physically unclonable function (PUF) for a memory array |
DE102016201176A1 (de) * | 2016-01-27 | 2017-07-27 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum Erzeugen von Zufallsbits |
CN105932998A (zh) * | 2016-04-18 | 2016-09-07 | 宁波大学 | 一种采用延迟树结构的毛刺型puf电路 |
CN106872983B (zh) * | 2017-01-18 | 2021-04-16 | 上海器魂智能科技有限公司 | 一种测距方法、装置及系统 |
DE102017215622A1 (de) * | 2017-09-05 | 2019-03-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtungen und verfahren zum erhalten von bitsequenzen |
EP3454318B1 (en) * | 2017-09-12 | 2022-05-11 | eMemory Technology Inc. | Security system with entropy bits generated by a puf |
DE102018208118A1 (de) * | 2018-05-23 | 2019-11-28 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Authentifizieren einer über einen Bus übertragenen Nachricht |
DE112019006051T5 (de) | 2019-01-09 | 2021-09-30 | Mitsubishi Electric Corporation | Sicheres-rechnen-einrichtung und client-einrichtung |
US11201730B2 (en) | 2019-03-26 | 2021-12-14 | International Business Machines Corporation | Generating a protected key for selective use |
US11372983B2 (en) * | 2019-03-26 | 2022-06-28 | International Business Machines Corporation | Employing a protected key in performing operations |
US11271732B2 (en) * | 2019-11-12 | 2022-03-08 | Nxp B.V. | Robust repeatable entropy extraction from noisy source |
CN113922963A (zh) * | 2021-09-15 | 2022-01-11 | 温州大学 | 一种利用施密特触发采样的Glitch PUF |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3826868A (en) * | 1972-01-11 | 1974-07-30 | J Nugent | Telemetering system |
US3789377A (en) * | 1972-05-26 | 1974-01-29 | Lockheed Electronics Co | Pseudo-random sequence synchronization for magnetic recording system |
TW381057B (en) | 1997-08-07 | 2000-02-01 | Hitachi Ltd | Semiconductor device |
AU2002212570A1 (en) * | 2000-10-24 | 2002-05-15 | Hmi Co., Ltd. | Random number generator |
US7243117B2 (en) | 2001-02-07 | 2007-07-10 | Fdk Corporation | Random number generator and probability generator |
JP3487299B2 (ja) | 2001-06-06 | 2004-01-13 | いわき電子株式会社 | 乱数発生装置および確率発生装置 |
JP4148807B2 (ja) | 2003-03-17 | 2008-09-10 | 株式会社ルネサステクノロジ | 乱数生成装置および情報処理装置 |
JP3732188B2 (ja) * | 2003-03-31 | 2006-01-05 | Necマイクロシステム株式会社 | 擬似乱数発生回路 |
DE602005023910D1 (de) | 2004-10-15 | 2010-11-11 | Nxp Bv | Integrierte Schaltung mit einem echten Zufallszahlengenerator |
JP4471901B2 (ja) | 2005-07-28 | 2010-06-02 | 株式会社ルネサステクノロジ | 乱数発生装置 |
WO2007087559A2 (en) | 2006-01-24 | 2007-08-02 | Pufco, Inc. | Signal generator based device security |
CN101421971A (zh) | 2006-04-11 | 2009-04-29 | 皇家飞利浦电子股份有限公司 | 利用物理不可复制函数对令牌的询问响应认证 |
EP2011123B1 (en) | 2006-04-13 | 2015-03-04 | Nxp B.V. | Semiconductor device identifier generation method and semiconductor device |
WO2009076097A1 (en) * | 2007-12-06 | 2009-06-18 | Rambus Inc. | Edge-based loss-of-signal detection |
-
2010
- 2010-01-15 WO PCT/JP2010/050422 patent/WO2011086688A1/ja active Application Filing
- 2010-01-15 JP JP2011549823A patent/JP5377667B2/ja active Active
- 2010-01-15 KR KR1020127018346A patent/KR101370231B1/ko active IP Right Grant
- 2010-01-15 CN CN201080061364.0A patent/CN102783028B/zh active Active
- 2010-01-15 US US13/522,439 patent/US9031232B2/en active Active
- 2010-01-15 EP EP10843047.1A patent/EP2525489B1/en active Active
Non-Patent Citations (2)
Title |
---|
JPN6013027566; Patel,H.; Yong Kim; McDonald, J.T.; Starman, L.: 'Increasing stability and distinguishability of the digital fingerprint in FPGAs through input word a' Field Programmable Logic and Applications, 2009. FPL 2009. International Conference on , 20090831, 391-396 * |
JPN6013027568; Crouch, J.W.; Patel, J.J.; Kim, Y.C.; Bennington, R.W.: 'Creating unique identifiers on field programmable gate arrays using natural processing variations' Field Programmable Logic and Applications, 2008. FPL 2008. International Conference on , 20080908, 579-582 * |
Also Published As
Publication number | Publication date |
---|---|
CN102783028A (zh) | 2012-11-14 |
EP2525489A1 (en) | 2012-11-21 |
WO2011086688A1 (ja) | 2011-07-21 |
KR101370231B1 (ko) | 2014-03-06 |
US9031232B2 (en) | 2015-05-12 |
US20120293354A1 (en) | 2012-11-22 |
KR20120112557A (ko) | 2012-10-11 |
JPWO2011086688A1 (ja) | 2013-05-16 |
EP2525489B1 (en) | 2018-06-13 |
CN102783028B (zh) | 2016-02-03 |
EP2525489A4 (en) | 2014-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5377667B2 (ja) | ビット列生成装置及びビット列生成方法 | |
Suzuki et al. | The glitch PUF: A new delay-PUF architecture exploiting glitch shapes | |
KR101518153B1 (ko) | 비트 생성 장치 및 비트 생성 방법 | |
Vijay et al. | Physically unclonable functions using two-level finite state machine | |
KR102709350B1 (ko) | 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법 | |
JP5863994B2 (ja) | 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法 | |
Shimizu et al. | Glitch PUF: extracting information from usually unwanted glitches | |
Hemavathy et al. | Arbiter puf—a review of design, composition, and security aspects | |
Zalivaka et al. | FPGA implementation of modeling attack resistant arbiter PUF with enhanced reliability | |
Fujieda | On the feasibility of TERO-based true random number generator on Xilinx FPGAs | |
Singh et al. | Pa-puf: A novel priority arbiter puf | |
Pratihar et al. | Birds of the same feather flock together: A dual-mode circuit candidate for strong PUF-TRNG functionalities | |
Shariffuddin et al. | Review on arbiter physical unclonable function and its implementation in FPGA for IoT security applications | |
Fischer et al. | True random number generators in FPGAs | |
Wang et al. | An ultra-low overhead LUT-based PUF for FPGA | |
CN109558111B (zh) | 基于d触发器亚稳态特性的真随机数生成装置 | |
Likhithashree et al. | Area-efficient physically unclonable functions for FPGA using ring oscillator | |
Tehranipoor et al. | Intrinsic-Transient PUF | |
Antoniadis et al. | An efficient implementation of a delay-based PUF construction | |
Likhithashree et al. | Design of Power-Efficient Ring Oscillator based Physically Unclonable Functions for FPGA | |
KR100366793B1 (ko) | 쉬프트 레지스터를 이용한 펄스열 생성장치 | |
TWI803351B (zh) | 具有物理不可仿製功能的金鑰產生單元、金鑰產生器與電路系統 | |
Marimuthu et al. | FPGA Implementation of High Speed 64-Bit Data Width True Random Number Generator using Clock Managers With Metastability | |
Tehranipoor et al. | True Random Number Generator (TRNG) | |
Tejaswini et al. | Design and FPGA Implementation of Reliable SHA-3 Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130611 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130801 |
|
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: 20130827 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130924 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5377667 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |