図面 (/)

技術 データ生成装置および認証システム

出願人 株式会社東芝
発明者 棚本哲史安田心一藤田忍
出願日 2015年3月17日 (5年9ヶ月経過) 出願番号 2015-053325
公開日 2016年9月29日 (4年3ヶ月経過) 公開番号 2016-174279
状態 特許登録済
技術分野 記憶装置の機密保護 オンライン・システムの機密保護 暗号化・復号化装置及び秘密通信
主要キーワード 面積制限 検定回路 初期ばらつき ID生成回路 デバイスばらつき LC発振器 温度計測装置 リング発振
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年9月29日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

PUFを利用したデータ生成装置および認証システムを提供すること。

解決手段

実施形態にかかるデータ生成装置は、リング発振器と、前記リング発振器の出力がそれぞれ入力されるデータ入力端子クロック端子とを備え、前記リング発振器の出力の値を決定するフリップフロップと、前記リング発振器の起動初期に前記フリップフロップによって決定された前記リング発振器の出力の値に基づいて認証用のIDを生成する生成部と、を備えてもよい。

概要

背景

近年、通信速度の向上およびクラウドコンピュテイング進展により、近接場型の無線通信(Near Field Communication:NFC)の利用が急拡大している。NFCは、キャッシュカードクレジットカードなどのICカードのほか、スマートフォンに搭載される電子マネー電車バスなどの乗車券等に使用されるスマートカードとして利用されることが一般的である。このようなNFCでは、個人を特定するID特定機能におけるセキュリティ強化が課題である。

また近年では、個人的なデータを保存するためだけに用いられてきたメモリーカード等にもID特定機能が搭載されつつあるなど、携帯型デバイスにおけるID特定機能の高度化が技術的な課題となっている。

このような背景の中で、個々のデバイスばらつきを“チップ指紋”として利用する研究開発が進められている。これらは、Physically Unclonable Function(PUF)として知られている。

PUFの中で現在一番研究されているのが、SRAM(Static Random Access Memory)−PUFである。SRAM−PUFは、SRAMを構成する2つのインバータの製造時のばらつきを利用する技術である。なかでも最も有名なRAM−PUF〔1−3〕は、上記のセキュリティIPやICカードなどに適用されている。また、電子デバイス初期ばらつきを利用する提案として、不揮発メモリへの応用も検討されている。

概要

PUFを利用したデータ生成装置および認証システムを提供すること。実施形態にかかるデータ生成装置は、リング発振器と、前記リング発振器の出力がそれぞれ入力されるデータ入力端子クロック端子とを備え、前記リング発振器の出力の値を決定するフリップフロップと、前記リング発振器の起動初期に前記フリップフロップによって決定された前記リング発振器の出力の値に基づいて認証用のIDを生成する生成部と、を備えてもよい。

目的

このようなNFCでは、個人を特定するID特定機能におけるセキュリティの強化が課題である

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

リング発振器と、前記リング発振器の出力がそれぞれ入力されるデータ入力端子クロック端子とを備え、前記リング発振器の出力の値を決定するフリップフロップと、前記リング発振器の起動初期に前記フリップフロップによって決定された前記リング発振器の出力の値に基づいて認証用のIDを生成する生成部と、を備えるデータ生成装置

請求項2

第1および第2のリング発振器と、前記第1のリング発振器の出力が入力されるデータ入力端子と、前記第2のリング発振器の出力が入力されるクロック端子とを備え、前記第1のリング発振器の出力の値を決定するフリップフロップと、前記第1のリング発振器の起動初期に前記フリップフロップによって決定された前記第1のリング発振器の出力の値に基づいて認証用のIDを生成する生成部と、を備えるデータ生成装置。

請求項3

前記第2のリング発振器の設計周波数は、前記第1のリング発振器の設計周波数の3倍以下である請求項2に記載のデータ生成装置。

請求項4

前記リング発振器は、印加電圧電圧値に応じて発振周波数が変化する発振器である請求項1または2に記載のデータ生成装置。

請求項5

前記リング発振器は、システムクロック周波数よりも高い周波数で動作し、前記生成部は、前記システムクロックの1サイクルの間に前記フリップフロップによって決定された前記リング発振器の起動初期の前記値、または、前記システムクロックの複数サイクルの間に前記フリップフロップによって決定された前記リング発振器の起動初期の前記値の平均値に基づいて、前記IDを生成する請求項1または2に記載のデータ生成装置。

請求項6

前記第1および第2のリング発振器よりも設計周波数が低い第3のリング発振器と、前記第2のリング発振器の出力と前記第3のリング発振器の出力とを入力し、該2つの入力のうち一方を択一的に出力するセレクタと、をさらに備え、前記フリップフロップの前記クロック端子には、前記セレクタを介して前記第2または第3のリング発振器の出力が入力される請求項2に記載のデータ生成装置。

請求項7

第1および第2のリング発振器と、前記第1および第2のリング発振器の出力を結合させるゲート回路と、前記ゲート回路から出力された値に基づいて認証用のIDを生成する生成部と、を備えるデータ生成装置。

請求項8

複数のリング発振器と、前記複数のリング発振器の出力の値を決定するフリップフロップと、前記フリップフロップによって決定された前記値に基づいて認証用のIDを生成する生成部と、前記複数のリング発振器と前記フリップフロップとを結ぶ配線に接続され、前記複数のリング発振器の出力を結合する回路と、を備えるデータ生成装置。

請求項9

