JP2005523481A - 集積回路の認証 - Google Patents

集積回路の認証 Download PDF

Info

Publication number
JP2005523481A
JP2005523481A JP2003586918A JP2003586918A JP2005523481A JP 2005523481 A JP2005523481 A JP 2005523481A JP 2003586918 A JP2003586918 A JP 2003586918A JP 2003586918 A JP2003586918 A JP 2003586918A JP 2005523481 A JP2005523481 A JP 2005523481A
Authority
JP
Japan
Prior art keywords
measurable
characteristic
chip
response
circuit
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
JP2003586918A
Other languages
English (en)
Other versions
JP4733924B2 (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.)
Massachusetts Institute of Technology
Original Assignee
Massachusetts Institute of Technology
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 Massachusetts Institute of Technology filed Critical Massachusetts Institute of Technology
Publication of JP2005523481A publication Critical patent/JP2005523481A/ja
Application granted granted Critical
Publication of JP4733924B2 publication Critical patent/JP4733924B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/02Manufacture or treatment of semiconductor devices or of parts thereof
    • 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/72Protecting 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 in cryptographic 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
    • 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/77Protecting 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 in smart cards
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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/86Secure or tamper-resistant housings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • 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
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/544Marks applied to semiconductor devices or parts, e.g. registration marks, alignment structures, wafer maps
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/57Protection from inspection, reverse engineering or tampering
    • H01L23/576Protection from inspection, reverse engineering or tampering using active circuits
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2121Chip on media, e.g. a disk or tape with a chip embedded in its case
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2223/00Details relating to semiconductor or other solid state devices covered by the group H01L23/00
    • H01L2223/544Marks applied to semiconductor devices or parts
    • H01L2223/54433Marks applied to semiconductor devices or parts containing identification or tracking information
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2223/00Details relating to semiconductor or other solid state devices covered by the group H01L23/00
    • H01L2223/544Marks applied to semiconductor devices or parts
    • H01L2223/54433Marks applied to semiconductor devices or parts containing identification or tracking information
    • H01L2223/5444Marks applied to semiconductor devices or parts containing identification or tracking information for electrical read out
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2223/00Details relating to semiconductor or other solid state devices covered by the group H01L23/00
    • H01L2223/544Marks applied to semiconductor devices or parts
    • H01L2223/54473Marks applied to semiconductor devices or parts for use after dicing
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Accounting & Taxation (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Manufacturing & Machinery (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Storage Device Security (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

デバイスのグループは、共通の設計に基づいて製造され、各デバイスは、グループ内でそのデバイスに対して一意なものである対応する複数の測定可能な特性を有し、各デバイスは、測定可能な特性を測定するための測定モジュールを有する。デバイスのグループのうちの1つのデバイスの認証は、デバイスの複数の測定可能な特性のうちの1つ以上を選択的に測定することにより、可能となる。

Description

本発明は集積回路の認証に関する。
同じリソグラフィ・マスクにより製造された集積回路は、チップ内に製造業者が、チップ内に埋め込まれるシリアル番号等の一意の識別子を埋め込むことにより、一意に識別することができる。一意の識別子を生成する別の例は、チップ内にトランジスタのアレイを組み込み、アレイ内のトランジスタのしきい値電圧を測定し、識別子として測定値を出力する方法である。同じリソグラフィ・マスクで製造した任意の数のチップの場合、アレイ内のトランジスタの数が十分多い時には、アレイから生成した識別子は一意のものになる。チップ製造の際のプロセスの変動により、そのしきい値電圧が全く同じであるトランジスタのアレイは2つと存在しない。
チップ内に秘密裏に埋め込まれた一意の識別子は、チップを認証するために使用することができる。認証とは、ユーザにそのチップが偽物でないことを証明すること、又は、ある処理結果がそのチップにより処理されたもので、他のチップにより処理されたものでないことを証明することを意味する。一意の識別子の一例としては、スマートカード内に埋め込まれている秘密鍵がある。カードリーダは、スマートカードから秘密鍵を読み出し、それをデータベース内に既に記憶されている秘密鍵と比較する。一致した場合には、スマートカードは認証され、カードリーダは、スマートカードとのトランザクションを行うことができる。秘密鍵は、秘密を保持する必要があるので、攻撃者は、鍵をコピーし、識別表示を偽造することはできない。
攻撃者は、例えば、集積回路のパッケージ及び層を除去するというような侵略的な方法により、又は、例えば、集積回路チップをシミュレートし、電力レール及びアース・レールを観察することにより鍵を決定しようとする微分電力分析のような非侵略的方法により、チップを厳密に調べて秘密鍵を発見しようとする。チップへの物理的侵入を防止する目的で、チップのパッケージング内に感知回路を内蔵させて、侵入を検出し、侵入を検出した場合、感知情報を消去することができる。
正確にコピーすることが困難な測定可能な物理特性の多数の組を含む集積回路チップを設計し、物理特性の一部を選択的に測定し、その測定結果を予め記憶された測定値と比較することにより、チップを認証することができる。一致した場合には、チップが認証される。測定可能な物理特性の数が十分多くなるようにチップを設計して、攻撃者が、すべての物理特性を1つ残らず測定し、測定結果を記憶することを実行不可能にすることができる。また、攻撃者が、物理特性の一部を測定して、チップのモデルを生成することを困難にするようにチップを構成することができる。攻撃者は、物理特性のどの一部を選択し、測定するのかを事前に知ることができないので、攻撃者は、このチャレンジに応じて適切な測定値を生成して、チップの識別表示を偽造することはできない。チップの識別表示は、攻撃者がチップを所有した場合のみ入手することができる。チップの認証のための1つ又は複数の秘密鍵をチップ自身から取り出すことはできない。
ある態様において、本発明は、共通の設計に基づいて製造されたデバイスのグループから第1のデバイスを提供することを含む方法を特徴とする。この場合、各デバイスは、グループ内でそのデバイスに対して一意なものである対応する複数の測定可能な特性を有し、また各デバイスは、測定可能な特性を測定するための測定モジュールを有する。上記方法は、更に、デバイスの複数の測定可能な特性のうちの1つ以上を選択的に測定することにより第1のデバイスの認証を可能にすることを含む。
本発明の実施形態は、下記の機能のうちの1つ以上を含むことができる。第1のデバイスの認証を可能にすることは、第1のデバイスに選択情報を送信すること、第1のデバイスから、選択情報に基づいて複数の特性のうちの1つを選択的に測定することにより生成されたレスポンス情報を受信すること、第1のデバイスに関連する受信したレスポンス情報及び選択情報を記憶することにより第1のデバイスを登録することを含む。第1のデバイスの認証を可能にすることは、更に、第1のデバイスに選択情報を送信するステップと、特性のうちの1つを選択的に測定することにより生成されたレスポンス情報を受信するステップと、受信したレスポンス情報を記憶されたレスポンス情報と比較するステップとを反復することにより第1のデバイスを認証することを含む。
第1のデバイスの登録及び第1のデバイスの認証の各々は、選択情報に基づいて複数の特性のうちの1つを選択的に測定することと、測定情報を生成することを含む。この方法は、更に、デバイスのグループの各デバイスを登録することを含み、各デバイスを登録することは、各デバイスに対して、測定可能な特性の一部を識別する選択情報をデバイスに送信すること、選択情報で識別された測定可能な特性の一部の各々を選択的に測定することにより生成されたレスポンス情報をデバイスから受信すること、第1のデバイスに関連する受信したレスポンス情報及び選択情報を記憶することを含む。
この方法は、更に、各デバイスに対する測定可能な特性の異なる一部を決定することを含む。各デバイスに対する異なる一部を決定することは、一部の各々の構成をランダムに選択することを含む。この方法は、更に、第1のデバイスを認証することを含み、第1のデバイスを認証することは、第1のデバイスに、第1のデバイスに対する測定可能な特性の一部のうちの1つを識別する選択情報を送信すること、第1のデバイスから測定可能な特性の一部のうちの識別された1つを選択的に測定することにより生成されたレスポンス情報を受信すること、受信したレスポンス情報を第1のデバイスの登録中に受信した記憶されたレスポンス情報と比較することを含む。
この方法は、更に、共通の設計によるデバイスのグループ内でデバイスを製造することを含む。デバイスを製造することは、リソグラフィ・マスクの共通のセットによりデバイスのグループを製造することを含む。デバイスの対応する複数の測定可能な特性は、デバイスの製造中に決定された特性を含む。デバイスの製造中に決定された特性は、製造プロセスの非制御特性を含む。デバイスのグループから第1のデバイスを提供することは、第1の集積回路を提供することを含む。
対応する複数の測定可能な特性は、集積回路内の複数の信号経路の遅延特性を含む。複数の信号経路は、回路構成要素の各組を通る複数の経路を含む。回路構成要素は、受動送信ラインを含む。回路構成要素は、能動半導体素子を含む。能動半導体素子は、論理ゲートを含む。対応する複数の測定可能な特性は、光学的特性を含む。光学的特性は反射特性を含む。反射特性はスペックル・パターンを含む。
各デバイスの測定可能な特性の数は、2、4、16、256、216、232、264又は2128より大きくてもよい。各デバイスは、複数の測定可能な特性を有する機能構成要素及び測定可能な構成要素を含む。この方法は、更に、パッケージ内にデバイスをパッケージすることを含む。機能構成要素及び測定可能な構成要素は、複数の測定可能な特性を変化することなしに、機能的構成要素に物理的にアクセスできないようにパッケージ内に配置される。
この方法は、更に、識別子を含む選択情報をコード化する第1のデバイスにおいて選択信号を受信すること、識別子により複数の測定可能な特性のうちの1つを選択することを含む。測定可能な特性のうちの1つを選択することは、識別子を引数として使用する一方向関数を適用することを含む。一方向関数の適用では、更に、引数として第2の識別子が使用される。第2の識別子はデバイスの識別表示を含む。デバイスの識別表示は、デバイス内に記憶されたシリアル番号を含む。第2の識別子は個人特性の識別表示を含む。
この方法は、更に、選択された特性を測定することを含む。選択された特性は選択された信号経路の遅延特性を含む。遅延特性を測定することは、選択された遅延経路により発振信号を生成することを含む。遅延特性を測定することは、更に、発振信号の発振周波数に関連する数量を決定することを含む。発振周波数に関連する数量を決定することは、タイミング間隔中に発振回数をカウントすることを含む。発振周波数に関連する数量を決定することは、発振信号に位相ロック・ループを適用することを含む。選択された特性を測定することは、デバイスの環境の変化による選択された特性の測定値の変動を補償することを含む。
この方法は、更に、基準特性を測定すること、基準特性の測定値に対する選択された特性の測定値の比率を計算することを含む。この方法は、更に、選択された特性の測定値の誤差を修正することを含む。この方法は、更に、測定された特性によりレスポンス情報を決定すること、レスポンス情報をコード化する第1のデバイスからレスポンス信号を送信することを含む。レスポンス情報を決定することは、測定された特性を引数として使用する一方向関数を適用することを含む。この方法は、更に、デバイスが生成した結果をコード化する結果信号を供給することを含む。一方向関数の適用では、更に、結果から決定された引数が使用される。この方法は、更に、デバイス内のプロセッサ上で動作を実行するためのコードを受け入れることを含む。一方向関数の適用では、更に、コードから決定された引数が使用される。
この方法は、更に、デバイス内での実行のためのコマンドを受け入れることを含む。一方向関数の適用では、更に、コマンドから決定された引数が使用される。レスポンス信号を供給することは、デバイス内でコマンドが実行されたという肯定応答を供給することを含む。この方法は、更に、第2の識別子をコード化する第1のデバイスにおいて第2の選択信号を受け入れること、第2の識別子により選択された特性のうちの第2の特性を測定すること、特性のうちの第2の特性の測定値をコード化する結果信号を供給することを含む。一方向関数の適用では、更に、特性のうちの第2の特性の測定値から決定された引数が使用される。
この方法は、更に、識別子を含む選択情報をコード化する第1のデバイスにおいて選択信号を受信すること、識別子により複数の測定可能な特性のうちの第1の特性を選択すること、同様に、識別子により複数の測定可能な特性の中から第2の特性を選択することを含む。この方法は、更に、第1の選択された特性を測定して第1の測定値を生成すること、第2の選択された特性を測定して第2の測定値を生成すること、第1の測定値を第2の測定値と比較することを含む。この方法は、更に、第1の測定値と第2の測定値の比較により1ビット・レスポンスを生成することを含む。この方法は、更に、識別子を含む選択情報をコード化する選択信号を受信するステップと、識別子により複数の測定可能な特性のうちの第1の特性及び第2の特性を選択するステップと、測定可能な特性のうちの第1の特性及び第2の特性を測定して第1の測定値及び第2の測定値を生成するステップと、n第1及び第2の測定値を比較してビット・レスポンスのうちの1つのビットを生成するステップとをn−1回反復することにより、nビット・レスポンスを生成することを含む。
この方法は、更に、第1の動作モードにおいて、第1の識別子をコード化する第1のデバイスにおいて第1の選択信号を受け入れること、第1の識別子を引数として使用する第1の一方向関数を適用すること、第1の一方向関数の結果により複数の特性のうちの1つを選択すること、選択された特性を測定すること、選択された特性及び測定された特性の識別子をコード化する第1のレスポンス信号を供給することを含む。第2の動作モードにおいて、第2の識別子をコード化する第1のデバイスにおいて第2の選択信号を受け入れること、第2の識別子により複数の特性のうちの1つを選択すること、選択された特性を測定すること、測定された特性を引数として使用する第2の一方向関数を適用すること、第2の一方向関数の適用の結果をコード化する第2のレスポンス信号を供給することを含む。第2の識別子は、第1の識別子を引数として使用する第1の一方向関数の適用結果と同じものである。
他の態様において、本発明は、共通の設計に基づいて製造されたデバイスのグループから第1のデバイスを提供することを含む方法を特徴とする。各デバイスは、グループ内でそのデバイスに対して一意なものである対応する複数の測定可能な特性を有し、測定可能な特性は、離散的値を有する。この方法は、更に、デバイスの複数の測定可能な特性のうちの1つ以上を選択的に測定することにより、第1のデバイスが認証を可能にすることを含む。対応する複数の測定可能な特性は、第1のデバイス内の複数の信号経路の遅延特性を含む。対応する複数の測定可能な特性は光学的特性を含む。
他の態様において、本発明は、共通の設計に基づいて製造されたデバイスのグループから第1のデバイスを提供することを含む方法を特徴とする。各デバイスは、グループ内でそのデバイスに対して一意なものである対応する複数の測定可能な特性を有する。各デバイスはプロセッサを有する。この方法は、更に、第1のデバイスの複数の測定可能な特性のうちの1つ以上を選択的に測定すること、第1のデバイスのプロセッサ上で動作を実行するためのコードを受け入れること、コードから決定された第1の引数を使用する一方向関数を適用することを含む。
本発明の実施形態は、下記の機能のうちの1つ以上を含むことができる。一方向関数の適用では、更に、測定された特性から決定された第2の引数が使用される。コードは、公開暗号鍵を含む。この方法は、更に、測定された特性からの値を暗号化するための公開暗号鍵を使用することにより、第2の引数を決定することを含む。コードは、測定可能な特性の一部を識別する選択情報を含む。複数の測定可能な特性のうちの1つ以上を選択的に測定することは、選択情報により識別された測定可能な特性の各一部を選択的に測定することを含む。一方向関数の適用では、更に、選択情報から決定された第2の引数が使用される。対応する複数の測定可能な特性は、第1のデバイス内の複数の信号経路の遅延特性を含む。
他の態様において、本発明は、共通の設計に基づいて製造されたデバイスのグループから第1のデバイスを提供することを含む方法を特徴とする。各デバイスは、グループ内でそのデバイスに対して一意なものである対応する複数の電気的に測定可能な特性を有する。この方法は、更に、デバイスの複数の測定可能な特性のうちの1つ以上を選択的に測定することにより第1のデバイスが認証を可能にすることを含む。
本発明の実施形態は、下記の機能のうちの1つ以上を含むことができる。対応する複数の測定可能な特性は、第1のデバイス内の複数の信号経路の遅延特性を含む。
他の態様において、本発明は、共通の設計に基づいて製造されたデバイスのグループから選択されたデバイスを含む装置を特徴とする。各デバイスは、グループ内でそのデバイスに対して一意なものである対応する複数の測定可能な特性を有する。デバイスは、選択された特性を測定する測定構成要素を含む。
本発明の実施形態は、下記の機能のうちの1つ以上を含むことができる。デバイスは集積回路を含む。集積回路は信号経路を含み、複数の測定可能な特性は信号経路の遅延特性を含む。集積回路は、一組の回路構成要素を備え、信号経路は回路構成要素の各組を通る経路を含む。デバイスは、更に、プロセッサを含む。プロセッサは一方向関数を実行する。デバイスは、発光構成要素のアレイ、光検出構成要素のアレイ、及び1つ以上の発光構成要素が発光した場合、光検出構成要素のアレイにより検出することができるスペックル・パターンを形成する光透過媒体を含む。この装置は、更に、識別子及びデバイスに関連するレスポンスを記憶するための記憶デバイスを含む。各識別子は1つ以上の測定可能な特性を識別し、各レスポンスは、1つ以上の識別子に対応し、かつ、1つ以上の識別子により識別された測定可能な特性の1つ以上の測定値から得られる。
本発明の説明、図面及び特許請求の範囲から、本発明の他の特徴及び利点を理解することができるだろう。
複数の図面の同一の参照番号は同一の構成を示す。
[IC化PUF]
図1を参照すると、半導体集積回路(以下「IC」又は「チップ」と呼ぶ)50は、機能モジュール52と、物理的ランダム機能(同様に、物理的に未知の機能又は「PUF」と呼ぶ)回路100とを含む。チップ50は、例えば、チップ用の一組のリソグラフィ・マスクにより、チップ設計に従って製造した特定のチップの一例である。
PUF回路100は、例えば、チップを製造するためのリソグラフィ・マスクに基づく、又はチップの非破壊物理的検査に基づくチップの設計に基づいて予測することが困難な方法で、入力を出力にマッピングする物理的ランダム機能(PUF)の一実施形態である。PUF回路による入力の出力へのマッピングは、必ずしも、PUF回路の出力がすべての可能な出力の範囲間で均一に分配されるような、真に「ランダム」なものでなくてもよい。例えば、特定のPUF回路の製造により、PUF回路により生成された出力を、特定の値を中心にして、より集中させることができる。機能モジュール52は、例えば、入力ライン107上のデータを受信し、そのデータを処理し、そのデータの処理に基づいてメッセージ・ライン109上にメッセージを生成することにより、チップの所望の動作を実行する。
PUF回路100は、信号ライン106上の入力を受信し、ライン108上に出力を生成する。各(入力、出力)ペアは、チップ50に対して特定のものであり、チップ50に関連する物理構造の一部の特性に依存する。同じリソグラフィ・マスクにより製造した異なるチップは、一般的に、例えば、製造プロセス中の僅かな変動により若干異なる物理構造を有する。それ故、このような異なるチップは、一般的に、同じPUF入力を異なる出力にマッピングする。以下に更に詳細に説明するように、(入力、出力)ペアは、チップ50を認証し識別するために、あるいは、メッセージが特定のチップ、すなわちチップ50により生成されたものであり、偽のチップにより生成されたものでなことを証明するために、使用することができる。
以下の説明においては、「PUF」という用語は、入力を出力にマッピングする物理的ランダム機能を意味し、「PUF回路」という用語はこの機能を実行する回路を意味する。「PUFf回路」という用語は、特定の物理的ランダム関数fを実行する回路を意味する。「PUFチップ」という用語は、PUF回路を含むチップを意味する。
チップ50は、チップ50の回路パターンを形成する一つのリソグラフィ・マスクのセットにより製造される。同じリソグラフィ・マスクを使用して一組のチップを製造すると、製造プロセス中の僅かな変動のために、一般的に、2つのチップは全く同じものにはならない。各チップ内及び異なるチップ間では、種々のパラメータ(例えば、導線の長さ及び幅、ドーピング領域の濃度、誘電体層の厚さ)で若干の変動が起こる。機能モジュール52は、非常に頑強に設計されるので、パラメータの変動があっても、同じ組のリソグラフィ・マスクにより作成した全てのチップの機能モジュール52が行う機能は同じである。一方、PUF回路100は、異なるチップ間の種々のパラメータ内の変動を利用するように設計される。PUF回路100の「機能」は、一般的に、同じ組のリソグラフィ・マスクで製造したチップ毎に異なる。同じ組のリソグラフィ・マスクにより製造した異なるPUF回路100は、一般的に、同じ入力を異なる出力にマッピングする。
PUF回路100は、測定可能な構成要素102及び測定回路104を含む。PUF回路100により実行される機能は、測定可能な構成要素102における多数の個々の物理特性により異なり、その物理特性は、PUFの出力を決定するPUFへの入力に従って組み合わされる。測定回路104は、物理特性の組合せを測定して出力を決定するように設計される。この出力は、実際の測定値を処理したものを表すことができ、その処理は、測定誤差及び環境条件の影響を低減又は修正するように、また実際の物理パラメータをマスクするように設計される。個々の物理特性を、デバイスの物理的検査により予測又は測定することは困難であり、既知の場合でも、チップ50の複製物に正確にコピーすることは、不可能ではないにしても困難である。
[認証]
チップ50のPUF回路100の1つの用途は、チップの識別表示を認証することである。この用途の場合、PUFに対する可能性のある(入力、出力)ペアのサブセットは、最初に、PUF回路100に信号ライン106上に異なる入力を供給し、信号ライン108上の対応する出力を記録することにより、決定される。入力は、PUF回路が個々の物理特性の種々の組合せを使用するように選択される。PUF回路の出力は、使用した入力のセットと同様に、秘密に保持される。
チップ50の識別情報の認証が行われるのと同時に、対応する出力が記録され、秘密に保持されている入力のうちの1つが、PUF回路100に信号ライン106上の入力として供給される。PUF回路100の出力ライン108上の出力が、記憶された対応する出力と比較される。一致した場合には、チップは認証される。このような入力は「チャレンジ」と呼ばれ、出力はチャレンジへの「レスポンス」と呼ばれる。通常、チャレンジ及びレスポンスは、2進数として表される離散的値である。
任意のチップの認証に成功する度に、一組のチャレンジ−レスポンス・ペアが、攻撃者に潜在的に解明される。同じチャレンジ−レスポンス・ペアは、好適には再使用されない。チャレンジ−レスポンス・ペアのデータベースは、チップの識別を所望する人により維持される。このデータベースは、すべての可能性のあるチャレンジ−レスポンス・ペアの小さなサブセットをカバーするためのみに必要なものである。データベース内のチャレンジ−レスポンス・ペアを使い果たした場合には、以下に説明する方法によりチップから新規のチャレンジ−レスポンス・ペアを生成することができる。
図2は、PUF回路を使用してチップの認証を行うための一般的な方法を示すプロセス268である。プロセス268は、下記のステップを含む。
ステップ270:製造業者は、PUF回路100を含むチップ50を設計する。チップを製造するためのパターンを含むリソグラフィ・マスクのセットがチップ設計に基づいて生成される。
ステップ271:製造業者は、n個のチップを製造するために、上記リソグラフィ・マスクのセットを使用する。各チップは、リソグラフィ・マスク上の同じパターンから製造するPUF回路を含むが、製造プロセス中のランダムな変動により、異なる測定可能な物理特性を有する。
ステップ272:各チップに対して一組のチャレンジ−レスポンス・ペアが生成される。
ステップ273:チャレンジ−レスポンス・ペアが機密保護記憶箇所に記憶される。
ステップ274:チップがチップ所有者に配布される。
ステップ275:チップX(製造したn個のうちの1つ)の認証を行う必要がある場合には、チップXに関連するチャレンジ−レスポンス・ペアが機密保護記憶箇所から検索される。チャレンジはチップに送られる。
ステップ276:チップからのレスポンスを受信する。
ステップ277:チップから受信したレスポンスが、機密保護記憶箇所から検索したレスポンスと比較される。レスポンスが一致した場合には、チップが認証される。
一例として、ステップ270及び271は、チップの製造業者により実行され、ステップ272から277は、チップを顧客に配布することを所望するエンティティ(例えば、銀行)により実行され、その後、チップの認証が行われ、サービスへのアクセスを許可するかしないかを決定する。
別の例の場合には、チップを製造した後で、チップがチップ所有者に配布される。チップ所有者は、一組のチャレンジ−レスポンス・ペアを生成することができ、この一組のチャレンジ−レスポンス・ペアをエンド・ユーザに配布する。エンド・ユーザは、チップ所有者から受信したチャレンジ−レスポンス・ペアを使用して、エンド・ユーザのみが知っている新規のチャレンジ−レスポンス・ペアを生成することができる。
チップ50はスマートカード内に埋め込まれて、スマートカードの識別情報を認証することができ、カード所有者は、スマートカード会社が提供するサービスにアクセスすることができる。各スマートカードは、シリアル番号を有し、スマートカード会社は、各シリアル番号に関連する一組のチャレンジ−レスポンス・ペアを有する。スマートカードがカードリーダに提示されると、カードリーダはスマートカードのシリアル番号に基づいて1つ以上のチャレンジを選択する。チャレンジはチップ50に送られ、チップ50は、1つ以上のレスポンスを生成し、それらをカードリーダに返送する。カードリーダは受信レスポンスを記憶レスポンスと比較する。レスポンスが一致した場合には、スマートカードが認証される。このことは、スマートカードが、チャレンジ−レスポンス・ペアを生成するために最初に使用されたチップと同じチップを含むことを意味する。
また、チップ50は、「認可された実行」で使用することができる。チップ50の所有者は、エンド・ユーザがデータを処理するために、また計算結果を生成するためにチップにアクセス可能にする。所有者は、エンド・ユーザに一組のチャレンジ−レスポンス・ペア(CRP)を配布して、エンド・ユーザがチップの処理用電力にアクセス可能にする。エンド・ユーザは、計算結果が実際に他の偽のチップによってではなく、そのチップにより生成されたことを確認するために、チップにチャレンジを送り、チップからレスポンスを受信する。
上記スマートカード及び認可された実行の用途の場合には、攻撃者は、チップ50へ送信しチップ50から受信したチャレンジ及びレスポンスを傍受し、種々のタイプの攻撃をスタートすることができる。これは以下に更に詳細に説明する制御アルゴリズムにより防止することができる。
PUF回路100の出力は、入力により選択される物理特性の組合せに基づく。PUF回路100は、組合せの数(又は可能な入力の数)が、チップ50を有している攻撃者が、すべての(入力、出力)ペアを1つ残らず測定し、記憶することができないほど非常に多くなるように設計される。それ故、攻撃者が、例えば、コピー内のすべての可能性のある(入力、出力)ペアを記憶することにより、PUF回路100の機能を含むチップ50の機能をコピーすることは事実上できない。有効な(入力、出力)ペアを記録するために最初に使用された可能性のある入力の一部を、攻撃者に秘密にしている限りは、また、その一部を攻撃者が予測できない限りは、攻撃者は、チップ50の動作を後でコピーするために必要なすべての(入力、出力)ペアを測定することは事実上不可能である。
物理特性の組合せの各々は、チップのIDを認証するために使用することができるチップの多数の「署名」のうちの1つであると見なすことができる。製造プロセスの変動によるチップ内の変動を使用することにより、レジスタ又はメモリ・セルのような記憶素子内にすべての署名情報を記憶しなくても、チップ上の多数の署名を記憶することができる。署名は、PUFチップの配線及び構成要素に関連し、正確にコピーし、かつ、攻撃者が読み出せるように正確に記憶することができないものである。
PUF回路100は、攻撃者が、チップ50の物理的検査又は測定によりPUF回路のモデルを生成し、その後、このようなモデルに基づいてチップ50の動作を模倣することが困難となるように設計される。物理特性の組合せの測定値は、通常、チップ内のワイヤ及びデバイス間の相互作用により、個々の物理特性の測定値の非線形及び非単調関数である。攻撃者がチップの完全なマスク情報を入手し、チップに自由に物理的にアクセスできたとしても、攻撃者が、PUF回路100により実行される関数を反転し、モデルのパラメータを入手することは困難である。
チップ50は、攻撃者が、ある時間デバイスを得たとしても、この意味で「機密保護」されているので、攻撃者が、正当な所有者のチャレンジへのレスポンスを生成することができる確率は低い。チップが正当な所有者に戻ると、所有者のみが、機密保護記憶箇所に記憶された選択されたチャレンジの一部への正しいレスポンスを有していることが分かる。他の人が正しいレスポンスを生成して、デバイスの識別情報を偽造することができる確率は非常に低い。
攻撃者が、同じリソグラフィ・マスクを使用して偽のチップを製造する場合、製造プロセスに固有の統計的変動により、偽のチップが元のチップとして正当な所有者のチャレンジに対する同じレスポンスを正確に生成する確率は非常に低い。理論的には、攻撃者も、膨大な数のチップを製造し、各チップに対して広範な測定を行って、元のチップと一致するチャレンジ−レスポンス・ペアを含む偽物を生成し、発見することができるが、このようなアプローチは事実上不可能である。
チップ50を認証するために、どの入力を使用するのかを予測することは困難である上に、攻撃者が、物理特性のどの組合せが必要な出力を決定するのかを予測することも困難である。また、PUF回路100は、個々の特性を知っていても、その個々の特性を組合せのモデルを形成するために使用することができないような方法で、個々の物理特性の組合せを好適には形成する。
攻撃者がチップを所有している間に、多数の出力を入手するために、その人がチップ50を厳密にチェックしたとしても、これらの出力からPUF回路100の物理特性を入手することは困難である。攻撃者の手からチップが離れると、攻撃者が以前に得た出力から追加の出力を生成することは困難である。
PUF回路100は、また、PUF関数を決定する物理特性を測定しようとしても、PUF回路自身の機能を破壊しない限り、すなわち測定する特性を破壊しない限り、そのような測定を容易に行うことができないように好適には設計される。
[遅延ベースのPUF]
PUF回路100の一例では、測定可能な構成要素102の物理特性は、導電ワイヤ又はトレース及びPUF回路100の回路の少なくとも一部を形成している半導体構成要素の経路に沿った経路遅延を含む。チップが同じ組のリソグラフィ・マスクにより製造された場合には、例えば、製造ステップ中の処理温度及び圧力の変動により製造中に「ランダム」な変動が起こる。製造中にランダムな変動が起こると、PUF回路100がランダムに変動することになる。このランダムな変動の1つの側面は、異なるチップ間の対応するワイヤ及びデバイスの経路遅延が異なることである。実験により、遅延の変動は5%又はそれ以上になる場合があることが分かっている。更に、同じ動作条件の場合、これらの遅延変動は、特定のチップの場合、比較的一定で変化しない。
動作温度又は供給電圧のようなチップの動作条件に関連する他の要因も、また、経路遅延を変動させる場合がある。このような変動は、以下に更に詳細に説明するように、PUF回路100で補償技術を実施することにより解決される。
経路遅延の測定中に、変動又は誤差が発生する場合がある。測定回路は、十分高い精度で経路遅延を測定することができるように設計される。そのため、経路遅延値の変動は、主として製造プロセス中の変動によるもので、測定値の変動よる影響は遥かに低い。そのため、測定誤差及び変動は、個々のチップの識別及び認証機能に決して影響を与えない。
図3を参照すると、遅延回路111を使用するPUF回路101は、PUF回路100の一例である。遅延回路111への入力は、全遅延経路として認識される。この全遅延経路は、チェーン状に共に結合している多数の分離遅延経路からなり、個々の遅延経路は、導電ワイヤ又はトレース及び半導体構成要素からなる。チェーン内の素子間の相互作用により、全体の遅延は、必ずしも遅延の単なる合計のように、素子の個々の遅延の簡単な関数とはならない。
遅延回路111の経路遅延は、遅延回路111を使用してオシレータ・ブロック122を形成し、カウンタ・ブロック123を使用してオシレータ・ブロックの発振周波数を測定することにより測定される。オシレータ・ブロック122は、信号ライン106上で入力信号により選択された信号経路に応じた周波数で自励発振し、カウンタ・ブロック123は、所定の時間内の発振の回数をカウントする。
オシレータ・ブロック122は、遅延回路111の一方の端部126において信号を反転するインバータ124を含む。インバータ124の出力は、ANDゲート130の入力128に接続されている。ANDゲート130の別の入力132は、COUNT信号を受信すべく接続されている。COUNT信号がハイである場合には、遅延回路111内のインバータ124、ANDゲート130及び選択された信号経路は、負のフィードバック・ループを形成し、自励発振して、信号ライン134上で発振信号を生成する。発振周波数は、選択された信号経路の経路遅延により変化する。
カウンタ・ブロック123は、信号ライン134に接続され、かつ発振信号をクロック信号と同期させるために使用されるバッファ回路138を含む。バッファ回路138の出力140は、ANDゲート142の入力に接続されている。ANDゲート142の別の入力は、COUNT信号を受信すべく接続されている。COUNT信号がハイである場合には、ライン134上の発振信号は、バッファ回路138及びANDゲート142を通ってANDゲートの出力144から出力される。発振信号の立上りエッジは、COUNT信号がハイの間、カウンタ136によりカウントされる。出力146のカウント値は、遅延回路111内の選択され信号経路の経路遅延の測定値を表す。高カウント値は、短い遅延を表し、低カウント値は、長い遅延を表す。入力信号がチャレンジを表す場合には、カウント値(又はカウント値を処理したもの)は、チャレンジへのPUF回路101のレスポンスを表す。
図4を参照すると、遅延回路111は、128個のスイッチ112を含む。遅延回路111は、128ビット(b1〜b128)を含む入力信号を受信する。各入力ビットは、スイッチ112のうちの1つを制御する。bi=1である場合には、スイッチは交差している(図5参照)。bi=0の場合には、スイッチは交差していない(図6参照)。最初に、信号ライン114上の点xにおける立上りエッジは、信号ライン116及び118に転送される。立上りエッジは、入力信号に依存する相補経路の後に位置するスイッチ112を通過し、ANDゲート120の入力に接続されている点y及びzに到着する。点xにおける立上り遷移と点y又はzにおける立上り遷移との間には特徴的遅延が存在し、通常、入力xにおける立下り遷移と点y又はzにおける立下り遷移との間に別の特徴的遅延が存在する。
図7は、遅延回路111の遅延特性を示すタイミング図である。遅延Δ1は、点xにおける立上り遷移と点y又はzにおける立上り遷移との間の特徴的遅延が長い例を示す(この場合、点zにおける立上り遷移は後で発生する)。遅延Δ2は、点xにおける立下り遷移と点y又はzにおける立下り遷移との間の特徴的遅延が短い例を示す(この場合、点yにおける立下り遷移は早く発生する)。インバータ124とANDゲート130の遅延の合計がΔ3である場合には、発振ブロック122の周期TはΔ1+Δ2+2・Δ3である。一例として、インバータ124及びANDゲート130の遅延は、立上りエッジと立下りエッジの場合で異なることがある。
遅延回路111においては、測定可能な特性は、信号経路の経路遅延である。異なる入力信号は、遅延回路111内で異なる信号経路を選択し、異なる経路遅延が測定回路104により測定される。同じ組のリソグラフィ・マスクにより製造された異なる遅延回路111は、同じ入力信号が入力された場合、若干異なる経路遅延を示す。異なる遅延回路111は、同じチャレンジに対して異なるレスポンスを出力する。一意に識別することができる異なる遅延回路111の数は、スイッチ112の数が増大するにつれて、指数的に増大する。
図8Aを参照すると、遅延回路160は、遅延回路111(図3)とは異なる設計である。遅延回路111の場合のように、遅延回路160は、n−1個のステージ162を含み、その後にはマルチプレクサ184が位置する。ここで、nはチャレンジのビット数である。各ステージ162は、スイッチ・ブロック164及び可変遅延バッファ166を含む。スイッチ・ブロック164は、2つのマルチプレクサ166及び168、及び4つのバッファ170、172、174及び176を含む。各ステージ162は、上部経路178及び下部経路180を有する。遅延回路160の入力182において、立上り(又は立下り)エッジが、上部経路178及び下部経路180の両方に送られる。各ステージ162において、そのステージに対するチャレンジ・ビットの値により、立上り(又は立下り)エッジの経路が交差する場合、あるいは交差しない場合がある。すなわち、下部経路からのエッジが上部経路に行く場合、あるいは上部経路からのエッジが下部経路に行く場合がある。次に、2つのエッジのうちの一方が、出力マルチプレクサ184により選択され、入力182にループ経路で送り返され、自励発振が誘起される。
2つの遅延回路が、特定のチャレンジに対して同じレスポンスを生成する可能性がある。PUF回路101を有するチップを識別しようとする度に、2つ以上のチャレンジが使用され、そのため、2つ以上の遅延回路がすべてのチャレンジに対して同じレスポンスを有する確率は、低下する。使用可能なチャレンジ−レスポンス・ペアの数は、遅延回路160内のステージ162の数を増大することにより、増大することができる。その理由は、測定できる遅延回路160内の信号経路の数が、ステージ162の数の指数であるからである。
全信号経路の遅延は依存している。その理由は、信号経路間での共有が多いからである。可変遅延バッファ166を使用することにより、攻撃者がこのような依存性を利用することがますます困難になる。可変遅延バッファ166は、2つのペアのバッファを有する。第1のペアは、バッファ170及び172を含む。第2のペアはバッファ174及び176を含む。バッファの各ペアにおいては、一方のバッファは、常にオンされ、他方のバッファは、他のペアのバッファに接続されている経路がローになった時のみ作動する。経路間の依存性を利用することはより困難である。その理由は、バッファのペアは、回路を通過する2つのエッジ間に複雑で、かつ単調でない相互作用を追加するからである(例えば、一方の回路素子の経路遅延が長くなった場合には、全経路遅延が短くなる可能性がある)。これにより、攻撃者が、一次式を解いて、個々の遅延回路素子の遅延を入手することが防止される。
図8Aの遅延回路160は、遅延経路の途中に仲裁装置(arbiter)を追加して、上部経路178又は下部経路180内の信号のうちのどちらが速いのかを判定し、この判定に基づいて遅延経路を更に遅延させるようにスイッチを設定することで、改良することができる。
図8Bを参照すると、遅延回路1030は、128ビット・チャレンジを受信する129個のステージ162を含む。各ステージは、スイッチ・ブロック164及び可変遅延バッファ166を含む。上部経路178及び下部経路180は、ステージを貫通する。仲介装置1032は、例えば、100番目及び101番目のチャレンジ・ビットを受信するステージ等の2つの連続するステージを接続する上下部経路に接続されている。仲介装置1032は、(100番目のチャレンジ・ビットを受信するステージの後の)上部経路178及び下部経路180上の信号のうちのどちらが速いのかを判定し、下流の別のステージ(例えば、127番目及び128番目のチャレンジ・ビットを受信するステージ間のステージ1034)に送信される出力を信号ライン1036上で生成する。ライン1036上の信号は、ステージ1034のスイッチ・ブロック164が交差されるか、あるいは交差されないのかを判定する。これにより、攻撃者に未知の「秘密のチャレンジ・ビット」が生成される。
[補償PUF]
測定可能な構成要素102の測定可能な特性(遅延回路160の信号経路の経路遅延等)は、周囲温度及び供給電力電圧の変動等の環境条件の変動により変化する場合がある。このような変化を補償するために、チップ50にオプションとしての回路を追加することができる。環境の変動を補償する回路を備えるPUF回路は、補償PUF回路と呼ばれる。
図9を参照すると、チップ50は、PUF回路101の出力の比率を測定する補償PUF回路149、及び補償PUF回路149の出力を発生する基準回路148を含む。この例の場合には、基準回路148は、PUF回路101の発振周波数の変化に比例して、発振周波数を変化させる簡単な自励発振ループである。PUF回路101及び基準回路148の出力は、ディバイダ152に送信される。上記比率は、補償PUF回路149のレスポンスとなる。PUF回路101及び基準回路148は多少でも同じように環境条件の影響を受けるので、ディバイダ152により生成される比率が環境条件から受ける影響は少ない。
動作中、チップ50内の回路の温度は、抵抗加熱により上昇する。補償PUF回路149は、動作中回路が均等に加熱されて、PUF回路101及び基準回路148の出力の比率が確実に安定するように、設計される。
ほぼ同じ周波数で発振する2つの発振ループが存在する場合には、発振信号が相互に干渉して、そのため2つの信号が1つの発振周波数にロックすることがある。それ故、PUF回路101へのチャレンジは、PUF回路101及び基準回路148の発振周波数が発振信号の干渉を防止するのに十分なだけ異なるように、選択される。
図10を参照すると、別例の補償PUF回路149は、同じ入力信号を受信する2個のPUF回路148及び150を含む。PUF回路148及び150の出力の比率を用いて、補償PUF回路149の出力が生成される。
図11を参照すると、更に別例の補償PUF回路153は、PUF回路101、レジスタ156及びディバイダ152を含む。第1の入力値は、PUF回路101に送信され、レジスタ156内に記憶される第1の出力値が生成される。第2の入力値は、PUF回路101に送信され、第2の出力値が生成される。第1及び第2の出力値は、ディバイダ152に送信され、2つの出力値の比率が計算される。この比率は補償PUF回路153の出力となる。
環境条件の変化が大きい場合(例えば、周囲温度の30度を超える変動)、出力の比率を使用しても、環境条件の変化の影響を抑制するのに十分でない場合がある。異なる温度範囲に対して複数の組のCRPが生成される。例えば、一組のCRPは、温度が20℃〜50℃の場合に使用され、別の一組のCRPは、温度が45℃〜75℃の場合に使用される等々。PUF回路は、そのうちの1つのみが温度に応じたものとして表されるような、2つ又は3つの異なるPUFの備えていると見なすことができる。
回路の経年変化も遅延を変化させる場合があるが、その影響は温度による影響より小さい。
電力供給の変化もPUF回路の出力に影響を与える場合がある。しかし、実験により、電力供給電圧が大幅に変化しない限り(正確な数字は、使用する特定のPUF回路に依存する)、異なる発振ループからの出力の比率を考慮すれば、電力供給の変動の影響を十分補償することができることが分かっている。
[誤差の修正]
物理的現象の測定値はエラーを含んでいる場合がある。PUF回路101(図3)においては、自励発振ループは、遅延回路111の経路遅延を測定するために使用される。経路遅延は、一定の時間内の整数回の発振を測定することにより量子化される。このような量子化は、測定誤差を処理する1つの方法である。すなわち、測定値に僅かな変動(誤差)があっても、量子化量は同じになる。しかし、測定される数量が2つの量子化レベルの間にあると、測定値の僅かな変動が、異なる量子化の値になる場合がある。
図12を参照すると、改良形PUF回路264は、誤差チェック及び修正(ECC)モジュール190を含み、ECCモジュール190は量子化のより精巧なバージョンであり、カウンタ・ブロック123が発生する発振カウント数を処理して、PUF100が同じチャレンジを受信した場合には、必ず同じレスポンスを発生させる。ECCモジュール190は、自立型回路としても実施するか、又はECCアルゴリズムを実行するマイクロプロセッサによっても実施可能である。
多数のチャレンジ(c1,c2,...,cn)は、PUF回路149又は152のような補償PUF回路を通過して、多数のレスポンス(r1,r2,...,rn)が得られる。レスポンス(r1〜rn)は、ECCモジュール190に送信され、物理特性の測定値の僅かな変動が修正される。ECCモジュール190は、データ・バス266上にn個の修正済みのレスポンス(r1’,r2’,...,rn’)を生成する。
一組のチャレンジ−レスポンス・ペアが生成された場合、ECCモジュール190が測定値の僅かな変動を修正できるように、冗長情報が生成される。このような変動は、例えば、量子化誤差及び測定ノイズの結果である場合がある。チャレンジ−レスポンス・ペアを以降に使用する場合には、冗長情報は、チャレンジと共に改良形PUF回路264に供給される。冗長情報がレスポンスのすべてのビットを喪失しないようにすることが重要である。
量子化レベルの境界を調整して、測定すべき数量が量子化レベルの中央値に近くなるように誤差修正を行う方法について以下に説明する。この方法は、測定値の僅かな変動により異なる量子化値が発生することを防止する。
ECCモジュール190の一実施形態の場合には、1つ以上の補償した測定値について誤差チェック及び修正が実行され、情報の1つのビットbが補償した各測定値から抽出される。この抽出は、測定値をδのステップ・サイズで量子化し、量子化した値のモジュロ2を計算することにより実行される。
dが、冗長情報が生成された場合に(例えば、新規のチャレンジ−レスポンス・ペアが生成された場合に)計算される補償測定値であり、mが、冗長情報を使用する場合に(例えば、チャレンジ−レスポンス・ペアを使用する場合に)計算される補償測定値であるとする。bを
Figure 2005523481
と定義する。ここで、
Figure 2005523481
である場合には、dは、量子化間隔の中央にあり、dと同じ方法で量子化されるmの尤度は増大する。パラメータεは、冗長情報の一部としてPUFチップの外部に送られ、攻撃者はdの低位ビットを知り得る。
δが共通の設計に基づいて製造された異なるチップ間のdの標準偏差より小さい場合、εのビットは、dから抽出されるビットbについての情報を攻撃者に漏洩しないと仮定することができる。δを選択するために考慮する必要がある要因については以下に説明する。
補償測定値の誤差は、変形ハミング・コードとパリティ・チェックとの積により修正することができる。位数2の有限体上の列ベクトルにより表される2k−1ビット・メッセージの変形ハミング・コードを計算するために、メッセージに、そのi番目の列がiの2進表示であるk行マトリックスが乗算される。例えば、1011001の冗長情報は以下のように計算される。
Figure 2005523481
それ故、1011001の冗長情報は001である。
変形ハミング・コードは、非冗長ビットについての1つの誤差を修正することができる。エラーを修正するために、誤メッセージの冗長情報を計算し、それを正しいメッセージの冗長情報を用いて排他的論理和演算する。結果は、ゼロでない限りは、誤りは存在しないが、メッセージの誤りビットのオフセットの2進コード化したものである。
例えば、下記のようになり、
Figure 2005523481
及び
Figure 2005523481
になり、この場合、3番目のビットが変更されたことを表す。変形ハミング・コードは、メッセージ内の1つのエラーを検出可能である。
パリティ・ビットを追加することにより第2のエラーを検出することはできるが、修正することはできない。第2のエラーが検出できる理由は、2つのビットが誤っている場合、パリティ・ビットが修正されるが、変形ハミング・コードが1つのエラーしか表示しないからである。
変形ハミング・コードは、メッセージに0を付加することにより、その長さを2k−1で表ことができないメッセージに適用することができる。
変形ハミング・コードは、最初に、w列×h行のアレイにw・hビットを配列することにより生成される積コードを作成することにより改良することができる。積コードは、各行にパリティ・ビットを追加し、各列にパリティ・ビットを追加した変形ハミング・コードに基づいている。
各行に1つのエラーが存在する場合には、変形ハミング・コードはすべてのエラーを修正することができる。1つの行が2つのエラーを含んでいる場合には、ハミング・コードはエラーを修正することはできないが、その行のパリティ・ビットは、その行が2つのエラーを含んでいることを示す。1つの行のみが2つのエラーを含んでいる場合には、列上のパリティ・ビットを、誤っている行のどのビットが間違っているのかを決定するために使用することができる。1つの行が2つのエラーを含んでおり、どの行も3つ以上のエラーを含んでいない場合には、積コードはエラーを修正することができる。
積コードは下記のように改善することができる。行パリティ・ビットは、ほとんどの場合、冗長である。その理由は、修正したビットの行からそれらを直接計算できるからである。行パリティ・ビット全体は計算できないが、エラーを修正することができる唯一のケースは、1つの行が2つのエラーを含んでおり、他の行が最高1つのエラーを含んでいる場合である。この場合、その行のパリティを行データから計算した場合には、パリティのうちの1つのみが誤っている。このことは、パリティを記憶する代わりに、行パリティ上の変形ハミング・コードを使用することができ、行パリティがどうあるべきかに関する冗長情報を記憶するのみであることを意味する。これにより、数個の余分なビットをセーブすることができる。
パラメータw及びhを選択して積コードを生成するための方法について以下に説明する。一例として、出力ハッシュ(h2)は、攻撃者が有していない少なくともB個の識別ビットで表示される。強引な攻撃を回避するBの可能性のある値は約80である。制御PUF回路(以下に説明する)により使用されるプロトコルは、PUF回路がそのうちの1つに対する正しいレスポンスを供給するまで、多数の異なるチャレンジを試験するように適合される。緩慢に変化する環境パラメータによるエラーを避けるために、異なるチャレンジが試験される。パラメータw及びhは、PUF回路上で実行するための測定期待数であるBexpを低減するように選択される。
識別ビットの数を計算するために、攻撃者が誤り率pを有するものと仮定すると、攻撃者の最大チャネル容量は下式により表される。
Figure 2005523481
攻撃者は、情報のBa=C・w・h+Rビットを有する。ここで、Rは下式で表される。
Figure 2005523481
Rは冗長ビットの数である。PUF回路から抽出される識別ビットの数は、そのブロック内のビットの数と攻撃者が有するビットw・h・Baの数の間の違いである。w×hビットの多くのブロックは、識別情報のB個のビットが使用できるようになる前に送信される。パラメータBtotは、B個の情報ビットを入手するために必要なビットの数を表すために使用される。
ベルヌーイ分布は、PUF測定値の誤り率qを知っている場合に、B個の情報ビットを収集するために必要なすべてのビットを適切に修正する確率の計算において適用される。任意の行を修正する確率、及び任意の行内の2つのエラーを検出する確率が計算される。これらの確率を使用することにより、2つ以上の行内で2つのエラーを検出する確率、及び任意の行内で3つ以上のエラーを有する確率を計算することができる。これらの確率は、全ブロックを修正する確率の低い方の境界を示す。すべてのブロックを修正する確率Psuccは、読み出されるブロックの数から推定することができる。確率Psuccは、実行する物理測定の期待数を推定するために使用することができる。
図37のデータは、p及びq、任意のδの値を発見するために使用することができる。δ/2の値は、グラフの垂直線に対応する。約60%を超える値の場合には、p及びqは、グラフのそのラインから直接読み取ることができる。pの場合には、2つの異なるフィールド・プログラマブル・ゲート・アレイ(FPGA)に対応するグラフの最高の値を採用する必要がある。qの場合には、それを認識可能となることを所望する環境条件で同じFPGAに対応するグラフの最も低い値を採用する必要がある。表1は、上記のエラー修正方法を使用するこれらパラメータに対する最適なエラー修正解決方法と共に、種々のパラメータの数々の例を示す。
Figure 2005523481
表1のケース1の場合には、pの値は近似値である。その理由は、この値は、グラフから直接読み取るにはあまりに小さいからである。3の場合には、測定値の下位ビットが抽出するビットについてそれが真であることを何も示していないので、pの値は推定するには高すぎる。
優れたエラー修正解決方法は、w及びhの関数として、物理測定値の期待値を計算するCプログラムにより計算される。このプログラムは、w×hブロックの全数を使用するものとみなす。表1は、数個の測定エラーが存在する場合には、良好な交換条件を発見することが容易であり、そのためδをそれに応じて選択すべきであることを示す。ケース2及び3の場合は、測定エラーが限定されている限りは、δの値の広い範囲に対して適当な解決方法を発見することができることを示す。δが非常に長い場合には、p及びqの両方は1に非常に接近し、エラー修正を行うのが困難となる。
測定毎のクロックが100MHz、サイクルが2×10000であると仮定した場合、3CPUF程度で、毎秒評価を行うことができる。
エラー修正を改善する1つの方法は、モジュロを4又は8に低減することにより、各補償測定値から2ビット又は3ビットを抽出する方法である。測定値からの各ビットは、δのそれ自身の値、及び、それ故、p及びqのそれ自身の値に対応する。従って、3つのレベルのビットを相互に別々に修正することが望ましい。ビットの各レベルは、w及びhに対するそれ自身の設定を有し、ブロック・サイズのグローバルな最適化を実行し得る。このようにして、より多くの情報を抽出することにより、より少ない測定値を使用して、同じ量のエラー修正を行うことができる。
測定毎に複数のビットを使用した場合には、複数のエラーを相互に関連づけることができる。より詳細に説明すると、高位のビットが誤っていることが分かった場合には、下位のビットはランダムなものであってもよい。それ故、それらのビットを消去したものと見なして、下位ビット上のより多くのエラーを修正するために、消去情報を考慮に入れることを試みることができる。
[制御PUF]
チップ50の別のバージョンの場合には、1つ以上の制御モジュールが、PUF回路(例えば、100)へのアクセスを制限するために追加される。PUF回路及び制御モジュールは、分離が困難な方法で物理的にリンクされ、PUF回路には、制御モジュールにより実行される制御アルゴリズムを介してのみアクセスすることができる。「制御PUF(CPUF)回路」という用語は、PUF回路及び1つ以上の制御モジュールの組合せを示すために使用される。
CPUFチップは、制御アルゴリズムを実行する制御モジュールが、PUF回路をベースとする物理システムにより保護される。このアルゴリズムを回避しようと試みると、PUF回路を変更しなければならなくなる可能性が高い。
1つのタイプの制御アルゴリズムを使用して、PUF回路に提示される入力(又はチャレンジ)を制限し、制御PUF回路の外部に提供される出力(又はレスポンス)に関する情報を制限し、及び/又はPUFにより認証された機能を実行することができる。
以下に説明するように、一例として、制御を使用することにより、攻撃に弱いPUF回路を、攻撃者が不正に使用することがより困難な強力なPUF回路に改善することができる。他の例の場合には、CPUFチップとCPUFチップの機能を使用しようとするユーザとの間で共有される秘密を確立するために制御を使用することができる。
[改良形PUF]
攻撃者は、多数の適合的に選択された入力のためのPUF回路の出力を測定することにより、PUF回路のモデルの形成を試みることができる。これらの入力は、入力−出力のペアを使用して、PUF回路のモデルを形成するパラメータを入手するために解くことが可能な一組の式を確立することができるように、選択される。次に、このモデルを使用して、PUF回路をシミュレートし、かつコピーすることができる。このことは、攻撃者が解くのが容易な式に導く恐れがある特定の入力を選択することが困難となるように、PUF回路の周囲に制御を追加することで防止することができる。
図13Aを参照すると、改良形PUFg回路186の機能ブロック図は、PUFf回路188、ECCモジュール190、ランダム・ハッシュ・モジュール192及びランダム・ハッシュ・モジュール194を含む。モジュール190、192及び194は、自立型回路により、又はソフトウェア・コードを実行するマイクロプロセッサにより実施可能である。改良形PUFg回路186のチャレンジは、信号ライン198を介してハッシュ・モデル192に送られる。同時に、冗長情報が、PUFf回路188の出力の僅かなエラーを修正するために、ECCモジュール190に送られる。ランダム・ハッシュ・モジュール192は、チャレンジが提供されたときに、一方向ランダム・ハッシュ関数h3を実行してハッシュ値を発生し、このハッシュ値は、信号ライン200を介してPUFf回路188に送られる入力となる。ハッシュ値は、ライン205を介してランダム・ハッシュ・モジュール194にも送られる。
ランダム・ハッシュ・モジュール192及び194は、ハードウェア回路又はマイクロプロセッサ(図示せず)上で稼働するソフトウェアにより実施することができる。
PUFf回路188は、PUFf回路188への入力に依存する発振周波数を有する1つ以上の自励発振ループ回路(図3に示すような)を含む。PUFf回路188は、特定の入力が信号ライン198上で受信された場合に、信号ライン202上で特定のカウント値を出力する。カウント値は、ECCモジュール190を通過する。このECCモジュール190は、冗長情報を使用して、統計的な変動及び測定値の不正確性によるカウント値の小さな変動を除去する。ECCモジュール190は、出力を生成し、この出力はライン203を介してランダム・ハッシュ・モジュール194に送られる。ECCモジュール190の出力は、一方向ランダム・ハッシュ関数h4を実行するランダム・ハッシュ・モジュール194を通過する。ランダム・ハッシュ・モジュール194の出力は、信号ライン204上に形成され、かつ、CPUFg回路186のレスポンスを表す。
ライン203上の信号に小さな差があると、ライン204上のランダム・ハッシュ・モジュール194の出力では大きな差になる。ランダム・ハッシュ・モジュール194を使用することにより、ライン204上のレスポンスから、PUF回路188の基本的物理特性に関する情報を入手することが困難となる。
ECCモジュール190を使用することにより、ライン200上でPUFf回路188に特定の入力が送られると、ライン203上に同じ出力が形成される。これにより、PUF回路188の物理特性の測定値に小さな変動があっても、同じチャレンジがライン198上に供給された場合に、ライン204上に同じレスポンスを形成することができる。ECCモジュール190は、ハードウェア回路によっても、マイクロプロセッサ(図示せず)上で稼働するソフトウェアによっても実施することができる。
改良形PUFg回路186においては、xがチャレンジを表す場合には、信号ライン202上のPUFf回路188の出力は、f(h3(x))で表すことができる。h3(x)は、一方向ランダム・ハッシュ機能であるので、攻撃者がxから得られるh3(x)を決定することは困難である。それ故、攻撃者がPUFf回路188のモデルを確立するために使用することができるPUFf回路188に対する一組の入力を知ったとしても、改良形PUFg186は秘密を漏らさない。その理由は、攻撃者は、PUFf188にこれらの入力を提示することができないからである。すなわち、攻撃者は、必要な入力h3(x)を生成するために、適切なチャレンジxを提示する方法がないからである。
物理的攻撃に耐性のあるCPUFg回路186の場合には、PUFf回路188へのアクセスを制御するモジュールは、回路188と相互に協力し、攻撃者が物理的調査により制御モジュールをバイパスすることを困難にする。特に、攻撃者は、出力ランダム・ハッシュ・モジュールh2194を通過する前に、PUFf回路188を直接読み出すこともできず、かつ、直接PUF回路にチャレンジを送って入力ランダム・モジュールh1192をバイパスすることもできない。
信号経路の経路遅延がPUFfモジュール188の測定可能な物理特性である場合には、信号経路を形成している金属配線及び素子を、ランダム・ハッシュ・モジュール192及び194の上(又は周囲)に設置することができ、信号ライン200及び202を集積回路内に設置することができる。そのため、攻撃者は、信号経路の経路遅延を変更し、それにより、関数fを変更しない限り、ランダム・ハッシュ・モジュール192及び194、又は信号ライン200及び202に物理的にアクセスすることはできない。
図13Bは、基板1040、制御ロジック層1042、ロジック及び電力ワイヤ層1044、及び遅延ワイヤ層1046を含むチップ50の一例である。制御ロジック1042は、ランダム・ハッシュ・モジュール192及び194を含む。制御ロジックは、また、他の制御機能を提供するために使用されるマイクロプロセッサ(例えば、図14の51)を含み得る。ロジック及び電力ワイヤ層1044は、電力ワイヤ及び保護されるべき他のロジック回路を含む。遅延ワイヤ層1046は、PUFモジュールの信号経路を形成している金属配線及び素子を含む。
信号ライン204上に生成された改良形PUFg回路186のレスポンスは、g(x)=h4(ECC(f(h3(x))),h3(x))と表示することができる。ランダム・ハッシュ・モジュール194を使用することにより、PUFg回路186の出力は、よりランダム性を示す。PUFf回路188及びECCモジュール190により生成された類似の出力は、(CPUFg回路186の出力となる)非常に異なるハッシュ値にハッシュされる。これにより、攻撃者が類似のチャレンジに対するレスポンスを用いて1つのチャレンジに対するレスポンスを推定することが防止される。ランダム・ハッシュ関数h4によりPUFf回路188の出力を事後的に構成し、かつ、ライン205を介してモジュール194にモジュール192の出力を送ることで、出力ランダム・ハッシュ関数を介して出力を送る前に、十分な情報がPUF回路から抽出され、システムは、非物理的攻撃に対して確実な抵抗を有する。遅延回路の場合には、数百ビットの情報がシステムから抽出されるまで、多数の経路遅延が測定される。次に、測定値は、ランダム・ハッシュ関数h2を介して送られる。
複数の経路遅延を測定する一実施形態の場合には、ランダム・ハッシュ機能h3は、非常に幅の広い出力(すなわち、多数の出力ビット)を供給するように選択することができる。この出力は多くの異なるチャレンジに分割され、分割されたチャレンジは1回でPUF回路188に送られる。これらのレスポンスは連結され、ECCモジュール190によりそのエラーが修正されて、1つのレスポンスとなり、ランダム・ハッシュ機能h4194に送られる。
[複数の個人特性]
あるユーザは、一意の識別子を有するチップを使用することを不快に感じる場合がある。その理由は、このようなユーザは自分が追跡される恐れがあると感じるからである。例えば、認可実行の場合、あるエンティティに計算機能を有することができるようにしたPUFチップの所有者は、同じチップが他のエンティティに計算機能を有していることを知りたがらない場合がある。プライバシーに関する心配を軽減するために、改良形PUFg回路186は、ライン197上で、回路の所有者が選択することができる個人番号を受信するように設計されている。チャレンジは、個人番号でハッシュされてハッシュ値が生成され、ハッシュ値は、改良形PUFg回路186の別の入力として使用される。このことは下式により表すことができる。
Input=h3(チャレンジ,個人特性)
異なる個人番号は、異なるチャレンジ−レスポンス・ペアの組に対応する。異なる個人番号を使用することにより、所有者は、多くの異なるPUF回路を効果的に所有する。
認可実行の場合には、所有者は、改良形PUFg回路186が第1のアプリケーションに計算機能を提供している場合には、第1の個人番号を選択することができ、改良形PUFg回路186が第2のアプリケーションに計算機能を提供している場合には、第2の個人番号を選択することができる。第1及び第2のアプリケーションは、自己が同じ改良形PUFg回路186と相互作用していることを知らない。
[一意のID]
任意の2つのPUFが異なるものであることが確実となるように、実際のチャレンジを、PUF回路から独立し、かつ、チップに対して一意である一意の識別子と組合せて、別のPUFを通過するハッシュ値を生成することができる。改良形PUFg回路186の場合には、識別子モジュール196により識別子が生成され、その識別子は、一意の2進数を生成する配線回路であってもよい。使用される一意の識別子は、秘密にする必要はなく、例えば、チップのシリアル番号であってもよい。2つのシリアル番号には同じものはないので、2つのPUFに同じものはない。2つのCPUFが同じ基本的PUFfを共有している場合であっても、攻撃者がそれを知る方法はない。その理由は、攻撃者はPUFf回路188を直接チェックすることができないからである。
[フィードバック]
攻撃者に対してより複雑なものとするために、CPUFg回路186を複数回使用して、1つのレスポンスを生成するようにしてもよい。1回目の使用からの修正済みのレスポンスは、PUF回路にフィードバックすることができる。数回使用した後で、チャレンジ、個人特性、及び識別子モジュール196により生成され、かつランダム・ハッシュ関数を通過した識別子と共に、これら全ての出力が合成され、全体のレスポンスが生成され得る。
[CPUFチップ]
図14を参照すると、半導体チップ48は、CPUFチップの一実施形態である。チップ48は、PUF回路100及びマイクロプロセッサ51を含む。PUF回路100は、測定可能な構成要素102及び測定回路104を含む。マイクロプロセッサ51は、制御アルゴリズムを実行して、ある機密保護プロトコルに従うソフトウェア・コードを使用した場合のみ、PUF回路100にアクセス可能にする。ソフトウェア・コードは、マイクロプロセッサ51が機能モジュール52に計算を行わせて計算結果を生成させるコードを含むことができる。ソフトウェア・コードは、マイクロプロセッサ51が制御モジュール54に計算結果又はPUF回路100の出力に対する追加制御(例えば、ランダム・ハッシュ機能又は暗号化の適用)を行わせるコードを含むことができる。機密保護プロトコルは、マイクロプロセッサ54が測定可能な構成要素102の物理特性と相互に関連することを要求し、この場合、マイクロプロセッサ54を不正に使用すると、PUF回路100の出力が変化するようにする。
機密保護プロトコルは、ランダム・ハッシュ関数及び暗号化を使用して、ソフトウェア・コード及び計算結果が、測定可能な構成要素102の物理特性の測定値と相互に関連するようにする必要がある。
制御モジュール54及び機能モジュール52が実行する制御及び機能は、固定されておらず、マイクロプロセッサ51を稼働しているソフトウェア・コードに依存する。
制御アルゴリズムにより、攻撃者が、PUF回路100により生成された測定値を直接入手することが防止される。これにより、攻撃者が、PUF回路をシミュレートしてコピーするためにPUF回路100のモデルを確立することが困難となる。また、制御アルゴリズムにより、攻撃者が、マイクロプロセッサ51により生成された計算結果を直接入手することが防止される。これにより、計算結果が本物であることを確認することができる。更に、制御アルゴリズムにより、ユーザは(非機密保護チャネルを介して)PUF回路100に対して一意であり、かつ、ユーザにとって私的なチャレンジ−レスポンス・ペアを生成することができる。
「CPUFチップ」という用語は、制御を介して(制御アルゴリズムを実行しているマイクロプロセッサを介して、又は専用制御回路を介して)のみアクセスすることができるPUF回路を含むチップを参照するために使用される。「CPUFデバイス」という用語は、CPUFチップを含むデバイスを参照するために使用される。
制御アルゴリズムは、「プリチャレンジ」がCPUFチップへの入力として供給された場合のみ、CPUFチップ48からレスポンスを送ることができる。プリチャレンジは、新規のチャレンジ−レスポンス・ペアを生成するプロセスで使用されるチャレンジを生成するために使用される。新規のチャレンジ−レスポンス・ペアが生成されると、プリチャレンジは破棄することができる。
制御アルゴリズムは、チャレンジがCPUFチップ48の入力として供給された場合に、CPUFチップが秘密鍵を生成することができるように設計され、CPUFチップは、その秘密鍵を内部で使用するが、出力せず、かつ、チャレンジに対するレスポンスも出力しない。秘密鍵は、CPUFチップ48により生成されたメッセージを暗号化する場合、又はメッセージに対するメッセージ認証コード(MAC)を生成する場合に使用することができる。これにより、一組のチャレンジ−レスポンス・ペア(CRP)を、機密保護チャネルを介して生成し、その後、非機密保護チャネルにおいて使用することができる。攻撃者がアクセスすることができない秘密鍵を生成することにより、いわゆる「中間者」(man−in−the−middle)攻撃を防止することができる。
[中間者攻撃]
中間者攻撃について以下に簡単に説明する。PUF回路100を用いることによりチップ50を認証することができる。しかし、人又は機械が非機密保護通信チャネルを介してチップと相互作用を行った場合、攻撃者は、チップ50の入力及び出力を傍受することにより、中間者攻撃を行うことができる場合がある。例えば、テレホンカードが、残りの金額を示す情報を記憶しているPUFチップを含んでいると仮定する。テレホンカードを使用する人が、電話呼出しを終了した場合、カードリーダは、テレホンカードに残りの時間又は金額からある値を減額するように命令する。攻撃者も、本物のテレホンカードに類似している偽のカードを使用して、カードリーダからチャレンジを読み出し、本物のテレホンカードにチャレンジを送信してレスポンスを生成し、次に、偽のカードによりカードリーダに適切なレスポンスを送信することができる。カードリーダは、実際には偽のカードと相互作用を行っている場合でも、本物のテレホンカードと相互作用を行っているように動作する。偽のカードは、実際に、偽のカードが金額を減額しなくても、減額を行うようにとのカードリーダの指示に従っているかのように動作するように設計することができる。
スマートカードにPUF回路100を設置すれば、カードリーダが、チャレンジを受信し、かつレスポンスを生成している人が本物のスマートカードを有していることを証明することができるが、そのスマートカードは、カードリーダにより要求される特定の動作を実際に行ったことを必ずしも保証しない。
中間者攻撃の別の例は、ユーザがPUFチップを使用して認可処理を行う場合である。ユーザは、PUFチップを実行するプログラムを送る。プログラムは、PUFチップで実行される。攻撃者は、ユーザのプログラムの代わりに自分自身が選択したプログラムを使用して、PUFチップで自分のプログラムを実行させる。攻撃者のプログラムは、ユーザが予想しているメッセージに類似しているが、実際は偽物であるメッセージを生成することができる。
[制御アルゴリズム]
チャレンジ−レスポンス・ペア(CRP)を生成するために使用するプロセス、及びCRPを使用してメッセージを認証するための秘密鍵を生成するためのプロセスについて以下に説明する。図15を参照すると、所有者234は、機密保護通信チャネル514を介して、CPUFチップ48と通信して、CRPを生成する。図16を参照すると、CRPを生成するために、プリチャレンジが、一方向ランダム・ハッシュ・モジュールh1191に送られて、チャレンジが生成され、このチャレンジは、PUF回路100に送られて、レスポンスが生成される。ランダム・ハッシュ・モジュールh1191は、制御モジュール54の一部であり、マイクロプロセッサにアクセス可能なメモリ(図示せず)内に記憶されたサブルーチンを使用して、マイクロプロセッサ51により実施される。レスポンスは、チップ48から所有者234に送られる。
以下の説明においては、説明を簡略化するために、エラー修正コード化のための手順の説明は省略する。
図17は、CRPを生成するためのプロセス512のタイムライン図である。プロセス512は下記のステップを含む。
ステップ520:所有者234は、プリチャレンジをランダムに選択し、それを制御モジュール54に送る。
ステップ522:制御モジュール54は、式、challenge=h1(prechallenge)を用いてチャレンジを計算し、チャレンジをPUF回路に送る。
ステップ524:PUF回路100は、式、response=f(challenge)=f(h1(prechallenge))に基づいてレスポンスを生成し、そのレスポンスを制御モジュール54に送る。
ステップ526:制御モジュール54は、所有者234にレスポンスを出力する。
ステップ528:所有者234は、式、challenge=h1(prechallenge)を用いてチャレンジを計算する。
ステップ520〜528は、一組のCRPが生成されるまで、ランダムに選択されたプリチャレンジを用いて数回反復される。CRPは、機密保護記憶箇所に記憶され、プリチャレンジは廃棄される。
図18を参照すると、一組のCRPが生成された後で、所有者234(又は所有者234から一組のCRPを得たユーザ)は、CRPを使用して、非機密保護通信チャネル226を介してCPUFチップ48を認証することができる。攻撃者235は、所有者234とCPUFチップ48との間の通信を傍受する可能性がある。攻撃者235は、CPUFチップ48を入手する可能性もある。
図19を参照すると、CPUFチップ48を認証するために、所有者234は、PUF回路100(CPUFチップの)にチャレンジを送り、PUF回路100は、暗号化及びMACモジュール195により使用されるレスポンスを生成して、メッセージ(例えば、機能モジュール52が生成した)を暗号化し、暗号化されたメッセージに対するメッセージ認証コード(MAC)を生成する。暗号化及びMACモジュール195は、制御モジュール54の一部である。
メッセージのMACは、メッセージを圧縮するハッシュ関数とメッセージの送信側及び受信側で共有される秘密鍵とを用いて生成することができる。MACは、通常、メッセージと共に受信側に送信される。受信側は、同じ秘密鍵及び送信側が使用したハッシュ関数を用いて受信メッセージのMACを計算し、計算結果を受信MACと比較する。2つの値が一致した場合には、メッセージは適切に受信され、受信側は、送信側が秘密鍵を知っているコミュニティのメンバーであることを確信する。MACを計算するためのアルゴリズムの一例としては、2002年3月6日に、米国国立標準技術研究所(National Institute of Standards and Technology)が発行した、連邦情報処理規格公報(Federal Information Processing Standards Publication)の第198に記載されている鍵付きハッシュ・メッセージ認証コード(HMAC)アルゴリズムがある。
所有者234が暗号化メッセージ及びMACを受信した場合には、所有者は、レスポンスを用いて暗号化メッセージを解読して、メッセージを入手することができる。所有者は、レスポンスを使用して暗号化メッセージに対するMACを生成することにより、かつ所有者が生成したMACを自分が受信したMACと比較することにより、暗号化メッセージの完全性を確認することができる。MACが一致した場合には、メッセージが、偽のチップによってではなく、CPUFチップ48により実際に生成されたものである確率が高い。
図20は、CPUFチップ48を認証するためのプロセス518のタイムライン図である。プロセス518は下記のステップを含む。
ステップ530:所有者234は、予め記憶されたチャレンジ−レスポンス・ペアをデータベースから検索し、チャレンジを含むプログラムを制御モジュール54に送る。
ステップ532:制御モジュール54は、命令を機能モジュール52に送る。命令は、機能回路が、デフォルト・メッセージにより応答することを要求する簡単なコマンドであってもよい。命令は、また機能回路にデータを処理させ、処理結果を表すメッセージを生成させるデータを含むプログラム・セグメントを含むことができる。
ステップ534:機能回路52は、メッセージを制御モジュール54に送信する。
ステップ536:制御モジュール54は、チャレンジをPUF回路100に送信する。
ステップ538:PUF回路100は、式、response=f(challenge)に基づいてレスポンスを生成し、そのレスポンスを制御モジュール54に送信する。
ステップ540:制御モジュール54は、レスポンスを用いてメッセージを暗号化する。
ステップ542:制御モジュール54は、レスポンスを用いて暗号化メッセージのMACを生成する。
ステップ544:制御モジュール54は、暗号化メッセージ及びMACを所有者234に送信する。
ステップ548:所有者234は、レスポンスを使用して暗号化メッセージのMACを計算する。
ステップ550:所有者234は、計算したMACを受信MACと比較して、暗号化メッセージの真偽を判定する。
ステップ552:所有者は、レスポンスを用いて暗号化メッセージを解読してメッセージを生成する。
ユーザが非機密保護チャネル226を介してCPUFチップ48を認証しようとした場合、CPUFチップにより生成されたメッセージを知ることを所望する攻撃者235が、CPUFチップを有している場合がある。攻撃者は、本物のメッセージの代わりに偽のメッセージを使用しようとする。そうするためには、攻撃者は、レスポンスを入手して、適切なMACを生成する必要がある。しかし、攻撃者はレスポンスを知らない。攻撃者は、チャレンジを傍受することはできるが、レスポンスを入手することはできない。その理由は、レスポンスは、プリチャレンジがチップへの入力として供給された場合のみ、チップの外部に送信されるからである。そして、攻撃者は、ハッシュ関数を反転して、チャレンジからプリチャレンジを入手することはできない。攻撃者は、レスポンスを入手することができないので、中間者攻撃を行って、CPUFチップ48からメッセージを取り出すことはできない。
物理的攻撃に対してチップ48に耐性をもたせるために、制御モジュール54は、PUF回路100と相互に協働して、攻撃者が物理的検査を通して制御モジュール54をバイパスできないようにする。このことは、制御モジュール54を囲む1つ以上の層上に測定可能な構成要素を形成することにより達成することができ、その結果、攻撃者は、測定可能な特性を変更して、PUF回路100が実行する機能を変更しない限り、制御モジュール54にアクセスできない。
[CRPの管理]
図17のプロセス512の場合には、所有者234は、機密保護チャネル514を介してCPUFチップ48と通信しているものと見なされる。以下に、所有者のみが知っている旧来のCRPを有している所有者234が、非機密保護チャネル226を介して新規のCRPを生成するプロセスについて説明する。
図21を参照すると、所有者234は、CPUFチップ48に、旧来のチャレンジと新規のプリチャレンジを送る。プリチャレンジは、ランダムに選択された数値である。新規のプリチャレンジは、ハッシュ・モジュール191を介して新規のチャレンジを生成し、この新規のチャレンジはPUF回路100を通過して、新規のレスポンスが生成される。旧来のチャレンジは、PUF回路100を通過して旧来のレスポンスが生成され、この旧来のレスポンスはハッシュ・モジュールh2193を通過して秘密鍵が生成される。秘密鍵は、暗号化及びMACモジュール195により使用されて、メッセージを暗号化し、暗号化メッセージに対するMACが生成される。暗号化メッセージ及びMACは、チップから送信され、所有者234に転送される。所有者234はMACを計算することができる。その理由は、所有者は旧来のレスポンスを有し、秘密鍵を計算することができるからである。次に、所有者は、MACを用いて暗号化メッセージの認証をチェックし、暗号化メッセージを解読して、新規のレスポンスを入手することができる。
攻撃者は秘密鍵を知らないので、暗号化メッセージを解読して、新規のレスポンスを入手することができない。攻撃者が、新規のレスポンスの代わりに偽のレスポンスを使用するか、又は偽の秘密鍵を使用した場合、所有者はそのことが分かる。その理由は、MACが適切でないからである。
図22は、所有者234が、所有者のみが知っている旧来のCRPから新規のCRPを生成可能にするプロセス560のタイムライン図である。所有者234は、非機密保護チャネルを介してCPUFチップと通信する。プロセス560は下記のステップを含む。
ステップ562:所有者234は、新規のプリチャレンジをランダムに選択し、制御モジュール54に新規のプリチャレンジ及び旧来のCRPの旧来のチャレンジを送信する。
ステップ564〜566:新規のレスポンスが、図17のステップ522〜524に類似の方法で、新規のプリチャレンジから生成される。
ステップ568:制御モジュール54は、旧来のチャレンジをPUF回路100に送信する。
ステップ570:PUF回路100は旧来のレスポンスを生成し、それを制御モジュール54に送信する。
ステップ572〜578:ステップ539〜544に類似の方法で、制御モジュール54は、旧来のレスポンスから秘密鍵を生成し、秘密鍵を用いて新規のレスポンスを暗号化し、暗号化された新規のレスポンスに対するMACを生成し、暗号化された新規のレスポンス及びMACを所有者234に送信する。
ステップ580〜586:ステップ546〜552に類似の方法で、所有者234は秘密鍵を計算し、MACを計算し、計算されたMACを制御モジュール54から送信されたMACと比較する。一致した場合には、暗号化された新規のレスポンスは認証されたものとなる。所有者234は、新規のレスポンスを解読して、新規のレスポンスを入手する。
ステップ588:所有者234は、式、new challenge=h1(new prechallenge)を用いて新規のチャレンジを計算する。
図22のプロセス560においては、新規のCRPを生成する所有者234は、他の誰も知らない旧来のCRPをすでに有していると仮定する。図23を参照すると、ユーザ592は、所有者234から旧来のCRPを入手し、この旧来のCRPを使用して新規のCRPを生成することを所望する場合、プロセス560によって、所有者234が傍受して新規のレスポンスを入手することが防止される。これは、所有者234が、旧来のレスポンスから秘密鍵を計算することができるからである。以下に、所有者234が新規のレスポンスを知ることを防止するようにして、ユーザ592が新規のCRPを生成可能にするプロセスについて説明する。このプロセスは、公開鍵暗号化アルゴリズムを使用して、ユーザの公開鍵で新規のレスポンスを暗号化することにより達成される。
図24を参照すると、ユーザ592は、旧来のチャレンジ、新規のプリチャレンジ及び自分の公開鍵をCPUFチップ48に送る。旧来のチャレンジはPUF回路100に送られて旧来のレスポンスが生成され、この旧来のレスポンスは、ハッシュ・モジュール194に送られて秘密鍵が生成される。新規のプリチャレンジは、ハッシュ・モジュール192を通過して新規のチャレンジが生成され、この新規のチャレンジは、PUF回路100を通過して新規のレスポンスが生成される。新規のレスポンスは、ユーザの公開鍵を使用した暗号化モジュール201により暗号化されて暗号化された新規のレスポンスが生成される。MACモジュール203は、秘密鍵を、暗号化された新規のレスポンスに対するMACを生成するためのMAC鍵として使用する。暗号化された新規のレスポンス及びMACは、チップ48から送られ、ユーザ592に転送される。ユーザ592は、秘密鍵からMACを計算することができる。その理由は、ユーザは旧来のレスポンスを有しているからである。MACをチェックすることにより、ユーザ592は、暗号化された新規のレスポンスの完全性を確認することができる。ユーザ592は、自分の秘密鍵を使用して暗号化された新規のレスポンスを解読し、新規のレスポンスを入手することができる。
攻撃者は、秘密鍵を知らないため、新規のレスポンスを入手するか、あるいは、偽のレスポンスを挿入することはできない。所有者は、ユーザの公開鍵で暗号化されたメッセージを解読できないため、新規のレスポンスを入手することができない。
プロセス590を実行するために、旧来のチャレンジ、新規のプリチャレンジ及びユーザの公開鍵を含むソフトウェア・プログラムが、I/Oポート105を介して制御モジュール54に送られる。このプログラムは、プロセス590に従って、制御モジュール54に、新規のレスポンスを生成させ、新規のレスポンスを暗号化させ、新規のレスポンスに対するMACを生成させ、暗号化された新規のレスポンス及びMACを出力させる。
図25は、ユーザ592が、所有者234から得た旧来のCRPから新規のCRPを生成可能にするプロセス590のタイムライン図である。ユーザ592は、非機密保護チャネルを介してCPUFチップ48と通信する。プロセス590は、下記のステップを含む。
ステップ593:図22のステップ562〜572類似のステップ。
ステップ594:制御モジュール54は、ユーザの公開鍵を用いて新規のレスポンスを暗号化する。
ステップ596:ステップ576〜584類似のステップ。
ステップ598:ユーザの秘密鍵を用いて暗号化された新規のメッセージを解読して、新規のレスポンスを入手する。
ステップ600:ステップ588類似のステップ。
[制御アルゴリズムの実行]
以下に、CPUFチップと、チップを認証するか、又は認証された状態でチップを使用することを所望するエンティティとで共有される秘密鍵を生成するために使用される制御アルゴリズムの実行について説明する。制御アルゴリズムを実行するために、制御モジュール54により実行可能な多数の基本手順について以下に説明する。
・Output(arg1,...):この手順は、CPUFチップから結果(arg1,...)を送信するために使用される。攻撃者は、非機密保護リンクを介してCPUFチップから送信される全ての結果を確認し得る。
・EncryptAndMAC(message,key):この手順は、ある鍵(key)を暗号鍵として使用して、メッセージ(message)を暗号化し、この鍵を使用して、暗号化メッセージのMACを生成するために使用される。
・PublicEncrypt(message,public_key):この手順は、公開鍵暗号化アルゴリズムに従って、公開鍵(public_key)を使用してメッセージを暗号化するために使用される。
・MAC(message,key):この手順は、鍵(key)を使用してメッセージのMACを生成する。
制御アルゴリズムは、プログラムによってのみPUFにアクセスできるように設計される。例えば、プログラムは、2つの基本手順によりPUFにアクセスする。その出力はこれらの基本手順を含むプログラムに依存する。これらの基本手順は下式により定義される。
・GetResponse(PreChallenge)=f(h1(h1(Program),PreChallenge));
・GetSecret(Challenge)=h2(h1(Program),f(Challenge));
ここで、fは、PUFであり、h1及びh2は、一般的に入手できる一方向ランダム・ハッシュ関数(又は疑似ランダム・ハッシュ関数)であり、プログラムは、認証方式で実行されるプログラム(すなわち、認証を必要とするプログラムの実行結果)である。Programは、Challenge又はPreChallengeに対する値を含む。プログラムは、原始関数GetResponse及び/又はGetSecretに対する呼出しを含んでいるので、GetResponse又はGetSecretを評価するにはProgramのハッシュを計算する必要がある。プログラムは、「プログラム開始」という連語、及び「プログラム終了」という連語を有する。hi(Program)を評価する場合には、「プログラム開始」と「プログラム終了」との間のプログラム・コードが、ハッシュ関数hiに送られ、ハッシュ値が生成される。hiが衝突困難性を有するハッシュ関数であると仮定した場合、Programを何らかの方法で変更すると、GetResponse及びGetSecretの値も変化する。
図26は、プリチャレンジ、チャレンジ、レスポンス及び共有秘密の間を移動する可能性のある数々の方法を要約したものである。GRP及びGSPは、それぞれ、GetResponse及びGetSecretを呼び出すプログラムである。この図の場合、下への移動は、ハッシュ値を計算することにより容易に達成される。上への移動は困難である。その理由は、一方向関数であるハッシュ関数を反転するプロセスを含んでいるからである。左から右への移動は、そのハッシュ値がGetResponse又はGetSecret原始関数で使用されているプログラムの場合には容易であるが、他のすべてのプログラムの場合には困難である。PUFが一方向ハッシュ関数を反転できない場合には、右から左への移動は困難である。
[制御プログラム]
以下に、秘密鍵を生成し、チャレンジ−レスポンス・ペアを管理するために使用されるプログラムの例について説明する。これらのプログラムを使用する場合、CPUFは、プログラムの実行間の状態を保存する必要はない。
プログラムObtain Secret Programは、ユーザとCPUFチップとの間で共有可能な秘密を入手するために使用されるプログラムの一例である。
/*Obtain Secret Program*/
begin program
Secret=GetSecret(Challenge)
/*プログラムは、Secretをユーザと*
*共有する秘密として使用する */
end program
この場合、Challengeは、プログラムを送信しているユーザが知っているチャレンジ−レスポンス・ペアからのチャレンジである。
GetSecret(Challenge)を評価するためには、h1(h1(Program),f(Challenge))を評価する必要がある。h1(Program)を評価する際には、Challengeの実際の値を含む、「プログラム開始」と「プログラム終了」との間に含まれるすべてのものが、ハッシュ関数h1を通過する。Challengeに対する異なる値を含む同じプログラム・コードは、異なるプログラム・ハッシュを有し、結果は異なる秘密が生じる。
ユーザは、Secretを決定することができる。その理由は、ユーザは、チャレンジ−レスポンス・ペアを有し、かつ、Challengeに対するレスポンスを知っているからである。ユーザは、h1(h1(Program),response)を計算して、Secretを決定することができる。逆に、攻撃者は、秘密が何であるかを決定することはできない。攻撃者は、CPUFに送られたプログラムを確かめることにより、Challengeが何であるかを確認することができる。しかし、CPUFチップは、PUFの測定可能な物理特性を変更しない限り、PUFにアクセスすることができないように設計されるので、攻撃者は、PUFを精査して、レスポンスが何であるかを知ることはできない。
秘密鍵を使用した制御プログラムを用いることにより、本明細書に記載する制御アルゴリズムを、公開鍵暗号化システムを使用している既存のアプリケーションに容易に適用することができる。公開鍵暗号化システムにおいては、他の個人と機密保護状態で通信することを所望する個人は、その個人の公開鍵を使用して、その個人のみが理解可能なメッセージを暗号化することができる。この公開鍵は、ある信頼できる当事者から最初に入手され、その当事者は、公開鍵をすでに知っており、個人との認証チャネルが存在している。CPUFを用いて、デバイスと機密状態で通信することを所望する個人は、チャレンジ−レスポンス・ペアのチャレンジを使用して、その個人がデバイスと共有し、かつ、自分が通信するために使用可能な対称鍵を生成する。チャレンジ−レスポンス・ペアは、最初、認証されたプライベート・チャネルが存在する信頼できる当事者から入手される。
[制御プログラムを使用した新規のCRPの入手]
以下の説明において、CPUFチップ48の所有者又はユーザは、プログラムをチップ48の入出力(I/O)ポート105を介して、CPUFチップの制御モジュール54に送る(図14参照)。
図27を参照すると、CPUFチップへの機密保護リンクを有する所有者234は、プロセス602に従ってプログラムBootstrapping Programを使用して、新規のCRPを入手することができる。
/*Bootstrapping Program*/
begin program
Response=GetResponse(PreChallenge);
Output(Response);
end program
プロセス602は、プロセス512に類似している(図17)。以下の説明は、プロセス512のステップとは異なるプロセス602のステップに焦点を当てて行う。ステップ604において、所有者234は、プリチャレンジ(PreChallenge)をランダムに選択して、プリチャレンジを含むプログラム(Bootstrapping Program)を制御モジュール54に送信する。ステップ606及び608において、新規のCRPに対するチャレンジが、式「challenge=h1(h1(Bootstrapping Program),PreChallenge)」を用いて計算される。新規のCRPに対するレスポンスは、Responseであり、新規のCRPに対するチャレンジは、「h1(h1(Bootstrapping Program),PreChallenge)」である。
図28を参照すると、CPUFチップへの非機密保護リンクを有し、他の誰も知らず、以前に使用したことがないCRPを有する所有者234は、プロセス610に従ってプログラム、Renewal Programを使用して、新規のCRPを入手することができる。
/*Renewal Program*/
begin program
NewResponse=GetResponse(PreChallenge);
Output(EncryptAndMAC(NewResponse,GetSecret(OldChallenge)));
end program
プロセス610は、プロセス560に類似している(図22)。以下の説明は、プロセス560とは異なるプロセス610のステップに焦点を当てて行う。ステップ612において、所有者234は、プリチャレンジPreChallengeに対する任意の値を選択し、OldChallengeの値を旧来のCRPからのチャレンジに設定する。所有者234は、新規のプリチャレンジ及び旧来のプリチャレンジを含むプログラム(Renewal Program)を制御モジュール54に送信する。ステップ614及び620において、新規のチャレンジが、式「challenge=h1(h1(Renewal Program),PreChallenge)」を用いて計算される。
ステップ616及び618において、秘密鍵が、式「secret key=h2(h2(Renewal Program),old response)=h2(h2(Renewal Program),f(OldChallenge))」を用いて計算される。新規のCRPのレスポンスは、NewResponseであり、新規のCRPのチャレンジは、「h1(h1(Renewal Program),PreChallenge)」である。
プロセス610において、攻撃者は、プログラムを傍受し、それを自分自身のプログラムで置き換え、OldChallengeを自分がそれに対するレスポンスを知っているチャレンジで置き換えようと試みる可能性がある。攻撃者は、CPUFチップを介してプログラムを実行して新規のレスポンスを生成し、新規のレスポンスをユーザに送ろうと試みる可能性がある。そうすることにより、攻撃者は、自分が強奪しようとしているレスポンスとは異なるレスポンスを入手することになる。その理由は、OldChallengeはプログラムの一部であり、GetResponseが、プリチャレンジを実行中のプログラムのランダム・ハッシュと結合して、レスポンスを生成するからである。
以下の説明においては、「証明者」は、CPUFに対するCRPの自分自身のプライベート・リストを有しており、ユーザに信任されている人である。チップの製造業者は、他のユーザに対して証明者としての役割をもつことができる。ユーザがCRPの自分自身のリストを確立した後で、第2のユーザが第1のユーザを信任する場合には、第1のユーザは別の1人のユーザに対して証明者としての役割をもつことができる。例えば、ユーザがチップの所有者を信任した場合には、チップの所有者は証明者としての役割をもつことができる。証明者は、更新プログラムを使用して新規のCRPを生成し、新規のCRPを機密保護チャネルを介してユーザに送信することができる。証明者により証明されたCRPは、「証明済みCRP」と呼ばれる。次に、ユーザは、下記のプライベート更新プログラムを使用して、証明者が知らないCRPを生成する。ユーザにとって私的なものであり、かつ、他の誰もが知らないCRPは、「プライベートCRP」と呼ばれる。
図29を参照すると、証明済みCRPを得たユーザ592は、CPUFチップ48に、下記のプログラムPrivate Renewal Programを送信することにより、プロセス622に従ってプライベートCRPを生成することができる。この場合、ユーザ592とCPUFチップ48との間のリンクは機密保護されていないと仮定し、証明済みCRPは以前に使用されたことがないと仮定する。
/*Private Renewal Program*/
begin program
NewResponse=GetResponse(PreChallenge);
Message=PublicEncrypt(NewResponse,PublicKey);
Output(Message,MAC(Message,
GetSecret(OldChallenge)));
end program
プロセス622は、プロセス590(図25)に類似している。以下の説明は、プロセス560のステップとは異なるプロセス610のステップに焦点を当てて行う。ステップ624において、ユーザ592は、新規のプリチャレンジ、旧来のチャレンジ、及びユーザの公開鍵(PublicKey)を含むプログラム(Private Renewal Program)をCPUFチップ48に送信する。Private Renewal Programにおいては、PreChallengeは、ユーザ592がランダムに選択した任意の数であり、OldChallengeは、証明済みCRPのチャレンジであり、PublicKeyは、ユーザの公開鍵である。
ステップ626及び632において、新規のチャレンジが、式「challenge=h1(h1(Private Renewal Program),PreChallenge)」を用いて計算される。ステップ628及び630において、秘密鍵が、式「secret key=h2(h2(Private Renewal Program),old response)=h2(h2(Private Renewal Program),f(OldChallenge))」を用いて計算される。新規のCRPのレスポンスは、NewResponseであり、新規のCRPのチャレンジは、「h1(h1(Private Renewal Program),PreChallenge)」である。
ユーザ以外の誰かがNewResponseを読むことができる可能性は低い。その理由は、ユーザの公開鍵で暗号化されているからである。攻撃者が、PublicKeyを自分自身の公開鍵で置き換えようとした場合、異なるレスポンスを入手することになる。その理由は、PublicKeyは、プログラムの一部であり、そのためGetResponseの出力を間接的に変化させるからである。MACは、ユーザが、(おそらく、ユーザにCRPを丁度導入した証明者)と旧来のCRPを共有する人によってのみ偽造することができる。その人が信頼できると仮定した場合、ユーザは、MACがCPUFチップにより生成されたものであり、それ故、NewResponseは、実際にCPUFチップにより生成されたレスポンスであることを確信することができる。
[複数の個人特性を用いた匿名の維持]
図9のCPUFg回路186おいては、ユーザは、ライン197上で異なる数のPersonalitySelect信号を使用することにより、CPUFg回路186に対して異なる個人特性を選択することができる。個人特性の選択を実行するための制御アルゴリズムについて以下に説明する。自分のIDを秘匿しようとするCPUFチップ48(図14)の所有者は、CPUFチップの「匿名の所有者」と呼ばれる。CPUFチップの匿名の所有者のIDに関するすべての情報源は、他のプロトコル層によりすでに除去されていると仮定する。制御アルゴリズムは、CPUFチップ48が、匿名の所有者のIDを漏洩することを防止するように設計される。(単なるタイミングの考慮から少し後でのメッセージの到着をあるノードにおいてメッセージの送信と相互に関連づける)トラヒック分析を使用することができない匿名の導入を使用している多くの人々がいると仮定する。
制御アルゴリズムは、CPUFチップ48に送信されるプログラムが、PersonalitySelectを自由に設定できないように設計される。そうでない場合には、これらのプログラムは、CPUFチップ48を既知の個人特性に入れることができ、個人特性の選択器を有する目的が失われる。個人特性の選択を実行するために、CPUFチップ48により以下の基本手順が実行される。
・ChangePersonality(Seed):この手順は、個人特性をh(PersonalitySelect,Seed)に変更する。ここで、hはランダム・ハッシュ関数である。
・RunProg(Program):この手順は、PersonalitySelectを変更することなく、引数として供給されるプログラムを実行する。プログラムが外部からCPUFチップ内にロードされ、RunProgを通過することなく実行された場合には、PersonalitySelectは、ゼロ、すなわち、デフォルトの個人特性に設定される。
・Decrypt(message,key):この手順は、暗号鍵keyで暗号化されたメッセージmessageを解読するために使用される。
・HashWithProg(x):この手順は、h(h(program),x)を計算するために使用される。
・Hash(...):この関数は、ランダム・ハッシュ関数である。
・Blind(message、factor):この手順は、メッセージmessageにブラインディング要因factorを適用するために使用される。ブラインディング要因については以下に説明する。
[現時点の個人特性の選択]
CPUFチップ48の匿名の所有者が、CPUFチップのデフォルトの個人特性以外の個人特性を提示することを所望する場合には、その所有者は、CPUFチップに送信中のすべてのプログラムを傍受し、それらを自分自身のコードの一片に収容する。
/*Select Personality Program*/
ESeed=
/*秘密で暗号化された個人特性シード*/
EProgram=
/*秘密に暗号化されたカプセル化プログラム*/
begin program
Secret=GetSecret(Challenge);
Seed=Decrypt(ESeed,Secret);
Program=Decrypt(EProgram,Secret);
ChangePersonality(Seed);
RunProg(Program);
end program
Select Personality Programにおいては、「begin program」の前に位置するラインは、プログラムを伴うが、プログラムのハッシュに参加しないデータの一片である。EProgramがハッシュに内蔵されている場合には、それを暗号化することはできない。その理由は、暗号鍵は、暗号化されたプログラムに依存するからである。Seedは、Secretにより暗号化された任意に選択されたシード値である、Eseedから由来するものである。Challengeは、匿名の所有者のCRPのうちの1つのチャレンジである。
このような方法でプログラムをカプセル化することにより、匿名の所有者は、その所有者がユーザのプログラムを実行した場合、CPUFが表示している個人特性を変更することができる。ユーザのプログラムが、使用している個人特性を決定可能にする基本手順はない。ChangePersonalityと共に使用されるシードは暗号化されるので、ユーザは自分が使用している個人特性を知ることはできない。ユーザのプログラムは暗号化されるので、所有者の通信を監視しても、ユーザはCPUFに送信中のプログラムが、自分自身のプログラムかどうかを判断することはできない。
所有者を匿名のままにしておくことの1つの利点は、複数の相互に信用していない当事者が、同じ計算デバイスを機密保護状態で使用できることである。
[匿名の導入]
「匿名の導入」のプロセスについて以下に説明する。匿名の導入の際には、CPUFチップの所有者は、ユーザに証明者が証明したCRPを提供する。そのため、ユーザはCRPを使用してCPUFチップ上で証明済みの実行を行うことができる。所有者は、ユーザにCRPがどのCPUFに対応するのかを示すことを所望しない。匿名の導入後に、ユーザは証明済みのCRPを入手し、CRPを使用して他のCRPを生成し、CPUFチップ上で証明済みの実行を行うことができる。しかし、ユーザは、自分がどのCPUFを使用しているのかを判断することはできず、かつ、自分が他のユーザ又は証明者と同じCPUFと通信しているかどうかも判断することはできない。
図30は、匿名の導入のモデルである。ユーザ222は、CPUFチップ224に対するCRPを有しておらず、CRPの自分自身のプライベート・リストを確立することを希望する。証明者232及び所有者234は相互に通信し、所有者234及びユーザ222は相互に通信し、所有者234はCPUFチップ224と通信する。証明者232と、所有者234及びユーザ222との間の通信チャネルは、機密保護されている(プライベート及び認証されている)。所有者234とCPUFチップ224との間の通信チャネル226は機密保護されていない。証明者232及びユーザ222は協力して、CRPが同じCPUFチップのためのものであるかどうかを判断する。
匿名の導入のプロトコルの一例は、下記の例で説明される「秘匿」と呼ばれる手順を使用することができる。アリスは、ボブに自分の代わりに署名することを所望しているが、アリスは、ボブに自分が何に署名したのかを知られたくない。そうするために、アリスは「秘匿係数」を適用することにより、メッセージを隠す。ボブは、秘匿されたメッセージを受け取り、それに署名し、署名した秘匿メッセージをアリスに返送する。次に、アリスは、ボブの署名にダメージを与えることなく秘匿係数を除去する。その結果、得られるメッセージにはボブが署名したものとなるが、ボブが多くのメッセージに署名した場合には、ボブは秘匿されていないメッセージのどれに自分がいつ署名したのかは分からない。
匿名の導入のプロトコルは下記のステップを含む。
ステップ300:CPUFチップの所有者は、証明者及びユーザの公開鍵からチャレンジを入手する。所有者は図31に示されるプログラムをCPUFチップに送信する。
ステップ302:所有者は、CPUFチップからの出力を解読し、MACをチェックし、証明者の公開鍵で暗号化されたプログラム(MACの関与する部分のみ)のコピーと共に、Mesg5を証明者に送る。
ステップ304:証明者はプログラムを解読し、それが公式の匿名の導入プログラムであることをチェックし、次に、それをハッシュして、CertSecretを計算する。次に、証明者は、MACによりMesg4が本物であることを証明することができる。証明者はMesg4に署名し、結果を所有者に送る。
ステップ306:所有者は、メッセージの秘匿を解除し、Mesg3の署名済みバージョンで処理を終了する。所有者は、署名及びMesg3のMACをチェックして、証明者が自分のIDをユーザに送信していないことを確認する。所有者は、秘匿が解除されたメッセージをユーザに送信する。このメッセージは、実際には、証明者が署名済みのMesg3のバージョンである。
ステップ308:ユーザは、署名をチェックし、自分の秘密鍵でMesg2を解読して、CRPを入手する。
上記プロトコルの場合には、UserPubKey及びCertChallengeが暗号化され、そのため、ユーザがCPUFチップに送信するメッセージを、証明者のチャレンジ又はユーザの公開鍵と相互に関連づけることが困難である。Seedは、証明者又はユーザが、ユーザが表示されている個人特性に自発的に入り込む方法を知るのを防止するために暗号化される。PreChallengeSeedは、証明者がステップ304においてプログラムをチェックする際に、新しく生成されたチャレンジを発見することを防止するために暗号化される。Mesg5及びMesg6の間の暗号化は、CPUFから所有者へのメッセージと所有者から証明者へのメッセージが相互に関連することを防止する。
2つ以上のカプセル化層を使用することができる。匿名の導入によりCPUFの個人特性にアクセスしたエンティティは、このPUFに他の当事者を引き合わせることができる。より詳細に説明すると、このエンティティは、自分が受信した署名入りCRPを証明者に返送し、自分が匿名でCPUFを他の当事者に引き合わせた場合に、証明者を自分の個人特性に対する証明者としての役割をもたせるようにすることができる。
CPUFチップ及び制御アルゴリズムは、例えば、スマートカード用途及び証明済み実行で使用することができる。
[スマートカード用途]
図32を参照すると、スマートカード206は、PUF回路209、機能回路278、及び制御回路280を有する集積回路チップ208を含む。PUF回路209は、チャレンジが選択可能な多数の信号経路を含む遅延回路210を有する。一例を挙げて説明すると、チャレンジは64ビット数であってもよい。スマートカード206は、プログラムを受信するための入出力(I/O)ポート212を含む。カードリーダ214は、スマートカードを認証するために使用される。カードリーダ214は、スマートカード206を受け入れるためのポート216と、プロセッサ218と、チャレンジ−レスポンス・ペアを記憶するための記憶装置220とを含む。プロセッサ218は、チャレンジを選択し、チャレンジを含むプログラムをスマートカード206に送信し、スマートカードからメッセージを受信する。メッセージは、機能回路278が生成した計算結果、及びチャレンジへのレスポンスを含む。プロセッサ218は、メッセージを処理してレスポンスを生成し、スマートカードから受信したレスポンスを、チャレンジに関連して記憶装置220に記憶されたレスポンスと比較する。レスポンスが一致した場合には、スマートカード206が認証される。
図33は、CPUFチップを含むスマートカードを認証するためのプロセス370である。スマートカード会社は、同じリソグラフィ・マスクにより製造したPUFチップを含む非常に多数のスマートカードを製造する。各スマートカードは一意のシリアル番号を有する。プロセス370は下記のステップを含む。
ステップ372:スマートカード会社は、スマートカードを選択し、プロセス602(図27)を使用するスマートカードに対する一組のCRPを生成する。CRPは、機密保護データベースに記憶される。
ステップ374:スマートカード会社は、スマートカードをカード所有者に配布し、スマートカードのシリアル番号をカード所有者のアカウントにリンクする。
ステップ376:カード所有者が自分のアカウントにアクセスし、スマートカード会社が提供するサービスを利用することを所望する場合、カード所有者は、認証のためにカードリーダにスマートカードを提示する。
ステップ378:カードリーダは、機密保護データベースから予め記憶されたCRPを検索し、以下に説明するプロセス634に従ってスマートカードを認証する。
図34を参照すると、プロセス634は、カードリーダがCPUFチップ48を含むスマートカードを認証可能にする。プロセス634はプロセス518に類似している(図20)。以下の説明は、プロセス518とは異なるプロセス634内のステップに焦点を当てて行う。ステップ636において、カードリーダは、下記のプログラム、Smartcard Programをスマートカードに送る。
/*Smartcard Program*/
begin program
Secret=GetSecret(Challenge);
/*このプログラムは、スマートカードに銀行に送信される
メッセージを生成させるための命令を含む*/
Output(Message,MAC((Message,R),Secret));
end program
Smartcard Programにおいては、Rは1回使用の回数であり、Challengeはカードリーダのチャレンジである。ステップ638及び642において、秘密鍵が、式「secret key=h2(h2(program),response)」を用いて計算される。ステップ640及び644において、MACが、式「MAC((message,R),secret key)」を用いて計算される。1回使用の回数Rは、スマートカードが実行の間に保存される状態を有する場合に役に立つ。この場合、メッセージの新しさを確保することが重要である。スマートカードのメッセージのプライバシーが1つの要件である場合には、メッセージがMACを生成するために使用されるのと同じ鍵により暗号化されている場合に、異なるプログラムを使用することができる。
スマートカード会社がカード所有者にスマートカードを発行する前に、スマートカード会社は、一組の新規のCRPを生成する。スマートカード206が認証される度に、新規のCRPの一部が使用される。一組のCRPの全部を使用した場合には、スマートカード会社はプログラムRenewal Program及びPrivate Renewal Programを用いて新規の一組のCRPを生成する。
PUFを含んでいないスマートカードを使用した場合には、スマートカードを有している攻撃者は、種々のタイプの攻撃を使用して鍵情報(スマートカード内のどこかに隠されているデジタル鍵)を抽出することにより、コピーを生成することができる。誰かがある期間自分のカードを紛失した場合、自分のカードは潜在的にコピーされている。それ故、スマートカードを物理的に所有していても、必ずしも安全であるとはいえない。認証及び識別可能なスマートカードのPUFを所有していれば、攻撃者が抽出可能なデジタル鍵はもはや必要ない。スマートカードのハードウェア自身が秘密鍵である。この鍵はコピーすることができない。それ故、誰でもPUFスマートカードを制御できなくなる恐れがあるが、それを検索し、引き続き使用することができる。このようにして、機密保護を永久に失うことなく、PUFスマートカードを他の誰かに貸すことができる。
PUFは、その人が元のカードを所有しているかどうかをチェックするために、クレジット・カードで使用するのに適している(すなわち、その人は、友達からクレジット・カードを借りて、鍵情報を抽出し、クレジット・カードを返却し、偽造品を作ることができない)。
攻撃者が「サービスの拒否」攻撃を行うのを防止するために、スマートカードがデジタル・チャレンジ−レスポンス・プロトコルを用いて自身を識別することが必要となる場合があり、その後に、カードリーダは、カードリーダが有するCRPの限定された数のうちの1つでスマートカードにチャレンジする。
[証明済み実行]
証明済み実行では、特定のプロセッサ上で実行の証明を必要とする用途においてCPUFチップが使用される。例えば、大部分のコンピュータ・ユーザは、コンピュータの処理能力の一部しか使用しない。未使用の計算能力を引き出して、分散方式で長い計算を行うことができる。しかし、このタイプの計算は、信頼性が低い、その理由は、計算を要求している人は、その計算が不正なしで行われたことを知る方法がないからである。CPUFチップを使用した場合には、特定の計算が特定のチップ上で行われたことを証明する証明書を生成することができる。そして、計算を依頼する人は、チップの所有者に依存する代わりに、チップを製造したことを保証することができるチップ製造業者の信頼性に依存することができる。
証明済みの実行は、2つの方法で行うことができる。計算は、機密保護チップで直接行うか、又は機密保護チップの管理コードにより、高度にインタラクティブな方法で監視されているより高速の機密保護されていないチップで行うこともできる。
CPUFチップを使用して、ソフトウェア認可を容易にし、知的所有権保護を強化することができる。例えば、ソフトウェア・コードは、認証可能なプロセッサで実行するように設計することができる。海賊版のコードは実行できない。1つの方法は、CPUFのチャレンジ−レスポンス・ペアを用いてソフトウェア・コードを命令単位をベースとして暗号化する方法である。命令は、CPUFチップで解読されるが、専用のチップによってのみ解読することができる。
一例を挙げて説明すると、アリスは、週末にCPUFチップを含むボブのコンピュータで計算上高価なプログラムを実行することを所望している。ボブはこれまでに使用したことがないCRPを有している。アリスは、結果がボブ又は他の誰かに改ざんされなかったことを確認することを所望している。アリスはCRPを何ら有していない。アリスがプライベートCRPを入手し、そのプライベートCRPを使用して、CPUFチップで証明済み実行を可能にするプロセス400について以下に説明する。図35を参照すると、プロセス400は下記のステップを含む。
ステップ382:ボブは、アリスにCRPを送信する。
ステップ384:アリスは、ボブから得たCRPに基づいて、プロセス622(図29)により自分用の新規のCRPを生成する。
ステップ386:アリスがより多くのCRPを生成することを所望する場合には、ステップ384で確立されたCRPに基づいて、プロセス610(図28)によりより多くのCRPを生成することができる。
ステップ388:アリスは、下記のプログラムCertified Execution ProgramをCPUFチップに送信して、プロセス634類似のプロセスにより証明済み実行を行う。
/*Certified Execution Program*/
begin program
Secret=GetSecret(Challenge);
CPUFチップの機能回路に命令して、
証明済み実行を行い、
Resultに加えられる結果を生成するサブルーチン
Output(Result,MAC(Result,Secret));
end program
Certified Execution Programにおいては、Challengeは、アリスがステップ386又は388で生成したチャレンジである。
プロセス400は、1回使用の乱数を使用しない。証明済み実行では、見込み違いとなることがない計算が含まれていると仮定する。すなわち、計算では、同じ計算がいつ行われても、同じ結果が示される。
証明済み実行を行う場合には、アリスは、計算が適切に行われるように、ボブのCPUFチップに委託する。これにより、計算を行うのに使用されるすべてのリソース(メモリ、CPU等)が、CPUFチップ上に存在し、かつ、CPUF特性に含まれていることを確保することがより容易になる。CPUFチップが機密保護状態でオフチップ・リソースを使用可能となるように、CPUFチップを設計することができる。また、CPUFチップが、証明済み実行により、他のネットワークで接続されたCPUFチップ及びデバイスの機能を使用できるように、CPUFチップを設計することもできる。CPUFは、使用している各コンピュータに対するCRPを有し、上記プロトコルにより計算を行うことができる。
[実験データ]
Xilinx XC2S200フィールド・プログラマブル・ゲート・アレイ (FPGA)を使用して、一意に識別されるPUFを形成することの実行可能性を決定する実験を行った。FPGAは大量に製造され、製造プロセスは、可能な限り同じICを製造して、歩留まり及び性能が最大となるように調整した。実験結果は、予測できるように設計した高度に最適化した製造プロセスでも、十分な変動があり、信頼性の高い識別ができることを示している。
図36を参照すると、自励発振ループ236は、FPGAの参照テーブルにより実施される(鎖線で囲まれた)遅延回路238及びスイッチング回路240を含む。参照テーブルの動作は、XORゲート241及びマルチプレクサ242によりモデル化することができる。ライン245上の信号は、遅延回路238に入力され、上部経路247と下部経路249とを切り替える2つの信号に二重化される。経路247及び249上の信号は、それぞれ、信号ライン239及び237を介してスイッチング回路240に入力される。スイッチング回路240の出力251は、遷移が遅い場合には立上りエッジ又は立下りエッジを切り替え、ライン237及び239を介してその入力に到着する。回路240は、遅延回路からの両方の出力が同じレベルである場合に、状態を切り替えるフリップフロップに類似している。
異なる条件で異なるFPGAに対して多数のプロファイルが生成された。プロファイルは、128のチャレンジ−レスポンス・ペアの測定値を表す。すべてのプロファイルは、同じチャレンジにより確立された。2つのプロファイルのレスポンスにおける差を比較することにより、差の分布を得た。大部分の差がゼロに近い場合には、プロファイルは近接している。差がゼロ値から離れている場合には、プロファイルは離間している。実験結果は、差の分布は通常ガウス的であることを示している。それ故、2つのプロファイル間の差を標準偏差により特徴づけることができる。
図37を参照すると、各ラインは、第1のプロファイルと第2のプロファイルとの差を表す。水平軸は許容範囲を表し、垂直軸は任意のチャレンジについて、レスポンスの差が水平軸上に示すレスポンスの差より小さくなる確率を示す。第1のプロファイルは数本のラインに対して同じに維持され、室温で第1の試験ボード上で動作する「Abe」と呼ばれるFPGAチップにより生成されたレスポンスを測定することにより得た。ライン242について、第2のプロファイルは、室温での第1の試験ボード上でAbeにより生成されたレスポンスを2回目に測定することにより得た。2つのプロファイル間の差の標準偏差σは、約1×10-5である。測定は、同じ温度で、同じボード上の同じチップ上で行ったので、結果は、時間の経過中の試験ボードの供給電力の変動を表す。
ライン244については、室温で第2の試験ボード上でAbeチップにより生成されたレスポンスを測定することにより、第2のプロファイルを得た。この場合、σ≒2.5×10-5である。異なる試験ボード上で測定を行ったので、結果は、異なる試験ボード間の供給電力の変動を反映している。ライン246、248及び250について、第2のプロファイルは、それぞれ室温より10度、20度及び30度高い温度で、第1の試験ボード上のAbeチップからのレスポンスを測定することにより得た。この場合、σ≒5×10-5〜1.5×10-4であった。ライン252及び254について、第2のプロファイルは、第1の試験ボード上で、それぞれ「Hal」及び「Walt」と呼ばれるFPGAチップからのレスポンスを測定することにより得た。これらの場合、σ≒4×10-4であった。これらの実験は、同じ試験ボード上の2つの異なるチップのプロファイル間の差が、異なる時間に測定された同じ試験ボード上の同じチップ、又は異なる試験ボード上の同じチップ、又は(30℃変化する)異なる温度で測定された同じ試験ボード上の同じチップのプロファイル間の差より大きいことを示している。このことは、チップの遅延特性の測定に基づいて、異なるFPGAを識別することができることを証明している。このデータは、各チャレンジが、30℃の温度変動があった場合、FPGAのIDに関して0.7ビットの情報を供給することができ、10℃の変動があった場合、1.5ビットの情報を提供することができることを示す。
10億の異なる構成要素を識別するには、1018=260の構成要素を識別するのに十分なビット数が必要になる。許容される温度の変動により異なるが、これら60ビットの情報を入手するには全部で40〜90のチャレンジが必要になる。ここに示した数字は、考慮の対象のPUF回路により変化する。回路のレイアウトを適切に設計することにより、各チャレンジからより多くのビットを抽出可能なPUFを設計することができる。
FPGAを使用して図3のPUF回路101を実施する他の実験を行った。この実験の場合、2つ以上のFPGA間の遅延を比較した。各FPGAは、全く同じロジック回路を有し、PUF回路を、FPGA内の全く同じ位置で実施した。FPGAは、同じリソグラフィ・マスクにより製造された集積回路チップであると見なすことができる。
ある実験では、各FPGAは、図3の回路101のような自励発振ループを8個備えていた。各ループは、32個のバッファ(短い遅延で入力をその出力にコピーするロジック・ゲート)と1つのインバータを含む。ループの周波数は、ある期間(通常は、外部の50MHzのオシレータの220サイクルである)内に発生した発振の回数を測定することにより決定した。ループの周期は約60nsであった。
実験結果の以下の説明においては、標準偏差を百万分の1(ppm)単位で表す。周波数f0の周辺のnppmの偏差はn・f0/106の偏差に対応する。
図38を参照すると、グラフ472は、異なるFPGA上の4つのPUF回路の測定値のヒストグラムを示す。水平軸は任意の単位による遅延を表す。垂直軸は確率の密度を示す。ヒストグラムは、4つの異なるFPGAに対する測定誤差とFPGA間変動との間の関係を示す。各ピークは異なるFPGAを示す。ピークの幅は測定誤差を示す。測定は補償なしで行った。
図39を参照すると、グラフ474は、異なるFPGA上の4つの補償PUFの測定値のヒストグラムを示す。水平軸は補償された測定値を示し、各データ点は2つの測定値の比を表す。垂直軸は確率の密度を示す。ヒストグラムは、4つの異なるFPGAに対する測定誤差とFPGA間変動との間の関係を示す。5000ppm〜30000ppmの補償測定範囲を有するFPGA間遅延の標準偏差は、測定のために使用された一組のループに依存する。ヒストグラム472及び474の4つのピークは、FPGA間の変動が測定誤差よりも大きいことを示す。このことは、同じ測定誤差であるにも拘わらず、異なるFPGA間で識別することができることを示す。
図40を参照すると、グラフ476は、オン又はオフしたFPGA上に他のループを有する発振ループの測定値を表す2つのヒストグラムを示す。水平軸は任意の単位での時間の測定値を示す。垂直軸は確率の密度を示す。他のループの影響(約10ppmである2つのピーク間の距離で示す)は、測定誤差(ピークの幅で示す)より小さい。それ故、あるループから他のループへの干渉は、2つのループが近接する周波数で発振していない限り、チップの識別を妨害しない。
図41を参照すると、グラフ478は、それぞれが、異なる供給電力電圧に対する発振周波数の測定値を表す2つのヒストグラムである。水平軸はボルト単位の供給電力を表す。垂直軸は補償された遅延を表す。FPGAの2.5Vの動作点の周囲における電圧による補償測定値の変動は、約3000ppm/Vである。実際には、外部の供給電力変動は、1%未満に維持することができ、この変動は1%×2.5V×3000ppm/V=75ppmに対応する。それ故、供給電圧を許容範囲内に維持するには、市販の電圧調整器で十分である。この実験の場合、補償測定値は、約2.7Vの極値を有する。FPGAを定格電圧の2.5Vではなく2.7Vで動作することにより、測定の確実性を更に改善することができる。
図42を参照すると、グラフ480は、周囲温度が25℃から50℃に変動した場合の(1/2秒のサンプリング間隔での)周波数測定値対時間の関係を示す。2つのFPGAの同じ時間の温度変化は同じではなかった。水平軸は時間(100ms単位)を表す。垂直軸は遅延を表す。周波数変動は、測定値を補償しない場合、約50000ppmである。
図43を参照すると、グラフ482は、測定値を補償した場合には、周波数変動が100ppmに低減することを示す。水平軸は時間(100ms単位)を表す。垂直軸は補償測定値を表す。
図44を参照すると、グラフ484は、図42の測定値のヒストグラムを表す。水平軸は遅延を表す。垂直軸は確率の密度を表す。
図45を参照すると、グラフ486は、図43の測定値のヒストグラムである。水平軸は補償遅延測定値を表す。垂直軸は確率の密度を表す。グラフ482及び486は、25℃の温度変動があっても、2つのFPGAを補償測定値で識別することができることを示す。
図46及び図47を参照すると、12段のデマルチプレクサ486を備えたデマルチプレクサ回路484を含む2つのPUF回路上で実験を行った。各デマルチプレクサ486は、入力488上の信号を2つの出力490のうちの一方に切り替える。
図48及び図49を参照すると、グラフ492及び494は、2つの異なるFPGA上のデマルチプレクサ回路484に対する補償経路遅延測定値対チャレンジの関係を示す。各グラフにおいては、水平軸はチャレンジ数を表し、垂直軸は補償測定値を表す。これらのグラフは、チャレンジについてのレスポンスの依存性を示す。これらのグラフは、チャレンジとレスポンスとの間の関係において数々のパターンを示す。このパターンは、2つのFPGAに共通のものであり、遅延回路の任意の段における経路間の大きな差によるものである。2つのFPGA間の差をチェックするためには、2つのグラフ間の小さな差をチェックする必要がある(すなわち、50%の変動をカバーするグラフ上の1%の変動を探す必要がある)。これらの差は、2つのチップのグラフ間の模様に現れる。
[物理的に隠蔽された鍵]
図50Aを参照すると、CPUFチップ256の一例は、チップに記憶された一定値を使用して、チップ又はチップの計算結果を認証可能にする秘密(又は鍵)を生成する。チップ256は、機能モジュール52、PUF回路100及び制御モジュール54を含む。チップ256は、I/Oポート257を介して機能回路に結果を計算するように命令する、ユーザが送ったプログラムを受信する。チップ256は、更に、チップ256の製造後にメモリに書き込まれる2つの定数、すなわち定数A及び定数Bを記憶するEEPROM444を含む。制御モジュール54は、マルチプレクサ442を制御して2つの数値のうちの一方を選択し、選択された数値をプリチャレンジとして使用してチャレンジを生成する。そのチャレンジはPUF回路100に送られて、第1の秘密が生成される。制御モジュール54は、第1の秘密を使用して、機能モジュール52からの計算結果を暗号化し、署名して、「半暗号化及び署名された」メッセージを生成する。メッセージに署名することは、メッセージに対するMACを生成することを意味する。次に、制御モジュール54は、マルチプレクサ442を制御して2つの数値のうちの他方を選択し、選択された数値を使用してPUF回路100に第2の秘密を生成させる。制御モジュール54は、第2の秘密を使用して、半分暗号化し署名されたメッセージを暗号化し署名して、完全に暗号化し署名されたメッセージを生成する。完全に暗号化し署名されたメッセージは、次に、チップ256のユーザに出力される。
チップ256は、PUF回路100内の遅延ラインの配線が制御モジュール54及びPUF回路100の出力をカバーするように設計される。攻撃者は、重ね合わせ配線を通り抜けない限りはPUF回路100の出力を測定することはできない。配線を通り抜けると、PUF回路100の物理特性が変化する。攻撃者が第1の秘密を測定することができたとしても、第2の秘密を入手することはできない。その理由は、第1の秘密を測定した時に、PUF回路がすでに修正されているからである。攻撃者は、両方の秘密を入手して、最終メッセージを解読又は不正使用することはできない。
図50Bを参照すると、CPUFチップ700は、ROM704に記憶された内容を解読するために使用されるレスポンスを生成するPUF回路100を含む。ROM704の内容は、kビットの鍵Kを用いて暗号化される。PUF回路100は、チップ700に記憶されたチャレンジ702を受信し、ライン706上にkビット・レスポンスを出力するように配線される。ライン706上のレスポンスは、排他的OR演算によりヒューズ708の内容と結合されて、ライン714上に鍵Kが生成される。ヒューズは、溶断しているか否かにより、「0」又は「1」を表す。解読装置712は、鍵Kを受信し、ROM704の内容を解読する。ROM704の内容は、例えば、プログラムであってもよい。マイクロコントローラ716は、解読された内容に従って計算を行う。
多数のチップ700が共通の設計に基づいて製造される。これらのチップの製造コストを低減するために、各チップ700に対して同じROM704が使用されるので、すべてのチップに対する鍵Kは同じである。PUF回路100からのレスポンスは各チップに対して異なっているが、各チップに対するヒューズ・ビットを適当に設定することにより、ライン714を介して解読装置712に送られる鍵を、ROM704の内容を解読するのに必要な同じ鍵に設定することができる。
チップ製造の一例として、製造業者がチップの試験を行っている間にヒューズ・ビットが設定される。初期化回路718は、ライン720を介して製造業者から鍵Kを受け取り、ライン722を介してPUF回路100からレスポンスを受け取る。初期化回路718は、適切な鍵Kを生成するのに必要なヒューズ・ビットを計算し、それに従ってヒューズ708を溶断する。この方法により、PUF回路100からのレスポンスは、チップ700から決して出力されない。
チップ700のコピーを作ることはできない。攻撃者はヒューズの状態を知ることができても、PUF回路100のレスポンスを知ることはできない。それ故、Kの値は依然として秘密のままである。
[同期ロジック回路を使用するPUF]
PUF回路は、クロック同期回路により実施して、クロック・サイクルの周期が異なる場合に、入力に応じた回路の出力が異なるようにしてもよい。クロック同期回路を有する一組の集積回路チップが、一組のリソグラフィ・マスクにより製造される場合には、異なるダイ、ウェハ及び処理による製造中の変動により、各チップの遅延特性は一意なものとなる。クロック同期回路は、あるタイミング制約に適合するという仮定に基づいて設計される。構成要素及びワイヤの遅延は、最悪の動作に対して特徴づけられ、クロック周期は、レジスタの保持時間及びセットアップ時間の制約を考慮に入れて、すべてのレジスタ間の経路上の最悪の遅延より長く選択される。クロック周期が十分長い場合には、遅延特性が変動しても、異なるチップは同じ組合せ結合ロジック機能を有する。クロック同期回路を駆動するクロック信号の周期を故意に短くしてタイミング制約を満足しないようにすることにより、全く同じ機能を有する異なるチップは異なる動作をする。その理由は、その遅延特性が異なるからである。
任意のチップを識別するために、入力刺激のシーケンスがチップに送られる。入力刺激が、特定のワイヤ及びゲートを刺激するようにクロック周期が選択される。チップの出力レスポンスは、特定の時点でサンプリングされる。入力刺激がチップ内の多数の経路を必ず働かせるようにし、サンプリング時間を適当に選択することにより、出力レスポンスは、チップ内の多数のゲート及びワイヤの遅延に依存するようになる。チップの入力刺激及び関連レスポンスは、チップの秘密の署名になる。
チップ内の経路の数は、チップ内の入力又はゲートの数が増大するにつれて、指数的に増大する。入力刺激が分かれば、ゲートのある部分の遅延により、チップの出力レスポンスが決まる。指数的な数の入力刺激が存在するので、どの刺激が使用されたのかを推定して、署名を生成することは非常に困難である。
図51を参照すると、PUF回路450は、レジスタ453により途切れているフィードバック・ループを含む組合せロジック回路452により表すことができる。回路452は、ライン454上の入力ビット・ベクトルを、ライン456上の出力ビット・ベクトルにマッピングする。マッピングは、ライン458上のクロック信号の周期に依存する。クロック信号の周期を変化させることにより、同じ入力ビット・ベクトルが、回路452内の異なるワイヤ及び構成要素を刺激して予測できない方法で異なる出力ビット・ベクトルを生成する。予測できないのは、製造プロセス中の変動により回路内に変動が起こるからである。また、各ゲート、ワイヤ又は経路の遅延は、近くのワイヤ上の遷移の複雑な関数であり、キャパシタンスの値は入力刺激により放出及び充填される。
PUF回路450を使用するために、ライン454上の入力刺激及びライン458上のクロック信号の周期が、クロック信号の変動がライン456上に異なる出力を生成するように選択される。ライン454上の入力は、nビット幅のビット・ベクトルであり、ライン456上の出力は、mビット幅のビット・ベクトルであると仮定する。ライン454上の入力信号は、入力遷移のシーケンスである(すなわち、低い方から高い方への、高い方から低い方へのシーケンスである)。例えば、ライン454が3ビット幅である場合には、3つの遷移のシーケンスの一例は、<1,0,1>→<0,0,0>→<1,1,0>である。入力遷移のシーケンスの数は、遷移の数において指数的であり、入力遷移の各シーケンスは、異なるクロック周期に対応することができる。異なる入力刺激及びレスポンスは、PUF回路450の秘密署名として使用される。
[秘密の署名]
通常、秘密の署名は、一組の署名{S}と見なすことができる。ここで、各署名sj∈Sは、<Vi j,clock_periodi j,Oi j>、1≦i≦Kjを含む。Vj i=(vi1 j,...,viKj j)は回路の入力のシーケンスである、ここで、各vik jは回路452のn個の入力に供給されるnビット・ベクトルである。{Oi j}は、この回路の出力レスポンスのシーケンスであり、mビットの出力において生成されたKjビット・ベクトルのベクトルである。clock_periodi jは、回路がクロックで動作するクロック周期である。{Vi j,clock_periodi j}は、入力刺激と呼ばれ、{Oi j}は回路レスポンスと呼ばれる。{Oi j}を決定するために、{Vi j}が、{clock_periodi j}をクロック周期として使用する回路に供給され、ライン456上の回路452の出力が測定される。入力刺激及び回路レスポンスは、機密保護記憶箇所に記憶され、チップ450のシリアル番号により索引が付けられる。
「foo」であるべきチップを、認証機関(AA)により認証する必要がある場合には、AAは、チップ「foo」のシリアル番号で索引が付けられている一組の署名{S}から署名sjを選択する。AAは、入力刺激{Vi j,clock_periodi j}を使用してチップを刺激し、チップからのレスポンスを測定する。測定されたレスポンスが{Oi j}とは異なる場合には、チップは「foo」ではない。レスポンスが一致した場合には、AAは、異なる署名sjを使用してこのプロセスを反復して行う。
2つの異なるチップに対して{Oi j}が同じである確率は、2つのチップが同じレスポンスを有するために満足させなければならない遅延関係の数に依存する。例えば、経路遅延は、出力がグリッチ、すなわち、0から1へ変化し0へ戻る変化、又はその逆を起こすのを防止するために、クロック周期より短くなければならない場合もあるし、又はある長さだけクロック周期より長くなければならない場合もある。別の例としては、異なるチップ間の相対的関係を維持するための回路の2つのサブ経路の場合、その遅延は、5%以上も異なっている場合がある。
一例を挙げて説明すると、Kj=2と仮定し、<vi1,vi2>入力ペアが、1つの遷移を、チップの1本の経路を介して出力に伝搬させると仮定する。経路の遅延がDである場合には、D≦clock_period2又はD>clock_period2であるかにより、レスポンスは異なるものになる。AAが、Sからの署名のペア、チップの秘密の署名「foo」を使用すると仮定し、また署名のペアが{{{wa,wb},D−ε,{oc,od}}、{{wa,wb},D+ε,{oc’,od’}}}であると仮定する。第1の署名の入力刺激の場合には、チップ内の経路に沿った遷移は、時間内に起こらないのでクロック同期は行われない。第2の署名の入力刺激の場合には、遷移は時間内に起こる。この場合、出力レスポンスは、2つの刺激がチップ「foo」に加えられた場合には、2つの刺激に対して異なるものになる。
攻撃者が、偽のチップの「バー」を生成することを所望する場合には、その経路の遅延は、両方の刺激に対して「foo」と同じ出力レスポンスを生成するために、間隔(D−ε,D+ε)内に存在していなければならない。εが小さくなるにつれて、このことを達成できる確率は低くなる。ペアの署名に対して同じ出力レスポンスを生成する2つのチップの確率をpiと仮定する。pi<1であることは明らかである。T個の異なる経路についての署名のように、T組の署名が存在する場合には、偽物が同じ署名を有する確率は、経路の遅延が独立していると仮定した場合、Tが増大するにつれてpi T→0になる。経路がどのデバイス又はワイヤを共有していない場合にも、このことは当てはまる。
複数の経路に即感性を与える秘密の署名の入力刺激を使用することにより、攻撃者への計算上のバリヤが強化される。出力において1つの遷移が起こる場合には、遅延によりその遷移が発生する時間の影響を受けるデバイス及びワイヤの数は増える。このことは、ある署名に対して2つのチップが同じレスポンスを有する確率を低減させることができる。
同じ組のリソグラフィ・マスクにより製造された一組のチップの各ゲート及びワイヤの遅延は、平均1ns及び標準偏差0.05nsを有する標準分布に従うものと仮定する。1つの経路が100個のゲート及びワイヤのシーケンスである場合には、経路遅延は平均100ns及び標準偏差0.5nsを有する標準分布になる。任意のチップ内の経路が平均100nsと同じ遅延を有するものと仮定する。その場合、別のICが、100個のうちの0.5ns以内の経路遅延を有する確率は0.68である。測定精度が0.5nsであると仮定した場合、これら2つのチップが1つの刺激に対して同じ出力を生成する確率は0.68である。64個の異なる組の経路に即感性を与えるために64の入力刺激を加えた場合には、64個の刺激に対する出力がすべて同じになる確率は10-10未満である。それ故、元のチップが平均経路遅延を有する場合には、同じリソグラフィ・マスクにより製造された百万個のチップうちの1個以上が同じ署名を有する確率は、約106×10-10=10-4である。
温度の変化を補償するために、図20のチップ450に対して署名が生成された場合には、異なる温度に対して異なる署名が生成される。認証中、特定の温度における特定のチップの署名が使用される。
攻撃者のタスクをより困難なものにするために、導電性の粒子をチップのパッケージング内に散布して、使用されるパッケージでゲート及びワイヤの遅延の依存性が小さくなるようにする(例えば、+/−5%)ことができる。
図52を参照すると、「グリッチ・ゼネレータ」460を追加して、(例えば、ライン462からライン464への)経路が単一イベントに即感性を有しないようにすることができる。回路内に何らかの遅延が発生した場合に、入力ベクトル・ペアが存在する場合には、経路Pは「単一イベントを即感性を有することができ」、イベントは経路Pに沿って伝搬する。そうすることにより、攻撃者が、入力刺激を加え、出力経路の遅延を測定することにより式のアフィン・システムを入手して、式を解いて、ゲート及びワイヤの遅延のモデルを生成することが防止される。
[例示回路]
図53を参照すると、回路466は、関数
Figure 2005523481
を実行する。回路466は、クロック同期回路の一部であり、回路466の出力は、ライン469及び471上に入力信号a及びbがそれぞれ現れた後、1クロック・サイクル経過後に、他の回路により使用されると仮定する。クロック・サイクルの長さにより、回路466の出力は異なる。インバータを含むゲートの遅延はすべて1であり、ワイヤの遅延は0であると仮定する。回路がclock_period≧3でクロック同期している場合には、回路466は、すべてのXに対してf(X)のように応答する。Y=<a=0,b=0>と仮定する。X=<a=0,b=1>をYの後に適用し、クロック周期がclock_period≧2である場合には、回路466の出力は1であり、f(X)と同じである。しかし、回路466が1≦clock_period<2のようなある周期とクロック同期している場合には、出力は0である。クロック周期を1.95になるように選択した場合であって、一番上のANDゲート468又はORゲート470の遅延が0.95未満である場合には、同じリソグラフィ・マスクを用いて製造した異なる回路は、上記の(Y,X)ペアのシーケンスに対する出力として依然として1を生成する。
Y=<a=0,b=0>が適用され、その後、X=<a=0,b=1>が適用される場合には、f(X)=1である。clock_period≧3である場合には、回路466の出力は1であり、2≦clock_period<3である場合には出力は0であり、clock_period<2である場合には、出力は1である。
[入力刺激とクロック周期の選択]
任意のPUF回路に対してどの刺激及びクロック周期を使用するのかを決定するために、チップのワイヤ及びゲートの遅延とほぼ同じ遅延を有するPUF回路のモデルを使用することができる。このタイミング近似モデルをAfと呼ぶこととする。分析はモデルAf上で行うことができ、出力におけるどのような波形が、任意の入力刺激、すなわち、ベクトル・ペアに似ているのかを発見することができる。この分析は、チップのサイズに応じて線形的に時間がかかる。出力波形の特定の遷移を選択することができる。2つのクロック周期、すなわち、遷移前のε及び遷移後のεが選択される。遷移は、遷移の両側でεより長い時間の間、出力が安定するように選択される。次に、PUF回路が検証され、PUF回路が選択された入力刺激及びクロック周期に対して、Afと同じレスポンスを生成するかどうか確認される。レスポンスが同じである場合、εをより小さくすることができ、検証が反復して行われる。レスポンスが異なる場合、クロック周期又は入力刺激が変更され、検証が反復して行われる。
2つのチップが署名の入力刺激に対して同じレスポンスを生成する確率が非常に小さくなるように、一組の署名は、十分長いものでなければならない。10-10の確率の場合には、64個の刺激が必要になる。署名の記憶要件は、ΣjN×Kjビットである各署名の入力刺激のサイズにより主として決まる。ここで、Nはチップへの入力数であり、Kjはj番目の署名の入力刺激の長さである。入力数Nはパッケージにより制限される。通常、N≦500及びKj≧2である。
PUFチップは、既知の状態に設定するグローバル・リセットを有することができる。そうでない場合には、チップを既知の状態にする転送シーケンスを、第1の署名を適用する前に適用することができる。Kj=2と仮定した場合には、1回の認証は、一組の署名を記憶するために約100キロバイトを必要とする。
[他の実施形態]
本発明の多数の例について説明した。しかし、本発明の技術思想及び範囲から逸脱することなく種々の改良を行うことができることを理解することができるだろう。例えば、図13Aの場合には、ランダム・ハッシュ・モジュールh3192の代わりに「距離dエンコーダ」を使用することができる。このようなエンコーダは、異なる素子の画像が、少なくともd個のビットについて常に異なるようにマッピングを行う。このことは、攻撃者がPUF回路188への入力のうちの少なくともd個のビットを直接選択することができないことを意味する。
図14の場合には、機能モジュール52及び制御モジュール54を1つのマイクロプロセッサにより実施することができる。このマイクロプロセッサは、受信したソフトウェア・コードに基づいて、データの計算及び処理を行う。図50の場合には、1つの定数(例えば、チップのシリアル番号)を使用して、ハッシュ関数を通過させて、制御モジュール54により使用されるプリチャレンジとなり、PUF回路100へのチャレンジを生成する簡単なCPUFチップを構成することができる。集積回路102は、多くの信号の遅延を同時に測定可能な2つ以上の自励発振ループ回路114を含むことができる。遅延回路116の代わりに、遅延がチャレンジの複雑な関数である、他のタイプの回路を使用することができる。任意のアルゴリズムを実行する必要がない、CPUFの一実施態様の場合には、プログラムの動作をハードウェアで実施することができる。機能回路及びPUFを、同じチップ上に設置する必要はない。機能回路及びPUFは、マルチチップ・モジュール内の異なる半導体チップ上に設けることができる。PUF回路の入力及び出力は、デジタル化した値ではなく、アナログ値であってもよい。
測定可能な物理特性は、経路遅延以外の特性であってもよい。例えば、図54ついて説明すると、PUFデバイス500は、集積回路501と、発光ダイオード(LED)アレイ502と、電荷結合素子(CCD)アレイ504とを含む。これらすべては基板510上に形成される。エポキシ506は、LEDアレイ502及びCCDアレイ504を囲んでいる。エポキシ506は反射層508によりコーティングされ、そのため、アレイ502のLEDが放射する光は、反射層508により反射され、CCDアレイ504により検出される。光がエポキシ506を通過する際に、エポキシ506に対して一意のスペックル・パターンがCCDアレイ504により検出される。LEDアレイ502内のLEDの異なる組合せが発光した場合、CCDアレイ504は、異なるスペックル・パターンを検出する。数個のLEDのみが一度に発光すれば、スペックル・パターンのコントラストを維持することができる。
数個のPUFデバイスを製造する場合には、エポキシ層は、各デバイスに対して若干異なる光学的透過特性を有する。それ故、LEDの同じ組合せは、CCDアレイにおいて異なるデバイスに対して異なるスペックル・パターンを生成する。LEDの組合せを決定する制御信号は、「チャレンジ」と見なすことができ、CCDアレイ504が検出するパターンは「レスポンス」と見なすことができる。このようなチャレンジ−レスポンス・ペアを使用して、PUFデバイス500のIDを認証することができる。エポキシを使用した場合の1つの利点は、エポキシが、かなりの広い温度範囲で安定していることである。それ故、環境の変動による影響を補償するための回路をより簡単にすることができる。
図3のPUF回路101の発振信号ループ122の発振周波数を測定するための別の方法は、位相ロック・ループ(PLL)回路を使用する方法である。図55を参照すると、PUF回路1000は、オシレータ・ループ122及びオシレータ・ループの発振周波数を測定するために使用されるPLL回路1002を含む。オシレータ・ループ122は、入力(又はチャレンジ)を受信する遅延回路111を含む。PLL回路1002は、位相検出器1004と、チャージ・ポンプ1006と、ループ・フィルタ1008と、電圧制御発振器(VCO)1010と、分周器1012と、カウンタ1014とを含む。分周器1012は、信号ライン1016上に出力を生成し、この出力は位相検出器1014に送られる。ライン1016上の信号を(発振ループ122からの)ライン134上の信号と比較することにより、PLL回路1002は、ライン1016及び134上の信号が同じ周波数を有する状態になる。カウンタ1014は、周波数を決定し、ライン1018上に出力を生成し、この出力はPUF回路1000の出力(又はレスポンス)となる。
図56を参照すると、PUF回路1010は、遅延回路1012及び遅延回路1014を含む。各遅延回路1012及び1014は、遅延回路内で2128個の信号経路のうちの1つを選択する128ビット・チャレンジを受信する。「カウント」信号の遷移(立上りエッジ又は立下りエッジ)は、両方の遅延回路1012及び1014に送られる。立上りエッジは、遅延回路1012及び1014内の信号経路を通過し、それぞれ、ライン1016及び1018において遅延回路から出る。ライン1016及び1018上の信号は、仲裁装置1020に送られ、この仲裁装置は、ライン1016上の遷移がライン1018上の遷移より早く到着した場合には「1」を生成し、ライン1018上の遷移が早く到着した場合には「0」を生成する。
発振周波数を測定しなくても、1ビット・デジタル・レスポンスを入手することができる。この回路は、直接的に補償値を生成する。その理由は、温度の変動が遅延回路1012及び1014に同じ影響を与えるからである。遅延回路1012及び1014内の遷移は、両方ともスピードアップ(又はスローダウン)し、出力値は変化させない。仲裁装置は、2つの入力をデータ入力及びクロック入力とするフリップフロップにより形成可能な簡単な回路である。データがクロックより前に到着した場合には、フリップフロップは1を生成し、そうでない場合には0を生成する。この場合、ライン1016上の信号は、データ入力として使用され、ライン1018上の信号はクロック入力として使用される。64個の128ビット・チャレンジがPUF回路1010を介して送られ、64ビット・レスポンスが生成される。
図14の場合には、機能モジュール52及び制御モジュール54は、マイクロプロセッサ51上で稼働するソフトウェア・サブルーチンとして実行した。他の例の場合には、機能モジュール52及び制御モジュール54は、専用のハードウェア回路により実施することができる。
図16、図17、図19〜図22、図25及び図27〜図29の場合には、PUF回路100の代わりに改良形PUF回路186(図13A)を使用することができる。
図50の場合には、制御回路54及び機能回路52の代わりに、プログラム・コードを受信し、制御機能及び計算機能を行うマイクロコントローラを使用することができる。
従って、他の実施形態は、特許請求の範囲内に含まれる。
物理的ランダム機能(PUF)を実行するチップを示す図。 PUF回路を使用してチップを認証するプロセスを示す図。 PUF回路を示す図。 遅延回路を示す図。 図4の遅延回路で使用されるスイッチを示す図。 図4の遅延回路で使用されるスイッチを示す図。 タイミング図。 遅延回路を示す図。 遅延回路を示す図。 補償PUF回路を含むチップを示す図。 補償PUF回路を示す図。 補償PUF回路を示す図。 エラー修正を含む改良形PUF回路を示す図。 制御PUF(CPUF)回路を示す図。 CPUFチップを示す図。 CPUFチップを示す図。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 制御アルゴリズム及び制御アルゴリズムに関連するエンティティ間の関係を示す図面。 匿名導入のためのプログラムを示す図。 スマートカード及びカードリーダを示す図。 線図。 線図。 線図。 自励発振ループを示す図。 実験データを示すグラフ。 実験データを示すグラフ。 実験データを示すグラフ。 実験データを示すグラフ。 実験データを示すグラフ。 実験データを示すグラフ。 実験データを示すグラフ。 実験データを示すグラフ。 実験データを示すグラフ。 実験の際に使用した遅延回路を示す図。 実験の際に使用した遅延回路を示す図。 実験データを示すグラフ。 実験データを示すグラフ。 PUFチップの略図。 PUFチップの略図。 PUF回路を示す図。 PUF回路を示す図。 PUF回路を示す図。 PUFデバイスを示す図。 発振周波数を測定するためにPLLを使用するPUF回路を示す図。 PUF回路を示す図。

Claims (82)

  1. 方法であって
    共通の設計に基づいて製造されたデバイスのグループから第1のデバイスを提供することであって、各デバイスが、前記グループ内でデバイスに対して一意なものである対応する複数の測定可能な特性を有し、各デバイスが、前記測定可能な特性を測定するための測定モジュールを有する、前記第1のデバイスを提供すること、
    前記デバイスの前記複数の測定可能な特性のうちの1つ以上を選択的に測定することにより、前記第1のデバイスの認証を可能にすることを備える方法。
  2. 認証を可能にすることが、前記第1のデバイスを登録することを含み、前記第1のデバイスを登録することが、
    前記第1のデバイスに選択情報を送信すること、
    前記選択情報に基づいて前記複数の特性のうちの1つを選択的に測定することにより生成されたレスポンス情報を前記第1のデバイスから受信すること、
    前記第1のデバイスに関連する前記受信レスポンス情報及び前記選択情報を記憶することを含む、請求項1に記載の方法。
  3. 認証を可能にすることが、前記第1のデバイスの認証を行うことを更に含み、前記第1のデバイスの認証を行うことが、
    前記第1のデバイスへ前記選択情報を送信するステップと、前記特性のうちの1つを選択的に測定することにより生成されたレスポンス情報を受信するステップとを反復して行うこと、
    前記受信レスポンス情報を前記記憶されたレスポンス情報と比較することを含む、請求項2に記載の方法。
  4. 前記第1のデバイスを登録すること、前記第1のデバイスを認証することの各々が、前記選択情報に基づいて前記複数の特性のうちの1つを選択的に測定することと、前記測定情報を生成することを含む、請求項3に記載の方法。
  5. 前記デバイスのグループの各デバイスを登録することを更に備え、前記デバイスのグループの各デバイスを登録することが、前記各デバイスに対して、
    前記デバイスに、前記測定可能な特性の一部を識別する選択情報を送信すること、
    前記デバイスから、前記選択情報において識別された測定可能な特性の前記一部の各々を選択的に測定することにより生成されたレスポンス情報を受信すること、
    前記第1のデバイスに関連する前記受信レスポンス情報及び前記選択情報を記憶することを含む、請求項1に記載の方法。
  6. 前記各デバイスに対する前記測定可能な特性の異なる一部を決定することを更に備える、請求項5に記載の方法。
  7. 各デバイスに対する前記異なる一部を決定することが、前記一部の各々の構成をランダムに選択することを含む、請求項6に記載の方法。
  8. 前記第1のデバイスの認証を行うことを更に備え、前記第1のデバイスの認証を行うことが、
    前記第1のデバイスに、前記第1のデバイスに対する測定可能な特性の前記一部のうちの1つを識別する選択情報を送信すること、
    前記第1のデバイスから、測定可能な特性の前記一部のうちの前記識別された1つを選択的に測定することにより生成されたレスポンス情報を受信すること、
    前記受信レスポンス情報を、前記第1のデバイスの登録中に受信した記憶されたレスポンス情報と比較することを含む、請求項5に記載の方法。
  9. 共通の設計により前記デバイスのグループにおけるデバイスを製造することを更に備える、請求項1に記載の方法。
  10. 前記デバイスを製造することが、共通の一組のリソグラフィ・マスクにより前記デバイスのグループを製造することを含む、請求項9に記載の方法。
  11. 前記デバイスの前記対応する複数の測定可能な特性が、前記デバイスの製造中に決定された特性を含む、請求項1に記載の方法。
  12. 前記デバイスの製造中に決定された前記特性が、製造プロセスの制御されていない特性を含む、請求項11に記載の方法。
  13. 前記デバイスのグループから前記第1のデバイスを提供することが、第1の集積回路を提供することを含む、請求項1に記載の方法。
  14. 前記対応する複数の測定可能な特性が、前記第1の集積回路内の複数の信号経路の遅延特性を含む、請求項13に記載の方法。
  15. 前記複数の信号経路が、回路構成要素の各組を通る複数の経路を含む、請求項14に記載の方法。
  16. 前記回路構成要素が受動送信ラインを含む、請求項15に記載の方法。
  17. 前記回路構成要素が能動半導体素子を含む、請求項15に記載の方法。
  18. 前記能動半導体素子が論理ゲートを含む、請求項17に記載の方法。
  19. 前記対応する複数の測定可能な特性が光学的特性を含む、請求項1に記載の方法。
  20. 前記光学的特性が反射特性を含む、請求項19に記載の方法。
  21. 前記反射特性がスペックル・パターンを含む、請求項20に記載の方法。
  22. 各デバイスの測定可能な特性の数が2より大きい、請求項1に記載の方法。
  23. 各デバイスの測定可能な特性の数が4より大きい、請求項1に記載の方法。
  24. 各デバイスの測定可能な特性の数が16より大きい、請求項1に記載の方法。
  25. 各デバイスの測定可能な特性の数が256より大きい、請求項1に記載の方法。
  26. 各デバイスの測定可能な特性の数が216より大きい、請求項1に記載の方法。
  27. 各デバイスの測定可能な特性の数が232より大きい、請求項1に記載の方法。
  28. 各デバイスの測定可能な特性の数が264より大きい、請求項1に記載の方法。
  29. 各デバイスの測定可能な特性の数が2128より大きい、請求項1に記載の方法。
  30. 各デバイスが、前記複数の測定可能な特性を有する機能構成要素及び測定可能な構成要素を含む、請求項1に記載の方法。
  31. 前記デバイスをパッケージ内にパッケージングすることを更に備える、請求項30に記載の方法。
  32. 前記機能構成要素及び前記測定可能な構成要素が、前記複数の測定可能な特性を変更することなしに、前記機能構成要素に物理的にアクセスできないように前記パッケージ内に配置される、請求項1に記載の方法。
  33. 選択信号を、識別子を含む選択情報をコード化する前記第1のデバイスにおいて受信すること、
    前記識別子を用いて前記複数の測定可能な特性のうちの1つを選択することを更に含む、請求項1に記載の方法。
  34. 前記測定可能な特性のうちの1つを選択することが、前記識別子を引数として使用する一方向関数を適用することを含む、請求項33に記載の方法。
  35. 前記一方向関数の適用では、更に、第2の識別子が引数として使用される、請求項34に記載の方法。
  36. 前記第2の識別子が前記デバイスの識別表示を含む、請求項35に記載の方法。
  37. 前記デバイスの前記識別表示が、前記デバイスに記憶されたシリアル番号を含む、請求項36に記載の方法。
  38. 前記第2の識別子が個人特性の識別表示を含む、請求項35に記載の方法。
  39. 前記選択された特性を測定することを更に備える、請求項33に記載の方法。
  40. 前記選択された特性が、選択された信号経路の遅延特性を含む、請求項39に記載の方法。
  41. 前記遅延特性を測定することが、前記選択された遅延経路を用いて発振信号を生成することを含む、請求項40に記載の方法。
  42. 前記遅延特性を測定することが、前記発振信号の発振周波数に関連する数量を決定することを更に含む、請求項41に記載の方法。
  43. 前記発振周波数に関連する数量を測定することが、ある時間間隔における発振数をカウントすることを含む、請求項42に記載の方法。
  44. 前記発振周波数に関連する数量を決定することが、前記発振信号に位相ロック・ループを適用することを含む、請求項42に記載の方法。
  45. 前記選択された特性を測定することが、前記デバイスの環境の変化による前記選択された特性の測定値の変動を補償することを含む、請求項39に記載の方法。
  46. 基準特性を測定すること、前記基準特性の測定値に対する前記選択された特性の測定値の比率を計算することを更に備える、請求項39に記載の方法。
  47. 前記選択された特性の測定値の誤差を修正することを更に備える、請求項39に記載の方法。
  48. 前記測定された特性を用いてレスポンス情報を決定すること、
    レスポンス信号を前記レスポンス情報をコード化する前記第1のデバイスから送信することを更に備える、請求項39に記載の方法。
  49. 前記レスポンス情報を決定することが、前記測定された特性を引数として使用する一方向関数を適用することを含む、請求項48に記載の方法。
  50. 前記デバイスにより生成された結果をコード化する結果信号を供給することを更に備え、前記一方向関数の適用では、更に、結果から決定された引数が使用される、請求項49に記載の方法。
  51. 前記デバイスのプロセッサ上で動作を実行するためのコードを受け入れることを更に備え、前記一方向関数の適用では、更に、前記コードから決定された引数が使用される、請求項49に記載の方法。
  52. 前記デバイスでの実行のためのコマンドを受け入れることを更に備え、前記一方向関数の適用では、更に、前記コマンドから決定された引数が使用される、請求項49に記載の方法。
  53. 前記レスポンス信号を供給することが、前記コマンドが前記デバイス内で実行されたという肯定応答を供給することを含む、請求項52に記載の方法。
  54. 第2の識別子をコード化する前記第1のデバイスにおいて第2の選択を受け入れること、
    前記第2の識別子により選択された前記特性のうちの第2の特性を測定すること、前記特性のうちの第2の特性の測定値をコード化する結果信号を供給することを更に備える、請求項49に記載の方法。
  55. 前記一方向関数の適用では、更に、前記特性のうちの第2の特性の測定値から決定された引数が使用される、請求項54に記載の方法。
  56. 識別子を含む選択情報をコード化する第1のデバイスにおいて選択信号を受信すること、
    前記識別子を用いて前記複数の測定可能な特性のうちの第1の特性を選択すること、
    前記識別子を用いて前記複数の測定可能な特性のうちの第2の特性を選択することを更に備える、請求項1に記載の方法。
  57. 前記選択された第1の特性を測定して第1の測定値を生成すること、
    前記選択された第2の特性を測定して第2の測定値を生成すること、
    前記第1の測定値を前記第2の測定値と比較することを更に備える、請求項56に記載の方法。
  58. 前記第1及び第2の測定値の比較により1ビット・レスポンスを生成することを更に備える、請求項57に記載の方法。
  59. 識別子を含む選択情報をコード化する選択信号を受信するステップと、前記識別子を用いて前記複数の測定可能な特性のうちの第1の特性及び第2の特性を選択するステップと、前記測定可能な特性のうちの前記第1の特性及び第2の特性を測定して第1の測定値及び第2の測定値を生成するステップと、前記第1及び第2の測定値を比較してnビット・レスポンスのうちの1つのビットを生成するステップとをn−1回反復することによりnビット・レスポンスを生成することを更に備える、請求項58に記載の方法。
  60. 第1の動作モードにおいて、
    第1の識別子をコード化する前記第1のデバイスにおいて第1の選択信号を受け入れること、
    前記第1の識別子を引数として使用する第1の一方向関数を適用すること、
    前記第1の一方向関数の結果を使用する前記複数の特性のうちの1つを選択すること、
    前記選択された特性を測定すること、
    前記選択された特性及び前記測定された特性の識別子をコード化する第1のレスポンス信号を供給することを含み、
    第2の動作モードにおいて、
    第2の識別子をコード化する前記第1のデバイスにおいて第2の選択信号を受け入れること、
    前記第2の識別子を使用する、前記複数の特性のうちの1つを選択すること、
    前記選択された特性を測定すること、
    前記測定された特性を引数として使用する第2の一方向関数を適用すること、
    前記第2の一方向関数の適用結果をコード化する第2のレスポンス信号を供給することを更に備える、請求項1に記載の方法。
  61. 前記第2の識別子が、前記第1の識別子を引数として使用する前記第1の一方向関数の適用結果と同じである、請求項60に記載の方法。
  62. 方法であって、
    共通の設計に基づいて製造されたデバイスのグループから第1のデバイスを提供することであって、各デバイスが、前記グループ内でそのデバイスに対して一意なものである対応する複数の測定可能な特性を有し、前記測定可能な特性が離散的値を有する、前記第1デバイスを提供すること、
    前記デバイスの前記複数の測定可能な特性のうちの1つ以上を選択的に測定することにより前記第1のデバイスの認証を可能にすることを備える方法。
  63. 前記対応する複数の測定可能な特性が、前記第1のデバイス内の複数の信号経路の遅延特性を含む、請求項62に記載の方法。
  64. 前記対応する複数の測定可能な特性が、光学的特性を含む、請求項62に記載の方法。
  65. 方法であって、
    共通の設計に基づいて製造されたデバイスのグループから第1のデバイスを提供することであって、各デバイスが、前記グループ内でそのデバイスに対して一意なものである対応する複数の測定可能な特性を有し、各デバイスがプロセッサを有する、前記第1のデバイスを提供すること、
    前記第1のデバイスの前記複数の測定可能な特性のうちの1つ以上を選択的に測定すること、
    前記第1のデバイスのプロセッサ上で動作を実行するためのコードを受け入れること、
    前記コードから決定された第1の引数を使用する一方向関数を適用することを備える方法。
  66. 前記一方向関数の適用では、測定された特性から決定された第2の引数が使用される、請求項65に記載の方法。
  67. 前記コードが公開暗号鍵を備える、請求項66に記載の方法。
  68. 前記公開暗号鍵を使用することにより前記第2の引数を決定して、前記測定された特性から得た値を暗号化することを更に含む、請求項67に記載の方法。
  69. 前記コードが、前記測定可能な特性の一部を識別する選択情報を含む、請求項65に記載の方法。
  70. 前記複数の測定可能な特性のうちの1つ以上を選択的に測定することが、前記選択情報により識別された測定可能な特性の一部の各々を選択的に測定することを含む、請求項69に記載の方法。
  71. 前記一方向関数の適用では、前記選択情報から決定された第2の引数が使用される、請求項69に記載の方法。
  72. 前記対応する複数の測定可能な特性が、前記第1のデバイス内の複数の信号経路の遅延特性を含む、請求項65に記載の方法。
  73. 方法であって、
    共通の設計に基づいて製造されたデバイスのグループから第1のデバイスを提供することであって、各デバイスが、前記グループ内でそのデバイスに対して一意なものである対応する複数の電気的に測定可能な特性を有する、前記第1のデバイスを提供すること、
    前記デバイスの前記複数の測定可能な特性のうちの1つ以上を選択的に測定することにより前記第1のデバイスの認証を可能にすることを備える方法。
  74. 前記対応する複数の測定可能な特性が、前記第1のデバイス内の複数の信号経路の遅延特性を含む、請求項73に記載の方法。
  75. 装置であって、
    共通の設計に基づいて製造されたデバイスのグループから選択されたデバイスを備え、各デバイスが、前記グループ内でそのデバイスに対して一意なものである対応する複数の測定可能な特性を有し、前記デバイスが選択された特性を測定する測定構成要素を含む装置。
  76. 前記デバイスが集積回路を含む、請求項75に記載の装置。
  77. 前記集積回路が信号経路を含み、前記複数の測定可能な特性が前記信号経路の遅延特性を含む、請求項75に記載の装置。
  78. 前記集積回路が一組の回路構成要素を含み、前記信号経路が一組の前記各回路構成要素を通る経路を含む、請求項77に記載の装置。
  79. 前記デバイスがプロセッサを更に含む、請求項75に記載の装置。
  80. 前記プロセッサが一方向関数を実行する、請求項79に記載の装置。
  81. 前記デバイスが、発光構成要素のアレイと、光検出構成要素のアレイと、1つ以上の発光構成要素が発光した場合、前記光検出構成要素のアレイにより検出可能なスペックル・パターンを生成する光透過媒体とを備える、請求項75に記載の装置。
  82. 前記デバイスに関連する識別子及びレスポンスを記憶するための記憶デバイスを更に備え、各識別子が1つ以上の測定可能な特性を識別し、各レスポンスが、1つ以上の識別子に対応し、かつ、前記1つ以上の識別子により識別された前記測定可能な特性の1つ以上の測定値から得られる、請求項75に記載の装置。
JP2003586918A 2002-04-16 2003-04-14 集積回路の認証 Expired - Lifetime JP4733924B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US37314002P 2002-04-16 2002-04-16
US60/373,140 2002-04-16
US38737302P 2002-06-10 2002-06-10
US60/387,373 2002-06-10
US44491003P 2003-02-03 2003-02-03
US44490603P 2003-02-03 2003-02-03
US60/444,906 2003-02-03
US60/444,910 2003-02-03
US10/407,603 2003-04-04
US10/407,603 US7840803B2 (en) 2002-04-16 2003-04-04 Authentication of integrated circuits
PCT/US2003/011469 WO2003090259A2 (en) 2002-04-16 2003-04-14 Authentication of integrated circuits

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011011192A Division JP5335829B2 (ja) 2002-04-16 2011-01-21 集積回路の認証

Publications (2)

Publication Number Publication Date
JP2005523481A true JP2005523481A (ja) 2005-08-04
JP4733924B2 JP4733924B2 (ja) 2011-07-27

Family

ID=29255688

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003586918A Expired - Lifetime JP4733924B2 (ja) 2002-04-16 2003-04-14 集積回路の認証
JP2011011192A Expired - Lifetime JP5335829B2 (ja) 2002-04-16 2011-01-21 集積回路の認証

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011011192A Expired - Lifetime JP5335829B2 (ja) 2002-04-16 2011-01-21 集積回路の認証

Country Status (7)

Country Link
US (7) US7840803B2 (ja)
EP (3) EP2302555B1 (ja)
JP (2) JP4733924B2 (ja)
KR (1) KR101092039B1 (ja)
AU (1) AU2003221927A1 (ja)
CA (1) CA2482635C (ja)
WO (1) WO2003090259A2 (ja)

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006179001A (ja) * 2004-12-22 2006-07-06 Seagate Technology Llc 秘密の鍵を生成する装置と方法
WO2008056613A1 (fr) * 2006-11-06 2008-05-15 Panasonic Corporation Authentificateur
JP2009509365A (ja) * 2005-09-07 2009-03-05 ミル. ディジタル レーベリング インコーポレイテッド 製品の認証のためのデジタルラベル
JP2009524998A (ja) * 2006-01-24 2009-07-02 ヴェラヨ インク 信号発生器をベースとした装置セキュリティ
JP2010511186A (ja) * 2006-11-28 2010-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シードが与えられる任意数を生成する方法
JP2010226603A (ja) * 2009-03-25 2010-10-07 Sony Corp 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
WO2011138823A1 (ja) * 2010-05-06 2011-11-10 三菱電機株式会社 ビット列生成装置及びビット列生成方法
WO2011155011A1 (ja) * 2010-06-07 2011-12-15 三菱電機株式会社 信号処理システム
JP2012510210A (ja) * 2008-11-21 2012-04-26 ベラヨ インク 非ネットワークrfid−puf認証
JP2012529867A (ja) * 2009-06-17 2012-11-22 エンパイア テクノロジー ディベロップメント エルエルシー ハードウェアベースの暗号法
JP2013502876A (ja) * 2009-08-28 2013-01-24 エンパイア テクノロジー ディベロップメント エルエルシー 遠隔活動化および非活動化を含む集積回路の制御
WO2013080921A1 (ja) * 2011-12-01 2013-06-06 日本電気株式会社 デバイス固有情報生成出力装置、デバイス固有情報生成方法および生成プログラム
US8510608B2 (en) 2006-11-06 2013-08-13 Panasonic Corporation Generating PUF error correcting code using redundant hardware
JP2013218483A (ja) * 2012-04-06 2013-10-24 Toppan Printing Co Ltd Icチップ認証システム及び認証装置
JP2014504403A (ja) * 2010-12-09 2014-02-20 アイシーティーケー カンパニー リミテッド 識別キーを生成する装置及び方法
WO2014091559A1 (ja) * 2012-12-11 2014-06-19 三菱電機株式会社 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法
JP2014515203A (ja) * 2011-03-15 2014-06-26 イルデト ビー ヴイ 誤り訂正符号方式を用いて計算環境における資産集合についての識別子を生成する変化許容力を有する方法
US8850281B2 (en) 2009-05-12 2014-09-30 Empire Technology Development Llc Digital signatures
JP2015080252A (ja) * 2011-03-31 2015-04-23 アイシーティーケー カンパニー リミテッド デジタル値生成装置及び方法
US9032476B2 (en) 2009-05-12 2015-05-12 Empire Technology Development Llc Secure authentication
EP2897322A2 (en) 2014-01-20 2015-07-22 Fujitsu Limited Semiconductor integrated circuit, authentication system, and authentication method
JP2015525979A (ja) * 2012-08-10 2015-09-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation セキュア・デバイスを製造する方法およびセキュア・デバイス
JP2016007033A (ja) * 2011-06-20 2016-01-14 ルネサスエレクトロニクス株式会社 暗号通信システムおよび暗号通信方法
JP2016510498A (ja) * 2012-12-20 2016-04-07 クアルコム,インコーポレイテッド データ依存型回路経路応答を使用する一意でクローン化不能なプラットフォーム識別子
JP2016092522A (ja) * 2014-10-31 2016-05-23 株式会社アドバンテスト 認証システム、認証方法およびサービス提供システム
JP2016111446A (ja) * 2014-12-03 2016-06-20 株式会社メガチップス メモリコントローラ、メモリコントローラの制御方法及びメモリシステム
JP2016174279A (ja) * 2015-03-17 2016-09-29 株式会社東芝 データ生成装置および認証システム
WO2017110483A1 (ja) * 2015-12-22 2017-06-29 ソニー株式会社 情報処理装置、情報処理方法、プログラム
JP2017228736A (ja) * 2016-06-24 2017-12-28 ウィンボンド エレクトロニクス コーポレーション 半導体装置、半導体装置の製造方法および固有情報の生成方法
JP2018041951A (ja) * 2016-09-08 2018-03-15 マッパー・リソグラフィー・アイピー・ビー.ブイ. シリアルナンバーを有するセキュアチップ
JP2018157560A (ja) * 2017-03-17 2018-10-04 広州衆諾電子技術有限公司 チップの暗号化の方法
WO2018199541A1 (ko) * 2017-04-27 2018-11-01 김태욱 식별키 유용성 판별장치
US10218518B2 (en) 2016-09-12 2019-02-26 Kabushiki Kaisha Toshiba Authentication server, authentication system, and authentication method
JP2019530271A (ja) * 2016-08-08 2019-10-17 ミカリ, シルヴィオMICALI, Silvio 偽造防止
JP2019197394A (ja) * 2018-05-10 2019-11-14 ウィンボンド エレクトロニクス コーポレーション 固有データ生成装置、半導体装置および認証システム
US11270184B2 (en) 2017-04-27 2022-03-08 Silvio Micali Counterfeit prevention
US11741332B2 (en) 2017-04-27 2023-08-29 Silvio Micali Securing cryptographic keys

Families Citing this family (403)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2823398B1 (fr) * 2001-04-04 2003-08-15 St Microelectronics Sa Extraction d'une donnee privee pour authentification d'un circuit integre
FR2825873A1 (fr) * 2001-06-11 2002-12-13 St Microelectronics Sa Stockage protege d'une donnee dans un circuit integre
US20040078183A1 (en) * 2002-10-21 2004-04-22 Victor Drabkin System and method of system response testing and modeling
US8100323B1 (en) 2002-12-26 2012-01-24 Diebold Self-Service Systems Division Of Diebold, Incorporated Apparatus and method for verifying components of an ATM
US7558969B1 (en) 2003-03-06 2009-07-07 National Semiconductor Corporation Anti-pirate circuit for protection against commercial integrated circuit pirates
US7877604B2 (en) * 2003-05-16 2011-01-25 Intrinsic Id B.V. Proof of execution using random function
USRE43922E1 (en) 2003-06-13 2013-01-15 National Semiconductor Corporation Balanced cells with fabrication mismatches that produce a unique number generator
FR2857535A1 (fr) * 2003-07-09 2005-01-14 Atmel Corp Procede et systeme pour brouiller le contenu d'une cellule dans un circuit integre.
JP4771946B2 (ja) * 2003-10-16 2011-09-14 パナソニック株式会社 暗号通信システム、通信装置
EP1678568A1 (en) * 2003-10-23 2006-07-12 Koninklijke Philips Electronics N.V. Method for protecting an information carrier comprising an integrated circuit
US7302060B2 (en) * 2003-11-10 2007-11-27 Qualcomm Incorporated Method and application for authentication of a wireless communication using an expiration marker
US8060915B2 (en) * 2003-12-30 2011-11-15 Entrust, Inc. Method and apparatus for providing electronic message authentication
US9281945B2 (en) 2003-12-30 2016-03-08 Entrust, Inc. Offline methods for authentication in a client/server authentication system
US8230486B2 (en) * 2003-12-30 2012-07-24 Entrust, Inc. Method and apparatus for providing mutual authentication between a sending unit and a recipient
US8612757B2 (en) * 2003-12-30 2013-12-17 Entrust, Inc. Method and apparatus for securely providing identification information using translucent identification member
US8966579B2 (en) * 2003-12-30 2015-02-24 Entrust, Inc. Method and apparatus for providing authentication between a sending unit and a recipient based on challenge usage data
US9191215B2 (en) * 2003-12-30 2015-11-17 Entrust, Inc. Method and apparatus for providing authentication using policy-controlled authentication articles and techniques
ATE493699T1 (de) * 2004-01-27 2011-01-15 Nxp Bv Schutz vor leistungsanalyse-angriffen
FR2866772B1 (fr) * 2004-02-20 2006-04-28 Viaccess Sa Procede d'appariement d'un terminal recepteur avec une pluralite de cartes de controle d'acces
EP1733555A4 (en) * 2004-02-23 2009-09-30 Lexar Media Inc SAFE COMPACT FLASH
US8358815B2 (en) 2004-04-16 2013-01-22 Validity Sensors, Inc. Method and apparatus for two-dimensional finger motion tracking and control
US8131026B2 (en) 2004-04-16 2012-03-06 Validity Sensors, Inc. Method and apparatus for fingerprint image reconstruction
US8447077B2 (en) 2006-09-11 2013-05-21 Validity Sensors, Inc. Method and apparatus for fingerprint motion tracking using an in-line array
US8175345B2 (en) 2004-04-16 2012-05-08 Validity Sensors, Inc. Unitized ergonomic two-dimensional fingerprint motion tracking device and method
US8229184B2 (en) 2004-04-16 2012-07-24 Validity Sensors, Inc. Method and algorithm for accurate finger motion tracking
US7751601B2 (en) 2004-10-04 2010-07-06 Validity Sensors, Inc. Fingerprint sensing assemblies and methods of making
US8165355B2 (en) 2006-09-11 2012-04-24 Validity Sensors, Inc. Method and apparatus for fingerprint motion tracking using an in-line array for use in navigation applications
US7448012B1 (en) 2004-04-21 2008-11-04 Qi-De Qian Methods and system for improving integrated circuit layout
WO2005106774A2 (en) 2004-04-23 2005-11-10 Validity Sensors, Inc. Methods and apparatus for acquiring a swiped fingerprint image
US8042163B1 (en) * 2004-05-20 2011-10-18 Symatec Operating Corporation Secure storage access using third party capability tokens
TW200540611A (en) * 2004-06-04 2005-12-16 Hon Hai Prec Ind Co Ltd System and method for verifying delay of a motherboard layout
US7848518B2 (en) * 2004-06-29 2010-12-07 Seagate Technology Llc Stable disc controller ID from unstable comparator outputs
JP4447977B2 (ja) 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
WO2006021911A1 (en) * 2004-08-23 2006-03-02 Koninklijke Philips Electronics N.V. Position and orientation detection for an optical identifier
JP2008514097A (ja) * 2004-09-20 2008-05-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ランダムファンクションを利用した秘密の共有
FR2875949A1 (fr) * 2004-09-28 2006-03-31 St Microelectronics Sa Verrouillage d'un circuit integre
JP4391375B2 (ja) * 2004-09-30 2009-12-24 フェリカネットワークス株式会社 情報管理装置および方法、並びにプログラム
JP2008516472A (ja) * 2004-10-04 2008-05-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 物理トークンのための二側誤り訂正
CN101076775A (zh) 2004-10-15 2007-11-21 皇家飞利浦电子股份有限公司 具有真随机数发生器的集成电路
EP1817746A1 (en) * 2004-10-18 2007-08-15 Koninklijke Philips Electronics N.V. Secure sensor chip
JP4261461B2 (ja) * 2004-11-05 2009-04-30 株式会社東芝 半導体集積回路装置、及びそれを用いた不揮発性メモリシステム
US7564345B2 (en) * 2004-11-12 2009-07-21 Verayo, Inc. Volatile device keys and applications thereof
US7071751B1 (en) * 2004-12-17 2006-07-04 Xilinx, Inc. Counter-controlled delay line
US7512795B2 (en) * 2005-01-04 2009-03-31 Motorola, Inc. Method and apparatus for authenticating components
EP1846866B1 (en) * 2005-02-02 2015-01-07 Intrinsic ID B.V. Method, apparatus, device, system, program, for calibrating
US7813507B2 (en) * 2005-04-21 2010-10-12 Intel Corporation Method and system for creating random cryptographic keys in hardware
DE102005024379A1 (de) * 2005-05-27 2006-11-30 Universität Mannheim Verfahren zur Erzeugung und/oder Einprägung eines wiedergewinnbaren kryptographischen Schlüssels bei der Herstellung einer topographischen Struktur
US20070019805A1 (en) * 2005-06-28 2007-01-25 Trustees Of Boston University System employing systematic robust error detection coding to protect system element against errors with unknown probability distributions
JP2008545323A (ja) * 2005-07-07 2008-12-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 物の真正性を検証する方法、装置及びシステム
CA2552085A1 (en) * 2005-07-14 2007-01-14 Nikolajs Volkovs System and method of message authentication
EP1748343A1 (en) * 2005-07-29 2007-01-31 STMicroelectronics Limited Circuit personalisation
US8887309B2 (en) 2005-08-23 2014-11-11 Intrinsic Id B.V. Method and apparatus for information carrier authentication
US9004355B2 (en) * 2005-09-29 2015-04-14 Cardfree Inc Secure system and method to pay for a service provided at a reservation
US8622292B2 (en) * 2005-09-29 2014-01-07 Jeffrey Bart Katz Reservation-based preauthorization payment system
US7372304B2 (en) * 2005-10-04 2008-05-13 Stmicroelectronics, Inc. System and method for glitch detection in a secure microcontroller
JP2009511976A (ja) * 2005-10-17 2009-03-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ センサとディスプレイが組み合わされた集積された物理的に複製不可能な機能(puf)
WO2007046037A1 (en) * 2005-10-17 2007-04-26 Koninklijke Philips Electronics N.V. Integrated puf
DE112006002844T5 (de) * 2005-11-14 2008-09-25 Massachusetts Institute Of Technology, Cambridge Verbessertes Sicherheitsprotokoll für Funkfrequenzsysteme
WO2007063475A2 (en) * 2005-11-29 2007-06-07 Koninklijke Philips Electronics N.V. Proofs of vicinity using cpufs
DE602006005957D1 (de) * 2005-11-29 2009-05-07 Koninkl Philips Electronics Nv Physisches verteilen von geheimnissen und beweisen der nähe unter verwendung von pufs
EP1972090B1 (en) * 2005-12-14 2015-08-19 Nxp B.V. On-chip estimation of key-extraction parameters for physical tokens
CN101406020B (zh) 2006-03-16 2013-01-09 英国电讯有限公司 对临时提供有sim以存储挑战-应答的设备进行认证的过程、装置和软件
JP2009533927A (ja) * 2006-04-11 2009-09-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コーティングpufを用いる攻撃検出
JP2009533742A (ja) * 2006-04-11 2009-09-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データベースなしのノイジーな低電力puf認証
KR101059005B1 (ko) * 2006-04-13 2011-08-23 엔엑스피 비 브이 반도체 장치, 그 식별자 생성 방법 및 그 식별 방법
US20080007798A1 (en) * 2006-07-07 2008-01-10 Advmatch Technology, Inc. Image sensor without opto-mechanical system and manufacturing method thereof
US20080049266A1 (en) * 2006-07-07 2008-02-28 Advmatch Technology, Inc. Image sensor without opto-mechanical system and manufacturing method thereof
GB0615392D0 (en) * 2006-08-03 2006-09-13 Wivenhoe Technology Ltd Pseudo random number circuitry
US7477112B1 (en) 2006-08-16 2009-01-13 Xilinx, Inc. Structure for the main oscillator of a counter-controlled delay line
US20080091975A1 (en) * 2006-10-17 2008-04-17 Konstantin Kladko Method and system for side-channel testing a computing device and for improving resistance of a computing device to side-channel attacks
WO2008068644A1 (en) * 2006-12-06 2008-06-12 Koninklijke Philips Electronics N.V. Controlling data access to and from an rfid device
US8495383B2 (en) * 2006-12-14 2013-07-23 Nokia Corporation Method for the secure storing of program state data in an electronic device
US7613580B2 (en) * 2007-04-12 2009-11-03 Sun Microsystems, Inc. Method and apparatus for generating an EMI fingerprint for a computer system
US7613576B2 (en) * 2007-04-12 2009-11-03 Sun Microsystems, Inc. Using EMI signals to facilitate proactive fault monitoring in computer systems
US8107212B2 (en) 2007-04-30 2012-01-31 Validity Sensors, Inc. Apparatus and method for protecting fingerprint sensing circuitry from electrostatic discharge
US8290150B2 (en) * 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
US20110002461A1 (en) * 2007-05-11 2011-01-06 Validity Sensors, Inc. Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions
ES2632958T3 (es) * 2007-06-14 2017-09-18 Intrinsic Id B.V. Método y dispositivo para proporcionar seguridad digital
CN101755269B (zh) * 2007-07-20 2012-06-27 Nxp股份有限公司 具有安全虚拟机的设备
US8230490B2 (en) * 2007-07-31 2012-07-24 Keycorp System and method for authentication of users in a secure computer system
WO2009079050A2 (en) * 2007-09-19 2009-06-25 Verayo, Inc. Authentication with physical unclonable functions
NL1036049A1 (nl) * 2007-10-16 2009-04-20 Asml Holding Nv Securing authenticity of integrated circuit chips.
EP2216729B1 (en) * 2007-10-24 2019-07-10 Scytl Secure Electronic Voting, S.A. Method and system for protection of user information registers for use in electoral processes
US8601285B2 (en) * 2007-11-23 2013-12-03 Nokia Corporation Method for secure program code execution in an electronic device
US8276816B2 (en) 2007-12-14 2012-10-02 Validity Sensors, Inc. Smart card system with ergonomic fingerprint sensor and method of using
US8204281B2 (en) 2007-12-14 2012-06-19 Validity Sensors, Inc. System and method to remove artifacts from fingerprint sensor scans
WO2009079734A1 (en) * 2007-12-20 2009-07-02 Bce Inc. Contact-less tag with signature, and applications thereof
US8495375B2 (en) * 2007-12-21 2013-07-23 Research In Motion Limited Methods and systems for secure channel initialization
US8452017B2 (en) * 2007-12-21 2013-05-28 Research In Motion Limited Methods and systems for secure channel initialization transaction security based on a low entropy shared secret
DE102008003946A1 (de) * 2008-01-11 2009-07-23 Micronas Gmbh Schaltung und Verfahren zur Generierung einer echten, schaltungsspezifischen und zeitinvarianten Zufallszahl
US8713708B1 (en) * 2008-03-03 2014-04-29 Csr Technology Inc. Method and apparatus for controlling the use of data stored on a media sample
US8116540B2 (en) 2008-04-04 2012-02-14 Validity Sensors, Inc. Apparatus and method for reducing noise in fingerprint sensing circuits
US8005276B2 (en) 2008-04-04 2011-08-23 Validity Sensors, Inc. Apparatus and method for reducing parasitic capacitive coupling and noise in fingerprint sensing circuits
WO2009156904A1 (en) * 2008-06-27 2009-12-30 Koninklijke Philips Electronics N.V. Device, system and method for verifying the authenticity integrity and/or physical condition of an item
TWI444903B (zh) 2008-07-22 2014-07-11 Validity Sensors Inc 提供裝置組件安全之系統及其方法
CA2732006A1 (en) * 2008-07-31 2010-02-04 Koolspan, Inc. System for and method of remote secure backup
US8966660B2 (en) 2008-08-07 2015-02-24 William Marsh Rice University Methods and systems of digital rights management for integrated circuits
US20100083000A1 (en) * 2008-09-16 2010-04-01 Validity Sensors, Inc. Fingerprint Sensor Device and System with Verification Token and Methods of Using
US7761714B2 (en) * 2008-10-02 2010-07-20 Infineon Technologies Ag Integrated circuit and method for preventing an unauthorized access to a digital value
US8391568B2 (en) 2008-11-10 2013-03-05 Validity Sensors, Inc. System and method for improved scanning of fingerprint edges
US20100138654A1 (en) * 2008-12-01 2010-06-03 Apple Inc. System and method for authentication based on particle gun emissions
WO2010069034A1 (en) 2008-12-18 2010-06-24 Bce Inc. Processing of communication device signatures for use in securing nomadic electronic transactions
US9231928B2 (en) 2008-12-18 2016-01-05 Bce Inc. Validation method and system for use in securing nomadic electronic transactions
DE102009005255A1 (de) * 2009-01-14 2010-07-15 Khs Ag Verfahren zur Verifikation einer Kennzeichnungsschaltung
US8278946B2 (en) 2009-01-15 2012-10-02 Validity Sensors, Inc. Apparatus and method for detecting finger activity on a fingerprint sensor
US8600122B2 (en) 2009-01-15 2013-12-03 Validity Sensors, Inc. Apparatus and method for culling substantially redundant data in fingerprint sensing circuits
US8374407B2 (en) 2009-01-28 2013-02-12 Validity Sensors, Inc. Live finger detection
US8242790B2 (en) * 2009-02-23 2012-08-14 Lewis James M Method and system for detection of tampering related to reverse engineering
US8598890B2 (en) * 2009-02-23 2013-12-03 Lewis Innovative Technologies Method and system for protecting products and technology from integrated circuits which have been subject to tampering, stressing and replacement as well as detecting integrated circuits that have been subject to tampering
EP2230793A3 (en) * 2009-03-16 2011-09-07 Technische Universität München On-Chip Electric Waves: An Analog Circuit Approach to Physical Uncloneable Functions: PUF
US8260708B2 (en) 2009-04-17 2012-09-04 Empire Technology Development Llc Usage metering based upon hardware aging
US20100329448A1 (en) * 2009-06-30 2010-12-30 Rane Shantanu D Method for Secure Evaluation of a Function Applied to Encrypted Signals
US9208459B2 (en) * 2009-07-10 2015-12-08 Certicom Corp. System and method for performing serialization of devices
FR2948793B1 (fr) * 2009-07-28 2014-10-31 Thales Sa Procede securise de reconstruction d'une mesure de reference d'une donnee confidentielle a partir d'une mesure bruitee de cette donne, notamment pour la generation de cles cryptographiques
US8468186B2 (en) * 2009-08-05 2013-06-18 Verayo, Inc. Combination of values from a pseudo-random source
US8811615B2 (en) * 2009-08-05 2014-08-19 Verayo, Inc. Index-based coding with a pseudo-random source
US8370787B2 (en) * 2009-08-25 2013-02-05 Empire Technology Development Llc Testing security of mapping functions
US7898283B1 (en) * 2009-08-31 2011-03-01 Farinaz Koushanfar Lightweight secure physically unclonable functions
US8800057B2 (en) * 2009-09-24 2014-08-05 Samsung Information Systems America, Inc. Secure content delivery system and method
US8799666B2 (en) 2009-10-06 2014-08-05 Synaptics Incorporated Secure user authentication using biometric information
WO2011047069A1 (en) * 2009-10-13 2011-04-21 Tiger's Lair Inc. Method and apparatus for ensuring consistent system configuration in secure applications
DE102009051201B4 (de) 2009-10-29 2012-12-20 Siemens Aktiengesellschaft Authentifikation und Datenintegritätschutz eines Tokens
US9336428B2 (en) 2009-10-30 2016-05-10 Synaptics Incorporated Integrated fingerprint sensor and display
US9400911B2 (en) 2009-10-30 2016-07-26 Synaptics Incorporated Fingerprint sensor and integratable electronic display
US9274553B2 (en) 2009-10-30 2016-03-01 Synaptics Incorporated Fingerprint sensor and integratable electronic display
US20110107092A1 (en) * 2009-11-02 2011-05-05 Advanced Micro Devices, Inc. Performance based authentication method and apparatus for secure communication
US20110154061A1 (en) * 2009-12-21 2011-06-23 Babu Chilukuri Data secure memory/storage control
EP2524334B1 (en) * 2010-01-12 2020-07-08 Stc.Unm System and methods for generating unclonable security keys in integrated circuits
US8866347B2 (en) 2010-01-15 2014-10-21 Idex Asa Biometric image sensing
US8421890B2 (en) 2010-01-15 2013-04-16 Picofield Technologies, Inc. Electronic imager using an impedance sensor grid array and method of making
US8791792B2 (en) 2010-01-15 2014-07-29 Idex Asa Electronic imager using an impedance sensor grid array mounted on or about a switch and method of making
FR2955394B1 (fr) * 2010-01-18 2012-01-06 Inst Telecom Telecom Paristech Circuit integre en silicium comportant une fonction physiquement non copiable, procede et systeme de test d'un tel circuit
US9666635B2 (en) 2010-02-19 2017-05-30 Synaptics Incorporated Fingerprint sensing circuit
US8716613B2 (en) 2010-03-02 2014-05-06 Synaptics Incoporated Apparatus and method for electrostatic discharge protection
US8458489B2 (en) * 2010-03-25 2013-06-04 Empire Technology Development Llc Differential uncloneable variability-based cryptography
DE102010020460B4 (de) * 2010-05-11 2023-12-21 Bundesdruckerei Gmbh Sicherheits- oder Wertdokument, Verfahren zu dessen Herstellung und zu dessen Verifikation
US9001040B2 (en) 2010-06-02 2015-04-07 Synaptics Incorporated Integrated fingerprint sensor and navigation device
US8619979B2 (en) 2010-06-25 2013-12-31 International Business Machines Corporation Physically unclonable function implemented through threshold voltage comparison
US8694687B2 (en) 2010-07-16 2014-04-08 Intryca, Inc. Computing-system identifier using software extraction of manufacturing variability
US8842827B2 (en) 2010-07-16 2014-09-23 Intryca, Inc. Mobile phone aided operations system and method
US8516269B1 (en) 2010-07-28 2013-08-20 Sandia Corporation Hardware device to physical structure binding and authentication
US8848905B1 (en) 2010-07-28 2014-09-30 Sandia Corporation Deterrence of device counterfeiting, cloning, and subversion by substitution using hardware fingerprinting
US8868923B1 (en) 2010-07-28 2014-10-21 Sandia Corporation Multi-factor authentication
US8667265B1 (en) 2010-07-28 2014-03-04 Sandia Corporation Hardware device binding and mutual authentication
CN102959415B (zh) 2010-07-30 2015-01-07 英派尔科技开发有限公司 基于老化的部件使用度量
DE102010038703B3 (de) 2010-07-30 2012-01-26 Robert Bosch Gmbh Verfahren zur Erzeugung eines Herausforderungs-Antwort-Paars in einer elektrischen Maschine sowie elektrische Maschine
US8590038B2 (en) * 2010-08-20 2013-11-19 Via Technologies, Inc. Revokeable MSR password protection
US8331096B2 (en) 2010-08-20 2012-12-11 Validity Sensors, Inc. Fingerprint acquisition expansion card apparatus
FR2964278A1 (fr) 2010-08-31 2012-03-02 St Microelectronics Rousset Extraction de cle dans un circuit integre
US8694778B2 (en) * 2010-11-19 2014-04-08 Nxp B.V. Enrollment of physically unclonable functions
EP2643750B1 (en) * 2010-11-24 2015-01-07 Intrinsic ID B.V. Physical unclonable function
JP2012118884A (ja) * 2010-12-02 2012-06-21 Toshiba Corp プロセッサ及び半導体装置
CN103299576B (zh) * 2011-01-13 2016-05-25 三菱电机株式会社 比特生成装置以及比特生成方法
US20120183135A1 (en) 2011-01-19 2012-07-19 Verayo, Inc. Reliable puf value generation by pattern matching
US8594393B2 (en) 2011-01-26 2013-11-26 Validity Sensors System for and method of image reconstruction with dual line scanner using line counts
US8538097B2 (en) 2011-01-26 2013-09-17 Validity Sensors, Inc. User input utilizing dual line scanner apparatus and method
GB2489100A (en) 2011-03-16 2012-09-19 Validity Sensors Inc Wafer-level packaging for a fingerprint sensor
JP5776927B2 (ja) * 2011-03-28 2015-09-09 ソニー株式会社 情報処理装置及び方法、並びにプログラム
CN102156843B (zh) * 2011-03-28 2015-04-08 威盛电子股份有限公司 数据加密方法与***以及数据解密方法
WO2012133964A1 (ko) * 2011-03-31 2012-10-04 한양대학교 산학협력단 디지털 값 생성 장치 및 방법
US8613111B2 (en) * 2011-04-28 2013-12-17 International Business Machines Corporation Configurable integrated tamper detection circuitry
US8667283B2 (en) 2011-05-09 2014-03-04 Verayo, Inc. Soft message signing
EP2525298B1 (en) 2011-05-17 2016-07-13 Nxp B.V. Authentication method
US20130141137A1 (en) * 2011-06-01 2013-06-06 ISC8 Inc. Stacked Physically Uncloneable Function Sense and Respond Module
CN103733203B (zh) * 2011-06-13 2017-03-29 意法半导体亚太私人有限公司 延迟或者阻止部件的伪造和/或克隆
JP2014523192A (ja) 2011-07-07 2014-09-08 ベラヨ インク デバイス及びサーバの通信におけるファジーな認証情報を用いた暗号化によるセキュリティ
DE102011081421A1 (de) 2011-08-23 2013-02-28 Siemens Ag System zur sicheren Übertragung von Daten und Verfahren
JP5747327B2 (ja) * 2011-08-26 2015-07-15 学校法人 名城大学 情報セキュリティシステム,ホスト,デバイス,その制御方法
US10043052B2 (en) 2011-10-27 2018-08-07 Synaptics Incorporated Electronic device packages and methods
US9036891B2 (en) 2011-10-30 2015-05-19 The United States Of America As Represented By The Secretary Of The Air Force Intrinsic physical layer authentication of integrated circuits
DE102011085487A1 (de) * 2011-10-31 2013-05-02 Rohde & Schwarz Gmbh & Co. Kg Integrierte Schaltung mit schlüsselbasierter Freischaltung von technischen Funktionen
US8590010B2 (en) * 2011-11-22 2013-11-19 International Business Machines Corporation Retention based intrinsic fingerprint identification featuring a fuzzy algorithm and a dynamic key
US20130135080A1 (en) * 2011-11-28 2013-05-30 Upm Rfid Oy Tag forgery protection
US8700916B2 (en) * 2011-12-02 2014-04-15 Cisco Technology, Inc. Utilizing physically unclonable functions to derive device specific keying material for protection of information
WO2013088939A1 (ja) 2011-12-13 2013-06-20 日本電気株式会社 識別情報生成装置及び識別情報生成方法
US9361482B2 (en) 2011-12-22 2016-06-07 Mitsubishi Electric Corporation Device specific information generation device and device specific generation method
US9195877B2 (en) 2011-12-23 2015-11-24 Synaptics Incorporated Methods and devices for capacitive image sensing
CN107612685A (zh) 2011-12-29 2018-01-19 英特尔公司 使用在物理上不可克隆的函数的安全密钥存储
US9785299B2 (en) 2012-01-03 2017-10-10 Synaptics Incorporated Structures and manufacturing methods for glass covered electronic devices
EP2615571A1 (en) * 2012-01-16 2013-07-17 Gemalto SA Method of generating an identifier of an electronic device
US20130187764A1 (en) * 2012-01-20 2013-07-25 Alien Technology Corporation Dynamic analog authentication
US20130212642A1 (en) * 2012-02-12 2013-08-15 John J. Walsh Resilient Device Authentication System
JP5906821B2 (ja) * 2012-03-06 2016-04-20 日本電気株式会社 デバイス固有情報生成装置及びデバイス固有情報生成方法
US20140103344A1 (en) * 2012-03-12 2014-04-17 Mohammad Tehranipoor Detection of recovered integrated circuits
DE102012204708A1 (de) 2012-03-23 2013-09-26 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Authentifizierung eines Objekts
US9137438B2 (en) 2012-03-27 2015-09-15 Synaptics Incorporated Biometric object sensor and method
US9268991B2 (en) 2012-03-27 2016-02-23 Synaptics Incorporated Method of and system for enrolling and matching biometric data
US9251329B2 (en) 2012-03-27 2016-02-02 Synaptics Incorporated Button depress wakeup and wakeup strategy
US9600709B2 (en) 2012-03-28 2017-03-21 Synaptics Incorporated Methods and systems for enrolling biometric data
US9032217B1 (en) * 2012-03-28 2015-05-12 Amazon Technologies, Inc. Device-specific tokens for authentication
US9152838B2 (en) 2012-03-29 2015-10-06 Synaptics Incorporated Fingerprint sensor packagings and methods
KR102245293B1 (ko) 2012-04-10 2021-04-28 이덱스 바이오메트릭스 아사 생체정보의 감지
US9171144B2 (en) * 2012-04-13 2015-10-27 Lewis Innovative Technologies Electronic physical unclonable functions
DE102012206726A1 (de) 2012-04-24 2013-10-24 Robert Bosch Gmbh Verfahren zum Feststellen der Originalität eines Bauteils
US9018972B1 (en) 2012-06-04 2015-04-28 Sandia Corporation Area-efficient physically unclonable function circuit architecture
US9971353B2 (en) * 2012-07-03 2018-05-15 Qualcomm Incorporated Systems, methods, and apparatus related to electric vehicle parking and wireless charging
JP5968705B2 (ja) * 2012-07-13 2016-08-10 ルネサスエレクトロニクス株式会社 半導体装置の製造方法
DE102012212471B3 (de) * 2012-07-17 2013-11-21 Siemens Aktiengesellschaft Vorrichtung zum Realisieren einer physikalischen Degradations-/Tampererkennung eines digitalen ICs mittels einer (digitalen) PUF und Unterscheiden zwischen einer Degradation aufgrund von physikalischer Manipulation und aufgrund von Alterungsprozessen
US9996480B2 (en) 2012-07-18 2018-06-12 Analog Devices, Inc. Resilient device authentication system with metadata binding
US9258129B2 (en) * 2012-07-18 2016-02-09 Sypris Electronics, Llc Resilient device authentication system
US20140041040A1 (en) * 2012-08-01 2014-02-06 The Regents Of The University Of California Creating secure multiparty communication primitives using transistor delay quantization in public physically unclonable functions
US8941405B2 (en) 2012-08-03 2015-01-27 International Business Machines Corporation FET pair based physically unclonable function (PUF) circuit with a constant common mode voltage
KR101419745B1 (ko) * 2012-08-07 2014-07-17 한국전자통신연구원 물리적 복제 방지 기능을 기반으로 하는 인증 요청 장치, 인증 처리 장치 및 인증 수행 방법
US8525169B1 (en) 2012-08-10 2013-09-03 International Business Machines Corporation Reliable physical unclonable function for device authentication
CN102855422B (zh) * 2012-08-21 2015-03-04 飞天诚信科技股份有限公司 一种盗版加密锁的识别方法和装置
US9742563B2 (en) * 2012-09-28 2017-08-22 Intel Corporation Secure provisioning of secret keys during integrated circuit manufacturing
US9202040B2 (en) 2012-10-10 2015-12-01 Globalfoundries Inc. Chip authentication using multi-domain intrinsic identifiers
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
US8861736B2 (en) * 2012-11-19 2014-10-14 International Business Machines Corporation Reliable physical unclonable function for device authentication
US9514673B2 (en) * 2012-11-22 2016-12-06 Lg Display Co., Ltd. Organic light emitting display device
US9038133B2 (en) 2012-12-07 2015-05-19 International Business Machines Corporation Self-authenticating of chip based on intrinsic features
US8885819B2 (en) * 2012-12-27 2014-11-11 Intel Corporation Fuse attestation to secure the provisioning of secret keys during integrated circuit manufacturing
US8938792B2 (en) * 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
US9390291B2 (en) * 2012-12-29 2016-07-12 Intel Corporation Secure key derivation and cryptography logic for integrated circuits
US9520292B2 (en) 2013-01-06 2016-12-13 Empire Technology Development Llc Aging-based leakage energy reduction method and system
US9665762B2 (en) 2013-01-11 2017-05-30 Synaptics Incorporated Tiered wakeup strategy
US9262259B2 (en) 2013-01-14 2016-02-16 Qualcomm Incorporated One-time programmable integrated circuit security
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
US8934312B2 (en) 2013-01-30 2015-01-13 International Business Machines Corporation Process variation skew in an SRAM column architecture
US8995658B2 (en) 2013-02-13 2015-03-31 Honeywell International Inc. Physics-based key generation
KR101359855B1 (ko) * 2013-02-18 2014-02-10 충북대학교 산학협력단 전하 펌프 기반 물리적 복제 불가 함수 시스템
EP2965254B1 (en) * 2013-03-08 2020-05-13 Robert Bosch GmbH Systems and methods for maintaining integrity and secrecy in untrusted computing platforms
US9071428B2 (en) * 2013-03-15 2015-06-30 University Of Connecticut Methods and systems for hardware piracy prevention
EP2779067B1 (en) * 2013-03-15 2019-05-08 Maxim Integrated Products, Inc. Secure authentication based on physically unclonable functions
CN103198268B (zh) * 2013-03-18 2016-06-08 宁波大学 一种可重构多端口物理不可克隆函数电路
KR101393806B1 (ko) 2013-04-03 2014-05-12 충북대학교 산학협력단 다단계 물리적 복제 불가 함수 시스템
US20140331288A1 (en) * 2013-05-01 2014-11-06 Verayo, Inc. Access gating of noisy physical functions
US9088278B2 (en) 2013-05-03 2015-07-21 International Business Machines Corporation Physical unclonable function generation and management
WO2014184899A1 (ja) * 2013-05-15 2014-11-20 三菱電機株式会社 機器真贋判定システムおよび機器真贋判定方法
WO2014192077A1 (ja) * 2013-05-28 2014-12-04 三菱電機株式会社 認証処理装置および認証処理方法
JP6129654B2 (ja) 2013-06-13 2017-05-17 株式会社東芝 認証装置、認証方法およびプログラム
US10459784B2 (en) * 2013-06-28 2019-10-29 Infineon Technologies Ag Frequency signal generator, a frequency modulated continuous wave radar system and a method for generating a frequency signal
US20150026545A1 (en) * 2013-07-18 2015-01-22 Verayo, Inc. System and method for generating constellation-based information coding using physical noisy pseudo-random sources
US10152530B1 (en) 2013-07-24 2018-12-11 Symantec Corporation Determining a recommended control point for a file system
US20150046715A1 (en) * 2013-08-06 2015-02-12 Ologn Technologies Ag Systems, Methods and Apparatuses for Prevention of Unauthorized Cloning of a Device
US9787480B2 (en) 2013-08-23 2017-10-10 Qualcomm Incorporated Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks
KR20150024676A (ko) * 2013-08-27 2015-03-09 (주) 아이씨티케이 반도체 프로세스의 포토 마스크를 변형하여 puf를 생성하는 방법 및 장치
CN105849701B (zh) 2013-08-28 2019-07-23 Stc.Unm公司 采用金属电阻变化分析稳定性的***和方法
US10230369B2 (en) * 2013-08-28 2019-03-12 Stc.Unm Systems and methods for leveraging path delay variations in a circuit and generating error-tolerant bitstrings
US11303461B2 (en) 2013-09-02 2022-04-12 Samsung Electronics Co., Ltd. Security device having physical unclonable function
US10044513B2 (en) 2013-09-02 2018-08-07 Samsung Electronics Co., Ltd. Security device having physical unclonable function
KR101489088B1 (ko) 2013-09-03 2015-02-04 (주) 아이씨티케이 식별키 생성 장치 및 방법
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
CN105659251B (zh) * 2013-11-04 2019-03-12 马维尔国际贸易有限公司 用于验证半导体裸片的方法和装置
US9342710B2 (en) 2013-11-21 2016-05-17 Nxp B.V. Electronic tamper detection
US9465960B2 (en) 2013-12-04 2016-10-11 Honeywell International Inc. Physics-based authentication
WO2015089346A1 (en) 2013-12-13 2015-06-18 Battelle Memorial Institute Electronic component classification
DE102013227166B4 (de) 2013-12-27 2016-01-14 Siemens Aktiengesellschaft Schaltkreiseinheit zur Bereitstellung eines kryptographischen Schlüssels
US10216965B2 (en) * 2014-01-08 2019-02-26 Stc.Unm Systems and methods for generating physically unclonable functions from non-volatile memory cells
US9729317B2 (en) * 2014-01-30 2017-08-08 Mentor Graphics Corporation Optical physical uncloneable function
US9279850B1 (en) * 2014-02-14 2016-03-08 Altera Corporation Physically unclonable functions with enhanced margin testing
US9190360B2 (en) 2014-02-17 2015-11-17 Globalfoundries Inc. Photoresist collapse method for forming a physical unclonable function
EP2911086A1 (en) * 2014-02-19 2015-08-26 Renesas Electronics Europe GmbH Integrated circuit with parts activated based on intrinsic features
US9970986B2 (en) * 2014-03-11 2018-05-15 Cryptography Research, Inc. Integrated circuit authentication
US9202554B2 (en) 2014-03-13 2015-12-01 International Business Machines Corporation Methods and circuits for generating physically unclonable function
GB201406002D0 (en) 2014-04-03 2014-05-21 Univ Lancaster Unique identifier
JP2017514421A (ja) 2014-04-09 2017-06-01 アイシーティーケー カンパニー リミテッド 認証装置及び方法
DE102014206943A1 (de) * 2014-04-10 2015-10-15 Siemens Aktiengesellschaft Schlüsselerzeugungsvorrichtung und Verfahren zum Erzeugen eines Schlüssels
US9485094B1 (en) * 2014-04-21 2016-11-01 Maxim Integrated Products, Inc. Systems and methods for stable physically unclonable functions
US9672342B2 (en) 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
US9806718B2 (en) 2014-05-05 2017-10-31 Analog Devices, Inc. Authenticatable device with reconfigurable physical unclonable functions
US10432409B2 (en) * 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9946858B2 (en) 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9715590B2 (en) 2014-05-05 2017-07-25 Analog Devices, Inc. System and device for verifying the integrity of a system from its subcomponents
US9292692B2 (en) * 2014-05-05 2016-03-22 Sypris Electronics, Llc System and device for verifying the integrity of a system from its subcomponents
US10060973B1 (en) 2014-05-29 2018-08-28 National Technology & Engineering Solutions Of Sandia, Llc Test circuits for integrated circuit counterfeit detection
KR101593166B1 (ko) * 2014-06-02 2016-02-15 한국전자통신연구원 물리적 복제 방지 함수의 오류를 방지하는 장치 및 그 방법
EP3161996B1 (en) * 2014-06-25 2021-04-28 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
DE102014215467A1 (de) * 2014-08-05 2016-02-04 Siemens Aktiengesellschaft Erzeugen eines Identifizierers für eine Schaltung
US9900287B1 (en) 2014-09-12 2018-02-20 Verily Life Sciences, LLC Transmitting sensitive information securely over unsecured networks without authentication
WO2016051370A1 (en) 2014-10-01 2016-04-07 Universita' Degli Studi Di Udine Integrated device for implementing a physical unclonable function and a physical unclonable constant
CN107004380B (zh) 2014-10-13 2020-11-13 本质Id有限责任公司 包括物理不可克隆功能的加密设备
DE102014222222A1 (de) * 2014-10-30 2016-05-04 Robert Bosch Gmbh Verfahren zur Absicherung eines Netzwerks
JP2016091177A (ja) 2014-10-31 2016-05-23 株式会社アドバンテスト 認証端末
MA40917A (fr) * 2014-11-03 2017-09-12 Micali Silvio Prévention de la contrefaçon
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
US9703989B1 (en) 2014-12-23 2017-07-11 Altera Corporation Secure physically unclonable function (PUF) error correction
EP3241303B1 (en) * 2014-12-31 2019-04-10 OneSpan International GmbH Methods, systems and apparatus for recognizing genuine products
KR102302361B1 (ko) * 2014-12-31 2021-09-15 삼성전자 주식회사 어플리케이션과 장치 간의 피처 매칭 방법 및 시스템
US9876645B1 (en) * 2015-02-17 2018-01-23 Amazon Technologies, Inc. Tamper detection for hardware devices
US9940486B2 (en) * 2015-02-23 2018-04-10 Cisco Technology, Inc. Detection of hardware tampering
EP3265943B1 (en) * 2015-03-05 2021-04-28 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
WO2016190936A1 (en) * 2015-03-09 2016-12-01 Massachusetts Institute Of Technology Waveguide with dielectric light reflectors
US10740493B2 (en) * 2015-03-09 2020-08-11 Massachusetts Institute Of Technology Phosphor-loaded waveguide
CN107533433A (zh) * 2015-04-16 2018-01-02 时间防御***有限责任公司 用于后制作外部硬件附件的自检测的***和方法
US9996996B2 (en) * 2015-04-16 2018-06-12 Siebels Asset Management Research Ltd. Protected article management
US9576914B2 (en) 2015-05-08 2017-02-21 Globalfoundries Inc. Inducing device variation for security applications
US10135615B2 (en) 2015-05-11 2018-11-20 The Trustees Of Columbia University In The City Of New York Voltage and temperature compensated device for physically unclonable function
USD776664S1 (en) * 2015-05-20 2017-01-17 Chaya Coleena Hendrick Smart card
US9887978B2 (en) 2015-06-23 2018-02-06 Veritas Technologies Llc System and method for centralized configuration and authentication
US10757104B1 (en) 2015-06-29 2020-08-25 Veritas Technologies Llc System and method for authentication in a computing system
CN106714075B (zh) * 2015-08-10 2020-06-26 华为技术有限公司 一种处理授权的方法和设备
US10382417B2 (en) * 2015-08-31 2019-08-13 Mentor Graphics Corporation Secure protocol for chip authentication
US11429624B2 (en) 2015-11-20 2022-08-30 Intrinsic Id B.V. Assigning device
US10262164B2 (en) 2016-01-15 2019-04-16 Blockchain Asics Llc Cryptographic ASIC including circuitry-encoded transformation function
US10212601B2 (en) 2016-01-21 2019-02-19 Motorola Mobility Llc Hardware verification with RFID-stored build information
US10026648B2 (en) 2016-03-08 2018-07-17 International Business Machines Corporation FDSOI with on-chip physically unclonable function
FR3051600B1 (fr) * 2016-05-20 2018-12-07 Commissariat A L'energie Atomique Et Aux Energies Alternatives Dispositif electronique a identification de type puf
JP6794297B2 (ja) * 2016-05-25 2020-12-02 ヌヴォトンテクノロジージャパン株式会社 認証装置および認証方法
US10445531B2 (en) * 2016-05-26 2019-10-15 Raytheon Company Authentication system and method
US10452872B2 (en) * 2016-05-26 2019-10-22 Raytheon Company Detection system for detecting changes to circuitry and method of using the same
GB201609781D0 (en) 2016-06-03 2016-07-20 Irdeto Bv Secured chip
IT201600072154A1 (it) 2016-07-11 2018-01-11 Ibm Dispositivi elettronici con circuiti di sicurezza individuali
US10778422B2 (en) 2016-07-13 2020-09-15 International Business Machines Corporation Lithographically defined intrinsic identifier
US11797994B2 (en) * 2016-07-15 2023-10-24 Maxim Integrated Products, Inc. Systems and methods for a secure payment terminal without batteries
US10680809B2 (en) 2016-08-04 2020-06-09 Macronix International Co., Ltd. Physical unclonable function for security key
US10469271B2 (en) 2016-08-04 2019-11-05 Macronix International Co., Ltd. Physical unclonable function for non-volatile memory
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US11258599B2 (en) 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US10418324B2 (en) 2016-10-27 2019-09-17 Asml Netherlands B.V. Fabricating unique chips using a charged particle multi-beamlet lithography system
US10572675B2 (en) 2016-11-02 2020-02-25 Cisco Technology, Inc. Protecting and monitoring internal bus transactions
EP3535682A4 (en) * 2016-11-04 2020-06-24 Stc.Unm SYSTEM AND METHODS FOR STATISTICAL QUALITY ENTROPY AND METRIC
US10121011B2 (en) * 2016-11-16 2018-11-06 The United States Of America As Represented By The Secretary Of The Air Force Apparatus, method and article of manufacture for partially resisting hardware trojan induced data leakage in sequential logics
US10547460B2 (en) * 2016-11-18 2020-01-28 Qualcomm Incorporated Message-based key generation using physical unclonable function (PUF)
US10930535B2 (en) 2016-12-02 2021-02-23 Applied Materials, Inc. RFID part authentication and tracking of processing components
US11080431B1 (en) 2016-12-15 2021-08-03 United States Of America As Represented By The Secretary Of The Air Force Mixed-signal process-specific function
DE102017100941A1 (de) * 2017-01-18 2018-07-19 Adtran GmbH Authentifizierung und Zugriff auf eine Vorrichtung einer Festnetzkommunikationsvorrichtung
CN108345352B (zh) * 2017-01-24 2024-03-05 精工爱普生株式会社 电路装置、振荡器件、物理量测定装置、电子设备以及移动体
JP6972562B2 (ja) 2017-01-24 2021-11-24 セイコーエプソン株式会社 回路装置、発振デバイス、物理量測定装置、電子機器及び移動体
JP6867582B2 (ja) * 2017-02-22 2021-04-28 富士通株式会社 信号処理システム
WO2018162938A1 (en) * 2017-03-10 2018-09-13 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Methods and system for labeling and detecting a clone-resistant physical unit
CN110494854B (zh) * 2017-03-24 2023-09-01 维萨国际服务协会 使用安全多方计算的认证***
ES2684846B1 (es) * 2017-03-31 2019-05-10 Univ Madrid Carlos Iii Dispositivo y procedimiento para la identificación unívoca de un circuito integrado
US10789550B2 (en) 2017-04-13 2020-09-29 Battelle Memorial Institute System and method for generating test vectors
KR101980964B1 (ko) * 2017-05-24 2019-05-21 성균관대학교산학협력단 카운터 기반 물리적 복제 방지 함수 장치 및 이를 이용한 챌린지-응답 획득 방법
US10944579B2 (en) * 2017-05-26 2021-03-09 Combined Conditional Access Development And Support, Llc Device pairing and authentication
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
US10938580B2 (en) 2017-06-06 2021-03-02 Analog Devices, Inc. System and device employing physical unclonable functions for tamper penalties
CN110869997B (zh) 2017-07-10 2023-08-11 本质Id有限责任公司 电子加密设备、电子登记和重构方法及计算机可读介质
US11061997B2 (en) * 2017-08-03 2021-07-13 Regents Of The University Of Minnesota Dynamic functional obfuscation
CN107292636A (zh) * 2017-08-17 2017-10-24 上海焕云网络技术有限公司 一种基于天然生物信息的商品防伪验证***
DE102017126217B4 (de) 2017-11-09 2019-06-27 Infineon Technologies Ag PUF-Arbiter-Schaltung
US10841107B2 (en) 2017-11-20 2020-11-17 Analog Devices, Inc. Efficient delay-based PUF implementation using optimal racing strategy
US10429743B2 (en) 2017-11-30 2019-10-01 International Business Machines Corporation Optical mask validation
US10650111B2 (en) 2017-11-30 2020-05-12 International Business Machines Corporation Electrical mask validation
IL256108B (en) 2017-12-04 2021-02-28 Elbit Systems Ltd A system and method for identifying the state of use and originality of a product
US10854251B2 (en) 2017-12-15 2020-12-01 Google Llc Physical identifiers for authenticating an identity of a semiconductor component
US10897364B2 (en) * 2017-12-18 2021-01-19 Intel Corporation Physically unclonable function implemented with spin orbit coupling based magnetic memory
US10715321B2 (en) * 2017-12-22 2020-07-14 Micron Technology, Inc. Physical unclonable function using message authentication code
US10906506B2 (en) 2017-12-28 2021-02-02 Micron Technology, Inc. Security of user data stored in shared vehicles
GB201800280D0 (en) * 2018-01-08 2018-02-21 Artificial Intelligence Res Group Limited Hypercomputation with programmable matter
US10924277B2 (en) 2018-01-25 2021-02-16 Micron Technology, Inc. Certifying authenticity of stored code and code updates
US10372943B1 (en) 2018-03-20 2019-08-06 Blockchain Asics Llc Cryptographic ASIC with combined transformation and one-way functions
CN110324141A (zh) * 2018-03-30 2019-10-11 恩智浦有限公司 抵抗旁信道攻击的物理不可克隆函数和其对应的方法
US11082241B2 (en) * 2018-03-30 2021-08-03 Intel Corporation Physically unclonable function with feed-forward addressing and variable latency output
US10256974B1 (en) 2018-04-25 2019-04-09 Blockchain Asics Llc Cryptographic ASIC for key hierarchy enforcement
US10778661B2 (en) 2018-04-27 2020-09-15 Micron Technology, Inc. Secure distribution of secret key using a monotonic counter
US10749694B2 (en) 2018-05-01 2020-08-18 Analog Devices, Inc. Device authentication based on analog characteristics without error correction
US11044107B2 (en) 2018-05-01 2021-06-22 Analog Devices, Inc. Device authentication based on analog characteristics without error correction
US10742406B2 (en) * 2018-05-03 2020-08-11 Micron Technology, Inc. Key generation and secure storage in a noisy environment
KR102113633B1 (ko) * 2018-05-28 2020-05-20 한국과학기술연구원 사용자 인증 시스템에 사용되는 puf 장치 및 그것의 동작 방법
US10778451B2 (en) * 2018-07-30 2020-09-15 United States Of America As Represented By The Secretary Of The Navy Device and method for hardware timestamping with inherent security
US12013259B2 (en) * 2018-09-26 2024-06-18 Infineon Technologies Ag Providing compensation parameters for sensor integrated circuits
US10839109B2 (en) 2018-11-14 2020-11-17 Massachusetts Institute Of Technology Integrated circuit (IC) portholes and related techniques
US10878133B2 (en) * 2018-11-18 2020-12-29 Nuvoton Technology Corporation Mitigation of side-channel attacks using small-overhead random pre-charging
US11700136B2 (en) * 2018-11-26 2023-07-11 Kansas State University Research Foundation PUF-IPA: a PUF-based identity preserving lightweight authentication protocol using binary string shuffling
EP3667529B1 (de) * 2018-12-14 2024-02-28 Siemens Aktiengesellschaft Verfahren und vorrichtung zum authentisieren einer fpga-konfiguration
FR3091929B1 (fr) * 2019-01-22 2021-03-19 St Microelectronics Crolles 2 Sas Détermination de la dispersion d'un composant électronique
US10585139B1 (en) 2019-02-14 2020-03-10 Science Applications International Corporation IC device authentication using energy characterization
US11205018B2 (en) 2019-02-14 2021-12-21 International Business Machines Corporation Device identification via chip manufacturing related fingerprints
US11245680B2 (en) 2019-03-01 2022-02-08 Analog Devices, Inc. Garbled circuit for device authentication
US11323275B2 (en) 2019-03-25 2022-05-03 Micron Technology, Inc. Verification of identity using a secret key
US11218330B2 (en) * 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11269999B2 (en) * 2019-07-01 2022-03-08 At&T Intellectual Property I, L.P. Protecting computing devices from malicious tampering
US11194978B2 (en) 2019-07-12 2021-12-07 Northrop Grumman Systems Corporation Combined radio frequency identification (RFID)-based asset management and component authentication
EP3771140B1 (en) * 2019-07-23 2021-08-25 Nokia Technologies Oy Securing a provable resource possession
US11797718B2 (en) 2019-08-23 2023-10-24 Cryptography Research, Inc. Anti-tamper shield based on strings of series resistors
DE102019123555B4 (de) 2019-09-03 2022-12-01 Infineon Technologies Ag Physisch obfuskierter schaltkreis
GB201913058D0 (en) * 2019-09-10 2019-10-23 Ttp Plc Unit verification method and device
EP4034895A4 (en) * 2019-09-23 2023-10-18 Palitronica Inc. METHOD AND APPARATUS FOR DETECTING COUNTERFEIT PARTS, HACKED OR TAMPERED COMPONENTS OR DEVICES, TAMPERED SYSTEMS SUCH AS LOCAL COMMUNICATIONS NETWORKS, AND FOR SECURE IDENTIFICATION OF COMPONENTS
US11211140B1 (en) * 2019-09-24 2021-12-28 Facebook Technologies, Llc Device authentication based on inconsistent responses
WO2021070701A1 (ja) * 2019-10-09 2021-04-15 シャープ株式会社 情報処理装置及び情報処理方法
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
US10979054B1 (en) 2020-01-14 2021-04-13 Nuvotonn Technology Corporation Coupling of combinational logic circuits for protection against side-channel attacks
FR3106424B1 (fr) 2020-01-17 2022-02-11 Ic’Alps Procédé pour générer une donnée unique propre à un circuit intégré en silicium
US10761809B1 (en) * 2020-03-12 2020-09-01 Katholieke Universiteit Leuven Random number generator
US11079337B1 (en) 2020-03-17 2021-08-03 International Business Machines Corporation Secure wafer inspection and identification
US11734409B2 (en) 2020-04-17 2023-08-22 University Of South Florida Determining electronic component authenticity via electronic signal signature measurement
KR20210142820A (ko) * 2020-05-19 2021-11-26 삼성전자주식회사 공개키와 비밀키를 저장하는 비휘발성 메모리 장치, 전자 장치 및 서비스 제공자
US20230261884A1 (en) * 2020-06-26 2023-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Security component and method of operation
GB2599408A (en) * 2020-09-30 2022-04-06 Nchain Holdings Ltd Physically unclonable functions
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories
US11575023B2 (en) 2020-11-11 2023-02-07 International Business Machines Corporation Secure chip identification using random threshold voltage variation in a field effect transistor structure as a physically unclonable function
US11761903B2 (en) 2020-11-23 2023-09-19 International Business Machines Corporation Wafer inspection and verification
CN114614987B (zh) * 2020-12-03 2023-07-07 北京京东方技术开发有限公司 一种集成电路及其数字指纹生成电路、方法
US11574111B1 (en) 2020-12-31 2023-02-07 Cadence Design Systems, Inc. Electronic design tracing and tamper detection using automatically generated layout patterns
DE102021200770A1 (de) 2021-01-28 2022-07-28 Continental Automotive Gmbh Anordnung, die eine mehrschicht- leiterplatte aufweist, undverfahren zum betreiben einer mehrschicht- leiterplatte
EP4047587A1 (en) * 2021-02-22 2022-08-24 HENSOLDT Sensors GmbH Chip device and method for a randomized logic encryption
GB2605168B (en) * 2021-03-24 2023-03-29 Cirrus Logic Int Semiconductor Ltd An integrated circuit having a secure area
EP4086950A1 (en) * 2021-05-06 2022-11-09 IHP GmbH - Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik Semiconductor device with back side protection mechanism
WO2022233720A1 (en) * 2021-05-06 2022-11-10 Ihp Gmbh - Innovations For High Performance Microelectronics / Leibniz-Institut Für Innovative Mikroelektronik Semiconductor device with back side protection mechanism
WO2023046476A1 (en) 2021-09-23 2023-03-30 Intrinsic Id B.V. Random number generation using sparse noise source
US11775696B2 (en) * 2021-10-21 2023-10-03 Hart Intercivic, Inc. Systems, tamper-evident assemblies and methods to detect tampering and/or provide cryptographic evidence of tampering
US20230180002A1 (en) * 2021-12-02 2023-06-08 Gwangju Institute Of Science And Technology PUF-BASED IoT DEVICE USING CHANNEL STATE INFORMATION, AND AUTHENTICATION METHOD THEREOF
CN114417437B (zh) * 2022-01-26 2023-07-04 湖北工业大学 一种基于芯片-pcb延时的混合型puf电路及生成响应方法
WO2023186414A1 (en) 2022-03-28 2023-10-05 Intrinsic Id B.V. Hamming distance based matching for puf strings
US20240204803A1 (en) * 2022-12-20 2024-06-20 Xilinx, Inc. Registration of a puf signature and regeneration using a trellis decoder
CN116707772A (zh) * 2023-08-04 2023-09-05 山东天河科技股份有限公司 一种控制器芯片的身份信息管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187546A (ja) * 1996-10-25 1998-07-21 Fuji Xerox Co Ltd 暗号化装置、復号装置、機密データ処理装置、及び情報処理装置
US6161213A (en) * 1999-02-17 2000-12-12 Icid, Llc System for providing an integrated circuit with a unique identification
JP2001053739A (ja) * 1999-08-10 2001-02-23 Zeon Joho System Kk 暗号化通信方法
JP2003051820A (ja) * 2001-06-11 2003-02-21 Stmicroelectronics Sa 集積回路におけるデータの保護蓄積

Family Cites Families (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558176A (en) * 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
US4985614A (en) * 1987-01-16 1991-01-15 Rand Mcnally & Company Object verification apparatus and method
DE3736882C2 (de) 1987-10-30 1997-04-30 Gao Ges Automation Org Verfahren zur Echtheitsprüfung eines Datenträgers mit integriertem Schaltkreis
JPH0424889A (ja) 1990-05-21 1992-01-28 Toshiba Corp 個人認証機能付きicカード
US6933627B2 (en) 1991-01-08 2005-08-23 Nextek Power Systems Inc. High efficiency lighting system
US5177352A (en) 1991-06-06 1993-01-05 The United States Of America As Represented By The United States Department Of Energy Integrated optical tamper sensor with planar waveguide
US5204902A (en) * 1991-09-13 1993-04-20 At&T Bell Laboratories Cellular telephony authentication arrangement
GB9121591D0 (en) 1991-10-11 1991-11-27 Pilkington Micro Electronics Data security arrangement for semiconductor programmable logic devices
US5247577A (en) 1992-05-13 1993-09-21 Intel Corporation Methods and apparatus for securely enabling features in highly integrated electronic circuits
US5375169A (en) 1993-05-28 1994-12-20 Tecsec, Incorporated Cryptographic key management method and apparatus
FR2706210B1 (fr) 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
EP0717895B1 (en) * 1993-09-09 1998-11-25 BRITISH TELECOMMUNICATIONS public limited company Key distribution in a multiple access network using quantum cryptography
US5577121A (en) * 1994-06-09 1996-11-19 Electronic Payment Services, Inc. Transaction system for integrated circuit cards
US5533123A (en) * 1994-06-28 1996-07-02 National Semiconductor Corporation Programmable distributed personal security
US5583933A (en) * 1994-08-05 1996-12-10 Mark; Andrew R. Method and apparatus for the secure communication of data
US6334219B1 (en) * 1994-09-26 2001-12-25 Adc Telecommunications Inc. Channel selection for a hybrid fiber coax network
US5598475A (en) * 1995-03-23 1997-01-28 Texas Instruments Incorporated Rolling code identification scheme for remote control applications
US5768382A (en) * 1995-11-22 1998-06-16 Walker Asset Management Limited Partnership Remote-auditing of computer generated outcomes and authenticated biling and access control system using cryptographic and other protocols
EP0787328B1 (en) * 1995-08-11 2002-10-23 International Business Machines Corporation Method for verifying the configuration of a computer system
FR2738971B1 (fr) * 1995-09-19 1997-10-10 Schlumberger Ind Sa Procede de determination d'une cle de cryptage associee a un circuit integre
US5828751A (en) * 1996-04-08 1998-10-27 Walker Asset Management Limited Partnership Method and apparatus for secure measurement certification
US5883956A (en) 1996-03-28 1999-03-16 National Semiconductor Corporation Dynamic configuration of a secure processing unit for operations in various environments
US5963104A (en) * 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
US5896300A (en) 1996-08-30 1999-04-20 Avant| Corporation Methods, apparatus and computer program products for performing post-layout verification of microelectronic circuits by filtering timing error bounds for layout critical nets
US6026293A (en) * 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
JP3311260B2 (ja) * 1996-12-17 2002-08-05 富士通株式会社 半導体装置及び半導体記憶装置
US5920628A (en) * 1997-01-09 1999-07-06 Washington University Method and apparatus for fingerprinting and authenticating various magnetic media
US5844803A (en) * 1997-02-17 1998-12-01 Micron Technology, Inc. Method of sorting a group of integrated circuit devices for those devices requiring special testing
US6038315A (en) * 1997-03-17 2000-03-14 The Regents Of The University Of California Method and system for normalizing biometric variations to authenticate users from a public database and that ensures individual biometric data privacy
JPH10326837A (ja) * 1997-03-25 1998-12-08 Toshiba Corp 半導体集積回路装置の製造方法、半導体集積回路装置、半導体装置、及び、半導体装置の製造方法
FR2764413B1 (fr) * 1997-06-10 1999-07-09 Sgs Thomson Microelectronics Procede d'authentification de circuit integre
US7249108B1 (en) 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Validation protocol and system
US6708273B1 (en) 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US6704871B1 (en) * 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
US6289292B1 (en) 1997-10-28 2001-09-11 Micron Technology, Inc. System for identifying a component with physical characterization
US6161052A (en) * 1997-10-28 2000-12-12 Micron Electronics, Inc. Method for identifying a component with physical characterization
US6049624A (en) * 1998-02-20 2000-04-11 Micron Technology, Inc. Non-lot based method for assembling integrated circuit devices
JPH11260931A (ja) * 1998-03-15 1999-09-24 Toshiba Microelectronics Corp 半導体集積回路装置の市場故障率推定方法、半導体集積回路装置の製造方法及びテスト用半導体集積回路装置
US6188715B1 (en) * 1998-04-09 2001-02-13 Andrzej Partyka Frequency hopping system for intermittent transmission with receiver using individual tracking, FFT, and authentication
US7224713B2 (en) * 1998-04-09 2007-05-29 Andrzej Partyka Telemetry system with authentication
US6118873A (en) 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
US6510518B1 (en) * 1998-06-03 2003-01-21 Cryptography Research, Inc. Balanced cryptographic computational method and apparatus for leak minimizational in smartcards and other cryptosystems
US6983371B1 (en) * 1998-10-22 2006-01-03 International Business Machines Corporation Super-distribution of protected digital content
US6330668B1 (en) * 1998-08-14 2001-12-11 Dallas Semiconductor Corporation Integrated circuit having hardware circuitry to prevent electrical or thermal stressing of the silicon circuitry
US6941180B1 (en) * 1998-08-27 2005-09-06 Addison M. Fischer Audio cassette emulator
US6363485B1 (en) 1998-09-09 2002-03-26 Entrust Technologies Limited Multi-factor biometric authenticating device and method
DE19843424A1 (de) 1998-09-22 2000-03-23 Fraunhofer Ges Forschung Vorrichtung zum Liefern von Ausgangsdaten als Reaktion auf Eingangsdaten und Verfahren zum Überprüfen der Authentizität und Verfahren zum verschlüsselten Übertragen von Informationen
US6366622B1 (en) * 1998-12-18 2002-04-02 Silicon Wave, Inc. Apparatus and method for wireless communications
US6301695B1 (en) 1999-01-14 2001-10-09 Xilinx, Inc. Methods to securely configure an FPGA using macro markers
US6324676B1 (en) 1999-01-14 2001-11-27 Xilinx, Inc. FPGA customizable to accept selected macros
US6305005B1 (en) 1999-01-14 2001-10-16 Xilinx, Inc. Methods to securely configure an FPGA using encrypted macros
US6654889B1 (en) * 1999-02-19 2003-11-25 Xilinx, Inc. Method and apparatus for protecting proprietary configuration data for programmable logic devices
US6795837B1 (en) * 1999-03-31 2004-09-21 Intel Corporation Programmable random bit source
US6402028B1 (en) 1999-04-06 2002-06-11 Visa International Service Association Integrated production of smart cards
US7216232B1 (en) 1999-04-20 2007-05-08 Nec Corporation Method and device for inserting and authenticating a digital signature in digital data
US6386456B1 (en) 1999-06-04 2002-05-14 International Business Machines Corporation Memory card identification system
US6898709B1 (en) * 1999-07-02 2005-05-24 Time Certain Llc Personal computer system and methods for proving dates in digital data files
US7243236B1 (en) 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US6289455B1 (en) 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
US7131001B1 (en) 1999-10-29 2006-10-31 Broadcom Corporation Apparatus and method for secure filed upgradability with hard wired public key
EP1100058A1 (de) 1999-11-12 2001-05-16 Infineon Technologies AG Elektronisches Bauelement und Verfahren zum Schützen einer in dem Bauelement enthaltenen integrierten Schaltung
US20010032318A1 (en) 1999-12-03 2001-10-18 Yip Kun Wah Apparatus and method for protecting configuration data in a programmable device
US6246254B1 (en) 1999-12-06 2001-06-12 International Business Machines Corporation Method and circuit for providing copy protection in an application-specific integrated circuit
JP3759455B2 (ja) 1999-12-07 2006-03-22 三洋電機株式会社 データ再生装置
US7005733B2 (en) 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
US6973570B1 (en) * 1999-12-31 2005-12-06 Western Digital Ventures, Inc. Integrated circuit comprising encryption circuitry selectively enabled by verifying a device
US6553558B2 (en) 2000-01-13 2003-04-22 Texas Instruments Incorporated Integrated circuit layout and verification method
JP2001257672A (ja) * 2000-03-14 2001-09-21 Mitsubishi Electric Corp 認証方法、認証装置、認証システム、および、icカード
US7093128B2 (en) * 2000-04-06 2006-08-15 Sony Corporation Information recording/reproducing apparatus and method
AU3840200A (en) * 2000-04-20 2001-11-07 Yutaka Yasukura Electronic information inquiring method
FR2810139B1 (fr) 2000-06-08 2002-08-23 Bull Cp8 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
US6813599B1 (en) 2000-07-17 2004-11-02 Silicon Graphics, Inc. Efficient memory structure simulation for sequential circuit design verification
ES2244639T3 (es) 2000-08-03 2005-12-16 Koninklijke Philips Electronics N.V. Transformacion lineal para cifrado de claves simetricas.
AU2001287164B2 (en) * 2000-08-04 2008-06-26 First Data Corporation Method and system for using electronic communications for an electronic contact
JP2002073181A (ja) * 2000-08-30 2002-03-12 Nec Corp 動作保証電圧制御方式
JP2002073424A (ja) * 2000-08-31 2002-03-12 Mitsubishi Electric Corp 半導体装置、端末装置および通信方法
JP2002149396A (ja) * 2000-11-07 2002-05-24 Hitachi Ltd データプロセッサ、半導体集積回路及びcpu
EP1205889A1 (en) 2000-11-10 2002-05-15 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Returning of change in an electronic payment system
JPWO2002050910A1 (ja) 2000-12-01 2004-04-22 株式会社日立製作所 半導体集積回路装置の識別方法と半導体集積回路装置の製造方法及び半導体集積回路装置
US7316934B2 (en) * 2000-12-18 2008-01-08 Zavitan Semiconductors, Inc. Personalized hardware
US6578190B2 (en) * 2001-01-11 2003-06-10 International Business Machines Corporation Process window based optical proximity correction of lithographic images
US7441126B2 (en) 2001-01-16 2008-10-21 Russell Dellmo Secure wireless LAN device including tamper resistant feature and associated method
US20040148509A1 (en) 2001-03-23 2004-07-29 Yong Dong Wu Method of using biometric information for secret generation
FR2822565B1 (fr) 2001-03-23 2004-09-10 Schlumberger Systems & Service Composant electronique securise
US20020150252A1 (en) 2001-03-27 2002-10-17 Leopard Logic, Inc. Secure intellectual property for a generated field programmable gate array
US6865502B2 (en) * 2001-04-04 2005-03-08 International Business Machines Corporation Method and system for logic verification using mirror interface
FR2823398B1 (fr) * 2001-04-04 2003-08-15 St Microelectronics Sa Extraction d'une donnee privee pour authentification d'un circuit integre
GB0114317D0 (en) 2001-06-13 2001-08-01 Kean Thomas A Method of protecting intellectual property cores on field programmable gate array
US7110982B2 (en) * 2001-08-27 2006-09-19 Dphi Acquisitions, Inc. Secure access method and system
US7191339B1 (en) 2001-09-10 2007-03-13 Xilinx, Inc. System and method for using a PLD identification code
JP2003101533A (ja) * 2001-09-25 2003-04-04 Toshiba Corp 機器認証管理システム及び機器認証管理方法
EP1451871A2 (en) 2001-11-28 2004-09-01 Koninklijke Philips Electronics N.V. Semiconductor device, and means for checking the authenticity
FR2833119A1 (fr) 2001-11-30 2003-06-06 St Microelectronics Sa Generation de quantites secretes d'identification d'un circuit integre
US7203310B2 (en) 2001-12-04 2007-04-10 Microsoft Corporation Methods and systems for cryptographically protecting secure content
US7260726B1 (en) * 2001-12-06 2007-08-21 Adaptec, Inc. Method and apparatus for a secure computing environment
US7251730B2 (en) * 2001-12-21 2007-07-31 Qualcomm Incorporated Method and apparatus for simplified audio authentication
US7088398B1 (en) * 2001-12-24 2006-08-08 Silicon Image, Inc. Method and apparatus for regenerating a clock for auxiliary data transmitted over a serial link with video data
US6707345B2 (en) * 2002-01-14 2004-03-16 Ip-First, Llc Oscillator frequency variation mechanism
US6886023B2 (en) * 2002-01-14 2005-04-26 Ip-First, Llc Apparatus for generating random numbers
US6966022B1 (en) 2002-04-04 2005-11-15 Adaptec, Inc. System and method for determining integrated circuit logic speed
US6738788B1 (en) 2002-04-17 2004-05-18 Icid, Llc Database system using a record key having some randomly positioned, non-deterministic bits
US20030204731A1 (en) 2002-04-29 2003-10-30 Pochuev Denis A. Method and apparatus to enhance the security of data
KR100453504B1 (ko) 2002-04-30 2004-10-20 주식회사 케이티프리텔 소프트웨어 인증 방법 및 시스템
US20030219121A1 (en) 2002-05-24 2003-11-27 Ncipher Corporation, Ltd Biometric key generation for secure storage
US6802447B2 (en) 2002-08-26 2004-10-12 Icid, Llc Method of authenticating an object or entity using a random binary ID code subject to bit drift
DE10302625B4 (de) 2003-01-23 2005-09-29 Infineon Technologies Ag Bipolartransistor und Verfahren zum Herstellen desselben
US7331001B2 (en) * 2003-04-10 2008-02-12 O2Micro International Limited Test card for multiple functions testing
US9281945B2 (en) 2003-12-30 2016-03-08 Entrust, Inc. Offline methods for authentication in a client/server authentication system
US7249408B2 (en) * 2004-03-24 2007-07-31 Headway Technologies, Inc. Method of manufacturing a thin-film magnetic head

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187546A (ja) * 1996-10-25 1998-07-21 Fuji Xerox Co Ltd 暗号化装置、復号装置、機密データ処理装置、及び情報処理装置
US6161213A (en) * 1999-02-17 2000-12-12 Icid, Llc System for providing an integrated circuit with a unique identification
JP2001053739A (ja) * 1999-08-10 2001-02-23 Zeon Joho System Kk 暗号化通信方法
JP2003051820A (ja) * 2001-06-11 2003-02-21 Stmicroelectronics Sa 集積回路におけるデータの保護蓄積

Cited By (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006179001A (ja) * 2004-12-22 2006-07-06 Seagate Technology Llc 秘密の鍵を生成する装置と方法
JP4718319B2 (ja) * 2004-12-22 2011-07-06 シーゲイト テクノロジー エルエルシー 秘密の鍵を生成する装置と方法
JP2009509365A (ja) * 2005-09-07 2009-03-05 ミル. ディジタル レーベリング インコーポレイテッド 製品の認証のためのデジタルラベル
JP2009524998A (ja) * 2006-01-24 2009-07-02 ヴェラヨ インク 信号発生器をベースとした装置セキュリティ
US8630410B2 (en) 2006-01-24 2014-01-14 Verayo, Inc. Signal generator based device security
US8347091B2 (en) 2006-11-06 2013-01-01 Panasonic Corporation Authenticator apparatus
WO2008056613A1 (fr) * 2006-11-06 2008-05-15 Panasonic Corporation Authentificateur
JPWO2008056613A1 (ja) * 2006-11-06 2010-02-25 パナソニック株式会社 認証装置
US8510608B2 (en) 2006-11-06 2013-08-13 Panasonic Corporation Generating PUF error correcting code using redundant hardware
JP2010511186A (ja) * 2006-11-28 2010-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ シードが与えられる任意数を生成する方法
JP2012510210A (ja) * 2008-11-21 2012-04-26 ベラヨ インク 非ネットワークrfid−puf認証
KR101360696B1 (ko) * 2008-11-21 2014-02-07 베라요, 인크. 비-네트워크 알에프아이디-피유에프 인증
JP2010226603A (ja) * 2009-03-25 2010-10-07 Sony Corp 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
US8850281B2 (en) 2009-05-12 2014-09-30 Empire Technology Development Llc Digital signatures
US9032476B2 (en) 2009-05-12 2015-05-12 Empire Technology Development Llc Secure authentication
JP2012529867A (ja) * 2009-06-17 2012-11-22 エンパイア テクノロジー ディベロップメント エルエルシー ハードウェアベースの暗号法
JP2013502876A (ja) * 2009-08-28 2013-01-24 エンパイア テクノロジー ディベロップメント エルエルシー 遠隔活動化および非活動化を含む集積回路の制御
WO2011138823A1 (ja) * 2010-05-06 2011-11-10 三菱電機株式会社 ビット列生成装置及びビット列生成方法
JP5335141B2 (ja) * 2010-06-07 2013-11-06 三菱電機株式会社 信号処理システム
WO2011155011A1 (ja) * 2010-06-07 2011-12-15 三菱電機株式会社 信号処理システム
JP2017208843A (ja) * 2010-12-09 2017-11-24 アイシーティーケー カンパニー リミテッド 識別キーを生成する装置及び方法
JP2014504403A (ja) * 2010-12-09 2014-02-20 アイシーティーケー カンパニー リミテッド 識別キーを生成する装置及び方法
JP2015201884A (ja) * 2010-12-09 2015-11-12 アイシーティーケー カンパニー リミテッド 識別キーを生成する装置及び方法
US9967089B2 (en) 2011-03-15 2018-05-08 Irdeto B.V. Change-tolerant method for generating identifier for collection of assets in computing environment using error-correction code scheme
JP2014515203A (ja) * 2011-03-15 2014-06-26 イルデト ビー ヴイ 誤り訂正符号方式を用いて計算環境における資産集合についての識別子を生成する変化許容力を有する方法
JP2015080252A (ja) * 2011-03-31 2015-04-23 アイシーティーケー カンパニー リミテッド デジタル値生成装置及び方法
US9729334B2 (en) 2011-03-31 2017-08-08 Ictk Co., Ltd Apparatus and method for generating digital value
JP2016181927A (ja) * 2011-03-31 2016-10-13 アイシーティーケー カンパニー リミテッド デジタル値生成装置及び方法
JP2016007033A (ja) * 2011-06-20 2016-01-14 ルネサスエレクトロニクス株式会社 暗号通信システムおよび暗号通信方法
JPWO2013080921A1 (ja) * 2011-12-01 2015-04-27 日本電気株式会社 デバイス固有情報生成出力装置、デバイス固有情報生成方法および生成プログラム
WO2013080921A1 (ja) * 2011-12-01 2013-06-06 日本電気株式会社 デバイス固有情報生成出力装置、デバイス固有情報生成方法および生成プログラム
JP2013218483A (ja) * 2012-04-06 2013-10-24 Toppan Printing Co Ltd Icチップ認証システム及び認証装置
JP2015525979A (ja) * 2012-08-10 2015-09-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation セキュア・デバイスを製造する方法およびセキュア・デバイス
US9722805B2 (en) 2012-12-11 2017-08-01 Mitsubishi Electric Corporation Integrated security device and signal processing method used for an integrated security device
JP5863994B2 (ja) * 2012-12-11 2016-02-17 三菱電機株式会社 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法
WO2014091559A1 (ja) * 2012-12-11 2014-06-19 三菱電機株式会社 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法
JP2016510498A (ja) * 2012-12-20 2016-04-07 クアルコム,インコーポレイテッド データ依存型回路経路応答を使用する一意でクローン化不能なプラットフォーム識別子
EP2897322A2 (en) 2014-01-20 2015-07-22 Fujitsu Limited Semiconductor integrated circuit, authentication system, and authentication method
US9729324B2 (en) 2014-01-20 2017-08-08 Fujitsu Limited Semiconductor integrated circuit, authentication system, and authentication method
JP2016092522A (ja) * 2014-10-31 2016-05-23 株式会社アドバンテスト 認証システム、認証方法およびサービス提供システム
JP2016111446A (ja) * 2014-12-03 2016-06-20 株式会社メガチップス メモリコントローラ、メモリコントローラの制御方法及びメモリシステム
JP2016174279A (ja) * 2015-03-17 2016-09-29 株式会社東芝 データ生成装置および認証システム
WO2017110483A1 (ja) * 2015-12-22 2017-06-29 ソニー株式会社 情報処理装置、情報処理方法、プログラム
US10841521B2 (en) 2015-12-22 2020-11-17 Sony Corporation Information processing device, information processing method, and program
JP2017228736A (ja) * 2016-06-24 2017-12-28 ウィンボンド エレクトロニクス コーポレーション 半導体装置、半導体装置の製造方法および固有情報の生成方法
JP2019530271A (ja) * 2016-08-08 2019-10-17 ミカリ, シルヴィオMICALI, Silvio 偽造防止
JP2018041951A (ja) * 2016-09-08 2018-03-15 マッパー・リソグラフィー・アイピー・ビー.ブイ. シリアルナンバーを有するセキュアチップ
US10218518B2 (en) 2016-09-12 2019-02-26 Kabushiki Kaisha Toshiba Authentication server, authentication system, and authentication method
JP2018157560A (ja) * 2017-03-17 2018-10-04 広州衆諾電子技術有限公司 チップの暗号化の方法
WO2018199541A1 (ko) * 2017-04-27 2018-11-01 김태욱 식별키 유용성 판별장치
US11270184B2 (en) 2017-04-27 2022-03-08 Silvio Micali Counterfeit prevention
US11741332B2 (en) 2017-04-27 2023-08-29 Silvio Micali Securing cryptographic keys
JP2019197394A (ja) * 2018-05-10 2019-11-14 ウィンボンド エレクトロニクス コーポレーション 固有データ生成装置、半導体装置および認証システム
US11983303B2 (en) 2018-05-10 2024-05-14 Winbond Electronics Corp. Intrinsic data generation device, semiconductor device and authentication system

Also Published As

Publication number Publication date
EP1497863A2 (en) 2005-01-19
US20090222672A1 (en) 2009-09-03
US7840803B2 (en) 2010-11-23
US20120033810A1 (en) 2012-02-09
EP2320344B1 (en) 2018-09-12
CA2482635C (en) 2014-09-16
WO2003090259A2 (en) 2003-10-30
US8386801B2 (en) 2013-02-26
US7904731B2 (en) 2011-03-08
US20070183194A1 (en) 2007-08-09
JP2011123909A (ja) 2011-06-23
US20060221686A1 (en) 2006-10-05
AU2003221927A1 (en) 2003-11-03
JP4733924B2 (ja) 2011-07-27
EP2302555B1 (en) 2016-10-05
US20060271792A1 (en) 2006-11-30
JP5335829B2 (ja) 2013-11-06
EP2302555A2 (en) 2011-03-30
CA2482635A1 (en) 2003-10-30
WO2003090259A3 (en) 2004-07-08
KR20040102110A (ko) 2004-12-03
US20030204743A1 (en) 2003-10-30
EP2320344A3 (en) 2011-07-06
EP2302555A3 (en) 2011-08-10
US7818569B2 (en) 2010-10-19
US7681103B2 (en) 2010-03-16
AU2003221927A8 (en) 2003-11-03
EP2320344A2 (en) 2011-05-11
US7757083B2 (en) 2010-07-13
US20060271793A1 (en) 2006-11-30
KR101092039B1 (ko) 2011-12-12

Similar Documents

Publication Publication Date Title
JP4733924B2 (ja) 集積回路の認証
US10742421B1 (en) Methods and systems for anonymous hardware attestation
US10735205B1 (en) Methods and systems for implementing an anonymized attestation chain
Gassend Physical random functions
US20200112442A1 (en) Systems, devices, and methods for recording a digitally signed assertion using an authorization token
Gassend et al. Controlled physical random functions
US7839278B2 (en) Volatile device keys and applications thereof
JP3676735B2 (ja) 2つのデータ処理ユニットの相互認証を行なう方法および装置
KR20180102627A (ko) 프라이버시-보존, 상호 puf-기반 인증 프로토콜
US20050283826A1 (en) Systems and methods for performing secure communications between an authorized computing platform and a hardware component
CN110710155A (zh) 渐进式密钥加密算法
Sami et al. POCA: First power-on chip authentication in untrusted foundry and assembly
Halak et al. Hardware-based security applications of physically unclonable functions
Rullo et al. PUF-Based Authentication-Oriented Architecture for Identification Tags
Plusquellic PUF-based authentication
Chi FPGA Implementation of Secure Protocol for Hardware Authentication and Activation
Feller et al. Requirements for Trustworthiness
Quadir Anti-Reverse Engineering Techniques for Integrated Circuits and Electronics Hardware
WO2006053280A2 (en) Optical machine locking method and system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090916

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110121

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110328

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4733924

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term