JP6167876B2 - 電子回路、電子機器及び認証システム - Google Patents

電子回路、電子機器及び認証システム Download PDF

Info

Publication number
JP6167876B2
JP6167876B2 JP2013246421A JP2013246421A JP6167876B2 JP 6167876 B2 JP6167876 B2 JP 6167876B2 JP 2013246421 A JP2013246421 A JP 2013246421A JP 2013246421 A JP2013246421 A JP 2013246421A JP 6167876 B2 JP6167876 B2 JP 6167876B2
Authority
JP
Japan
Prior art keywords
output
input
latch circuit
random number
latch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013246421A
Other languages
English (en)
Other versions
JP2015106172A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013246421A priority Critical patent/JP6167876B2/ja
Priority to US14/521,616 priority patent/US9384682B2/en
Publication of JP2015106172A publication Critical patent/JP2015106172A/ja
Application granted granted Critical
Publication of JP6167876B2 publication Critical patent/JP6167876B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0375Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics

Description

本発明は、電子回路、電子機器及び認証システムに関する。より詳細には、本発明は、それぞれが乱数又は定数の何れかを出力する複数のRS(リセット・セット)ラッチ回路(SRラッチ回路とも称される)を含む電子回路、電子機器及び認証システムに関する。
情報化社会の発展に伴って、電子決済及び住民基本台帳ネットワーク等の情報ネットワークを利用したサービスが普及している。これらのサービスを安全に運用するために情報セキュリティ技術が利用されている。情報セキュリティの基盤技術として使用される暗号方式として公開鍵暗号方式及び共通鍵暗号方式の2つの暗号方式が知られている。共通鍵暗号方式は、暗号化及び復号化で同一の秘密鍵を使用する方式である。共通鍵暗号方式では、秘密鍵を利用者以外の第三者に秘密の情報とすることで安全性が担保される。一方、公開鍵暗号方式は、暗号化のときと復号化のときとで異なる鍵を用いる方式である。公開鍵暗号方式では、暗号化のときに使用される公開鍵を一般に公開する代わりに、復号化するときの秘密鍵を利用者以外の第三者に秘密の情報とすることで安全性が担保される。
公開鍵暗号方式及び共通鍵暗号方式の何れの暗号方式においても、暗号方式の安全性は、秘密鍵の安全性に依存しており、秘密鍵が第三者に知られていた場合には暗号方式の安全性は担保されない。秘密鍵が第三者に知られる可能性を低くするために、秘密鍵を乱数で生成することが知られている。
乱数は、擬似乱数及び物理乱数の2つの種類に大別される。擬似乱数は、確定的な計算によって作り出された数列の一部分であり、初期値(種、又はseedとも称される)を所定の擬似乱数生成アルゴリズムに従って演算することにより生成される。擬似乱数は、擬似乱数生成アルゴリズムと初期値の両方を攻撃者に知られた場合に予測可能である。したがって擬似乱数を用いると攻撃者に秘密鍵を予測されるおそれがある。一方、物理乱数は、電子回路を形成する素子で出力する熱雑音等のランダムな物理現象を利用して乱数を生成するものである。物理乱数は、再現性がなく予測不可能であり、物理乱数を使用して秘密鍵を生成することにより安全性が高くなる。また、電子回路のメタステーブルを利用した物理乱数生成器が知られている。電子回路のメタステーブルを利用した物理乱数生成器は、回路規模が大きくなく且つ予測困難な物理乱数を生成することができる。
電子決済及び住民基本台帳ネットワーク等のサービスにおけるエンドユーザがスマートカードを使用することが知られている。スマートカードは、ICチップを搭載したカードであり、ICチップ内部のメモリ領域に秘密鍵が格納されている。スマートカードに搭載されるICチップが、暗号化処理、復号化処理、デジタル署名処理及びデジタル認証処理等を実行することが知られており、これらの処理を実行するとき、秘密鍵が使用される。スマートカードなどの小型機器で使用可能なハードウェアリソースは制限されており、且つ利用可能な電力も制限されるので、消費電力が低い乱数生成器を搭載することが好ましい。
準安定状態でフリップフロップを動作させるステップと、準安定状態に基づいてランダムビットを生成するステップと、を備える乱数生成方法が知られている。また、クロック信号とランダム信号を入力し、ランダム信号の変化に応じてクロック信号のカウント値を出力するカウンタ回路と、ランダム信号の変化に応じてカウント値をラッチし乱数信号を出力するラッチ回路とを備える乱数生成回路が知られている。
また、複数の乱数出力回路と、排他的論理和回路と、乱数判定部と、乱数生成指示禁止部を有する乱数生成器が知られている。乱数生成器の排他的論理和回路は、複数の乱数出力回路の各々の出力の排他的論理和を得る。また、乱数生成器の乱数判定部は、複数の乱数出力回路の各々に関して、乱数の生成の指示に応じて生成される出力が乱数であるか否かの判定を行う。そして、乱数生成器の乱数生成指示禁止部は、複数の乱数出力回路のうち指示に応じて生成される出力が乱数でないと乱数判定部が判定した乱数出力回路に対する乱数の生成の指示を禁止する。
図1は、乱数生成器の乱数出力回路として使用されるRSラッチ回路の一例の回路ブロック図である。
RSラッチ回路10は、第1NAND素子101と、第2NAND素子102と、入力端子103と、出力端子104とを有する。第1NAND素子101の第1入力端子及び第2NAND素子102の第2入力端子は入力端子103に接続され、第1NAND素子101の第2入力端子は第2NAND素子102の出力端子に接続される。第2NAND素子102の第1入力端子は、第1NAND素子101の出力端子及び出力端子104に接続される。
RSラッチ回路10の入力端子103にLレベルの信号が入力されるとき、出力端子104から出力される信号はHレベルで安定した状態になる。RSラッチ回路10の入力端子103に入力される信号がLレベル信号からHレベルに遷移すると、第1NAND素子101の出力信号と第2NAND素子102の出力信号とが衝突して、RSラッチ回路10は不安定な状態である「メタステーブル」になる。RSラッチ回路10がメタステーブルになった後に、出力端子104の信号はLレベル又はHレベルの何れかのレベルで安定状態になる。第1NAND素子101の遅延時間と第2NAND素子102の遅延時間が略同一である場合、出力端子104から出力される信号がLレベルになる確率とHレベルになる確率とは略等くなる。しかしながら、第1NAND素子101の駆動能力と第2NAND素子102の駆動能力及び端子間を接続する配線の配線幅等が相違するので、メタステーブルの後の出力端子104の信号レベルはRSラッチ回路10ごとに相違する。例えば、第1NAND素子101の駆動能力が第2NAND素子102の駆動能力が相違する場合、メタステーブルの後のRSラッチ回路10の出力端子104の信号レベルはLレベル又はHレベルの何れか一方を継続的に出力する可能性が高い。また、第1NAND素子101の駆動能力が第2NAND素子102の駆動能力及び端子間配線の配線幅が略等しい場合、メタステーブルの後のRSラッチ回路10の出力端子104の信号レベルは不確定になる。
RSラッチ回路10の入力端子103に所定の周期でLレベルとHレベルとを繰り返すクロック信号CKが入力されると、RSラッチ回路10は、出力信号によって3つの種類に分類される。第1の種類は、クロック信号CKの立ち上がりエッジに応じて、出力端子104の信号レベルをHレベル又はLレベルに変化させるRSラッチ回路10である。第1の種類は、メタステーブルになった後に、LレベルとHレベルの混合ビット列、すなわち乱数を出力するRSラッチ回路10である。第2の種類は、メタステーブルになった後に、出力端子104の信号レベルをLレベルに維持するRSラッチ回路10である。そして、第3の種類は、メタステーブルになった後に、出力端子104の信号レベルをHレベルに維持するRSラッチ回路10である。第2の種類のRSラッチ回路10及び第3の種類のRSラッチ回路10は、クロック信号CKのHレベル信号が入力されている間、Hレベル又はLレベルの信号を出力し続けるため、乱数出力回路として機能しない。本明細書では、RSラッチ回路10がメタステーブルになった後に、RSラッチ回路10の出力端子104の信号レベルがLレベル又はHレベルの一定の信号レベルになるときに、RSラッチ回路10が定数を出力するという。また、RSラッチ回路10がメタステーブルになった後に、RSラッチ回路10の出力端子104の信号レベルがLレベル及びHレベルの双方の信号レベルになり得るときに、RSラッチ回路10が乱数を出力するという。
また、正規品の解析等の結果を用いて製造された正規品と同等の機能を有するクローン品への対策として、正規品に認証機能を付与することが知られている。正規品に付与される認証機能を実現する手段としてPUF(Physically Unclonable Function、物理的クローン作製不能機能)がある。PUFの1つであるバタフライ(Butterfly)型PUF(以下、ラッチPUFとも称する)では、図1に示すRSラッチ回路10と同一の構成を有する回路を基本回路構成として使用する。
図2は、ラッチPUFの回路ブロック図である。
ラッチPUF200は、複数のRSラッチ回路10−1〜10−Nを有する。ラッチPUF200は、Hレベルの信号が入力端子103に入力されメタステーブルになった後に、RSラッチ回路10の出力端子104から出力されるレベル又はHレベルの定数の出力信号を固体別情報として使用する。一例では、不図示の個体別情報生成部が、RSラッチ回路10のうち出力値が一定であるものを、RSラッチ回路10それぞれに定義されている順序の情報に基づいて、配列して個体別情報を生成する。
図2に示す例では、RSラッチ回路10−1及び10−Nの出力信号は所定のクロック周期に亘ってメタステーブルになった後にLレベルの信号を出力し続けているので、Lレベルの信号を生成する個体別情報生成回路として使用される。また、RSラッチ回路10−2の出力信号は所定のクロック周期に亘ってメタステーブルになった後にHレベルの信号を出力し続けているので、Hレベルの信号を生成する個体別情報生成回路として使用される。しかしながら、RSラッチ回路10−3及び10−(N−1)の出力信号は所定のクロック周期の間、Lレベル及びHレベルの双方の信号を出力して乱数を出力している。乱数を出力しているRSラッチ回路10−3及び10−(N−1)を個体別情報生成回路として使用すると、装置ごとに不変であるべき固体別情報が変動することになり、固体別情報の再現性が失われてしまう。固ラッチPUF200が生成する固体別情報の再現性が失われるので、RSラッチ回路10−3及び10−(N−1)を個体別情報生成回路として使用することは好ましくない。
また、定数を出力するRSラッチ回路、及び乱数を出力するRSラッチ回路の双方を使用するラッチPUFが知られている。
図3は、定数を出力するRSラッチ回路、及び乱数を出力するRSラッチ回路の双方を使用するラッチPUFの回路ブロック図である。
ラッチPUF300は、RSラッチ回路10−1〜10−6と、RSラッチ回路10−1〜10−6の出力信号をそれぞれ判定する判定回路301−1〜301−6とを有する。RSラッチ回路10−1〜10−6の入力端子103には同一の周期を有するクロック信号が入力される。判定回路301−1〜301−6は、クロック信号が入力されているときにおける、RSラッチ回路10−1〜10−6のメタステーブルの後の出力信号を所定のクロック周期に亘って観測する。メタステーブルの後のRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期に亘ってLレベルであるとき、判定回路301−1は、2つのLレベルの信号、すなわち「00」を出力する。メタステーブルの後のRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期に亘ってHレベルであるとき、判定回路301−1は、2つのHレベルの信号、すなわち「11」を出力する。観測した所定のクロック周期の間に乱数を生成し、且つ生成された乱数の中でLレベルの信号が多いとき、判定回路301−1は、Lレベル及びHレベルの信号、すなわち「01」を出力する。観測した所定のクロック周期の間に乱数を生成し、且つ生成された乱数の中でHレベルの信号が多いとき、判定回路301−1は、Hレベル及びLレベルの信号、すなわち「10」を出力する。判定回路301−2〜301−6はそれぞれ、RSラッチ回路10−1〜10−6からの出力に応じて、判定回路301−1と同様に機能する。ラッチPUF300では、定数を出力するRSラッチ回路、及び乱数を出力するRSラッチ回路の双方を使用して固体別情報が生成される。ラッチPUF300は、RSラッチ回路10−1〜10−6の出力を使用して信号列「001011011100」を有するID[11:0]を生成する。
国際公開第2011/117929号 特表2003−526151号公報 特開2004−127283号公報 国際公開第2012/001796号 特開2013−131867号公報
しかしながら、RSラッチ回路を使用する乱数生成器では、乱数を出力するRSラッチ回路の比率が低いため、乱数の品質(エントロピー)が低くなるという課題があった。実装するRSラッチ回路の個数を増加させることによって、乱数の品質を向上させることが可能であるが、RSラッチ回路の個数を増加させるとRSラッチ回路を含む乱数生成器の回路規模が大きくなり、好ましくない。
また、RSラッチ回路から出力される定数を固体別情報として使用するラッチPUFでは、乱数を出力するRSラッチ回路は、再現性がないため固体別情報として使用されていないという課題があった。また、ラッチPUF300のように乱数を出力するRSラッチ回路をラッチPUFで使用する場合でも、乱数を出力するRSラッチ回路の数と、定数を出力するRSラッチ回路の数との差が大きくなり、生成される固体別情報の品質が低くなるおそれがある。
1つの側面では、乱数を出力するRSラッチ回路又は定数を出力するRSラッチ回路の比率を変化させることが可能な電子回路を提供することを目的とする。
上記課題を解決するために、電子回路は、入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路と、判定部と、選択部とを有する。判定部は、複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定する。選択部は、判定部の判定結果に応じて、複数のRSラッチ回路のそれぞれに入力するクロック信号を維持するか、周波数が異なる他のクロック信号に変更するか、又は出力される信号を固定する信号に変更するかを選択する。
1実施形態によれば、乱数を出力するRSラッチ回路又は定数を出力するRSラッチ回路の比率を変化させることが可能な電子回路を提供することができる。
RSラッチ回路の一例の回路ブロック図である。 従来のラッチPUFの一例の回路ブロック図である。 従来のラッチPUFの他の例の回路ブロック図である。 第1実施形態に係る電子回路の回路ブロック図である。 図4に示す乱数判定回路の処理フローを示すフローチャートである。 第2実施形態に係る電子回路の回路ブロック図である。 図6に示すラッチPUFの処理フローを示すフローチャートである。 第3実施形態に係る電子回路の回路ブロック図である。 図8に示すラッチPUFの処理フローを示すフローチャートである。 図4に示す乱数判定回路を搭載した電子機器の一例の回路ブロック図である。 図10に示す電子機器の暗号化処理フローを示すフローチャートである。 図6に示すラッチPUFを搭載した電子機器を含む認証システムの一例の回路ブロック図である。 図12に示す認証システムの認証処理フローを示すフローチャートである。 図8に示すラッチPUFの処理フローの他の例を示すフローチャートである。
以下図面を参照して、本発明に係る電子回路、電子機器及び認証システムについて説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されない。
実施形態に係る電子回路、電子機器及び認証システムについて説明する前に、従来の乱数生成器及びラッチPUFの課題についてより詳細に説明する。
RSラッチ回路を使用する乱数生成器には、2つの課題があった。第1の課題は、乱数を出力しているか否かにかかわらずRSラッチ回路の入力端子にクロック信号を入力し続けるため、乱数生成器の消費電力が増加するという課題である。第2の課題は、RSラッチ回路の数に対する乱数を出力するRSラッチ回路の比率が低いという課題である。
第1の課題は、複数のRSラッチ回路のうち該指示に応じて生成される出力が乱数でないと乱数判定部が判定したRSラッチに対する乱数の生成の指示を禁止することにより解決される。しかしながら、第2の課題は、未だ解決されていない。
RSラッチ回路の数に対する乱数を出力するRSラッチ回路の比率が低いという第2の課題についてより詳細に説明する。本発明の発明者らが実施した試験では、FPGA(Field-Programmable Gate Array)に搭載された64個のRSラッチ回路の中で、4つのRSラッチ回路のみが乱数を生成していた。すなわち、RSラッチ回路の中で乱数を出力するRSラッチ回路の比率は、1/16程度であり、全体の約15/16という大部分のRSラッチ回路が乱数ではなく定数を出力していた。搭載されるRSラッチ回路の数が少ない場合、生成される乱数の品質が低くなる可能性があり、乱数の品質を保証するために、多くのRSラッチ回路を搭載すると、乱数生成器の回路規模が大きくなる。回路規模の増大を伴うことなく、乱数の品質を保証するために、乱数を出力するRSラッチ回路の比率を高くすることが考えられる。しかしながら、半導体装置に搭載された後に、乱数を出力するRSラッチ回路を増加させることは容易ではない。乱数を出力するRSラッチ回路の比率は、RSラッチ回路が搭載される半導体装置の種類、プロセス等の物理的特性及び半導体装置を製造するときの環境要因等によって決定されるためである。
また、RSラッチ回路をラッチPUFで使用する場合、乱数を出力するRSラッチ回路の出力は、再現性がないため固体別情報として使用することができず、ラッチPUFでは乱数を出力するRSラッチ回路は不要な回路となる。
また、乱数を出力するRSラッチ回路をラッチPUFで使用する場合、乱数を出力するRSラッチ回路の数と、定数を出力するRSラッチ回路の数との差が大きくなり、生成される固体別情報の品質が低くなるおそれがある。
第1実施形態では、乱数を出力するRSラッチ回路の比率を大きくすることにより、RSラッチ回路を搭載した乱数生成器が生成する乱数の品質を向上させることを目的とする。また、第2実施形態では、定数を出力するRSラッチ回路の比率を大きくすることにより、RSラッチ回路を搭載したラッチPUFが生成する固体別情報のパターン数を増加させることを目的とする。第3実施形態では、乱数を出力するRSラッチ回路の比率、又は定数を出力するRSラッチ回路の比率を大きくすることにより、乱数を出力するRSラッチ回路を搭載したラッチPUFが生成する固体別情報の品質を向上させることを目的とする。
本発明者等の鋭意研鑽の結果、RSラッチ回路の入力端子に入力されるクロック信号の周波数を変動させることにより、乱数を出力するRSラッチ回路、又は定数を出力するRSラッチ回路の比率が変化することを見出した。実施形態では、この知見に基づき乱数生成器又はラッチPUFに使用可能な電子回路、電子機器及び認証システムを提供する。
図4は、第1実施形態に係る電子回路である乱数生成器の回路ブロック図である。
乱数生成器1は、複数のRSラッチ回路10−1〜10−Nと、出力選択回路20と、複数のフリップフロップ30−1〜30−Nと、複数の選択部40−1〜40−Nと、乱数判定回路50と、排他的論理和素子60とを有する。
複数のRSラッチ回路10−1〜10−Nはそれぞれ、第1NAND素子101と、第2NAND素子102と、入力端子103と、出力端子104とを有する。複数のRSラッチ回路10−1〜10−Nの動作は、図1に示すRSラッチ回路10を参照して既に説明しているので、省略する。
出力選択回路20は、乱数判定回路50から送信される出力選択指示信号O_SELに対応する出力選択指示に従って、複数のRSラッチ回路10−1〜10−Nそれぞれの出力端子104から出力される出力信号の何れか1つを選択する。出力選択回路20は、選択した信号を乱数判定回路50に送信する。
複数のフリップフロップ30−1〜30−Nはそれぞれ、乱数判定回路50から送信される入力選択指示信号I_SELに対応する入力選択指示に従って、複数の選択部40−1〜40−Nそれぞれに選択する入力信号を示す入力選択指示信号S_SELを送信する。フリップフロップ30−1は選択部40−1に選択指示信号S_SELを送信し、フリップフロップ30−2は選択部40−2に選択指示信号S_SELを送信し、フリップフロップ30−Nは選択部40−Nに選択指示信号S_SELを送信する。
複数の選択部40−1〜40−Nはそれぞれ、複数のフリップフロップ30−1〜30−Nそれぞれから送信される選択指示信号S_SELに対応する選択指示に従って、RSラッチ回路10−1〜10−Nそれぞれに入力される入力信号を選択する。複数の選択部40−1〜40−Nの第1信号入力端子にはそれぞれ第1クロック信号が入力され、複数の選択部40−1〜40−Nの第2信号入力端子にはそれぞれ第1クロック信号よりも周波数が低い第2クロック信号が入力される。複数の選択部40−1〜40−Nの第3信号入力端子にはそれぞれLレベルの信号が入力される。選択部40−1が第1入力端子に入力される第1クロック信号を選択すると、RSラッチ回路10−1の入力端子103には第1クロック信号が入力される。選択部40−1が第2入力端子に入力される第2クロック信号を選択すると、RSラッチ回路10−1の入力端子103には第2クロック信号が入力される。選択部40−1が第3入力端子に入力されるLレベルの信号を選択すると、RSラッチ回路10−1の入力端子103にはLレベルの信号が入力され、RSラッチ回路10−1の出力信号はHレベルに固定され、RSラッチ回路10−1はゲーティングされる。選択部40−2が第1入力端子に入力される第1クロック信号を選択すると、RSラッチ回路10−2の入力端子103には第1クロック信号が入力される。選択部40−2が第2入力端子に入力される第2クロック信号を選択すると、RSラッチ回路10−2の入力端子103には第2クロック信号が入力される。選択部40−2が第3入力端子に入力されるLレベルの信号を選択すると、RSラッチ回路10−2の入力端子103にはLレベルの信号が入力され、RSラッチ回路10−2の出力信号はHレベルに固定され、RSラッチ回路10−2はゲーティングされる。選択部40−Nが第1入力端子に入力される第1クロック信号を選択すると、RSラッチ回路10−Nの入力端子103には第1クロック信号が入力される。選択部40−Nが第2入力端子に入力される第2クロック信号を選択すると、RSラッチ回路10−Nの入力端子103には第2クロック信号が入力される。選択部40−Nが第3入力端子に入力されるLレベルの信号を選択すると、RSラッチ回路10−Nの入力端子103にはLレベルの信号が入力され、RSラッチ回路10−Nの出力信号はHレベルに固定され、RSラッチ回路10−Nはゲーティングされる。
乱数判定回路50は、複数のRSラッチ回路10−1〜10−Nそれぞれの出力信号に基づいて、複数のフリップフロップ30−1〜30−N及び複数の選択部40−1〜40−Nを介して、複数のRSラッチ回路10−1〜10−Nそれぞれを制御する。具体的には、乱数判定回路50は、複数のRSラッチ回路10−1〜10−Nそれぞれに第1クロック信号が入力されたときに、第1クロック信号が入力されたRSラッチ回路10−1〜10−Nが乱数を出力しているか定数を出力しているかを判定する。第1クロック信号が入力されたRSラッチ回路10−1〜10−Nが乱数を出力していると判定したとき、乱数判定回路50は、RSラッチ回路10−1〜10−Nの入力信号として第1クロック信号を決定する。第1クロック信号が入力されたRSラッチ回路10−1〜10−Nが定数を出力していると判定したとき、乱数判定回路50は、RSラッチ回路10−1〜10−Nに入力される信号を第1クロック信号から第2クロック信号に変更する。第2クロック信号が入力されたRSラッチ回路10−1〜10−Nが乱数を出力していると判定したとき、乱数判定回路50は、RSラッチ回路10−1〜10−Nの入力信号として第2クロック信号を決定する。第1クロック信号及び第2クロック信号がそれぞれ入力された場合に共に、RSラッチ回路10−1〜10−Nが定数を出力していると判定されたとき、乱数判定回路50は、RSラッチ回路10−1〜10−Nの入力信号としてLレベルの信号を決定する。RSラッチ回路10−1〜10−Nは、Lレベルの信号が入力されるとゲーティングされる。乱数判定回路50は、周波数が低い第2クロック信号に同期して動作する。
排他的論理和素子60は、複数のRSラッチ回路10−1〜10−Nの出力の排他的論理和を演算して出力する排他的論理和回路である。
図5は、乱数判定回路50の処理フローを示すフローチャートである。
まず、ステップS101において、乱数判定回路50は、複数の選択部40−1〜40−Nが第3信号入力端子に入力されるLレベルの信号を選択するように、複数のフリップフロップ30−1〜30−Nに指示する。複数の選択部40−1〜40−Nが第3信号入力端子に入力されるLレベルの信号を選択することにより、RSラッチ回路10−1〜10−Nの出力信号は全てHレベル信号で固定され、RSラッチ回路10−1〜10−Nはゲーティングされる。
次いで、ステップS102において、乱数判定回路50は、RSラッチ回路10−1が選択されることを示す出力選択指示信号O_SELを出力選択回路20に送信する。出力選択指示信号O_SELを受信した出力選択回路20は、RSラッチ回路10−1の出力信号を選択する。
次いで、ステップS103において、乱数判定回路50は、選択部40−1が第1信号入力端子に入力される第1クロック信号を選択することを示す入力選択指示信号I_SELをフリップフロップ30−1に送信する。入力選択指示信号I_SELを受信したフリップフロップ30−1は、対応する選択指示信号S_SELを選択部40−1に送信する。選択指示信号S_SELを受信した選択部40−1は、第1信号入力端子に入力される第1クロック信号をRSラッチ回路10−1の入力信号として選択する。
次いで、ステップS104において、乱数判定回路50は、RSラッチ回路10−1の入力端子103に第1クロック信号が入力されているときにおける、RSラッチ回路10−1のメタステーブルの後の出力信号を所定のクロック周期に亘って観測する。乱数判定回路50は、観測されたRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期の間に変化しているか、又は観測した所定のクロック周期に亘って一定であるかを判定する。RSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期の間に変化しているとき、乱数判定回路50は、RSラッチ回路10−1は乱数を出力していると判定する。一方、RSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期に亘って一定であるとき、乱数判定回路50は、RSラッチ回路10−1は定数を出力していると判定する。観測されたRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期の間に変化していると乱数判定回路50が判定した場合、処理はステップS105に進む。また、観測されたRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期に亘って一定であると乱数判定回路50が判定した場合、処理はステップS106に進む。
処理がステップS105に進むと、乱数判定回路50は、RSラッチ回路10−1の入力信号として第1クロック信号を決定する。次いで処理はステップS111に進む。
処理がステップS106に進むと、乱数判定回路50は、選択部40−1が第2信号入力端子に入力される第2クロック信号を選択することを示す入力選択指示信号I_SELをフリップフロップ30−1に送信する。入力選択指示信号I_SELを受信したフリップフロップ30−1は、対応する選択指示信号S_SELを選択部40−1に送信する。選択指示信号S_SELを受信した選択部40−1は、第2信号入力端子に入力される第2クロック信号をRSラッチ回路10−1の入力信号として選択する。
次いで、ステップS107において、乱数判定回路50は、RSラッチ回路10−1の入力端子103に第2クロック信号が入力されているときにおける、RSラッチ回路10−1のメタステーブルの後の出力信号を所定のクロック周期に亘って観測する。観測されたRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期の間に変化していると乱数判定回路50が判定した場合、処理はステップS108に進む。また、観測されたRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期に亘って一定であると乱数判定回路50が判定した場合、処理はステップS109に進む。
処理がステップS108に進むと、乱数判定回路50は、RSラッチ回路10−1の入力信号として第2クロック信号を決定する。次いで処理はステップS111に進む。
処理がステップS109に進むと、乱数判定回路50は、選択部40−1が第3信号入力端子に入力されるLレベルの信号を選択することを示す入力選択指示信号I_SELをフリップフロップ30−1に送信する。入力選択指示信号I_SELを受信したフリップフロップ30−1は、対応する選択指示信号S_SELを選択部40−1に送信する。選択指示信号S_SELを受信した選択部40−1は、第3信号入力端子に入力されるLレベルの信号をRSラッチ回路10−1の入力信号として選択する。
次いで、ステップS110において、乱数判定回路50は、RSラッチ回路10−1の入力信号としてLレベルの信号を決定する。次いで処理はステップS111に進む。
処理がステップS111に進むと、乱数判定回路50は、RSラッチ回路10−1〜10−Nの全てについて判定処理を実施したか否かを判定する。乱数判定回路50がRSラッチ回路10−1〜10−Nの全てについて判定処理を実施していないと判定すると処理はステップS102に戻る。乱数判定回路50がRSラッチ回路10−1〜10−Nの全てについて判定処理を実施したと判定すると処理は終了する。ここでは、乱数判定回路50は、RSラッチ回路10−1のみについて判定処理を実施しただけなので、処理はステップS102に戻り、RSラッチ回路10−2についてステップS102〜S110の処理を実行する。そして、RSラッチ回路10−2から順にRSラッチ回路10−Nまで、ステップS102〜S110の処理を実行すると処理は終了する。
図6は、第2実施形態に係る電子回路であるラッチPUFの回路ブロック図である。
ラッチPUF2は、複数のRSラッチ回路10−1〜10−Nと、出力選択回路20と、複数のフリップフロップ30−1〜30−Nと、複数の選択部40−1〜40−Nと、乱数判定回路70と、個体別情報生成部90とを有する。ラッチPUF2は、乱数判定回路50の代わりに乱数判定回路70が配置されることが乱数生成器1と相違する。また、ラッチPUF2は、排他的論理和素子60が配置されないことが乱数生成器1と相違する。また、ラッチPUF2は、個体別情報生成部90が配置されることが乱数生成器1と相違する。
乱数判定回路70は、複数のRSラッチ回路10−1〜10−Nそれぞれの出力信号に基づいて、複数のフリップフロップ30−1〜30−N及び複数の選択部40−1〜40−Nを介して、複数のRSラッチ回路10−1〜10−Nそれぞれを制御する。具体的には、乱数判定回路70は、複数のRSラッチ回路10−1〜10−Nそれぞれに第1クロック信号が入力されたときに、第1クロック信号が入力されたRSラッチ回路10−1〜10−Nが乱数を出力しているか定数を出力しているかを判定する。第1クロック信号が入力されたRSラッチ回路10−1〜10−Nが定数を出力していると判定したとき、乱数判定回路70は、RSラッチ回路10−1〜10−Nの入力信号として第1クロック信号を決定する。第1クロック信号が入力されたRSラッチ回路10−1〜10−Nが乱数を出力していると判定したとき、乱数判定回路50は、RSラッチ回路10−1〜10−Nに入力される信号を第1クロック信号から周波数がより低い第2クロック信号に変更する。第2クロック信号が入力されたRSラッチ回路10−1〜10−Nが定数を出力していると判定したとき、乱数判定回路50は、RSラッチ回路10−1〜10−Nの入力信号として第2クロック信号を決定する。第1クロック信号及び第2クロック信号がそれぞれ入力された場合に共に、RSラッチ回路10−1〜10−Nが乱数を出力していると判定されたとき、乱数判定回路50は、RSラッチ回路10−1〜10−Nの入力信号としてLレベルの信号を決定する。RSラッチ回路10−1〜10−Nは、Lレベルの信号が入力されるとゲーティングされる。乱数判定回路70は、周波数が低い第2クロック信号に同期して動作する。
個体別情報生成部90は、判定回路301−1〜301−Nの出力を、判定回路301−1〜301−Nそれぞれに定義されている順序の情報に基づいて配列して、個体別情報を生成する。
図7は、乱数判定回路70の処理フローを示すフローチャートである。
ステップS201〜S203において、乱数判定回路70は、乱数判定回路50のステップS101〜S103における処理と同様な処理を実行する。
次いで、ステップS204において、乱数判定回路70は、RSラッチ回路10−1の入力端子103に第1クロック信号が入力されているときにおける、RSラッチ回路10−1のメタステーブルの後の出力信号を所定のクロック周期に亘って観測する。乱数判定回路70は、観測されたRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期の間に変化しているか、又は観測した所定のクロック周期に亘って一定であるかを判定する。RSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期に亘って一定であるとき、乱数判定回路50は、RSラッチ回路10−1は定数を出力していると判定する。一方、RSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期の間に変化しているとき、乱数判定回路70は、RSラッチ回路10−1は乱数を出力していると判定する。観測されたRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期に亘って一定であると乱数判定回路50が判定した場合、処理はステップS205に進む。また、観測されたRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期の間に変化していると乱数判定回路50が判定した場合、処理はステップS206に進む。
処理がステップS205に進むと、乱数判定回路70は、RSラッチ回路10−1の入力信号として第1クロック信号を決定する。次いで処理はステップS211に進む。
処理がステップS206に進むと、乱数判定回路70は、選択部40−1が第2信号入力端子に入力される第2クロック信号を選択することを示す入力選択指示信号I_SELをフリップフロップ30−1に送信する。入力選択指示信号I_SELを受信したフリップフロップ30−1は、対応する選択指示信号S_SELを選択部40−1に送信する。選択指示信号S_SELを受信した選択部40−1は、第2信号入力端子に入力される第2クロック信号をRSラッチ回路10−1の入力信号として選択する。
次いで、ステップS207において、乱数判定回路70は、RSラッチ回路10−1の入力端子103に第2クロック信号が入力されているときにおける、RSラッチ回路10−1のメタステーブルの後の出力信号を所定のクロック周期に亘って観測する。観測されたRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期に亘って一定であると乱数判定回路50が判定した場合、処理はステップS208に進む。また、観測されたRSラッチ回路10−1の出力信号の信号レベルが、観測した所定のクロック周期の間に変化していると乱数判定回路50が判定した場合、処理はステップS209に進む。
処理がステップS208に進むと、乱数判定回路70は、RSラッチ回路10−1の入力信号として第2クロック信号を決定する。次いで処理はステップS211に進む。
処理がステップS209に進むと、乱数判定回路70は、選択部40−1が第3信号入力端子に入力されるLレベルの信号を選択することを示す入力選択指示信号I_SELをフリップフロップ30−1に送信する。入力選択指示信号I_SELを受信したフリップフロップ30−1は、対応する選択指示信号S_SELを選択部40−1に送信する。選択指示信号S_SELを受信した選択部40−1は、第3信号入力端子に入力されるLレベルの信号をRSラッチ回路10−1の入力信号として選択する。
次いで、ステップS210において、乱数判定回路70は、RSラッチ回路10−1の入力信号としてLレベルの信号を決定する。次いで処理はステップS211に進む。
処理がステップS211に進むと、乱数判定回路70は、RSラッチ回路10−1〜10−Nの全てについて判定処理を実施したか否かを判定する。乱数判定回路70がRSラッチ回路10−1〜10−Nの全てについて判定処理を実施していないと判定すると処理はステップS202に戻る。乱数判定回路70がRSラッチ回路10−1〜10−Nの全てについて判定処理を実施したと判定すると処理は終了する。ここでは、乱数判定回路70は、RSラッチ回路10−1のみについて判定処理を実施しただけなので、処理はステップS202に戻り、RSラッチ回路10−2についてステップS202〜S210の処理を実行する。そして、RSラッチ回路10−2から順にRSラッチ回路10−Nまで、ステップS202〜S210の処理を実行すると処理は終了する。
乱数判定回路70の処理が終了した後、個体別情報生成部90が、RSラッチ回路10−1〜10−Nの出力を取得する。個体別情報生成部90は、ゲーティングされているRSラッチ回路以外のRSラッチ回路の出力を、RSラッチ回路10それぞれに定義されている順序の情報に基づいて配列して、個体別情報を生成する。
図8は、第3実施形態に係る電子回路であるラッチPUFの回路ブロック図である。
ラッチPUF3は、複数のRSラッチ回路10−1〜10−Nと、出力選択回路20と、複数のフリップフロップ30−1〜30−Nと、複数の選択部40−1〜40−Nと、乱数判定回路80と、個体別情報生成部90とを有する。また、ラッチPUF3は、判定回路301−1〜301−Nを更に有する。ラッチPUF3は、乱数判定回路70の代わりに乱数判定回路80が配置されることがラッチPUF2と相違する。また、ラッチPUF3は、判定回路301−1〜301−Nを有することがラッチPUF2と更に相違する。
乱数判定回路80は、複数のRSラッチ回路10−1〜10−Nそれぞれの出力信号に基づいて、複数のフリップフロップ30−1〜30−N及び複数の選択部40−1〜40−Nを介して、複数のRSラッチ回路10−1〜10−Nそれぞれを制御する。具体的には、乱数判定回路80は、複数のRSラッチ回路10−1〜10−Nそれぞれに第1クロック信号が入力されたときに、第1クロック信号が入力されたRSラッチ回路10−1〜10−Nが乱数を出力しているか定数を出力しているかを判定する。第1クロック信号が入力されたRSラッチ回路10−1〜10−Nが乱数を出力していると判定したとき、乱数判定回路80は、RSラッチ回路10−1〜10−Nの入力信号として第1クロック信号を決定する。第1クロック信号が入力されたRSラッチ回路10−1〜10−Nが定数を出力していると判定したとき、乱数判定回路80は、RSラッチ回路10−1〜10−Nに入力される信号を第1クロック信号より周波数が低い第2クロック信号に変更する。第2クロック信号が入力されたRSラッチ回路10−1〜10−Nが乱数を出力していると判定したとき、乱数判定回路80は、RSラッチ回路10−1〜10−Nの入力信号として第2クロック信号を決定する。第1クロック信号及び第2クロック信号がそれぞれ入力された場合に共に、RSラッチ回路10−1〜10−Nが定数を出力していると判定されたとき、乱数判定回路80は、RSラッチ回路10−1〜10−Nの入力信号として第2クロック信号を決定する。乱数判定回路80は、周波数が低い第2クロック信号に同期して動作する。
判定回路301−1〜301−Nは、図3に示すラッチPUF300の判定回路301−1〜301−5と同一の機能を有する。判定回路301−1〜301−Nは、観測した所定のクロック周期に亘ってメタステーブルになった後にLレベルが入力されたとき、「00」信号を出力する。また、判定回路301−1〜301−Nは、観測した所定のクロック周期に亘ってメタステーブルになった後にHレベルが入力されたとき、「11」信号を出力する。また、判定回路301−1〜301−Nは、観測した所定のクロック周期の間に乱数が入力され、且つ入力された乱数の中でLレベルの信号が多いとき、「01」信号を出力する。また、判定回路301−1〜301−Nは、観測した所定のクロック周期の間に乱数が入力され、且つ入力された乱数の中でHレベルの信号が多いとき、「10」信号を出力する。
図9は、乱数判定回路80の処理フローを示すフローチャートである。
ステップS301〜S308において、乱数判定回路80は、乱数判定回路50のステップS101〜S108における処理と同様な処理を実行する。
次いで、ステップS309において、RSラッチ回路10に入力される信号を選択部40−1の第2信号入力端子に入力される第2クロック信号に維持する。次いで、ステップS310において、乱数判定回路80は、RSラッチ回路10−1の入力信号として第2クロック信号を決定する。次いで処理はステップS511に進む。そして、処理がステップS311に進むと、乱数判定回路80は、RSラッチ回路10−1〜10−Nの全てについて判定処理を実施したか否かを判定する。その後、RSラッチ回路10−2から順にRSラッチ回路10−Nまで、ステップS302〜S310の処理を実行すると処理は終了する。
乱数判定回路80の処理が終了した後、個体別情報生成部90が、RSラッチ回路10−1〜10−Nの出力を取得する。個体別情報生成部90は、判定回路301−1〜301−Nの出力を、判定回路301−1〜301−Nそれぞれに定義されている順序の情報に基づいて配列して、個体別情報を生成する。
図10は、乱数生成器1を搭載した電子機器の一例の回路ブロック図である。
電子機器400は、乱数生成器1と、演算処理装置401と、暗号演算器402と、ROM(Read Only Memory)403と、RAM(Random Access Memory)404と、通信部405とを有する。乱数生成器1、演算処理装置401、暗号演算器402、ROM403、RAM404及び通信部405は、バス406を介して互いに接続されている。
演算処理装置401は、CPU(Central Processing Unit)とも称され、電子機器400の各構成要素の動作を制御する。暗号演算器402は、共通鍵コプロセッサ421と、公開鍵コプロセッサ422とを有し、各種の情報の暗号化処理、及び暗号化されているデータの復号処理を実行する。共通鍵コプロセッサ421は、DES及びAES等の共通鍵暗号方式を使用して暗号化及び復号の処理を実行する。公開鍵コプロセッサ422はRSA、ElGamal方式、Rabin方式及び楕円曲線暗号等の公開鍵暗号方式を使用して暗号化及び復号の処理を実行する。
ROM403は、演算処理装置401が実行する制御プログラム、暗号演算器402が暗号化処理及び復号処理で使用する種々のパラメータが記憶されている不揮発性メモリである。RAM404は、演算処理装置401及び暗号演算器402が種々の処理を実行するときに、作業用記憶領域として使用される揮発性メモリである。
通信部405は、不図示の他の電子機器との間で、各種のデータを示す暗号化された信号を送受信する。通信部405が暗号化された信号を受信すると、演算処理装置401は、暗号演算器402を使用して受信した信号を復号処理する。また、通信部405は、演算処理装置401が、暗号演算器402を使用して暗号化処理した信号を送信する。
図11は、電子機器400の暗号化処理フローを示すフローチャートである。
まず、ステップS401において、演算処理装置401は、通信部405を介して暗号化処理を実行する指令を示す指令信号を受信しているか否かを判定する。演算処理装置401が、暗号化処理を実行する指令を示す指令信号を受信していないと判定したとき、所定の時間待機した後に処理はステップS401に戻る。ステップS401の処理の間、乱数生成器1の乱数判定回路50は、RSラッチ回路10−1〜10−Nの入力端子103にLレベルの信号を入力して、RSラッチ回路10−1〜10−Nを全てゲーティングしている。演算処理装置401が、暗号化処理を実行する指令を示す指令信号を受信したと判定したとき、処理はステップS402に進む。
次いで、ステップS402において、演算処理装置401は、乱数生成器1を使用して乱数を生成し、生成した乱数をRAM404に記憶する。乱数生成器1は、図5に示す処理を実行して、乱数を生成する。演算処理装置401は、乱数生成器1が乱数を生成する処理が終了すると、乱数生成器1のRSラッチ回路10−1〜10−Nを全てゲーティングする制御をするように、乱数生成器1の乱数判定回路50に指示する。
次いで、ステップS403において、演算処理装置401は、RAM404に記憶された乱数を暗号鍵として使用して、暗号演算器402がデータを暗号化する。演算処理装置401は、暗号演算器402が暗号化したデータをRAM404に記憶する。そして、ステップS404において、演算処理装置401は、RAM404に記憶された暗号化したデータを通信部405を介して送信する。
図12は、ラッチPUF2を搭載した電子機器を認証する認証システムの一例の回路ブロック図である。
認証システム500は、電子機器501と、認証装置502とを有する。
電子機器501は、演算処理装置511と、ラッチPUF2を有する固体別情報生成装置512と、ROM513と、RAM514と、通信部515とを有する。演算処理装置511、固体別情報生成装置512、ROM513、RAM514及び通信部515は、バス516を介して互いに接続されている。演算処理装置511、ROM513、RAM514及び通信部515は、図10を参照して説明した演算処理装置401、ROM403、RAM404及び通信部405と同様の構成を有する。固体別情報生成装置512は、ラッチPUF2が生成した固体別情報に誤り訂正等の種々の処理を実行して電子機器501の固体別情報を生成する。
認証装置502は、演算処理装置521と、認証処理部522と、固体別情報が記憶されるROM523と、RAM524と、通信部525とを有する。演算処理装置521、認証処理部522、ROM523、RAM524及び通信部525は、バス526を介して互いに接続されている。また、演算処理装置521、ROM523、RAM524及び通信部525は、図10を参照して説明した演算処理装置401、ROM403、RAM404及び通信部405と同様の構成を有する。認証処理部522は、ROM503に記憶される固体別情報と、電子機器501から通信部525を介して取得する固体別情報とを比較して、双方の固体別情報が一致していた場合、一致情報を生成する。
図13は、認証システム500の認証処理フローを示すフローチャートである。
まず、ステップS501において、認証装置502の演算処理装置521は、通信部525を介して固体別情報送付要求を電子機器501に送信する。次いで、ステップS502において、電子機器501の演算処理装置511は、通信部525を介して固体別情報送付要求を受信する。次いで、ステップS503において、電子機器501の演算処理装置511は、固体別情報生成装置512に固体別情報生成を指示する。次いで、ステップ504において、固体別情報生成装置512は、ラッチPUF2を使用して電子機器501の固体別情報を生成して、生成したRAM514に記憶する。ラッチPUF2は、図7に示す処理を実行して、固体別情報を生成する。次いで、ステップS505において、電子機器501の演算処理装置511は、通信部515を介してRAM514に記憶される固体別情報を認証装置502に送信する。
次いで、ステップS506において、認証装置502の演算処理装置521は、通信部525を介して固体別情報を受信してRAM524に記憶する。次いで、ステップS507において、認証装置502の演算処理装置521は、認証処理部522に認証処理を指示する。次いで、ステップS508において、認証処理部522は、電子機器501から取得してRAM524に記憶された固体別情報と、ROMに記憶されていた固体別情報とを比較して、双方の固体別情報が一致しているか否かを確認する。次いで、ステップS509において、双方の固体別情報が一致していることを確認した場合、認証処理部522は、双方の固体別情報が一致していることを認証装置502の演算処理装置521に通知する。認証装置502の演算処理装置521は、双方の固体別情報が一致していることを認証処理部522から通知されると、双方の固体別情報が一致していることを確認する。
乱数生成器1では、乱数判定回路50は、第1クロック信号及び第1クロック信号と周波数が相違する第2クロック信号が入力されたときに、RSラッチ回路10が乱数を出力するか否かを判定するので、乱数を出力するRSラッチ回路の比率が向上する。一例では、従来の乱数生成器では、乱数を出力したRSラッチ回路は256個のうち30個であったが、乱数生成器1では、乱数を出力したRSラッチ回路は256個のうち51個であった。
乱数生成器1では、乱数を出力するRSラッチ回路の比率が高くなるので、同数のRSラッチ回路が搭載された従来の乱数生成器よりもより品質が高い乱数を生成することができる。また、乱数生成器1では、より多くのRSラッチ回路を使用して乱数を生成することができるので、温度条件及び電源電圧が変動した場合でも、乱数の品質が低下し難くなる。
また、ラッチPUF2では、乱数判定回路70は、第1クロック信号及び第1クロック信号と周波数が相違する第2クロック信号が入力されたときに、RSラッチ回路10が定数を出力するか否かを判定するので、定数を出力するRSラッチ回路の比率が高くなる。一例では、従来のラッチPUFでは、定数を出力したRSラッチ回路は256個のうち210個であったが、ラッチPUF2では、定数を出力したRSラッチ回路は256個のうち231個であった。
ラッチPUF2では、定数を出力するRSラッチ回路の比率が向上するので、同数のRSラッチ回路が搭載された従来の乱数生成器よりも多くの固体別情報のパターン数を提供可能なので、安全性を向上させることができる。上述の比較例では、従来のラッチPUFの固体別情報のパターン数は2210個だったものが、ラッチPUF2の固体別情報のパターン数は2231個に増加する。
また、ラッチPUF3は、乱数を出力するRSラッチ回路の数を増やすことにより乱数を出力するRSラッチ回路の比率を高くすることができる。また、ラッチPUF3では、乱数判定回路80は、第1クロック信号及び第2クロック信号が入力された何れの場合でも、RSラッチ回路が乱数が出力したと判定されたときにRSラッチ回路の出力端子から乱数が出力される状態を維持する。ラッチPUF3は、乱数が出力するRSラッチ回路を含めて全てのRSラッチ回路を使用して固体別情報を生成できる。
乱数生成器1、並びにラッチPUF2及び3では、RSラッチ回路に入力されるクロック信号は第1クロック信号及び第2クロック信号の2つであるが、周波数が相違する3つ以上のクロック信号の何れかが選択される構成としてもよい。ラッチPUF3において、3つ以上のクロック信号の何れかが選択される構成とする場合、何れのクロック信号が入力された場合でもRSラッチ回路の出力が定数であると判定されたとき、選択されたクロック信号の何れかを選択すればよい。好適には、選択されたクロック信号の中で最も周波数が低いクロック信号を選択することができる。
ラッチPUF3では、乱数判定回路80は、第1クロック信号及び第2クロック信号がそれぞれ入力された場合に共に、定数が出力されていると判定されたときに、RSラッチ回路の出力端子から出力される信号を定数に固定している。しかしながら、第1クロック信号及び第2クロック信号がそれぞれ入力された場合に共に、乱数が生成されていると判定されたときに、RSラッチ回路の出力端子から乱数が出力される状態を維持する構成としてもよい。
図14は、乱数判定回路80の処理フローの他の例を示すフローチャートである。
ステップS601〜S608において、乱数判定回路80は、図7に示すステップS201〜S208における乱数判定回路70の処理と同様な処理を実行する。
次いで、ステップS609において、RSラッチ回路10に入力される信号を選択部40−1の第2信号入力端子に入力される第2クロック信号に維持する。次いで、ステップS610において、乱数判定回路80は、RSラッチ回路10−1の入力信号として第2クロック信号を決定する。次いで処理はステップS611に進む。そして、処理がステップS611に進むと、乱数判定回路80は、RSラッチ回路10−1〜10−Nの全てについて判定処理を実施したか否かを判定する。その後、RSラッチ回路10−2から順にRSラッチ回路10−Nまで、ステップS602〜S610の処理を実行すると処理は終了する。
図14に示す例では、ラッチPUF3は、定数を出力するRSラッチ回路の数を増やすことにより定数を出力するRSラッチ回路の比率を高くすることができる。
また、ラッチPUF3では、判定回路301−1〜301−Nは、乱数が入力されたときに、入力された乱数の中にLレベルの信号が多いときに「01」信号を出力し、入力された乱数の中にHレベルの信号が多いときに「10」信号を出力する。しかしながら、判定回路301−1〜301−Nは、他の構成を採用してもよい。例えば、入力された乱数の中にLレベルの信号が多いときに「10」信号を出力し、入力された乱数の中にHレベルの信号が多いときに「01」信号を出力する構成としてもよい。また、所定のクロック周期の間に入力された乱数の中に含まれるLレベル及びHレベルの信号の数にかかわらず、乱数が入力されたときに、「10」信号又は「01」信号を出力する構成としてもよい。
また、電子機器400は、乱数生成器1が生成する乱数を暗号鍵として使用して暗号化処理及び復号化処理を実行するが、乱数生成器1の代わりにラッチPUF2又は3を搭載し、ラッチPUF2又は3が生成する固体別情報を暗号鍵として使用してもよい。また、図14に示す処理を実行する乱数判定回路を有するラッチPUFが生成する固体別情報を暗号鍵として使用してもよい。
また、認証システム500は、ラッチPUF2が生成する固体別情報を使用して認証処理を実行するが、ラッチPUF2の代わりにラッチPUF3を電子機器501に搭載して、ラッチPUF3が生成する固体別情報を使用して認証処理を実行してもよい。また、図14に示す処理を実行する乱数判定回路を有するラッチPUFが生成する固体別情報を使用して認証処理を実行してもよい。
なお、これまで説明した実施形態に関して、以下の付記を更に開示する。
(付記1)
入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路を使用して乱数を生成する方法であって、
前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定し、
RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路から出力される信号を固定する信号を入力し、
前記複数のRSラッチ回路それぞれの出力の排他的論理和を演算する、ことを有することを特徴とする方法。
(付記2)
入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路を使用して固体別情報を生成する方法であって、
前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定し、
RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路から出力される信号を固定する信号を入力し、
前記複数のRSラッチ回路の出力を使用して個体別情報を生成する、ことを有することを特徴とする方法。
(付記3)
入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路を使用して個体別情報を生成する方法であって、
前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定し、
RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が定数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択し、
前記複数のRSラッチ回路の出力を使用して個体別情報を生成する、ことを有することを特徴とする方法。
(付記4)
入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路を使用して個体別情報を生成する方法であって、
前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定し、
RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択し、
前記複数のRSラッチ回路の出力を使用して個体別情報を生成する、ことを有することを特徴とする方法。
(付記5)
入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路を使用してデータを暗号化する方法であって、
前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定し、
RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路から出力される信号を固定する信号を入力し、
前記複数のRSラッチ回路それぞれの出力の排他的論理和を演算し、
演算された前記乱数を暗号鍵として使用して、データを暗号化する、ことを有することを特徴とする方法。
(付記6)
入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路を使用してデータを暗号化する方法であって、
前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定し、
RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路から出力される信号を固定する信号を入力し、
前記複数のRSラッチ回路の出力を使用して個体別情報を生成し、
生成された前記個体別情報を暗号鍵として使用して、データを暗号化する、ことを有することを特徴とする方法。
(付記7)
入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路を使用してデータを暗号化する方法であって、
前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定し、
RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が定数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択し、
前記複数のRSラッチ回路の出力を使用して個体別情報を生成し、
生成された前記個体別情報を暗号鍵として使用して、データを暗号化する、ことを有することを特徴とする方法。
(付記8)
入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路を使用してデータを暗号化する方法であって、
前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定し、
RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択し、
前記複数のRSラッチ回路の出力を使用して個体別情報を生成し、
生成された前記個体別情報を暗号鍵として使用して、データを暗号化する、ことを有することを特徴とする方法。
(付記9)
入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路を使用して生成された固体別情報を認証する方法であって、
前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定し、
RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路から出力される信号を固定する信号を入力し、
前記複数のRSラッチ回路の出力を使用して個体別情報を生成し、
生成された前記個体別情報を個体別情報を認証する、ことを有することを特徴とする方法。
(付記10)
入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路を使用して生成された固体別情報を認証する方法であって、
前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定し、
RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が定数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択し、
前記複数のRSラッチ回路の出力を使用して個体別情報を生成し、
生成された前記個体別情報を個体別情報を認証する、ことを有することを特徴とする方法。
(付記11)
入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路を使用して生成された固体別情報を認証する方法であって、
前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定し、
RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択し、
前記複数のRSラッチ回路の出力を使用して個体別情報を生成し、
生成された前記個体別情報を個体別情報を認証する、ことを有することを特徴とする方法。
1 乱数生成器
2、3、200、300 ラッチPUF(個体別情報生成装置)
10、10−1〜10−N RSラッチ回路
20 出力選択回路
30−1〜30−N フリップフロップ
40−1〜40−N 選択部
50、70、80 乱数判定回路(判定部)
60 排他的論理和素子
90 個体別情報生成部
301−1〜301−N 判定回路
400、501 電子機器
500 認証システム
502 認証装置