複数のリング発振器と、前記複数のリング発振器の出力の値を決定するラッチ回路と、前記ラッチ回路によって決定された前記値に基づいて認証用のIDを生成する生成部と、前記複数のリング発振器と前記ラッチ回路とを結ぶ配線に接続され、前記複数のリング発振器の出力を結合する回路と、を備えるデータ生成装置。

請求項10

前記生成部は、入力された前記値に対する誤り訂正機能を含む請求項1〜9のいずれか一項に記載のデータ生成装置。

請求項11

請求項1〜10のいずれか一項に記載のデータ生成装置と、温度を検出する温度センサと、IDを記憶するメモリと、制御部と、を備え、前記制御部は、前記温度センサで検出された温度が所定温度範囲内にない場合、前記メモリから前記IDを取得する認証システム

請求項12

前記所定温度範囲は、常温の範囲である請求項11に記載の認証システム。

請求項13

請求項4に記載のデータ生成装置と、制御部と、を備え、前記制御部は、前記生成部で生成されるIDが一定となるように、前記リング発振器に印加する前記印加電圧の電圧値を調整する認証システム。

請求項14

温度を検出する温度センサをさらに備え、前記制御部は、前記温度センサで検出された温度が所定温度範囲内にない場合、前記生成部で生成されるIDが一定となるように、前記リング発振器に印加する前記印加電圧の電圧値を調整する請求項13に記載の認証システム。

請求項15

請求項1〜10のいずれか一項に記載のデータ生成装置と、外部の温度に反応して変化する温度データを発生する温度計測装置と、温度とIDとを対応付けて記憶するメモリと、制御部と、を備え、前記制御部は、前記温度計測装置が発生した温度データから該当するIDを特定し、該特定したIDと前記データ生成装置から取得したIDとを用いて前記データ生成装置に対する認証を実行する認証システム。

請求項16

前記温度計測装置は、リング発振器を備える請求項15に記載の認証システム。

技術分野

0001

本発明の実施形態は、データ生成装置および認証システムに関する。

背景技術

0002

近年、通信速度の向上およびクラウドコンピュテイング進展により、近接場型の無線通信(Near Field Communication:NFC)の利用が急拡大している。NFCは、キャッシュカードクレジットカードなどのICカードのほか、スマートフォンに搭載される電子マネー電車バスなどの乗車券等に使用されるスマートカードとして利用されることが一般的である。このようなNFCでは、個人を特定するID特定機能におけるセキュリティ強化が課題である。

0003

また近年では、個人的なデータを保存するためだけに用いられてきたメモリーカード等にもID特定機能が搭載されつつあるなど、携帯型デバイスにおけるID特定機能の高度化が技術的な課題となっている。

0004

このような背景の中で、個々のデバイスばらつきを“チップ指紋”として利用する研究開発が進められている。これらは、Physically Unclonable Function(PUF)として知られている。

0005

PUFの中で現在一番研究されているのが、SRAM(Static Random Access Memory)−PUFである。SRAM−PUFは、SRAMを構成する2つのインバータの製造時のばらつきを利用する技術である。なかでも最も有名なRAM−PUF〔1−3〕は、上記のセキュリティIPやICカードなどに適用されている。また、電子デバイス初期ばらつきを利用する提案として、不揮発メモリへの応用も検討されている。

0006

特開2012−073954号公報
米国特許第8583710号明細書
特開2000−235636号公報
特開2014−102768号公報
特開2006−139756号公報

先行技術

0007

J. Guajardo, S. S. Kumar, G. J. Schrijen, and P. Tuyls, “FPGA Intrinsic PUFs and Their Use for IP Protection,” CHES 2007 LNCS, vol. 4727/2007, pp. 63-80, Springer, Heidelberg, 2007.
L. R. Rabiner, “A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition,” proc.IEEE, Vol. 77, No. 2, pp. 257-286, 1989.

発明が解決しようとする課題

0008

以下の実施形態では、PUFを利用したデータ生成装置および認証システムを提供することを目的とする。

課題を解決するための手段

0009

実施形態にかかるデータ生成装置は、前記リング発振器の出力がそれぞれ入力されるデータ入力端子クロック端子とを備え、前記リング発振器の出力の値を決定するフリップフロップと、前記リング発振器の起動初期に前記フリップフロップによって決定された前記リング発振器の出力の値に基づいて認証用のIDを生成する生成部と、を備えてもよい。

0010

また、実施形態にかかるデータ生成装置は、第1および第2のリング発振器と、前記第1のリング発振器の出力が入力されるデータ入力端子と、前記第2のリング発振器の出力が入力されるクロック端子とを備え、前記第1のリング発振器の出力の値を決定するフリップフロップと、前記第1のリング発振器の起動初期に前記フリップフロップによって決定された前記第1のリング発振器の出力の値に基づいて認証用のIDを生成する生成部と、を備えてもよい。

0011

また、実施形態にかかるデータ生成装置は、第1および第2のリング発振器と、前記第1および第2のリング発振器の出力を電気的にまたは配線容量を介して結合させるゲート回路と、前記ゲート回路から出力された値に基づいて認証用のIDを生成する生成部と、を備えてもよい。

0012

また、実施形態にかかるデータ生成装置は、複数のリング発振器と、前記複数のリング発振器の出力の値を決定するフリップフロップと、前記フリップフロップによって決定された前記値に基づいて認証用のIDを生成する生成部と、前記複数のリング発振器の出力が相関を持つよう、前記複数のリング発振器と前記フリップフロップとを結ぶ配線に接続され、前記複数のリング発振器の出力を結合する配線と、を備えてもよい。

