Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6030050B2 - Id生成装置、id生成方法、およびid生成システム - Google Patents
[go: Go Back, main page]

JP6030050B2 - Id生成装置、id生成方法、およびid生成システム - Google Patents

Id生成装置、id生成方法、およびid生成システム Download PDF

Info

Publication number
JP6030050B2
JP6030050B2 JP2013273275A JP2013273275A JP6030050B2 JP 6030050 B2 JP6030050 B2 JP 6030050B2 JP 2013273275 A JP2013273275 A JP 2013273275A JP 2013273275 A JP2013273275 A JP 2013273275A JP 6030050 B2 JP6030050 B2 JP 6030050B2
Authority
JP
Japan
Prior art keywords
random number
generation
generated
unit
identification information
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
JP2013273275A
Other languages
English (en)
Other versions
JP2015127757A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013273275A priority Critical patent/JP6030050B2/ja
Priority to PCT/JP2014/074730 priority patent/WO2015098207A1/ja
Publication of JP2015127757A publication Critical patent/JP2015127757A/ja
Priority to US15/193,354 priority patent/US20160330023A1/en
Application granted granted Critical
Publication of JP6030050B2 publication Critical patent/JP6030050B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • 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/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Manipulation Of Pulses (AREA)

Description

本発明の実施の形態は、ID生成装置、ID生成方法、およびID生成システムに関する。
近接場型の無線通信(NFC:near field communication)の利用が急拡大している。キャッシュカードおよびクレジットカード等のIC(Integrated Circuit)カードは、電子マネーとして利用されることも多くなっている。また、電車およびバス等の乗車券にも、ICカードが多く利用されている。このようなICカードでは、個人を特定するID(identification)特定機能が重要となる。そして、ICカードの利用が拡大している今日においては、セキュリティの強化が、より重要となっている。また、データを保存する目的でのみ用いられてきたメモリーカードにも、ID機能が設けられつつあり、携帯型デバイスのID特定機能の高度化が求められている。
ここで、個々のデバイスばらつきを、「チップ指紋」として利用する研究開発が進められている。例えば、SRAM(Static Random Access Memory)の初期ばらつき、または、工場出荷時の結晶欠陥を用いて、IDの識別を行う方法が知られている(SRAM−PUF:Physically Unclonable Function)。さらに、多数のリング発振器の周波数の違いをIDとして用いる方法が知られている。
しかし、SRAM−PUFにおいては、多くのSRAMのメモリ領域が必要となり、回路面積上のオーバヘッドになる可能性がある。また、多数のリング発振器の周波数の違いをIDとして用いる方法では、3つ以上のインバータを用いたリング発振器を多数余計に設ける必要があり、やはり余分に多くの回路面積が必要となる問題がある。
特表2011−518402号公報 特開2000−235636号公報
本発明が解決しようとする課題は、より強固なIDを生成可能なID生成装置、ID生成方法、およびID生成システムを提供することである。
実施の形態のID生成装置は、乱数発生部が乱数を発生する。記憶部は、乱数発生部が起動されてから、安定した乱数が生成されるまでの期間に、乱数発生部により生成された乱数を記憶する。そして、生成部が、記憶部に記憶された乱数を用いて識別情報を生成する。
図1は、第1の実施の形態のID生成システムのブロック図である。 図2は、第1の実施の形態のID生成システムに設けられているリング発振器の回路図である。 図3は、第1の実施の形態のID生成システムにおける、IDの生成タイミングを説明するための図である。 図4は、第1の実施の形態のID生成システムにおける、乱数の発生周期とビットパターンを説明するための図である。 図5は、第1の実施の形態のID生成システムにおける、ID生成の流れを説明するための図である。 図6は、第2の実施の形態のID生成システムのリング発振器の回路図である。 図7は、第4の実施の形態のID生成システムにおいて、発振速度を遅延させる1つのゲートを設けたリング発振器の回路図である。 図8は、第4の実施の形態のID生成システムにおいて、発振速度を遅延させる2つまたは3つのゲートを設けたリング発振器の回路図である。 図9は、第4の実施の形態のID生成システムにおいて、発振速度を遅延させる2つまたは3つのゲートを設けたリング発振器の変形例となる回路図である。 図10は、第5の実施の形態のID生成システムにおいて、隣接するリング発振器の出力の差分からIDを生成する流れを説明するためのブロック図である。 図11は、第5の実施の形態のID生成システムにおいて、隣接するリング発振器の出力の差分からさらに差分を求めてIDを生成する流れを説明するためのブロック図である。 図12は、第5の実施の形態のID生成システムにおいて、隣接するレジスタの出力の差分からIDを生成する流れを説明するためのブロック図である。 図13は、実施の形態のID生成システムをICカードに適用した使用例を示す図である。 図14は、実施の形態のID生成システムをモバイル端末に適用した使用例を示す図である。 図15は、実施の形態のID生成システムを、機械対機械(M2M)の相互認証に適用した使用例を示す図である。 図16は、実施の形態のID生成システムを、機械対機械(M2M)の相互認証に適用した他の使用例を示す図である。 図17は、実施の形態のID生成システムを適用した電子デバイスのブロック図である。
以下、ID生成装置、ID生成方法、およびID生成システムの実施の形態を、図面を参照しながら詳細に説明する。なお、IDは、「identification:識別情報」の略記である。
(概要)
実施の形態のID生成装置、ID生成方法、およびID生成システムは、各デバイス固有の欠陥情報等の単一の情報のみならず、ID生成装置が有する複数の物理的性質を利用することで、より強固なIDを生成する。特に、本来、乱数生成用に用いられていた乱数生成回路に、小規模な回路を追加するだけで、乱数生成機能およびID生成機能の両方を併せ持つ回路を提供する。そして、乱数生成回路で生成される乱数の統計性と、乱数生成回路で最初に生成される乱数のビット列(立ち上がりのビット列)とを二つを合わせて、より安全かつ強固なIDを生成する。
(第1の実施の形態)
まず、図1に、第1の実施の形態のID生成システムのブロック図を示す。このID生成システムは、乱数生成回路1およびID生成回路2を有する。乱数生成回路1は、リング発振器3、平滑化回路4、および乱数検定回路5を有する。詳しくは後述するが、リング発振器3は、奇数個のインバータをリング状に接続して形成されると共に、発振調整用のセレクタ、およびID生成用のレジスタを備えている。リング発振器3は、乱数発生部の一例である。乱数発生部としては、リング発振器3以外であっても、乱数を発生すれば、どのようなものでも用いることができる。平滑化回路4は、設けなくてもよいが、リング発振器3の動作開始時のデータがばらつくときには設けることが好ましい。平滑化回路4は、0,1のビットパターンを平均化する。乱数検定回路5は、例えば乱数の出現頻度をカイ2乗検定する「度数検定」等を行い、乱数を出力する。
ID生成回路2は、生成部の一例である。ID生成回路2は、リング発振器3で生成された乱数に対して、後述する出力補正を行うと共に、訂正符号発生部7から供給された誤り訂正符号を付加して出力する出力補正/誤り訂正部6を有している。また、ID生成回路2は、出力補正/誤り訂正部6からの出力にハッシュ関数を付加することで暗号鍵を生成して出力するハッシュ関数部8を有している。
図2は、リング発振器3の回路図である。第1の実施の形態のID生成システムは、このようなリング発振器3を複数有しているものとして説明を進めるが、リング発振器3を、一つのみ設けてもよい。第1の実施の形態のID生成システムは、後述するように複数のリング発振器3で生成された各乱数を用いてIDを生成する。各リング発振器3は、図2に示すように、リング状に接続された奇数個のインバータ11と、発振調整用のセレクタ12と、インバータ11およびセレクタ12の各出力の排他的論理和を出力とするXORゲート13とを有している。なお、XORは「exclusive OR」の略記である。また、リング発振器3は、XORゲート13の出力である乱数からIDを生成するためのレジスタ14を有している。レジスタ14は、記憶部の一例である。レジスタ14は、例えばフリップフロップで形成することができ、XORゲート13から出力された0または1のビットパターンを記憶する。
なお、レジスタ14の代わりに、SRAM、DRAM等のメモリを用いてもよい。SRAMは、「Static Random Access Memory」の略記である。DRAMは、「Dynamic Random Access Memory」の略記である。さらに、SRAM、DRAMの代わりにNANDフラッシュメモリ等の不揮発性メモリを用いてもよい。ただ、不揮発性メモリを用いる場合は、IDの秘匿性を確保するために、ID生成回路2でIDの生成が完了した後に、不揮発性メモリに記憶されているIDデータを消去することが好ましい。
セレクタ12には、リング発振器3を停止制御するための例えば(a)の符号で示す発振停止信号、および図2の(b)および(c)の符号で示す、それぞれ周波数の異なる2種類のクロックが供給されている。セレクタ12は、発振停止信号、および2種類のクロックのうち、選択信号Sで指示される発振停止信号またはクロックを選択し、XORゲート13に供給する。
次に、リング発振器3は、外部からのクロックのタイミングにより、0と1が、確率的にランダムに分布し、乱数生成回路1の主要部として動作する。リング発振器3は、図3に示すようにID生成システムのスイッチを入れてから、十分なエントロピーを持った乱数が生成されるまでに、相応の時間を必要とする。すなわち、図3の時刻t0にID生成システムのスイッチを入れたとすると、相応の時間が経過した時刻t1から十分なエントロピーを持った乱数が生成される。この「相応の時間」は、例えば100クロック分の時間となる。十分な時間が経過した以降(時刻t1以降)、周りの雑音の影響を受けて、リング発振器3で生成される乱数の質が向上する(安定した乱数の生成が開始される)。
ここで、通常は、図3の時刻t0〜時刻t1の間に生成された乱数は破棄される。しかし、スイッチを入れた時刻t0から、安定した乱数の生成が開始される時刻t1までの間に生成される乱数には、各リング発振器3固有の発生パターンが存在する。図4は、A〜Hの計8個のリング発振器3における、時刻t0〜時刻t1の間に生成された乱数を示している。この図4は、A〜Hの計8個のリング発振器3を発振動作させ、一旦、発振を停止し(全てのデータが0となる区間)、再度、発振動作させた例を示している。発振停止前後の乱数を見比べてわかるように、各リング発振器3は、時刻t0〜時刻t1の間において、固有の乱数発生パターンとなることがわかる。
このようなことから、実施の形態のID生成システムでは、通常は使われることのない、時刻t0のスタート時から、安定した乱数の生成が開始される時刻t1の間のデータをID生成に用いている(ID生成期間)。具体的には、このID生成期間中は、固有の乱数発生パターンとなるため、ID生成に用いる乱数を取得するタイミングとしては、所望のタイミングで発生された乱数を取得すればよい。この実施の形態のID生成システムの場合、一例として、各リング発振器3を起動させて最初に生成された乱数(起動直後に生成された乱数)を、各レジスタ14で記憶してID生成に用いている。この起動直後の乱数は、図4の例の場合、A〜Hの各リング発振器3で生成される「01101111」のビット列となる。このような乱数の0,1の偏りと同時に、起動直後(スタート時)の0,1のビット列の両方をIDとすることにより、ID特定の強化に繋げることができる。なお、このようにリング発振器3を複数ではなく、一つのみ設けた場合、図4の例で説明するとAのリング発振器3で発生された乱数のみでIDが生成される。このため、「1」または「0」の1ビットのIDが生成されることとなる。図2は、一つのリング発振器3の構成である。この場合、レジスタ14も一つのみである。これに対して、図4の例の場合、図2に示すリング発振器3が8個設けられると共に、レジスタ14も8つ設けられる。レジスタ14の代わりに一つのメモリを設けた場合には、1つのメモリ内に8つの記憶領域を設けて対応できる。同様に、レジスタ14の代わりに2つのメモリを設けた場合には、2つのメモリ内にそれぞれ4つずつ記憶領域を設けて対応できる。
次に、図2に示すリング発振器3は、ID生成と乱数生成とを同時に行う。すなわち、セレクタ12には、図2の(a)の符号を付して示す固定値(発振停止信号)、(b)の符号を付して示す動作周波数と同じ周波数のクロック、および(c)の符合を付して示す動作周波数と同じクロック信号を所定分周したクロックが供給される。これら信号またはクロックは、セレクタ12に供給される選択信号Sで選択される。
なお、図2においては、セレクタ12には、発振停止信号、動作周波数のクロック、および分周クロックの3つが入力されるように図示されているが、発振停止信号と、上述の2つのクロックのうち、いずれか一方のクロックとの2つを入力してもよい。このように2つの入力とした場合において、クロック周波数が分周されている場合、リング発振器3の出力データを分周に応じて間引いてもよい。例えば、2分周の場合、リング発振器の出力データを二クロック毎に取れば、入力クロックが、回路の他の部分と同じクロックであった場合に等しいデータを得ることができる。また、クロックの立ち上がりを検出してもよいし、クロックの立下りを検出してもよい。どちらを検出するかは、設計上、他の回路部分との整合で決定すればよい。
図2に示すような乱数生成回路1は、通常、図3を用いて説明したように、安定した乱数が生成されるまでにある程度の時間が必要となる。図3では、エントロピー等の乱数度が線形に遷移する(リニアに遷移する)ように図示しているが、線形に遷移するとは限らない。実施の形態のID生成システムにおいては、上述のように通常は使われることのない、時刻t0のスタート時から、十分なエントロピーを持った乱数の生成が始まる時刻t1の間における所定のタイミングで生成された乱数(一例として、起動直後に生成された乱数)を用いてID生成している。
具体的には、実施の形態のID生成システムは、リング発振器3の後段に、例えばフリップフロップで形成されたレジスタ14が設けられている。そして、各リング発振器3が起動直後に形成した乱数を、各レジスタ14に記憶すると共に、ID生成回路2が、レジスタ14に記憶された各乱数を用いてIDを生成する。生成するIDの長さは、後段の暗号回路等が要求するビット数に応じた長さとなる。例えば、設けられているレジスタ14の数に相当するビット数が64ビットであった場合を考える。ID生成に必要な鍵のデータ数が64ビットの場合、まず、複数個設置したリング発振器3の中で、ID生成能力の高いものを選んで利用することができる。256ビットの鍵が必要な場合には、4つのリング発振器3の動作開始時の64ビットを選んで結合することにより、256ビットの鍵を生成することができる。これより多くても少なくてもよい。
図5は、第1発振器〜第16発振器の計16個のリング発振器3を用いてIDを生成する場合の例である。各第1発振器〜第16発振器の後段にそれぞれ設けられた第1レジスタ〜第16レジスタに一時的に記憶された値は、ID生成回路2のCPU20により、ID生成に用いられる。CPU20は、例えば、第1発振器〜第16発振器で起動直後にそれぞれ生成された乱数のビット列を独立的に利用してIDを生成する。または、CPU20は、並列された第1発振器〜第16発振器で生成された各乱数をそれぞれ結合し、長いビット列のIDを生成する。
以上の説明から明らかなように、第1の実施の形態のID生成システムは、一つまたは複数のリング発振器3が起動直後に生成する乱数を用いてIDを生成する。これにより、統計性と立ち上がりの二つを合わせて、より安全かつ強固なIDを生成可能とすることができる。
また、第1の実施の形態のID生成システムは、各リング発振器3が生成する乱数自体をIDとして用いることができる。このため、ID生成用の専用の回路、およびID生成用の大きなメモリ領域を不要とすることができ、簡単かつ安価に実現することができる。
(第2の実施の形態)
次に、第2の実施の形態のID生成システムの説明をする。上述の第1の実施の形態の説明では、図1に示す平滑化回路4は、設けなくてもよいとして説明をした。第2の実施の形態のID生成システムは、平滑化回路4を設けた例である。なお、上述の第1の実施の形態と、以下に説明する第2の実施の形態とでは、この点のみが異なる。このため、以下、両者の差異のみ説明し、重複説明は省略する。
図6は、第2の実施の形態のID生成システムのリング発振器3の回路図である。この図6に示すように、第2の実施の形態のID生成システムの各リング発振器3には、レジスタ14から読み出されたリング発振器3の出力データを平滑化する平滑化回路4が設けられている。具体的には、平滑化回路4は、XORゲート31およびフリップフロップ32を有している。フリップフロップ32は、例えば1クロック分、リング発振器3の出力データを遅延して出力する。XORゲート31は、現在のリング発振器3の出力データと、フリップフロップ32により、1クロック分遅延されたリング発振器3の出力データ(1クロック前の出力データ)とを比較し、この比較結果となる1または0のデータをフリップフロップ32に供給する。
リング発振器3の発振環境によっては、動作開始時に生成される乱数にばらつきが発生する場合がある。このような場合、平滑化回路4を設け、リング発振器3の動作開始時に生成されるデータを平滑化する。これにより、リング発振器3の動作開始時に生成される乱数のばらつきを抑制することができる。
なお、平滑化回路4としては、引き続くビットを棄却する棄却法が適用された平滑化回路を用いても良い。棄却法を用いた平滑化回路の場合、00,11は0と判断し、01、10のビット列を1と判断する。また、リング発振器3を複数設けた場合、および一つのみ設けた場合、いずれの場合も、上述の効果を得ることができる。
(第3の実施の形態)
次に、第3の実施の形態のID生成システムの説明をする。この第3の実施の形態のID生成システムは、経年劣化等によるリング発振器3の出力データの初期ばらつきおよび統計性の変化を補正可能としたものである。なお、上述の各実施の形態と、以下に説明する第3の実施の形態とでは、この点のみが異なる。このため、以下、両者の差異のみ説明し、重複説明は省略する。
この第3の実施の形態のID生成システムの場合、経年劣化等によるリング発振器3の出力データの初期ばらつき、および統計性の変化を示す劣化情報が、図1に示す訂正符号発生部7に記憶されている。出力補正/誤り訂正部6は、訂正符号発生部7から供給される劣化情報を用いたエラー訂正処理により、CPU20により生成されたIDを補正する。これにより、経年劣化等によるリング発振器3の出力データの初期ばらつき、および統計性の変化に対応して、常に同じIDを生成することができる。なお、リング発振器3を複数設けた場合、および一つのみ設けた場合、いずれの場合も、上述の効果を得ることができる。
(第4の実施の形態)
次に、第4の実施の形態のID生成システムの説明をする。この第4の実施の形態のID生成システムは、各リング発振器3の発振速度を遅延させる遅延回路を設けた例である。なお、上述の各実施の形態と、以下に説明する第4の実施の形態とでは、この点のみが異なる。このため、以下、両者の差異のみ説明し、重複説明は省略する。
乱数生成にリング発振器3を用いる場合、通常は、配置配線ツールなどを用いて回路を設計する。この際、リング発振器3の動作速度を上げるために、リング発振器3内のインバータ11の数は一つとすることが多い。しかし、入力クロックに対して、リング発振周波数が速過ぎると、0と1の乱数性が完全にばらつくまでの時間が短くなり、上述のID生成に支障を来たすおそれがある。
このため、第4の実施の形態のID生成システムでは、リング発振器3にリング発振の周波数を、やや遅くする回路(ゲート)を設けた。新たに挿入する回路としては、例えばAND回路、OR回路、XORゲート、または、これらの組み合わせた回路が適切である。追加する回路は、多過ぎるとリング発振器3の発振周波数の低下を招くため、多過ぎないほうが望ましい。
図7〜図9は、リング発振器3に追加ゲート回路を入れることにより、発振周波数を遅くした例である。このうち、図7は一つのゲート回路を入れた例を示している。図7の(a)の符号を付した図は、インバータ11の出力を、制御信号等の別系統の信号(×1)が供給されるANDゲート41に供給し、ANDゲート41の出力をXORゲート13に供給する回路構成とした例である。この場合、ANDゲート41で、リング発振器3の発振周波数を遅くすることができる。また、別系統の信号(×1)を供給することで、リング発振器3の初期値等を制御できる。例えば、別系統の信号(×1)に0を入力すれば、リング発振器3内のデータを初期化できる。
同様に、図7の(b)の符号を付した図は、XORゲート13の出力とインバータ11の入力との間に、制御信号等の別系統の信号(×1)が供給されるANDゲート42を挿入した例である。また、図7の(c)の符号を付した図は、XORゲート13の出力とインバータ11の入力との間に、制御信号等の別系統の信号(×1)が供給されるORゲート43を挿入した例である。また、図7の(d)の符号を付した図は、XORゲート13の出力とインバータ11の入力との間に、制御信号等の別系統の信号(×1)が供給されるXORゲート44を挿入した例である。いずれの場合も、遅延回路として追加した各ゲート42〜44により、リング発振器3の発振周波数を遅くすることができる。また、別系統の信号(×1)を供給することで、リング発振器3の初期値等を制御できる。
次に、図8の(a)の符号を付した図は、XORゲート13の出力とインバータ11の入力との間に、連続する2つのANDゲート45,46を挿入した例である。各ANDゲート45,46には、それぞれ制御信号等の別系統の信号(×1または×2)が供給される。同様に、図8の(b)の符号を付した図は、XORゲート13の出力とインバータ11の入力との間に、制御信号等の別系統の信号(×1)が供給されるNANDゲート47、およびXORゲート13の出力を反転してNANDゲート47に入力するインバータ48を挿入した例である。また、図8の(c)の符号を付した図は、XORゲート13の出力とインバータ11の入力との間に、制御信号等の別系統の信号(×1)が供給されるORゲート49、およびXORゲート13の出力が供給される2つの連続したインバータ50,51を挿入した例である。また、図8の(d)の符号を付した図は、XORゲート13の出力とインバータ11の入力との間に、制御信号等の別系統の信号(×1)が供給されるXORゲート52、およびXORゲート13の出力と、制御信号等の別系統の信号(×2)が供給されるORゲート53を挿入した例である。いずれの場合も、遅延回路として追加した各ゲート45〜53により、リング発振器3の発振周波数を遅くすることができる。また、別系統の信号(×1または×2)を供給することで、リング発振器3の初期値等を制御できる。
次に、図9は、リング発振器3を、一つのインバータ11と、主に発振周波数を遅くするための、いくつかのゲートで形成した例である。具体的には、図9の(a)の符号を付した図に示すリング発振器3は、リング発振器3の出力およびトリガが入力されるNANDゲート55と、NANDゲート55の出力を反転してインバータ11に供給するインバータ54を備える例である。同様に、図9の(b)の符号を付した図に示すリング発振器3は、リング発振器3の出力を反転するインバータ57と、インバータ57の出力およびトリガに対応する出力をインバータ11に供給するNANDゲート56とを備える例である。また、図9の(c)の符号を付した図に示すリング発振器3は、リング発振器3の出力を反転するインバータ60と、インバータ60の出力を反転するインバータ59と、インバータ59の出力およびトリガに対応する出力をインバータ11に供給するORゲート58とを備える例である。また、図9の(d)の符号を付した図に示すリング発振器3は、リング発振器3の出力および第2トリガ(trigger2)が入力されるORゲート62と、ORゲート62の出力および第1トリガ(trigger1)に対応する出力をインバータ11に供給するXORゲート61とを備える例である。いずれの場合も、遅延回路として追加した各ゲート54〜62により、リング発振器3の発振周波数を遅くすることができる。また、トリガで発振タイミングの制御等を行うことができる。
図7〜図9を用いて説明したように、リング発振器3に、インバータ、AND回路、OR回路等の追加ゲート回路を入れることで、リング発振器3の発振周波数を少しでも落とした場合、上述のIDは、より強く発現する。このため、第4の実施の形態のID生成システムは、発振周波数を遅くして、IDを生成し易くすることができる(IDの発生を強くすることができる)。なお、リング発振器3を複数設けた場合、および一つのみ設けた場合、いずれの場合も、上述の効果を得ることができる。
(第5の実施の形態)
次に、第5の実施の形態のID生成システムの説明をする。この第5の実施の形態のID生成システムは、隣接または近接する2つ以上のリング発振器3の出力の差分からIDを生成することで、各リング発振器3が受ける外部物理環境の変化を軽減した例である。なお、上述の各実施の形態と、以下に説明する第5の実施の形態とでは、この点のみが異なる。このため、以下、両者の差異のみ説明し、重複説明は省略する。
隣接または近接した各リング発振器3は、略々同じ物理的な外部物理環境の変化の影響を受ける可能性が大きい。例えば、乱数生成回路1に温度変化が生じた場合、多数のリング発振器が同時に同じ温度変化による影響を受けるものと考えらえる。このようなことから、隣接または近接した複数のリング発振器3の出力の差分をとれば、リング発振器3の外部物理環境の変化による影響を軽減できる。なお、以下、リング発振器3を複数設けた場合を例として説明するが、リング発振器3を一つのみ設けた場合も後述する同じ効果を得ることができる。
図10〜図12は、隣接するリング発振器3間にXORゲートを挿入した例を示している。すなわち、図10の例は、第1XORゲート71aにより、第1発振器および第2発振器の各出力の差分を検出して第1レジスタに記憶し、第2XORゲート71bにより、第2発振器および第3発振器の各出力の差分を検出して第2レジスタに記憶し、以下同様に第15XORゲート71oにより、第15発振器および第16発振器の各出力の差分を検出して第15レジスタに記憶した例である。第1XORゲート71a〜第15XORゲート71oは、差分検出部の一例である。ID生成回路2のCPU20は、第1〜第15レジスタに記憶された、隣接するリング発振器3間の差分でIDを生成する。これにより、リング発振器3の外部物理環境の変化による影響を軽減して、正確かつ安定したIDを生成可能とすることができる。
図11の例は、1段目のXORゲートで、隣接する各リング発振器3の出力の差分を検出し、さらに、2段目のXORゲートで、1段目のXORゲートで検出した各差分の差分を検出した例である。この例の場合、図11の第1XORゲート72a〜第15XORゲート72oが1段目のXORゲートとなる。また、図11の第1XORゲート73a〜第14XORゲート73nが2段目のXORゲートとなる。第1XORゲート72a〜第15XORゲート72o、および第1XORゲート73a〜第15XORゲート73nが、差分検出部の一例である。1段目となる第1XORゲート72a〜第15XORゲート72oは、それぞれ隣接する第1〜第16発振器の出力の差分をそれぞれ検出する。2段目となる第1XORゲート73a〜第14XORゲート73nは、1段目の各XORゲート72a〜72oで検出された隣接する差分の差分を検出し、それぞれ第1レジスタ〜第14レジスタに記憶する。ID生成回路2のCPU20は、第1〜第14レジスタに記憶された、上述の差分の差分でIDを生成する。これにより、リング発振器3の外部物理環境の変化による影響をさらに軽減でき、さらに正確かつ安定したIDを生成可能とすることができる。
図12の例は、第1〜第16発振器からの出力を記憶する第1〜第16レジスタのうち、隣接するレジスタの出力の差分を、第1XORゲート74a〜第15XORゲート74oで検出した例である。第1XORゲート74a〜第15XORゲート74oは、差分検出部の一例である。ID生成回路2のCPU20は、隣接するレジスタの出力の差分でIDを生成する。これにより、リング発振器3の外部物理環境の変化による影響を軽減でき、正確かつ安定したIDを生成可能とすることができる。
なお、XORゲートの代わりにバイナリカウンタを設け、隣接するリング発振器3のカウンタの数で二つのリング発振器3間のデータの差を検知してもよい。また、図10〜図12の例は、2つのリング発振器3のXORゲート動作を取得することを示しているが、3つ以上のリング発振器3の出力の差をXORゲートまたはカウンタ等で取得した結果をID生成に使用してもよい。
また、CPU20が上述のXORゲートの動作を行ってもよい。この場合、任意の二つのリング発振器3のデータの排他的論理輪をとることが可能である。例えば、まず2つずつのリング発振器3の動作開始時データのXORを取り、それを最初の64ビットデータとする。このようなペアを4つ生成してそれぞれ結合することにより、256ビットの鍵を生成することができる。このペアのとり方により、生成可能な鍵は4!通り(4×3×2×1通り)となる。
また、取得したデータからIDを補正する場合、「ハミング符号」、「BCH(Bose-Chaudhuri-Hocquenghem)」、「Reed-Solomon符号」、「畳み込み符号」等のエラー訂正方法を用いることができる。また、データを離散フーリエ変換したデータを用いることができる。これは物理的外因でデータが変化した場合に、0と1の構造の特徴を捉えられるためである。
また、1の出現回数等の乱数検定法で取得したデータと合わせて、ID認定に用いてもよい。ここで用いる乱数検定方法はNIST−SP800−22またはAIS31等の検定方法を用いることができる。NISTは、「National Institute of Standards and Technology」の略記である。SP800は、NISTのコンピュータセキュリティ担当部門(CSD:Computer Security Division)が発行するコンピュータセキュリティ関連のガイドラインである。AIS31は、ハードウェア乱数発生器のためのCC評価国内ガイドラインである。CCは、情報セキュリティ国際評価基準(Common Criteria)の略記である。
また温度変化対策として、温度センサー回路を挿入することにより、リング発振器3にかかる温度を検知し、ソフトウェア制御で温度変化で受けた影響を補正してもよい。
次に、図13〜図16に、実施の形態のID生成システムの使用例を示す。図13に示す使用例は、実施の形態のID生成システムが適用されているICカード80をATM(Automated Teller Machine)81に近づけたとき、サーバ装置からATMを通して、ICカード80にユーザのIDを読む命令が送られる(チャレンジ)。この命令により、ユーザのICカード80の乱数生成回路1の0と1のパターン(ビット列)がIDとして読み込まれ、そのパターン情報がサーバ側に送られる(レスポンス)。
サーバ装置側には、読み出し回数および書き込み回数等を考慮した劣化変化から予測されるユーザのIDパターンが登録されている。サーバ装置は、この登録されているIDパターンと、レスポンスで受信したユーザのICカード80のIDパターンとが一致しているか否かを確認する。両者が一致していれば、ユーザ認証が成立する。
図13は、ICカード80に実施の形態のID生成システムを適用した例であったが、実施の形態のID生成システムは、図14に示すように、ICカード80の他に、携帯電話機、スマートフォン、タブレットPC等のあらゆるモバイル端末82に適用できる。この場合、モバイルリーダ83を介して認証プロセスが実行される。
図15および図16は、機械対機械(M2M)の相互認証に、実施の形態のID生成システムを適用した例である。図15の例は、サーバ装置85,86間の認証、サーバ装置85またはサーバ装置86と個人用パーソナルコンピュータ装置87との間の認証例である。サーバ装置86およびサーバ装置88間の信号の送受信のように、無線または電波を用いて認証プロセスを実行してもよい。図16は、サーバ装置90とネットワーク対応の複合機91、サーバ装置90とネットワーク対応の自動販売機92、ネットワーク対応の複合機91とネットワーク対応の自動販売機92、電力メータ、ガスメータ等のスマートメータ93と検針機94、および検針機94とサーバ装置95の相互認証に、それぞれ実施の形態のID生成システムを適用した例である。各機器90〜95間において、無線または電波を用いて認証プロセスを実行してもよい。
最後に、図17に、実施の形態のID生成システムを適用したICカード等の電子デバイスのブロック図を示す。この電子デバイスは、図17に示すように、メモリ101、CPU102、入力制御部103、PUF(Physically Unclonable Function)回路104、セキュリティ・認証回路105、および出力制御部106を有する。メモリ101〜出力制御部106は、システムバス108を介して相互に接続されている。なお、PUF回路104が、図1等を用いて説明したID生成システムとなっている。
図17に示す電子デバイスにおいて、入力信号(チャレンジ)は、セキュリティ・認証回路105にレスポンス要求を行う。セキュリティ・認証回路105は、電子デバイス内のPUF回路104にアクセスし、PUF回路104から上述のIDを取得する。出力制御部106は、取得されたIDをサーバ装置に送信する(レスポンス)。サーバ装置は、上述のように電子デバイスから取得したIDと、予測される欠陥ばらつきの変化とを照合することでIDを確認し、ユーザ認証を行う。
以上、各実施の形態を説明したが、各実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な各実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。例えば、上述の各実施の形態の説明では、乱数生成回路1には、リング発振器3が複数設けられていることとして説明した。これは、リング発振器3を一つのみ設けた場合でも、リング発振器3を複数設けた場合と同じ効果を得ることができる。各実施の形態およびその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 乱数生成回路
2 ID生成回路
3 リング発振器
4 平滑化回路
5 乱数検定回路
6 出力補正/誤り訂正部
7 訂正符号発生部
8 ハッシュ関数部
11 インバータ
12 セレクタ
13 XORゲート
14 レジスタ
20 CPU
31 XORゲート
32 フリップフロップ

