JP6608457B2 - 信頼性を高めた物理的クローン不能関数ビットストリーム生成方法 - Google Patents

信頼性を高めた物理的クローン不能関数ビットストリーム生成方法 Download PDF

Info

Publication number
JP6608457B2
JP6608457B2 JP2017550470A JP2017550470A JP6608457B2 JP 6608457 B2 JP6608457 B2 JP 6608457B2 JP 2017550470 A JP2017550470 A JP 2017550470A JP 2017550470 A JP2017550470 A JP 2017550470A JP 6608457 B2 JP6608457 B2 JP 6608457B2
Authority
JP
Japan
Prior art keywords
bit
difference value
bit string
path
string generation
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
Application number
JP2017550470A
Other languages
English (en)
Other versions
JP2018503328A5 (ja
JP2018503328A (ja
Inventor
プラスクエリック,ジェームス
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.)
UNM Rainforest Innovations
Original Assignee
STC UNM
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 STC UNM filed Critical STC UNM
Publication of JP2018503328A publication Critical patent/JP2018503328A/ja
Publication of JP2018503328A5 publication Critical patent/JP2018503328A5/ja
Application granted granted Critical
Publication of JP6608457B2 publication Critical patent/JP6608457B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Storage Device Security (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本願は、2014年12月15日に出願された米国仮特許出願第62/091,985号、2015年7月31日に出願された米国仮特許出願第62/199,685号、および2015年8月13日に出願された米国仮特許出願第62/204,835号の権利を主張する。これらの特許出願の各々をここで引用したことにより、その内容全体が本願にも含まれるものとする。
政府支援
本発明は、アメリカ国立科学財団(NSF:National Science Foundation)によって授与された助成金CNS−1018748を受けて、政府支援によって行われた。政府は、本発明において一定の権利を保有する。
発明の分野
本発明は、一般には、ハードウェア・コンポーネントにおいて使用される電気回路の保護に関し、更に特定すれば、物理的クローン不能関数(「PUF」)のための電圧ベースの登録(voltage-based enrollment)に関する。
従来技術
チップまたはマイクロチップとしても知られている集積回路(「IC」)は、コンピュータ、電話機、ディジタル・アプリケーションのような電子機器において使用される微小化電子回路である。ICは、通例、シリコンおよびゲルマニウムのような半導体デバイス、ならびにキャパシタ、抵抗器、およびダイオードのような受動コンポーネントで形成される。通常、ICは、半導体材料の薄い基板上に製造される。近年では、トランジスタ当たりのIC製造コストが減少している。しかしながら、価格低下は製造の実現可能性(availability)を高めるが、クローンまたはコピーのような脅威、ならびに横領および不正使用からICを保護しなければならない。脅威は、暗号化されたデータへの不正アクセス、知的所有権(「IP」)の不正使用を含むIC設計の複製、およびICのハードウェア盗用または違法な製造を許してしまうおそれがある。セキュリティ・キーのクローン、横領、および不正使用は、特に、認証プロトコルにおいてセキュリティ・キーを使用するコンピュータ・アプリケーションにおいて問題となる。
クローンおよび不正使用からICを保護するために、多くのコンピュータ・ベースのハードウェア・セキュリティ方式が存在する。これらのセキュリティ方式は、各ICから導き出される一意のクローン不能識別子(unique unclonable identifier)のような、セキュリティ・キーまたは署名へのアクセス可能性に左右される。セキュリティ・キーは、データ通信チャネルの暗号化を実行するメカニズムのような上位レベルのハードウェア・セキュリティにおいて実装されるコンピュータ・ベースのハードウェア・セキュリティ・メカニズムの基礎を定め、またはフィールド・プログラマブル・ゲート・アレイ(「FPGA」)を含むコンピュータ・ベースのロジック・デバイスにおいてIP盗用保護(theft protection)に備える。
従来のセキュリティ・キーは、例えば、IC上のフラッシュ・メモリまたはリード・オンリ・メモリ(「ROM」)に格納されているディジタル・データを使用して定められる。セキュリティの観点からは、セキュリティ・キーへのアクセスは、IC上に形成されたハードアウェア回路に制限されることが望ましい。生憎、これら従来の技術を使用して格納されたセキュリティ・キーは、侵略的な物理攻撃を受け、敵が秘密鍵を学習することを可能にするおそれがある。秘密鍵が敵によって学習されると、クローンICが作成されるおそれがあり、更にセキュリティ・プロトコルが危険にさらされるおそれがある。
ランダム・ビットストリングが、ハードウェア・セキュリティにおける暗号化、識別、認証、および機能有効化の基礎を形成することができる。現在の技術では、暗号化のための鍵にする素材(keying material)が、FPGAおよび特定用途集積回路(「ASIC」)上の不揮発性メモリ内にディジタル・ビットストリングとして格納されることがある。しかしながら、このように格納された秘密は、秘密を盗むために探索攻撃を使用する可能性がある、決意を持った敵に対しては安全ではない場合もある。
ディジタル・ビットストリングを不揮発性メモリに格納することの代案として、物理的クローン不能関数(「PUF」)を使用することができる。PUFとは、製造のばらつきによって導入されるエントロピを利用してビットストリングを生成するICハードウェア・プリミティブのことであり、対応するばらつきを測定しディジタル化するためのオンチップ・インフラストラクチャを内蔵することができる。PUFは、パス遅延(path delay)、漏れ電流、またはSRAM起動パターンにおいて生ずる自然なばらつきを測定およびディジタル化して、ランダム・ビットストリングを生成することができる。
PUFの実装を使用してICを保護するための種々の技法が提案されている。チャレンジ・ベース(challenge-based)IC認証が、その一例である。チャレンジ・ベースのIC認証では、秘密鍵がICに埋め込まれ、ICがチャレンジに対して一意の応答を生成することを可能とし、この一意の回答はこのチャレンジにのみ有効である。このため、鍵は秘密のままであり、認証を実行するメカニズムはなりすましに強い(resistant)。遠隔有効化方式(remote activation scheme)は別の例である。遠隔有効化方式は、IC設計者が各ICを起動時にロックし、次いで離れた場所からそれをイネーブルして、知的所有権保護およびハードウェア・メータリングに備える。状態が設計の有限状態機械(「FSM」)に追加され、秘密鍵の関数である制御信号が追加される。したがって、ハードウェアは、特定の有効化コードを受け取るまで、鍵がかかる(lock up)。PUF実装の他の例には、不一致遅延線(mismatched delay-lines)、スタティック・ランダム・アクセス・メモリ(「SRAM」)の電力投入パターン、金属酸化物半導体(「MOS」)デバイスの不整合、および入力依存漏れパターン(input dependent leakage patterns)が含まれる。しかしながら、これらの技法の各々は、ICに対するセキュリティ・キーの横領、クローン、または不正使用に関する脆弱性を有する。
認証は、試験側(prover)、例えば、ハードウェア・トークンまたはスマート・カードと、検証側(verifier)、セキュア・サーバまたは銀行との間のプロセスであり、一方または双方の補強証拠を使用して識別情報(identity)を確認する。電子機器、ソフトウェア、センサが埋め込まれた物理オブジェクト(physical object)のネットワーク、およびもののインターネット(「IoT」)と呼ばれる、データの収集および交換を可能にするネットワーク接続により、ハードウェア・トークンがリソースに制約されるアプリケーションの数が増えつつあり、したがって、コスト、エネルギ、および面積のオーバーヘッドが低い新規の認証技法が求められている。
広い面積を占める(area-heavy)暗号プリミティブおよび不揮発性メモリ(「NVM」)を使用する従来の認証方法は、発展しつつある埋め込みアプリケーション型には魅力的でない。しかしながら、PUFは、ハードウェア・セキュリティおよび信頼プリミティブであり、低コストに関する問題に取り組むことができる。何故なら、これらはNVMの必要性を排除するからである(提案された殆どの認証プロトコルにおいて)。
PUFは、「強いPUF」または「弱いPUF」に分類することができる。「強いPUF」は、暗号プリミティブおよび処理の数および種類を減らすことによって、面積およびエネルギのオーバーヘッドを削減することができるが、面積のオーバーヘッドは、「弱いPUF」におけるエントロピ・ソースの物理サイズを制限する。
提案された殆どの「弱いPUF」アーキテクチャは、エントロピ・ソースとして役割を果たすために同じ設計の検査構造の専用アレイの挿入を必要とし、面積のオーバーヘッドはエントロピ・ソースの物理サイズを制限する。「弱いPUF」を認証に使用することができるが、これらは、その限られた量のエントロピを、秘密を機械学習するように設計された敵対するインターフェース攻撃に対して保護するために、難読化機能、例えば、暗号ハッシュ、暗号化およびXOR関数の挿入を必要とする。
一方、殆どの「強いPUF」は、既存のオンチップ・リソースにおいて利用可能なエントロピを利用することによって、特殊検査構造内におけるエントロピ量の制限を迂回する。「強いPUF」は、認証処理のために非常に多数のチャレンジ−応答−対(「CRP」)を生成することができる。
以上で述べたように、PUFは、各ICに一意である、ICの物理および電気的プロパティにおけるばらつきからエントロピ(ランダム性)を、ディジタル秘密(ビットストリング)を生成する手段として、抽出する。ビットストリングは、認証アプリケーションのためにハードウェア・トークンを一意に識別する役割を果たすことができる。ビットストリングは、実行中に生成され、これによってこれらのディジタル・コピーをNVMに格納する必要性を排除し、(理想的には)ある範囲の環境変動の下で再生可能である。秘密ビットストリングの正確な生成時間を制御する能力、および侵略的探索攻撃に対するPUFエントロピ・ソースの感度(それを無効にするように作用する)は、リソース制約ハードウェア・トークンにおける認証に対してこれらを魅力的にする追加の属性である。しかしながら、ICの信頼性およびセキュリティを高める要望がある。特に、クローン、偽装、横領、および不正使用を含む脅威に対するセキュリティ・キーの脆弱性を軽減する要望がある。本発明はこの要望を満足する。
ICの信頼性およびセキュリティを高める要望、特に、クローン、偽装、横領、および不正使用を含む脅威に対するセキュリティ・キーの脆弱性を軽減するという要望に応じて、ハードウェア埋め込み遅延物理的クローン不能関数(「HELP PUF」: Hardware-Embedded Delay Physical Unclonable Function)は、2014年8月28日に出願された国際出願PCT/US2014/053276に更に詳しく記載されているように、チップのコア・ロジック・マクロにおいて発生するパス遅延ばらつきを利用して、ランダム・ビットストリングを作成する。この国際出願をここで引用したことにより、その内容全体が本願にも含まれるものとする。
HELP PUFは、既存の機能ユニット内における遅延ばらつきからのそのビットストリングの生成に基づく「強いPUF」であり、機能ユニットの相互接続が複雑であるために、エントロピ・ソースのサイズが著しく増大する。PUFによって生成されたビットストリングは、多数の用途に使用することができ、例えば、通信の暗号化、偽造防止技法の実現、現場における悪意のシステム変更の検出、サプライ・チェーン認証(supply chain authentication)の実行、IC上における販売業者特定機能(feature)の有効化が含まれる。
認証処理のためにハードウェア・トークンを用意するプロセスは、初期化または登録(enrollment)として知られている。初期化の間、セキュア・サーバはPUFに与えられるチャレンジから小さな部分集合を、対応する1組の応答を生成するためにランダムに選択する。次に、この1組のCRPはサーバによってセキュア・データベースに記録され、後にフィールド・トークン(fielded token)を認証するために使用される。トークン毎に格納されるCRPの数を小さくすることができる。何故なら、大きなCPR空間が、選択された部分集合の秘匿性と共に、敵がトークンを偽装するためにクローンを作る(build)ことを非常に困難にするからである。
本発明は、HELP PUFのための信頼性およびセキュリティ向上技法を対象とする。本発明によれば、環境変動を受ける(across)ビットストリングの再生の間、ビット反転エラーが減少する。加えて、暗号強度が向上し、対応してモデル構築攻撃の実行が困難となる。
本発明の一実施形態によれば、信頼性およびセキュリティ向上技法は、電圧ベースの登録プロセスを対象とする。電圧ベースの登録プロセスは、正常に合成された(欠陥のある(glitchy))機能ユニット上で不安定なパスをふるい分け(screen)、オンチップ電圧レギュレータを使用して制御される複数の供給電圧において登録を実行することによって、ビット反転エラーを減少させる。
本発明の他の実施形態によれば、マージン技法(margin technique)が信頼性を著しく向上させる。波動差分動的ロジック(「WDDL」:wave-differential dynamic logic)と呼ばれるロジック・スタイルを実装することによって、機能ユニットにおけるグリッチを排除し、信頼性およびセキュリティの、正常に合成された機能ユニットとの比較を容易にする。グリッチを排除するためのWDDLを使用して本発明について論ずるが、グリッチの排除する技法であればいずれでも可能であると考えられる(contemplate)。
本発明の他の実施形態は、WDDLベースの標準セル・ライブラリの拡張バージョンを対象とする。WDDLロジック・スタイルの使用により、グリッチのない機能ユニットの面積オーバーヘッドが減少する。機能多様性(functional diversity)と呼ばれる技法を使用することによって、HELP PUFのセキュリティを向上させ、異なる実施態様の機能ユニットを構築するために、ライブラリの異なる部分集合が使用される。
本発明の他の実施形態によれば、特殊なCADベースの回路分析ツールを使用して、エントロピを定量化する。これらのツールは、機能ユニットにおけるパスによって表されるエントロピの総量を定量化する手段として、グリッチのないバージョンの機能ユニットに適用される。
1つ以上の例の詳細について、添付図面および以下の説明において明記する。その他の特徴、目的、および利点は、説明および図面から、そして特許請求の範囲から明らかとなろう。
本発明の好ましい実施形態について、限定するためではなく本発明を例示するために用意された添付図面と関連付けて説明する。図面では、同様の参照番号は同様のエレメントを示す。
図1は、本発明の実施形態にしたがってパス遅延を測定するためのクロック・ストローブ技法(clock strobing technique)のブロック図である。 図2は、本発明の実施形態による安定したパス(x軸)に関連付けられた遅延(y軸)のグラフである。 図3Aは、本発明の実施形態による登録におけるLCIパス・タイミング値(「PN」)の分布グラフである。 図3Bは、本発明の実施形態による、図3Aに示したようなPNから選択した対の遅延差の分布グラフである。 図4は、本発明の実施形態による電圧ベースの登録(「VBE」)技法を示すPN差のセグメントを示すグラフである。 図5は、本発明の実施形態による、ジャンプ・マージンと平均ビットストリング・サイズとの間のトレードオフを示すグラフである。 図6は、本発明の実施形態による個々のチップ間ハミング距離(「HD」)のヒストグラムである。 図7は、本発明の実施形態によるPN、PNDiff、ModPNDiffを示すグラフである。 図8は、本発明の実施形態による、全体的なばらつきがある、および全体的なばらつきない温度−電圧(「TV」)補償PNDiffを示すグラフである。 図9は、本発明の実施形態によるマージン技法を示すグラフである。 図10Aは、本発明の実施形態によるマージン技法を使用しない場合の標準設計に対するハミング距離(「HD」)の結果を示すグラフである。 図10Bは、本発明の実施形態によるマージン技法を使用した場合の標準設計に対するハミング距離(「HD」)の結果を示すグラフである。 図11Aは、本発明の実施形態によるマージン技法を使用しない場合のWDDL設計に対するハミング距離(「HD」)の結果を示すグラフである。 図11Bは、本発明の実施形態によるマージン技法を使用した場合のWDDL設計に対するハミング距離(「HD」)の結果を示すグラフである。 図12は、本発明の実施形態によるカルノー図である。 図13は、本発明の実施形態による機能ユニットを示す。 図14は、本発明の実施形態による変換プロセスのフロー・チャートを示す。 図15は、本発明の実施形態によるエントロピ分析のフロー・チャートを示す。 図16は、本発明の実施形態による認証プロトコルのブロック図である。
本明細書において説明したように、HELP PUFはハードウェア・ベースの認証に適した「強いPUF」である。セキュリティ・プロパティは、特に、クレジット・カード、埋め込みセンサ、および医療用インプラントのような、リソースに制約がある現場ハードウェア・トークン(resource-constrained in-field hardware token)の側において、プロトコルの複雑さを低減する。トークンに要求される暗号関数の数を最少限に抑え、面積およびエネルギ双方のオーバーヘッドを低減する単純なPUFベースの認証方式を提案する。
HELP PUFのエントロピ(ランダム性)のソースは、機能ユニットを定めるパスの遅延に起こる製造ばらつきである。パス遅延は、図1に示すようなクロック・ストローブ技法を使用して測定される。機能ユニットとは、加算器、乗算器、または暗号プリミティブとすることができる。「ローンチ行FF」(Launch Row FF)および「キャプチャ行FF」(Capture Row FF)も、機能ユニットのコンポーネントである。HELP PUFを機能ユニットに統合するときに必要とされる唯一の修正は、Clkで示す第2クロックの使用を必要とすることであり、第2クロックはキャプチャ行FFを駆動する。
図1における検査対象パスに対してPUTで示す1組のパスの遅延は、図1に示すClkおよびClkを使用して、クロック・ストローブと呼ぶ、一連のローンチ−キャプチャ・クロッキング・イベント(launch-capture clocking event)を適用することによって測定される。ClkおよびClk間の位相シフトは、ローンチ−キャプチャ検査のシーケンスにわたって徐々に大きくなる。これら2つのクロック間の位相シフトのディジタル選択値を、ローンチ−キャプチャ・インタバル(「LCI」)と呼ぶ。
ローンチFFから開始するパスに沿った伝搬エッジ(propagating edge)をキャプチャFFにおいてキャプチャすることを可能にする最も小さいLCIが、そのパスに対するディジタル化タイミング値として使用される。ローンチFFから主入力(「PI」)に適用される1組の二進入力ベクトルに対してクロック・ストローブ動作を繰り返すことによって、多数のパスに対するディジタル・タイミング値を得ることができる。
位相シフト・クロックを作成する能力は、オンチップ・ディジタル・クロック・マネージャ(「DCM」)の極普通の機能である。DCMを含まない低価格コンポーネントでは、マルチタップ遅延チェーンを使用して、小さい面積オーバーヘッドで、この位相シフト能力を実現することができる。本願に限ったことであるが、LCIパス・タイミング値を「PUFNum」または「PN」と呼ぶ。2つのランダムに選択したPNの符号付きの差を「PNDiff」と呼ぶ。
本発明の一実施形態によれば、25°C、1.00Vにおける登録中に、10,000本の安定したパスを測定する。登録中に検査されたパスは、ファイルに格納され、9箇所の温度−電圧(「TV」)コーナーにおける再生(regeneration)の間に再現(replay)される。TVコーナーとは、VDD供給電圧(−5%、正常、+5%)および温度(0°C、25°C、85°C)の全ての組み合わせである。FPA掃引範囲は、200から1020まででサイズ2の刻みであるので、各パスは、最大(1020−200)/2=410回、クロック・ストローブを使用して再検査される。
図2は、TVコーナーの各々におけるチップCに対する最初の100本の安定したパスの遅延のグラフを示す。「A」で示す波形は、供給電圧VDD=0.95V(または−5%)における遅延を表す。「B」で示す波形は、供給電圧VDD=1.00V(正常)における遅延を表し、「C」で示す波形は、供給電圧VDD=1.05V(または+5%)における遅延を表す。各「A」、「B」、「C」の3本の重複する波形は、3通りの温度の各々における遅延を表す。VDDの変動は温度の変動よりも遙かに重要であることは明らかである。TV変動の正味の効果は、図2の底辺に沿った波形によって示されており、この波形は、登録中に測定された遅延と、9箇所のTVコーナーの各々において測定された遅延との間の点毎の差として計算されたものである。TV変動がない場合、25°C、1.00Vにおける登録波形を同じTVコーナーにおける再生波形から減算する場合について示すように、差波形は0になるはずである。差波形におけるパスの殆どについて描かれた0からの遅延における平均一定オフセットが、ロバストな検査可能なパスと関連付けられる。ロバストな検査可能なパスとは、定義によれば、いずれのTVコーナーにおいても安定であり続けるパスである。これは、感作されたパス(sensitized path)に沿ったゲートの全ての側入力(all side inputs)が安定であり続ける、即ち、これらは不調を生じないからである。
対照的に、遅延が動的に変化するパスは、ロバストでない検査可能なパスと関連付けられ、感作されたパスに沿ったゲートの側入力が瞬間的に変化する。ある側入力上の変化が、感作パス入力上の変化の前に僅かに変化した場合、感作パスに沿って伝搬するエッジが、側入力グリッチによって瞬間的に遅延を受ける可能性がある。一方、このために、このパスの遅延に追加の変化またはジャンプが混入する(TVコーナー条件によって混入される変化を超えて)。これらの事例は、1つまたは少数のTVコーナーにおいてのみ生ずる遅延の大きな変化によって最も顕著になる(様々な事例が図2において円で囲って示されている)。
ビットストリングの生成において、パス遅延を同じチップ上における他のパス遅延と常に比較すると仮定すると、双方の遅延におけるいずれnのタイプの統計的な変化も、同じビット値を生成することを可能にする。しかしながら、ジャンプのために1本のパスに大きな遅延変化が生じた場合、ビット反転が起こる可能性がある(大抵の場合、起こる)。どのパスがジャンプを生じそうか見極めることによって、ビットストリングの信頼性高い再生に関する不確実性を低下させるまたは排除することができる。
本発明によれば、登録中にこれらのパスをより多く発見するために、ビットストリングがエラーなく再生される確率を高める手段として、電圧ベースの登録方式を設計する。
一実施形態によれば、電圧ベースの登録を使用する認証を受ける不偏的無モジュラス差(「UNMD」:Universal No-Modulus Difference)方法の下でビットを生成する。このビットはUNMDの下で生成されるが、任意のビット生成方法、例えば、デュアルPNカウント(DPNC)も可能であると考えられる。
1対のパス遅延間における符号付きの差を、ディジタルPN表現を使用して計算することによって、UNMD方法の下でビットを生成する。前述のように、LCIパス・タイミング値を「PUFNum」または「PN」と呼び、2つのランダムに選択されたPNの符号付きの差を「PNDiff」と呼ぶ。差が負のときは「0」ビットが生成され、一方差が正のときは「1」ビットが生成される。ビットストリングの再生でエラーをなくす可能性を高めるために、温度−電圧(「TV」)条件の変化によって混入されるノイズやドリフトを克服するように、差が十分に大きいPN対を選択するために閾値を使用する。
一例として、正常状態の下におけるチップCについての遅延分布を、PNDiffおよびPNDiffで示す2つの対の例と共に、図3Aに示す。PNDiffの大きさのために、図3Bに示すPN差分布の中央に「無効領域」が生じ、したがって、この対におけるPNには登録中に無効と印される。
対照的に、PNDiffの大きさの方が大きく、図3Bの「0」領域内に現れる。公開データ・ビットストリング(public data bitstring)は、ビットストリング生成に関与するPN(「1」と印される)、および関与しないPN(「0」と印される)を記録する。この判断基準は、不安定なパスについて以前に与えられたものを増大させる。したがって、検査された各パスは、1)パスが1つの遷移を生じる(安定である)場合、および2)対のPN差が閾値よりも大きい場合、「1」で印された対応する公開データ・ビットを有する。
エラーのない再生を確保するためには、一定の方法を使用して全てのTV条件下において全てのチップにおいて全てのビット反転エラーを排除するために比較的大きな閾値が必要であるが、一方、ビットストリングに利用可能なビット数が減少する。
例えば、図3Bは、閾値が平均してほぼ+/−40であることを示す。これは、40×36ps=1.4nsに換算される。これによって、HELP PUFがダイ内部のばらつきを利用することが可能になるが、排除されるパス対の数はかなり大きくなる。これらの対の多くはTVコーナー全体にわたって安定であり続け、即ち、ビット反転エラーを混入せず、したがって、閾値を設定することに伴って、比較的大きな「歩留まり損失」(yield loss)がビットに生じる。
電圧ベースの登録(「VBE」)は、閾値を小さくすることを許容することによって、この歩留まり損失の問題に取り組むように設計されている。有利なこととして、VBEは、同じ1組のPNを使用して、ビットストリングのサイズを平均で67%増大させる。VBEによれば、登録は複数の供給電圧において実行される。本発明の一実施形態によれば、3つの供給電圧が使用されるが、いずれの数でも可能であると考えられる。
温度とは異なり、供給電圧は、素早く、例えば、DVが小さい場合にはミリ秒範囲で変化する可能性がある。しかしながら、小さい変化はMUT遅延に大きな変化をもたらす。一般に、VBEは、パス遅延の供給電圧に対する高い感度を、他のTVコーナーにおいてどのパス遅延がジャンプするかより良く予測する手段として利用する。
図4に示すように、パス対の部分集合がx軸に沿って、y軸上の対応するPN差と比較して、プロットされている。PN差は、PNの対を減算することによって計算される。図4は、1本の登録曲線および2本のVBE曲線を示す。6本の再生曲線の内2本だけを示す(他の4本の曲線は登録曲線と一貫性があり、グラフにおける乱雑を減らすために省略した)。対の番号544、546、および547は、ビット反転が起こった場合を示す。ビット反転は、1組の曲線を横切る点が0ラインの両側に現れるときにはいつでも起こる。PN差に関連付けられた異なる符号は、生成されたビットを「0」から「1」に、またはその逆に変化させる。これらの対は再生中にビット反転を混入させるおそれがあるので、VBEは、これらの問題がある対を特定しこれらをビット生成プロセスから除外する手段として、2つの追加の電圧コーナーを使用する。
VBEの第1異形(variant)によれば、ビットストリングは、3つの電圧、0.95V、1.00V、1.05Vの各々において3回計算され、各ビット位置において3つのビットの不一致を捜す。尚、VBEビットストリングは、再生プロセスを使用して生成され、再生プロセスは検査すべきパスを決定するために登録からの公開データを使用することは注意してしかるべきである。所与のビット位置におけるビットが他の2つと異なる場合、登録ビットストリングおよび公開データは、このビットおよびパスを排除するために更新される。図4において544および546で示されるビットおよび対が除去される。何故なら、25°C、0.95VのVBEビットストリングにおいて生成されたビットは登録ビットとは異なるからである。生憎、この方法を使用しても、対547におけるビット反転は検出されない。しかしながら、この場合、25°C、1.05VのVBE曲線からのデータ点に関連付けられたもっと小さいPN差を、予測器として使用することができる。
VBEの第2異形によれば、以上で論じた第1異形では見逃されたビット反転に対処するために、ジャンプ・マージン・パラメータを使用する。具体的には、第2異形は、ビット反転はないが、VBEデータ点の内1つまたは双方がジャンプ・マージン未満である場合、対を除去する。例えば、ジャンプ・マージンを30に設定すると、対547によって混入されたビット反転エラーが検出および除去される。
図5における曲線は、種々のジャンプ・マージン値を使用したVBEの有効性を示し、ジャンプ・マージンはx軸に沿ってプロットされている。左側のy軸は、全てのチップおよびTVコーナーにわたって発生したビット反転の総数を示す(count)。VBEがディスエーブルされると、ビット反転の数は170になる。VBEをイネーブルするが、0のジャンプ・マージンを使用すると、この数が64に減少する。したがって、VBEの異形1では、ほぼ62%ビット反転の数が減少する。異形2の影響(impact)を、この曲線の残りの成分によって示す。例えば、15のジャンプ・マージンを使用すると、ビット反転の数は38に減少する。また、x軸に沿ったジャンプ・マージンの各々について、平均ビットストリング・サイズも右y軸に沿ってプロットされている。ビットストリングの平均サイズは780として与えられる。ジャンプ・マージンが20に増大するまでに、非常に小さい変化がサイズに生じ、ジャンプ・マージンが40以上になると、大きな減少が始まる。これは、明らかに、ビット反転の数を減少させつつ、更に歩留まり損失によるビットの不利な条件(yield loss bit penalty)を低減するときにもVBEの効果(benefit)があることを示す。
ジャンプ・マージンが20未満ではビット反転の数はゼロでないので、VBEをある種の生成方法と組み合わせて、エラーのない再生を達成しなければならない。しかしながら、ビット反転の数が少ない程、閾値を小さくすることが可能になる。例えば、15のジャンプ・マージンを用いつつ、全てのTVコーナーにおいて全てのチップに対してエラーのない再生を保持すると、閾値がPN=23(ほぼ820ps)に減少する。
10,000本のパスを生成するには、約30,000本のパスを検査する必要があった。検査したパス毎に1ビットの公開データ・ストレージを必要とするので、公開データ・サイズは約3.75KBとなる。本願で提案する技法は、再検査されるパスを排除するので、有効なパスの本数を10,000から5,000に減らす。ビットストリング生成アルゴリズムは、チップ毎に5,000のシーケンスにおいて連続するPNからパスの対を作成する。したがって、5,000個のPNを使用して最大2,500ビットを生成する。前述のように閾値を820psに設定すると、有効なPN対(またはビット)の数は約1,300に減少する。TMRは、ビットストリングのコピーを3つ組み立てるが、これを達成するためには平均で5つのコピーが必要となる。したがって、最終的な平均ビットストリング・サイズは1,300/5≒259ビットとなる。
最も小さいビットストリング・サイズである227ビットを使用すると、チップ内ハミング距離(HD)はゼロとなる。即ち、9箇所のTVコーナーのいずれにおいても30チップのいずれにもビット反転はない。チップ内HDは49.7%であり、理想値である50%に近い。図6は、個々のHDのヒストグラムを示す。チップが30個あると、HDは、30×29/2=435対のチップ・ビット・ストリングと計算される。
本発明によれば、信頼性向上およびエントロピ増大はグリッチのない機能ユニットによって得られる(provide)。本発明の実施形態によれば、代入ボックス(「SBOX」)コンポーネントが機能ユニットとして使用される。暗号法では、SBOXは、代入を実行する対称鍵アルゴリズムの基本コンポーネントである。一般に、SBOXはある数mの入力ビットを取り込み、これらをある数nの出力ビットに変換する。ここで、nは必ずしもmに等しくはない。
SBOXコンポーネントは、「標準設計」または「WDDL設計」と呼ばれる2つの方法で実装される。「標準設計」は、いずれのタイプの特殊なロジック・スタイルも、制約もなく、即ち、通常に合成される。「WDDL設計」は、波動差動的ロジック(wave-differential dynamic logic)を使用し、グリッチがない。本発明については、グリッチを排除するためのWDDLを使用して論ずるが、グリッチを排除する技法はいずれも可能であると考えられる。2つのロジック・スタイルのランダム性、一意性、および信頼性に対するトレードオフを決定するために、チップ間ハミング距離(「HD」)を評価する。
温度および電圧の変動は、遅延に望ましくない変化を生じさせるが、その殆どはTV補償プロセスを適用することによって除去することができる。TV補償は、チップ毎に、そしてTVコーナー毎に別々に、1組のPNDiffから平均(オフセット)および範囲(乗数)を計算することによって実行される。登録中に計算されるオフセットおよび乗数が、各TVコーナーにおいて計算されるオフセットおよび乗数と共に使用され、式1を使用してTVコーナーにおいて生成されるPNDiffを補償する。
ここで、zvalは、平均を減算し、特定のチップに対してTVコーナー、TVにおいて生成された1組のPNDiffを使用して計算された範囲で除算した後の、標準化されたPNDiffを表す。次いで、登録中に同じチップについて先に計算された平均および範囲を使用して、即ち、TVEnrollにおいて個々のzvalを変換する。登録中に生成されたPNDiffは「基準」として使用される。この線形変換は、異なるTVコーナーにおいてパス遅延に発生するずれ(shifting)および増減(scaling)を排除するのに非常に有効である。
モジュラス方式に基づく第2のビット生成方式は、グリッチのない機能ユニットにおいてエントロピを利用するときには更に効果的である。モジュラス方式は、モデル構築に対抗してアルゴリズムをハードニングする(hardening)手段、およびPUF応答において多様性を増加させる手段の双方として、2つパス遅延における符号付きの差(PNDiff)を使用する。ModPNDiffは、2つの任意に選択されたPN間における符号付きの差を計算し、次いでモジュラスを適用することによって定められる。モジュラスが必要なのは、FUにおけるパスの長さが変動するからである。例えば、短いパスは1つのLUTで構成されるが、最も長いパスは13個のLUTで構成され、PNDiffにおいてキャプチャされる。モジュラスは、「パス長」バイアスを除去しつつ、ダイ内部のもっと小さい遅延のばらつきを完全に保存する。
例として、図7の一番上に、「立ち上がりエッジPN」および「立ち下がりエッジPN」で示す2組の波形を示す。これらの波形における点は、SBOX機能ユニットにおいてチップCにおける1組のパスから測定された遅延値(PN)を表す。同様の形状を有する波形の各グループは、TV補償方法を適用した後において10箇所のTVコーナーの各々において測定されたPNを表す(以上で説明したPNDiffに適用されたTV補償と同一のプロセス)。10個の点に広がる垂直線は未補償のTVノイズを表す。図7の真ん中に示す波形は、図7の一番上に示した、立ち上がりおよび立ち下がりエッジPNのランダム化された対から計算されたPNDiffを表す。チップCのデータのみを示すが、パス長バイアスのために、差波形の形状は他のチップでも同様である。図7の一番下に示すModPNDiffは、64のモジュラスを、図7の真ん中に示した立ち上がりおよび立ち下がりエッジPNのランダム化された対から計算されたPNDiffに適用した結果である。モジュラスは、全ての差を0から63の範囲内に効果的に「包み込み」、バイアスを減少および/または排除する。ビット生成アルゴリズムは、0から31までの範囲内にあるModPNDiffを「0」として指定し、32から63の範囲内にあるModPNDiffを「1」として指定する。
図7の真ん中において見られるように、点10および14における円はビット反転を示す。ビット反転が起こるのは、各グループにおける10個の点の全てではないがいくつかが、0または63によって与えられる境界の内1つを交差するときである。図7の一番下において、点4の円によって追加のビット反転が示されており、これらの点は「0」および「1」の間の境界を交差する。近い10個の点をグループ化することにより、これらのビット反転の殆ど/全てを回避する予測スクリーニング・プロセスを適用することが可能になる。これについては以下で更に詳しく論ずる。更に、前述のようにバイアスを除去するためにモジュラス・パラメータを使用することができるが、以下で更に詳しく論ずるように、これはHELP PUFの入力−出力空間を広げるのにも有用である。
「WDDL設計」によれば、波形差動ダイナミック・ロジック(「WDDL」:wave-differential dynamic logic)を、全体的なばらつきおよびダイ内部遅延ばらつきによって混入されるエントロピを測定する手段として、そしてHELP PUFの信頼性を高める手段として使用して、グリッチのないSBOXコンポーネントを実現する。WDDLは、刺激制約(stimulus constraints)を強制し、正ゲート(positive gate)のみを使用するように実施に制約を設けることによって、機能およびロジックのハザードを排除する。WDDLは、AESのような設計ユニットをサイド・チャネル攻撃に対抗してハードニングするメカニズムとして提案され、したがってパワー曲線(power curve)における情報も排除しようとする。WDDLの利点は、実施が簡単であり、グリッチのないロジックの実施を評価するのに相応しいテスト・ベッドを提供することである。
機能ユニットのWDDLバージョンを作成するプロセス・フローの詳細を以下に示す。簡略化のために、ネットリストのWDDLバージョンは、元のネットワークと、1組の二重ゲートで組み立てられた相補ネットワークを含むことが知られればよいとする。SBOXの8つの主入力が複製され、相補ネットワークを駆動するために補完される。WDDLの動作は2つのフェーズ、即ち、プリチャージ・フェーズおよび評価フェーズで構成される。プリチャージ・フェーズは、全ての主入力(相補入力を含む)を「0」で駆動することを含む。これは、回路全体における全てのゲートの入力および出力上に0を強制する。評価フェーズは、真値および相補値を8つの真および相補主入力にそれぞれ印加し、1組の立ち上がり遷移を回路全体に伝搬させる。SBOX実装のために、平均して真出力の半分および相補出力の半分が評価中に遷移する。したがって、256通りの可能な入力遷移の各々について、即ち、0000000からxxxxxxxxまで、合計で2048個のPNを生成するために8つのPNが得られる。プリチャージ・フェーズの間に、他の2048個、即ち、xxxxxxxxから00000000までが得られるので、合計で4096個のPNが生成され、これらから2048個で1組のPNDiffを一意に組み立てることができる。
温度0°C、25°C、および85°C、ならびに供給電圧0.95V、1.00V、および1.05Vにおいて、30個のチップ上で実験を行った。TVコーナーにおいてこれら30個のチップから測定された2048個のPNDiffの25点サンプルを図8に示す。PNDiffの計算は、PNの一意のランダムな対、即ち、立ち上がりパスから1つおよび立ち下がりパスから1つを選択することによって行われる(図7の一番上のグラフを参照のこと)。波形のグループは、前述のように、チップ毎に登録値を「基準」として使用してTV補償されている(式1参照)。波形グループ間の垂直方向のオフセットは、全体的な(チップ規模)ばらつきによって、即ち、チップの全体的な性能特性のばらつきによって発生する。ダイ内部のばらつきと同様、全体的なばらつきをエントロピのソースとして利用することができるが、それに依存することには欠点がある。
この問題を例示するために、図8の底辺に沿って示す波形は、この場合も30個のチップからであるが、チップCからの登録データが全てのチップに対する基準として使用される特殊なプロセスを使用してTV補償された場合である。これは、全体的なばらつきを効果的に排除し、測定ノイズ、未補償TVノイズ、およびダイ内部のばらつき(WDV)のみを残す(図8を参照のこと。)。大きな母数のチップでは、複数組のチップが同じレベルの全体的なばらつきを有する可能性が非常に高く、したがってこのグラフはこの場合を示し、ダイ内部のばらつきのみをエントロピのソースとして利用することができる。
ノイズ・ソースの大きさは、図8の上側に沿って示す波形の帯域の幅に反映される。測定ノイズ(16個のサンプルで平均した場合)は、平均してほぼ1PN(ほぼ18ps)であるので、ばらつきの大半が未補償TVノイズによって混入されたことになる。波形内に残る、10個のTV補償PNDiffの2σ値の平均として計算されたばらつきの平均値は、平均して、登録値の上または下に約+/−2.5LCIまたは45psであり、最悪の場合の値は+/−8LCIまたは145ps未満である。この数は、失われたエントロピの量を表すので重要である。即ち、このLCI値未満のダイ内部のばらつきは、利用することが更に困難になる。ダイ内部のばらつきは、チップ毎の波形グループの形状における変化に反映される。ダイ内部のばらつきによって混入されたばらつきの大きさは、平均して、TVノイズによって混入される平均ばらつき(5LCI)よりも約4倍大きく(20LCI)、即ち、それぞれ360psに対して90psとなる。
本発明によれば、マージン技法を使用することによって信頼性を向上させる。マージン技法は、登録中に、ビット反転を混入させる確率が最も高いPNDiffを特定する。図7の一番下に沿って示すPNモジュラスのグラフが、例示として役割を果たすために、図9にコピーされている。図9は、ビット反転が発生する3つの場合を示す。これらのデータ点の全ては、「0」および「1」の間の境界を表す線、即ち、0、31、および63に近接する。マージン技法は、登録PNDiffがこれらの境界周囲の小領域(マージン)内に入る場合、それを「無効」と分類する。このマージンは、理想的には、最良の結果に対する最悪の場合のTVノイズ・レベルに設定される(図9では8のマージンが使用されている)が、要求される許容度のレベルにしたがって調整することができる。登録の間に、各ModPNDiffデータ点の有効ステータスを記録するヘルパー・データ・ビットストリング(helper data bitstring)が組み立てられる。再生の間、応答における「弱い」ビットを選別し破棄するために、ヘルパー・データが使用される。
また、PNモジュラスおよびマージンの特定の組み合わせが、応答ビットストリングにおいて、破棄されたビットを使用可能にする。図9に示す例は、1つの有効な組み合わせを示し、PNモジュラスが64であり、マージンは8に設定されている。この例では、ヘルパー・データの補数(complement)を使用して第2応答ビットストリングを生成することが可能である。第2応答ビットストリングは、同じ1組のPNDiffを使用するが、モジュラス処理を適用する前に、最初にPNModの1/4に等しいオフセット(この例では16)を加算する。これは、効果的に分布をシフトさせ、以前の「弱い」ビットの全てを「強い」ビットに(そしてその逆に)変換する。この技法は、全てのデータ点を応答ビットストリングにおいて使用することを可能にし、ヘルパー・データのサイズ対応答ビットストリング・サイズを1対1にすることによって、ヘルパー・データのオーバーヘッドの不利(penalty)を低減する。この技法は、マージンによって明確に定められた(delineated)領域の総和が「0」および「1」に対して定められた「有効な」領域の総和に等しい場合に使用することができる。
2つのロジック・スタイルのランダム性、一意性、および信頼性に対するトレードオフを決定するために、チップ間ハンマリング距離(「HD」)を評価する。図10は、標準設計SBOXから収集したデータを使用した統計結果を示す。分析は、x軸に沿ってプロットされた1組のPNモジュラス(PNMod)値に対して行う。登録中に2つのチップによって生成された2048ビットのビットストリングにおいて異なるビットの数を数え、次いでビット数で除算することによって、チップ間HDを計算する。プロットされた値は、ビットストリングの全ての可能な対(30×29/2=435対)にわたる平均チップ間HDである。同様にしてチップ内HDを計算するが、チップ毎にTVコーナーにおいて生成されたビットストリングを使用して対を定めることを除く(10×9/2=45対)。この場合も、プロットされた値は、30個の個々のチップ値にわたって計算された平均である。最悪の場合のチップ内HDは、単に、個々のチップの内の1つによって生成された最大値である。図10Aにおける最悪の場合および平均の場合のチップ内HDの曲線は、ノイズ・レベルを反映し、一方チップ間およびチップ内HD曲線間の差は、使用可能なエントロピの範囲を反映する。結果は、全体的なばらつきと共に、および全体的なばらつきなしで示されている。
チップ内HD(理想的には0%である)の比較的大きな値は、グリッチ(glitching)の存在に直接起因する。尚、グリッチはチップ内およびチップ間HD双方を増大させる可能性があることに注意すべきである。全てのTVコーナーにわたって一貫してグリッチによって遅延が影響を受けるパスでは、パス遅延は通例10から100LCIだけ変化し、したがってダイ内部のばらつきの大きなソースを表すので、この効果は有益である。グリッチが一部のTVコーナーにおいて存在し他では消失するパスでは、この効果は有害であり、ビット反転に至る。最悪の場合のチップ内HDおよびチップ間HD曲線は、双方のタイプが発生することを示す。チップ間HDは増加するが、この効果は最悪の場合のビット反転の増加によって、部分的に相殺される。一方、平均の場合のチップ内HDは僅かに増加するだけである。
図10Bは、マージン技法を適用した後の結果を示す。マージン技法は、図10Bに示すように、チップ内およびチップ間HDの結果双方を著しく改善する。応答における「弱い」ビットを識別するために、8のマージンを閾値として使用したが、いずれのマージン数も可能であると考えられる。チップ間HDが改善するのは、異なるチップにおける「強い」ビットの生成に対応するPNDiffがここでは変動する可能性があるからである。これが正しいのは、ダイ内部のばらつきは、一部のチップについてのPNDiffがマージン内に入る原因となるが、他のチップについては、同じPNDiffがマージンの外側に出るからである。他の重要な特性は、全体的なばらつきが存在するか否かに対する結果の感度が低いことであり、これは非常に望ましい特徴である。また、図10Bには、前述した特別な「相補ヘルパー・データ」方式が使用されないとき、この場合におけるオーバーヘッドを示すために、30個のチップの内の1つによって生成された最も小さいビットストリングのサイズも、ヘルパー・データに伴うオーバーヘッドを示すために、プロットされている。64以上であるPNModを選択することによって、ヘルパー・データ・ビットストリングは、最悪の場合における応答ビットストリングのサイズの2倍以下となる。
WDDLバージョンを使用した結果を図11に示す。WDDLバージョンに存在する長い方のパスは、図11Aの左側に示すように、チップ間HDのほぼ理想的な改良に寄与する(responsible)。つまり、長い方のパスはチップ間HDを改良するが、全体的なばらつきが保存される場合、即ち、全体的なばらつきがないチップ間HD曲線が非常に異なる結果を示す場合だけである。一方、図11Bに示すマージン技法を使用した結果は、全体的なばらつきがある場合もない場合も、ほぼ理想的である。また、チップ内HD曲線は、図10Bからの対応する結果の中に残っているビット反転の大多数は、「標準設計」において生成されたグリッチに起因することも示す。即ち、遅延の変化は、マージンとして使用される最悪の場合のTVノイズよりも大きいので、マージン設定(margining)はグリッチには有効ではない。これは、最悪の場合に対するほぼ0の値、およびWDDLバージョンに対する平均チップ内HDによって明らかである。
グリッチのない機能ユニットの利点を考えると、これらを実装するときのオーバーヘッドを低減することが望ましい。具体的には、本発明は、WDDL型実施態様(WDDL-like implementation)において使用することができる、効率的な分岐限定アルゴリズムを使用して、2入力から6入力までのゲートのハザード・フリー関数(hazard-free function)について完全な1組の真理値表を生成する方法を含む。このアルゴリズムは、WDDLロジックについて先に説明したように、プリチャージ・フェーズおよび評価フェーズによって、2フェーズ・ロジック・スタイルを取る。尚、このアルゴリズムは他のタイプのプリチャージおよび評価条件に合わせて改変できることは注意してしかるべきである。導かれたハザード・フリー関数から選択された部分集合(1つまたは複数)をCAD合成ツールにおいて使用して、以下で説明するように、ゲートの数を最少限に抑えること、そして機能の実装に多様性を追加することの双方を可能にする。
このアルゴリズムはn入力(n-input)関数のカルノー図(K−図)の抽象的表現をそのデータ構造として使用する。遷移キューブ(transition cube)とは、開始点A、終了点Bを有し、AからBへの遷移中に到達することができる全ての入力の組み合わせを収容するキューブを意味する。ハザードがない回路の実現では極普通であるように、ゲート入力は、主入力に対する2ベクトル検査の適用中せいぜい1回しか変化しないと仮定されるが、任意の順序で変化することができる。関数fを実装するゲートをハザードなく実現すると、その出力においてせいぜい1回しか遷移しない。
WDDLスタイルの関数に関連付けられた遷移は、追加の制約を有し、図12において3入力関数f=a+bcについて示すように、関数のカルノー図における開始点がf(000..0)=0でなければならない(これは、「全て0」プリチャージ条件によって強制される)。評価中に、K−図において辿る(traverse)ことができるパスの全てを、曲線によって強調する。図12の右側は、これらのパスを「ゲート入力値−出力値」というフォーマットでリストにして示す。尚、開始点が(000)=0であり、終了点が(111)=1であっても、このゲートが実際の動作において感作されるときに全ての入力が変化することは必要でなく、したがって、終了点は、リストに示されたパスに沿った任意の点であることができ、それでもなおハザードのない動作を維持することに注意すること。
本発明によれば、これらの制約を満たす全ての関数を生成するアルゴリズムは、6入力までのゲートに対するK−図表現を組み立てる(最新のFPGA上のLUT入力サイズと一致する)。図12の右側にリストに纏めた軌跡(trace)は、このアルゴリズムのテンプレートとして使用される。n入力ゲートでは、軌跡の長さはn+1となる。例えば、図12の3入力ゲートでは軌跡長は4であり、軌跡の数はn!(階乗)によって示され、3入力ゲートでは6であるが、6入力ゲートでは720に増加する。この図の右側に示す出力値も、有効なK−図を発見するためにこのアルゴリズムによって使用される。左から右に軌跡順にリストに示された出力値は、温度計コード・フォーマットに対応する。即ち、0の後に1が続き、組み立てられたゲートのハザードがない動作を確保する。
6入力関数に可能なK−図の数は264であるので、ハザードがないという条件に対する一致の可能性を全て検索するのは厄介である。代わりに、全てのハザードのないK−図を繰り返し組み立てるために、分岐限定アルゴリズム手法(branch-and-bound algorithm approach )を開発した。このアルゴリズムは全ての可能な軌跡、およびこれらの軌跡に対する全ての可能な温度計コード指定を配列する(sequence through)。可能な温度計コード出力指定の数はnとして与えられ、例えば、3入力ゲートでは(0001,0011,0111)として与えられる。図12から、これらの温度計コード出力値の内2つだけ、即ち、0011および0111が、関数f=a+bcに実際に使用されるが、3番目は他の有効なハザード・フリー3入力関数において使用される。
これは検索空間をnnbに、例えば、3入力関数では3=729に広げるが、検索プロセスは、この検索空間の非常に大きな部分を排除する(限定する)ことを可能にし、6入力までの関数に対して、このアルゴリズムを扱いやすくする。n本の軌跡の各々に、出力値に対して特定の温度計コードが指定され、K−図を定めるためにこれらの指定が組み合わされたときにn本の軌跡全てに一貫性があるとき、有効なK−図が求められる。一貫性とは、K−図における出力値に、全ての軌跡によって一貫して0または1が指定されるという要件のことを言う。1つの軌跡が0を指定し一方他の軌跡が1を指定するという場合に検索プロセスが遭遇したとき、このK−図、およびこの同じ「一貫性のない」指定を使用した全ての後続のK−図は無効になる(fail)。このアルゴリズムの特徴により、検索空間の大部分が排除される。例えば、可能な55!=7.5e+83個の5入力ゲートを求めて検索されるエレメントの数は1.8e+6個であり、一方生成される有効なK−図の数は7,579個である。6入力ゲートでは、有効なK−図の数は数百万個になる。
複雑過ぎるために、生成された関数の多くは合成ツールによって無視されるが、これは数百個のゲートの部分集合には該当しない。以下で説明するように、例えば、WDDLロジックを使用して、合成に使用されるライブラリにこれらのゲートを含ませると、機能ユニットをハザードなく実装するときのゲート個数が減少し、合成のFPGAに対する直接的な利点(benefit)を表す。更に、開示するアルゴリズムによって生成されるハザード・フリー関数間における大きな多様性も、FPGA指向合成が、「機能多様性」(functional diversity)と呼ばれる、異なる「バージョン」の機能ユニットを作成することを可能にする。
分析に使用される機能ユニットを図13に示す。図13に示すように、この機能ユニットは、SBOX、およびWDDL実装(WDDL implementation)の混合列コンポーネント(ここでは「MIXCOL」と呼ぶ)を含む。以上で説明したアルゴリズムを使用して生成されたハザード・フリー関数の内90エレメントの部分集合を使用して、MIXCOLの挙動HDL記述からシングル・エンド型構造的ネットリスト(single-ended structural netlist)を合成する。90エレメントの部分集合は、生成されたEXT関数の最も簡単なバージョンのみ、具体的には、各入力リテラル(input literal)の1つのインスタンスを含む関数のみを使用することによって選択された。構造的ネットリストは、ライブラリにおいて利用可能な90個のセルの内25個を使用して合成される。相補ネットワークを作成することによって、そして反転器を排除することによって、シングル・エンド・バージョンをWDDLバージョンに変換するために、Perlスクリプトが使用される。この変換プロセスを図14に示す。ここでは、反転出力を有するEXTゲートが、同じEXTゲートに、その二重(相補)ゲートを加え、反転器を排除する手段として出力が交換されたものに変換される。
WDDLネットリストは、合成および実装ツール、例えば、Vivadoへの入力として使用される。ネットリストは最適化されるが、最適化の殆どは、最近のFPGA LUT特性に一致するように故意に組み立てられたEXTライブラリを使用して、コンパイラによって既に行われている。一実施形態によれば、コンパイラ生成バージョンにおけるゲートの総数は3,096個であり、一方Vivado生成バージョンは2,891個のLUTを含んでいた。Vivadoによって生成されたLUTベースのネットリストは、以下で説明する分析において使用される。
図13のMIXCOL機能ユニットにおいて、プリチャージ−評価制約を使用して、2ベクトル・シーケンスを32の真入力および相補入力に印加することによって、ハザードのない遷移を生成する。例えば、64ビットWDDLベクトル対は、(00...0/00...0,xx...x/xx...x)という形態で表すことができる。これは、プリチャージ中に真入力および相補入力双方に全て0が印加され、続いて評価中に集合232およびその補数からの任意のベクトルが印加されることを示す。
機能ユニットの個々のゲートおよびワイヤ内部でおよびこれらを跨いで発生する遅延のばらつきは、HELP PUFのための根本的なエントロピのソースとなる。HELP PUFは、パス遅延におけるエントロピを利用し、ゲートおよびワイヤ遅延からのばらつきを独自の方法で組み合わせる。本発明によれば、機能ユニットにおけるパスは、予測可能な様式で統計的に組み合わされておらず、むしろ複雑な相互接続ネットワークとして定められる。この複雑な相互接続ネットワークは、長さが変化し、グリッチを呈する可能性があり、数が非常に多く、感作することが困難な可能性がある。異なる長さのパスによって混入される望ましくないバイアスは、モジュラス技法を使用することによって、低減または排除することができ、一方望ましくないグリッチ(glitching)を排除するためには、WDDLのようなグリッチのないロジック・スタイルを使用することができる。
機能ユニットをエントロピのソースとして使用することの主な利点の1つは、それが提供する大多数のパス、およびこれらを感作するためにベクトルを生成することの困難さに基づく。大多数のパスは、認証のような用途に、特に主な脅威メカニズムがモデル構築であるときに、利点をもたらす。
図13に示すように、MIXCOLのWDDLバージョンは、64個の主入力と64個の主出力とを有する。本来コンパイラによって生成されたネットリストのシングル・エンド・バージョン(WDDLへの変換前)は、652個の反転器と、1,548個の論理ゲートとを有する。WDDLへの変換によって、反転器が処理される(そして排除される)ときはいつでも、真および相補ネットワーク間に、相互接続(interconnector)が作られる。大多数の反転器は、2つのネットワークが多くの場所で相互接続されることを示す。MIXCOLにおける構造的パスの総数は、1,732,085本である。MIXCOLは機能ユニット全体の1/4未満を表すことを考慮すると、パスの総数は、最大バージョンの機能ユニットでは、一千万本を超えそうであることを示す。したがって、MIXCOLの構造的ネットリストは、非常に多くのエントロピのソースを提供する。
WDDLネットリストをプリチャージ−評価制約と組み合わせることによって、機能ユニットのグリッチのない動作を確保する。これらの制約の下で適用することができるWDDLベクトルの総数は233個であり、立ち上がり遷移および立ち下がり遷移双方から成る(account for)。相補ネットワークは、(64の内)正確に32個の主出力が各ベクトル・シーケンスの下で遷移し、合計238回の立ち上がりおよび立ち下がり遷移を生ずることを保証する。各遷移は、パスの検査に対応する。先に示したように、全てのパスがWDDLベクトルによって検査される場合、パスは170万本だけであり、次いで各パスは、全てのベクトルにわたって平均で約238/220=218回検査される。
WDDLベクトルによって検査されるパスの実際の本数を決定するために、シミュレーションおよび信号伝搬分析のための特殊な形態が必要となる。ネットリストの相互接続構造は、任意の特定のパスに沿ったゲート入力において再収束する複数の信号が、主出力における信号遷移のタイミングを決定することを可能にする。例えば、ANDゲートへの入力上に最後に到達した0→1の遷移が、そのゲート上における出力の0→1遷移を制御する。同様に、ORゲートでは逆の条件が成り立ち、最初の0→1遷移を駆動するパス・セグメントが、0→1の出力遷移を制御する。タイミングを支配する入力/セグメントは、パス入力、および出力遷移を制御する対応するパス・セグメントを指す。したがって、実際に検査されるパスは、タイミングを支配するパスに沿ったパス・セグメントで構成され、全ての他のパス・セグメントに関連付けられた遷移は隠される。隠されたパス・セグメントは、検査されるパスに関連付けられたエントロピには関与せず、数えられない。
図15は、本発明の実施形態によるエントロピ分析のフロー・チャートを示す。この分析にしたがって、主出力の各々に対するタイミングを支配するパスを列挙する。このプログラムは、構造的ネットリストを使用し、2ベクトル・シーケンスとして生成されたシミュレーション・データが主入力に印加される。シミュレーション・データはファイル(例えば、「値−変化−減衰」ファイル)に保存され、タイムスタンプと、検査シーケンス(1つまたは複数)を受ける回路の各ノード上で発生する信号遷移との圧縮表現を与える。
このプログラムは、VCDファイルに取り込まれた検査ベクトル・シーケンスのタイミングを支配する、一意に感作されたパスの本数を報告する。また、これは、主出力(PO)上で起こった静的および動的ハザードの数、ならびに内部ノード上で起こったハザードも報告する(多くのハザードはPO上では観察可能でない)。VCDファイルにおける信号遷移のタイミングは、最悪の場合のプロセス、温度、および供給電圧条件を表す。更に重要なのは、Vivadoはタイミング分布を全く与えず、ダイ内部のばらつきも全くモデリングしないことである。したがって、報告される結果は控えめとなる。何故なら、ダイ内部のばらつきは、他のパス・セグメントがタイミングを支配することを可能にすることもあるからである。実際のハードウェアをより良く近似するために、PO出力遷移毎に追加のパス・セグメントの報告を可能にする優勢パスを発見するために許容度パラメータが利用可能である。各チップにおいて、可能なパス・セグメントの各々の1つだけがタイミングを支配するが(2つ以上のセグメントが等しい遅延値を有するのでない場合)、PO遷移毎に生成されるパスのリスト、そして更に重要なのは、所与の許容度に対して報告される一意のパスの総数が、ハードウェアの挙動をより良く反映する。
以上で示したように、233個のWDDLベクトル(立ち上がりおよび立ち下がり)があり、これは、図15に示すツール・フロー・チャート(tool flow chart)を使用して処理するには多過ぎる。代わりに、これらのWDDLベクトルの小さな部分集合を処理し、その結果を使用して、86億個のベクトル全てについてパス収束を予測する。サイズ1,500,1000,2000,4000,8000のベクトル部分集合によって行われる収束は、指数を使用する曲線当てはめである。予測されたWDDLベクトルの収束は、170万本以上の構造的パス(1.7+ million structural paths)の約20%である。
実際にハザードなく検査可能なパスの本数は、任意のタイプの2ベクトル・シーケンスを使用して決定される。問題を扱いやすくするために、170万本以上のパスから部分集合を作成し、遭遇検査(「ET」:encounter test)への入力として使用する。ETは、部分集合におけるパスのほぼ半分に対してハザードのない検査を生成することができ、機能ユニットからほぼ30%多いエントロピを利用できることを示唆する。更に、全てのパスを検査するためのベクトルを生成することの難しさと、膨大な数の入手可能なパスとの組み合わせにより、敵が系統的に検査パターンをハードウェア・トークンに、モデル構築攻撃を実行する手段として適用することを難しく、または不可能にする。
1つの可能な認証プロトコルを図16に示す。登録中に、サーバはランダム・チャレンジ、c、PNMod、およびmarginを生成し、これらはハードウェア・トークンによって入力として使用される。HELP PUFは、応答rおよびヘルパー・データhを生成し、これらをサーバ上にチャレンジ情報と共に格納する。全体的なばらつきが利用される場合、チップのためにμおよびrngも計算され、サーバ上に格納される(これらの値もチップの擬似idとして使用できることに注意すること)。多くの提案された認証プロトコルにおいて、チャレンジは、PUFの応答特性を系統的に学習しようとするモデル構築攻撃の困難さを高めるために、暗号ハッシュ関数を通されるのが通例である。
ハッシュは、ハッシュの出力が特定のPUF入力値に制御されるようにするにはcをどのように選択するか決定するのを困難にする。同様に、応答を難読化するために、応答のXOR難読化機能を追加することができる。これらの難読化機能は、「xを付けて消される」('x'ed)。何故なら、モデル構築HELPは、その入力および出力への直接アクセスによってでも、非常に困難であるからである。したがって、HELPを使用する本発明による認証プロトコルは、保護されていないインターフェースを有する。重い暗号ハッシュやXORネットワークを排除することにより、ハードウェア・トークン上における面積およびエネルギのオーバーヘッドを低減する。
認証は、ヘルパー・データ、h、μ、rngの送信方向を除いて、同様に実行される。尚、PNDiffが世界標準(これもエントロピを全体的なばらつきから排除する)に対してTV補償されている場合、およびrngは不要であることは注意してしかるべきである。また、ヘルパー・データ処理は、リソースに制約があるトークン上でエネルギを節約するために、サーバ側で行われるとよい(トークンにそれを送信する必要がない)。最後に、トークンがビット反転エラーを起こさずにビットストリング再生を実行できる場合、「ファジー・マッチング」は不要でもよい。
先に示したように、マージンおよびPNModパラメータは、HELP PUFのセキュリティ・プロパティを改善する。何故なら、これらはチャレンジ−応答空間を広げるからである。しかしながら、制約なしにこのパラメータを設定させることは、敵によって、モデル構築を補助するために使用される可能性がある。本発明は、ハード・コード化マージン、または小さい値の範囲、例えば、5および8の間だけを許すことによって、統計を改善しつつ、情報漏洩が限定されるチャネル(limited information leakage channel)を維持するという目標を達成することを示唆する。これはPNModパラメータにも当てはまり、限られた1組の値だけを許容すべきである。例えば、2のべき乗に制限すると、CRP空間の「限定された」拡張を行いつつ、モジュラス動作の実施が著しく簡略化する。
以上、本発明、およびその最良の態様であると現時点において考えられるものについて、本発明者によってその所有を確定し、当業者が本発明を実施および使用できるような方法で説明したが、本明細書において開示した例証的な実施形態には多くの均等物があること、そして例証的な実施形態によってではなく、添付した特許請求の範囲によって限定されるべき本発明の範囲および主旨から逸脱することなく、無数の変更および変形もそれらに対して行えることは、理解され認められよう。