0013

また、実施形態にかかるデータ生成装置は、複数のリング発振器と、前記複数のリング発振器の出力の値を決定するラッチ回路と、前記ラッチ回路によって決定された前記値に基づいて認証用のIDを生成する生成部と、前記複数のリング発振器の出力が相関を持つよう、前記複数のリング発振器と前記フリップフロップとを結ぶ配線に接続され、前記複数のリング発振器の出力を結合する配線と、を備えてもよい。

図面の簡単な説明

0014

図1は、実施形態1にかかるPUF生成回路の一例を示す図。
図2は、実施形態2にかかるPUF生成回路の一例を示す図。
図3は、実施形態2にかかるPUF生成回路の変形例を示す図。
図4は、実施形態2にかかるリング発振器の他の例を示す図。
図5は、実施形態2にかかるリング発振器のさらに他の例を示す図。
図6は、実施形態2またはその変形例によるPUF生成回路で実際に得られたPUFデータの一例を示す図。
図7は、実施形態3にかかるPUF生成回路の一例を示す図。
図8は、VCOの例を示す図。
図9は、他のVCOの例を示す図。
図10は、さらに他のVCOの例を示す図。
図11は、実施形態4にかかるPUF生成回路の一例を示す図。
図12は、実施形態5にかかるPUF生成回路の一例を示す図。
図13は、実施形態5によるPUF生成回路で実際に得られたPUFデータの一例を示す図。
図14は、乱数生成回路の比較例を示す図。
図15は、図14に示す乱数生成回路におけるリング発振器から出力された発振波形の一例を示す図。
図16は、実施形態6にかかるPUF生成回路の一例を示す図。
図17は、上述において例示されたリング発振器を備えたPUF生成回路の構成例を示す図。
図18は、上述において例示されたリング発振器を備えたPUF生成回路の他の構成例を示す図。
図19は、上述において例示されたリング発振器を備えたPUF生成回路のさらに他の構成例を示す図。
図20は、実施形態7にかかるデータ生成装置の概略構成例を示すブロック図。
図21は、実施形態8にかかるPUF生成回路の一例を示す図。
図22は、実施形態9にかかるPUF生成回路の一例を示す図。
図23は、実施形態9にかかるPUF生成回路の他の例を示す図。
図24は、実施形態9にかかるPUF生成回路の他の例を示す図。
図25は、実施形態9にかかるPUF生成回路の他の例を示す図。
図26は、実施形態9にかかるPUF生成回路の他の例を示す図。
図27は、実施形態9にかかるPUF生成回路の他の例を示す図。
図28は、実施形態9にかかるPUF生成回路の他の例を示す図。
図29は、実施形態9にかかるPUF生成回路の他の例を示す図。
図30は、実施形態10にかかるPUF生成回路の一例を示す図。
図31に、図30に示すPUF生成回路の動作例を示す図。
図32は、実施形態11にかかる認証システムを備えた電子デバイスの概略構成例を示す図。
図33は、実施形態12にかかる電子デバイスの動作例を示す図。
図34は、実施形態13にかかる電子デバイスの動作例を示す図。
図35は、リング発振器の発振周波数と温度との関係を示す図。
図36は、実施形態14にかかるデータ生成装置の概略構成例を示すブロック図。
図37は、図36に示したリング発振器を利用した温度計測装置より取得された実験データを示す図。
図38は、図36に示したリング発振器を利用した温度計測装置より取得された他の実験データを示す図。
図39は、図36に示すデバイスより得られた実際の照合結果の例を示す図。
図40は、リング発振器の他の例を示す図。
図41は、リング発振器の他の例を示す図。
図42は、リング発振器の他の例を示す図。
図43は、リング発振器の他の例を示す図。
図44は、リング発振器の他の例を示す図。
図45は、リング発振器の他の例を示す図。
図46は、リング発振器の他の例を示す図。
図47は、リング発振器の他の例を示す図。
図48は、リング発振器の他の例を示す図。
図49は、リング発振器の他の例を示す図。
図50は、リング発振器の他の例を示す図。
図51は、リング発振器の他の例を示す図。
図52は、リング発振器の他の例を示す図。

実施例

0015

以下、添付図面を参照しながら、例示する実施形態にかかるデータ生成装置および認証システムを詳細に説明する。

0016

PUFの一つとして、乱数源を利用したPhysical Unclonable Function(以下、乱数PUFという)が存在する。乱数PUFは、乱数生成回路などの乱数源をそのまま用いることができるという利点を持っている。また、乱数生成回路の出力データが時間的に連続したデータであるため、データ同士が相関を持つという特徴を持っている。

0017

PUFは、ノイズを含むデータから安定して情報を抽出することが可能なFuzzy Extractorと組み合わされることにより、複製困難なデバイス固有鍵を生成することが可能である。

0018

ただし、PUFは、物理デバイスである乱数源を用いているため、温度や外来ノイズなど、外部の物理的な環境に影響される可能性がある。そこで以下の実施形態では、外部の物理的な環境による影響を軽減することが可能なデータ生成装置および認証システムを提供する。言い換えれば、以下の実施形態では、外部環境に対するロバスト性に優れたPUF回路を備えるデータ生成装置および認証システムを実現することが可能となる。

0019