Claims (12)

  1. 乱数を発生する複数の乱数発生部と、
    前記各乱数発生部が起動されてから、安定した乱数が生成されるまでの期間に、前記各乱数発生部により生成された乱数をそれぞれ記憶する記憶部と、
    前記記憶部に記憶された各乱数を用いて識別情報を生成する生成部と
    を有するID生成装置。
  2. 前記記憶部から読み出された前記各乱数発生部の乱数を平均化する平滑部を、さらに備えること
    を特徴とする請求項1に記載のID生成装置。
  3. 前記各乱数発生部は、発振速度を遅延させる遅延回路を、さらに備えること
    を特徴とする請求項1または請求項2に記載のID生成装置。
  4. 近接する前記各乱数発生部からの乱数の差分を検出する差分検出部を、さらに備え、
    前記生成部は、前記差分検出部で検出された前記差分を用いて前記識別情報(ID)を生成すること
    を特徴とする請求項1から請求項3のうち、いずれか一項に記載のID生成装置。
  5. 2つ以上の前記乱数発生部の乱数の差分を検出する検出部を、さらに備え、
    前記生成部は、前記検出部で検出された前記差分を用いて前記識別情報(ID)を生成すること
    を特徴とする請求項1から請求項4のうち、いずれか一項に記載のID生成装置。
  6. 前記各乱数発生部は、それぞれ奇数個のインバータをリング状に接続して形成されたリング発振器であること
    を特徴とする請求項1から請求項5のうち、いずれか一項に記載のID生成装置。
  7. 前記記憶部は、前記各乱数発生部の起動時に最初に生成された乱数をそれぞれ記憶すること
    を特徴とする請求項1から請求項6のうち、いずれか一項に記載のID生成装置。
  8. 複数の乱数発生部がそれぞれ乱数を生成する乱数生成ステップと、
    記憶部が、前記各乱数発生部が起動されてから、安定した乱数が生成されるまでの期間に、前記各乱数発生部により生成された乱数をそれぞれ記憶する記憶ステップと、
    生成部が、前記記憶部に記憶された前記各乱数発生部で生成された乱数を用いて識別情報を生成する生成ステップと
    を有するID生成方法。
  9. 乱数を発生する複数の乱数発生部と、
    前記各乱数発生部が起動されてから、安定した乱数が生成されるまでの期間に、前記各乱数発生部で生成された乱数をそれぞれ記憶する記憶部と、
    前記記憶部に記憶された各乱数を用いて識別情報を生成する生成部と、
    生成された前記識別情報に、誤り訂正符号を付加する符号付加部と、
    前記誤り訂正符号が付加された前記識別情報に、ハッシュ関数を付加して出力する関数付加部と
    を有するID生成システム。
  10. 乱数を発生する乱数発生部と、
    前記乱数発生部が起動されてから、安定した乱数が生成されるまでの期間に、前記乱数発生部により生成された乱数を記憶する記憶部と、
    前記記憶部に記憶された乱数を用いて識別情報を生成する生成部と
    を有するID生成装置。
  11. 乱数発生部が乱数を生成する乱数生成ステップと、
    記憶部が、前記乱数発生部が起動されてから、安定した乱数が生成されるまでの期間に、前記乱数発生部により生成された乱数を記憶する記憶ステップと、
    生成部が、前記記憶部に記憶された前記乱数発生部で生成された乱数を用いて識別情報を生成する生成ステップと
    を有するID生成方法。
  12. 乱数を発生する乱数発生部と、
    前記乱数発生部が起動されてから、安定した乱数が生成されるまでの期間に、前記乱数発生部で生成された乱数を記憶する記憶部と、
    前記記憶部に記憶された乱数を用いて識別情報を生成する生成部と、
    生成された前記識別情報に、誤り訂正符号を付加する符号付加部と、
    前記誤り訂正符号が付加された前記識別情報に、ハッシュ関数を付加して出力する関数付加部と
    を有するID生成システム。