Claims (12)

  1. 入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路と、
    前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定する判定部と、
    前記判定部の判定結果に応じて、前記複数のRSラッチ回路のそれぞれに入力するクロック信号を維持するか、周波数が異なる他のクロック信号に変更するか、又は出力される信号を固定する信号に変更するかを選択する選択部と、を有する、ことを特徴とする電子回路。
  2. 前記選択部は、
    RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
    RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
    周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路から出力される信号を固定する信号を入力する、請求項1に記載の電子回路。
  3. 前記選択部は、
    RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
    RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
    周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路から出力される信号を固定する信号を入力する、請求項1に記載の電子回路。
  4. 前記選択部は、
    RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
    RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
    周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が定数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択する、請求項1に記載の電子回路。
  5. 前記選択部は、
    RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
    RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
    周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択する、請求項1に記載の電子回路。
  6. 入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路と、
    前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定する判定部と、
    RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
    RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
    周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路から出力される信号を固定する信号を入力する選択部と、
    前記複数のRSラッチ回路それぞれの出力の排他的論理和を演算する排他的論理和素子と、を有する乱数発生器と、
    前記乱数発生器が生成した乱数を暗号鍵として使用して、データを暗号化する暗号化器と、
    を有することを特徴とする電子機器。
  7. 入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路と、
    前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定する判定部と、
    RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
    RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
    周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路から出力される信号を固定する信号を入力する選択部と、
    前記複数のRSラッチ回路の出力を使用して個体別情報を生成する個体別情報生成装置と、
    前記個体別情報生成装置が生成した個体別情報を暗号鍵として使用して、データを暗号化する暗号化器と、
    を有することを特徴とする電子機器。
  8. 入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路と、
    前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定する判定部と、
    RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
    RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
    周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が定数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択する選択部と、
    前記複数のRSラッチ回路の出力を使用して個体別情報を生成する個体別情報生成装置と、
    前記個体別情報生成装置が生成した個体別情報を暗号鍵として使用して、データを暗号化する暗号化器と、
    を有することを特徴とする電子機器。
  9. 入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路と、
    前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定する判定部と、
    RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
    RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
    周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択する選択部と、
    前記複数のRSラッチ回路の出力を使用して個体別情報を生成する個体別情報生成装置と、
    前記個体別情報生成装置が生成した個体別情報を暗号鍵として使用して、データを暗号化する暗号化器と、
    を有することを特徴とする電子機器。
  10. 入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路と、
    前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定する判定部と、
    RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
    RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
    周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路から出力される信号を固定する信号を入力する選択部と、
    前記複数のRSラッチ回路の出力を使用して個体別情報を生成する個体別情報生成装置と、
    前記個体別情報生成装置が生成した個体別情報を出力する通信部と、を有する、電子機器と、
    前記電子機器から出力された個体別情報を認証する認証装置と、を有することを特徴とする認証システム。
  11. 入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路と、
    前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定する判定部と、
    RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
    RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
    周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が定数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択する選択部と、
    前記複数のRSラッチ回路の出力を使用して個体別情報を生成する個体別情報生成装置と、
    前記個体別情報生成装置が生成した個体別情報を出力する通信部と、を有する、電子機器と、
    前記電子機器から出力された個体別情報を認証する認証装置と、を有することを特徴とする認証システム。
  12. 入力されるクロック信号に応じて、それぞれがメタステーブルになる複数のRSラッチ回路と、
    前記複数のRSラッチ回路のそれぞれの出力が乱数又は定数の何れかであるかを判定する判定部と、
    RSラッチ回路の出力が定数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を維持し、
    RSラッチ回路の出力が乱数であると判定されたときに、前記RSラッチ回路に入力されるクロック信号を、周波数が異なる他のクロック信号に変更し、
    周波数が異なるクロック信号の何れを入力した場合にも、RSラッチ回路の出力が乱数であると判定されたときに、入力された前記クロック信号の何れかを入力信号として選択する選択部と、
    前記複数のRSラッチ回路の出力を使用して個体別情報を生成する個体別情報生成装置と、
    前記個体別情報生成装置が生成した個体別情報を出力する通信部と、を有する、電子機器と、
    前記電子機器から出力された個体別情報を認証する認証装置と、を有することを特徴とする認証システム。