一般的な環境下では、PUFを構成するトランジスタの特性が温度変化などの環境に影響されることを無視できない。回路内に複数個存在するPUF生成回路が同じ環境の影響を受ける場合、その外部からの影響を軽減するのには、PUF生成回路間の特性の差をIDに関連づけることが有効となる。2つの回路の相関を強くする方法としては、回路間を配線で結合する方法が存在する。配線で結びつけられたPUF生成回路の特性差を利用することにより、外部環境の影響を減らすことができる。

0020

通常、商用ベースの回路の保障動作範囲は、−20℃から90℃くらいまである。室温付近回路動作は、上記の方法で対応できるが、−20℃近辺、あるいは90℃近辺では温度の振る舞いを回路間の差分で吸収できない場合がある。そのような場合、温度センサを用いることが有効である。サーバ側にメモリ上の余裕があれば、温度に応じたPUFのIDを記録しておいてもよい。サーバ側のメモリに余裕がない場合の対処法としては、常温の際の値をSRAMに記録しておく方法考えられる。なお、常温とは、たとえば日本工業規格(JIS)で規定された、20℃±15℃の温度範囲であってもよい。温度が常温よりも高い場合あるいは低い場合には、SRAMからその値が参照される。PUF生成回路を起動させたときの温度が高いまたは低い場合には、それらの値を不揮発メモリに入れておいてよい。

0021

実施形態1
図1は、実施形態1にかかるPUF生成回路の一例を示す図である。図1に示すように、実施形態1にかかるPUF生成回路100は、1つのリング発振器101と、フリップフロップFF1〜FF6とを含んでいる。リング発振器101の出力は、フリップフロップFF1のD端子およびフリップフロップFF1〜FF6のクロック端子CLK1〜CLK6に接続されている。また、フリップフロップFF1〜FF6からの出力には、複数段のフリップフロップFF21〜FF26が接続されている。これらのうち、フリップフロップFF1のD端子には、リング発振器101の出力が接続されている。また、フリップフロップFF21〜FF26のクロック端子CLK21〜CLK26には、一般的なシステムクロックCLKが入力されてよい。

0022

一般的な乱数生成回路では、それを構成するフリップフロップのクロック端子にシステムクロックが入力される。通常、システムクロックの周波数は、システム全体を制御する必要性から、50〜100MHz程度に設定される。これに対し、リング発振器の発振周波数は、回路を構成するインバータの遅延時間を数10ピコ秒としても、数10GHzの極めて高い周波数となる。これによれば、システムクロックが100MHzであったとすると、システムの1回のクロック動作の間に1000回以上のインバータ動作が行われる計算となる。

0023

また、PUFが回路を構成するトランジスタの製造ばらつきとそれらの相対的な配置関係を利用していることを考慮すると、インバータの反転動作は少ない方が好ましいと考えられる。これは、インバータの反転動作回数が少ないほど、外来ノイズによる影響を低減できるためである。従って、リング発振器をベースにしたPUF生成回路の場合、フリップフロップに入力するクロック周期は短い方が好ましい。最も早い周期は、リング発振器から出力された信号周期である。そのため、リング発振器の出力をそのままフリップフロップの値を決定する端子(クロック端子)に接続することが、最も望ましい構成であると考えられる。

0024

そこで、図1に示すPUF生成回路100では、リング発振器101の出力が、フリップフロップFF1〜FF6の端子に接続されている。純数学的には、この構成では常に同じ固定値が得られることが期待される。しかしながら、リング発振器101の持っているメタステーブル状態の存在、および、フリップフロップへ入力するまでの配線を厳密に同じ長さおよび同じ太さにできないことから、リング発振回路100の起動初期の段階では、リング発振器100ごとの純粋なばらつき値を得ることができる。なお、起動初期とは、たとえばリング発振器をオンしてから所定時間(たとえばシステムクロックで100サイクル程度)経過するまでの期間であってもよい。

0025

PUFでのデータ取得は、システムクロックCLKの最初の立上りまたは立下りに対する同期により実現される。PUFのデータビットは、典型的には128ビットであり、それより多い場合でも1000ビット以下である。そのため、システムクロックCLKが100MHzであってリング発振器101の周波数が20GHzである場合、200回のデータ(以下、PUFデータという)を取得することができる。200回のデータ取得のうち、一番初めのデータ取得で取得されたPUFデータをID生成に用いてもよいし、リング発振器101を複数回(たとえば2,3回)発振させることで得られたPUFデータの平均値をID生成に用いてもよい。

0026

他の例としては、システムクロックCLKが100MHzであってリング発振器101の周波数が1GHzの場合、取得できるPUFデータの数は10つである。その場合、一番初めのデータ取得で取得されたPUFデータを用いてもよいし、10回分のPUFデータの平均値を用いてもよいし、各ビットで0と1の多数決をとって多い方をとってもよい。ただし、必要とするPUFデータのビット長は、サーバなどの全体のシステムに依存する。

0027

実施形態2
図2は、実施形態2にかかるPUF生成回路の一例を示す図である。なお、図2において、上述した実施形態と同様の構成については、同一の符号を付し、その重複する説明を省略する。

0028

図2に示すように、実施形態2にかかるPUF生成回路110は、図1に示すPUF生成回路100と同様の構成において、リング発振器101がリング発振器111に置き換えられている。リング発振器111は、NAND回路112と、直接接続された2つのインバータ回路113および114とを含む。

0029

NAND回路112は、外部から入力されたトリガ信号Trigをデータ取得に利用するための回路である。2つのインバータ回路113および114は、省略されてもよい。その場合、NAND回路112の入力には、インバータ114の出力に代わり、クロック信号が入力されてもよい。