JP2013273275A 2013-12-27 2013-12-27 Id生成装置、id生成方法、およびid生成システム Active JP6030050B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013273275A JP6030050B2 (ja) 2013-12-27 2013-12-27 Id生成装置、id生成方法、およびid生成システム
PCT/JP2014/074730 WO2015098207A1 (ja) 2013-12-27 2014-09-18 Id生成装置、id生成方法、およびid生成システム
US15/193,354 US20160330023A1 (en) 2013-12-27 2016-06-27 Id generating device, id generating method, and id generating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013273275A JP6030050B2 (ja) 2013-12-27 2013-12-27 Id生成装置、id生成方法、およびid生成システム

Publications (2)

Publication Number Publication Date
JP2015127757A JP2015127757A (ja) 2015-07-09
JP6030050B2 true JP6030050B2 (ja) 2016-11-24

Family

ID=53478089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013273275A Active JP6030050B2 (ja) 2013-12-27 2013-12-27 Id生成装置、id生成方法、およびid生成システム

Country Status (3)

Country Link
US (1) US20160330023A1 (ja)
JP (1) JP6030050B2 (ja)
WO (1) WO2015098207A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6239471B2 (ja) 2014-09-19 2017-11-29 株式会社東芝 認証システム、認証装置および認証方法
JP6419614B2 (ja) 2015-03-17 2018-11-07 株式会社東芝 データ生成装置および認証システム
KR102656990B1 (ko) * 2015-08-06 2024-04-12 인트린직 아이디 비브이 물리적 복제 방지 기능을 갖는 암호화 디바이스
JP6591294B2 (ja) * 2016-01-13 2019-10-16 Kddi株式会社 識別情報生成装置、識別情報生成方法及び識別情報生成プログラム
JP6623473B2 (ja) * 2016-01-22 2019-12-25 国立研究開発法人産業技術総合研究所 偽造防止回路
JP6495853B2 (ja) 2016-03-16 2019-04-03 株式会社東芝 データ生成装置、電子デバイスおよび認証システム
JP6585018B2 (ja) * 2016-09-12 2019-10-02 株式会社東芝 認証サーバ、認証システムおよび認証方法
US9912479B1 (en) * 2017-06-09 2018-03-06 ISARA Corporation Key encapsulation mechanisms
US10454681B1 (en) 2017-11-17 2019-10-22 ISARA Corporation Multi-use key encapsulation processes
US10031795B1 (en) 2017-12-22 2018-07-24 ISARA Corporation Using conversion schemes in public key cryptosystems
US10061636B1 (en) 2017-12-22 2018-08-28 ISARA Corporation Conversion schemes for public key cryptosystems
JP2019121884A (ja) 2017-12-28 2019-07-22 三菱重工業株式会社 集積回路、制御装置、情報配信方法及び情報配信システム
US10256974B1 (en) * 2018-04-25 2019-04-09 Blockchain Asics Llc Cryptographic ASIC for key hierarchy enforcement
CN110489351B (zh) * 2018-05-14 2021-03-09 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
CN109508174A (zh) * 2018-11-05 2019-03-22 杭州电子科技大学 一种单级真随机数发生器
CN109460212A (zh) * 2018-11-05 2019-03-12 杭州电子科技大学 一种单级真随机数的产生方法
US11784835B2 (en) * 2021-02-24 2023-10-10 Nvidia Corp. Detection and mitigation of unstable cells in unclonable cell array
CN115002078B (zh) * 2022-05-11 2024-04-09 北京奇艺世纪科技有限公司 一种id生成方法及装置
US12412848B2 (en) 2022-07-04 2025-09-09 United Microelectronics Corp. Physical unclonable function generator and manufacturing method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4471901B2 (ja) * 2005-07-28 2010-06-02 株式会社ルネサステクノロジ 乱数発生装置
JP5831202B2 (ja) * 2011-12-20 2015-12-09 富士通株式会社 個体別情報生成装置及び個体別情報生成方法

