JP2013545340A - 開始挙動が改善された物理的複製不可能関数 - Google Patents

開始挙動が改善された物理的複製不可能関数 Download PDF

Info

Publication number
JP2013545340A
JP2013545340A JP2013532128A JP2013532128A JP2013545340A JP 2013545340 A JP2013545340 A JP 2013545340A JP 2013532128 A JP2013532128 A JP 2013532128A JP 2013532128 A JP2013532128 A JP 2013532128A JP 2013545340 A JP2013545340 A JP 2013545340A
Authority
JP
Japan
Prior art keywords
memory element
puf
electrophysical
input
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013532128A
Other languages
English (en)
Other versions
JP5881715B2 (ja
Inventor
スフレイエン,ヘールト・ヤン
トウイルス,ピム・テオ
フアン・デル・スライス,エリツク
シモンス,ペトルス・ウエイナンドウス
Original Assignee
イントリンシツク・イー・デー・ベー・ベー
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 イントリンシツク・イー・デー・ベー・ベー filed Critical イントリンシツク・イー・デー・ベー・ベー
Publication of JP2013545340A publication Critical patent/JP2013545340A/ja
Application granted granted Critical
Publication of JP5881715B2 publication Critical patent/JP5881715B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits
    • 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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Storage Device Security (AREA)
  • Logic Circuits (AREA)
  • Semiconductor Memories (AREA)

Abstract

メモリ素子から内容を読み出し、少なくとも部分的に前記内容から暗号鍵などのデジタル識別子を導出するためのPUF制御手段に接続可能な半導体メモリ素子110を含む、電気物理的複製不可能関数(PUF)100が、提供される。メモリ素子への電力供給時に、これは少なくとも2つの異なる安定状態のうちの1つに静定される。メモリ素子がなる特定の安定状態は、少なくとも部分的に、メモリ素子の製造中に導入されるメモリ素子のランダムな物理的特性に依存する。メモリ素子の静定は、メモリ素子の制御入力112に、さらに依存する。電気物理的複製不可能関数は、メモリ素子の電源投入を含んで少なくともメモリ素子の静定まで継続する期間の間、メモリ素子がなる特定の安定状態が依存する制御信号を受信しないように制御入力を遮蔽するための、遮蔽手段142、144を含む。このようにして、その物理的特性に対するメモリ素子の依存性が改善され、場合により再生不可能な制御信号への依存性が低減される。

Description

本発明は、電気物理的複製不可能関数に関する。
具体的には、本発明は、メモリ素子の内容を読み出し、少なくとも部分的に前記内容からデジタル識別子を導出するPUF制御手段に接続可能な半導体メモリ素子を含む電気物理的複製不可能関数(PUF)に関し、メモリ素子は少なくとも2つの異なる安定状態になるように構成可能なタイプのものであり、安定状態はメモリ素子の内容を表し、メモリ素子は電源投入時に少なくとも2つの異なる安定状態のうちの1つになるように構成されており、メモリ素子がなる特定の安定状態はメモリ素子の少なくとも部分的にランダムな物理的特性に少なくとも部分的に依存している。
本発明はさらに、電気物理的複製不可能関数を実行する方法にも関する。
物理的複製不可能関数(PUF)は、鍵、識別子などを安全なメモリに記憶させることを含む、安全な識別の多くの形態の有利な代替案であることが証明された。
物理的複製不可能関数は、デジタル識別子を導出するために製造ばらつきを活用する。このためデジタル識別子は物理媒体に結びつけられている。物理的複製不可能関数はランダムな工程ばらつきに依存しているので、PUFを作成するのは容易であるが、しかし特定の事前定義された識別子を生じるPUFを作成することは、絶対に不可能ではないとしても、非常に困難である。製造ばらつきは、メモリ素子の異なる物理的特性をもたらす。たとえば、物理的特性は:ドーピング濃度、酸化物厚さ、チャネル長、構造幅(たとえば金属層の)、寄生性(たとえば抵抗、静電容量)を含んでもよい。デジタル回路設計が複数回製造されるとき、これらの物理的特性はわずかに変化し、これらはまとまって、メモリ素子などのIC素子の挙動にいくつかの状況において異なる振る舞いをさせる。たとえば、開始挙動は、物理的特性の中でも製造ばらつきによって決定される。
PUFのこの性質は、幅広い用途にこれらを適合させる。たとえば、PUFは偽造と闘うために使用されてもよい。他の製造品の特定の装置を不正にコピーすることは可能かも知れないが、オリジナルと同じデジタル識別子を生じるように十分な精度を持って埋め込まれることが可能なPUFを複製することは、不可能であろう。さらなる例として、PUFは、暗号鍵を作成するために使用される。PUFを用いると、安全なメモリに鍵を記憶させる必要性が回避される。PUFはさらに、企ての間にPUFが負わされる可能性のある損傷がデジタル識別子を変更するので、リバースエンジニアリングを通じて暗号鍵を得ようとする不法な企てに対する元来の保護を提供する。好ましくは、デジタル識別子は電子物理的複製不可能関数に固有である。
PUFは、電子装置に有利に適用されてきた。ICの製造中に避けられない小さな製造ばらつきでさえ、ICの異なる性質をもたらす。これらの異なる性質は、同じように動作する一群のICを獲得しようと努力して、正常に抑えられる。しかしながら、PUFを作成するためには、一群のICにおける個々のICの間の差が活用される。
たとえば、いくつかのメモリ素子の開始挙動は、PUF様の挙動を呈することが、観察されている。このようなメモリが通電または起動されると、これは互いに対する物理的配列などのメモリを作り上げる、ゲートまたはトランジスタなどの構成要素の少なくとも部分的にランダムな物理的特性に依存する内容を包含する、すなわちそのようなデータ値シーケンスを含む、傾向がある。メモリが複数回通電される場合には、同じ内容をかなりの割合まで包含することになる。残念ながら、PUF挙動はわずかな変動に依存するので、ある程度のエラー率は避けられない。いわゆるヘルパデータを用いるエラー修正手順は、PUFが使用されるたびに、これらの変動を修正するため、および識別可能なデジタル識別子が導出されることを確実にするために、使用されることが可能である。
このため、複数回の電源遮断および電源投入シーケンスの後に比較されるとき、メモリの内容は大部分が同一であることが、望ましい。同時に、メモリの内容が同じタイプの別のメモリと比較されるとき、大部分が異なることが望ましい。
メモリの少なくとも部分的にランダムな物理的特性に対するメモリの開始値の依存が強化されれば、これらの目的はいずれも推進されるだろうというのが、本発明者らの見解である。
国際公開第2009/024913号 国際公開第2006/129242号 国際公開第2006/053304号 国際公開第2004/066296号 欧州特許第09167906号明細書
その少なくとも部分的にランダムな物理的特性に対するメモリの開始値の依存性が改善された、改良型物理的複製不可能関数を有することは、有利であろう。
本発明による電気物理的複製不可能関数(PUF)は、メモリ素子の内容を読み出し、少なくとも部分的に前記内容からデジタル識別子を導出するPUF制御手段に接続可能な半導体メモリ素子を含む。メモリ素子は少なくとも2つの異なる安定状態になるように構成されているタイプのものであり、安定状態はメモリ素子の内容を表す。メモリ素子は、メモリ素子に電力供給してメモリ素子を通電状態にするための電源入力、および1つ以上の制御信号を受信するための制御入力を含み、制御信号はメモリ素子を、少なくとも2つの異なる安定状態のうちの選択された方になるように構成する。メモリ素子は、電源投入時に少なくとも2つの異なる安定状態のうちの1つになるように構成されており、メモリ素子がなる特定の安定状態は、メモリ素子の少なくとも部分的にランダムな物理的特性に、少なくとも部分的に依存する。電源投入時にメモリ素子がなる特定の安定状態はまた、制御信号を受信する制御入力にも依存する。電気物理的複製不可能関数は、メモリ素子の電源投入を含み、少なくともメモリ素子の静定まで続く期間の間、メモリ素子がなる特定の安定状態が依存する制御信号を受信しないように制御入力を遮蔽する、遮蔽手段をさらに含む。
実験設定を作成して多くの測定を実行した後、本発明者らは、その少なくとも部分的にランダムな物理的特性に対するメモリの開始値の依存を低減する攪乱源を明らかにした。これらを制御するための、すなわちこれらに書き込むための、制御信号を受信することが可能なメモリ素子は、起動中に攪乱されるかも知れない。この攪乱は、2つのうちの1つの形態を取ってもよい。
第一の形態において、メモリ素子は、起動中に到着する制御信号によって上書きされてもよい。メモリ素子は原則的には適切な開始値を含み、PUFとして利用可能であるものの、その内容はその制御信号入力時にスプリアス信号によって上書きされる。第一のタイプの信号の一例は、書き込み信号である。第二の形態において、制御信号は、メモリ素子の内容をそのまま上書きせずにメモリ素子の一部を起動し、これら追加のアクティブなゲートまたはトランジスタは、メモリ素子の内容の保持を司るゲートの静定に影響を及ぼす。開始値の決定に関わるゲートが多いほど、開始は確率変動にますます依存し、ひいてはメモリ素子がますます不安定になる。第二のタイプの分散制御信号の一例は、クロック信号である。
さらに悪いことに、半導体回路などの電子回路への通電は完全に予測可能かつ決定的ではない。2つのタイプの問題のある信号は、必ずしも各々の開始時に発生するとは限らない。メモリ素子が静定するのにかかる時間または電源投入とクロックの最初の刻時との間の時間など、様々なシステム事象はある程度異なるだろう。たとえば、刻時は、メモリ素子がその開始値に静定される直前または直後に到着するかも知れない。前者の場合、後者よりも多くのゲートが静定中にアクティブとなり、このためPUFとしてのメモリ素子の信頼性は低下する。
この問題の解決策の1つは、1つ以上の制御信号を受信するための制御入力を備えないメモリ素子を選択することであろう。しかしながら、標準的な半導体ライブラリからの標準メモリ素子を使用するという強い嗜好がある。このような標準メモリ素子は、さもなければ書き込み可能とはならないので、当然ながら制御入力を有する。なお、読み取り専用メモリ素子は別の理由により不適切である;標準的な読み取り専用メモリ素子は所定状態で起動するが、いくつかのランダムな物理的特性によって決定される状態では起動しないという設計のためであることに注意されたい。好ましくは、メモリ素子は揮発性の、書き込み可能メモリである。
本発明において使用されるメモリ素子は、それに対して制御信号を受信することが可能な制御入力を含む、メモリ素子である。これらの制御信号を使用して、メモリ素子がどの安定状態を維持するかを制御することができ、すなわち制御信号を用いてメモリ素子に書き込んでもよいだろう。
本発明が以下のように動作する動作中、最初にメモリ素子は通電されず、制御信号が到着してもこれに反応することはないだろう。通常、この状況は現在通電されていない装置に対応する。しかしこれは必要ではなく、いくつかの実施形態において、メモリ素子は、たとえば電力を保存するため、あるいはその内容が上書きされた後にPUFを再読み込みできるようにするために、電源遮断されてもよい。いずれかの時点で、メモリ素子は通電される。するとメモリ素子は安定状態となる。素子がどの状態になるかは少なくとも部分的に、メモリ素子を構成するゲートなどの構成要素の少なくとも部分的にランダムな物理的特性によって、決定される。メモリ素子を通電する意外には、メモリ素子を安定状態にするためにメモリ素子の外部で必要とされる作業はない。
メモリ素子の通電中、制御信号は、メモリ入力の制御入力に接続された制御線上に来るかも知れない。しかしながら、制御信号がメモリ素子に到着するのを回避するために、遮蔽手段が制御入力に接続されている。遮蔽手段がないと、前記制御信号は、メモリ素子がなる安定状態に影響を及ぼし、あるいはこれを決定さえするだろう。遮蔽手段は、PUF制御手段がメモリ素子の内容を読み出してしまうまで動作している。
メモリ素子は原則的に書き込み可能であるが、しかし遮蔽手段は、たとえば、基準電圧線への直接的な恒久的接続を提供して、メモリ素子を「維持」状態、すなわちメモリ素子がこれを現在の状態に維持して上書きされるのを防止する状態にすることによって、この能力が場合によっては恒久的に抑制されるという、副作用を有する可能性がある。
安定状態は通常、メモリ素子の半導体ゲート全体にわたる安定した電荷分布として実現される。
相互接続半導体ゲートは、交差結合ループ状に接続された、少なくとも2つのゲートを含んでもよい。2つ以上の安定状態、具体的には双安定を実現できるようにゲートを配置する方法の1つは、これらを交差結合ループ状に接続することである。たとえば、第一ゲートの出力は第二ゲートの入力に接続されてもよく、その一方で第二ゲートの出力は第一ゲートの入力に接続されてもよい。本発明は、交差結合ループのゲートが2つ以上の入力ゲート、いわゆる多入力ゲートを有するメモリ素子に、特に有利に適用されるだろう。多入力ゲートの交差結合ループは、メモリ素子を構成する好適な方法である。メモリ素子によって、たとえば交差結合ループによって実現される状態は、それ自体が交差結合ループの別のゲートの出力に直接接続されていないゲートの別の入力のうちの1つを制御することによって影響を受ける可能性があるので、多入力は、所望の多数の性質を有する揮発性メモリ素子を比較的容易に作成できるようにする。まさにこの性質は、これらが起動中に影響を受けやすくもする。多入力のいずれか1つにおけるスプリアス信号は、交差結合ループの開始挙動に影響を及ぼす可能性がある。電源投入中に到着する可能性のある制御信号からの交差結合ループを遮蔽することによって、少なくとも部分的にランダムな物理的特性への依存が増加するが、その一方で制御信号におけるランダムな再生不能開始現象への依存は減少する。多入力ゲートの例は、NANDゲートまたはNORゲートを含む。インバータは単一の入力しか有していないので、多入力ゲートではない。
好ましくは、デジタル識別子は電子PUFを識別する。メモリ素子の内容は、1ビットのみからなる。1ビットでは装置を識別するのに十分ではないものの、多数のメモリ素子が一緒になればこれを行うことができるだろう。単一のメモリ素子からより多くのビットを得るために、マルチビットメモリ素子が使用されてもよい。メモリ素子の異なるインスタンス化にわたってメモリ素子の電源投入内容が変化すれば、好ましい。たとえば、本発明による電子PUFを含む多数の装置が本発明によって製造される場合には、いくつかの装置はメモリ素子を通電するときに論理「1」を生成し、いくつかの装置はメモリ素子に通電するときに論理「0」を生成することが、好ましい。メモリ素子が多数のビットを含む場合には、これはこのようなメモリ素子の各ビットを保持する。
一実施形態において、メモリ素子は複数の相互接続半導体ゲートを含み、メモリ素子が通電状態にあるときに少なくとも2つの異なる安定状態を可能にし、メモリ素子の物理的な、少なくとも部分的にランダムな特性は、複数の相互接続半導体ゲートの少なくとも部分的にランダムな物理的特性を含む;たとえば、メモリ素子の物理的な、少なくとも部分的にランダムな特性は、たとえば複数の相互接続半導体ゲートの互いに対する物理的配列など、複数の相互接続半導体ゲートの物理的配列を含む。
一実施形態において、電気物理的複製不可能関数(PUF)は、メモリ素子の内容を読み出し、少なくとも部分的に前記内容からメモリ素子を特定するデジタル識別子を導出するPUF制御手段に接続可能な半導体メモリ素子を含む。メモリ素子は、メモリ素子に電力供給してメモリ素子を通電状態にするための電源入力と、メモリセルが通電状態にあるときに少なくとも2つの異なる安定状態を可能にする複数の相互接続半導体ゲートであって安定状態はメモリセルの内容を表し、メモリ素子は電源投入時に少なくとも2つの異なる安定状態のうちの1つになるように構成されていて、メモリ素子がなる特定の安定状態は少なくとも一部は、少なくとも部分的に複数の相互接続半導体ゲートの少なくとも部分的にランダムな物理的な特性に依存し、および1つ以上の制御信号を受信する制御入力と、を含む。メモリ素子は、メモリ素子が通電状態にある間に少なくとも1つの制御信号を受信すると、1つの安定状態から別の安定状態に変化するように構成されている。電源投入時にメモリ素子がなる特定の安定状態はまた、制御信号を受信する制御入力にも依存している。電気物理的複製不可能関数は、メモリ素子の電源投入を含み、少なくともPUF制御手段によるメモリ素子の内容の読み出しまでの期間の間、メモリ素子がなる特定の安定状態が依存する制御信号を受信しないように制御入力を遮蔽する、遮蔽手段をさらに含む。
本発明は多くのタイプのメモリ素子に適用されてもよく、たとえばメモリ素子はラッチ、フリップフロップ、またはレジスタであってもよい。これらのメモリ素子は、目に見えるメモリ配列に存在する必要はないが、しかしICのより広い領域にわたって分散してもよいという、付加的な利点を有する。たとえば、単一のICにおいて、まとまってPUF制御手段への入力を提供する多数のメモリ素子が存在してもよい。たとえば、多数のラッチおよび/またはフリップフロップおよび/またはレジスタが、IC全体に分布していてもよい。
PUF制御手段によるデジタル識別子の導出は、第一タイプのデータおよび第二タイプのデータに依存してもよい。第一タイプのデータは、事前に、すなわち導出前に、不揮発性メモリに確定的に記憶されたデータである。さらに、デジタル識別子は記憶された値に依存し、第一タイプのデータが記憶されている不揮発性メモリ内に存在する可能性のあるいずれの製造ばらつきには依存しない。第二タイプのデータは、ランダムな製造ばらつき、すなわちメモリ素子の少なくとも部分的にランダムな物理的特性に、依存している。
電源投入時にメモリ素子がなる安定状態は、雑音、すなわちエラー確率に伴う変化に曝される。好ましくは、PUF制御手段は、事前に記憶された冗長性情報を用いて、メモリ素子の内容にエラー修正アルゴリズムを適用するように構成されている。雑音、すなわちエラー確率は、PUF制御手段が正しい安定状態を決定するのに、すなわち読み取り内容から雑音の影響を除去するのに、十分なほど小さい。アンチエイジングが適用さる場合、正しい安定状態の逆がメモリ素子に書き込まれてもよい。
第一タイプのデータの一例は、フラッシュメモリ、EPROMメモリ、EEPROMなどのような、非PUFの不揮発性書き込み可能メモリに記憶された、ヘルパデータである。第一タイプのデータを記憶するメモリは、書き換え可能または1回書き込みメモリであってもよい。メモリ素子の開始内容、すなわちメモリ素子がなる特定の安定状態は、複数の相互接続半導体ゲートの少なくとも部分的にランダムな物理的特性に少なくとも部分的に依存するので、第二タイプのデータの一例である。
たとえば、PUF制御手段は、複数のメモリ素子からの内容として第二タイプのデータを読み出し、不揮発性メモリからヘルパデータを読み出してもよい。たとえばPUF制御手段上で実行される、ファジーエクストラクタとしても知られるヘルパデータアルゴリズムを使用して、第二タイプのデータは第一タイプのデータを用いて処理される。この処理の結果、第二タイプのデータ、すなわちPUFデータに存在する可能性のあるばらつきは、除去される。
第一タイプのデータ、たとえばヘルパデータを記憶するための不揮発性メモリは、必ずしも電子物理的複製不可能関数に含まれる必要はない。データは、必要なときに電子物理的複製不可能関数に含まれる通信素子を通じて受信されてもよい。
一実施形態において、デジタル識別子を導出するために使用する第二タイプのデータを制御手段がそこから取得する多数のメモリ素子のうちの少なくとも1つには、電源投入中に制御信号を遮蔽するための遮蔽手段が設けられている。第二タイプのデータを取得するためのメモリ素子の一部が遮蔽手段を有することも、可能である;一実施形態において、このようなメモリ素子の大部分が遮蔽される。
一実施形態において、デジタル識別子を導出するためにPUF制御手段によって使用される第二タイプの全データは、遮蔽手段を有する1つ以上のメモリ素子からのみ取得される。好ましくは、1つ以上のメモリ素子の全てが、電子物理的複製不可能関数に含まれる。動作中、PUF制御手段は、電源投入中に遮蔽手段を用いて遮蔽されていたメモリ素子からデジタル識別子を導出するために使用する第二タイプのデータの全てを取得する。
遮蔽手段が構築される方法はいくつかある。たとえば、遮蔽手段は制御入力を基準電圧線で接続するように構成されてもよい、基準電圧線の例は、グランド、電源レール、電圧レールなどを含む。電圧基準線はグランドに対して、通常は電源ユニット(PSU)によって供給される、単一の電圧を供給する。制御入力を基準電圧線で接続することによって、制御入力への入力が固定され、電源投入中に制御入力に接続された線に発生し得る変動はこうして抑えられる。たとえば制御入力は、メモリ素子を、外部の影響から内容が遮蔽される、すなわち上書きされ得ない維持状態にさせるために、基準電圧線に接続されることが可能であろう。
多数の制御入力を有するメモリ素子は、多数の基準電圧線に接続されてもよい。全ての制御入力は同じ基準電圧線に接続されてもよいが、必ずしもそうでなくてもよい。たとえば、多数の制御入力のうちの第一の制御入力は正電源電圧に接続されてもよく、第二の制御入力は負電源電圧に接続されてもよい。維持状態になるために異なる入力を必要とするメモリ素子は、各入力を適切な電圧レールに接続することによって遮蔽されることが可能である。
制御入力と基準電圧線との間の接続は、恒久的接続であってもよい。これはメモリ素子を遮蔽するのに特に有効で費用効率の良い方式である。たとえば、標準セルライブラリなどの半導体ライブラリからのラッチまたはフリップフロップなどの標準メモリ素子を配置して、その制御入力を基準電圧線に接続することによって、これから低コストPUFを作成する人がいるかも知れない。このようにして、たとえばIC基板上でその構成要素が配置される正確な配列など、1つ以上のメモリ素子の少なくとも部分的にランダムな物理的特性に開始値、すなわちその電源投入内容が大きく依存する素子が、得られる。なお、標準セルの使用はPUF挙動を得る妨げには決してならないことは、特筆される。標準セルであっても、電子装置の各々のインスタンス化がわずかに異なるように配置される;セルのいくつかの部分は、他の部分と比較してわずかに変形している。
一実施形態において、メモリ素子は設定制御入力およびリセット制御入力を有するラッチを含み、設定制御入力およびリセット制御入力は、電源投入時にラッチがなる安定状態が設定制御入力およびリセット制御入力に依存するのを防止するためにラッチが維持状態になるように、基準電圧線に接続されている。
たとえば、ラッチはたとえばSR NORラッチまたはSR NANDラッチなど、いわゆるSRラッチであってもよい。ラッチは、ブロックを構成するような静的ゲートを使用してもよく、また1対の交差結合NOR(つまり「NOT OR」)論理ゲートから構築されてもよい。SR NORラッチは両方の制御入力をグランドに接続することによって強制的に維持状態にされてもよい。記憶されたビットは出力上に存在し、通常はQで標識される。あるいは、SRラッチはNAND(つまり「NOT AND」)論理ゲートを用いて構築されてもよい。ここで設定およびリセットはアクティブな低信号となり、これはラッチを強制的に維持状態にするために正の基準電圧に接続されてもよい。
メモリ素子の制御入力の恒久的接続は、副作用として、メモリ素子の内容の変更、すなわちメモリ素子への書き込みもまた恒久的に不可能となることがある。しかしながら、メモリ素子の書き込み能力を一時的にのみ不可能にすることが有利である。メモリ素子への書き込みが可能であれば、PUF制御手段が識別子を導出するためにその内容を使用した後に、メモリ素子はデータ保存を必要とする別の機能のために使用されることが可能であろう。しかしながら、書き込み能力を維持する別の有利な用途は、メモリ素子にアンチエイジングデータを書き込むことである。
たとえば、電気物理的複製不可能関数は、メモリ素子の内容を読み出した後にメモリ素子にアンチエイジングデータを書き込む、アンチエイジング手段を含んでもよい。PUFでの使用のためのメモリ素子の品質が時間とともに低下することが、観察されている。この現象は、メモリ素子にアンチエイジングデータを書き込むことによって、減速する可能性がある。アンチエイジングデータは、先の読み出しの間のメモリ素子の内容の逆であってもよい。たとえば、アンチエイジングデータは、デジタル識別子を構築するためにPUF制御手段によって取得されたようなメモリ素子の内容の逆であってもよい。しかしながら、このアンチエイジングデータは、メモリ素子の内容が変化するにつれてある程度変化する。この変動性を排除するために、ヘルパデータを用いて先の読み出しの間にメモリ素子の内容を再構築することが、好ましい。
遮蔽手段は、メモリ素子の電源投入とともに始まって所定時間継続する期間の間遮蔽するために、タイマを含んでもよい。タイマの期間は、メモリ素子が安定状態になるのに十分な長さでなければならない。通常、1から2クロック周期が継続する期間で十分である。メモリ素子が静定される時間を保証するために、たとえば1ミリ秒など、たとえば制御信号を書き込むなど、たとえば制御信号を阻止するために、より高い制限に時間制限を設定する人もいるだろう。タイマは、PUF制御手段がメモリ素子の内容の読み取りを完了するために十分に高い値に設定されてもよい。あるいはタイマは、たとえば電源投入中に制御信号を阻止するだけなど、より低く設定されてもよく、この後PUF制御手段が内容の読み取りを完了するまでは、ソフトウェア手段またはその他のハードウェア手段が制御信号をブロックする。
制御信号から静定を保護するためには、タイマの期間が少なくともメモリ素子の静定と同じくらい長ければ、十分である。当業者は、メモリ素子の静定時間の上限を様々な方法で取得するだろう。最も一般的に使用されるメモリ素子の静定時間は、その仕様からわかる。静定時間はまた、実験によって決定されてもよい。静定時間の正確な測定値を得る必要はなく、本発明の目的のためには、上限、すなわち開始時においてメモリ素子が静定されるまでの時間間隔を有していれば十分である。たとえば、電源投入静定時間を測定するためには、当業者はメモリを無効および有効にして、様々な瞬間に内容を読み出し、どのくらいの時間の後にメモリ素子がもはや変化しなくなるかを判断することができるだろう。
たとえば、遮蔽手段は、メモリ素子が通電状態にある間に、制御信号の受信時にメモリ素子が1つの安定状態から別の安定状態に変化できるようにすることでメモリ素子への内容の書き込みを可能にするため、PUF制御手段によるメモリ素子の内容の読み出し後にメモリ素子の遮蔽を停止するように構成されている。
本発明は、いくつかのタイプの制御入力に適用されてもよい。たとえば遮蔽は、メモリ素子の内容を上書きするためにデータを受信する制御入力に、またはメモリ素子がその内容を上書きできるようにするためのイネーブル信号を受信する制御入力に、適用されてもよい。しかしながら本発明はまた、クロック入力などの制御入力にも有利に適用されてよい。クロック入力は、刻時、通常は複数の刻時のうちの1つを含む、クロック信号を受信するように配置されている。遮蔽手段は、クロック入力が刻時を受信しないよう遮蔽するように構成されている。メモリ素子の少なくとも一部がクロック入力での刻時受信時に起動された場合には、刻時の受信は、ほんのわずかではあるが、電源投入中のメモリ素子の挙動を変化させる。メモリ素子の静定中により少なくゲートが関連している場合には、それらの間の相互作用はさほどランダムではなく、カオス的な相互作用による代わりにメモリ素子の内在的な性質によって、結果が決定されやすくなる。
クロック入力の遮蔽は、メモリ素子としてレジスタが使用されるときに、特に有利である。たとえば、メモリ素子はゲートクロックを有するレジスタを含んでもよく、ここで遮蔽手段はゲートクロックのゲーティングを制御するように構成されている。たとえば、ゲーティングは、電源投入中にレジスタが計時されるが期間が経過した後にメモリ素子がクロック信号を受信するのを回避するように、タイマを用いて制御されてもよい。
2つの交差結合ループを含むメモリ素子は、多くのチャレンジを有する電子PUFを作成するために使用されてもよい。遮蔽手段は、高基準電圧または低基準電圧にクロック入力を選択的に接続することによってクロック入力を遮蔽するように構成されており、選択された電圧は2つの交差結合ループのうちの1つをさらに選択し、電源投入時にメモリ素子がなる特定の安定状態は、2つの交差結合ループのうちの選択されなかった方ではなく、2つの交差結合ループのうちの選択された方の、少なくとも部分的にランダムな物理的特性に依存する。
高基準電圧または低基準電圧へのクロック入力の接続は、第一および第二のチャレンジと見なされてもよい。第一および第二のチャレンジは、メモリ素子の異なる応答を生じるだろう。PUF制御手段は、使用された第一または第二のチャレンジに基づいて、第一または第二の識別子を導出してもよい。
第一チャレンジは、第一ヘルパデータとともに、第一暗号鍵を得るために使用されてもよい。第一暗号鍵はユーザアプリケーションに使用されてもよく、たとえば第一暗号鍵は、オンデマンド動画サービスにおいて動画を解読するために使用されてもよい。第二チャレンジは、第二ヘルパデータとともに、第二暗号鍵を得るために使用されてもよい。第二暗号鍵は、異なる用途に使用されてもよい。たとえば、第一暗号鍵はアプリケーション設計者に知らされるだろうが、その一方で第二暗号鍵は製造者にのみ知らされるかも知れない。標準的なチャレンジ−応答アルゴリズムを用いて、電子装置はある人が第二暗号鍵を持っているか否かを確認し、持っている場合には、たとえばフィールドリターンのデバッグなど、装置へのフルアクセスを許可してもよい。
遮蔽手段は、ハードウェアとソフトウェアとの組み合わせを用いて構築されてもよい。一実施形態において、遮蔽手段は、少なくともメモリ素子の電源投入の完了まで継続する期間の間、メモリ素子がなる特定の安定状態が依存する制御信号を受信しないように制御入力を遮蔽するハードウェア遮蔽手段と、少なくともメモリ素子の電源投入の完了からPUF制御手段によるメモリ素子の内容の読み出しまで継続する期間の間、メモリ素子がなる特定の安定状態が依存する制御信号を受信しないように制御入力を遮蔽するソフトウェア遮蔽手段と、を含む。
通常、メモリ素子は、開始後のある時点でこれに書き込むことによって、その少なくとも2つの異なる安定状態のうちの1つになるよう構成可能である。しかしながら、メモリ素子は必ずしも、メモリ素子への書き込みが全体として電気物理的複製不可能関数によって支援されるような方式で、電気物理的複製不可能関数内に構成される、たとえば配線される必要がないことは、特筆される。
本発明のさらなる態様は、半導体メモリ素子を含む電気物理的複製不可能関数(PUF)の動作方法に関する。メモリ素子は、少なくとも2つの異なる安定状態に構成可能なタイプのものである。安定状態はメモリ素子の内容を表し、メモリ素子は、1つ以上の制御信号を受信する制御入力を含み、制御信号は、メモリ素子を少なくとも2つの異なる安定状態のうちの選択された1つになるように構成する。方法は、メモリ素子に電力供給するステップと、メモリ素子を通電状態にするステップとを含み、メモリ素子は電力供給時に少なくとも2つの異なる安定状態のうちの1つになる。メモリ素子がなる特定の安定状態は、メモリ素子の少なくとも部分的にランダムな物理的特性に少なくとも部分的に依存しており、メモリ素子の内容を読み出し、少なくとも部分的に前記内容からデジタル識別子を導出する。電源投入時にメモリ素子がなる特定の安定状態はまた、制御信号を受信する制御入力にも依存する。方法は、メモリ素子の電源投入を含んで少なくともメモリ素子の静定まで継続する期間の間、メモリ素子がなる特定の安定状態が依存する制御信号を受信しないように制御入力を遮蔽するステップを、さらに含む。
メモリ素子は、電源投入された結果として安定状態になる。
一実施形態において、電気物理的複製不可能関数は、RFIDタグ、スマートカード、携帯電話、セットトップボックス、コンピュータ、ラップトップ、ノートブック、セットトップボックス、電子回路などのうちのいずれか1つに含まれる。電子回路は、たとえばCMOS装置などの集積回路であってもよい。本発明による方法は、これらの装置のうちいずれに採用されてもよい。
デジタル識別子は、鍵導出アルゴリズムに直接的に、またはこれの開始値として、暗号鍵として使用されてもよい。たとえば、デジタル識別子にハッシュ関数が適用されてもよく、結果的な値は対称鍵として使用されてもよい。デジタル識別子はまた、公開鍵・秘密鍵のペアの導出のための種としても使用されてよい。公開鍵・秘密鍵のペアの秘密鍵部分は、後の署名操作で使用されてもよい。識別子はまた、たとえばMAC鍵などの対称的な署名鍵として使用されてもよい。
メモリ素子から内容を読み出し、前記内容から秘密鍵などのデジタル識別子を少なくとも部分的に導出するPUF制御手段に接続可能な半導体メモリ素子を含む電気物理的複製不可能関数(PUF)が、提供される。メモリ素子に電力供給すると、これは少なくとも2つの異なる安定状態のうちの1つになる。メモリ素子がなる特定の安定状態は少なくとも部分的に、メモリ素子の製造中に導入されるメモリ素子のランダムな物理的特性に依存する。メモリ素子の静定はさらに、メモリ素子の制御入力にも依存する。電気物理的複製不可能関数は、メモリ素子の電源投入を含んで少なくともメモリ素子の静定まで継続する期間の間、メモリ素子がなる特定の安定状態が依存する制御信号を受信しないように制御入力を遮蔽する、遮蔽手段を含む。このようにして、物理的特性に対するメモリ素子の依存は改善され、再生不能となる可能性のある制御信号への依存が低減される。
本発明は、例示により、および以下の添付図面を参照して、さらに詳細に説明される。
本発明による電気物理的複製不可能関数の第一の実施形態を示すブロック図である。 本発明による電気物理的複製不可能関数の第二の実施形態を示すブロック図である。 図2aの電気物理的複製不可能関数で使用されるラッチを示すブロック図である。 本発明による電気物理的複製不可能関数のメモリ素子として使用されてもよいラッチを示す図である。 本発明による電気物理的複製不可能関数のメモリ素子として使用されてもよいラッチを示す図である。 本発明による電気物理的複製不可能関数のメモリ素子として使用されてもよいラッチを示す図である。 本発明による電気物理的複製不可能関数のメモリ素子として使用されてもよいフリップフロップを示す図である。 図4aのフリップフロップで使用されるラッチを特定する図である。 本発明による電気物理的複製不可能関数のメモリ素子として使用されてもよいマスタスレーブ型フリップフロップを示す図である。 マスタスレーブ型フリップフロップを遮蔽するために使用されてもよい、代替遮蔽手段構造を示す図である。 本発明による電気物理的複製不可能関数のメモリ素子として使用されてもよいメモリ素子を示す図である。 本発明による電気物理的複製不可能関数のメモリ素子として使用されてもよいメモリ素子を示す図である。 本発明による電気物理的複製不可能関数のメモリ素子として使用されてもよいメモリ素子を示す図である。 本発明による電気物理的複製不可能関数のメモリ素子として使用されてもよいメモリ素子を示す図である。 本発明を示す時間図である。 スマートカードの模式的上面図である。 集積回路を示すブロック図である。 本発明による方法の実施形態を示すフローチャートである。 多数のメモリ素子を示すブロック図である。
図中、類似または対応する要素は、同じ参照番号で示される。
本発明は多くの異なる形の実施形態を許容するが、本開示は本発明の原則の例示と見なされるべきであって、図示および記載される特定の実施形態に本発明を限定するように意図されるものではないという理解の下、1つ以上の特定の実施形態が図示され、本明細書に詳細に記載される。
まず、本発明の実施形態のいくつかに関わる情報が与えられる。
物理的複製不可能関数
物理的複製不可能関数(PUF)は、ある入力に対する関数の出力が、刺激として物理システムへの入力を提供すること、および刺激と物理システムとの間の相互作用の結果として生じる挙動を出力にマッピングすることによって得られるような方式で、物理システムとして実現される関数であり、ここで相互作用は予測不可能であり、物理システムへの物理的アクセスがなければ出力を得ることが不可能であって、物理システムを再生することが不可能となる程度に、物理システムの本質的にランダムな要素に依存している。好ましくは、PUFは評価もしやすい。実用のため、PUFは好ましくは製造コストが低い。
従来、PUFが受け付ける入力または刺激は「チャレンジ」と称される。PUFの出力、すなわち刺激との相互作用の後にPUFが呈する挙動は、「応答」と称される。PUFのチャレンジおよび対応する応答を含むペアは、チャレンジ−応答ペアと称される。いくつかのタイプのPUFは広範な異なる入力を許容し、いくつかのタイプはより限られた範囲の入力を許容するか、あるいは単一の入力しか許容しないかも知れない。何らかの単一のチャレンジでPUFにチャレンジすることはまた、PUFの「起動」と称される。
同じチャレンジについて複数回評価されるときにPUFが全て等しい複数の応答を生成するならば、最も好ましいだろう。この性質は必要ではなく、実際にほとんどのPUFはこれを有していない。複数の応答が互いに十分に接近して位置している限り、PUFは有効に適用されることが可能である。
電源投入時にこれらが有する未定義状態でメモリ素子を読み取ることで得られるPUFデータは、しばしば単一のチャレンジ、すなわちメモリ素子への電力供給を利用する。簡素化のため、我々はしばしばチャレンジを無視して、PUF値などのみに言及するだろう。しかしながら、本発明の実施形態のいくつかで実証されるように、2つ以上のチャレンジを可能にする、たとえばマスタスレーブ型フリップフロップなどのメモリ素子に基づくPUFを獲得することは、少なくともある程度は可能である。したがって、チャレンジを参照してPUFデータを検討する場合、これらは単一のチャレンジのみを使用する実施形態で使用されてもよいが、しかし現在の用途のために固定的に選択した多数のチャレンジを可能にする実施形態でも使用可能であることは、理解されるべきである。たとえば、異なるチャレンジが、異なる目的のために選択されてもよい。たとえば、第一チャレンジは全ての正規ユーザアプリケーション向けに選択されてもよく、その一方で第二チャレンジはフィールドリターンの安全なデバッグのために保存されてもよい。
刺激と物理システムとの間の相互作用はシステムへのアクセスがないと予測され得ないので、PUFを特性化およびモデリングすることは難しい。したがって、ある入力に対する特定のPUFの出力は、特定のPUFの基本となる特定の物理システムを用いてのみ、取得されることが可能である。チャレンジ−応答ペアの所有は、いずれかの時点でチャレンジがPUFの基本となる固有の物理システムに提供されるという証拠である。この性質、すなわちチャレンジ−応答ペアが固有の物理的装置に結合されるという性質のため、PUFは複製不可能と称される。装置にPUFを備えることにより、装置もまた複製不可能となる。
少なくとも部分的に制御不可能な製造工程、すなわち不可避的に何らかの無作為性を導入することになる製造工程によって製造される物理システムは、PUFの有望な候補であることが明らかとなる。
PUFの利点の1つは、固有の改ざん防止特性を有することである;その機能を観察するためにPUFを分解することもまた、ランダムな要素を妨害し、したがって入力が出力にマッピングされる方法も妨害することになる。電子メモリに基づく様々なタイプのPUFを含む、様々なタイプの電子PUFを含む、様々なタイプのPUFが、当該技術分野で知られている。PUFはまた、たとえば光PUFなど、その他の概念に基づいてもよい。光PUFにおいて、光応答は、光学的にアクティブなシステムで測定される。
PUF挙動を示す揮発性メモリ素子の例は、フリップフロップおよびラッチである。開始時に、集積回路に含まれてもよいようなメモリ素子は、乱数値で満たされることになる。乱数値は、メモリ素子が製造された製造工程における精密なばらつきに依存する。メモリ素子を構築する様々な構成要素の形態におけるわずかな変化が乱数値を変化させる可能性がある。部分的ランダム特性は、メモリ素子の特定のレイアウト、またはその製造中に使用されるそれに対応するマスクによって特異的に生じるものではなく、むしろマスクから実際の物理的構造、たとえばメモリ素子の物理的構造への転写中に生じる。
ICレイアウト、ICマスクレイアウト、またはマスクデザインとしても知られる集積回路レイアウトは、集積回路の構成要素を構成する金属、酸化物、または半導体層のパターンに対応する平坦な幾何学形状という点において、集積回路の描写である。半導体メモリ素子の複数のインスタンス化を作成するために同じレイアウトが複数回使用されたとしても、レイアウトから物理的メモリ素子へのデザインの転写は常に、異なる物理的特性および異なる電源投入挙動を生じる何らかのばらつきを付与する。その結果、どのような内容を用いて特定のメモリ素子が物理的に測定を行わずに電源投入するかは予測不可能であり、すなわちどのように電源投入するかを知るためにはメモリ素子へのアクセスを有する必要がある。
たとえばサブミクロンのプロセスばらつきなど、製造中の避けられないばらつきのため、互いに対するメモリ素子の構成要素の挙動は少なくともわずかにランダムである。これらのばらつきは、たとえばメモリセルのトランジスタのわずかに異なる閾値電圧に、反映される。メモリ素子がたとえば書き込みアクションの前などの未定義状態で読み出されるとき、その出力はランダムな構成に依存する。同じ特徴的な挙動を備える新しいメモリ素子の製造は、同じ構成の製造を必要とするが、構成はランダムに達成されたものである。これは実現不可能なので、メモリ素子は物理システムとして複製不可能であり、すなわちこれはPUFである。
PUFのさらなる例は、いわゆるバタフライPUFである。バタフライPUFは、複数のバラフライPUFセルを含む。バタフライPUFセルは、2つのラッチまたはフリップフロップの交差結合を含む。バタフライPUFは、フィールドプログラマブルゲートアレイ(FPGA)上で実現されることが可能である。バタフライPUFはまた、これが実現される集積回路の複雑な物理特性から、秘密鍵などの特に秘密の識別子を抽出することもできる。バタフライPUFは、以下の論文においてより完全に説明されている:Sandeep S.Kumar,Jorge Guajardo,Roel Maes,Geert−Jan Schrijen,Pim Tuyls,”The Butterfly PUF protecting IP on every FPGA(各FPGA上でIPを保護するバタフライPUF)” pp.67−70,2008 IEEE International Workshop on Hardware−Oriented Security and Trust,2008。バタフライPUFはまた、国際公開第2009/024913号として公開され、参照により本願に組み込まれる、国際特許出願”Identification of Devices Using Physically Unclonable Functions(物理的複製不可能関数を用いる装置の識別)”にも記載されている;特に図8および図10、ならびに国際公開第2009/024913号の対応する記述を参照のこと。
PUFの用途の1つは、電子回路上で暗号鍵を導出することである。電子回路は通常、集積回路(IC)および/またはプログラマブル論理を含む。プログラマブル論理は、たとえばフィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理装置(PLD)、またはデジタル信号プロセッサ(DSP)、マイクロプロセッサなどを含む。何らかの不揮発性メモリに暗号鍵を保存する代わりに、鍵が装置によって必要とされるときにのみ、鍵はPUFから生成される。鍵は、もはや必要なくなると、削除されることが可能である。次に鍵が必要となったときには、PUFから再び導出されることが可能である。PUFは、同じチャレンジが2回評価されるときにまったく同じ結果を与えるとは限らないので、導出されるたびに鍵が同じになることを保証するために、ファジーエクストラクタとしても知られる、いわゆるヘルパデータアルゴリズムが使用されてもよい。雑音の多い測定から再生可能な出力値を構築するためにヘルパデータを使用する方法の1つは、たとえば、いずれも参照により本願に組み込まれる、国際公開第2006/129242号”Template Renewal in Helper Data Systems(ヘルパデータシステムにおけるテンプレート更新)”および国際公開第2004/066296号”Reliable Storage Medium Access Control Method And Device(高信頼性記憶媒体アクセス制御方法および装置)”に記載されている。
暗号鍵を作成するためにPUFを使用する方法の1つは、以下のとおりである。まず、登録段階の間に、チャレンジ−応答ペアが作成される。次に、遮蔽関数としても知られるファジーエクストラクタを用いて、ヘルパデータが作成されるが、たとえば国際公開第2004/066296号を参照されたい。装置上では、チャレンジおよびヘルパデータが不揮発性メモリに記憶される。暗号鍵を導出するために、チャレンジのPUFを再び評価することによって新しい応答が得られる。ヘルパデータアルゴリズムにしたがって、新しい応答を記憶されたヘルパデータと組み合わせることにより、鍵が導出される。ヘルパデータは、導出されるたびに鍵が同じになることを保証する。
ヘルパデータ
起動コードとしても知られるヘルパデータは、測定値と称されることもある、第一PUF応答、ならびに特定のデータ項目から作成されたデータであり、第一および第二PUF応答がわずかに異なっていたとしても、後に特定のデータ項目が第二PUF応答およびヘルパデータから正確に再構築されるようになっている。第一応答と比較したときの第二応答の差は「エラー」と称されてもよい。ヘルパデータは、第二応答のエラーを修正するという意味において、エラー修正データと見なされてもよい。ヘルパデータの機能は、単なるエラー修正以上のものにおよぶことができる。たとえば、第二応答のエラーの修正とともに、ヘルパデータは、たとえば鍵など、所定のデータ項目に応答をマッピングすることができる。第一応答は登録応答と称されてもよい。PUFが多入力を許容する場合には、第一および第二応答は同じ入力、すなわちチャレンジと見なされる。ヘルパデータはこのチャレンジに固有であり、このためヘルパデータを参照するときは、単一のチャレンジしかない、あるいは特定のチャレンジが選出されたと見なされる。
ヘルパデータはまた、1組のチャレンジのためにも定義され得る。たとえば、ヘルパデータは選ばれた特定のチャレンジ群を定義することができ、これに対する応答は、値またはビット列を導出するために組み合わせられる。
ヘルパデータを作成する方法は数多く存在する。ヘルパデータを用いると、限られた数のエラーのみが修正され得る。いくつのエラーが修正可能かは、ヘルパデータのタイプ、およびヘルパデータの構築中に使用されるパラメータに依存する。
データ項目は、暗号鍵、または登録応答そのものであってもよい。データ項目を再構築するためにヘルパデータを計算するという一般概念は、当業者にとって周知である。
たとえば、参照により本願に組み込まれる国際公開第2006/053304号は、どのようにしてヘルパデータが計算されるか、およびどのようにして登録応答が再構築されるかを記載している;たとえば、図3および付随する記述を参照されたい。この特許明細書はまた、どのようにして登録応答から鍵が導出されるかを、より詳細に示している。
ヘルパデータの構築および使用は、たとえば、J.P.Linnartz,P.Tuyls,’New Shielding Functions to Enhance Privacy and Prevent Misuse of Biometric Templates(秘密を強化して生体テンプレートの誤用を防止するための新しい遮蔽関数)’,In J.KittlerおよびM.Nixon編集,Proceedings of the 3rd Conference on Audio and Video Based Person Authentication,volume 2688 of Lecture Notes in Computer Science,pages.238−250,Springer−Verlag,2003、およびY.Dodisら,’Fuzzy−Extractors: How to generate strong keys from biometrics and other noisy data(ファジーエクストラクタ:生体およびその他雑音データを含むデータから強力な鍵を生成する方法)’,Advances in cryptology − Eurocrypt 2004,Ser.LNCS,C.CachinおよびJ.Camenisch編集,vol.3027.Springer− Verlag,2004,pp.523−540に、より完全に記載されている。国際公開第2004/066296号として公開され、参照により本願に組み込まれる特許、”Reliable Storage Medium Access Control Method and Device(高信頼性記憶媒体アクセス制御方法および装置)”も参照されたい。
たとえば、その応答がビット列であるか、またはその応答がビット列に変換されてもよい、PUFを検討する。たとえば、1ビットメモリ素子の集合における開始値は、ビット列応答を備えるPUFと見なされてもよい。ヘルパデータを作成する方法の1つは以下のとおりである。たとえばBCHコードなどのエラー修正コードが選択され得る。所望のデータ項目が、エラー修正コードのコード語に変換される。多数のコード語が必要とされる可能性があることに、注意する。PUFの登録応答がコード語でXORされ、結果がたとえばメモリに記憶される。この結果は、PUF応答の雑音の修正を可能にするので、ヘルパデータとして使用されてもよい。後にPUFはさらなる応答を得るために再度チャレンジされる。登録応答およびさらなる応答は、通常はエラー修正コードが修正可能なエラー数とは数ビット異なっていなければならない。用途に応じて、エラー数が大きすぎて修正されない特定の確率が、許容されてもよい。エラーを有するコード語を得るために、さらなる応答がヘルパデータでXORされる。なお、さらなる応答にエラーがあった場合には、これらはエラーを有するコード語にも存在することに、注意する。エラーを有するコード語は、コードに対応するエラー修正アルゴリズムを用いて、たとえばBCHアルゴリズムを用いて、修正される。結果的な修正済みコード語から、データ項目が抽出されることが可能である。その他の適切なエラー修正コードは、リードマラー、ゴレイ、および反復コード、またはこれらの組み合わせを含む。エラー修正コードの技術分野で知られているように、新しいコードは、周知のエラー修正コードに構築技術を適用することによって得られてもよい。たとえば、新しいコードを取得するために、コード連結と称される技術によって、2つのエラー修正コードが組み合わせられてもよい。エラー修正コード構築アルゴリズムは、PUFのパラメータ、具体的にはそのエラー率および出力ビット数、信頼できる出力ビットの望ましい数、および与えられた用途で実際に許容可能なエラーレベルに合わせて、エラー修正コードをカスタマイズするために使用されてもよい。
様々な語長のコードが使用可能である。PUF応答のサイズよりも短い語長を有するコードの場合には、PUF応答が破棄されるかまたは多数のコード語が連結されてもよく、連結は少なくともPUF応答と同じ長さとなる;語長が長い場合には、応答と語長とが等しい長さを有するように、PUF応答には、たとえば0が加えられてもよい。
PUFはHISシステムにおいて使用されてもよい。ハードウェア固有セキュリティ(HIS)システムは、物理的複製不可能関数(PUF)に基づいている。PUFは、必要なときにのみ鍵を生成するために使用されることが可能であり、鍵を保存する必要はない。一旦使用されると、鍵は全ての内部レジスタおよびメモリから除去されることが可能である。鍵は使用されるたびに再構築されてもよく、装置が電源遮断されると消滅する。
アンチエイジングデータ
半導体メモリにおける応答パターンの生成は、起動信号の反復適用後の劣化に敏感であるかも知れない。この現象は、その開始値がPUF制御手段によって読み出された後に、適切なアンチエイジングパターンをメモリに書き込むことによって、遅延されるかも知れない。
一実施形態において、システムは、先にメモリ素子から読み出された論理状態の逆をメモリ素子に書き込むように構成された、アンチエイジング装置を含む。
交差結合したラッチ、フリップフロップ、SRAMなどのような、フィードバック効果に基づくメモリは、起動信号の、すなわち電源投入の反復適用後の劣化に敏感であることが、見いだされた。つまり、システムが繰り返し起動された後、メモリから取得される応答パターンは、登録データから乖離していく。先のメモリの読み出しと比較すると、ますます多くのメモリ位置が、これらが起動されたときに異なる論理状態に入る。劣化の影響は、「エイジング」とも称される。
この現象は、PUFが長時間にわたって多数回の起動の後に使用される場合に、特に問題となる。ある程度までは、エラー修正機構が、新たな偏差を修正することによってこの挙動を修正することが可能であるが、しかしある時点で、応答パターンは修正しきれないほど多くのエラーを含むようになる。
問題となる劣化を引き起こす可能性のある1つの機構は、バーンインとしても知られる、負バイアス温度不安定性(NBTI)である。NBTIは、pMOSトランジスタにおいて負バイアス条件の下で界面トラップを発生させ、それによりその閾値電圧を低下させる。その結果、影響を受けたメモリセルの開始挙動が時間とともに変化する。
先に読み出された値の逆の値でメモリセルに上書きすることによって劣化の影響が低減され得ることが、観察されている。これを実現するにはいくつかの方法がある。たとえば、起動後にメモリセルの論理状態を読み出し、その論理状態の逆を計算し、論理状態の逆をメモリセルに書き込むことができるだろう。
好適な方法は、現在の開始値の逆ではなく、登録値の逆でメモリに上書きすることである。エラー修正を用いて、PUF制御手段は登録値を取得し、その逆をアンチエイジングデータとして使用してもよい。これは、アンチエイジングがいつも同じ値で行われるという利点を有し、これによりその効果を最適化する。
そのメモリから先に得られた内容の逆でメモリに上書きすることによってエイジングを防止することは、参照により本願に組み込まれる、”Method of reducing the occurrence of burn−in due to negative bias temperature instability(負バイアス温度不安定性によるバーンインの発生を低減する方法)”と題された国際公開第PCT/IB2009/051592号に、さらに記載されている。
参照により本願に組み込まれる、”Physically unclonable function with temper prevention and anti−aging system(改ざん防止およびアンチエイジングシステムを備える物理的複製不可能関数)”と題された欧州特許第09167906.8号明細書は、アンチエイジングのさらなる改善を記載している。メモリ素子の一部がアンチエイジングデータで上書きされさえすれば、特にいわゆる凍結攻撃(freezing attack)に対して、セキュリティがさらに改善され得ることが、観察されている。
図1は、電気物理的複製不可能関数(PUF)100を図解するブロック図を示す。物理的複製不可能関数100は図1に示される素子を含むが、当業者には著明なように、付加的な構成要素を含んでもよい。なお、構成要素は、たとえば電力レールへの接続など、電力を受け取るための電源入力を有することに留意されたい。電源入力は図1に示されていない。
PUF100はメモリ素子110を含む。メモリ素子110は制御入力112を含む;この実施形態では、クロック130からクロック信号を受信するためのクロック入力が使用される。メモリ素子110は、メモリに保存するための1ビットのデータを受信するための、データ入力114を含む。メモリ素子110は、メモリ素子110の内容を読み出すための、データ出力をさらに含む。
メモリ素子110はたとえば、いわゆるDフリップフロップであってもよい。Dフリップフロップは、遅延フリップフロップ(その出力Qが入力の遅延Dのように見えるため)またはデータラッチとしても知られる。従来、データ入力114は「D」で表され、クロック入力112は「CLK」およびデータ出力116は「Q」で表される。メモリ素子110は、さらなる入力および/または出力を含んでもよい。Q出力は、クロックピンで正エッジの瞬間にD入力の状態になる(あるいはクロック入力がアクティブローの場合には負エッジ)。出力はD入力すなわちデータ入力の値を取り、最大で1クロックカウントだけ遅延(Delay)するので、この理由のためこれはDフリップフロップと称される。従来、遅延フリップフロップはたとえば、シフトレジスタを実現するために使用され、この理由のためこれらは標準セルライブラリに見られる。本発明によって構成されると、これらはPUFとしても使用されてよい。メモリ素子110は、メモリ素子110の内容の補数を読み出すために、さらなるデータ出力を含んでもよい。図4aは、図1で使用されてもよいフリップフロップを示す。メモリ素子110はまた、強制的にメモリ素子の状態を少なくとも2つの安定状態のうちの1つにする、1つ以上のさらなる入力も含んでよい。
メモリ素子110はまた、いわゆるラッチであってもよい。この場合、クロック入力112は通常、E、EN、またはその他の名前で記される、イネーブル信号と称される。イネーブル信号112がアクティブであるとき、データ入力114の信号は出力116に渡される。イネーブル信号112が非アクティブであるとき、出力116の信号は保持され、データ入力114の変化は出力116の値を変化させない。従来、ラッチはしばしばタイミング問題を解決するためクロックドメイン境界にデータを保持するために使用されており、このためこれらは標準セルライブラリで見いだされる。
図1の実施形態はまた、遅延ラッチとともに使用されることも可能である。Dラッチは、制御信号がアクティブであるときに入力信号を出力に渡す。異なる実装も可能であり、本発明において使用されてよい。たとえば、Dラッチは、入力を制御するゲートを有してもよく、あるいはこれは伝送ゲートを有してもよい。伝送ゲートはFETで、あるいはP FETとN FETとの組み合わせなどで、構築されることが可能である。イネーブル信号が非アクティブであるとき、電源投入状態は交差結合にのみ依存する。通常、これらの回路をクロックするためにはイネーブルポート(EN)が使用される。
メモリ素子110にデータを書き込むことにより、これは少なくとも2つの安定状態のうちの1つになるように構成されることが可能である。しかしながら、メモリ素子110にデータが書き込まれていない起動時であっても、これは自然に安定状態になる。この状態は通常は未定義と称されるが、しかし実際には、メモリ素子がたまたま製造された正確な方式によって大部分が決定される。メモリ素子110のわずかなばらつきでさえ、これがどの安定状態で起動するかに影響を及ぼすことになる。
クロック入力112は、クロック130によって生成されたクロック信号から遮蔽される。タイマ142は、特定の期間の間、たとえばグランド電圧によって表される、論理「0」に等しい電圧を生じるように構成されている。期間は、メモリ素子の電源投入とともに開始され、所定の期間だけ継続する。期間はこのためPUF100の電力供給を含む。期間は少なくともメモリ素子110を安定状態にさせるのに十分な長さである。メモリ素子110が静定されるのに必要な時間は、採用されるメモリの正確なタイプに依存する。通常、メモリ素子の仕様内に収まるクロック速度で動作するクロックの数クロック周期に必要とされる時間で、たとえばクロック130については十分である。所定期間の後、タイマ142は論理「1」に等しい電圧を生じる。タイマ142は、タイミング問題を防止するために、その出力の信号を再計時してもよい。タイマ142の出力は、ANDゲート144に接続される。ANDゲート144の出力は、制御入力線146を経由してクロック入力112に接続される。ANDゲート144は2つの入力を有する;入力の1つはタイマ142から得られ、もう一方はクロック130から得られる。ANDゲート144の効果は、ロジックANDを用いて論理「0」信号と組み合わせられるので、起動中に、クロック130によって生成されたクロック信号がメモリ素子110に伝播されないことである。所定期間の後タイマ142によって命令されるように、クロックは論理ANDを用いて論理「1」信号と組み合わせられ、その結果、クロック信号はクロック入力112においてメモリ素子110に到達する。
クロック入力112の機能的極性に応じて、AND144がOR、NAND、またはNOR関数に置換され、タイマ142の出力の極性が反転されることがあるかも知れない。この実施形態において、タイマ142およびAND144は、メモリ素子110の遮蔽手段として使用される。
メモリ素子110が静定された後、その内容はPUF制御手段120によって読み出される。PUF制御手段120は、デジタル識別子を構築するために多ビットのPUF入力を取得する。多ビットを取得するのに可能なソースはいくつかある:メモリ素子110は多ビットのデータを記憶してもよく;PUF制御手段120は多数のメモリ素子、たとえば多数のラッチ、または多数のフリップフロップ、または多数のレジスタ、またはこれらの組み合わせなど、たとえば多数のラッチとフリップフロップとの組み合わせに、接続さてもよく;PUF制御手段120は、たとえばバタフライPUFなど、その他の適切なPUF入力に接続されてもよい、などである。
たとえば、PUF制御手段120は、512個のラッチから512ビットのPUFデータを取得してもよいが、この数は純粋な例示であり、デジタル識別子において望ましいビット数および存在する雑音の量に依存する。PUFデータは、物理媒体の少なくとも部分的にランダムな物理的特性によって少なくとも部分的に決定されるデータである。メモリ素子110の場合、メモリ素子110を構成する半導体素子の少なくとも部分的にランダムな物理的特性は、PUFデータのソースである。少なくとも部分的にランダムな物理的特性は製造中には制御されることは不可能であり、あるいは少なくとも過度の努力および資源が費やされた後にのみ可能であり得る。
一例として、図10は、PUF制御手段120が多数のメモリ素子にどのように接続され得るかを模式的に示す。図10には、メモリ素子110、110a、110b、および110cが示されているが、しかしより多くのメモリ素子があってもよい。図10の実施形態では、全てのメモリ素子が遮蔽手段を共有しており、すなわちこれはクロック入力を遮蔽するためである。各メモリ素子が自己の遮蔽手段を有することも可能である。
PUFデータは、事前にヘルパデータメモリ122に記憶されているヘルパデータと組み合わせられる。ヘルパデータメモリ122は、ヘルパデータメモリ122に記憶されたヘルパデータがPUF制御手段120によって取得、たとえば読み出されることが可能なように、PUF制御手段120に接続されているかまたは接続可能となっている。ヘルパデータアルゴリズムをPUFデータおよびヘルパデータに適用することにより、異なる電源投入シーケンスにわたる自然な変動がそこから除去されたデジタル識別子が、生成される。ヘルパデータは、物理的複製不可能関数の登録段階の間にPUF制御手段によって、たとえば製造者によって、ヘルパデータメモリ122に書き込まれてもよい。ヘルパデータはまた、外部構成手段、この場合はPUF制御手段120を用いて書き込まれてもよく、ヘルパデータメモリ122は制御手段120からヘルパデータメモリ122に書き込むように構成される必要はない。
ヘルパデータはまた、外部ソースから取得されてもよい。
このようにヘルパデータを生成してヘルパデータアルゴリズムを適用することは、当該技術分野において周知である。完全性のため、我々はPUF制御手段120が動作してもよい方式の1つを提示する。
PUF100が最初に電力供給されるとき、メモリ素子110、およびもしあればPUFデータのその他全てのソースの内容が、読み出される。このデータから、デジタルビット列が生成される。このデジタルビット列は、登録データとして知られる。登録データは、通常はXOR演算を用いて、デジタルビット列と同程度に広いコード語を包含するコードからランダムに選択されたコード語に、追加される。追加の結果はヘルパデータとしてヘルパデータメモリ122に記憶される。その後の電源投入において、メモリ素子110およびもしあればPUFデータのその他全てのソースが再び読み出され、デジタルビット列が生成される。新しいデジタルビット列は、事前にヘルパデータメモリ122に記憶されたヘルパデータに追加される。結果的に得られるのは、エラーが追加された可能性のあるコード語である。コードに関連づけられたエラー修正アルゴリズムがここで、エラーを除去するためにPUF制御手段120によって採用される。結果的に得られるのはコード語である。エラー修正手順のため、PUFデータが何らかの変動を有する可能性があったとしても、修正済みコード語は電源投入のたびに同一となる。コードのエラー修正能力は、PUFデータの変動を考慮に入れて、コード語が、たとえばその時間の99%など、現在の用途に対して十分頻繁に再構築され得るように、選択されなければならない。修正済みコード語をヘルパデータに追加することにより、元の登録列が再構築される。図1の実施形態において、再構築登録列はPUF制御手段120の出力124に配置される。再構築登録列は、アンチエイジングのため、およびデジタル識別子としても、使用されてよい。あるいは、PUF制御手段120は、デジタル識別子として修正済みコード語を出力してもよい。再構築登録列としての修正済みコード語はいずれも、たとえば暗号ハッシュ関数によって、さらに処理されてもよい。前記さらなる処理は、PUF制御手段120で、またはどこか別の場所で行われてもよい。
ヘルパデータを構築し、登録列を再構築するには、その他様々な方法もある。
再構築登録列は、再構築登録列をアンチエイジング手段150に伝送するために、データ線126上に配置される。アンチエイジング手段はMUX156を制御する。MUX156は2つの入力を有する;MUX156はアンチエイジングデータ線152を経由してアンチエイジング手段150に接続され、これを通じてMUX156はアンチエイジング手段150からアンチエイジングデータを受信する;MUX156はその他の入力としてメモリ素子110に記憶されたデータを受信するために、データ線118を経由してデータ出力116に、さらに接続されている。MUX156の出力はデータ入力114に接続されている。電源投入から始まって少なくともPUF制御手段120がメモリ素子110から開始内容を読み出してしまうまで続く期間の間、アンチエイジング手段150は、データ線118を通じて受信した入力をデータ入力114に転送するように、MUX156を制御する。その結果、開始データはデータ入力114に連続的に再入力される。その効果は、メモリ素子110がデータ値を記憶してレジスタのように動作することである。PUF制御手段120が登録データを再構築した後、アンチエイジング手段150はMUX制御線154を通じてMUX156に、アンチエイジングデータ線152を通じて受信したデータを転送するように命令する。登録データの一部はメモリ素子110に対応する;この部分は、登録段階の間にメモリ素子110から読み出されたデータである。雑音がメモリ素子110の開始値を変更しない場合には、この部分はメモリ素子110の現在の開始値と同一である。しかしながら、登録中または現在の電源投入シーケンス中のいずれかに、メモリ素子110の値が変動のため変更された可能性もある。アンチエイジング手段150は、アンチエイジングデータを計算するように、メモリ素子110に対応する登録データの部分を反転する。アンチエイジングデータは、アンチエイジングデータ線152を通じてMUX156に転送される。アンチエイジング手段150がMUX制御線154に入力アンチエイジングデータ線152を使用するように命令した後、アンチエイジングデータはメモリ素子110に書き込まれることになる。
アンチエイジング手段150は、PUF制御手段120の登録列を受信するときにメモリ素子110の上書きを開始するように構成されてもよい。アンチエイジング手段150は、PUF制御手段120と一体化してもよい。図1の実施形態において、クロック入力112が遮蔽されているので、データポート114のスプリアス信号からの影響は低減される。
動作中、PUF100は以下のように動作してもよい。
最初に、PUF100は通電状態にない。PUF100が電力供給されると、メモリ素子110はその安定状態のうちの1つに静定され始める。ほぼ同時に、クロック130はクロック信号を生成し始める。タイマ142は論理「0」を生成し始める。ANDゲート144は、クロック130が生成したクロック信号がメモリ素子110に到達しないように妨害する。メモリ素子110はこうしてクロックに邪魔されることなく静定されることが可能である。メモリ素子110が安定状態になった後、タイマ142の時間制限が切れ、タイマ142は論理「1」を生成し始める。ここでクロック信号はクロック130からクロック入力112に渡されることが可能となる。刻時がクロック入力112に到達するたびに、メモリ素子110はその内容をデータ入力114によって提供された内容で上書きするように起動される。このとき、アンチエイジング手段150はまだMUX156に、データ線118を通じて受信した入力を転送するように命令している。このためメモリ素子110はその内容を刻時のたびに上書きするが、しかしこれは同じ値で上書きする。こうしてメモリ素子110の開始内容は固守される。メモリ素子110に電力供給した後のいずれかの点で、PUF制御手段120はアクティブになる。これはメモリ素子110の起動シーケンスの一部として電力供給されてから比較的早い時期であってもよいが、しかしこれは開始されたセキュリティアプリケーションの一部として、もう少し後に行われてもよい。PUF制御手段120はメモリ素子110の、場合によっては多数のメモリ素子110の、内容を読み出す。メモリ素子110の先の電力供給の後に記憶されたヘルパデータを用いて、PUF制御手段120は登録列を再構築し、デジタル識別子を生成する。登録列はアンチエイジング手段150に転送される。この時点でアンチエイジング手段150は、登録列のどの部分がメモリ素子110から事前に読み出されたかを特定してこの部分を反転するが、メモリ素子110がフリップフロップまたはラッチである場合にはこの部分は単一ビットであってもよく、メモリ素子110がより大きいメモリ素子または多数の素子の組み合わせである場合には、これは多ビットであってもよい。ここでアンチエイジング手段150は、アンチエイジングデータ線152を通じて登録列の前記部分の逆をMUX156に送り、データ線118を通じて受信した入力の代わりにアンチエイジングデータ線152を通じて受信した入力を転送するようにMUX156に命令する信号を、MUX制御線154を通じて送る。その結果、メモリ素子110の内容はアンチエイジングデータで上書きされ、PUFとしてのメモリ素子110の耐用寿命は延長される。アンチエイジングデータを書き込んだ後、MUX156は、保存されたアンチエイジングデータがメモリ110に保存されたままとなるように、切り替えられる。
タイマ142によるクロックからのPUF100の遮蔽は、その構成ゲート(のいくつか)の少なくとも部分的にランダムな物理的特性へのメモリ素子110の依存性を増加させ、その他のゲートのいくつかの潜在的影響を低減することによってメモリ素子110のカオス的な挙動を減少させる。
PUF100は、いくつかの方式で簡素化されてもよい。
たとえば、アンチエイジングの使用は放棄されてもよい。これはPUFとしてのメモリ素子110の耐用寿命を短縮する可能性があるが、しかしその一方ではPUF100の複雑さおよび価格を低減する。アンチエイジングが使用されなければ、アンチエイジング手段150、MUX156、アンチエイジングデータ線152、MUX制御線154、およびデータ線126は放棄されてよい。データ線118がMUX156の代わりにデータ出力116からデータ入力114に直接接続されることになるだろう。
図1に示される実施形態は、単一のチャレンジ、すなわち電力供給を備える電子PUFとして構成されている。
さらに、PUF制御手段120は、PUFデータの変動の修正の省略によって簡素化されてもよい。これがなされる場合、ヘルパは必要とされないので、ヘルパデータメモリ122は放棄されてよい。アンチエイジングがまだ使用される場合には、これは登録列の部分の逆の代わりにメモリ素子110の内容の逆を使用するだろう。その場合、データ線118はMUX156およびアンチエイジング手段150の両方に接続されることになる。アンチエイジング手段150は、デジタル識別子が構築されたことを示すため、PUF制御手段120から信号を受信する。雑音が除去されていないデジタル識別子は、装置全体にわたる開始値のばらつきと比較したときに雑音が十分に小さければ、メモリ素子110を識別するために、および含意PUF100によって、まだ有用であるかも知れない。アンチエイジングおよびエラー修正の両方を省略することによって、さらなる簡素化が実現される。
図2aは、本発明のより単純な実施形態である、電気物理的複製不可能関数200を示す。
PUF200は、メモリ素子としてのラッチ210を含む。ラッチ210はSR NANDラッチであり、図2bに示されるような方式で構築されてもよい。図2bに示されるラッチは230および240で標識された2つのNANDゲートを含み、これらは交差結合ループで接続されている。ゲート230の出力はゲート240の入力に接続され、ゲート240の出力はゲート230の入力に接続されている。各ゲートは、他方のゲートの出力に接続されていない1つの入力を有している。これら2つの入力は制御入力であり、メモリ素子の安定状態を制御するために使用されてもよい。ラッチ210の制御入力は、正電源電圧215に直接的かつ恒久的に接続されている。この接続の結果として、ラッチ210の安定状態を制御する可能性が失われている;その一方で、そのゲートの少なくとも部分的にランダムな物理的特性へのラッチ210の依存性は改善されている。PUF200は、PUFデータを読み出してデジタル識別子を導出するためのPUF制御手段220を、さらに含む。
図2a、図2bに示される実施形態は、単一のチャレンジ、すなわち電力供給を備える電子PUFとして構成されている。
本発明に使用されてもよいラッチには、多くの形状およびタイプがある。これらは通常、交差結合されたNANDゲート、NORゲート、またはインバータを用いて構築される。セットリセットラッチ(セットリセットフリップフロップとも称される)は、最も単純なラッチの1つである。これは交差結合されたNANDゲート(アクティブロー設定およびリセット信号)またはNORゲート(アクティブハイ信号)を用いて構築されることが可能である。SR NANDラッチは図2bに示されている。設定およびリセット信号が非アクティブであるとき、電源投入状態は交差結合にのみ依存する。
図3a、図3b、および図3cは、たとえば図1または図2aに示されるような構成で、本発明において使用されてもよい、3つのラッチを示す。図1の実施形態で使用されるとき、D入力はポートデータ入力114として使用され、EN入力はポートクロック入力112として使用され、Q出力はデータ出力116として使用されるだろう。図2の実施形態で使用されるときは、図2aに示されるようなSおよびR入力のVdd(正電源電圧)への接続と同様に、ENはGnd(グランド)に接続されるだろう。この特定の場合には、D入力はVddまたはGndのいずれにも接続されることが可能である。
たとえば図3a、図3b、および図3cに示されるように、アクティブハイEN信号の代わりにアクティブローEN信号を有するラッチなど、別のタイプのラッチも可能である。これらのラッチでは、EN信号がVddに接続されるべきである。すると前記ラッチのD入力は、まだVddまたはGndのいずれかに接続されていることが可能である。
図4aは、たとえば図1または図2の実施形態で、メモリ素子として本発明において使用されてもよい、Dフリップフロップを示す。
フリップフロップは、IC技術ノードの標準セルライブラリで入手可能な、ラッチと類似の論理構成要素である。装置に電力供給するとき、装置に含まれるフリップフロップは、内部物理的装置特性に依存する乱数値から開始する。したがって、異なるフリップフロップの電源投入状態が、物理的複製不可能関数として使用されることが可能である。十分な数のフリップフロップの内容がデジタル識別子の中で組み合わせられるとき、その結果は、これらが含まれる電子装置に固有となる。
SRAM PUFと比較して、ラッチ、フリップフロップ、またはレジスタを使用することの利点は、フリップフロップ設計の中に容易に拡散し、攻撃者に見つかりにくいことであるが、その一方でSRAMメモリはICの中で比較的大きい高密度構造として見えることである。
図4aに示されるフリップフロップ実装は、NANDゲートを用いて構築された3つのセットリセット(SR)ラッチを用いて構築されている。3つのラッチは図4bにおいて、ラッチ410、420、および430として識別される。ラッチ410および420はフリップフロップを制御するために使用される。ラッチ430はフリップフロップの内容を実際に記憶する役割を果たす。フリップフロップはまた、NOR実装を用いて構築されてもよく、この結果、アクティブロークロックとなる。さらに別の実装もまた可能である。出力は、クロック信号に正エッジが生じたときにのみ変化する。なお、ラッチ430のゲートの1つはラッチ410および420を接続するための3入力ゲートであることに、注意する。
クロックが低いとき、電源投入状態はラッチ430に依存する。クロックが高いときは、電源投入状態は他の2つのラッチ410および420に依存する。図4bは、電源投入中にメモリ素子からクロックを遮蔽する利点を、はっきりと示している。クロックがアクティブであるか否かに応じて、メモリ素子の電源投入状態が異なる数のゲート、特に異なる数のラッチに依存する場合には、クロックの遮蔽は、PUFデータソースとしてのメモリ素子の信頼性を向上する。
図5aは、本発明において使用されてもよい別の有用なメモリ素子である、マスタスレーブ型Dフリップフロップ500を示す。これは2つのDラッチで構築されている:第一Dラッチ510および第二Dラッチ520である。第一Dラッチ510のQ出力は、第二Dラッチ520のD入力に接続される。クロック信号は第一Dラッチ510および第二Dラッチ520のEN入力に接続されるが、しかし第一Dラッチ510についてはクロック信号はまずインバータを経由させられる。第一Dラッチ510のD入力は、組み合わせの、すなわちマスタスレーブ型フリップフロップの、D入力と見なされる。第二Dラッチ520のQ出力は、組み合わせの、すなわちマスタスレーブ型フリップフロップの、Q出力と見なされる。CLK線は、イネーブル(EN)線として使用されてもよい。マスタスレーブ型フリップフロップ500は、たとえば、通常はSおよびRと称される、フリップフロップを所定の状態にする入力など、1つ以上のその他の入力を含んでもよい。
クロックが低いとき、電源投入状態は第二Dラッチ520に依存する。クロックが高いときは、電源投入状態は第一Dラッチ510に依存する。この原則は、2つのチャレンジを有するチャレンジ−応答機構として使用されることが可能である:マスタスレーブ型DフリップフロップPUFの第一チャレンジは、装置への電力供給中にクロック入力を低く保つことによって付与され、第二の方は装置への電力供給中にクロック入力を高く保つことによって付与される。実施形態には、そのチャレンジの各々に対するヘルパデータが設けられることも可能である。あるいは、1つのチャレンジのヘルパデータは装置上で入手可能であってもよく、その一方で別のチャレンジのヘルパデータが装置の外部に保存されてもよい。マスタスレーブ型フリップフロップ500に電力供給している間、ENポートが低電圧すなわち論理「0」、または高電圧すなわち論理「1」のいずれに接続されるかを選択することにより、マスタスレーブ型フリップフロップ500の開始値が、第一Dラッチ510または第二Dラッチ520のいずれの交差結合ループによって決定されるかを判断してもよい。
マスタスレーブ型フリップフロップ500は、1つは第一Dラッチ510、1つは第二Dラッチ520の、2つの交差結合ループを含むメモリ素子である。メモリ素子は、内部を通るクロック信号を受信するためのクロック入力を含む;反転されたものは第一Dラッチ510へ、受信したままのものは第二Dラッチ520へ通される。マスタスレーブ型フリップフロップ500は、メモリ素子110がマスタスレーブ型フリップフロップ500に置き換えられ;マスタスレーブ型フリップフロップ500のDポートはデータ入力114に取って代わり;マスタスレーブ型フリップフロップ500のCLKポートはクロック入力112に取って代わり;マスタスレーブ型フリップフロップ500のQポートはデータ出力116に取って代わった、PUF100の構成において使用されてもよい。
PUF100において示される構成は、多くのチャレンジのために構成されたものではないが、以下のように改造されてもよい。どの交差結合ループがマスタスレーブ型フリップフロップ500の電源投入値を決定すべきかを選択するために、論理「0」または論理「1」を出力する選択手段が、追加される。たとえば、選択手段は1ビット不揮発性メモリまたは入力ピンを含んでもよく、これはPUFを含む電子装置によって、または外部で設定され得る。ANDゲート144は、以下の式によって指示される論理を実行する、より複雑な論理回路に置き換えられる:(NOT(タイマ)AND(選択))OR(CLK ANDタイマ)。この式において、「タイマ」はタイマ142の出力を表し、タイマがまだ時間切れになっていない間はタイマは0であってその後は1であり、「選択」は選択手段の出力を表す。
この論理回路の影響は、「選択」が低いときはPUF100の通常挙動、すなわちANDゲート144によって指示された挙動に続くことである。しかし「選択」が高い場合には、タイマが低い間にマスタスレーブ型フリップフロップ500に高信号が送られる。一旦タイマ142の出力が高くなると、すなわち電源投入シーケンスが終わると、マスタスレーブ型フリップフロップ500はクロック信号を通常通りに受信する。
図5bは、選択手段の可能な実施形態を示す。図1のメモリ素子110としてマスタスレーブ型フリップフロップ500が使用される場合には、図1の素子110、112、114、116、130、142、144、および146を置き換えるために、図5bに示される選択手段が使用されてもよい。メモリ素子500は、図5aからのマスタスレーブ型フリップフロップである。これはクロック入力512、データ入力514、およびデータ出力516を含む。これはその他の入力および出力を含んでもよい。チャレンジセレクタ540は、マスタスレーブ型フリップフロップ500の第一Dラッチ510と第二DラッチD520との間で選択する。クロック530は、マスタスレーブ型フリップフロップ500の通常動作で使用されるクロックである。セレクタ544は、上記の式を実行するmuxである。選択信号543に基づいて、これはクロック530またはチャレンジセレクタ540の出力を、クロック信号546に接続されたその出力に渡す。タイマ542は、クロックおよびチャレンジ選択信号のうちのどれがクロック信号546に向かって通されるべきかを決定する。図5bの制御入力512、データ入力514、およびデータ出力516は、図5aではそれぞれCLK、D、およびQで記されている。
2つの異なるチャレンジを許容する電気物理的複製不可能関数(PUF)は、遮蔽手段を使用しなくても、独立した発明的価値を有する;たとえば、メモリ素子の内容を読み出し、少なくとも部分的に前記内容からデジタル識別子を導出するためのPUF制御手段に接続可能な半導体メモリ素子を含む、電気物理的複製不可能関数(PUF)であって、メモリ素子は、少なくとも2つの異なる安定状態になるように構成可能なタイプのものであり、安定状態はメモリ素子の内容を表し、メモリ素子は、メモリ素子に電力供給してメモリ素子を通電状態にするための電源入力と、1つ以上の制御信号を受信するための制御入力とを含み、制御信号は、メモリ素子を少なくとも2つの異なる安定状態のうちの選択された1つに静定するように構成し、メモリ素子は電源投入時に少なくとも2つの異なる安定状態のうちの1つになるよう構成され、メモリ素子がなる特定の安定状態は、メモリ素子の少なくとも部分的にランダムな物理的特性に、少なくとも部分的に依存しており、ここでメモリ素子は2つの交差結合ループを含み、選択手段は2つの交差結合ループのうちの1つを選択するように構成され、電源投入時にメモリ素子がなる特定の安定状態は、2つの交差結合ループのうちの選択された一方の少なくとも部分的にランダムな物理的特性に依存するが、2つの交差結合ループのうちの選択されなかった方には依存しない。
電子PUFを遮蔽手段と組み合わせることにより、PUFとしてのその品質は改善される。
図6a、図6b、図6c、および図6d
レジスタをメモリ素子として使用すること、および電子PUFのPUFデータのソースとして機能することも、可能である。レジスタは、制御された書き込みを可能にするために、MUX(マルチプレクサ)を通じてそのD入力にその出力をフィードバックさせる。LD信号(ロード)がアクティブであるとき、入力は次のクロックエッジまたはラッチイネーブルにロードされ、あるいはこれはその現在の値を維持する。LD信号を非アクティブ状態に維持することによって、レジスタはPUFとして機能する。このように、D入力はフリップフロップまたはラッチのQ出力上に存在する信号をいつも受信する。クロックまたはイネーブル信号がINでの信号の値を切り替えたとしても、入力はフリップフロップまたはラッチにクロックされない。図6aおよび図6bに示されるレジスタのCLK信号を遮蔽することによって、そのPUF挙動が改善される。
QおよびDを通る余分なループ(およびクロックまたはイネーブル信号の活性)のため、PUF挙動は、クロックまたはイネーブル信号が非アクティブであるときの状態とは異なる。
PUF挙動のみを上記回路から外すために、muxは必要ではない。図6cおよび図6dに描写されるようなmuxを用いない、より単純なスキームを作ることもできるだろう。QおよびDを通るループはMUXを備えるものとはわずかに異なるため、およびループ遅延のため、PUF挙動はやはり異なってくる。
図6a、図6b、図6c、および図6dに示される上記回路において、使用可能なフリップフロップおよびラッチはまた、別のタイプのフリップフロップまたはラッチに置き換えられることも可能である。
図7は、異なるモジュールにわたって遮蔽がどのように分布してもよいかを図解するための線図700を示す。
時間図700において、時間は横軸上に示され、左から右に向かって進む。「0」が記された瞬間より前の期間に、メモリ素子またはメモリ素子が含まれる装置全体が、電源遮断されるかまたは通電されていない。「0」の瞬間に、電源スイッチが入れられる。瞬間0において、メモリ素子は安定状態にないが、しかし通電の結果、これは第一の期間710の間に静定され始める。第一の期間の終点である瞬間715において、メモリ素子は安定状態になる。メモリ素子への書き込みは行われていない。期間710の間、遮蔽は好ましくはハードウェア遮蔽手段を用いて行われる;たとえば、制御入力を基準電圧で接続することによって、またはメモリ素子に行くクロック信号をゲート制御することによって行われる。瞬間715の後に、第二の期間720が始まる。期間720の間に、メモリ素子の開始内容は、期間710の間に使用されたのと同じハードウェア遮蔽手段によって保持されてもよいが、しかし遮蔽はまた別のハードウェア手段を用いて、あるいはソフトウェア手段を用いて、実行されてもよい。たとえば、書き込み信号はメモリ素子に到達しないので、その期間の間にソフトウェアプログラムが書き込むことはできないという意味において、メモリ素子への書き込みは期間710の間は無効にされてもよい。期間720の間、メモリが安定状態になった後、たとえばこのメモリ素子への書き込みを回避するために装置上で動作するソフトウェアを構成することによってそれが回避されている限り、メモリ素子への書き込みは有効にされてもよいだろう。
期間720のどこかで、PUF制御手段はメモリ素子の内容を読み出す。PUF制御手段が読み出しを終えると、期間720が終了し、瞬間725によって標識される。この時に第三の期間730が始まる。期間730の間継続するためにはいくつかの可能性がある。たとえば、メモリ素子は、電源投入の間に静定された安定状態のままであってもよい;この挙動は、メモリ素子への書き込み信号を恒久的に阻止することによって、得られてもよい。さらなる例として、期間730においてメモリ素子の内容がアンチエイジングデータで上書きされてもよい;この挙動は、瞬間725以前のいずれかの時点まで書き込み信号を一時的に阻止すること、およびアンチエイジングデータで開始データを上書きするために期間730の間にアンチエイジング手段を使用することによって、得られてもよい。さらなる例として、メモリ素子は、たとえば0などの定数で、またはランダムデータで、上書きされてもよい;この挙動は、もはや必要がなくなったときにメモリ素子の中にセキュリティに敏感な材料の痕跡が残っていないことを保証することによって、セキュリティを改善するかも知れない。メモリの一部はアンチエイジングデータで上書きされてもよく、一部は定数またはランダムデータなど、その他のデータで上書きされてもよい。
図8aは、本発明によるスマートカード800の模式的描写を上面図で示す。スマートカードは、集積回路810と、集積回路810を支持する、通常はプラスチックの、カード805とを含む。集積回路810のアーキテクチャは、図8bに模式的に示されている。回路810は、本発明による方法を実行するためおよび/またはそのモジュールを実装するためにコンピュータプログラムコンポーネントを起動するための、たとえばCPUなどの処理ユニット820を含む。回路810は、プログラミングコード、データ、暗号鍵、ヘルパデータなどを記憶するためのメモリ822を含む。メモリ822の一部は読み取り専用であってもよい。メモリ822の一部は、たとえば鍵などのセキュリティ関連データを記憶するための、たとえばヒューズなどの、高セキュリティメモリであってもよい。回路810は、物理的複製不可能関数824を含む。たとえば、PUF824は、メモリ素子および遮蔽手段を含んでもよい。物理的複製不可能関数824は、メモリ822と組み合わせられてもよい。たとえばPUF824のメモリ素子は、メモリ822の一部であってもよい。メモリ822は、読み取り書き込みおよび読み取り専用メモリ、および/または揮発性および不揮発性メモリの、組み合わせであってもよい。回路810は、たとえばアンテナ、コネクタパッド、またはその両方などの、通信素子826を含んでもよい。回路810、メモリ822、PUF824、および通信素子826は、バス830を通じて互いに接続されてもよい。カードは、それぞれアンテナおよび/またはコネクタパッドを用いて、接触および/または非接触通信のために配置されてもよい。スマートカードは、たとえば内容へのアクセスを制御するためにセットトップボックス内で、遠隔通信ネットワークへのアクセスを制御するために携帯電話内で、公共交通機関へのアクセスを制御するために公共交通機関システム内で、銀行口座へのアクセスを制御するためにキャッシュカード内などで、使用されてもよい。
たとえば、メモリ822は、処理ユニット820による実行のためのソフトウェアを含んでもよい。たとえば、PUF制御手段がソフトウェアに実装され、処理ユニット820による実行のためにメモリ822に記憶されてもよい。前記ソフトウェアが実行されるとき、PUF824のメモリ素子が読み出され、822のヘルパデータが読み出され、たとえば暗号鍵などのデジタル識別子がユニット820によって導出される。スマートカードは、たとえば遅延PUFなど、さらなる非メモリベースPUFを含んでもよい。
本発明はスマートカードに限定されるものではなく、たとえば携帯電話、セットトップボックス、コンピュータ、アクセス制御システムなど、その他の集積回路上で実現されることも可能であろう。
図9は、本発明による方法をフローチャートに示す。フローチャートは、可能性のある順序で6つのステップを示す。
ステップ910は、制御信号を受信しないように制御入力を遮蔽することを含む。ステップ920は、メモリ素子に電力供給することを含む。ステップ930において、メモリ素子は安定状態になる。ステップ940は、メモリ素子の内容を読み出すことを含む。ステップ950は、デジタル識別子を導出することを含む。ステップ960は、アンチエイジングデータをメモリ素子に書き込むことを含む。
当業者にとって明らかとなるように、方法を実行する多くの異なる方式が可能である。たとえば、ステップの順序は変更されてもよく、いくつかのステップが平行して実行されてもよい。たとえば、ステップ940が少なくとも部分的に完了するまで、ステップ910が続けられる。ステップ960は任意である。さらに、方法ステップの前、最中、または後に、その他のステップが挿入されてもよい。挿入されたステップは、本明細書に記載されるようは方法の改良版を表してもよく、あるいは方法と無関係であってもよい。さらに、与えられたステップは、次のステップが開始される前に完全に終了していなくてもよい。
本発明による方法は専用ハードウェアにおいて実現されてもよいものの、本発明による方法は完全にまたは部分的にソフトウェアの制御の下で実行されてもよく、これはプロセッサシステムに方法900を実行させる命令を含んでいる。ソフトウェアは、登録および/または再構築段階の間、サーバまたは計算装置によって取られるこれらのステップを含むだけでもよい。ソフトウェアは、ハードディスク、フロッピ、メモリなど、適切な記憶媒体に記憶されてもよい。ソフトウェアは、有線で、または無線で、またはたとえばインターネットなどのデータネットワークを用いて、信号として送られてもよい。ソフトウェアは、ダウンロードおよび/またはサーバ上での遠隔利用のために、入手可能とされてもよい。
上述の実施形態は、本発明を限定するよりむしろ説明していること、および当業者は添付請求項の範囲から逸脱することなく多くの代替実施形態を設計することができることは、特筆すべきである。請求項において、括弧内に示されるいずれの参照符号も、請求項を制限するように解釈されるべきではない。「含む(comprise)」という動詞およびその活用形の使用は、請求項に記載されるもの以外の要素またはステップの存在を排除するものではない。要素の前の冠詞「a」または「an」は、このような要素が複数存在することを除外するものではない。本発明は、いくつかの異なる要素を含むハードウェアによって実現されてもよい。いくつかの手段を列挙する装置請求項において、これら手段のうちのいくつかは、ハードウェアの1つおよび同じアイテムによって実現されてもよい。単に特定の対策が互いに異なる従属請求項で引用されているということは、これらの対策の組み合わせが有利に使用され得ないことを示すものではない。
100、200 電気物理的複製不可能関数(PUF)
110 メモリ素子
112、512 制御入力
114、514 データ入力
116、516 データ出力
118 データ線
120、220 PUF制御手段
122 ヘルパデータメモリ
124 PUF出力
126 再構築された読み出しを伝送するためのデータ線
130、530 クロック
142、542 タイマ
144 ANDゲート
146、546 制御入力線
150 アンチエイジング手段
152 アンチエイジングデータ線
154 MUX制御線
156、544 MUX
210、410、420、430 ラッチ
215 正電源電圧
230、240 NANDゲート
500 マスタスレーブ型フリップフロップ
510 第一Dラッチ
520 第二Dラッチ
540 チャレンジセレクタ
543 選択信号
700 線図
710 第一の期間
715 第一の期間の終点
720 第二の期間
725 第二の期間の終点
730 第三の期間
800 スマートカード
805 カード
810 集積回路
820 処理ユニット
822 メモリ
824 物理的複製不可能関数
826 通信素子
830 バス
900 電気物理的複製不可能関数を実行する方法
910 制御信号を受信しないように制御入力を遮蔽
920 メモリ素子に電力供給
930 メモリ素子を静定
940 メモリ素子の内容を読み出す
950 デジタル識別子を導出
960 アンチエイジングデータをメモリ素子に書き込む

Claims (19)

  1. メモリ素子の内容を読み出し、少なくとも部分的に前記内容からデジタル識別子を導出するためのPUF制御手段(120)に接続可能な半導体メモリ素子(110)を含む、電気物理的複製不可能関数(PUF)(100、200)であって、メモリ素子は、少なくとも2つの異なる安定状態になるように構成されているタイプのものであり、安定状態はメモリ素子の内容を表し、
    メモリ素子は、
    メモリ素子に電力供給し、メモリ素子を通電状態にするための電源入力と、
    1つ以上の制御信号を受信するための制御入力(112)であって、制御信号はメモリ素子を少なくとも2つの異なる安定状態のうちの選択された1つに静定するように構成する、制御入力と、を含み、
    メモリ素子は電源投入時に少なくとも2つの異なる安定状態のうちの1つになるよう構成されており、メモリ素子がなる特定の安定状態は、メモリ素子の少なくとも部分的にランダムな物理的特性に、少なくとも部分的に依存しており、
    電源投入時にメモリ素子がなる特定の安定状態はまた、制御信号を受信する制御入力にも依存しており、
    電気物理的複製不可能関数は、メモリ素子の電源投入を含んで少なくともメモリ素子の静定まで継続する期間の間、メモリ素子がなる特定の安定状態が依存する制御信号を受信しないように制御入力を遮蔽するための、遮蔽手段(142、144)をさらに含む、電気物理的複製不可能関数。
  2. メモリ素子が、メモリ素子が通電状態にあるときに少なくとも2つの異なる安定状態を可能にする複数の相互接続半導体ゲートを含み、メモリ素子の物理的な、少なくとも部分的にランダムな特性は、複数の相互接続半導体ゲートの少なくとも部分的にランダムな物理的特性を含む、請求項1に記載の電気物理的複製不可能関数(PUF)。
  3. 相互接続半導体ゲートが、交差結合ループ状に接続された少なくとも2つのゲートを含む、請求項2に記載の電気物理的複製不可能関数。
  4. 交差結合ループ状に接続された2つのゲートのうちの少なくとも1つが多入力ゲートである、請求項3に記載の電気物理的複製不可能関数。
  5. メモリ素子がラッチ、フリップフロップ、またはレジスタである、請求項4に記載の電気物理的複製不可能関数。
  6. 期間は少なくとも、PUF制御手段によるメモリ素子の内容の読み出しまで継続する、請求項1から5のいずれか一項に記載の電気物理的複製不可能関数(PUF)。
  7. デジタル識別子の導出が第一および第二タイプのデータに依存し、第一タイプのデータは事前に不揮発性メモリ(122)に確定的に記憶されており、第二タイプのデータはメモリ素子の少なくとも部分的にランダムな物理的特性に少なくとも部分的に依存しており、第二タイプのデータは遮蔽手段を有する請求項1で定義された1つ以上のメモリ素子からのみ読み出される、請求項1から6のいずれか一項に記載の電気物理的複製不可能関数。
  8. 遮蔽手段が制御入力を基準電圧線で接続するように構成されている、請求項1から7のいずれか一項に記載の電気物理的複製不可能関数(200)。
  9. メモリ素子が、設定制御入力およびリセット制御入力を有するラッチを含み、設定制御入力およびリセット制御入力は各々、電源投入時にラッチがなる安定状態への変化を防止するためにラッチが維持状態になるように、基準電圧線に接続されている、請求項8に記載の電気物理的複製不可能関数。
  10. 遮蔽手段がメモリ素子の電源投入とともに始まる期間にわたって遮蔽し、所定の期間に亘って継続するために、タイマを含む、請求項1から9のいずれか一項に記載の電気物理的複製不可能関数。
  11. 1つ以上の制御信号を受信するための制御入力がクロック入力を含み、メモリ素子の少なくとも一部はクロック入力での刻時受信時に起動され、遮蔽手段は刻時受信時からクロック入力を遮蔽するように構成されている、請求項1から10のいずれか一項に記載の電気物理的複製不可能関数。
  12. メモリ素子がゲートクロックを有するレジスタを含み、遮蔽手段はゲートクロックのゲート開閉を制御するように構成されている、請求項11に記載の電気物理的複製不可能関数。
  13. メモリ素子が2つの交差結合ループを含み、遮蔽手段は高基準電圧または低基準電圧にクロック入力を選択可能に接続することによってクロック入力を遮蔽するように構成されており、選択された電圧は2つの交差結合ループのうちの1つをさらに選択し、電源投入時にメモリ素子がなる特定の安定状態は、2つの交差結合ループのうちの選択されなかった方ではなく、2つの交差結合ループのうちの選択された方の、少なくとも部分的にランダムな物理的特性に依存する、請求項11に記載の電気物理的複製不可能関数(500)。
  14. 遮蔽手段が、少なくともメモリ素子の電源投入の完了まで継続する期間の間、メモリ素子がなる特定の安定状態が依存する制御信号を受信しないように制御入力を遮蔽する、ハードウェア遮蔽手段を含む、請求項1から13のいずれか一項に記載の電気物理的複製不可能関数。
  15. 遮蔽手段が、少なくともメモリ素子の静定からPUF制御手段によるメモリ素子の内容の読み出しまで継続する期間の間、遮蔽するためのソフトウェア遮蔽手段を含む、請求項14に記載の電気物理的複製不可能関数。
  16. 遮蔽手段が、メモリ素子が通電状態にある間少なくとも1つの制御信号を受信すると、メモリ素子が1つの安定状態からもう一方に変化できるようにすることによってメモリ素子への内容の書き込みを可能にするため、PUF制御手段によるメモリ素子の内容の読み出しの後にメモリ素子の遮蔽を停止するように構成されている、請求項1から15のいずれか一項に記載の電気物理的複製不可能関数。
  17. メモリ素子の内容の読み出しの後にアンチエイジングデータをメモリ素子に書き込むためのアンチエイジング手段を含む、請求項16に記載の電気物理的複製不可能関数。
  18. 遮蔽手段が、制御入力と基準電圧線との間に恒久的接続を含む、請求項8および9のいずれかに記載の電気物理的複製不可能関数。
  19. 半導体メモリ素子を含み、メモリ素子は少なくとも2つの異なる安定状態に構成可能なタイプのものであり、安定状態はメモリ素子の内容を表し、メモリ素子は1つ以上の制御信号を受信するための制御入力を含み、制御信号はメモリ素子を少なくとも2つの異なる安定状態のうちの選択された1つなるように構成する、電気物理的複製不可能関数(PUF)を動作する方法であって、
    方法は、
    メモリ素子に電力供給し、メモリ素子を通電状態にするステップであって、メモリ素子は電力供給時に少なくとも2つの異なる安定状態のうちの1つに静定され、
    メモリ素子がなる特定の安定状態は、メモリ素子の少なくとも部分的にランダムな物理的特性に、少なくとも部分的に依存している、ステップと、
    メモリ素子の内容を読み出すステップと、
    少なくとも部分的に前記内容からデジタル識別子を導出するステップと、を含み、
    電源投入時にメモリ素子がなる特定の安定状態はまた、制御信号を受信する制御入力にも依存しており、方法はさらに、
    メモリ素子の電源投入を含んで少なくともメモリ素子の静定まで継続する期間の間、メモリ素子がなる特定の安定状態が依存する制御信号を受信しないように制御入力を遮蔽するステップをさらに含む、方法。
JP2013532128A 2010-10-04 2011-09-28 開始挙動が改善された物理的複製不可能関数 Active JP5881715B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10186435.3 2010-10-04
EP10186435 2010-10-04
PCT/EP2011/066871 WO2012045627A1 (en) 2010-10-04 2011-09-28 Physical unclonable function with improved start-up behavior

Publications (2)

Publication Number Publication Date
JP2013545340A true JP2013545340A (ja) 2013-12-19
JP5881715B2 JP5881715B2 (ja) 2016-03-09

Family

ID=44719942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013532128A Active JP5881715B2 (ja) 2010-10-04 2011-09-28 開始挙動が改善された物理的複製不可能関数

Country Status (5)

Country Link
US (1) US8848477B2 (ja)
EP (1) EP2625640B1 (ja)
JP (1) JP5881715B2 (ja)
KR (1) KR101852115B1 (ja)
WO (1) WO2012045627A1 (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015525979A (ja) * 2012-08-10 2015-09-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation セキュア・デバイスを製造する方法およびセキュア・デバイス
EP3026672A1 (en) 2014-11-21 2016-06-01 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
JP2017501637A (ja) * 2014-01-02 2017-01-12 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 署名検証方法、装置、およびシステム
US9548113B2 (en) 2014-11-21 2017-01-17 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
JP2017504267A (ja) * 2014-01-22 2017-02-02 クアルコム,インコーポレイテッド セキュアブート中のキー抽出
US9653161B2 (en) 2014-11-21 2017-05-16 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device comprising an arithmetic circuit that, in operation, calculates a binary reference value based on at least a part of the pieces of resistance value information, a read circuit that, in operation, selectively assigns, based on the binary reference value, one of two values to each of the pieces of resistance value information, and a write circuit that, in operation, performs a write operation corresponding to one of the two values among memory cells
US9823899B2 (en) 2015-06-18 2017-11-21 Panasonic Intellectual Property Management Co., Ltd. Random number processing device generating random numbers by using data read from non-volatile memory cells, and integrated circuit card
JP2017228736A (ja) * 2016-06-24 2017-12-28 ウィンボンド エレクトロニクス コーポレーション 半導体装置、半導体装置の製造方法および固有情報の生成方法
US9892783B2 (en) 2016-05-26 2018-02-13 Panasonic Intellectual Property Management Co., Ltd. Non-volatile memory device including memory cells having variable resistance values
US9948471B2 (en) 2015-06-18 2018-04-17 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device and integrated circuit card
US10096359B2 (en) 2016-05-27 2018-10-09 Panasonic Intellectual Property Management Co., Ltd. Nonvolatile memory device having resistive memory cells including at least one resistive memory cell initial state
JP2019145926A (ja) * 2018-02-17 2019-08-29 渡辺 浩志 チップウォレット
US10574639B2 (en) 2016-05-25 2020-02-25 Panasonic Intellectual Property Management Co., Ltd. Authentication apparatus utilizing physical characteristic
KR20200050412A (ko) * 2018-10-31 2020-05-11 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 Puf 셀 어레이, 시스템, 및 그 제조 방법
JP2022523294A (ja) * 2019-01-23 2022-04-22 マイクロン テクノロジー,インク. 暗号化構成要素を備えたメモリデバイス

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
ES2534403T3 (es) * 2010-11-24 2015-04-22 Intrinsic Id B.V. Función física no clonable
EP3118778B1 (en) * 2011-03-31 2018-08-29 ICTK Co., Ltd. Apparatus and method for generating a digital value
WO2013101085A1 (en) 2011-12-29 2013-07-04 Intel Corporation Secure key storage using physically unclonable functions
DE102012102254B4 (de) * 2012-03-16 2020-09-24 Infineon Technologies Ag Vorrichtung und Verfahren zur Rekonstruktion einer Bitfolge unter Vorkorrektur
US8938069B2 (en) 2012-06-05 2015-01-20 Board Of Regents, The University Of Texas System Physically unclonable functions based on non-linearity of sub-threshold operation
US9742563B2 (en) * 2012-09-28 2017-08-22 Intel Corporation Secure provisioning of secret keys during integrated circuit manufacturing
US9279856B2 (en) * 2012-10-22 2016-03-08 Infineon Technologies Ag Die, chip, method for driving a die or a chip and method for manufacturing a die or a chip
JP6030925B2 (ja) * 2012-11-12 2016-11-24 ルネサスエレクトロニクス株式会社 半導体装置及び情報処理システム
US8938792B2 (en) 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
DE102013203415B4 (de) * 2013-02-28 2016-02-11 Siemens Aktiengesellschaft Erstellen eines abgeleiteten Schlüssels aus einem kryptographischen Schlüssel mittels einer physikalisch nicht klonbaren Funktion
US9367701B2 (en) * 2013-03-08 2016-06-14 Robert Bosch Gmbh Systems and methods for maintaining integrity and secrecy in untrusted computing platforms
JP6106043B2 (ja) * 2013-07-25 2017-03-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US9343135B2 (en) 2013-09-09 2016-05-17 Qualcomm Incorporated Physically unclonable function based on programming voltage of magnetoresistive random-access memory
US9366718B2 (en) * 2013-09-12 2016-06-14 Cisco Technology Inc. Detection of disassembly of multi-die chip assemblies
US9992031B2 (en) * 2013-09-27 2018-06-05 Intel Corporation Dark bits to reduce physically unclonable function error rates
US9262256B2 (en) * 2013-12-24 2016-02-16 Intel Corporation Using dark bits to reduce physical unclonable function (PUF) error rate without storing dark bits location
US9577637B2 (en) 2014-02-19 2017-02-21 Altera Corporation Stability-enhanced physically unclonable function circuitry
US9202554B2 (en) 2014-03-13 2015-12-01 International Business Machines Corporation Methods and circuits for generating physically unclonable function
DE102014208210A1 (de) * 2014-04-30 2015-11-19 Siemens Aktiengesellschaft Ableiten eines gerätespezifischen Wertes
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
KR101593166B1 (ko) * 2014-06-02 2016-02-15 한국전자통신연구원 물리적 복제 방지 함수의 오류를 방지하는 장치 및 그 방법
KR101566949B1 (ko) 2014-06-30 2015-11-13 한국전자통신연구원 가변구조형 puf 장치 및 그의 동작 방법
WO2016018503A1 (en) * 2014-07-30 2016-02-04 University Of South Florida Magnetic memory physically unclonable functions
US9584329B1 (en) * 2014-11-25 2017-02-28 Xilinx, Inc. Physically unclonable function and helper data indicating unstable bits
KR102201642B1 (ko) 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
US9501664B1 (en) * 2014-12-15 2016-11-22 Sandia Corporation Method, apparatus and system to compensate for drift by physically unclonable function circuitry
DE102015103640A1 (de) * 2015-03-12 2016-09-15 Universität Rostock Vorrichtung umfassend logische Elemente
US9515835B2 (en) * 2015-03-24 2016-12-06 Intel Corporation Stable probing-resilient physically unclonable function (PUF) circuit
US9722774B2 (en) 2015-04-29 2017-08-01 Samsung Electronics Co., Ltd. Non-leaky helper data: extracting unique cryptographic key from noisy F-PUF fingerprint
CN107924645B (zh) * 2015-08-06 2021-06-25 本质Id有限责任公司 具有物理不可克隆功能的加密设备
US10325646B1 (en) * 2015-09-15 2019-06-18 Xilinx, Inc. SRAM physically unclonable function (PUF) circuit and method
WO2017084895A1 (en) 2015-11-20 2017-05-26 Intrinsic Id B.V. Puf identifier assignment and testing method and device
US10026648B2 (en) * 2016-03-08 2018-07-17 International Business Machines Corporation FDSOI with on-chip physically unclonable function
WO2018183572A1 (en) * 2017-03-29 2018-10-04 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
US9947391B1 (en) 2017-04-12 2018-04-17 Nxp Usa, Inc. SRAM based physically unclonable function and method for generating a PUF response
US10425235B2 (en) * 2017-06-02 2019-09-24 Analog Devices, Inc. Device and system with global tamper resistance
US10958452B2 (en) * 2017-06-06 2021-03-23 Analog Devices, Inc. System and device including reconfigurable physical unclonable functions and threshold cryptography
EP3435586B1 (en) * 2017-07-25 2019-08-07 Intrinsic ID B.V. Method to reduce aging of a cache memory
KR102341266B1 (ko) 2017-08-30 2021-12-20 삼성전자주식회사 물리적 복제방지 기능을 위한 집적 회로 및 이를 포함하는 장치
US10521616B2 (en) 2017-11-08 2019-12-31 Analog Devices, Inc. Remote re-enrollment of physical unclonable functions
US11309018B2 (en) * 2018-01-18 2022-04-19 Regents Of The University Of Minnesota Stable memory cell identification for hardware security
US11251959B2 (en) 2018-07-09 2022-02-15 Ares Technologies, Inc. Method of manufacturing a secure computing hardware apparatus
CN109283966B (zh) * 2018-08-17 2020-11-10 维沃移动通信有限公司 一种时钟电路及终端
US11477039B2 (en) * 2018-10-11 2022-10-18 Arizona Board Of Regents On Behalf Of Northern Arizona University Response-based cryptography using physical unclonable functions
US10734047B1 (en) 2019-01-29 2020-08-04 Nxp Usa, Inc. SRAM based physically unclonable function and method for generating a PUF response
US11889001B2 (en) 2019-03-19 2024-01-30 United States Of America As Represented By The Secretary Of The Air Force Optical interferometric-based physically unclonable function device
US10574469B1 (en) 2019-04-10 2020-02-25 Nxp Usa, Inc. Physically unclonable function and method for generating a digital code
GB2613989B (en) * 2019-05-15 2023-12-06 Quantum Base Ltd Alternative approach to the generation of a unique response to a challenge
KR20200142337A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 물리적 복제 방지 기능 셀들을 포함하는 보안 장치 및 그것의 동작 방법
US11164648B2 (en) 2019-06-18 2021-11-02 Nxp Usa, Inc. Glitch profiling in an integrated circuit
US11056161B2 (en) 2019-07-26 2021-07-06 Nxp Usa, Inc. Data processing system and method for generating a digital code with a physically unclonable function
US11516028B2 (en) 2019-12-24 2022-11-29 CERA Licensing Limited Temperature sensing physical unclonable function (PUF) authentication system
GB201919297D0 (en) 2019-12-24 2020-02-05 Aronson Bill Temperature sensing physical unclonable function (puf) authenication system
CN114614987B (zh) * 2020-12-03 2023-07-07 北京京东方技术开发有限公司 一种集成电路及其数字指纹生成电路、方法
US20210119812A1 (en) * 2020-12-23 2021-04-22 Intel Corporation Time-based multi-dimensional key recreation mechanism using puf technologies
TWI803351B (zh) * 2022-06-14 2023-05-21 新唐科技股份有限公司 具有物理不可仿製功能的金鑰產生單元、金鑰產生器與電路系統

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002223155A (ja) * 2001-01-25 2002-08-09 Toshiba Corp 半導体装置
WO2009128044A1 (en) * 2008-04-17 2009-10-22 Koninklijke Philips Electronics N.V. Method of reducing the occurrence of burn-in due to negative bias temperature instability
US20100177898A1 (en) * 2007-06-14 2010-07-15 Intrinsic Id Bv Device and method for providing authentication
EP2230793A2 (en) * 2009-03-16 2010-09-22 Technische Universität München On-Chip Electric Waves: An Analog Circuit Approach to Physical Uncloneable Functions: PUF

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4279020A (en) * 1978-08-18 1981-07-14 Bell Telephone Laboratories, Incorporated Power supply circuit for a data processor
US5615162A (en) * 1995-01-04 1997-03-25 Texas Instruments Incorporated Selective power to memory
WO2004066296A1 (en) 2003-01-24 2004-08-05 Koninklijke Philips Electronics N.V. Reliable storage medium access control method and device
WO2006071380A2 (en) 2004-11-12 2006-07-06 Pufco, Inc. Securely field configurable device
EP1891770B1 (en) 2005-06-01 2011-10-05 Priv Id B.V. Template renewal in helper data systems
KR100763250B1 (ko) * 2006-02-22 2007-10-04 삼성전자주식회사 반도체 메모리 장치의 내부 전원전압 발생회로
KR100895065B1 (ko) * 2007-03-26 2009-05-04 삼성전자주식회사 리페어 데이터의 신뢰성을 높일 수 있는 플래시 메모리장치 및 그것의 리페어 방법
US20110215829A1 (en) 2007-08-22 2011-09-08 Intrinsic Id B.V. Identification of devices using physically unclonable functions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002223155A (ja) * 2001-01-25 2002-08-09 Toshiba Corp 半導体装置
US20100177898A1 (en) * 2007-06-14 2010-07-15 Intrinsic Id Bv Device and method for providing authentication
WO2009128044A1 (en) * 2008-04-17 2009-10-22 Koninklijke Philips Electronics N.V. Method of reducing the occurrence of burn-in due to negative bias temperature instability
EP2230793A2 (en) * 2009-03-16 2010-09-22 Technische Universität München On-Chip Electric Waves: An Analog Circuit Approach to Physical Uncloneable Functions: PUF

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
JPN6015051921; Guajardo, J. et al.: 'FPGA Intrinsic PUFs and Their Use for IP Protection' Lecture Notes in Computer Science Vol.4727, 2007, p.63-80 *
JPN6015051922; Guajardo, J. et al.: 'Physical Unclonable Functions and Public-Key Crypto for FPGA IP Protection' . International Conference on Field Programmable Logic and Applications 2007 , 200708, p.189-195 *
JPN6015051923; Kumar, S.S. et al.: 'Extended abstract: The butterfly PUF protecting IP on every FPGA' IEEE International Workshop on Hardware-Oriented Security and Trust 2008 , 200806, p.67-70 *
JPN6015051925; Holcomb, D.E., Burleson, W.P. and Fu, K.: 'Power-up SRAM State as an Identifying Fingerprint and Source of True Random Numbers' IEEE Transactions on Computers Volume 58, Issue 9, 20081107, p.1198-1210 *
JPN6015051927; Holcomb, D.E., Burleson, W.P. and Fu, K.: 'Initial SRAM state as a fingerprint and source of true random numbers for RFID tags' Proceedings of the Conference on RFID Security 2007 , 200707 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015525979A (ja) * 2012-08-10 2015-09-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation セキュア・デバイスを製造する方法およびセキュア・デバイス
JP2017501637A (ja) * 2014-01-02 2017-01-12 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 署名検証方法、装置、およびシステム
JP2017504267A (ja) * 2014-01-22 2017-02-02 クアルコム,インコーポレイテッド セキュアブート中のキー抽出
EP3026672A1 (en) 2014-11-21 2016-06-01 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
US9536581B2 (en) 2014-11-21 2017-01-03 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
US9548113B2 (en) 2014-11-21 2017-01-17 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
US9653161B2 (en) 2014-11-21 2017-05-16 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device comprising an arithmetic circuit that, in operation, calculates a binary reference value based on at least a part of the pieces of resistance value information, a read circuit that, in operation, selectively assigns, based on the binary reference value, one of two values to each of the pieces of resistance value information, and a write circuit that, in operation, performs a write operation corresponding to one of the two values among memory cells
US9948471B2 (en) 2015-06-18 2018-04-17 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device and integrated circuit card
US9823899B2 (en) 2015-06-18 2017-11-21 Panasonic Intellectual Property Management Co., Ltd. Random number processing device generating random numbers by using data read from non-volatile memory cells, and integrated circuit card
US10574639B2 (en) 2016-05-25 2020-02-25 Panasonic Intellectual Property Management Co., Ltd. Authentication apparatus utilizing physical characteristic
US9892783B2 (en) 2016-05-26 2018-02-13 Panasonic Intellectual Property Management Co., Ltd. Non-volatile memory device including memory cells having variable resistance values
US10096359B2 (en) 2016-05-27 2018-10-09 Panasonic Intellectual Property Management Co., Ltd. Nonvolatile memory device having resistive memory cells including at least one resistive memory cell initial state
US10242950B2 (en) 2016-06-24 2019-03-26 Winbond Electronics Corp. Semiconductor device, method of manufacturing the same and generation method of unique information
JP2017228736A (ja) * 2016-06-24 2017-12-28 ウィンボンド エレクトロニクス コーポレーション 半導体装置、半導体装置の製造方法および固有情報の生成方法
JP2019145926A (ja) * 2018-02-17 2019-08-29 渡辺 浩志 チップウォレット
KR20200050412A (ko) * 2018-10-31 2020-05-11 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 Puf 셀 어레이, 시스템, 및 그 제조 방법
TWI741399B (zh) * 2018-10-31 2021-10-01 台灣積體電路製造股份有限公司 物理不可複製功能單元陣列、製造其之系統及方法
KR102324594B1 (ko) * 2018-10-31 2021-11-12 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 Puf 셀 어레이, 시스템, 및 그 제조 방법
US11461525B2 (en) 2018-10-31 2022-10-04 Taiwan Semiconductor Manufacturing Company, Ltd. PUF cell array, system and method of manufacturing same
US11727182B2 (en) 2018-10-31 2023-08-15 Taiwan Semiconductor Manufacturing Company, Ltd. PUF cell array, system and method of manufacturing same
JP2022523294A (ja) * 2019-01-23 2022-04-22 マイクロン テクノロジー,インク. 暗号化構成要素を備えたメモリデバイス
US11514174B2 (en) 2019-01-23 2022-11-29 Micron Technology, Inc. Memory devices with cryptographic components
US11868488B2 (en) 2019-01-23 2024-01-09 Micron Technology, Inc. Memory devices with cryptographic components

Also Published As

Publication number Publication date
EP2625640A1 (en) 2013-08-14
WO2012045627A1 (en) 2012-04-12
US8848477B2 (en) 2014-09-30
US20130194886A1 (en) 2013-08-01
JP5881715B2 (ja) 2016-03-09
KR101852115B1 (ko) 2018-04-25
EP2625640B1 (en) 2018-08-01
KR20140002638A (ko) 2014-01-08

Similar Documents

Publication Publication Date Title
JP5881715B2 (ja) 開始挙動が改善された物理的複製不可能関数
Alioto Trends in hardware security: From basics to ASICs
US9350330B2 (en) Physical unclonable function
Garg et al. Design of SRAM PUF with improved uniformity and reliability utilizing device aging effect
US11495300B2 (en) Method and apparatus for PUF generator characterization
EP2191410B1 (en) Identification of devices using physically unclonable functions
Eichhorn et al. Logically reconfigurable PUFs: Memory-based secure key storage
Ghosh Spintronics and security: Prospects, vulnerabilities, attack models, and preventions
EP3264673B1 (en) Method for performing multiple enrollments of a physically uncloneable function
CN104252881B (zh) 半导体集成电路及系统
CN110892673A (zh) 安全硬件签名以及相关方法和应用
US20150143130A1 (en) Integrated circuit provisioning using physical unclonable function
CN108063664B (zh) 基于配置的密码密钥生成系统
JP7005576B2 (ja) 小型オーバーヘッドランダムプリチャージを使用してサイドチャネル攻撃を防犯する電子デバイス
Zalivaka et al. Design and implementation of high-quality physical unclonable functions for hardware-oriented cryptography
Uddin et al. Memristor crossbar PUF based lightweight hardware security for IoT
Cicek et al. A new read–write collision-based SRAM PUF implemented on Xilinx FPGAs
Roelke et al. Controlling the reliability of SRAM PUFs with directed NBTI aging and recovery
Mahmod et al. Invisible bits: hiding secret messages in sram’s analog domain
Usmani Applications Of Physical Unclonable Functions on ASICS and FPGAs
Suresh et al. Spic-sram puf intergrated chip based software licensing model
Li et al. Enhancing tpm security by integrating sram pufs technology
Balasubramanian An Improved Public Unclonable Function Design for Xilinx FPGAs for Hardware Security Applications
Mahmod The Art of SRAM Security: Tactics for Remanence-based Attack and Strategies for Defense
Zeitouni Hardware entangled security primitives: attacks and defenses

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160202

R150 Certificate of patent or registration of utility model

Ref document number: 5881715

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250