Claims (22)

  1. 物理的クローン不可関数ビットストリング生成中にビット反転の数を低減する信頼性向上方法であって、
    複数のインタバルの各ローンチ−キャプチャ・インタバルのパス遅延値を測定するステップと、
    ランダムに選択した2つのパス遅延値間の差分値を計算するステップと、
    前記差分値が正であるときに前記差分値を「0」ビットとして定め、前記差分値が負であるときに「1」ビットとして定めるステップと、
    前記差分値がマージン閾値よりも大きいときに「0」ビットまたは「1」ビットを指定するステップと、
    前記定めるステップに基づいて、一群のビットストリングを生成するステップであって、各ビットストリングが2つ以上の供給電圧レギュレータにおいて生成される、ステップと、
    前記2つ以上の供給電圧レギュレータにおいて生成された各ビットストリングの1つ以上のビット位置において不一致を確認することによって、前記一群のビットストリングにおけるビットを排除するステップと、
    応答ビットストリングを生成するステップと、
    を含む、方法。
  2. 請求項1記載の物理的クローン不可関数ビットストリング生成中にビット反転の数を低減する信頼性向上方法において、前記指定するステップが、更に、
    温度−電圧条件に基づいて前記マージン閾値を導出するステップと、
    前記差分値が前記マージン閾値よりも小さいときに前記差分値を「無効」と分類し、前記差分値が前記マージン閾値よりも大きいときに「有効」と分類するステップと、
    を含む、方法。
  3. 請求項1記載の物理的クローン不可関数ビットストリング生成中にビット反転の数を低減する信頼性向上方法であって、更に、
    ジャンプ・マージン・パラメータを定めるステップと、
    前記パス遅延値または前記差分値のいずれかが前記ジャンプ・マージン・パラメータよりも小さいときに、前記パス遅延値および前記差分値を無視するステップと、
    を含む、方法。
  4. 請求項1記載の物理的クローン不可関数ビットストリング生成中にビット反転の数を低減する信頼性向上方法において、各供給電圧レギュレータが、0.95V、1.00V、1.05Vの電圧で動作する、方法。
  5. 請求項1記載の物理的クローン不可関数ビットストリング生成中にビット反転の数を低減する信頼性向上方法であって、更に、温度および電圧の変動を補償するために、一組の差分値から平均および範囲を計算するステップを含む、方法。
  6. 請求項1記載の物理的クローン不可関数ビットストリング生成中にビット反転の数を低減する信頼性向上方法であって、更に、前記パス長バイアスを除去するために、モジュラスを前記差分値に適用するステップを含む、方法。
  7. 請求項1記載の物理的クローン不可関数ビットストリング生成中にビット反転の数を低減する信頼性向上方法であって、更に、ビット反転を混入させる確率が最も高い前記差分値を特定するステップを含む、方法。
  8. 請求項7記載の物理的クローン不可関数ビットストリング生成中にビット反転の数を低減する信頼性向上方法において、ビット反転を混入させる最も高い確率が、「0」ビットと「1」ビットとの間の境界において発生する、方法。
  9. 集積回路によるビットストリング生成のための登録方法であって、
    (a)物理的クローン不能関数について複数のローンチ−キャプチャ・インタバル・パス・タイミング値を測定するステップと、
    (b)前記物理的クローン不能関数の2つのパス・タイミング値をランダムに選択するステップと、
    (c)前記2つのパス・タイミング値間の差分値を計算するステップと、
    (d)前記差分値が正であるときに「0」ビットを指定し、前記差分値が負であるときに「1」ビットを指定するステップであって、更に、
    温度−電圧条件に基づいてマージン閾値を定めるステップと、
    前記差分値がマージン閾値よりも大きいときに「0」ビットまたは「1」ビットを指定するステップと、を含む、ステップと、
    (e)2つ以上のビットストリングを得るために、2つ以上の供給電圧レギュレータにおいて前記ステップ(a)〜(d)を実行するステップと、
    (f)前記2つ以上のビットストリング間のビットにおいて不一致を確認するステップと、
    (g)ビット反転の数を減らして応答ビットストリングを生成するために、前記不一致のビットストリングを除去するステップと、
    を含む、方法。
  10. 請求項9記載の集積回路によるビットストリング生成のための登録方法において、前記定めるステップが、更に、
    前記差分値が前記マージン閾値よりも小さいときに前記差分値を「無効」と分類し、前記差分値が前記マージン閾値よりも大きいときに「有効」と分類するステップと、
    を含む、方法。
  11. 請求項9記載の集積回路によるビットストリング生成のための登録方法であって、更に、
    ジャンプ・マージン・パラメータを定めるステップと、
    前記パス・タイミング値または前記差分値が前記ジャンプ・マージン・パラメータよりも小さいとき、あらゆるパス・タイミング値および差分値を無視するステップと、
    を含む、方法。
  12. 請求項9記載の集積回路によるビットストリング生成のための登録方法において、各供給電圧レギュレータが、0.95V、1.00V、1.05Vの電圧で動作する、方法。
  13. 請求項9記載の集積回路によるビットストリング生成のための登録方法であって、更に、チップ間ハミング距離を計算するステップを含む、方法。
  14. 請求項13記載の集積回路によるビットストリング生成のための登録方法において、前記計算するステップが、更に、2つの集積回路によって生成されたビットストリングにおいて異なるビットの数を数えるステップを含む、方法。
  15. 請求項9記載の集積回路によるビットストリング生成のための登録方法であって、更に、チップ内ハミング距離を計算するステップを含む、方法。
  16. 請求項15記載の集積回路によるビットストリング生成のための登録方法において、前記計算するステップが、更に、2つのTVコーナーにおいて生成された前記ビットストリングにおいて異なるビットの数を数えるステップを含み、各TVコーナーが異なる集積回路からのものである、方法。
  17. 請求項9記載の集積回路によるビットストリング生成のための登録方法であって、更に、温度および電圧の変動を補償するために、一組の差分値から平均および範囲を計算するステップを含む、方法。
  18. 請求項9記載の集積回路によるビットストリング生成のための登録方法であって、更に、前記パス長バイアスを除去するために前記差分値にモジュラスを適用するステップを含む、方法。
  19. 請求項9記載の集積回路によるビットストリング生成のための登録方法であって、更に、ビット反転を混入させる確率が最も高い前記差分値を特定するステップを含む、方法。
  20. 請求項19記載の物理的クローン不可関数ビットストリング生成中にビット反転の数を低減する登録方法において、ビット反転を混入させる最も高い確率が、「0」ビットと「1」ビットとの間の境界において発生する、方法。
  21. 請求項1記載の物理的クローン不可関数ビットストリング生成中にビット反転の数を低減する信頼性向上方法において、当該方法が、機能ユニットのグリッチのない実装を使用する、方法。
  22. 請求項9記載の集積回路によるビットストリング生成のための登録方法において、当該方法が、機能ユニットのグリッチのない実装を使用する、方法。