Also Published As

Publication number Publication date
WO2015098207A1 (ja) 2015-07-02
JP2015127757A (ja) 2015-07-09
US20160330023A1 (en) 2016-11-10

Similar Documents

Publication Publication Date Title
JP6030050B2 (ja) Id生成装置、id生成方法、およびid生成システム
US9712166B2 (en) Data generating device and authentication system
US10439613B2 (en) Integrated circuit for physically unclonable function and device including the same
KR101681219B1 (ko) 링 오실레이터 기반 물리적으로 클론가능하지 않은 기능 및 연령 검출 회로를 사용하는 집적 회로 식별 및 의존성 검증
US20150188718A1 (en) Providing a Cryptographic Key
US10217498B2 (en) Techniques for preventing tampering with PROM settings
US12040805B2 (en) Ring oscillator, random number generator including the same, and operation method of random number generator
US10223532B2 (en) Protection of data stored in a volatile memory
CN109660349B (zh) 用于配置应答器的方法、应答器和基站
US10289831B2 (en) Display driver integrated circuit for certifying an application processor and a mobile apparatus having the same
US20160110165A1 (en) Quality detecting method, random number generator, and electronic device
US20210250188A1 (en) System and method for generating and authenticating a physically unclonable function
CN109753821B (zh) 数据存取装置及方法
US10402248B2 (en) Method for controlling error rate of device-specific information and program for controlling error rate of device-specific information
US20120331290A1 (en) Method and Apparatus for Establishing Trusted Communication With External Real-Time Clock
CN107646130A (zh) 用于生成电子电路固有的值的方法、生成该值的电子电路以及用于使用这样的值的方法
CN111448815A (zh) 安全rfid标签识别
US20150371719A1 (en) Systems and methods for testing performance of memory modules
JP3748857B2 (ja) 半導体集積回路とこれを搭載したデータキャリア
US20200341734A1 (en) Information processing device and random number generating method
CN114723443A (zh) 基于支付令牌执行支付的支付终端和支付装置及其操作方法
TW201346773A (zh) 對電子晶片進行驗證的方法與使用者終端
JP2007257166A (ja) 汎用論理回路

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160829

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161019

R151 Written notification of patent or utility model registration

Ref document number: 6030050

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151