0030

ただし、FPGA(Field Programmable Gate Array)などを構成する場合など、RTL(Resistor−transfer Level)としてインバータ回路を組み込んだ方が好ましい場合が存在する。

0031

図3は、実施形態2にかかるリング発振回路101の変形例を示す。

0032

リング発振器121は、NAND回路112と、排他的論理和(XOR)回路123と、インバータ回路124とを含む。NAND回路112の一方の入力には、図2と同様に、外部からのトリガ信号が入力される。NAND回路112の他方の入力には、システムクロックCLK1が入力される。

0033

また、図4および図5に、実施形態2にかかるリング発振器の代替となり得る一般的なリング発振器の例を示す。図4に示すリング発振器900は、直列接続された奇数個のインバータ回路FF91〜FF95を含む。リング発振器900が含み得るインバータ回路の最少個数は、1つである。図5に示すリング発振器910は、直列配置された偶数個の0差動リング発振器911〜915を含む。ただし、最終段に位置する差動リング発振器915の2つの入力端子は、他の差動リング発振器911〜914のそれらとは逆の接続関係となっている。

0034

図6に、実施形態2またはその変形例によるPUF生成回路で実際に得られたPUFデータの一例を示す。図6には、16つのPUF生成回路110(120)を用いることで得られた64ビットのPUFデータが示されている。図6に示すように、16つのPUF生成回路110それぞれから出力されるPUFデータは、PUF生成回路110ごとに純粋にばらついている。

0035

実施形態3
図7は、実施形態3にかかるPUF生成回路の一例を示す図である。図7に示すように、実施形態3にかかるPUF生成回路130は、図1に示すPUF生成回路100と同様の構成において、リング発振器101の代わりに、フィードバック回路を用いたVCO(Voltage−Controlled Oscillator)131を利用している。VCO131には、外部からの制御電圧Vinと自身の出力電圧とを合成した電圧印加される。

0036

このように、フィードバック回路を用いたVCO131を図1のリング発振器101として利用することで、外部環境(たとえば温度)が変化した場合でも、その変化に応じて周波数を変化させることが可能となる。それにより、PUF生成回路130は、外部環境が変化した場合でも同じIDを出力することが可能である。

0037

なお、図8図10に、一般的なVCOの例を示す。図8図10に示す例では、リング発振器をベースとしたVCOを示すが、これは面積ができるだけ小さいID生成器が望ましいからである。面積制限のないID生成回路においては、リング発振器の代わりに、インダクタンスを有効利用したLC発振器等が用いられてもよい。

0038

実施形態4
図11は、実施形態4にかかるPUF生成回路の一例を示す図である。図11に示すように、実施形態4にかかるPUFかいろ140は、2つのリング共振器141および142を含む。2つのリング共振器141および142はともに、たとえばシステムクロックCLKと比較して高い周波数の信号を出力する。

0039

2つのリング共振器141および142のうち一方の第2リング共振器142の出力は、フリップフロップFF1〜FF6に入力される値を決定するクロック端子CLK1〜CLK6に入力される。これにより、第1リング発振器141の反転動作が一回程度の短い期間で、第1リング発振141器の初期固有値を取得することが可能となる。

0040

第2リング発振器142は、第1リング発振器141と設計上同じ周波数のリング発振器であってもよいし、やや低い周波数のリング発振器であってもよい。ここで、やや低い周波数とは、たとえば第1リング発振器141に対して2つのインバータから構成されるバッファを追加した程度の周波数であってよい。このようにバッファを追加することで、第2リング発振器142の発振周波数がやや遅くなるため、第1リング発振器141から出力されたより多くの値を取得することが可能となる。

0041

ただし、追加するバッファの数を増やすほど、温度などの外部環境の影響を受け易くなる。そのため、追加するバッファの数は少ない方が好ましい。また、2つのリング発振器141および142に、図7と同様のVCO131を用いた場合、温度などの外部環境の変化に対してより強いなPUF生成回路を構成することができる。

0042

実施形態5
図12は、実施形態5にかかるPUF生成回路の一例を示す図である。図12に示すように、実施形態5にかかるPUF生成回路150は、図11に示すPUF生成回路140における第1および第2リング発振器141および142として、典型的なリング発振器の構成を備える第1リング発振器111および第2リング発振器151を備える。第1リング発振器111は、図2に示すリング発振器111と同様の構成を備えてよい。第2リング発振器151は、第1リング発振器111と同様の構成に対して、たとえば2つのインバータ152および153が追加された構成を備えている。なお、第2リング発振器151において実際に動作するインバータの数を選択できるように、マルチプレクサを用いたセレクタ回路が第2リング発振器151内に設けられてもよい。

0043

図13に、実施形態5によるPUF生成回路で実際に得られたPUFデータの一例を示す。図13には、16つのPUF生成回路150を用いることで得られた64ビットのPUFデータが示されている。図13に示すように、16つのPUF生成回路110それぞれから出力されるPUFデータは、PUF生成回路110ごとに純粋にばらついている。また、図10に示した場合と比較して、より複雑なPUFデータが得られていることがわかる。

0044