JP2013246421A 2013-11-28 2013-11-28 電子回路、電子機器及び認証システム Active JP6167876B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013246421A JP6167876B2 (ja) 2013-11-28 2013-11-28 電子回路、電子機器及び認証システム
US14/521,616 US9384682B2 (en) 2013-11-28 2014-10-23 Electronic circuit, electronic apparatus, and authentication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013246421A JP6167876B2 (ja) 2013-11-28 2013-11-28 電子回路、電子機器及び認証システム

Publications (2)

Publication Number Publication Date
JP2015106172A JP2015106172A (ja) 2015-06-08
JP6167876B2 true JP6167876B2 (ja) 2017-07-26

Family

ID=53182675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013246421A Active JP6167876B2 (ja) 2013-11-28 2013-11-28 電子回路、電子機器及び認証システム

Country Status (2)

Country Link
US (1) US9384682B2 (ja)
JP (1) JP6167876B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9621141B1 (en) * 2016-01-11 2017-04-11 Oracle International Corporation Micro-pipeline frequency-comparison circuit
US10579339B2 (en) * 2017-04-05 2020-03-03 Intel Corporation Random number generator that includes physically unclonable circuits
US11005669B2 (en) * 2017-11-14 2021-05-11 Taiwan Semiconductor Manufacturing Co., Ltd. PUF generators based on SRAM bit cells
EP3671435B1 (en) * 2018-12-20 2023-08-09 Secure-IC SAS Methods and devices for random number generation
US11537755B1 (en) * 2019-10-09 2022-12-27 University Of South Florida SR flip-flop based physical unclonable functions for hardware security
CN116054816B (zh) * 2023-03-29 2023-07-14 山东云海国创云计算装备产业创新中心有限公司 加密逻辑单元电路、加密芯片、服务器和图像加密方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631390B1 (en) 2000-03-06 2003-10-07 Koninklijke Philips Electronics N.V. Method and apparatus for generating random numbers using flip-flop meta-stability
JP3604674B2 (ja) * 2001-09-26 2004-12-22 株式会社東芝 乱数生成回路
US6771104B2 (en) * 2002-07-25 2004-08-03 Koninklijke Philips Electronics N.V. Switching electronic circuit for random number generation
US7124155B2 (en) * 2002-07-25 2006-10-17 Koninklijke Philips Electronics N.V. Latching electronic circuit for random number generation
JP4095002B2 (ja) 2002-09-13 2008-06-04 株式会社東芝 乱数生成回路
TWI282934B (en) 2002-09-13 2007-06-21 Toshiba Corp Random number generator
US7484192B2 (en) * 2006-09-18 2009-01-27 International Business Machines Corporation Method for modeling metastability decay through latches in an integrated circuit model
JP5171315B2 (ja) * 2008-02-28 2013-03-27 株式会社東芝 乱数生成回路
US8489660B2 (en) * 2009-06-26 2013-07-16 Intel Corporation Digital random number generator using partially entropic data
JP5273294B2 (ja) * 2010-03-26 2013-08-28 富士通株式会社 乱数生成器、暗号化装置、及び認証装置
US20110299678A1 (en) * 2010-06-07 2011-12-08 Alexander Roger Deas Secure means for generating a specific key from unrelated parameters
JP5333669B2 (ja) * 2010-06-30 2013-11-06 富士通株式会社 個体別情報生成装置及び個体別情報生成方法
JP5831202B2 (ja) 2011-12-20 2015-12-09 富士通株式会社 個体別情報生成装置及び個体別情報生成方法

