(57)【要約】【課題】  パスワードとＰＵＦを併用する認証デバイスおよび認証方法において、オフライン処理による攻撃が困難であり、安全性がより高い認証デバイスおよび認証方法を提供する。【解決手段】  本発明の認証デバイス１０は、入力されたパスワードに基づいて固有情報を生成するための条件を生成する条件生成手段２０、生成された条件に基づいて、ハードウェア特性に応じた固有情報を生成する固有情報生成手段３０、および、生成された固有情報を秘密情報として利用する暗号化・認証手段４０を備える。【選択図】      図１
2016018257.tif 000002
【特許請求の範囲】
【請求項１】
入力されたパスワードに基づいて固有情報を生成するための条件を生成する条件生成手段と、
前記生成された条件に基づいて、ハードウェア特性に応じた前記固有情報を生成する固有情報生成手段と、
前記生成された固有情報を秘密情報として利用する暗号化・認証手段と、
を備える認証デバイス。
【請求項２】
前記条件生成手段は、前記入力されたパスワードをシードとしてシーケンスを取得し、該取得したシーケンスに基づいて前記条件を生成する、請求項１に記載の認証デバイス。
【請求項３】
登録フェーズにおいて、前記生成した固有情報の信頼度を判定し、信頼度が低い固有情報に対応する条件を格納手段に登録する信頼度判定手段をさらに備え、
前記条件生成手段は、認証フェーズにおいて、前記格納手段に登録されている条件と一致する条件は出力しないことを特徴とする請求項１または２に記載の認証デバイス。
【請求項４】
前記固有情報生成手段は、登録フェーズにおいて、同一の条件によって複数の固有情報を生成し、
前記信頼度判定手段は、前記同一の条件によって生成された複数の固有情報のバラツキが所定の範囲を超えた場合、信頼度が低いと判定する、
請求項３に記載の認証デバイス。
【請求項５】
前記固有情報生成手段は、前記条件に基づいて２つのハードウェア特性を取得し、該取得した２つのハードウェア特性の差分を前記固有情報として出力する、請求項１乃至４のいずれか１項記載の認証デバイス。
【請求項６】
前記固有情報生成手段は、複数のリングオッシレータ回路を含み、
前記条件生成手段は、前記複数のリングオッシレータ回路から２つのリングオッシレータ回路を指定するための情報を前記条件として生成し、
前記固有情報生成手段は、前記条件に基づいて指定された２つのリングオッシレータ回路から出力された周波数の差分を前記固有情報とする、
請求項５に記載の認証デバイス。
【請求項７】
前記固有情報生成手段は、Ｌ段のセレクト回路を含み、
前記条件生成手段は、Ｌビットの情報を前記条件として生成し、
前記固有情報生成手段は、前記Ｌビットの条件を用いて前記Ｌ段のセレクト回路における２つのパスを設定し、該２つのパスの通過時間の差分を前記固有情報とする、
請求項５に記載の認証デバイス。
【請求項８】
前記条件は、ＰＵＦ（Physically Unclonable Function）チャレンジである、請求項１乃至７のいずれか１項に記載の認証デバイス。
【請求項９】
ユーザからパスワードの入力を受け付ける入力手段をさらに備える、請求項請求項１乃至８のいずれか１項に記載の認証デバイス。
【請求項１０】
入力されたパスワードに基づいて固有情報を生成するための条件を生成し、
前記生成された条件に基づいて、ハードウェア特性に応じた固有情報を生成し、
前記生成された固有情報を秘密情報として利用する、
認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証デバイスおよび認証方法に関し、特に、パスワードとＰＵＦを併用して認証を行う認証デバイスおよび認証方法に関する。
【背景技術】
【０００２】
情報セキュリティに関して安全なシステムを実現するためには、システムにアクセスするユーザが正規であることを検証する認証手段が必要となる。ＩＤとパスワードによるパスワード認証は可用性の高さと導入の容易さから現在でも主要なユーザ認証手段であるが、サイバー攻撃の進化によって、パスワード認証に対してさらなる高い安全性が求められている。
【０００３】
パスワード認証においては通常、パスワードの認証に一定回数失敗すると、そのＩＤに対するアクセスを制限する対策が採られている。また、パスワードそのものを保持する代わりに、そのハッシュ値およびハッシュ関数を保持する対策が採られている。ここで、ハッシュ値の算出は、ＮＩＳＴ（National Institute of Standards and Technology：米国立標準技術研究所）推奨のＳＨＡ２５６など、逆像を求めることが困難な暗号学的に安全なハッシュ関数を用いることが一般的である。
【０００４】
しかし、端末機器もしくはサーバが攻撃者にハッキングされ、パスワードからハッシュ値を生成する処理方法とパスワードのハッシュ値がともに漏えいした場合にはオフラインによる攻撃が可能となる。オフライン攻撃を防止する方法の一つに、パスワード認証とそれ以外の認証方式を組み合わせる二要素認証がある。
【０００５】
二要素認証の一つとして、ＰＵＦ（Physically Unclonable Function）と呼ばれる、ハードウェアの製造時のゆらぎに起因する予測困難な固有情報を、パスワードと併用する技術がある。例えば、特許文献１、２には、特定の端末からサーバへアクセスする場合などにおいて、パスワードとＰＵＦとを併用してシステムの安全性を高める技術が開示されている。なお、特許文献１や非特許文献１には、配線遅延のランダムネスを利用することによって固有情報を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１２−５０３８１４号公報
【特許文献２】特表２０１２−５１０２１０号公報
【特許文献３】特表２００９−５２４９９８号公報
【非特許文献】
【０００７】
【非特許文献１】G. E. Shu and S. Devadas, “Physically Unclonable Functions for Device Generation and Secret Key Generation,” Proc. 44th Design Automation Conference, pp.9-14.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１、２で開示されている技術は共に、パスワード認証を補助的に用いることによって、ＰＵＦを利用する認証方式の安全性を強化する技術である。パスワードの正当性についてはＰＵＦにおけるデバイス物理情報生成とは独立に検証できるため、攻撃者はオフラインで高速にパスワードを求めることが可能となる。
【０００９】
本発明は上記の課題に鑑みてなされたものであり、パスワードとＰＵＦを併用する認証デバイスおよび認証方法において、オフライン処理による攻撃が困難であり、安全性がより高い認証デバイスおよび認証方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明に係る認証デバイスは、入力されたパスワードに基づいて固有情報を生成するための条件を生成する条件生成手段と、生成された条件に基づいて、ハードウェア特性に応じた固有情報を生成する固有情報生成手段と、固有情報を秘密情報として利用する暗号化・認証手段と、を備える。
【００１１】
上記目的を達成するために本発明に係る認証方法は、入力されたパスワードに基づいて固有情報を生成するための条件を生成し、生成された条件に基づいて、ハードウェア特性に応じた固有情報を生成し、固有情報を秘密情報として利用する。
【発明の効果】
【００１２】
上述した本発明の態様によれば、パスワードとＰＵＦを併用する認証デバイスおよび認証方法において、オフライン処理による攻撃が困難であり、安全性がより高い認証デバイスおよび認証方法を提供できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係る認証デバイス１０のブロック構成図である。
【図２】第２の実施形態に係るパスワード・ＰＵＦ認証システム１００のブロック構成図である。
【図３】第２の実施形態に係るパスワード・ＰＵＦ認証システム１００の登録フェーズにおける動作フロー図である。
【図４】第２の実施形態に係るパスワード・ＰＵＦ認証システム１００の認証フェーズにおける動作フロー図である。
【図５】第３の実施形態に係るパスワード・ＰＵＦ認証システム１００Ｂのブロック構成図である。
【図６】第３の実施形態に係るパスワード・ＰＵＦ認証システム１００Ｂの登録フェーズにおける動作フロー図である。
【図７】第３の実施形態に係るパスワード・ＰＵＦ認証システム１００Ｂの認証フェーズにおける動作フロー図である。
【図８】第４の実施形態に係るデバイス物理情報生成回路３１０Ｃの回路構成図である。
【図９】第４の実施形態の変形例に係るデバイス物理情報生成回路３１０Ｄおよび物理情報判定回路３３０Ｄの回路構成図である。
【図１０】第５の実施形態に係るデバイス物理情報生成回路３１０Ｅおよび物理情報判定回路３３０Ｅの回路構成図である。
【発明を実施するための形態】
【００１４】
＜第１の実施形態＞
本発明に係る第１の実施形態について説明する。本実施形態に係る認証デバイスのブロック構成図を図１に示す。図１において、認証デバイス１０は、条件生成手段２０、固有情報生成手段３０および暗号化・認証手段４０を備える。
【００１５】
条件生成手段２０は、入力されたパスワードに基づいて、ハードウェア特性に応じた固有情報を生成するための条件を生成し、固有情報生成手段３０へ出力する。本実施形態において、条件生成手段２０は、入力されたパスワードをシードとしてシーケンスを取得し、取得したシーケンスに基づいて条件を生成する。
【００１６】
固有情報生成手段３０は、ハードウェアを構成要素に持ち、入力された条件に従ってハードウェア特性に応じた固有情報を生成する。ここで、ハードウェア特性に応じた固有情報とは、ハードウェアの製造時のゆらぎに起因する、ハードウェア単体が有する特性である。例えば、同一ロットで生産されたＬＳＩ（Large Scale Integration）において、同一の配線であってもデバイス個体が異なれば信号伝播の遅延のばらつきが発生する。このばらつきは、製造者でも推測困難な性質を持つ。従って、条件生成手段２０から入力された条件に基づいてハードウェアの任意の配線を指定し、指定された配線における遅延の測定結果を固有情報として用いることができる。
【００１７】
暗号化・認証手段４０は、固有情報生成手段３０において生成された固有情報を秘密情報として利用し、認証デバイスを保持する装置のセキュリティ機能を実現する。このセキュリティ機能にはストレージの暗号化もしくはサーバとの間の認証・鍵交換が含まれ、直接的には、固有情報をこれらの暗号化や認証・鍵交換の秘密鍵として利用する。
【００１８】
上記のように構成された認証デバイス１０は、入力されたパスワードをシードとしてシーケンスを取得し、取得したシーケンスに基づいて条件を生成する。そして、生成した条件に基づいてハードウェア特性に応じた固有情報を生成し、該固有情報を秘密情報として利用する。
【００１９】
以上のように、本実施形態に係る認証デバイス１０は、ユーザが入力したパスワードに基づいて条件を決定し、該条件に従って、ハードウェアを用いて生成した固有情報を認証に用いる。この場合、機器をハッキングしても固有情報は得られず、攻撃者はパスワードに対する固有情報生成手段３０の出力を得る必要があるため、辞書攻撃や総当たりのオフライン攻撃によってパスワードが破られてしまうことを抑制することができ、より安全性の高い認証システムを構築することができる。
【００２０】
＜第２の実施形態＞
第２の実施形態について説明する。本実施形態に係るパスワード・ＰＵＦ認証システムのブロック構成図を図２に示す。図２において、パスワード・ＰＵＦ認証システム１００は、ＰＵＦチャレンジ生成手段２００、固有情報生成手段３００および暗号化・認証手段４００によって構成される。
【００２１】
ＰＵＦチャレンジ生成手段２００に、ユーザが入力したパスワードが入力される。ＰＵＦチャレンジ生成手段２００は、入力されたパスワードに基づいてＰＵＦチャレンジを生成し、生成したＰＵＦチャレンジを固有情報生成手段３００へ出力する。図２に示すように、本実施形態に係るＰＵＦチャレンジ生成手段２００は、疑似乱数生成回路２１０および出力制御回路２２０によって構成される。
【００２２】
疑似乱数生成回路２１０は、ユーザが入力したパスワードをシードとして、シーケンスを生成して出力制御回路２２０へ出力する。シードとして、ユーザが入力したパスワードだけではなく、ユーザや機器のＩＤも合せて利用することもできる。これにより、安全性をさらに高めることができる。
【００２３】
出力制御回路２２０は、入力されたシーケンスに従ってＰＵＦチャレンジデータを生成し、生成したＰＵＦチャレンジデータのインデックスを、固有情報生成手段３００のデバイス物理情報生成回路３１０が生成するデバイス物理情報のフォーマットに合せる。そして、インデックスを調整したＰＵＦチャレンジデータを、ＰＵＦチャレンジとして固有情報生成手段３００へ出力する。出力制御回路２２０は、例えば、カウンタによって実現することができる。
【００２４】
固有情報生成手段３００はＰＵＦチャレンジ生成手段２００から入力されたＰＵＦチャレンジを用いてデバイス固有情報を生成し、暗号化・認証手段４００へ出力する。図２に示すように、本実施形態に係る固有情報生成手段３００は、デバイス物理情報生成回路３１０および物理情報処理回路３２０によって構成される。
【００２５】
デバイス物理情報生成回路３１０は、入力されたＰＵＦチャレンジを用いてデバイス物理情報を生成する。デバイス物理情報生成回路３１０は、例えば、遅延を測るための同一の複数の回路やメモリ(ＳＲＡＭ)などによって構成することができる。
【００２６】
ここで、デバイス物理情報とは、ハードウェアの製造時のゆらぎに起因する固有情報である。例えば、同一ロットとして生産された複数個のＬＳＩにおいて、同一の配線であっても、デバイス個体が異なれば信号伝播の遅延のばらつきが発生する。遅延を利用するＰＵＦは、ＰＵＦチャレンジを用いて回路選択を行い、遅延の測定結果をデバイス物理情報として用いる。また、ＳＲＡＭを利用するＰＵＦにおいては、立ち上げ時の素子の値を利用する。配線遅延のランダムネスを利用したデバイス物理情報の生成については、背景技術に記載した特許文献１や非特許文献１等に開示されている。
【００２７】
物理情報処理回路３２０は、入力されたデバイス物理情報をデバイス固有情報に変換して暗号化・認証手段４００へ出力する。物理情報処理回路３２０は、熱雑音や環境変化に対しても安定した出力を生成するための誤り訂正符号化（登録時）・復号の処理（認証時）を適用する。物理情報処理回路３２０は、冗長性や誤り訂正符号のパリティから漏えいする情報量を考慮して、一定長の推測困難なランダムな秘密鍵に圧縮する処理を行う。
【００２８】
暗号化・認証手段４００は、入力されたデバイス固有情報を秘密鍵や秘密の補助情報として用いることによって、メッセージの認証や暗号化を実行する。典型的には、外部サーバとのチャレンジ・レスポンス認証や端末機器内のストレージ暗号化のための秘密鍵の暗号化鍵の生成などによって目標のセキュリティ機能を実現する。
【００２９】
上記のように構成されたパスワード・ＰＵＦ認証システム１００は、一般的なパスワード認証もしくはＰＵＦ認証と同様に、最初にデバイスにユーザを設定するときに実行される登録フェーズと、ユーザの認証を行うときに実行される認証フェーズと、によって運用される。以下、それぞれのフェーズにおける処理フローを説明する。
【００３０】
先ず、登録フェーズについて図３を用いて説明する。図３において、ユーザが端末機器にパスワードを入力すると（Ｓ１０１）、ＰＵＦチャレンジ生成手段２００の疑似乱数生成回路２１０は、入力されたパスワードをシードとしてシーケンスを生成し、生成したシーケンスを出力制御回路２２０へ出力する（Ｓ１０２）。
【００３１】
出力制御回路２２０は、入力されたシーケンスに従ってＰＵＦチャレンジデータを生成する。出力制御回路２２０はさらに、生成したＰＵＦチャレンジデータのインデックスを、デバイス物理情報生成回路３１０において生成されるデバイス物理情報のフォーマットに合うように加工し、ＰＵＦチャレンジとして固有情報生成手段３００へ出力する（Ｓ１０３）。
【００３２】
固有情報生成手段３００のデバイス物理情報生成回路３１０は、入力されたＰＵＦチャレンジを用いてデバイス物理情報を生成する（Ｓ１０４）。デバイス物理情報生成回路３１０は、デバイス固有情報の生成に十分なデバイス物理情報が生成された時（Ｓ１０５のＹＥＳ）、生成したデバイス物理情報を物理情報処理回路３２０へ出力する。なお、デバイス固有情報の生成に十分なデバイス物理情報が生成されていない場合（Ｓ１０５のＮＯ）、次のＰＵＦチャレンジに基づいてデバイス物理情報を生成する。すなわち、デバイス固有情報の生成に十分なデータ量が得られるまで、Ｓ１０３〜Ｓ１０５を繰り返す。この繰り返しの回数は、デバイス物理情報の１回の出力のエントロピーと目標のセキュリティレベルに依存して決定される。
【００３３】
物理情報処理回路３２０は、入力されたデバイス物理情報に対して各種処理を施し、デバイス固有情報として暗号化・認証手段４００へ出力する（Ｓ１０６）。物理情報処理回路３２０は、例えば、入力されたデバイス物理情報に対して、誤り訂正符号化によるパリティの生成・保持および圧縮処理を実行することにより、デバイス固有情報を生成する。ここで、圧縮処理には暗号学的なハッシュ関数を利用することができる。
【００３４】
暗号化・認証手段４００は、入力されたデバイス固有情報から認証用データを生成し、生成した認証用データをシステムに登録する（Ｓ１０７）。認証用データは、典型的には、共通鍵暗号やメッセージ認証の秘密鍵である。この秘密鍵は、認証フェーズにおいて、端末機器におけるストレージの暗号化やサーバとの間の認証などに利用される。また、認証用データのシステムへの登録は、端末機器における、この秘密鍵を用いてのシステム秘密鍵の暗号化保持やサーバとの間でチャレンジ−レスポンス認証を行うための登録データ作成等によって実現される。
【００３５】
次に、認証フェーズについて図４を用いて説明する。図４のＳ２０１〜Ｓ２０５は、登録フェーズで説明した図３のＳ１０１〜Ｓ１０５と同じであるため、詳細な説明を省略する。すなわち、Ｓ２０１において、ユーザは、端末機器の使用を開始する時に端末機器にパスワードを入力する。そして、入力されたパスワードに基づいて生成されたＰＵＦチャレンジを用いて、デバイス物理情報が生成される（Ｓ２０２〜Ｓ２０５）。
【００３６】
物理情報処理回路３２０は、入力されたデバイス物理情報に対してＳ１０６で行ったのと同一の処理を施し、認証用デバイス固有情報として暗号化・認証手段４００へ出力する（Ｓ２０６）。例えば、物理情報処理回路３２０は、図３のＳ１０６において用いた登録フェーズのパリティによってデバイス物理情報に対する誤り訂正符号の復号を実行し、復号データに対して図３のＳ１０６と同一の圧縮処理を実行する。
【００３７】
暗号化・認証手段４００は、入力された認証用のデバイス固有情報を、登録フェーズの図３のＳ１０７においてシステムに登録した認証用データによって認証する（Ｓ２０７）。そして、両者が一致した場合、暗号化・認証手段４００は、入力されたパスワードが正当であると判定する。
【００３８】
以上のように、本実施形態に係るパスワード・ＰＵＦ認証システム１００は、ユーザが入力したパスワードをシードとしてシーケンスを生成し、生成したシーケンスに基づいてＰＵＦチャレンジを生成する。この場合、攻撃者は、パスワードを破るために、パスワード毎にＰＵＦの出力を得ることが必要になる。ＰＵＦは複製が困難であるため、オフライン処理においてパスワードが破られることを抑制することができる。つまり、パスワード推定はＰＵＦの出力生成速度に律速されるので、単位時間あたりに試行可能なパスワード数を大きく制限することが可能となる。従って、パスワードとＰＵＦを併用する場合において、オフライン処理による攻撃が困難であり、安全性がより高いパスワード・ＰＵＦ認証システム１００を構築することができる。
【００３９】
＜第３の実施形態＞
第３の実施形態について説明する。本実施形態に係るパスワード・ＰＵＦ認証システムのブロック構成図を図５に示す。図５において、パスワード・ＰＵＦ認証システム１００Ｂは、ＰＵＦチャレンジ生成手段２００Ｂ、固有情報生成手段３００Ｂ、ＰＵＦチャレンジインデックス格納手段５００Ｂおよび暗号化・認証手段４００Ｂによって構成される。
【００４０】
ＰＵＦチャレンジ生成手段２００Ｂは、疑似乱数生成回路２１０Ｂおよび出力制御回路２２０Ｂを備え、入力されたパスワードに基づいてＰＵＦチャレンジを生成し、固有情報生成手段３００Ｂへ出力する。
【００４１】
疑似乱数生成回路２１０Ｂは、入力されたパスワードをシードとしてシーケンスを生成し、生成したシーケンスを出力制御回路２２０Ｂへ出力する。
【００４２】
出力制御回路２２０Ｂは、入力されたシーケンスに従ってＰＵＦチャレンジデータを生成し、そのインデックスを固有情報生成手段３００Ｂのデバイス物理情報生成回路３１０Ｂが生成するデバイス物理情報のフォーマットに合せることによって、ＰＵＦチャレンジを生成する。
【００４３】
本実施形態に係る出力制御回路２２０Ｂは、登録フェーズにおいて、生成したＰＵＦチャレンジをそのまま固有情報生成手段３００Ｂへ出力する。一方、出力制御回路２２０Ｂは、認証フェーズにおいて、ＰＵＦチャレンジを生成する度にＰＵＦチャレンジインデックス格納手段５００Ｂを参照し、生成したＰＵＦチャレンジがスキップ用チャレンジと一致するか否か確認する。そして、生成したＰＵＦチャレンジがスキップ用チャレンジと一致しない場合は固有情報生成手段３００Ｂへ出力し、生成したＰＵＦチャレンジがスキップ用チャレンジと一致した場合はＰＵＦチャレンジを固有情報生成手段３００Ｂへ出力することなく、入力されたシーケンスに従って、次のＰＵＦチャレンジの生成を開始する。
【００４４】
固有情報生成手段３００Ｂは、デバイス物理情報生成回路３１０Ｂ、物理情報判定回路３３０Ｂおよび物理情報処理回路３２０Ｂによって構成され、入力されたＰＵＦチャレンジを用いてデバイス固有情報を生成し、暗号化・認証手段４００Ｂへ出力する。
【００４５】
デバイス物理情報生成回路３１０Ｂは、入力されたＰＵＦチャレンジを用いて、デバイス物理情報を生成して物理情報判定回路３３０Ｂへ出力する。
【００４６】
物理情報判定回路３３０Ｂは、登録フェーズにおいて、デバイス物理情報生成回路３１０Ｂにおける処理内容に応じた最適な判定手法を用いることによって、入力されたデバイス物理情報の信頼度を判定する。物理情報判定回路３３０Ｂは、デバイス物理情報の信頼度が低いと判定した場合、該デバイス物理情報の生成に用いたＰＵＦチャレンジのインデックスをスキップ用チャレンジとしてＰＵＦチャレンジインデックス格納手段５００Ｂに登録する。一方、物理情報判定回路３３０Ｂは、認証フェーズにおいて、入力されたデバイス物理情報をそのまま物理情報処理回路３２０Ｂへ出力する。
【００４７】
物理情報処理回路３２０Ｂは、物理情報判定回路３３０Ｂを介してデバイス物理情報生成回路３１０Ｂから入力されたデバイス物理情報をデバイス固有情報に変換し、暗号化・認証手段４００Ｂへ出力する。
【００４８】
ＰＵＦチャレンジインデックス格納手段５００Ｂには、物理情報判定回路３３０Ｂにおいて信頼度が低いと判定されたデバイス物理情報に対応するＰＵＦチャレンジのインデックスがスキップ用チャレンジとして登録される。
【００４９】
暗号化・認証手段４００Ｂは、入力されたデバイス固有情報を秘密鍵や秘密の補助情報として用いることによって、メッセージの認証や暗号化を実行する。
【００５０】
上記のように構成されたパスワード・ＰＵＦ認証システム１００Ｂの登録フェーズおよび認証フェーズの処理フローについて説明する。先ず、登録フェーズについて、図６を用いて説明する。図６のＳ３０１〜Ｓ３０４は、図３のＳ１０１〜Ｓ１０４（第２の実施形態に係るパスワード・ＰＵＦ認証システム１００の登録フェーズにおける処理フロー）と同様であるため、詳細な説明を省略する。すなわち、ユーザから入力されたパスワードをシードとして生成されたＰＵＦチャレンジによって、デバイス物理情報が生成される。
【００５１】
本実施形態において、固有情報生成手段３００Ｂの物理情報判定回路３３０Ｂは、登録フェーズにおいて、デバイス物理情報の信頼度を判定する（Ｓ３０５）。物理情報判定回路３３０Ｂは、入力されたデバイス物理情報の信頼度が低いと判定した場合（Ｓ３０５の低）、生成されたデバイス物理情報を破棄すると共に該デバイス物理情報の生成に用いられたＰＵＦチャレンジのインデックスをスキップ用チャレンジとしてＰＵＦチャレンジインデックス格納手段５００Ｂに登録する（Ｓ３０６）。
【００５２】
一方、入力されたデバイス物理情報の信頼度が高いと判定した場合（Ｓ３０５の高）、物理情報判定回路３３０Ｂはさらに、デバイス固有情報の生成に十分なデバイス物理情報が生成されたか否か判定する（Ｓ３０７）。そして、デバイス固有情報の生成に十分なデバイス物理情報が生成された時（Ｓ３０７のＹＥＳ）、デバイス物理情報を物理情報処理回路３２０Ｂへ出力する。なお、デバイス固有情報の生成に十分なデバイス物理情報が生成されていない場合（Ｓ３０７のＮＯ）、デバイス固有情報の生成に十分なデータ量が得られるまで、Ｓ３０３〜Ｓ３０７を繰り返す。
【００５３】
物理情報処理回路３２０Ｂは、入力されたデバイス物理情報に対して誤り訂正符号化によるパリティの生成・保持および圧縮処理を実行し、デバイス固有情報として暗号化・認証手段４００Ｂへ出力する（Ｓ３０８）。
【００５４】
暗号化・認証手段４００Ｂは、入力されたデバイス固有情報から認証用データを生成し、生成した認証用データをシステムに登録する（Ｓ３０９）。
【００５５】
次に、認証フェーズについて、図７を用いて説明する。ユーザは、端末機器の使用を開始する時等に端末機器にパスワードを入力する（Ｓ４０１）。ＰＵＦチャレンジ生成手段２００Ｂの疑似乱数生成回路２１０Ｂは、入力されたパスワードをシードとしてシーケンスを生成し、生成したシーケンスを出力制御回路２２０Ｂへ出力する（Ｓ４０２）。
【００５６】
出力制御回路２２０Ｂは、入力されたシーケンスに従ってＰＵＦチャレンジデータを生成し、インデックスをデバイス物理情報生成回路３１０Ｂにおいて生成されるデバイス物理情報のフォーマットに合うように加工することによってＰＵＦチャレンジを生成する（Ｓ４０３）。そして、出力制御回路２２０Ｂは、ＰＵＦチャレンジを生成する度にＰＵＦチャレンジインデックス格納手段５００Ｂを参照し、生成したＰＵＦチャレンジがスキップ用チャレンジであるか否か検証する（Ｓ４０４）。
【００５７】
出力制御回路２２０Ｂは、生成したＰＵＦチャレンジがスキップ用チャレンジと一致した場合（Ｓ４０４のＹＥＳ）、該ＰＵＦチャレンジを破棄し、疑似乱数生成回路２１０Ｂから入力されたシーケンスに従って次のＰＵＦチャレンジの生成に移る。一方、生成したＰＵＦチャレンジがスキップ用チャレンジではない場合（Ｓ４０４のＮＯ）、出力制御回路２２０Ｂは、該ＰＵＦチャレンジを固有情報生成手段３００Ｂへ出力する（Ｓ４０５）。
【００５８】
固有情報生成手段３００Ｂおよび暗号化・認証手段４００Ｂの処理フロー（図７のＳ４０６〜Ｓ４０９）は、第２の実施形態で説明したパスワード・ＰＵＦ認証システム１００の認証フェーズにおける処理フロー（図４のＳ２０４〜Ｓ２０７）と同様であるため、詳細な説明を省略する。
【００５９】
以上のように、本実施形態に係るパスワード・ＰＵＦ認証システム１００Ｂは、登録フェーズにおいて、パスワードをシードとして生成されたシーケンスに沿ってＰＵＦチャレンジを生成し、該生成したＰＵＦチャレンジの信頼度を判定する。そして、信頼度が低いと判定された場合、該ＰＵＦチャレンジのインデックスをスキップ用チャレンジとしてＰＵＦチャレンジインデックス格納手段５００Ｂに登録しておく。ＰＵＦにおいては、温度など環境変化に関わらず安定した出力を生成するための処理が必要となるが、認証フェーズにおけるデバイス物理情報生成部３１０Ｂの入力となるシーケンス生成において、信頼度の低いＰＵＦチャレンジをスキップすることにより、安定性および信頼性が高いデバイス固有情報に基づく認証を行うことができる。
【００６０】
＜第４の実施形態＞
第４の実施形態について説明する。本実施形態に係るパスワード・ＰＵＦ認証システムは、第２の実施形態で説明した図２のパスワード・ＰＵＦ認証システム１００と同様に構成される。本実施形態では、デバイス物理情報生成回路３１０としてリングオッシレータ回路を適用する。以下、本実施形態に係るパスワード・ＰＵＦ認証システムの各要素を、図２のパスワード・ＰＵＦ認証システム１００の各要素の末尾に「Ｃ」を付して説明する。
【００６１】
ＰＵＦチャレンジ生成手段２００Ｃの疑似乱数生成回路２１０Ｃは、ユーザが入力したパスワードをシードとして、シーケンスを生成して出力制御回路２２０Ｃへ出力する。
【００６２】
出力制御回路２２０Ｃは、入力されたシーケンスに基づいてＰＵＦチャレンジを生成し、生成したＰＵＦチャレンジをデバイス物理情報生成回路３１０Ｃのセレクタ３１２Ｃへ出力する。本実施形態に係る出力制御回路２２０Ｃは、入力されたシーケンスに基づいてＰＵＦチャレンジデータを生成し、該ＰＵＦチャレンジデータのインデックスをリングオッシレータ回路３１１Ｃのペアのインデックスのフォーマットに合わせることによってＰＵＦチャレンジを生成する。
【００６３】
デバイス物理情報生成回路３１０Ｃは、入力されたＰＵＦチャレンジを用いてデバイス物理情報を生成し、物理情報処理回路３２０Ｃへ出力する。本実施形態に係るデバイス物理情報生成回路３１０Ｃの回路構成図を図８に示す。図８において、デバイス物理情報生成回路３１０Ｃは、複数のリングオッシレータ回路３１１Ｃ、セレクタ３１２Ｃ、２個のカウンタ３１３Ｃ、３１４Ｃおよび比較手段３１５Ｃによって構成される。本実施形態に係るデバイス物理情報生成回路３１０Ｃには、１００から数百個のリングオッシレータ回路３１１Ｃが配置される。
【００６４】
リングオッシレータ回路３１１Ｃはそれぞれ奇数個のインバータを備える。
【００６５】
セレクタ３１２Ｃは、ＰＵＦチャレンジ生成手段２００Ｃから入力されたＰＵＦチャレンジに基づいて、デバイス物理情報生成回路３１０Ｃに配置されている複数のリングオッシレータ回路３１１Ｃの中から２個のリングオッシレータ回路３１１Ｃを選択し、選択したリングオッシレータ回路３１１Ｃの出力値をカウンタ３１３Ｃ、３１４Ｃへ出力する。
【００６６】
カウンタ３１３Ｃ、３１４Ｃはそれぞれ、セレクタ３１２Ｃから入力された出力値について、一定時間における出力値の０、１反転数（周波数）を計測し、計測結果を比較手段３１５Ｃへ出力する。
【００６７】
比較手段３１５Ｃは、カウンタ３１３Ｃ、３１４Ｃから入力された計測結果を比較し、その大小に応じて０または１を出力する。ここで、比較手段３１５Ｃから出力される０、１の並びが、デバイス物理情報である。リングオッシレータ回路３１１Ｃの周波数は、温度などの環境要因によって大きく変化するが、２つのリングオッシレータ回路３１１Ｃからの出力値の大小関係をデバイス物理情報として用いることにより、環境による要因を抑制して、信頼性の高いデバイス物理情報を生成することができる。なお、リングオッシレータ回路３１１Ｃを用いた固有情報の生成については背景技術に記載した非特許文献１等に開示されている。
【００６８】
物理情報処理回路３２０Ｃは、入力されたデバイス物理情報をデバイス固有情報に変換し、暗号化・認証手段４００Ｃへ出力する。
【００６９】
暗号化・認証手段４００Ｃは、入力されたデバイス固有情報を秘密鍵や秘密の補助情報として用いることによって、メッセージの認証や暗号化を実行する。
【００７０】
ここで、リングオッシレータ回路３１１Ｃの個数がｎ個であれば、０からｎ−１までの異なる整数（ｎ＝２５６の場合で８ビット）のペアを出力することにより、リングオッシレータ回路３１１Ｃのペアを指定することができる。さらに、リングオッシレータ回路３１１Ｃを選択する時に、選択したリングオッシレータ回路３１１Ｃのペアのインデックスをメモリに保持することにより、一度選択されたリングオッシレータ回路３１１Ｃのペアは利用しない等の処理を実現することができる。この場合、固有情報のエントロピーの低下を防止することができる。
【００７１】
リングオッシレータ回路３１１Ｃを用いたデバイス物理情報の生成においては、ＰＵＦチャレンジに対して１ビットの情報が得られるので、ｋビットのデバイス固有情報を生成するためにはｋ個以上のＰＵＦチャレンジに対してデバイス物理情報生成を実行する必要がある。デバイス物理情報の１ビットあたりのエントロピーをｆとおく。ｆは理想的には１であるが、実際にはリングオッシレータ回路３１１Ｃのデバイス内での位置によって周波数に偏りが出るため、実際は１より小さくなることが多い。物理情報処理回路３２０Ｃの誤り訂正符号の符号化率をｒで表すと、Ｎ＝（ｋ／（ｆ・ｒ））回以上のＰＵＦチャレンジでＮビット以上のデバイス物理情報を生成して、ｋビットのデバイス固有情報にハッシュ関数を用いて圧縮する。
【００７２】
また、本実施形態に係る物理情報処理回路３２０Ｃにおいて使用される誤り訂正符号は、典型的には、ＢＣＨ符号やリード・ソロモン符号などのブロック符号が適用される。パリティ生成は、例えば、入力系列を情報系列として符号化処理でパリティを求める、もしくは、入力系列とパリティ検査行列の積であるシンドロームとして求める。後者では、復号時にはそのシンドロームを生成する系列の中で入力系列と最もハミング距離が小さい系列を求める処理を実行する。出力生成のためのハッシュ関数として、ＮＩＳＴ推奨のＳＨＡ２２５６などの暗号学的に安全なハッシュ関数が適用できる。
【００７３】
＜第４の実施形態の変形例＞
第４の実施形態の変形例について説明する。本実施形態においては、第４の実施形態で説明した図８のデバイス物理情報生成回路３１０Ｃを、第３の実施形態で説明した図５のパスワード・ＰＵＦ認証システム１００Ｂに適用する。以下、本実施形態に係るパスワード・ＰＵＦ認証システムの各要素を、図３のパスワード・ＰＵＦ認証システム１００Ｂの各要素の末尾の「Ｂ」および図８のデバイス物理情報生成回路３１０Ｃの各要素の末尾の「Ｃ」を、それぞれ「Ｄ」に置き換えて説明する。本実施形態に係るデバイス物理情報生成回路３１０Ｄおよび物理情報判定回路３３０Ｄの回路構成図を図９に示す。
【００７４】
図９において、デバイス物理情報生成回路３１０Ｄは、複数のリングオッシレータ回路３１１Ｄ、セレクタ３１２Ｄおよび２個のカウンタ３１３Ｄ、３１４Ｄを備える。セレクタ３１２Ｄは、ＰＵＦチャレンジ生成手段２００Ｄから入力したＰＵＦチャレンジに基づいて２個のリングオッシレータ回路３１１Ｄを選択し、選択したリングオッシレータ回路３１１Ｄからの出力値をカウンタ３１３Ｄ、３１４Ｄへ出力する。カウンタ３１３Ｄ、３１４Ｄは、セレクタ３１２Ｄから入力される出力値について、一定時間における出力値の０、１反転数（周波数）を計測し、計測した０、１の並びをデバイス物理情報として、物理情報判定回路３３０Ｄへ出力する。
【００７５】
物理情報判定回路３３０Ｄは比較判定回路３３１Ｄによって構成される。比較判定回路３３１Ｄは、登録フェーズにおいて、デバイス物理情報生成回路３１０Ｄのカウンタ３１３Ｄ、３１４Ｄからの出力値の信頼度を判定する。本実施形態に係る比較判定回路３３１Ｄは、２個のリングオッシレータ回路３１１Ｄの周波数の差分が所定の閾値よりも小さい場合、デバイス物理情報の信頼度が低いと判定し、該デバイス物理情報に対応するＰＵＦチャレンジのインデックスをスキップ用チャレンジとしてＰＵＦチャレンジインデックス格納手段５００Ｄに登録する。
【００７６】
すなわち、カウンタ３１３Ｄ、３１４Ｄから出力される周波数が近すぎる場合、温度等に応じて大小の関係が反転しやすくなる。登録フェーズにおいて、両者の差分が所定の閾値よりも小さいペアに対応するＰＵＦチャレンジをスキップ用チャレンジとして登録しておくことにより、認証フェーズにおいて、不安定なペアを除外することができる。従って、認証フェーズにおいてデバイス物理情報の信頼度を高めることができ、誤り訂正符号のパリティの量を小さくすることができる。
【００７７】
＜第５の実施形態＞
第５の実施形態について説明する。本実施形態に係るパスワード・ＰＵＦ認証システムは、第３の実施形態で説明した図５のパスワード・ＰＵＦ認証システム１００Ｂと同様に構成される。本実施形態では、デバイス物理情報生成回路３１０Ｂとして、二つの配線の遅延差を検出するアービター回路を適用する。以下、第３の実施形態で説明した図５のパスワード・ＰＵＦ認証システム１００Ｂの各要素の末尾の「Ｂ」を「Ｅ」に置き換えて説明する。
【００７８】
ＰＵＦチャレンジ生成手段２００Ｅの疑似乱数生成回路２１０Ｅは、ユーザが入力したパスワードをシードとして、シーケンスを生成し、出力制御回路２２０Ｅへ出力する。出力制御回路２２０Ｅは、入力されたシーケンスをＬ段セレクト回路３１７Ｅのフォーマットに合わせ、ＬビットのＰＵＦチャレンジをデバイス物理情報生成回路３１０Ｅのセレクタ３１６Ｅへ出力する。
【００７９】
デバイス物理情報生成回路３１０Ｅは、入力されたＬビットのＰＵＦチャレンジを用いてデバイス物理情報を生成し、物理情報判定回路３３０Ｅへ出力する。本実施形態に係るデバイス物理情報生成回路３１０Ｅおよび物理情報判定回路３３０Ｅの回路構成図を図１０に示す。図１０において、デバイス物理情報生成回路３１０Ｅは、セレクタ３１６Ｅ、Ｌ段セレクト回路３１７Ｅおよびアービター回路３１８Ｅによって構成される。
【００８０】
セレクタ３１６Ｅに、ＰＵＦチャレンジ生成手段２００ＥからＬビットのＰＵＦチャレンジが入力される。セレクタ３１６Ｅは、入力されたＬビットのＰＵＦチャレンジに基づいて、Ｌ段セレクト回路３１７Ｅの各段のセレクタのクロスまたはストレートの入力を順次選択することによって、２つのパスを設定する。すなわち、入力されたＬビットのＰＵＦチャレンジによって、Ｌ段セレクト回路３１７Ｅにおいて同一長の異なる２つのパスが設定される。さらに、本実施形態に係るセレクタ３１６Ｅは、登録フェーズにおいて、実行中のＰＵＦチャレンジをＰＵＦチャレンジレジスタ３３２Ｅへ書き込む。
【００８１】
Ｌ段セレクト回路３１７Ｅは、Ｌ段のセレクタ対と、ストレートおよびクロスのパスと、によって構成される。Ｌ段セレクト回路３１７Ｅは、セレクタ３１６Ｅによって設定された２つのパスからの出力値を（以下、パス信号と記載する。）アービター回路３１８Ｅへ出力する。
【００８２】
アービター回路３１８Ｅには、Ｌ段セレクト回路３１７Ｅの同一長の異なる２つのパスをそれぞれ通過した２つのパス信号が入力される。アービター回路３１８Ｅは、入力された２つのパス信号について、どちらのパス信号が早く入力されたか判定し、判定結果に応じて０もしくは１のデバイス物理情報を物理情報判定回路３３０Ｅへ出力する。アービター回路３１８Ｅとしては、例えば、Ｄ型フリップフロップを適用することができる。アービターを用いた固有情報生成は、背景技術に示した非特許文献１等に開示されている。
【００８３】
物理情報判定回路３３０Ｅは、登録フェーズにおいて、信頼度の低いデバイス物理情報が生成されるＰＵＦチャレンジを抽出し、抽出したＰＵＦチャレンジのインデックスをスキップ用チャレンジとしてＰＵＦチャレンジインデックス格納手段５００Ｅに登録する。図１０に示すように、本実施形態に係る物理情報判定回路３３０Ｅは、ＰＵＦチャレンジレジスタ３３２Ｅ、デバイス物理情報レジスタ３３３Ｅおよび判定回路３３４Ｅによって構成される。
【００８４】
ＰＵＦチャレンジレジスタ３３２Ｅは、登録フェーズにおいて、セレクタ３１６Ｅにおいて実行中のＰＵＦチャレンジがセレクタ３１６Ｅによって一時的に格納される。
【００８５】
デバイス物理情報レジスタ３３３Ｅは、ＰＵＦチャレンジレジスタ３３２Ｅに格納されているＰＵＦチャレンジを用いて生成された複数のデバイス物理情報が一時的に格納される。
【００８６】
判定回路３３４Ｅは、登録フェーズにおいて、デバイス物理情報レジスタ３３３Ｅに格納されている複数のデバイス物理情報の信頼度を判定する。判定回路３３４Ｅは、例えば、デバイス物理情報として１もしくは０の一定の出力が安定的にされている時、デバイス物理情報が安定していると判定する。
【００８７】
判定回路３３４Ｅは、デバイス物理情報レジスタ３３３Ｅに格納されている複数のデバイス物理情報が安定していると判定した場合、該デバイス物理情報を物理情報処理回路３２０Ｅへ出力すると共に、次のＰＵＦチャレンジへ移行させるための信号を出力する。この信号により、セレクタ３１６Ｅは次のＰＵＦチャレンジに基づくデバイス物理情報の生成に移ると共にＰＵＦチャレンジレジスタ３３２Ｅおよびデバイス物理情報レジスタ３３３Ｅがクリアされる。
【００８８】
一方、デバイス物理情報レジスタ３３３Ｅに格納されている複数のデバイス物理情報が安定していないと判定した場合、判定回路３３４Ｅは、ＰＵＦチャレンジレジスタ３３２Ｅに格納されているＰＵＦチャレンジのインデックスのインデックスをスキップ用チャレンジとしてＰＵＦチャレンジインデックス格納手段５００Ｅに登録すると共に、次のＰＵＦチャレンジへ移行させるための信号を出力する。
【００８９】
Ｌ段セレクト回路３１７Ｅにおいて、ＬビットのＰＵＦチャレンジによって設定された２つのパスの遅延差が非常に小さい場合、アービター回路３１８Ｅにおいて２つのパス信号のどちらが早いのか安定的に判定するのは極めて困難である。本実施形態においては、登録フェーズにおいてＰＵＦチャレンジを用いたデバイス物理情報の生成を複数回実施することで、アービター回路３１８Ｅにおける判定が不安定となるＰＵＦチャレンジのインデックスをスキップ用チャレンジとして登録しておく。そして、認証フェーズにおいて、不安定なＰＵＦチャレンジをスキップすることにより、信頼性の高いデバイス物理情報のみを認証に用いることができる。
【００９０】
本願発明は上記実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれる。
【符号の説明】
【００９１】
１０    認証デバイス
２０    条件生成手段
３０    固有情報生成手段
４０    暗号化・認証手段
１００、１００Ｂ    パスワード・ＰＵＦ認証システム
２００、２００Ｂ    ＰＵＦチャレンジ生成手段
２１０、２１０Ｂ    疑似乱数生成回路
２２０、２２０Ｂ    出力制御回路
３００、３００Ｂ    固有情報生成手段
３１０、３１０Ｂ    デバイス物理情報生成回路
３２０、３２０Ｂ    物理情報処理回路
３３０Ｂ    物理情報判定回路
４００、４００Ｂ    暗号化・認証手段
５００Ｂ    ＰＵＦチャレンジインデックス格納手段
【図１】
2016018257.tif 000003
【図２】
2016018257.tif 000004
【図３】
2016018257.tif 000005
【図４】
2016018257.tif 000006
【図５】
2016018257.tif 000007
【図６】
2016018257.tif 000008
【図７】
2016018257.tif 000009
【図８】
2016018257.tif 000010
【図９】
2016018257.tif 000011
【図１０】
2016018257.tif 000012