JP2017550470A 2014-12-15 2015-12-15 信頼性を高めた物理的クローン不能関数ビットストリーム生成方法 Active JP6608457B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462091985P 2014-12-15 2014-12-15
US62/091,985 2014-12-15
US201562199685P 2015-07-31 2015-07-31
US62/199,685 2015-07-31
US201562204835P 2015-08-13 2015-08-13
US62/204,835 2015-08-13
PCT/US2015/065909 WO2016100402A1 (en) 2014-12-15 2015-12-15 Reliability enhancement methods for physically unclonable function bitstring generation

Publications (3)

Publication Number Publication Date
JP2018503328A JP2018503328A (ja) 2018-02-01
JP2018503328A5 JP2018503328A5 (ja) 2019-01-31
JP6608457B2 true JP6608457B2 (ja) 2019-11-20

Family

ID=56127492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017550470A Active JP6608457B2 (ja) 2014-12-15 2015-12-15 信頼性を高めた物理的クローン不能関数ビットストリーム生成方法

Country Status (7)

Country Link
US (1) US10366253B2 (ja)
EP (1) EP3234857B1 (ja)
JP (1) JP6608457B2 (ja)
KR (2) KR102499723B1 (ja)
CA (1) CA2971212C (ja)
MA (1) MA40999A (ja)
WO (1) WO2016100402A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7003059B2 (ja) 2016-01-11 2022-01-20 ユーエヌエム レインフォレスト イノベーションズ プライバシー保護相互pufベース認証プロトコル
CN106571924B (zh) * 2016-10-21 2019-07-05 北京智芯微电子科技有限公司 一种物理不可克隆函数电路
US11095461B2 (en) 2016-11-04 2021-08-17 Stc.Unm System and methods for entropy and statistical quality metrics in physical unclonable function generated bitstrings
EP3340216B1 (en) * 2016-12-23 2020-01-29 Secure-IC SAS Secret key generation using a high reliability physically unclonable function
US11522725B2 (en) * 2017-03-29 2022-12-06 Board Of Regents, The University Of Texas System Reducing amount of helper data in silicon physical unclonable functions via lossy compression without production-time error characterization
DE102017205818A1 (de) * 2017-04-05 2018-10-11 Robert Bosch Gmbh Einstellbare physikalische unklonbare Funktion
US11082241B2 (en) * 2018-03-30 2021-08-03 Intel Corporation Physically unclonable function with feed-forward addressing and variable latency output
US10305479B1 (en) * 2018-06-12 2019-05-28 Nxp B.V. Fault attack protection against synchronized fault injections
CA3105206A1 (en) * 2018-06-27 2020-01-02 Unm Rainforest Innovations Correlation-based robust authentication technique using helper data only
CN111431841B (zh) * 2019-01-10 2022-08-02 北京普安信科技有限公司 一种物联网安全感知系统及物联网数据安全传输方法
US11314579B2 (en) 2019-09-03 2022-04-26 International Business Machines Corporation Application protection from bit-flip effects
US11211140B1 (en) * 2019-09-24 2021-12-28 Facebook Technologies, Llc Device authentication based on inconsistent responses
US11356851B2 (en) 2019-12-03 2022-06-07 Harris Global Communications, Inc. Communications system having multiple carriers with selectively transmitted real information and fake information and associated methods
GB201919297D0 (en) 2019-12-24 2020-02-05 Aronson Bill Temperature sensing physical unclonable function (puf) authenication system
US11516028B2 (en) 2019-12-24 2022-11-29 CERA Licensing Limited Temperature sensing physical unclonable function (PUF) authentication system
US11049555B1 (en) * 2020-05-08 2021-06-29 Taiwan Semiconductor Manufacturing Company, Ltd. SRAM power-up random number generator
US20230379176A1 (en) * 2020-10-05 2023-11-23 Lg Electronics Inc. Physically unclonable device, and signal processing device and image display device having same
US11985259B2 (en) 2021-06-24 2024-05-14 Raytheon Company Unified multi-die physical unclonable function
CN114372299B (zh) * 2022-01-09 2024-05-07 北京航空航天大学杭州创新研究院 基于物理不可克隆函数的安全分支预测器抗Spectre攻击的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7616036B1 (en) * 2005-09-12 2009-11-10 Virage Logic Corporation Programmable strobe and clock generator
WO2013083415A2 (en) * 2011-12-06 2013-06-13 Intrinsic Id B.V. Physically unclonable function (puf) with improved error correction
US9449153B2 (en) * 2012-12-20 2016-09-20 Qualcomm Incorporated Unique and unclonable platform identifiers using data-dependent circuit path responses
US9015500B2 (en) * 2013-01-16 2015-04-21 Qualcomm Incorporated Method and apparatus for using dynamic voltage and frequency scaling with circuit-delay based integrated circuit identification
WO2015027070A1 (en) * 2013-08-21 2015-02-26 Carnegie Mellon University Reliability of physical unclonable function circuits

