(57)【要約】  デバイス固有情報の誤り率を制御することのできる方法及びプログラムを提供する。  ｉ個(ｉは任意の自然数)のチャレンジをＰＵＦ搭載チップにそれぞれｊ回(ｊは任意の自然数)入力し、ｊ個のレスポンスをそのまま(ｊ’＝ｊ)、あるいはｊ’個(０＜ｊ’＜ｊ)に加工し、各々の入力データと対応付けて予めにデータベースに登録させるステップＳ１と、データベースにｉ個のチャレンジを入力するステップＳ２と、それぞれ対応するｊ’個のレスポンスをデータベースから読み出し、各入力データにつきｊ’個のレスポンスを連結し、連結したデータをさらにｋ’個繰り返し連結(０＜ｋ’≦ｋ、かつ、ｋは任意の自然数であるが、前記ｉ及び前記ｊが共に１のときは２以上の自然数)し各入力データにつき連結された(ｊ’×ｋ’)個分のレスポンスを得て、さらにそれらを異なる入力データについても連結することにより(ｉ×ｊ’×ｋ’)個分の連結されたレスポンスを得ることによって基準データを生成するステップＳ３と、ＰＵＦ搭載チップにｉ個のチャレンジを各チャレンジにつきｋ回入力して、得られたｋ個のレスポンスを、ｋ’＝ｋとしてそのまま、あるいはｋ’個(０＜ｋ’＜ｋ)に加工して得られたｋ’個のレスポンスを、各レスポンスにつきｊ’回繰り返して連結し、それをさらに全てのｋ’に対して連結した(ｊ’×ｋ’)個分の連結レスポンスを、さらに異なる入力データに対しても連結した(ｉ×ｊ’×ｋ’)個分の連結レスポンスを得ることによって合成出力データを生成するステップＳ４と、合成出力データが基準データと一致するか(具体的には、両者のハミング距離がしきい値以下であるか)否かを判定するステップＳ５とを有し、ステップＳ５における判定結果に基づいて、合成出力データの誤り率が予め設定した範囲内であるか否かを判断し、誤り率が予め設定した範囲内にないと判断された場合には、ｉ、ｊ、ｊ’、ｋ、ｋ’のうち少なくとも一つを変更した上で、誤り率が予め設定した範囲内に入るまでステップＳ１からステップＳ５までのステップを繰り返すデバイス固有情報の誤り率制御方法を提供する。
2016031682.tif 000002
【特許請求の範囲】
【請求項１】
ｉ個(ｉは任意の自然数)の入力データを物理複製困難回路にそれぞれｊ回(ｊは任意の自然数)入力し、ｊ個のレスポンスをj’個(ｊ’は任意の自然数で、０＜ｊ’≦ｊ)に加工し、各々の前記入力データと対応付けて予め記憶手段に記憶させる第１のステップと、
前記記憶手段に前記ｉ個の入力データを入力して、それぞれ対応する前記ｊ’個のレスポンスを前記記憶手段から読み出して各入力データに対して得られたｊ’個のレスポンスを連結し、連結したデータをさらにｋ’個繰り返して連結(ｋ’は任意の自然数で０＜ｋ’≦ｋ。但し、ｋは任意の自然数。なお、ｋは、前記ｉ及び前記ｊが共に１のとき２以上となる。)し、得られたデータをさらに入力データの異なるｉ個分について連結することによって基準データを生成する第２のステップと、
前記物理複製困難回路に前記ｉ個の入力データを各入力データにつきｋ回入力して、得られたｋ個のレスポンスをｋ’個に加工して得られたｋ’個の各レスポンスをｊ’回繰り返して連結し、さらにそのｊ’個分のレスポンスを全てのｋ’について連結し各入力データにつき(ｊ’×ｋ’)個分のレスポンスを得て、さらに各入力データにつき(ｊ’×ｋ’)個分のレスポンスを異なる入力データに対しても連結し(ｉ×ｊ’×ｋ’)個分のレスポンスから成る合成出力データを生成する第３のステップと、
前記合成出力データが前記基準データと同一の範囲にあるか否かを判定する第４のステップと、
前記第４のステップにおける前記判定の結果、前記合成出力データの誤り率が予め設定した範囲内であるか否かを判断する第５のステップとを有し、
前記第５のステップにおいて、前記誤り率が前記予め設定した範囲内にないと判断された場合には、前記ｉ、ｊ、ｊ’、ｋ、ｋ’のうち少なくとも一つを変更した上で、前記誤り率が前記予め設定した範囲内に入るまで前記第１から第５までのステップを繰り返すデバイス固有情報の誤り率制御方法。
【請求項２】
前記第１のステップでは、前記ｊ’が２以上の自然数である場合には、ｊ’個のレスポンスを相互に相違する部分を示す情報に圧縮して前記記憶手段に記憶させる、請求項１に記載のデバイス固有情報の誤り率制御方法。
【請求項３】
前記ｉ、ｊ、ｋのうちいずれか一つ若しくは二つのみが定数１である、請求項１又は２に記載のデバイス固有情報の誤り率制御方法。
【請求項４】
物理複製困難回路への入力データを初期設定する第１のステップと、
ｉ個(ｉは任意の自然数)の初期設定された前記入力データを前記物理複製困難回路にそれぞれｊ回(ｊは任意の自然数)入力し、ｊ個のレスポンスをｊ’個(ｊ’は任意の自然数で、０＜ｊ’≦ｊ)に加工し、各々の前記入力データと対応付けて予め記憶手段に記憶させる第２のステップと、
前記記憶手段に前記ｉ個の入力データを入力して、それぞれ対応する前記ｊ’個のレスポンスを前記記憶手段から読み出して各入力データにつきｊ’個のレスポンスを連結し、連結したデータをさらにｋ’個繰り返し連結(ｋ’は任意の自然数で、０＜ｋ’≦ｋ。但し、ｋは任意の自然数。なお、ｋは、前記ｉ及び前記ｊが共に１のとき２以上となる。)し各入力データにつき連結された(ｊ’×ｋ’)個分のレスポンスを得て、さらに、得られた前記レスポンスを異なる入力データについても連結することにより(ｉ×ｊ’×ｋ’)個分の連結されたレスポンスを得ることによって基準データを生成する第３のステップと、
前記物理複製困難回路に前記ｉ個の入力データを各入力データにつきｋ回入力して得られたｋ個のレスポンスをｋ’個に加工して得られたｋ’個のレスポンスを、各レスポンスにつきｊ’回繰り返して連結し、それをさらに全てのｋ’に対して連結した(ｊ’×ｋ’)個分の連結レスポンスを、さらに異なる入力データに対しても連結した(ｉ×ｊ’×ｋ’)個分の連結レスポンスを得ることによって合成出力データを生成する第４のステップと、
前記合成出力データが前記基準データと同一の範囲にあるか否かを判定する第５のステップと、
前記第５のステップにおける前記判定の結果、前記合成出力データの誤り率が予め設定した範囲内であるか否かを判断する第６のステップとを有し、
前記第６のステップにおいて、前記誤り率が前記予め設定した範囲内にないと判断された場合には、前記入力データを変更した上で、前記誤り率が前記予め設定した範囲内に入るまで前記第１から第６までのステップを繰り返すデバイス固有情報の誤り率制御方法。
【請求項５】
コンピュータに、
ｉ個(ｉは任意の自然数)の入力データを物理複製困難回路にそれぞれｊ回(ｊは任意の自然数)入力して、ｊ個のレスポンスをｊ’個(ｊ’は任意の自然数で、０＜ｊ’≦ｊ)に加工し、各々の前記入力データと対応付けて予め記憶手段に記憶する第１の手順と、
前記記憶手段に前記ｉ個の入力データを入力し、それぞれ対応する前記ｊ’個のレスポンスを前記記憶手段から読み出し、各入力データにつきｊ’個のレスポンスを連結し、連結したデータをさらにｋ’個繰り返し連結(ｋ’は任意の自然数で、０＜ｋ’≦ｋ。但し、ｋは任意の自然数。なお、ｋは、前記ｉ及び前記ｊが共に１のときは２以上となる。)し、各入力データにつき連結された(ｊ’×ｋ’)個分のレスポンスを得て、さらに、得られた前記レスポンスを異なる入力データについても連結することにより(ｉ×ｊ’×ｋ’)個分の連結されたレスポンスを得ることによって基準データを生成する第２の手順と、
前記物理複製困難回路に前記ｉ個の入力データを各入力データにつきｋ回入力し、得られたｋ個のレスポンスをｋ’個に加工して得られたｋ’個のレスポンスを、各レスポンスにつきｊ’回繰り返して連結し、それをさらに全てのｋ’に対して連結した(ｊ’×ｋ’)個分の連結レスポンスを、さらに異なる入力データに対しても連結した(ｉ×ｊ’×ｋ’)個分の連結レスポンスを得ることによって合成出力データを生成する第３の手順と、
前記合成出力データが前記基準データと同一の範囲にあるか否かを判定する第４の手順と、
前記第４の手順における前記判定の結果、前記合成出力データの誤り率が予め設定した範囲内であるか否かを判断する第５の手順とを実行させ、
前記第５の手順において、前記誤り率が前記予め設定した範囲内にないと判断された場合には、前記ｉ、ｊ、ｊ’、ｋ、ｋ’のうち少なくとも一つを変更した上で、前記誤り率が前記予め設定した範囲内に入るまで前記第１から第５までの手順を繰り返させるためのデバイス固有情報の誤り率制御プログラム。
【請求項６】
前記第１の手順では、前記ｊ’が２以上の自然数である場合には、ｊ’個のレスポンスを相互に相違する部分を示す情報に圧縮して前記記憶手段に記憶する、請求項５に記載のデバイス固有情報の誤り率制御プログラム。
【請求項７】
前記ｉ、ｊ、ｋのうちいずれか一つ若しくは二つのみが定数１である、請求項５又は６に記載のデバイス固有情報の誤り率制御プログラム。
【請求項８】
コンピュータに、
物理複製困難回路への入力データを初期設定する第１の手順と、
ｉ個(ｉは任意の自然数)の初期設定された前記入力データを前記物理複製困難回路にそれぞれｊ回(ｊは任意の自然数)入力し、ｊ個のレスポンスをｊ’個(ｊ’は任意の自然数で、０＜ｊ’≦ｊ)に加工し、各々の前記入力データと対応付けて予め記憶手段に記憶させる第２の手順と、
前記記憶手段に前記ｉ個の入力データを入力して、それぞれ対応する前記ｊ’個のレスポンスを前記記憶手段から読み出し、各入力データにつきｊ’個のレスポンスを連結し、連結したデータをさらにｋ’個繰り返し連結(ｋ’は任意の自然数で、０＜ｋ’≦ｋ。但し、ｋは任意の自然数。なお、前記ｉ及び前記ｊが共に１のときは２以上となる。)し、各入力データにつき連結された(ｊ’×ｋ’)個分のレスポンスを得て、さらに、得られた前記レスポンスを異なる入力データについても連結することにより(ｉ×ｊ’×ｋ’)個分の連結されたレスポンスを得ることによって基準データを生成する第３の手順と、
前記物理複製困難回路に前記ｉ個の入力データを各入力データにつきｋ回入力して、得られたｋ個のレスポンスをｋ’個に加工して得られたｋ’個のレスポンスを、各レスポンスにつきｊ’回繰り返して連結し、それをさらに全てのｋ’に対して連結した(ｊ’×ｋ’)個分の連結レスポンスを、さらに異なる入力データに対しても連結した(ｉ×ｊ’×ｋ’)個分の連結レスポンスを得ることによって合成出力データを生成する第４の手順と、
前記合成出力データが前記基準データと同一の範囲にあるか否かを判定する第５の手順と、
前記第５の手順における前記判定の結果、前記合成出力データの誤り率が予め設定した範囲内であるか否かを判断する第６の手順とを実行させ、
前記第６の手順において、前記誤り率が前記予め設定した範囲内にないと判断された場合には、前記入力データを変更した上で、前記誤り率が前記予め設定した範囲内に入るまで前記第１から第６までの手順を繰り返させるためのデバイス固有情報の誤り率制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス固有情報の誤り率を制御する技術に関するものである。
【背景技術】
【０００２】
これまで、物理複製困難関数(Physically Unclonable Function：ＰＵＦ)を利用したデバイス認証技術が種々考案されており、例えば以下の特許文献１には複数の物理的なトークンに対するチャレンジ・レスポンスを用いた認証方式が開示されている。【０００３】
また、特許文献２にはＰＵＦの経年劣化情報を併せて記憶することにより認証を行う方式が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００９−５１７９１０号公報
【特許文献２】特願２００８−５４３０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＰＵＦは複製困難なデバイス固有情報(デバイスＩＤ)を生成する技術として有望であるが、出力にプロセスのばらつきによるノイズが多く含まれるため、ＰＵＦの出力を用いて上記固有情報を生成する場合には、ある程度の誤り率が生じてしまう。ここで、誤り率を小さくすればするほど、必要となる回路の規模及びデータサイズが大きくなるという問題がある。【０００６】
また、上記誤り率は一般的に、対象とするアプリケーションによって設定され、例えば高セキュリティが求められる建物の入退室カードや軍事機器の部品等、偽物を本物と誤ることが許されない物においては、固有情報生成手順が複雑でデータサイズが大きくても誤り率は極力小さい値が求められる。【０００７】
一方、例えばアパートの入退室カードのような物においては、誤り率としてある程度小さい値が設定されれば足りる。【０００８】
ここで、上記のようにアプリケーションごとに設定される目標誤り率に合わせてＰＵＦを製造することは、製造コストが増大するために現実的ではないという問題もある。【０００９】
本発明は、上記のような問題を解決するためになされたもので、デバイス固有情報の誤り率を制御することのできる方法及びプログラムを提供することを目的とする。   
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明は、ｉ個(ｉは任意の自然数)の入力データを物理複製困難回路にそれぞれｊ回(ｊは任意の自然数)入力し、ｊ個のレスポンスをそのまま(ｊ’＝ｊ)、あるいはｊ’個(０＜ｊ’＜ｊ)に加工(具体的には、例えばｊ個をｊ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して各々の入力データと上記物理複製困難回路のＩＤと対応付けて予め記憶手段に記憶させる第１のステップと、記憶手段に上記物理複製困難回路のＩＤとｉ個の入力データを入力して、それぞれの入力データに対応するｊ’個のレスポンスを記憶手段から読み出して連結し、連結したデータをさらにｋ’個繰り返し連結(０＜ｋ’≦ｋ、かつ、ｋは任意の自然数)することにより、各入力データにつき(ｊ’×ｋ’)個分のレスポンスを得る。
なお、上記において「軸」とは、上記レスポンスを構成する各成分を意味し、例えば３成分を有するレスポンスにおいては、ｘ軸、ｙ軸、及びｚ軸の３軸となる(以下同じ)。
そして、それらをｉ個の入力データ分についてさらに連結して(ｉ×ｊ’ ×ｋ’)個分のレスポンスを得ることにより基準データを生成する第２のステップと、上記物理複製困難回路にｉ個の入力データをそれぞれｋ回入力して、ｉ個の各々に対して得られたｋ個のレスポンスをｋ’＝ｋとしてそのまま、あるいはｋ’個に加工(具体的には、例えばｋ個をｋ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して、各入力データにつきｋ’個のレスポンスを生成し、その各レスポンスをｊ’個繰り返し連結し、ｊ‘個のレスポンスをさらにｋ’個連結することにより(ｊ’×ｋ’)個分のレスポンスを得て、さらにそれをｉ個連結することにより(ｉ×ｊ’×ｋ’)個分のレスポンスを得ることによって合成出力データを生成する第３のステップと、合成出力データが基準データと同一の範囲にあるか否かを判定する第４のステップと、第４のステップにおける判定の結果、合成出力データの誤り率が予め設定した範囲内であるか否かを判断する第５のステップとを有し、第５のステップにおいて、誤り率が予め設定した範囲内にないと判断された場合には、ｉ、ｊ、ｊ’、ｋ、ｋ’のうち少なくとも一つを変更した上で、誤り率が予め設定した範囲内に入るまで第１から第５までのステップを繰り返すデバイス固有情報の誤り率制御方法を提供する。【００１１】
また、上記課題を解決するため、本発明は、物理複製困難回路への入力データを初期設定する第１のステップと、ｉ個(ｉは任意の自然数)の初期設定された入力データを上記物理複製困難回路にそれぞれｊ回(ｊは任意の自然数)入力し、ｊ個のレスポンスをそのまま(ｊ’＝ｊ)、あるいはｊ’個(０＜ｊ’＜ｊ)に加工(具体的には、例えばｊ個をｊ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して得られた、各入力データにつきｊ’個のレスポンスを、上記物理複製困難回路のＩＤとそれに対する各々の入力データと対応付けて予め記憶手段に記憶させる第２のステップと、記憶手段に上記物理複製困難回路のＩＤとｉ個の入力データを入力して、それぞれ対応するｊ’個のレスポンスを記憶手段から読み出して各入力データにつきｊ’個のレスポンスを連結し、連結したデータをさらにｋ’個繰り返して連結(ここで、０＜ｋ’≦ｋ、かつ、ｋは任意の自然数)することにより得た、各入力データにつき(ｊ’×ｋ’)個分のレスポンスを、さらに入力データの異なるi個分について連結することによって得た(ｉ×ｊ’×ｋ’)個分のレスポンスから成る基準データを生成する第３のステップと、上記物理複製困難回路にｉ個の入力データをそれぞれｋ回入力して、得られた各入力データにつきｋ個のレスポンスをｋ’＝ｋとしてそのまま、あるいはｋ’個に加工(具体的には、例えばｋ個をｋ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して、各入力データにつきｋ’個のレスポンスを生成し、そのｋ’個の各レスポンスをｊ’個繰り返し連結し得られたｊ’個分のレスポンスを、さらにｋ’個連結することにより(ｊ’×ｋ’)個分のレスポンスを得て、さらにそれをｉ個連結することにより得られた(ｉ×ｊ’×ｋ’)個分のレスポンスを合成出力データとして生成する第４のステップと、合成出力データが基準データと同一の範囲にあるか否かを判定する第５のステップと、第５のステップにおける判定の結果、合成出力データの誤り率が予め設定した範囲内であるか否かを判断する第６のステップとを有し、第６のステップにおいて、誤り率が予め設定した範囲内にないと判断された場合には、入力データを変更した上で、誤り率が予め設定した範囲内に入るまで第１から第６までのステップを繰り返すデバイス固有情報の誤り率制御方法を提供する。【００１２】
また、上記課題を解決するため、本発明は、コンピュータに、ｉ個(ｉは任意の自然数)の入力データを物理複製困難回路にそれぞれｊ回(ｊは任意の自然数)入力して、ｊ個のレスポンスをそのまま(ｊ’＝ｊ)、あるいはj’個(０＜ｊ’＜ｊ)に加工(具体的には、例えばｊ個をｊ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して得られた、各入力データにつきｊ’個のレスポンスを各々の入力データと上記物理複製困難回路のＩＤと対応付けて予め記憶手段に記憶する第１の手順と、記憶手段に上記物理複製困難回路のＩＤとｉ個の入力データを入力し、それぞれ対応するｊ’個のレスポンスを記憶手段から読み出して各入力データに対してｊ’個のレスポンスを連結し、連結したデータをさらにｋ’個繰り返し連結(ここで、０＜ｋ’≦ｋ、かつ、ｋは任意の自然数)し、各入力データに対して(ｊ’×ｋ’)個分のレスポンスを得て、それらをｉ個の異なる入力データについて連結することにより得た(ｉ×ｊ’×ｋ’)個分のレスポンスから成る合成出力データを生成する第２の手順と、合成出力データが基準データと同一の範囲にあるか否かを判定する第３の手順と、第３の手順における判定の結果、合成出力データの誤り率が予め設定した範囲内であるか否かを判断する第４の手順とを実行させ、第４の手順において、誤り率が予め設定した範囲内にないと判断された場合には、ｉ、ｊ、ｊ’、ｋ、ｋ’のうち少なくとも一つを変更した上で、誤り率が予め設定した範囲内に入るまで第１から第４までの手順を繰り返させるためのデバイス固有情報の誤り率制御プログラムを提供する。【００１３】
また、上記課題を解決するため、本発明は、コンピュータに、物理複製困難回路への入力データを初期設定する第１の手順と、ｉ個(ｉは任意の自然数)の初期設定された入力データを上記物理複製困難回路にそれぞれｊ回(ｊは任意の自然数)入力し、ｊ個のレスポンスをそのまま(ｊ’＝ｊ)、あるいはｊ’個(０＜ｊ’＜ｊ)に加工(具体的には、例えばｊ個をｊ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して得られた、各入力データにつきｊ’個のレスポンスを上記物理複製困難回路のＩＤと各々の入力データと対応付けて予め記憶手段に記憶させる第２の手順と、記憶手段に上記物理複製困難回路のＩＤとｉ個の入力データを入力して、それぞれ対応するｊ’個のレスポンスを記憶手段から読み出して各入力データにつきｊ’個のレスポンスを連結し、連結したデータをさらにｋ’個繰り返し連結(ここで、０＜ｋ’≦ｋ，かつ、ｋは任意の自然数)し、各入力データに対して(ｊ’×ｋ’)個分のレスポンスを得て、それらを異なる入力データに対して連結することにより得た(ｉ×ｊ’×ｋ’)個分のレスポンスから成る合成出力データを生成する第３の手順と、合成出力データが基準データと同一の範囲にあるか否かを判定する第４の手順と、第４の手順における判定の結果、合成出力データの誤り率が予め設定した範囲内であるか否かを判断する第５の手順とを実行させ、第５の手順において、誤り率が予め設定した範囲内にないと判断された場合には、入力データを変更した上で、誤り率が予め設定した範囲内に入るまで第１から第５までの手順を繰り返させるためのデバイス固有情報の誤り率制御プログラムを提供する。
【発明の効果】
【００１４】
本発明によれば、デバイス固有情報の誤り率を制御することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る［１，１，１，ｋ，ｋ’］モードによるＰＵＦ搭載チップの真贋判定方法を示すフローチャートである。
【図２】図１に示された真贋判定方法を説明するための図である。
【図３】本発明の実施の形態に係る［１，ｊ，ｊ’，１，１］モードによるＰＵＦ搭載チップの真贋判定方法を示すフローチャートである。
【図４】図３に示された真贋判定方法を説明するための図である。
【図５】本発明の実施の形態に係る［１，ｊ，ｊ’，ｋ，ｋ’］モードによるＰＵＦ搭載チップの真贋判定方法を示すフローチャートである。
【図６】本発明の実施の形態に係る［ｉ，ｊ，ｊ’，ｋ，ｋ’］モードによるＰＵＦ搭載チップの真贋判定方法を示すフローチャートである。
【図７】本発明の実施の形態に係る利用モードの確定方法を示すフローチャートである。
【図８】本発明の実施の形態に係るチャレンジ(入力データ)の確定方法を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下において、本発明の実施の形態を図面を参照しつつ詳しく説明する。なお、図中同一符号は同一又は相当部分を示す。
本発明に係るデバイス固有情報の誤り率制御方法の具体例として、第１から第４の実施の形態に係るＰＵＦ搭載チップの真贋判定方法について詳しく説明する。
【００１７】
［第１の実施の形態］
図１及び図２を用いて、第１の実施の形態に係る［１，１，１，ｋ，ｋ’］モードによるＰＵＦ搭載チップの真贋判定方法を詳しく説明する。
【００１８】
ここで、ＰＵＦ搭載チップとは、ＰＵＦを組み込んだ半導体集積回路を意味するが、以下においても同様である。
【００１９】
また、［１，１，１，ｋ，ｋ’］モードとは、ＰＵＦ搭載チップの真贋判定で用いるモード(以下「利用モード」ともいう。)の一つであって、図２に示されるように、ＰＵＦ搭載チップＩＣに対して１つの入力データ(チャレンジ)を入力し、得られた１つの出力データ(レスポンス)をデータベースＤＢに登録すると共に、真贋判定時に上記ＰＵＦ搭載チップＩＣからのｋ個(本実施の形態においてｋは２以上の自然数とする。)のレスポンスを用いるモードを意味する。
なお、上記データベースＤＢは、ＰＵＦ搭載チップＩＣから出力されたレスポンスを記憶する他の手段、例えばハードディスクやメモリ回路等であってもよく、以下の実施の形態においても同様である。
【００２０】
図１は、本発明の実施の形態に係る［１，１，１，ｋ，ｋ’］モードによるＰＵＦ搭載チップの真贋判定方法を示すフローチャートである。
まずステップＳ１において、図２に示されるように、上記ＰＵＦ搭載チップＩＣへ１つのチャレンジを入力し、それに対する１つのレスポンスを、入力したチャレンジおよび上記ＰＵＦ搭載チップＩＣのＩＤと対応させてデータベースＤＢに登録する。
【００２１】
以下判定時における手順として、最初にステップＳ２において、ステップＳ１で登録されたＩＤと１チャレンジをデータベースＤＢに入力する。なお、ステップＳ１で登録されたＩＤを一旦データベースＤＢに入力することによって、予め当該ＩＤに関連付けて登録されたチャレンジのリストを当該データベースＤＢ等から取得し、当該リストから１チャレンジを選択してＤＢに入力するようにしてもよい。
【００２２】
そして、ステップＳ３において、データベースＤＢからステップＳ２で入力された１チャレンジに対応する１レスポンスを読み出し、それをｋ’個繰り返して連結することによって第１の基準データを生成する。
【００２３】
次に、ステップＳ４において、ＰＵＦ搭載チップＩＣに上記の１チャレンジをｋ回入力し、得られたｋ個のレスポンスをｋ’＝ｋとしてそのまま、あるいはｋ’個に加工(具体的には、例えばｋ個をｋ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)し、それらを１つに連結することによって第１の合成出力データを生成する。
なお、上記において「軸」とは、上記レスポンスを構成する各成分を意味し、例えば３成分を有するレスポンスにおいては、ｘ軸、ｙ軸、及びｚ軸の３軸となる(以下同じ)。
【００２４】
そして、ステップＳ５において、上記第１の合成出力データは第１の基準データに類似するか否か(具体的には、両者のハミング距離がしきい値以下であるか否か)を判定し、類似するものと判定された場合にはステップＳ６へ進んで当該ＰＵＦ搭載チップＩＣが本物であると判断されると共に、類似しないものと判定された場合にはステップＳ７へ進んで当該ＰＵＦ搭載チップＩＣが偽物であると判断される。
【００２５】
以上のような第１の実施の形態に係る真贋判定方法によれば、上記ｋやｋ’の値を変えることによって上記ステップＳ５における判定での誤り率を制御することができる。
【００２６】
また、本方法ではデータベースＤＢに１レスポンスのデータを登録すれば足りるため、データベースＤＢの小規模化を図ることができる。
【００２７】
また、上記のような方法により生成された第１の合成出力データや第１の基準データは、暗号鍵やそれを生成するための元データとして利用することもできる。
【００２８】
［第２の実施の形態］
図３及び図４を用いて、第２の実施の形態に係る［１，ｊ，ｊ’，１，１］モードによるＰＵＦ搭載チップの真贋判定方法を詳しく説明する。
【００２９】
ここで、［１，ｊ，ｊ’，１，１］モードとは、図４に示されるように、ＰＵＦ搭載チップＩＣに対して１つの同じ入力データ(チャレンジ)をｊ回(本実施の形態においてｊは２以上の自然数とする。)入力し、得られたｊ個のレスポンスをそのまま(ｊ’＝ｊ)、あるいはｊ’個(０＜ｊ’＜ｊ)に加工(具体的には、例えばｊ個をｊ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)してデータベースＤＢに登録すると共に、真贋判定時には上記ＰＵＦ搭載チップＩＣからの１レスポンスを用いる利用モードを意味する。
【００３０】
図３は、本発明の実施の形態に係る［１，ｊ，ｊ’，１，１］モードによるＰＵＦ搭載チップの真贋判定方法を示すフローチャートである。
【００３１】
まずステップＳ１において、図４に示されるように、上記ＰＵＦ搭載チップＩＣへ１つの同じチャレンジをｊ回入力し、それに対するｊ個のレスポンスをそのまま(ｊ’＝ｊ)、あるいはｊ’個(０＜ｊ’＜ｊ)に加工(具体的には、例えばｊ個をｊ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して、入力したチャレンジおよび上記ＰＵＦ搭載チップＩＣのＩＤと対応させてデータベースＤＢに登録する。
【００３２】
以下判定時における手順として、最初にステップＳ２において、ステップＳ１で登録された上記ＰＵＦ搭載チップＩＣのＩＤと１チャレンジをデータベースＤＢに入力する。なお、上記ＰＵＦ搭載チップＩＣのＩＤを一旦ＤＢに入力し、当該ＩＤに関連付けて予め登録されたチャレンジのリストを当該データベースＤＢ等から取得し、当該リストから選択した１チャレンジをＤＢに入力するようにしてもよい。
【００３３】
そして、ステップＳ３において、データベースＤＢからステップＳ２で入力された１チャレンジに対応するｊ’個のレスポンスを読み出して連結し、第２の基準データを生成する。
【００３４】
次に、ステップＳ４において、ＰＵＦ搭載チップＩＣに上記の１チャレンジを入力し、得られた１レスポンスをｊ’個繰り返して連結することによって第２の合成出力データを生成する。
【００３５】
そして、ステップＳ５において、上記第２の合成出力データは第２の基準データに類似するか(具体的には、両者のハミング距離がしきい値以下であるか)否かを判定し、類似するものと判定された場合にはステップＳ６へ進んで当該ＰＵＦ搭載チップＩＣが本物であると判断されると共に、類似しないものと判定された場合にはステップＳ７へ進んで当該ＰＵＦ搭載チップＩＣが偽物であると判断される。
【００３６】
以上のような第２の実施の形態に係る真贋判定方法によれば、上記ｊやｊ’の値を変えることによって上記ステップＳ５における判定での誤り率を制御することができる。
【００３７】
また、判定時においてＰＵＦ搭載チップＩＣから１レスポンスを得るだけで真贋判定を行うことができるため、判定に要する時間を短縮することができる。
【００３８】
また、上記のような方法により生成された第２の合成出力データや第２の基準データは、暗号鍵やその元データとして利用することもできる。
【００３９】
なお、第２の実施の形態に係る真贋判定方法においては、データベースＤＢにｊ’個のレスポンスを登録する必要があるが、かかるｊ’個のレスポンスは、相互に相違する部分を示す情報に圧縮して上記データベースＤＢに記憶させるようにすれば、必要なデータベースＤＢの規模を低減することができる。
【００４０】
［第３の実施の形態］
図５を用いて、第３の実施の形態に係る［１，ｊ，ｊ’，ｋ，ｋ’］モードによるＰＵＦ搭載チップの真贋判定方法を詳しく説明する。
【００４１】
ここで、［１，ｊ，ｊ’，ｋ，ｋ’］モードとは、ＰＵＦ搭載チップＩＣに対して１つの同じ入力データ(チャレンジ)をｊ回(本実施の形態においてｊは２以上の自然数とする。)入力し、得られたｊ個のレスポンスをそのまま(ｊ’＝ｊ)、あるいはｊ’個(０＜ｊ’＜ｊ)に加工(具体的には、例えばｊ個をｊ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)してデータベースＤＢに登録すると共に、真贋判定時には上記ＰＵＦ搭載チップＩＣからのｋレスポンス(本実施の形態においてｋは２以上の自然数とする。)を用いる利用モードを意味する。
【００４２】
図５は、本発明の実施の形態に係る［１，ｊ，ｊ’，ｋ，ｋ’］モードによるＰＵＦ搭載チップの真贋判定方法を示すフローチャートである。
【００４３】
まずステップＳ１において、上記ＰＵＦ搭載チップＩＣへ１つの同じチャレンジをｊ回入力し、それに対するｊ個のレスポンスをそのまま(ｊ’＝ｊ)、あるいはｊ’個(０＜ｊ’＜ｊ)に加工(具体的には、例えばｊ個をｊ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して、入力したチャレンジおよび上記ＰＵＦ搭載チップＩＣのＩＤと対応させてデータベースＤＢに登録する。
【００４４】
以下判定時における手順として、最初にステップＳ２において、上記ＰＵＦ搭載チップＩＣのＩＤとステップＳ１で登録された１チャレンジをデータベースＤＢに入力する。なお、一旦、上記ＰＵＦ搭載チップＩＣのＩＤをＤＢに入力し、当該ＩＤに関連付けて予め登録されたチャレンジのリストを上記データベースＤＢ等から取得し、当該リストから１チャレンジをＤＢに入力するようにしてもよい。
【００４５】
そして、ステップＳ３において、データベースＤＢからステップＳ２で入力された１チャレンジに対応するｊ’個のレスポンスを読み出して連結し、連結したデータをさらにｋ’個繰り返し連結することによって、(ｊ’×ｋ’)個のレスポンスからなる第３の基準データを生成する。
【００４６】
次に、ステップＳ４において、ＰＵＦ搭載チップＩＣに上記の１チャレンジをｋ回入力し、得られたｋレスポンスをｋ’＝ｋとしてそのまま、あるいはｋ’個に加工(具体的には、例えばｋ個をｋ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して得られたｋ’個の各レスポンスをｊ’個繰り返し連結し、さらに、それらをｋ’個連結することによって、(ｋ’×ｊ’)個分のレスポンスからなる第３の合成出力データを生成する。
【００４７】
そして、ステップＳ５において、上記第３の合成出力データは第３の基準データに類似するか(具体的には、両者のハミング距離がしきい値以下であるか)否かを判定し、類似するものと判定された場合にはステップＳ６へ進んで当該ＰＵＦ搭載チップＩＣが本物であると判断されると共に、類似しないものと判定された場合にはステップＳ７へ進んで当該ＰＵＦ搭載チップＩＣが偽物であると判断される。
【００４８】
以上のような第３の実施の形態に係る真贋判定方法によれば、上記ｊ、ｊ’、ｋ、ｋ’の値を変えることによって上記ステップＳ５における判定での誤り率を制御することができる。
【００４９】
本方法では、上記ｊ、ｊ’、ｋ、ｋ’を四つのパラメータとして独立に設定することによって上記誤り率を変更できるため、より高い精度で上記誤り率を制御することができる。
【００５０】
また、上記のような方法により生成された第３の合成出力データや第３の基準データは、暗号鍵やそれを生成するための元データとして利用することもできる。
【００５１】
なお、第３の実施の形態に係る真贋判定方法においては、データベースＤＢにｊ’個のレスポンスを登録する必要があるが、かかるｊ’個のレスポンスは、相互に相違する部分を示す情報に圧縮して上記データベースＤＢに記憶させるようにすれば、必要なデータベースＤＢの規模を低減することができる。
【００５２】
［第４の実施の形態］
図６を用いて、第４の実施の形態に係る［ｉ，ｊ，ｊ’，ｋ，ｋ’］モードによるＰＵＦ搭載チップの真贋判定方法を詳しく説明する。
【００５３】
ここで、［ｉ，ｊ，ｊ’，ｋ，ｋ’］モードとは、ＰＵＦ搭載チップＩＣに対してｉ個(本実施の形態においてｉは２以上の自然数とする。)の異なる入力データ(チャレンジ)をそれぞれｊ回(本実施の形態においてｊは２以上の自然数とする。)入力し、チャレンジ毎に得られたｊ個のレスポンスをそのまま(ｊ’＝ｊ)、あるいはｊ’個(０＜ｊ’＜ｊ)に加工(具体的には、例えばｊ個をｊ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して、データベースＤＢに登録すると共に、真贋判定時には上記ＰＵＦ搭載チップＩＣからのｋ個のレスポンス(本実施の形態においてｋは２以上の自然数とする。)を用いる利用モードを意味する。
【００５４】
図６は、本発明の実施の形態に係る［ｉ，ｊ，ｊ’，ｋ，ｋ’］モードによるＰＵＦ搭載チップの真贋判定方法を示すフローチャートである。
【００５５】
まずステップＳ１において、上記ＰＵＦ搭載チップＩＣへｉ個の異なるチャレンジをそれぞれｊ回入力し、各入力データに対して得られたｊ個のレスポンスをそのまま(ｊ’＝ｊ)、あるいはｊ’個(０＜ｊ’＜ｊ)に加工(具体的には、例えばｊ個をｊ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して得られたｊ’個のレスポンスを、入力したｉ個のチャレンジおよびそのＰＵＦ搭載チップＩＣのＩＤと対応させてデータベースＤＢに登録する。
【００５６】
以下判定時における手順として、最初にステップＳ２において、ステップＳ１で登録されたＩＤとｉ個のチャレンジをデータベースＤＢに入力する。なお、ＩＤを一旦データベースＤＢに入力し、当該ＩＤに関連付けて予め登録されたチャレンジのリストを当該データベースＤＢ等から取得し、当該リストからｉ個のチャレンジを選択してＤＢに入力するようにしてもよい。
【００５７】
そして、ステップＳ３において、データベースＤＢからステップＳ２で入力されたｉ個のチャレンジにそれぞれ対応するｊ’個のレスポンスを読み出して連結し、連結したデータをさらにｋ’回繰り返して連結して得られる、各チャレンジについての(ｊ’×ｋ’)個分のレスポンスを異なるチャレンジｉ個分について連結することによって得られる(ｉ×ｊ’×ｋ’)個のレスポンスからなる第４の基準データを生成する。
【００５８】
次に、ステップＳ４において、ＰＵＦ搭載チップＩＣに上記ｉ個のチャレンジを各チャレンジに対してそれぞれｋ回入力し、得られたｋ個のレスポンスをｋ’＝ｋとしてそのまま、あるいはｋ’個(０＜ｋ’＜ｋ)に加工(具体的には、例えばｋ個をｋ’個の部分集合に分割し、各部分集合内でレスポンスの各軸の値の最頻出値(最頻出値が複数ある場合にはそのいずれか)をその部分集合を代表するレスポンスのその軸の値と)して得られたｋ’個の各レスポンスをｊ’回繰り返して連結し、さらにそれをｋ’個分連結し、各チャレンジにつき(ｊ’×ｋ’)個分のレスポンスを得る。さらにそれらを、異なるレスポンス分に対して連結することにより(ｉ×ｊ’×ｋ’)個分のレスポンスからなる第４の合成出力データを生成する。
【００５９】
そして、ステップＳ５において、上記第４の合成出力データは第４の基準データに類似するか(具体的には、両者のハミング距離がしきい値以下であるか)否かを判定し、類似するものと判定された場合にはステップＳ６へ進んで当該ＰＵＦ搭載チップＩＣが本物であると判断されると共に、類似しないものと判定された場合にはステップＳ７へ進んで当該ＰＵＦ搭載チップＩＣが偽物であると判断される。
【００６０】
以上のような第４の実施の形態に係る真贋判定方法によれば、上記ｉ、ｊ、ｊ’、ｋ、ｋ’の値を変えることによって上記ステップＳ５における判定での誤り率を制御することができる。
【００６１】
そして、上記ｉ、ｊ、ｊ’、ｋ、ｋ’を五つの独立したパラメータとして設定することができるため、より高い精度で上記誤り率を制御することができる。
【００６２】
また、上記と同様に、本方法により生成された第４の合成出力データは、暗号鍵やそれを生成するための元データとして利用することもできる。
【００６３】
なお、上記第４の実施の形態に係る真贋判定方法においては、データベースＤＢに(ｉ×ｊ)個のレスポンスを登録する必要があるが、かかる(ｉ×ｊ)個のレスポンスは、相互に相違する部分を示す情報に圧縮して上記データベースＤＢに記憶させるようにすれば、必要なデータベースＤＢの規模を低減することができる。
【００６４】
以上においては、［１，１，１，ｋ，ｋ’］モード、［１，ｊ，ｊ’，１，１］モード、［１，ｊ，ｊ’，ｋ，ｋ’］モード、及び［ｉ，ｊ，ｊ’，ｋ，ｋ’］モードの４つの利用モードを順に説明したが、以下においては図７を参照しつつ利用モードの確定方法を説明する。
【００６５】
まずステップＳ１において、利用モードとして初期モード［ｉ0，ｊ0，ｊ’0，ｋ0，ｋ’0］を仮設定する。
【００６６】
次に、ステップＳ２において、設定された利用モードで誤り率を測定する。
【００６７】
次に、ステップＳ３において、ステップＳ２で測定された誤り率が所望の範囲内であるか否かを判定する。そして、所望の範囲内と判定された場合にはステップＳ４へ進んで利用モードを確定すると共に、所望の範囲内でないと判定された場合にはステップＳ５で新たな利用モードを設定してステップＳ２へ戻る。
【００６８】
このような方法により、誤り率が所望の範囲内となる利用モードを確定することができる。
【００６９】
上記のように、ｉ、ｊ、ｊ’、ｋ、及びｋ’を任意に設定することによって誤り率を制御することができるが、チャレンジを変更することによっても誤り率を制御することができる。
【００７０】
ここで、図８を参照しつつチャレンジの確定方法を説明する。
【００７１】
まずステップＳ１において、１チャレンジとして初期入力データＣ0を仮設定する。
【００７２】
次に、ステップＳ２において、設定された入力データを用いて設定されたモードで誤り率を測定する。
【００７３】
次に、ステップＳ３において、ステップＳ２で測定された誤り率が所望の範囲内であるか否かを判定する。そして、所望の範囲内と判定された場合にはステップＳ４へ進んでチャレンジ(入力データ)を確定すると共に、所望の範囲内でないと判定された場合にはステップＳ５で新たな入力データを設定してステップＳ２へ戻る。
【００７４】
このような方法により、誤り率が所望の範囲内となるチャレンジを確定することができる。
【００７５】
以上のような本発明の実施の形態に係るデバイス固有情報の誤り率制御方法は、以下のような応用分野に適用することができる。
【００７６】
まず、ＰＵＦ搭載チップＩＣの真贋判定、ひいては本判定による偽造防止に有用である。上記実施の形態に係るデバイス固有情報の誤り率制御方法によれば、上記チップの製造後においても認証誤り率を制御することができるため、当該チップの経年劣化に応じて認証誤り率を変更することも可能となる。また、同一規格のＰＵＦを利用しながら、当該チップの用途等に応じて誤り率を動的に変化させることができる。
【００７７】
そして、上記チップをＲＦＩＤ(radio frequency identifier)化して貼り付けることにより、医薬品や食品、高級ブランド品等の真贋判定を実現することもできる。
【００７８】
また、二者間で誤りのない暗号鍵等の秘密情報を共有することで、通信路上の情報の秘匿や、安全な認証システムが実現される。これにより、例えばＩＣカードを用いた安全な電子決済や入退室管理、マルチメディアのコンテンツの保護等を実現することもできる。
【００７９】
また、上記のデバイス固有情報の誤り率制御方法は、当該方法を示す図１、３、５〜８に示されたアルゴリズムをコンピュータプログラムに記述し、記述された本プログラム(デバイス固有情報の誤り率制御プログラム)をコンピュータに実行させることによっても実現される。
【００８０】
以上より、本発明の実施の形態に係るデバイス固有情報の誤り率制御方法及びデバイス固有情報の誤り率制御プログラムによれば、上記チップの製造後に上記誤り率を制御することができるため、用途毎に目標とする誤り率を持った上記チップを個別に設計・製造することが不要となる。
【００８１】
このことから、上記チップの製造コストを抑えつつ、所望の誤り率を持った本人認証システムや真贋判定システム、あるいは暗号鍵の生成を実現することができる。
【符号の説明】
【００８２】
ＩＣ  ＰＵＦ搭載チップ
ＤＢ  データベース
【図１】
2016031682.tif 000003
【図２】
2016031682.tif 000004
【図３】
2016031682.tif 000005
【図４】
2016031682.tif 000006
【図５】
2016031682.tif 000007
【図６】
2016031682.tif 000008
【図７】
2016031682.tif 000009
【図８】
2016031682.tif 000010
【国際調査報告】
2016031682.tif 000011
2016031682.tif 000012