ここで図14に、比較例としての従来の乱数生成回路の一例を示す。また、図15に、図14に示す乱数生成回路における第1および第2リング発振器921および922から出力された発振波形の一例を示す。図14および図15に示す乱数生成回路では、データのランダム性を確保するために、速い周波数の第1リング発振器921がその設計において目的の発振周波数とされた周波数(以下、設計周波数という)が、サンプリングを行う第2リング発振器922の設計周波数と大きくずれている必要がある。この大きな周波数のずれは、第1リング発振器921から出力された値をランダムに抽出するために必要な構成である。

0045

図14および図15に示す従来の乱数生成回路と、図12に示す実施形態5にかかるPUF生成回路150との相違点の1つは、PUF生成回路150の場合、エラー訂正回路などを通して同じデータパターンを得られる確率がたとえば70%以上となる点である。これは、データ取得のためのフリップフロップFF1〜FF6がシステムクロックより細かいデータをとれる構造を有しているからである。なお、ここで言うエラー訂正には、BCH(Bose−Chaudhuri−Hocquenghem)符号やReed−Solomon符号などの様々な符号を用いることが可能である。

0046

実施形態6
図16は、実施形態6にかかるPUF生成回路の一例を示す図である。図16に示すPUF生成回路160は、上述した実施形態で例示された回路と乱数生成回路との両方を採用した構成を有している。具体的には、PUF生成回路160は、比較的高い周波数の2つのリング共振器161および162と、比較的低い周波数のリング共振器163と、フリップフロップFF1とを備えている。第1および第2リング共振器161および162は、それぞれ上述した実施形態において例示されたリング発振器であってよい。

0047

上述において図14および図15を用いて説明したように、乱数生成回路では、2つのリング発振器の設計周波数の差が大きい場合にランダムな値を取得することができる。そこで実施形態6では、比較的高い周波数の第2リング発振器162の出力と、比較的低い周波数の第3リング発振器163の出力とを、セレクタ164を用いて結びつける。セレクタ164によって結ばれるリング発振器の数は、2つに限られず、3つ以上であってもよい。

0048

PUF生成回路160の動作では、たとえば第1〜第3リング発振器161〜163をオンした際に初期に得られたPUFデータを用いてIDが生成される。その際、セレクタ164は、第2リング発振器162を選択するように設定されている。その後、第1〜第3リング発振器161〜163をオンしてからから所定時間(たとえばシステムクロックで100サイクル程度)経過した後に、セレクタ164が第3リング発振器163に切り替えられる。

0049

図17図19に、上述した実施形態において例示されたリング発振器を採用した場合のPUF生成回路160の構成例を示す。

0050

図17は、第1および第2リング発振器161および162として、実施形態1または5で例示された第1および第2リング発振器111および151を採用した場合を示す。第3リング発振器163は、第1リング発振器111に対し、第2リング発振器151よりもさらに多くのインバータ回路165〜16nが追加されている。

0051

図18は、第2リング発振器162として、実施形態3において例示されたフィードバック回路を用いたVCO131を採用した場合を示す。第1および第3リング発振器161および163は、図18に示す第1および第3リング発振器161および163と同様であってよい。

0052

図19は、第1〜第3リング発振器161〜163それぞれに対して、実施形態3において例示されたフィードバック回路を用いたVCO131を採用した場合を示す。ただし、各リング発振器161〜163に入力される制御電圧Vinは、それぞれの発振周波数に応じて適宜設定される。

0053

実施形態7
実施形態7では、乱数生成回路とPUF生成回路とを組み合わせて構成されたデータ生成装置について説明する。

0054

図20は、実施形態7にかかるデータ生成装置の概略構成例を示すブロック図である。図20に示すように、データ生成装置1は、乱数生成回路300と、PUF生成回路200とを含む。この構成において、上述した実施形態にかかるPUF生成回路は、乱数・PUF生成回路170に相当する。この乱数・PUF生成回路170は、たとえば乱数生成回路300に配置されてもよい。また、乱数生成回路300は、補正回路171と、検定回路172とを含んでもよい。一方、PUF生成回路200は、隠れマルコフモデル(Hiden Markov Model:HMM)を用いたHHM認証部173と、訂正符号供給部174と、ハッシュ生成回路175とを含んでもよい。

0055

補正回路171には、乱数・PUF生成回路170の出力(OUTPUT)が入力される。補正回路171は、いくつかのリング発振器のデータをビットシフトで混ぜ合わせたり、また、同じリング発振器内のデータをフリップフロップなどを用いて平準化したりする回路であってよい。

0056

検定回路172は、たとえば乱数の出現頻度をカイ2乗検定する度数検定等を行い、乱数を出力する。

0057

HMM認証部173は、IDを生成する生成部の一例である。HMM認証部173は、補正回路171から出力されたPUFデータに対してHMMの補正を行うと共に、訂正符号供給部174から供給された誤り訂正符号を付加して出力する出力補正誤り訂正機能を有している。

0058

ハッシュ生成回路175は、HMM認証部173からの出力にハッシュ関数を付加することで暗号鍵を生成して出力する。

0059

実施形態8
図21は、実施形態8にかかるPUF生成回路の一例を示す図である。図21に示すように、実施形態8にかかるPUF生成回路180は、2つの撹拌回路181および182の出力がフリップフロップを介さずに接続された構成を有する。2つの撹拌回路181および182の出力の接続には、たとえばXOR回路183が用いられている。このような構成とすることで、2つの撹拌回路181および182の出力が配線を介して電気的に結合する。その結果、2つの撹拌回路181および182が温度変化に対して同じように振る舞うため、温度変化などの外部環境の影響を軽減することが可能となる。

0060

