(57)【要約】【課題】デバイス物理情報生成手段として広範囲な実現手段を用いることが可能であり、かつ登録フェーズの実施の頻度を抑えることができる端末認証システムを提供する。【解決手段】端末１６０は、端末１６０の構成要素に関する物理情報をデバイス物理情報として生成するデバイス物理情報生成手段４８０と、デバイス物理情報を暗号化しサーバ１５０に送信する公開鍵暗号化手段４１１と、デバイス物理情報を用いて端末側ランダム情報を生成する端末側鍵生成手段４３３と、端末側鍵検証手段４７３とを含み、サーバ１５０は、暗号化されたデバイス物理情報を復号化する公開鍵暗号復号手段４１０と、デバイス物理情報を格納する物理情報格納手段４５０と、デバイス物理情報を用いてサーバ側ランダム情報を生成するサーバ側鍵生成手段４３２と、端末１６０の照合を行う照合手段４６０と、サーバ側鍵検証手段４７２とを含む。【選択図】図１３
2014229968.tif 000002
【特許請求の範囲】
【請求項１】
端末とサーバとを備え、登録フェーズにおいて前記端末の登録処理を行い、認証フェーズにおいて前記端末の認証処理を行う端末認証システムであって、
前記端末は、
前記端末の構成要素に関する物理情報をデバイス物理情報として生成するデバイス物理情報生成手段と、
サーバ公開鍵を用いて前記デバイス物理情報を暗号化し前記サーバに送信する公開鍵暗号化手段と、
前記デバイス物理情報を用いて端末側ランダム情報を生成する端末側鍵生成手段と、
前記端末側ランダム情報を取得する端末側鍵検証手段とを含み、
前記サーバは、
サーバ秘密鍵を用いて、暗号化された前記デバイス物理情報を復号化する公開鍵暗号復号手段と、
復号化された前記デバイス物理情報を格納する物理情報格納手段と、
復号化された前記デバイス物理情報を用いてサーバ側ランダム情報を生成するサーバ側鍵生成手段と、
前記登録フェーズにおいて前記公開鍵暗号復号手段が復号化した前記デバイス物理情報と、前記認証フェーズにおいて前記公開鍵暗号復号手段が復号化した前記デバイス物理情報とを比較することにより前記端末の照合を行う照合手段と、
前記サーバ側ランダム情報を取得するサーバ側鍵検証手段とを含み、
前記サーバ側鍵検証手段および前記端末側鍵検証手段は、
前記端末側ランダム情報と前記サーバ側ランダム情報とが一致するかどうか確認することにより認証処理の検証を行う
ことを特徴とする端末認証システム。
【請求項２】
サーバは、登録フェーズ及び認証フェーズにおいて、デバイス物理情報生成手段がデバイス物理情報を生成するために使用する構成要素を指定するチャレンジを生成するチャレンジ生成手段を含む
請求項１記載の端末認証システム。
【請求項３】
デバイス物理情報生成手段は、リングオッシレータ回路を含み、当該リングオッシレータ回路の周波数情報をデバイス物理情報として生成する
請求項１または請求項２記載の端末認証システム。
【請求項４】
照合手段は、登録フェーズおよび認証フェーズにおいて、対応するリングオッシレータ回路の周波数の比を算出し、当該比の統計値に基づいて、端末の照合を行う
請求項３記載の端末認証システム。
【請求項５】
端末とサーバとを用いて、登録フェーズにおいて前記端末の登録処理を行い、認証フェーズにおいて前記端末の認証処理を行う端末認証方法であって、
登録フェーズにおいて、
前記端末は、
前記端末の構成要素に関する物理情報をデバイス物理情報として生成し、
サーバ公開鍵を用いて前記デバイス物理情報を暗号化し前記サーバに送信し、
前記サーバは、
サーバ秘密鍵を用いて、暗号化された前記デバイス物理情報を復号化し、
復号化された前記デバイス物理情報を格納し、
認証フェーズにおいて、
前記端末は、
前記端末の構成要素に関する物理情報をデバイス物理情報として生成し、
サーバ公開鍵を用いて当該デバイス物理情報を暗号化し前記サーバに送信し、
当該デバイス物理情報を用いて端末側ランダム情報を生成し、
前記サーバは、
サーバ秘密鍵を用いて、暗号化された当該デバイス物理情報を復号化し、
復号化された当該デバイス物理情報を用いてサーバ側ランダム情報を生成し、
前記登録フェーズにおいて復号化した前記デバイス物理情報と、前記認証フェーズにおいて復号化した前記デバイス物理情報とを比較することにより前記端末の照合を行い、
前記端末および前記サーバは、
前記端末側ランダム情報と前記サーバ側ランダム情報とが一致するかどうか確認することにより認証処理の検証を行う
ことを特徴とする端末認証方法。
【請求項６】
サーバが、登録フェーズ及び認証フェーズにおいて、デバイス物理情報を生成するために使用する構成要素を指定するチャレンジを生成する
請求項５記載の端末認証方法。
【請求項７】
端末が、リングオッシレータ回路の周波数情報をデバイス物理情報として生成する
請求項５または請求項６記載の端末認証方法。
【請求項８】
サーバが、登録フェーズおよび認証フェーズにおいて、対応するリングオッシレータ回路の周波数の比を算出し、当該比の統計値に基づいて、端末の照合を行う
請求項７記載の端末認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末のデバイスの固有情報を用いた端末認証システムおよび端末認証方法に関する。
【背景技術】
【０００２】
安全な情報および通信システムを実現するためには、サーバと端末の間の通信において、通信の相手が正規の相手であるかどうかの判定を行う認証処理が必要となる。認証処理には、機器固有の情報（ＩＤ：ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）が存在することが前提となる。端末に付与されているシリアル番号は、ＩＤの代表であるが、正規の端末を手に入れた攻撃者がシリアル番号を入手することは容易である。また、ある端末のシリアル番号から他の端末のシリアル番号を推測することができることも多い。
【０００３】
端末にランダムな秘密鍵を持たせれば端末の秘密鍵が漏洩しても他の端末の秘密鍵を推測することは困難であるが、秘密鍵の保持を安全に行う必要がある。不揮発性メモリに秘密鍵を保持しておく方法では、端末を入手した攻撃者は、秘密鍵を容易に読み出せる可能性があり、メモリの内容の解析を行わなくてもメモリをそのままコピーすれば複製が作成できる可能性がある。このような攻撃に対処する技術は耐タンパー技術と呼ばれ、一般的な手法として、例えば揮発性メモリに秘密鍵を持つ方法が知られている。しかし、この方法は、例えば秘密鍵保持用のメモリのバッテリ、およびタンパー行為を検知するセンサ等が必要になるのでコストが高くなるという問題がある。
【０００４】
近年、機器を構成するデバイスにおいて、製造過程で不可避的に発生する物理的なばらつきを利用してデバイス個体の固有情報を生成し、固有情報を認証に利用する技術の研究が進んでいる。この技術には、一般的に、Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ（ＰＵＦ）と呼ばれる関数が用いられる。
【０００５】
図１４は、ＰＵＦを利用した一般的な認証システムの構成を示すブロック図である。認証は、端末１１０とサーバ１００の間で行われる。端末１１０は、デバイス物理情報生成手段１２０を備える。デバイス物理情報生成手段１２０は、端末の構成要素として元々存在するデバイスをＰＵＦに利用する。デバイス物理情報生成手段１２０は、入力によって指定された構成要素に対応する物理量を出力する。例えば、ＳｔａｔｉｃＲＡＭをベースとするデバイス物理情報生成手段１２０は、ＲＡＭの各ビットをＰＵＦの要素とする。その場合、ユーザは、利用するビットを特定する。そして、デバイス物理情報生成手段１２０は、例えば、電源投入時のそのビットの初期値を出力する。
【０００６】
デバイス物理情報生成手段１２０が用いるような、製造過程で不可避的に発生する配線遅延の個体毎のばらつきを利用するＰＵＦが、次の特許文献１、２および非特許文献１に開示されている。
【０００７】
ＰＵＦの典型的な利用方法は、チャレンジ−レスポンス認証であり、登録フェーズと認証フェーズの２段階で端末の認証が行われる。登録フェーズは、端末の利用開始前に実施され、盗聴やなりすましがない、安全な環境で実施されると仮定する。
【０００８】
以下、チャレンジ−レスポンス認証を利用した一般的な認証システムの動作を説明する。図１５は、チャレンジ−レスポンス認証を用いた一般的な認証システムの登録フェーズにおける動作を示すフローチャートである。図１６は、チャレンジ−レスポンス認証を用いた一般的な認証システムの認証フェーズにおける動作を示すフローチャートである。
【０００９】
［登録フェーズ］
サーバ１００は、端末１１０からの登録の要求に対してデバイス物理情報生成手段１２０の中の要素を指定するデータ（チャレンジ）を複数送付する（ステップ１ａ）。端末１１０は、ステップ１ａのチャレンジに対するデバイス物理情報生成手段１２０のレスポンスをサーバ１００に送付する（ステップ２ａ）。サーバ１００は、このチャレンジとレスポンスの組を保持する（ステップ３ａ）。
【００１０】
［認証フェーズ］
サーバ１００は、端末１１０からの認証の要求に対して、保持しているチャレンジの一部を送付する（ステップ１ｂ）。端末１１０は、ステップ１ｂのチャレンジに対するデバイス物理情報生成手段１２０のレスポンスをサーバ１００に送付する（ステップ２ｂ）。サーバ１００は、このレスポンスとステップ３ａで保持したレスポンスと比較する（ステップ３ｂ）。サーバ１００は、ステップ３ｂの比較結果を用いて認証処理を行う（ステップ４ｂ）。具体的には、サーバ１００は、ステップ３ｂの比較結果が十分に近いと判断される場合には、レスポンス送付元の端末が正規の端末１１０であると認証する。サーバ１００は、ステップ３ｂの比較結果に所定の差があると判断した場合には、レスポンス送付元の端末が正規の端末１１０ではないと判断する。
【００１１】
次に、チャレンジ−レスポンス認証の処理の具体例を説明する。図１７は、チャレンジ−レスポンス認証の登録フェーズの処理の例を示す説明図である。図１８は、チャレンジ−レスポンス認証の認証フェーズの処理の例を示す説明図である。登録フェーズでは、サーバ１００は、チャレンジｃと端末１１０からのレスポンスｆ（ｃ）の組（ｃ，ｆ（ｃ））を含むテーブル（チャレンジ−レスポンステーブル）を生成する。認証フェーズでは、サーバ１００は、このテーブルのチャレンジｃに対する端末からのレスポンスｆ’（ｃ）を登録フェーズで生成したｆ（ｃ）と照合することにより認証処理を行う。物理情報は、温度による変動や熱雑音等の環境要因による揺らぎがあるため、この環境要因による変動を考慮して照合することが課題となる。
【００１２】
この課題を解決するための一般的な手法として、環境要因の影響を軽減する出力が得られるようにデバイス物理情報生成手段１２０を構成することが考えられる。例えば、物理情報そのものではなく、物理情報間の相対的な比較結果を出力する方法が考えられる。このような目的で提案された技術として、非特許文献１にはａｒｂｉｔｅｒ  ＰＵＦを用いた方法が開示されている。
【００１３】
図１９は、チャレンジ−レスポンス認証で用いるａｒｂｉｔｅｒ  ＰＵＦの構成例を示すブロック図である。ａｒｂｉｔｅｒ  ＰＵＦを用いたデバイス物理情報生成手段１２０は、同一長の経路となる配線をセレクタ３００で多段につないだパスで構成される。この各段で対となっているセレクタに対して、チャレンジは同一タイプの経路を選択することで同一長とみなせる２本のパスを形成する。デバイス物理情報生成手段１２０は、このパスを決定後、信号を送信して最後のａｒｂｉｔｅｒ（Ｄ−ＦＦ回路）３１０がどちらの経路を通った信号が速く到達したかを判定する。設計上、同一のパス長であってもデバイス毎に両者の遅延の大小は異なり、この予測は困難であることから、判定結果を推測困難な固有情報として利用することができる。回路の遅延は温度により変動するが、ａｒｂｉｔｅｒ  ＰＵＦでは同一経路長の二つのパスの遅延の大小のみを比較するので相対的な関係はある程度保たれるため、比較的安定した出力を得ることができる。
【００１４】
上記チャレンジ−レスポンス認証において安全性を確保するためには認証フェーズで１度利用したチャレンジを攻撃者が再度送付する再送攻撃を避けるために１度だけ使用するという制限が必要であり、実用にはデバイス物理情報生成手段１２０は十分に大きな個数のチャレンジに対応できる必要がある。Ａｒｂｉｔｅｒ  ＰＵＦがｎ段のセレクタで構成される場合には２ｎ個のパスが構成でき、これがチャレンジの総数となる。ｎ=６４であれば２６４個のチャレンジ数となり、十分な回数のチャレンジ−レスポンス認証に対応可能となる。
【００１５】
Ａｒｂｉｔｅｒ  ＰＵＦと同様に同一回路の遅延の大小を比較する回路としてリングオッシレータ回路を使用した方法が特許文献２および非特許文献１に示されている。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特表２００７−５０９５６３号公報
【特許文献２】特表２００９−５２４９９８号公報
【非特許文献】
【００１７】
【非特許文献１】G. E. Shu and S. Devadas, “Physically Unclonable Functions for Device Generation and Secret Key Generation,” Proc. 44th Design Automation Conference, pp.9-14.
【発明の概要】
【発明が解決しようとする課題】
【００１８】
上記のデバイス物理情報生成手段１２０を用いたチャレンジ−レスポンス認証方式で用いられるＰＵＦは、ａｒｂｉｔｅｒ  ＰＵＦのようにチャレンジが十分に多数設定できるものに限定される。例えば、特許文献２または非特許文献１に記載されたリングオッシレータ回路を利用したＰＵＦは、回路の個数の２乗程度のチャレンジ数となるため、そのままではチャレンジ−レスポンス認証には適さず、変動するデバイス物理情報から同一のレスポンスを高い信頼度で生成する必要がある。このために、デバイス物理情報生成手段は、例えば誤り訂正符号などを利用して非常に高い再現性を達成することができる手段に限定される。
【００１９】
さらにａｒｂｉｔｅｒ  ＰＵＦでは登録フェーズと認証フェーズの温度が大きく異なる場合には再現性も大きく劣化する傾向にあり、このとき認証のためには多数のチャレンジ−レスポンスのペアが必要となる。このため、登録フェーズで大量のチャレンジ−レスポンスペアを生成する、もしくは高い頻度で登録フェーズを実行する必要が発生する。
【００２０】
本発明は、デバイス物理情報生成手段として広範囲な実現手段を用いることが可能であり、かつ登録フェーズの実施の頻度を抑えることができる端末認証システムおよび端末認証方法を提供することを目的とする。
【課題を解決するための手段】
【００２１】
本発明による端末認証システムは、端末とサーバとを備え、登録フェーズにおいて前記端末の登録処理を行い、認証フェーズにおいて前記端末の認証処理を行う端末認証システムであって、前記端末は、前記端末の構成要素に関する物理情報をデバイス物理情報として生成するデバイス物理情報生成手段と、サーバ公開鍵を用いて前記デバイス物理情報を暗号化し前記サーバに送信する公開鍵暗号化手段と、前記デバイス物理情報を用いて端末側ランダム情報を生成する端末側鍵生成手段と、前記端末側ランダム情報を取得する端末側鍵検証手段とを含み、前記サーバは、サーバ秘密鍵を用いて、暗号化された前記デバイス物理情報を復号化する公開鍵暗号復号手段と、復号化された前記デバイス物理情報を格納する物理情報格納手段と、復号化された前記デバイス物理情報を用いてサーバ側ランダム情報を生成するサーバ側鍵生成手段と、前記登録フェーズにおいて前記公開鍵暗号復号手段が復号化した前記デバイス物理情報と、前記認証フェーズにおいて前記公開鍵暗号復号手段が復号化した前記デバイス物理情報とを比較することにより前記端末の照合を行う照合手段と、前記サーバ側ランダム情報を取得するサーバ側鍵検証手段とを含み、前記サーバ側鍵検証手段および前記端末側鍵検証手段は、前記端末側ランダム情報と前記サーバ側ランダム情報とが一致するかどうか確認することにより認証処理の検証を行うことを特徴とする。
【００２２】
本発明による端末認証方法は、端末とサーバとを用いて、登録フェーズにおいて前記端末の登録処理を行い、認証フェーズにおいて前記端末の認証処理を行う端末認証方法であって、登録フェーズにおいて、前記端末は、前記端末の構成要素に関する物理情報をデバイス物理情報として生成し、サーバ公開鍵を用いて前記デバイス物理情報を暗号化し前記サーバに送信し、前記サーバは、サーバ秘密鍵を用いて、暗号化された前記デバイス物理情報を復号化し、復号化された前記デバイス物理情報を格納し、認証フェーズにおいて、前記端末は、前記端末の構成要素に関する物理情報をデバイス物理情報として生成し、サーバ公開鍵を用いて当該デバイス物理情報を暗号化し前記サーバに送信し、当該デバイス物理情報を用いて端末側ランダム情報を生成し、前記サーバは、サーバ秘密鍵を用いて、暗号化された当該デバイス物理情報を復号化し、復号化された当該デバイス物理情報を用いてサーバ側ランダム情報を生成し、前記登録フェーズにおいて復号化した前記デバイス物理情報と、前記認証フェーズにおいて復号化した前記デバイス物理情報とを比較することにより前記端末の照合を行い、前記端末および前記サーバのうちの少なくとも一方は、前記端末側ランダム情報と前記サーバ側ランダム情報とが一致するかどうか確認することにより認証処理の検証を行うことを特徴とする。
【発明の効果】
【００２３】
本発明は、デバイス物理情報生成手段として広範囲な実現手段を用いることが可能であり、かつ登録フェーズの実施の頻度を抑えることができる。
【図面の簡単な説明】
【００２４】
【図１】本発明による端末認証システムの第１の実施形態の構成を示すブロック図である。
【図２】本発明による端末認証システムの第１の実施形態の登録フェーズにおける動作を示すフローチャートである。
【図３】本発明による端末認証システムの第１の実施形態の認証フェーズにおける動作を示すフローチャートである。
【図４】本発明による端末認証システムの第２の実施形態の構成を示すブロック図である。
【図５】本発明による端末認証システムの第２の実施形態の登録フェーズにおける動作を示すフローチャートである。
【図６】本発明による端末認証システムの第２の実施形態の認証フェーズにおける動作を示すフローチャートである。
【図７】実施例におけるリングオッシレータ回路を用いたデバイス物理情報生成手段の構成を示すブロック図である。
【図８】実施例におけるリングオッシレータ回路を用いたデバイス物理情報生成手段の登録フェーズにおける動作を示すフローチャートである。
【図９】実施例におけるリングオッシレータ回路を用いたデバイス物理情報生成手段の認証フェーズにおける動作を示すフローチャートである。
【図１０】実施例におけるリングオッシレータ回路の周波数比の標準偏差を実験により求めた結果を示す説明図である。
【図１１】図１０に示す標準偏差の頻度を表す説明図である。
【図１２】鍵検証手段の実施例を示すフローチャートである。
【図１３】本発明による端末認証システムの主要部の構成を示すブロック図である。
【図１４】ＰＵＦを利用した一般的な認証システムの構成を示すブロック図である。
【図１５】チャレンジ−レスポンス認証を用いた一般的な認証システムの登録フェーズにおける動作を示すフローチャートである。
【図１６】チャレンジ−レスポンス認証を用いた一般的な認証システムの認証フェーズにおける動作を示すフローチャートである。
【図１７】チャレンジ−レスポンス認証の登録フェーズの処理の例を示す説明図である。
【図１８】チャレンジ−レスポンス認証の認証フェーズの処理の例を示す説明図である。
【図１９】チャレンジ−レスポンス認証で用いるａｒｂｉｔｅｒ  ＰＵＦの構成例を示すブロック図である。
【発明を実施するための形態】
【００２５】
実施形態１．
図１は、本実施形態の端末認証システムの構成を示すブロック図である。本実施形態の端末認証システムは、サーバ１５０および端末１６０を備える。サーバ１５０は、公開鍵暗号復号手段４１０と、サーバ秘密鍵４２０と、鍵生成手段４３０と、鍵格納手段４４０と、物理情報格納手段４５０と、照合手段４６０と、鍵検証手段４７０とを含む。端末１６０は、公開鍵暗号化手段４１１と、サーバ公開鍵４２１と、鍵生成手段４３１と、鍵格納手段４４１と、鍵検証手段４７１と、デバイス物理情報生成手段４８０とを含む。サーバ１５０および端末１６０に含まれる各手段は、例えば、特定の演算処理等を行うよう設計されたハードウェア、またはプログラムに従って動作するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の情報処理装置によって実現される。
【００２６】
図２は、本実施形態の端末認証システムの登録フェーズにおける動作を示すフローチャートである。図３は、本実施形態の端末認証システムの認証フェーズにおける動作を示すフローチャートである。本実施形態の端末認証システムは、登録フェーズと認証フェーズの２段階で端末１６０の認証を実現する。登録フェーズは、端末１６０を利用する前に予め実施される。以下、端末認証システムの登録フェーズと認証フェーズの各動作を説明する。
【００２７】
［登録フェーズ］
端末１６０は、サーバ１５０に登録の要求を行い、デバイス物理情報生成手段４８０がデバイス物理情報を生成する（ステップ１ｃ）。具体的には、デバイス物理情報生成手段４８０は、端末の構成要素に関する物理情報をデバイス物理情報として生成する。端末１６０の公開鍵暗号化手段４１１は、サーバ公開鍵４２１を用いて、ステップ１ｃで生成されたデバイス物理情報を暗号化し、暗号化により得られたデータをサーバ１５０に送信する（ステップ２ｃ）。サーバ１５０の公開鍵暗号復号手段４１０は、サーバ秘密鍵４２０を用いてステップ２ｃで暗号化されたデータを復号し、物理情報格納手段４５０に格納する（ステップ３ｃ）。
【００２８】
なお、本実施形態の端末認証システムは、公開鍵暗号化方式として、ＲＳＡ暗号、エルガマル暗号、楕円暗号など既存の任意の一般的な方式を適用することができる。また、公開鍵暗号化方式では乱数が必要になる場合があるが、本実施形態の端末認証システムは、デバイス物理情報の中の乱数成分を利用することもできる。
【００２９】
［認証フェーズ］
端末１６０は、サーバ１５０に認証の要求を行い、デバイス物理情報生成手段４８０がデバイス物理情報を生成する（ステップ１ｄ）。端末１６０の公開鍵暗号化手段４１１は、サーバ公開鍵４２１を用いて、ステップ１ｄで生成されたデバイス物理情報を暗号化して、暗号化されたデータをサーバ１５０に送信する。また、鍵生成手段４３１は、デバイス物理情報を用いてランダム情報を生成して鍵格納手段４４１に格納する（ステップ２ｄ）。鍵生成手段４３１は、ランダム情報として、例えば乱数情報を抽出する。
【００３０】
サーバ１５０の公開鍵暗号復号手段４１０は、サーバ秘密鍵４２０を用いてステップ２ｄで得られたデータを復号する（ステップ３ｄ）。また、照合手段４６０は、複合されたデータと、登録フェーズにおいて物理情報格納手段４５０に格納されたデータとを比較することにより、ステップ２ｄでデータを送信した端末と登録された端末とが同一であるかどうか判定する（ステップ４ｄ）。
【００３１】
鍵生成手段４３０は、ランダム情報として、例えば乱数情報を抽出する。照合手段４６０が、ステップ４ｄにおいて、ステップ２ｄでデータを送信した端末と登録された端末とが同一でない判定した場合には、サーバ１５０は、認証失敗と判定して処理を終了する。照合手段４６０が、ステップ４ｄにおいて、ステップ２ｄでデータを送信した端末と登録された端末とが同一である判定した場合には、鍵生成手段４３０は、ステップ３ｄで得られた復号データを用いてランダム情報を生成して鍵格納手段４４０に格納する（ステップ５ｄ）。
【００３２】
鍵検証手段４７０および鍵検証手段４７１は、鍵検証プロセスを実施し、同一のランダム情報を共有していることが確認できたら認証成功とし、そうでない場合は認証失敗と判定する（ステップ６ｄ）。具体的には、鍵検証手段４７０は、鍵格納手段４４１に格納されたランダム情報を端末１６０から取得し、鍵格納手段４４０に格納されたランダム情報と一致するか確認する。また、鍵検証手段４７１は、鍵格納手段４４０に格納されたランダム情報をサーバ１７０から取得し、鍵格納手段４４１に格納されたランダム情報と一致するか確認する。
【００３３】
照合手段４６０は、照合処理において、温度などの環境要因の差を考慮して、登録フェーズにおけるデバイス物理情報と認証フェーズにおけるデバイス物理情報の相対的な統計値を算出し統計値に基づいて端末の照合を行う。同一デバイスによるデバイス物理情報である場合、この統計値は異なるデバイス間の場合よりも高い一致度を示すことが期待できる。そのため、利用者が予め適切な閾値を設定しておき、照合手段４６０が閾値と統計値とを比較することにより登録フェーズに用いられた端末と認証フェーズに用いられた端末とが同一であるかを判定することができる。
【００３４】
鍵生成手段４３０および４３１は、典型的にはＳＨＡなどのハッシュ関数などを適用してランダム情報を生成する。デバイス物理情報の性質によっては特定のビットを選択するなどの簡易な方法を適用できる場合もある。本実施形態では、鍵生成手段４３０および４３１が出力する情報は、認証フェーズのたびに異なり、端末認証処理後のデータ通信時における暗号化や認証の一時鍵として利用することができる。
【００３５】
また、鍵検証手段４７０および４７１は、鍵生成手段４３０および４３１で生成するランダム成分を秘密鍵としてハッシュ関数やブロック暗号を用いることにより検証処理を行ってもよい。
【００３６】
本実施形態の端末認証システムは、一般的なチャレンジ−レスポンス認証と異なり、攻撃者は通信路上のデータを取得しても公開鍵で暗号化してあるためにデバイス物理情報そのものを入手することはできない。端末からの送信データをキャプチャし、のちに送付して端末になりすますことを狙う再送攻撃に対しても鍵検証手段４７０および４７１での検証処理でこれを検出することができる。このため、本実施形態の端末認証システムは、デバイス物理情報が十分な情報量を持てば、一度の登録フェーズの実施で長期間安全な認証が実現できるので運用性に優れている。
【００３７】
本実施形態の端末認証システムは、さらに、サーバ１５０において登録フェーズと認証フェーズのデバイス物理情報をそのまま利用して照合することができるために温度など環境要因の変動を考慮した柔軟な照合方式を適用できる。これらの性質からデバイス物理情報生成手段４８０は、高い再現性が得られる手段に限定されず、多様な実現手段を用いることが可能になる。
【００３８】
実施形態２．
第１の実施形態の端末認証システムは、デバイス物理情報生成手段４８０を構成するすべての要素の出力を利用する。本実施形態では、前述した一般的なチャレンジ−レスポンス認証方式と同様にデバイス物理情報生成手段４８０の構成要素を指定するためにサーバからチャレンジを送信する方法を用いた端末認証システムについて説明する。
【００３９】
図４は、本実施形態の端末認証システムの構成を示すブロック図である。本実施形態の端末認証システムは、サーバ１７０と端末１８０とを備える。サーバ１７０は、チャレンジ生成および格納手段５００を含む。サーバ１７０のチャレンジ生成および格納手段５００以外の構成は、第１の実施形態のサーバ１５０と同じであるため、説明を省略する。また、端末１８０の構成は、第１の実施形態の端末１６０と同じであるため、説明を省略する。
【００４０】
サーバ１７０のチャレンジ生成および格納手段５００は、端末１８０からの登録の要求に対して、デバイス物理情報生成手段４８０がデバイス物理情報を生成するために使用する端末１８０の構成要素を指定するチャレンジを生成し、格納するとともに端末１８０に送信する。
【００４１】
図５は、本実施形態の端末認証システムの登録フェーズにおける動作を示すフローチャートである。図６は、本実施形態の端末認証システムの認証フェーズにおける動作を示すフローチャートである。図５および図６に示すフローチャートは、ステップ１ｃ’およびステップ１ｄ’以外の動作は図２および図３に示す第１の実施形態の動作と同じであるため、説明を省略する。
【００４２】
サーバ１７０のチャレンジ生成および格納手段５００は、端末１８０からの登録の要求に対して、デバイス物理情報生成手段４８０がデバイス物理情報を生成するために使用する端末１８０の構成要素を指定するチャレンジを生成し、格納するとともに端末１８０に送信する。端末１８０のデバイス物理情報生成手段４８０は、チャレンジを受信し、チャレンジに対応する要素を用いて、レスポンスとしてデバイス物理情報を生成する（ステップ１ｃ’）。
【００４３】
端末１８０のデバイス物理情報生成手段４８０は、チャレンジを受信し、チャレンジに対応する要素を用いて、レスポンスとしてデバイス物理情報を生成する（ステップ１ｄ’）。
【００４４】
このように、本実施形態の端末認証システムは、認証のために用いるデバイス物理情報をサーバがチャレンジとして指定するため、認証のために用いるデバイス物理情報を更新することが可能になる。これにより、本実施形態の端末認証システムは、固有情報の漏えいの可能性が発生したときや再現性が大きく劣る要素を排除して他の要素を用いることが可能になる。
【００４５】
なお、本実施形態の端末認証システムは、鍵検証手段４７０および４７１がサーバと端末間で同一の乱数データを共有していることが確認できたときにはこの乱数データを秘密鍵として通信データの暗号化やメッセージ認証を行うことができる。
【００４６】
（実施例）
以下、第２の実施形態の端末認証システムのデバイス物理情報生成手段４８０にリングオッシレータ回路を用いた実施例を説明する。なお、以下に示す実施例は、第１の実施形態の端末認証システムに適用することもできる。
【００４７】
図７は、実施例におけるリングオッシレータ回路を用いたデバイス物理情報生成手段４８０の構成を示すブロック図である。リングオッシレータ回路６００は、奇数個のインバータ６００ａを含む。インバータ６００ａの個数は、必要とする認証の精度と情報量に依存するが、典型的には１００個以上である。セレクタ６１０は、入力されたチャレンジに従ってリングオッシレータ回路６００の出力値を選択する。カウンタ６２０は、一定時間における出力値の０，１反転数（周波数）を計測する。メモリ６３０は、カウンタ６２０が計測したリングオッシレータ回路６００の周波数を保持する。
【００４８】
以下、本実施例における登録フェーズおよび認証フェーズの動作例を説明する。図８は、実施例におけるリングオッシレータ回路を用いたデバイス物理情報生成手段の登録フェーズにおける動作を示すフローチャートである。図９は、実施例におけるリングオッシレータ回路を用いたデバイス物理情報生成手段の認証フェーズにおける動作を示すフローチャートである。以下の例において、デバイス物理情報生成手段４８０は、１２８個のリングオッシレータ回路６００を含み、カウンタ６２０の出力値が２４ビットであり、公開鍵暗号が２０４８ビットのＲＳＡ暗号であるとする。
【００４９】
［登録フェーズ］
端末１８０は、サーバ１７０に登録の要求を行い、デバイス物理情報生成手段４８０は１２８個のリングオッシレータ回路６００の周波数を順に算出し、メモリ６３０に格納する（ステップ１ｅ）。算出された周波数は、１２８×２４＝３０７２ビットのデータとなる。公開鍵暗号化手段４１１は、このデータに対して１５３６ビットずつ２回に分けてＲＳＡ暗号化を実施し、暗号化された２個の暗号文をサーバ１７０に送付する（ステップ２ｅ）。ステップ２ｅで２回に分けて暗号化を行う理由は、データがＲＳＡ（２０４８ビット）の入力サイズを越えているためである。公開鍵暗号復号手段４１０は、ステップ２ｅで送付された２個の暗号文を復号し、復号された１２８個のリングオッシレータ回路６００の周波数を物理情報格納手段４５０に格納する（ステップ３ｅ）。
【００５０】
［認証フェーズ］
端末１８０は、サーバ１７０に認証の要求を行い、デバイス物理情報生成手段４８０は１２８個のリングオッシレータ回路６００の周波数を順に算出し、メモリ６３０に格納する（ステップ１ｆ）。公開鍵暗号化手段４１１は、登録フェーズと同様に３０７２ビットの周波数データを２回に分けてＲＳＡ暗号化を実施し、サーバ１７０に送信する。また、鍵生成手段４３１は、１２８個の周波数データの最下位２ビットを取り出し、１２８×２＝２５６ビットを鍵格納手段４４１に格納する（ステップ２ｆ）。
【００５１】
公開鍵暗号復号手段４１０は、ステップ２ｄの２個の暗号文を復号して１２８個のリングオッシレータ回路６００を復元する（ステップ３ｆ）。照合手段４６０は、復元されたデータと登録フェーズで物理情報格納手段４５０に格納したデータとを比較することにより、ステップ２ｆでデータを送信した端末と登録された端末とが同一デバイスであるかどうか判定する（ステップ４ｆ）。サーバ１７０は、同一デバイスでないと判定した場合には認証失敗として終了する。サーバ１７０は、ステップ４ｆで同一デバイスと判定した場合には、鍵生成手段４３０が、１２８個の周波数データの最下位２ビットを取り出し、１２８×２＝２５６ビットを鍵格納手段４４０に格納する（ステップ５ｆ）。
【００５２】
サーバ１７０および端末１８０は、鍵検証プロセスを実施して同一の乱数成分を共有していることが確認できた場合には認証成功とする、そうでない場合には認証失敗と判定する（ステップ６ｆ）。鍵検証プロセスについては後述する。
【００５３】
物理情報がリングオッシレータ回路６００の周波数である場合、その周波数値には熱雑音に伴うランダム成分が重畳される。そのため、鍵生成手段４３０および４３１は、上記のように最下位付近のビットを取り出すことによって、ランダム情報の生成を実現することができる。
【００５４】
本実施例におけるステップ４ｆにおける照合手段４６０の照合処理の具体例を示す。登録フェーズにおけるリングオッシレータ回路６００の周波数をｓ＿１，ｓ＿２，．．．，ｓ＿１２８、認証フェーズにおけるリングオッシレータ回路６００の周波数をｔ＿１，ｔ＿２，．．．，ｔ＿１２８とする。登録フェーズと認証フェーズの温度が異なると、周波数は異なるが、各回路で同様に変化する。そのため、同一デバイスであれば周波数比ｔ＿ｉ／ｓ＿ｉは平均値付近に集中した分布になることが期待できる。そこで、下記式（１）および（２）を算出すると（ｓｑｒｔ（）は正の平方根）、式（２）で表される標準偏差ｄは、同一デバイスの場合には異なるデバイス間の場合と比較して十分に小さくなることが期待できる。
【００５５】
ｍ＝（ｔ＿１／ｓ＿１＋・・・＋ｔ＿１２８／ｓ＿１２８）／１２８．・・・（１）
ｄ＝ｓｑｒｔ（（（ｔ＿１／ｓ＿１−ｍ）２＋・・・＋（ｔ＿１２８／ｓ＿１２８−ｍ）２）／１２８）．・・・（２）
【００５６】
図１０は、実施例におけるリングオッシレータ回路の６００周波数比の標準偏差を実験により求めた結果を示す説明図である。図１０に示す結果は、１０個のＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を用いて、各ＦＰＧＡに同一のリングオッシレータ回路６００を１２８個作成して実験した結果である。この実験ではリングオッシレータ回路６００は、１５個のインバータ６００ａを含む。また、カウンタ６２０は、５．２４ｍｓｅｃにおける出力の０，１の反転回数をカウントした。このときのカウント値は９０万程度となり、２０ビットで表すことができる。
【００５７】
図１０に示す表の対角成分は、同一ＦＰＧＡで、登録フェーズにおけるデバイスの温度が−５℃であり、認証フェーズにおけるデバイス温度が６５℃である場合の式（２）の標準偏差である。図１０に示す表のその他の成分は、行に対応するＦＰＧＡを登録フェーズとして列に対応するＦＰＧＡで認証フェーズを実行したときの式（２）から算出される標準偏差を示している。
【００５８】
図１１は、図１０に示す標準偏差の頻度を表す説明図である。このグラフから、今回実験に用いたＦＰＧＡ，リングオッシレータ回路６００を用いた場合、照合手段４６０は、式（２）から算出される標準偏差値が例えば０．００３以下であれば同一ＦＰＧＡ、つまり同一デバイスであると判定することができる。
【００５９】
次に、ステップ６ｆの鍵検証手段４７０および４７１のブロック暗号によるＣＢＣ−ＭＡＣ（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）に基づく具体例を示す。図１２は、鍵検証手段の実施例を示すフローチャートである。この実施例において、サーバ１７０の鍵格納手段４４０に格納される値をＫ１とし、端末１８０の鍵格納手段４４１に格納される値をＫ２とする。サーバ１７０および端末１８０は、検証用のデータＤ１およびＤ２を予め決めておく。Ｄ１およびＤ２は、一般にサーバ１７０と端末１８０のＩＤを含み、このＩＤの順序の変更や異なる定数を用いてＤ１とＤ２とは異なる値となるようにする。
【００６０】
［鍵検証］
サーバ１７０は、乱数Ｒ１を生成し端末１８０に乱数Ｒ１を送付する（ステップ１ｇ）。端末１８０は、Ｒ１とＤ１とを連接したデータに対してＫ２を秘密鍵としてＣＢＣモードによる暗号化を実施して、最終ブロックの出力をサーバ１７０に送付する（ステップ２ｇ）。サーバ１７０は、Ｒ１とＤ１とを連接したデータに対してＫ１を秘密鍵としてＣＢＣモードによる暗号化を実施して、最終ブロックをステップ２ｇで受信したデータと比較する（ステップ３ｇ）。比較した結果、一致する場合は、データ送信元の端末が、登録フェーズの端末１８０と一致していると判定し５ｇに移行し、不一致の場合は認証失敗として終了する（ステップ４ｇ）。
【００６１】
サーバ１７０は、Ｄ２に対してＫ１を秘密鍵としてＣＢＣモードによる暗号化を実施して、最終ブロックの出力を端末１８０に送信する（ステップ５ｇ）。端末１８０は、Ｄ２に対してＫ２を秘密鍵としてＣＢＣモードによる暗号化を実施して、最終ブロックの出力をステップ４ｇで受信したデータと比較する。一致する場合は正しい端末であると判定し、不一致の場合は認証失敗として終了する（ステップ６ｇ）。
【００６２】
本実施例の端末認証システムは、ステップ１ｇ，２ｇによる処理によって、端末のなりすましによる再送攻撃を検出することができる。上記鍵検証プロセスをＫ１，Ｋ２の一部を用いて実施し、残りのビットを秘密鍵としてその後の暗号化通信を実施することで中間者攻撃に対しても高い安全性を達成することが可能となる。例えば、１２８ビット秘密鍵のブロック暗号を用いる場合であれば前述の設定における鍵格納手段の２５６ビットの乱数データを、１２８ビットを鍵検証処理に利用し、残りの１２８ビットをその後のデータ通信における暗号化やメッセージ認証に適用することができる。
【００６３】
以上のように、本実施形態の端末認証システムは、認証フェーズ毎に異なるランダムな秘密情報を用いてデータの暗号化および認証通信を行うことによって中間者攻撃による脅威を排除することが可能となる。また、本実施形態の端末認証システムは、攻撃者がある時点のデバイス物理情報を仮に入手した場合であっても、サーバ１７０と正規端末１８０の間の認証フェーズにおいて共有されるランダム情報の推測は困難であるために秘匿性を保つことが可能となる。
【００６４】
図１３は、本発明による端末認証システムの主要部の構成を示すブロック図である。図１３に示すように、端末認証システムは、主要な構成要素として端末１６０とサーバ１５０とを備え、登録フェーズにおいて端末１６０の登録処理を行い、認証フェーズにおいて端末１６０の認証処理を行う端末認証システムであって、端末１６０は、端末１６０の構成要素に関する物理情報をデバイス物理情報として生成するデバイス物理情報生成手段４８０と、サーバ公開鍵を用いてデバイス物理情報を暗号化しサーバ１５０に送信する公開鍵暗号化手段４１１と、デバイス物理情報を用いて端末側ランダム情報を生成する端末側鍵生成手段４３３と、端末側ランダム情報を取得する端末側鍵検証手段４７３とを含み、サーバ１５０は、サーバ秘密鍵を用いて、暗号化されたデバイス物理情報を復号化する公開鍵暗号復号手段４１０と、復号化されたデバイス物理情報を格納する物理情報格納手段４５０と、復号化されたデバイス物理情報を用いてサーバ側ランダム情報を生成するサーバ側鍵生成手段４３２と、登録フェーズにおいて公開鍵暗号復号手段４１０が復号化したデバイス物理情報と、認証フェーズにおいて公開鍵暗号復号手段４１０が復号化したデバイス物理情報とを比較することにより端末１６０の照合を行う照合手段４６０と、サーバ側ランダム情報を取得するサーバ側鍵検証手段４７２とを含み、サーバ側鍵検証手段４７２および端末側鍵検証手段４７３は、前記端末側ランダム情報と前記サーバ側ランダム情報とが一致するかどうか確認することにより認証処理の検証を行う。
【００６５】
また、上記の各実施形態には、以下の（１）から（４）に記載された端末認証システムも開示されている。
【００６６】
端末（例えば、端末１６０または端末１８０）とサーバ（例えば、サーバ１５０またはサーバ１７０）とを備え、登録フェーズにおいて端末の登録処理を行い、認証フェーズにおいて端末の認証処理を行う端末認証システムであって、端末は、端末の構成要素に関する物理情報をデバイス物理情報として生成するデバイス物理情報生成手段（例えば、デバイス物理情報生成手段４８０）と、サーバ公開鍵（例えば、サーバ公開鍵４２１）を用いてデバイス物理情報を暗号化しサーバに送信する公開鍵暗号化手段（例えば、公開鍵暗号化手段４１１）と、デバイス物理情報を用いて端末側ランダム情報を生成する端末側鍵生成手段（例えば、鍵生成手段４３１）と、端末側ランダム情報を取得する端末側鍵検証手段（例えば、鍵検証手段４７１）とを含み、サーバは、サーバ秘密鍵（例えば、サーバ秘密鍵４２０）を用いて、暗号化されたデバイス物理情報を復号化する公開鍵暗号復号手段（例えば、公開鍵暗号復号手段４１０）と、復号化されたデバイス物理情報を格納する物理情報格納手段（例えば、物理情報格納手段４５０）と、復号化されたデバイス物理情報を用いてサーバ側ランダム情報を生成するサーバ側鍵生成手段（例えば、鍵生成手段４３０）と、登録フェーズにおいて公開鍵暗号復号手段が復号化したデバイス物理情報と、認証フェーズにおいて公開鍵暗号復号手段が復号化したデバイス物理情報とを比較することにより端末の照合を行う照合手段（例えば、照合手段４６０）と、サーバ側ランダム情報を取得するサーバ側鍵検証手段（例えば、鍵検証手段４７０）とを含み、サーバ側鍵検証手段および端末側鍵検証手段は、前記端末側ランダム情報と前記サーバ側ランダム情報とが一致するかどうか確認することにより認証処理の検証を行う端末認証システム。
【００６７】
（２）端末認証システムは、サーバが、登録フェーズおよび認証フェーズにおいて、デバイス物理情報生成手段がデバイス物理情報を生成するために使用する構成要素を指定するチャレンジを生成するチャレンジ生成手段（例えば、チャレンジ生成および格納手段５００）を含むように構成されていてもよい。このような端末認証システムによれば、認証のために用いるデバイス物理情報をサーバがチャレンジとして指定するため、認証のために用いるデバイス物理情報を更新することが可能になる。
【００６８】
（３）端末認証システムは、デバイス物理情報生成手段が、リングオッシレータ回路（例えば、リングオッシレータ回路６００）を含み、当該リングオッシレータ回路の周波数情報をデバイス物理情報として生成するように構成されていてもよい。
【００６９】
（４）端末認証システムは、照合手段が、登録フェーズおよび認証フェーズにおいて、対応するリングオッシレータ回路の周波数の比を算出し、当該比の統計値（例えば、標準偏差）に基づいて、端末の照合を行うように構成されていてもよい。
【産業上の利用可能性】
【００７０】
本発明は、機器認証に適用することができる。
【符号の説明】
【００７１】
１００  サーバ
１１０  端末
１２０，４８０  デバイス物理情報生成手段
４１０  公開鍵暗号復号手段
４１１  公開鍵暗号化手段
４２０  サーバ秘密鍵
４２１  サーバ公開鍵
４３０，４３１  鍵生成手段
４３２  サーバ側鍵生成手段
４３３  端末側鍵生成手段
４４０，４４１  鍵格納手段
４５０  物理情報格納手段
４６０  照合手段
４７０，４７１  鍵検証手段
４７２  サーバ側鍵検証手段
４７３  端末側鍵検証手段
５００  チャレンジ生成および格納手段
６００  リングオッシレータ回路
６２０  カウンタ
６３０  メモリ
【図１】
2014229968.tif 000003
【図２】
2014229968.tif 000004
【図３】
2014229968.tif 000005
【図４】
2014229968.tif 000006
【図５】
2014229968.tif 000007
【図６】
2014229968.tif 000008
【図７】
2014229968.tif 000009
【図８】
2014229968.tif 000010
【図９】
2014229968.tif 000011
【図１０】
2014229968.tif 000012
【図１１】
2014229968.tif 000013
【図１２】
2014229968.tif 000014
【図１３】
2014229968.tif 000015
【図１４】
2014229968.tif 000016
【図１５】
2014229968.tif 000017
【図１６】
2014229968.tif 000018
【図１７】
2014229968.tif 000019
【図１８】
2014229968.tif 000020
【図１９】
2014229968.tif 000021