Also Published As

Publication number Publication date
US9384682B2 (en) 2016-07-05
US20150146869A1 (en) 2015-05-28
JP2015106172A (ja) 2015-06-08

Similar Documents

Publication Publication Date Title
JP6167876B2 (ja) 電子回路、電子機器及び認証システム
CN110389747B (zh) 具有物理不可复制功能的真随机数生成系统
JP5273294B2 (ja) 乱数生成器、暗号化装置、及び認証装置
Güneysu et al. Cryptanalysis with COPACOBANA
CN104468089B (zh) 数据保护装置及其方法
KR101727130B1 (ko) 암호화 키를 획득하기 위한 디바이스 및 방법
CN111492616B (zh) 用于基于晶格的密码学的可配置设备
JP5857726B2 (ja) 温度センサ、暗号化装置、暗号化方法、及び個体別情報生成装置
US20160013939A1 (en) Generating a key based on a combination of keys
JP5831202B2 (ja) 個体別情報生成装置及び個体別情報生成方法
JP4986206B2 (ja) 暗号処理方法及び暗号処理装置
JPWO2008056613A1 (ja) 認証装置
JPWO2012001796A1 (ja) 個体別情報生成装置及び個体別情報生成方法
WO2012130575A1 (en) Establishing unique key during chip manufacturing
JP2016171452A (ja) 電子回路、認証装置及び認証システム
JP6533553B2 (ja) 暗号化/復号装置及びその電力解析保護方法
CN112906070B (zh) 具有块密码侧信道攻击减轻的集成电路和IoT设备及相关方法
US11934323B2 (en) Diversifying a base symmetric key based on a public key
US20190294417A1 (en) Method and system for deriving deterministic prime number
CN110493265A (zh) 加密数据的方法及存储介质
WO2018067865A1 (en) Generating an authentication result by using a secure base key
JP6348273B2 (ja) 情報処理システム
KR20000062151A (ko) 암호 기능 출력을 생성하기 위한 안전 방법
CN110249334B (zh) 设备间高效安全通信的系统和方法
CN113271202B (zh) 一种数据加密方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160804

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170612

R150 Certificate of patent or registration of utility model

Ref document number: 6167876

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150