実施形態9
図22は、実施形態9にかかるPUF生成回路の一例を示す図である。図22に示すPUF生成回路190は、図21に示すPUF生成回路180と同様の構成において、XOR回路183の代わりに、AND回路191およびOR回路192を用いて、2つの撹拌回路181および182の出力が接続されている。このような構成とすることで、実施形態8と同様に、2つの撹拌回路181および182の出力が配線を介して電気的に結合されるため、温度変化などの外部環境の影響を軽減することが可能となる。なお、XOR回路183の代わりとしては、AND回路191およびOR回路192の他、NAND回路やNOR回路など、2入力回路であれば如何様にも変形することが可能である。

0061

また、図23図29に、2つの撹拌回路181および182を電気的に結合した他の構成例を示す。図23は、2つの撹拌回路181および182が回路素子501により電気的に結合されている。回路素子501には、たとえばAND回路、OR回路、NAND回路、XOR回路などを用いることができる。

0062

また、図24図26は、2つの撹拌回路181および182の間を、結合したインバータ(図24参照)を介して、インバータ(図25参照)を介して、または、直接(図26参照)、結合した例を示す図である。さらに、図27図29に示すように、図24図26に示す構成では、2つの撹拌回路181および182を電気的に結合する配線上にトランジスタなどのスイッチが設けられてもよい。

0063

さらにまた、2つの撹拌回路181および182の出力部分近接配置したレイアウトとすることで、2つの撹拌回路181および182を容量的に結合することも可能である。

0064

以上のようにして撹拌回路181および182間を電気的に結合することにより、温度変化に強いPUF生成回路を構成することができる。

0065

実施形態10
図30は、実施形態10にかかるPUF生成回路の一例を示す図である。図30に示すPUF生成回路210は、2つの撹拌回路181および182の出力が直接的に接続され、且つ、2つの撹拌回路181および182の出力結果が相反するようにセンスアンプ回路183が挿入された構成を備える。図31に、図30に示すPUF生成回路の動作例を示す。図31に示すように、PUF生成回路210では、まず、電圧イコライザ212がオンすることで、2つの撹拌回路181および182それぞれの出力に接続された配線の電位が等しくされる((0)PRECHARGE)。つぎに、2つの撹拌回路181および182それぞれの配線上に設けられたワードラインスイッチWS1およびWS2をオンして、2つの攪拌装置181および182を動作させる。これにより、2つの攪拌装置181および182の出力が結合する((1)ACCESS)。つぎに、センスアンプ回路211をオンすることで、2つの撹拌回路181および182それぞれの出力を“0”または“1”に決定する((2)SENSE)。これにより、より高い精度で、撹拌回路181および182の出力を得ることが可能となる。

0066

実施形態11
つぎに、実施形態11にかかる認証システムを備えた電子デバイスの概略構成例を図32に示す。図32に示すように、電子デバイス400は、CPU(Central Processing Unit)401と、SRAM等のメモリ402と、入力部403と、出力部404と、セキュリティ・認証回路405と、PUF回路406と、温度センサ407を含む。PUF回路406は、他の実施形態において例示したPUF生成回路を含んだ回路のいずれであってもよい。認証開始トリガとなる入力信号チャレンジ)は、CPU401からセキュリティ・認証回路405へ命令として出力される。入力信号(チャレンジ)を受けると、セキュリティ・認証回路405は、PUF回路406にアクセスし、PUF回路406からIDの情報を取得する。取得されたIDの情報は、出力部404を通してサーバ側に吸い上げられ(レスポンス)、サーバ側において予測される欠陥ばらつきの変化と照合することにより、ID認証が実行される。

0067

実施形態12
つぎに、実施形態12にかかる電子デバイスの動作例を、図33を用いて説明する。なお、実施形態12にかかる電子デバイスは、図32に示す電子デバイス400と同様であってよい。

0068

図33に示すように、電子デバイス400のCPU401は、起動時に温度センサ407から温度情報を取得し、この温度情報が常温を示しているか否かを判定する(ステップS101)。温度情報が常温を示している場合とは、PUF回路406から安定したPUFデータを得られる温度範囲内を温度情報が示している場合である。この温度範囲は、たとえば25±10℃程度の範囲であってもよい。温度情報が常温を示している場合(ステップS101;YES)、CPU401は、認証開始のトリガとなる入力信号(チャレンジ)をセキュリティ・認証回路405へ命令として出力して、セキュリティ・認証回路405からPUFデータを取得し(ステップS102)、取得したPUFデータを用いてIDを生成する(ステップS103)。

0069

一方、温度情報が常温を示していない場合(ステップS101;NO)、CPU401は、メモリ402を参照することでIDを取得する(ステップS104)。なお、メモリ402には、予め常温時に生成されたIDが格納されている。また、ステップS103またはS104で取得されたIDは、サーバ側に吸い上げられ(レスポンス)、サーバ側において予測される欠陥ばらつきの変化と照合することにより、ID認証が実行される。これにより、外部環境である温度が変化した場合でも、安定してIDを出力することが可能となる。

0070

実施形態13
つぎに、実施形態13にかかる電子デバイスの動作例を、図34を用いて説明する。なお、実施形態13にかかる電子デバイスは、図32に示す電子デバイス400と同様であってよい。ただし、実施形態13において使用するPUF回路401のリング発振器は、上述した実施形態で例示されたPUF回路のうち、VCOを用いたリング発振器を備えるリング発振器である。また、図12に示す動作例と同様のステップについて、同一の符号を付す。