Also Published As

Publication number Publication date
EP3234857B1 (en) 2019-08-21
WO2016100402A1 (en) 2016-06-23
US20170364709A1 (en) 2017-12-21
US10366253B2 (en) 2019-07-30
KR20170094326A (ko) 2017-08-17
CA2971212C (en) 2023-08-08
EP3234857A1 (en) 2017-10-25
MA40999A (fr) 2017-10-25
KR20230035122A (ko) 2023-03-10
EP3234857A4 (en) 2018-08-22
JP2018503328A (ja) 2018-02-01
CA2971212A1 (en) 2016-06-23
KR102499723B1 (ko) 2023-02-13

Similar Documents

Publication Publication Date Title
JP6608457B2 (ja) 信頼性を高めた物理的クローン不能関数ビットストリーム生成方法
JP7003059B2 (ja) プライバシー保護相互pufベース認証プロトコル
Zalivaka et al. Reliable and modeling attack resistant authentication of arbiter PUF in FPGA implementation with trinary quadruple response
Majzoobi et al. Techniques for design and implementation of secure reconfigurable PUFs
Wendt et al. Hardware obfuscation using PUF-based logic
Che et al. PUF-based authentication
Maiti et al. A robust physical unclonable function with enhanced challenge-response set
Hussain et al. BIST-PUF: Online, hardware-based evaluation of physically unclonable circuit identifiers
Xu et al. Secure remote sensing and communication using digital PUFs
Bernard et al. Implementation of Ring‐Oscillators‐Based Physical Unclonable Functions with Independent Bits in the Response
Zalivaka et al. FPGA implementation of modeling attack resistant arbiter PUF with enhanced reliability
Yu et al. Can deep learning break a true random number generator?
Wang et al. A low-overhead PUF based on parallel scan design
Chakraborty et al. Template attack based deobfuscation of integrated circuits
Saqib et al. ASIC implementation of a hardware‐embedded physical unclonable function
CA3105206A1 (en) Correlation-based robust authentication technique using helper data only
Yu et al. Hardware hardening approaches using camouflaging, encryption, and obfuscation
CN113268745B (zh) 基于Camellia加密算法的软PUF
Streit et al. Design and evaluation of a tunable PUF architecture for FPGAs
Yu et al. On designing PUF-based TRNGs with known answer tests
Masoumi et al. Design and implementation of a ring oscillator-based physically unclonable function on field programmable gate array to enhance electronic security
Colombier et al. Logic modification-based IP protection methods: an overview and a proposal
Srivathsa Secure and energy efficient physical unclonable functions
Harding EMBEDDED INCREASED ENTROPY PHYSICALLY UNCLONABLE FUNCTIONS
Aguirre et al. Delay-based Physical Unclonable Function Implementation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190913

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191023

R150 Certificate of patent or registration of utility model

Ref document number: 6608457

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