0071

図34に示すように、CPU401は、起動時に温度センサ407から温度情報を取得して、これが常温を示しているか否かを判定する(ステップS101)。温度情報が常温を示している場合(ステップS101;YES)、CPU401は、認証開始のトリガとなる入力信号(チャレンジ)をセキュリティ・認証回路405へ命令として出力して、セキュリティ・認証回路405からPUFデータを取得し(ステップS102)、取得したPUFデータを用いてIDを生成する(ステップS103)。

0072

一方、温度情報が常温を示していない場合(ステップS101;NO)、CPU401は、常温の際に得られるPUFデータに近い値が得られるように、リング発振器のVCOに印加する電圧の電圧値を制御する(ステップS201)。その後、CPU401は、ステップS102およびS103を実行することで、得られたPUFデータを用いてIDを生成する。これにより、外部環境である温度が変化した場合でも、安定してIDを出力することが可能となる。なお、常温の際に得られるPUFデータに近い値を得るための電圧値は、たとえば温度センサ407で得られた温度情報ごとに、メモリ402等に予め記憶されていてもよい。

0073

実施形態14
図35は、リング発振器の発振周波数と温度との関係を示す図である。図35に示すように、リング発振器の発振周波数は、一般的に、温度の増加にしたがって減少する。リング発振器の発振周波数が温度に依存して変化することは、リング発振器を使ったPUF生成回路が出力するIDが一般に温度に依存して変化することを意味する。上述の実施形態では、温度などの外部環境の変化に応じて周波数を変化させる場合を例示したが、実施形態14では、温度変化に応じて変化したIDをサーバ側に登録しておき、認証の際にこれを利用する形態を例示する。

0074

図36は、実施形態14にかかるデータ生成装置の概略構成例を示すブロック図である。図36に示すように、デバイス500は、チップの置かれた温度に応じて出力が変化する温度計測装置510と、2つのリング発振器521および522からなるデータ生成装置520とが併設された構成を備える。チップの置かれた温度を測定する温度計測装置510には、上記で述べたダイオードなどを用いた温度センサの他に、図36に示すような、リング発振器511を利用することも可能である。この場合、まず、サーバ側からデバイス500に対し、温度計測装置510の温度に対応した出力(温度データ)と、データ生成装置520で発生したIDとが求められる。リング発振器511を利用したデータ生成装置520は、温度に対してある程度ロバストである。そこでサーバ側には、温度に対応したIDが、例えば5度から10度程度刻みで予め登録されている。デバイス500から温度データとIDとを受信したサーバは、予め登録しておいた該当温度のIDと受信したIDとのハミング距離を求め、この距離が小さい場合には、チップを正規のものと認証する。以上のような構成によれば、デバイス500側にフィードバック回路を設ける必要なく、簡素な構成で温度変化に対応したID認証が可能となる。なお、図36において、リング発振器521および522の間に、図23図29に例示したような結合回路が接続されてもよい。その場合、より温度変化に強いID生成回路を構成することができる。

0075

図37および図38は、図36に示したリング発振器511を利用した温度計測装置510の出力である12ビットカウンタ512の出力値を温度データ(温度の関数)として取得した実験データを示す図である。なお、図37図38とは、それぞれ異なったデバイスに温度計測装置510を搭載した場合に得られた結果を示している。図37および図38に示すように、温度計測装置510の示す温度、すなわちリング発振器511の出力をカウントする12ビットカウンタ512の出力値は、デバイスごとに異なってもよい。

0076

つづいて、図36に示すデバイス500より得られた実際の照合結果の例を図39に示す。図39に示すように、デバイス500から出力されるIDが5度から10度の温度変化に対してほぼ同じ値を出力することから、各デバイスに搭載される温度計測装置510の値に対応して、その温度を挟む2つのIDが認証に用いられるIDとなる。

0077

温度データとIDとを用いた照合では、例えば、取得された温度に対応して登録されたIDと実際にデバイス500から取得されたIDとのハミング距離(違ったビット数)が15%以内である場合、該当のデバイスが正規のものとして認証されてもよい。

0078

実施形態15
また、図40図52は、上述において例示したリング発振器以外の例を示している。図40図52に例示されるようなリング発振器用いた場合でも、上述した実施形態と同様の効果を得ることが可能である。なお、図52に示す例は、不確定フリップフロップを用いた例であり、その出力OUTPUT1およびOUTPUT2のいずれかを、リング発振器の出力として使うことが可能である。

0079

上記実施形態およびその変形例は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施形態が可能であることは上記記載から自明である。例えば実施形態に対して適宜例示した変形例は、他の実施形態と組み合わせることも可能であることは言うまでもない。

0080

1…データ生成装置、100,110,120,130,140…PUF生成回路、101,111、121,141,142,151,161,162,163…リング発振器、112…NAND回路、113,114,124,152,153,161〜16n…インバータ回路、123,183…XOR回路、131…VCO、170…乱数・PUF生成回路、171…補正回路、172…検定回路、173…HMM認証部、174…訂正符号供給部、175…ハッシュ生成回路、200…PUF回路、300…乱数生成回路、181,182…撹拌回路、191…AND回路、192…OR回路、211…センスアンプ、212…電圧イコライザ、400…電子デバイス、401…CPU、402…メモリ、403…入力部、404…出力部、405…セキュリティ・認証回路、406…PUF回路、407…温度センサ、FF1…フリップフロップ、WS1,WS2…ワードラインスイッチ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