(57)【要約】【課題】装置固有の第１データと装置の外部から取得する第２データとを用いて第３データを生成する構成において、第１データや第３データを推察する攻撃を困難にする。【解決手段】実施形態のデータ生成装置は、第１生成部と、取得部と、第２生成部と、検証部と、処理選択部と、を備える。第１生成部は、装置固有の第１データを生成する。取得部は、装置の外部から入力される第２データを取得する。第２生成部は、前記第１データと前記第２データとに基づいて第３データを生成する。検証部は、前記第３データの正しさを検証する。処理選択部は、前記第３データが正しくないと判定された場合に、予め定めた選択規則に従って、前記第１データの再生成、前記第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択する。【選択図】図１
2018093550.tif 000002
【特許請求の範囲】
【請求項１】
装置固有の第１データを生成する第１生成部と、
装置の外部から入力される第２データを取得する取得部と、
前記第１データと前記第２データとに基づいて第３データを生成する第２生成部と、
前記第３データの正しさを検証する検証部と、
前記第３データが正しくないと判定された場合に、予め定めた選択規則に従って、前記第１データの再生成、前記第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択する処理選択部と、を備え、
前記処理選択部は、前記第２データの再取得を選択するよりも高い割合で前記第１データの再生成を選択する、データ生成装置。
【請求項２】
装置固有の第１データを生成する第１生成部と、
装置の外部から入力される第２データを取得する取得部と、
前記第１データと前記第２データとに基づいて第３データを生成する第２生成部と、
前記第３データの正しさを検証する検証部と、
前記第３データが正しくないと判定された場合に、予め定めた選択規則に従って、前記第１データの再生成、前記第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択する処理選択部と、を備え、
前記選択規則は、前記第３データが正しくないと判定された通算の回数である検証不合格回数が第１閾値を超えた場合に装置を無効化するという規則と、前記検証不合格回数が前記第１閾値以下、かつ、所定値の倍数であった場合に前記第２データの再取得を行うという規則とを含み、
前記処理選択部は、前記検証不合格回数と、前記第１閾値と、前記所定値とを用いて、前記第２データの再取得を選択するか否かを判断する、データ生成装置。
【請求項３】
装置固有の第１データを生成する第１生成部と、
装置の外部から入力される第２データを取得する取得部と、
前記第１データと前記第２データとに基づいて第３データを生成する第２生成部と、
前記第３データの正しさを検証する検証部と、
前記第３データが正しくないと判定された場合に、予め定めた選択規則に従って、前記第１データの再生成、前記第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択する処理選択部と、を備え、
前記選択規則は、前記第３データが正しくないと判定された通算の回数である検証不合格回数が第１閾値を超えた場合に装置を無効化するという規則と、前記検証不合格回数が前記第１閾値以下であり、かつ、所定の数値範囲からランダムに選択した選択値が前記所定の数値範囲内で定めた第２閾値以下である場合に前記第２データの再取得を行うという規則とを含み、
前記処理選択部は、前記検証不合格回数と、前記第１閾値と、前記選択値と、前記第２閾値とを用いて、前記第２データの再取得を選択するか否かを判断する、データ生成装置。
【請求項４】
装置固有の第１データを生成する第１生成部と、
装置の外部から入力される第２データを取得する取得部と、
前記第１データと前記第２データとに基づいて第３データを生成する第２生成部と、
前記第３データの正しさを検証する検証部と、
前記第３データが正しくないと判定された場合に、予め定めた選択規則に従って、前記第１データの再生成、前記第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択する処理選択部と、を備え、
前記選択規則は、前記第３データが正しくないと判定された通算の回数である検証不合格回数が第１閾値を超えた場合に装置を無効化するという規則を含み、
前記処理選択部は、前記検証不合格回数と、前記第１閾値とを用いて、装置の無効化を選択するか否かを判断し、直近の所定回数の検証において前記第２生成部が生成した前記第３データが正しくないと判定された回数が第３閾値を超える場合に、前記第１閾値の値を現在の値よりも小さい値に変更する、データ生成装置。
【請求項５】
装置固有の第１データを生成する第１生成部と、
装置の外部から入力される第２データを取得する取得部と、
前記第１データと前記第２データとに基づいて第３データを生成する第２生成部と、
前記第３データの正しさを検証する検証部と、
前記第３データが正しくないと判定された場合に、予め定めた選択規則に従って、前記第１データの再生成、前記第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択する処理選択部と、
装置の電圧、電流、照射電磁波、温度、実行時間の少なくともいずれかを検出するセンサと、を備え、
前記処理選択部は、前記センサが異常値を出力した通算の回数である異常出力回数が第４閾値を超えた場合は、前記選択規則に関わらず、装置の無効化を選択する、データ生成装置。
【請求項６】
装置固有の第１データを生成する第１生成部と、
装置の外部から入力される第２データを取得する取得部と、
前記第１データと前記第２データとに基づいて第３データを生成する第２生成部と、
前記第３データの正しさを検証する検証部と、
前記第３データが正しくないと判定された場合に、予め定めた選択規則に従って、前記第１データの再生成、前記第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択する処理選択部と、を備え、
前記処理選択部は、前記装置の無効化を選択するよりも前に、前記第２データの再取得を行わずに前記第１データの再生成を行う処理を少なくとも一度選択する、データ生成装置。
【請求項７】
装置固有の第１データを生成する第１生成部と、
装置の外部から入力される第２データを取得する取得部と、
前記第１データと前記第２データとに基づいて第３データを生成する第２生成部と、
前記第３データの正しさを検証する検証部と、
前記第３データが正しくないと判定された場合に、予め定めた選択規則に従って、前記第１データの再生成、前記第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択する処理選択部と、を備え、
前記検証部は、前記第２生成部が生成した前記第３データを用いて、予め記憶または装置の外部から取得した第４データを暗号化して暗号文を生成し、生成した暗号文が、正しいことが判明している前記第３データを用いて前記第４データを暗号化した暗号文であって予め記憶または装置の外部から取得した暗号文と一致しない場合に、前記第２生成部が生成した前記第３データが正しくないと判定する、データ生成装置。
【請求項８】
請求項１〜７のいずれか一項に記載のデータ生成装置と、
前記第２生成部が生成した前記第３データであって前記検証部により正しいと判定された前記第３データを用いて外部装置と通信する通信部と、を備える通信装置。
【請求項９】
請求項８に記載の通信装置を搭載した移動体。
【請求項１０】
データ生成装置において実行されるデータ生成方法であって、
第１生成部が、装置固有の第１データを生成する工程と、
取得部が、装置の外部から入力される第２データを取得する工程と、
第２生成部が、前記第１データと前記第２データとに基づいて第３データを生成する工程と、
検証部が、前記第３データの正しさを検証する工程と、
処理選択部が、前記第３データが正しくないと判定された場合に、予め定めた選択規則に従って、前記第１データの再生成、前記第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択し、前記第２データの再取得を選択するよりも高い割合で前記第１データの再生成を選択する工程と、を含むデータ生成方法。
【請求項１１】
コンピュータに、
装置固有の第１データを生成する機能と、
装置の外部から入力される第２データを取得する機能と、
前記第１データと前記第２データとに基づいて第３データを生成する機能と、
前記第３データの正しさを検証する機能と、
前記第３データが正しくないと判定された場合に、予め定めた選択規則に従って、前記第１データの再生成、前記第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択し、前記第２データの再取得を選択するよりも高い割合で前記第１データの再生成を選択する機能と、を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データ生成装置、通信装置、移動体、データ生成方法およびプログラムに関する。
【背景技術】
【０００２】
物理的複製困難関数（ＰＵＦ：Physically  Unclonable  Function）を利用して、認証処理に用いる識別子や暗号通信に用いる暗号鍵などの秘匿性の高いデータを生成する技術がある。ＰＵＦは、半導体製造時の製造誤差を利用して、装置固有の出力を導出する技術である。一般に、電圧や温度などの実行環境に依存して、同一のＰＵＦに同一の入力を与えたとしてもＰＵＦの出力は一部に誤りを含む。そこで、誤り訂正技術やFuzzy  Extractorにより計算されるデータを用いて、誤りを含むＰＵＦの出力から識別子や暗号鍵などの目的とするデータを正しく生成できるようにしている。また、ＰＵＦの出力は装置固有のデータであるが、複数の装置のＰＵＦの出力の違いを吸収するように調整されたデータを用いることで、ＰＵＦの出力から複数の装置で共有される共有鍵などのデータを生成することも可能である。
【０００３】
なお、以下では、ＰＵＦなどが出力する装置固有のデータを「第１データ」と呼ぶ。また、第１データから識別子や暗号鍵などの目的とするデータを生成するために用いるデータを「第２データ」と呼び、第１データと第２データとを用いて生成される識別子や暗号鍵などのデータを「第３データ」と呼ぶ。
【０００４】
第２データは、装置内部の記憶領域に予め記憶させておくこともできるが、第２データを装置内部に記憶せず、装置の外部から取得する構成とすることにより、装置が備えるべき記憶領域を削減して、装置の製造コストを抑えることが可能となる。しかし、この構成の場合、例えば、改竄した第２データを装置に繰り返し入力する攻撃によって第１データや第３データが推察される虞があり、こういった攻撃に対する対策が求められる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−３１１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、装置固有の第１データと装置の外部から取得する第２データとを用いて第３データを生成する構成において、第１データや第３データを推察する攻撃を困難にするデータ生成装置、通信装置、移動体、データ生成方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態のデータ生成装置は、第１生成部と、取得部と、第２生成部と、検証部と、処理選択部と、を備える。第１生成部は、装置固有の第１データを生成する。取得部は、装置の外部から入力される第２データを取得する。第２生成部は、前記第１データと前記第２データとに基づいて第３データを生成する。検証部は、前記第３データの正しさを検証する。処理選択部は、前記第３データが正しくないと判定された場合に、予め定めた選択規則に従って、前記第１データの再生成、前記第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択する。前記処理選択部は、前記第２データの再取得を選択するよりも高い割合で前記第１データの再生成を選択する。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態のデータ生成装置の構成例を示すブロック図。
【図２】第１実施形態のデータ生成装置における処理手順を示すフローチャート。
【図３】第２実施形態のデータ生成装置の構成例を示すブロック図。
【図４】第２実施形態のデータ生成装置における処理手順を示すフローチャート。
【図５】第３実施形態のデータ生成装置の構成例を示すブロック図。
【図６】第３実施形態のデータ生成装置における処理手順を示すフローチャート。
【図７】第４実施形態のデータ生成装置の構成例を示すブロック図。
【図８】センサ異常処理の処理手順を示すフローチャート。
【図９】通信装置の概略構成図。
【図１０】自動車に構築される通信ネットワークの概要を示す模式図。
【発明を実施するための形態】
【０００９】
実施形態のデータ生成装置は、装置固有の第１データを生成するとともに、装置の外部から入力される第２データを取得し、これら第１データと第２データとに基づいて第３データを生成する。本実施形態では、第１データとしてＰＵＦの出力を想定するが、第１データは装置内部で生成あるいは記憶される装置固有のデータであればよく、ＰＵＦの出力に限らない。また、本実施形態では、装置の外部から入力される第２データとして、上述した誤り訂正技術やFuzzy  Extractorにより計算されるデータ、複数の装置のＰＵＦの出力の違いを吸収して所望の値を導くように調整されたデータなどを想定するが、これに限らない。また、本実施形態では、第１データと第２データとに基づいて生成する第３データとして、上述した識別子や暗号鍵（共有鍵）を想定するが、これに限らない。
【００１０】
装置の外部から入力される第２データを用いて第３データを生成する実施形態の構成では、例えば、改竄した第２データを装置に繰り返し入力する攻撃によって、第１データや第３データが推察される虞がある。すなわち、改竄した第２データを入力した場合などに観測される、本来の動作とは異なる装置の挙動から、第１データや第３データが推察される虞がある。なお、ここで装置の挙動とは、出力の有無や出力される値、装置の処理時間や消費電力、装置から漏洩する電磁波などを指す。そこで、実施形態のデータ生成装置は、第１データと第２データとに基づいて生成した第３データの正しさを検証し、生成した第３データが正しくないと判定された場合に、予め定めた選択規則に従ってその後の処理を選択することで、上述した攻撃を困難にする。
【００１１】
生成した第３データが正しくないと判定された場合に選択され得るその後の処理としては、第１データの再生成、第２データの再取得、および装置の無効化がある。第１データの再生成が選択された場合、再生成した第１データとすでに取得している第２データとに基づいて新たな第３データが生成され、新たな第３データの正しさが再度検証される。第２データの再取得が選択された場合、再取得した第２データとすでに生成している第１データとに基づいて新たな第３データが生成され、新たな第３データの正しさが再度検証される。また、第２データの再取得が選択された場合は、第２データの再取得と併せて第１データの再生成を行うようにしてもよい。この場合、再生成した第１データと再取得した第２データとに基づいて新たな第３データが生成され、新たな第３データの正しさが再度検証される。装置の無効化が選択された場合は、データ生成装置が無効化される。ここで、装置の無効化とは、装置が動作しない状態とすることをいい、例えば、装置の製造元において無効化を解除する操作を行わない限り、動作可能な状態に回復しない。
【００１２】
本実施形態では、例えば、生成した第３データが正しくないと判定された回数が上限値を超える場合には装置を無効化することにより、利用回数を制限して上述した攻撃を困難にすることができる。また、生成した第３データが正しくないと判定された回数が上限値を超えない場合であっても、何回かに１回は、第２データの再取得は行わずに第１データの再生成のみを行い、再生成された第１データとすでに取得されている第２データとに基づいて第３データを生成することにより、第２データを入力する回数を制限して上述した攻撃をさらに困難にすることができる。また、第２データを再取得する場合は、これと併せて第１データの再生成も行うことにより、第２データの再取得のみを行う場合に比べて攻撃に要する時間を増大させて、上述した攻撃をさらに困難にすることができる。
【００１３】
以下、実施形態のデータ生成装置の具体例について、図面を参照しながら詳細に説明する。
【００１４】
（第１実施形態）
図１は、第１実施形態のデータ生成装置１０Ａの構成例を示すブロック図である。図１に示すように、第１実施形態のデータ生成装置１０Ａは、第１生成部１１と、取得部１２と、記憶部１３と、第２生成部１４と、検証部１５と、処理選択部１６Ａとを備える。
【００１５】
第１生成部１１は、装置固有の第１データを生成する。第１生成部１１により生成される第１データは、常に同じデータとなるわけではなく、生成されるたびに僅かな誤りを含む可能性がある。第１生成部１１としては、例えば、スタティックＲＡＭ（ＳＲＡＭ）の初期値を用いるＳＲＡＭ−ＰＵＦや、回路の信号遅延を用いるＡｒｂｉｔｅｒ−ＰＵＦなどを用いることができる。
【００１６】
取得部１２は、装置の外部から入力される第２データを取得する。取得部１２が取得する第２データは、例えば、第１生成部１１が生成する第１データの誤り訂正に用いられるデータや、複数の装置の第１データの違いを吸収して共通の第３データを生成するために用いられるデータなどである。
【００１７】
記憶部１３は、第１生成部１１が生成した第１データと、取得部１２が取得した第２データとを一時的に記憶する。また、記憶部１３は、後述の処理選択部１６Ａが使用する各種パラメータを記憶する。
【００１８】
第２生成部１４は、第１生成部１１が生成して記憶部１３が一時的に記憶している第１データと、取得部１２が取得して記憶部１３が一時的に記憶している第２データとに基づいて、第３データを生成する。第２生成部１４が生成する第３データは、例えば、認証処理に用いる識別子や暗号通信に用いる暗号鍵などである。
【００１９】
検証部１５は、第２生成部１４が生成した第３データの正しさを検証する。検証部１５は、例えば、第３データのハッシュ値を用いて、第２生成部１４が生成した第３データの正しさを検証することができる。すなわち、検証部１５は、第２生成部１４が生成した第３データのハッシュ値を算出し、算出したハッシュ値を、正しいことが判明している第３データのハッシュ値として事前に算出されたハッシュ値と比較する。そして、両者が一致しない場合に、第２生成部１４が生成した第３データが正しくないと判定する。正しいことが判明している第３データのハッシュ値は、予め記憶部１３などに記憶されていてもよいし、検証部１５の検証処理を行う際に外部から取得してもよい。
【００２０】
また、検証部１５は、第３データのハッシュ値の代わりに、第３データによる暗号文を用いて、第２生成部１４が生成した第３データの正しさを検証するようにしてもよい。この場合、検証部１５は、第２生成部１４が生成した第３データを用いて、所定の第４データを暗号化して暗号文を生成し、生成した暗号文を、正しいことが判明している第３データを用いて第４データを暗号化した暗号文と比較する。そして、両者が一致しない場合に、第２生成部１４が生成した第３データが正しくないと判定する。第４データや、正しいことが判明している第３データを用いて生成した暗号文は、予め記憶部１３などに記憶されていてもよいし、検証部１５の検証処理を行う際に外部から取得してもよい。
【００２１】
また、検証部１５は、上述した第３データのハッシュ値を用いた検証と、第３データによる暗号文を用いた検証とを組み合わせて、第２生成部１４が生成した第３データの正しさを検証するようにしてもよい。
【００２２】
処理選択部１６Ａは、第２生成部１４が生成した第３データが検証部１５によって正しくないと判定された場合に、予め定めた選択規則に従って、第１データの再生成、第２データの再取得、装置の無効化のうちの少なくともいずれかの処理を選択する。この際、処理選択部１６Ａは、第２データの再取得を選択するよりも高い割合で第１データの再生成を選択することで、上述した攻撃を困難にする効果を高めることができる。
【００２３】
本実施形態では、選択規則の一つとして、第２生成部１４が生成した第３データが検証部１５によって正しくないと判定された通算の回数である検証不合格回数が第１閾値を超えた場合に装置を無効化するという規則を含む。本実施形態の処理選択部１６Ａは、この規則に従って、検証不合格回数と、第１閾値とを用いて、装置の無効化を選択するか否かを判断する。
【００２４】
また、本実施形態では、選択規則の一つとして、検証不合格回数が第１閾値以下、かつ、所定値の倍数であった場合に第２データの再取得を行うという規則をさらに含む。本実施形態の処理選択部１６Ａは、この規則に従って、検証不合格回数と、第１閾値と、所定値とを用いて、第２データの再取得を選択するか否かを判断する。
【００２５】
次に、図２を参照しながら第１実施形態のデータ生成装置１０Ａの動作を説明する。図２は、第１実施形態のデータ生成装置１０Ａにおける処理手順の一例を示すフローチャートである。
【００２６】
データ生成装置１０Ａにおける処理が開始されると、まず、取得部１２が、装置の外部から入力される第２データを取得する（ステップＳ１０１）。取得部１２が取得した第２データは、記憶部１３に一時的に記憶される。
【００２７】
次に、第１生成部１１が、装置固有の第１データを生成する（ステップＳ１０２）。第１生成部１１が生成した第１データは、記憶部１３に一時的に記憶される。なお、ステップＳ１０１とステップＳ１０２の処理は、順番を入れ替えてもよい。すなわち、第１生成部１１が第１データを生成して記憶部１３に一時的に記憶させた後、取得部１２が第２データを取得して記憶部１３に一時的に記憶させるようにしてもよい。
【００２８】
次に、第２生成部１４が、記憶部１３に一時的に記憶された第１データと第２データとに基づいて、第３データを生成する（ステップＳ１０３）。
【００２９】
次に、検証部１５が、例えば上述した方法によって、ステップＳ１０３で生成された第３データの正しさを検証する（ステップＳ１０４）。そして、ステップＳ１０４での検証により、ステップＳ１０３で生成された第３データが正しいと判定された場合は（ステップＳ１０５：Ｙｅｓ）、データ生成装置１０Ａは、ステップＳ１０３で生成された第３データを用いて正常処理を実施する（ステップＳ１０６）。ここで正常処理とは、例えば、第３データが識別子である場合はこの識別子に基づく認証処理などであり、第３データが暗号鍵である場合はこの暗号鍵を用いた暗号通信などである。なお、データ生成装置１０Ａが正常処理を実施した場合は、記憶部１３に一時記憶されている第１データや第２データは消去することが望ましい。
【００３０】
一方、ステップＳ１０４での検証により、ステップＳ１０３で生成された第３データが正しくないと判定された場合は（ステップＳ１０５：Ｎｏ）、処理選択部１６Ａが、検証不合格回数を示すカウンタＮＴと、第１閾値ＮＭａｘと、所定値ＭＡとを用いて、以下の手順によりその後の処理を選択する。なお、第１閾値ＮＭａｘと所定値ＭＡは、予め定められて記憶部１３などに記憶されている。カウンタＮＴは、データ生成装置１０Ａの出荷時に０に初期化される。また、データ生成装置１０Ａが正常処理を実行した場合は、カウンタＮＴを０に初期化することが望ましい。この場合、カウンタＮＴが示す検証不合格回数は、データ生成装置１０Ａが出荷されてからの通算回数ではなく、前回の正常処理が行われてからの通算回数となる。
【００３１】
ステップＳ１０３で生成された第３データが正しくないと判定された場合（ステップＳ１０５：Ｎｏ）、処理選択部１６Ａは、まずカウンタＮＴをインクリメント（＋１）し（ステップＳ１０７）、カウンタＮＴが第１閾値ＮＭａｘを超えているか否かを判定する（ステップＳ１０８）。そして、カウンタＮＴが第１閾値ＮＭａｘを超えている場合（ステップＳ１０８：Ｙｅｓ）、処理選択部１６Ａは、その後の処理として、装置の無効化を選択する。その結果、データ生成装置１０Ａが無効化される（ステップＳ１０９）。
【００３２】
一方、カウンタＮＴが第１閾値ＮＭａｘ以下であれば（ステップＳ１０８：Ｎｏ）、処理選択部１６Ａは、次に、ＮＴｍｏｄＭＡ＝０であるか否かを判定する（ステップＳ１１０）。ここで、ＡｍｏｄＢはＡのＢによる剰余を表す。つまり、ＮＴｍｏｄＭＡ＝０であるか否かの判定は、カウンタＮＴが所定値ＭＡで割り切れるか否か（カウンタＮＴが所定値ＭＡの倍数であるか否か）の判定となる。そして、ＮＴｍｏｄＭＡ＝０であれば（ステップＳ１１０：Ｙｅｓ）、処理選択部１６Ａは、その後の処理として、第２データの再取得を選択する。その結果、取得部１２によって装置の外部から再入力された第２データの再取得が行われ（ステップＳ１１１）、その後はステップＳ１０３に戻って以降の処理が繰り返される。この場合、再取得された第２データとすでに生成されて記憶部１３に記憶されている第１データとに基づいて新たな第３データを生成してもよいし、第２データの再取得と併せて第１データの再生成も行い、再取得された第２データと再生成された第１データとに基づいて新たな第３データを生成してもよい。
【００３３】
一方、ＮＴｍｏｄＭＡ＝０でなければ（ステップＳ１１０：Ｎｏ）、処理選択部１６Ａは、その後の処理として、第１データの再生成を選択する。その結果、第１生成部１１によって装置固有の第１データが再生成され（ステップＳ１１２）、その後はステップＳ１０３に戻って以降の処理が繰り返される。この場合、第２データの再取得は行われず、再生成された第１データとすでに取得されて記憶部１３に記憶されている第２データとに基づいて新たな第３データが生成される。
【００３４】
本実施形態では、処理選択部１６Ａが第２データの再取得を選択する頻度を、所定値ＭＡによって制御できる。つまり、所定値ＭＡは、第３データが正しくないと判定された場合に第２データの再取得を行う頻度を表すパラメータである。この所定値ＭＡとして十分に大きな値を設定することにより、第２データの再取得を選択するよりも高い割合で第１データの再生成が選択される。また、第２データの再取得が選択された場合に、第２データの再取得と併せて第１データの再生成も行うように構成した場合は、所定値ＭＡの大小に関わらず、第２データの再取得を選択するよりも高い割合で第１データの再生成が選択されることになる。
【００３５】
以上説明したように、第１実施形態のデータ生成装置１０Ａは、検証不合格回数が第１閾値を超える場合は装置を無効化し、検証不合格回数が第１閾値以下であっても、検証不合格回数が所定値の倍数でない場合は第２データの再取得を行わずに新たな第３データを生成する。したがって、第１実施形態のデータ生成装置１０Ａによれば、改竄した第２データを入力して第１データや第３データを推察する攻撃を困難にすることができる。
【００３６】
（第２実施形態）
次に、第２実施形態について説明する。第２実施形態は、上述した選択規則の一部が第１実施形態とは異なる。以下では、第１実施形態と共通する構成については同一の符号を付して重複した説明を適宜省略し、本実施形態に特徴的な部分についてのみ説明する。
【００３７】
図３は、第２実施形態のデータ生成装置１０Ｂの構成例を示すブロック図である。第２実施形態のデータ生成装置１０Ｂは、第１実施形態の処理選択部１６Ａに代えて、処理選択部１６Ｂを備える。その他の構成は、第１実施形態のデータ生成装置１０Ａ（図１参照）と共通である。
【００３８】
本実施形態では、第１実施形態と同様に、選択規則の一つとして、第２生成部１４が生成した第３データが検証部１５によって正しくないと判定された通算の回数である検証不合格回数が第１閾値を超えた場合に装置を無効化するという規則を含む。本実施形態の処理選択部１６Ｂは、この規則に従って、検証不合格回数と、第１閾値とを用いて、装置の無効化を選択するか否かを判断する。
【００３９】
また、本実施形態では、選択規則の一つとして、検証不合格回数が第１閾値以下であり、かつ、所定の数値範囲からランダムに選択した選択値が所定の数値範囲内で定めた第２閾値以下である場合に第２データの再取得を行うという規則をさらに含む。本実施形態の処理選択部１６Ｂは、この規則に従って、検証不合格回数と、第１閾値と、選択値と、第２閾値とを用いて、第２データの再取得を選択するか否かを判断する。
【００４０】
以下、図４を参照しながら第２実施形態のデータ生成装置１０Ｂの動作を説明する。図４は、第２実施形態のデータ生成装置１０Ｂにおける処理手順の一例を示すフローチャートである。なお、図４のステップＳ２０１〜ステップＳ２０６の処理は、第１実施形態のデータ生成装置１０Ａにおける処理（図２のステップＳ１０１〜ステップＳ１０６の処理）と共通であるため、説明を省略する。
【００４１】
本実施形態では、ステップＳ２０４での検証により、ステップＳ２０３で生成された第３データが正しくないと判定された場合に（ステップＳ２０５：Ｎｏ）、処理選択部１６Ｂが、検証不合格回数を示すカウンタＮＴと、第１閾値ＮＭａｘと、所定の数値範囲でランダムに選択する選択値ｒと、所定の数値範囲内で定めた第２閾値ＲＴｈとを用いて、以下の手順によりその後の処理を選択する。なお、第１閾値ＮＭａｘと第２閾値ＲＴｈは、予め定められて記憶部１３などに記憶されている。カウンタＮＴは、データ生成装置１０Ｂの出荷時に０に初期化される。また、データ生成装置１０Ｂが正常処理を実行した場合は、カウンタＮＴを０に初期化することが望ましい。
【００４２】
ステップＳ２０３で生成された第３データが正しくないと判定された場合（ステップＳ２０５：Ｎｏ）、処理選択部１６Ｂは、まずカウンタＮＴをインクリメント（＋１）し（ステップＳ２０７）、カウンタＮＴが第１閾値ＮＭａｘを超えているか否かを判定する（ステップＳ２０８）。そして、カウンタＮＴが第１閾値ＮＭａｘを超えている場合（ステップＳ２０８：Ｙｅｓ）、処理選択部１６Ｂは、その後の処理として、装置の無効化を選択する。その結果、データ生成装置１０Ｂが無効化される（ステップＳ２０９）。
【００４３】
一方、カウンタＮＴが第１閾値ＮＭａｘ以下であれば（ステップＳ２０８：Ｎｏ）、処理選択部１６Ｂは、次に、所定の数値範囲から選択値ｒをランダムに選択し（ステップＳ２１０）、選択値ｒが第２閾値ＲＴｈ以下であるか否かを判定する（ステップＳ２１１）。そして、選択値ｒが第２閾値ＲＴｈ以下であれば（ステップＳ２１１：Ｙｅｓ）、処理選択部１６Ｂは、その後の処理として、第２データの再取得を選択する。その結果、取得部１２によって装置の外部から再入力された第２データの再取得が行われ（ステップＳ２１２）、その後はステップＳ２０３に戻って以降の処理が繰り返される。この場合、再取得された第２データとすでに生成されている第１データとに基づいて新たな第３データを生成してもよいし、第２データの再取得と併せて第１データの再生成も行い、再取得された第２データと再生成された第１データとに基づいて新たな第３データを生成してもよい。
【００４４】
一方、選択値ｒが第２閾値ＲＴｈを超えていれば（ステップＳ２１１：Ｎｏ）、処理選択部１６Ｂは、その後の処理として、第１データの再生成を選択する。その結果、第１生成部１１によって装置固有の第１データが再生成され（ステップＳ２１３）、その後はステップＳ２０３に戻って以降の処理が繰り返される。この場合、第２データの再取得は行われず、再生成された第１データとすでに取得されている第２データとに基づいて新たな第３データが生成される。
【００４５】
本実施形態では、処理選択部１６Ｂが第２データの再取得を選択する確率を、第２閾値ＲＴｈによって制御できる。つまり、第２閾値ＲＴｈは、第３データが正しくないと判定された場合に第２データの再取得を行う確率を表すパラメータである。この第２閾値ＲＴｈとして、所定の数値範囲内で十分に小さな値を設定することにより、第２データの再取得を選択するよりも高い割合で第１データの再生成が選択される。また、第２データの再取得が選択された場合に、第２データの再取得と併せて第１データの再生成も行うように構成した場合は、第２閾値ＲＴｈの大小に関わらず、第２データの再取得を選択するよりも高い割合で第１データの再生成が選択されることになる。
【００４６】
以上説明したように、第２実施形態のデータ生成装置１０Ｂは、検証不合格回数が第１閾値を超える場合は装置を無効化し、検証不合格回数が第１閾値以下であっても、所定の数値範囲でランダムに選択した選択値が所定の数値範囲内で設定した第２閾値を超える場合は第２データの再取得を行わずに新たな第３データを生成する。したがって、第２実施形態のデータ生成装置１０Ｂによれば、改竄した第２データを入力して第１データや第３データを推察する攻撃を困難にすることができる。
【００４７】
（第３実施形態）
次に、第３実施形態について説明する。第３実施形態は、直近の所定回数の検証において頻繁に第３データが正しくないと判定される場合に、検証不合格回数の上限値となる第１閾値を低下させて装置の無効化を選択しやすくしたものである。なお、選択規則としては上述した第１実施形態と共通の規則を用いるが、第２実施形態と共通の規則を用いてもよい。以下では、第１実施形態と共通する構成については同一の符号を付して重複した説明を適宜省略し、本実施形態に特徴的な部分についてのみ説明する。
【００４８】
図５は、第３実施形態のデータ生成装置１０Ｃの構成例を示すブロック図である。第３実施形態のデータ生成装置１０Ｃは、第１実施形態の処理選択部１６Ａに代えて、処理選択部１６Ｃを備える。その他の構成は、第１実施形態のデータ生成装置１０Ａ（図１参照）と共通である。
【００４９】
本実施形態の処理選択部１６Ｃは、第２生成部１４が生成した第３データが検証部１５によって正しくないと判定された通算の回数である検証不合格回数に加えて、直近のＲ回（Ｒは任意の自然数）の検証部１５による検証において第２生成部１４が生成した第３データが正しくないと判定された回数である直近不合格回数をカウントする。そして、処理選択部１６Ｃは、直近不合格回数が第３閾値を超えた場合は検証不合格回数の上限値となる第１閾値を低下させ（現在の値よりも小さい値に変更）、低下させた第１閾値を用いて、装置の無効化を選択するか否かを判断する。
【００５０】
以下、図６を参照しながら第３実施形態のデータ生成装置１０Ｃの動作を説明する。図６は、第３実施形態のデータ生成装置１０Ｃにおける処理手順の一例を示すフローチャートである。なお、図６のステップＳ３０１〜ステップＳ３０６の処理は、第１実施形態のデータ生成装置１０Ａにおける処理（図２のステップＳ１０１〜ステップＳ１０６の処理）と共通であるため、説明を省略する。
【００５１】
本実施形態では、ステップＳ３０４での検証により、ステップＳ３０３で生成された第３データが正しくないと判定された場合に（ステップＳ３０５：Ｎｏ）、処理選択部１６Ｃが、検証不合格回数を示すカウンタＮＴと、直近不合格回数を示すカウンタＮＲと、第１閾値ＮＭａｘと、第３閾値ＮＴｈと、所定値ＭＡとを用いて、以下の手順によりその後の処理を選択する。なお、第１閾値ＮＭａｘと第３閾値ＮＴｈは、予め定められて記憶部１３などに記憶されている。カウンタＮＴとカウンタＮＲは、データ生成装置１０Ｃの出荷時に０に初期化される。また、データ生成装置１０Ｃが正常処理を実行した場合は、カウンタＮＴとカウンタＮＲを０に初期化することが望ましい。
【００５２】
ステップＳ３０３で生成された第３データが正しくないと判定された場合（ステップＳ３０５：Ｎｏ）、処理選択部１６Ｃは、まずカウンタＮＴをインクリメント（＋１）するとともに（ステップＳ３０７）、カウンタＮＲをインクリメント（＋１）する（ステップＳ３０８）。そして、処理選択部１６Ｃは、Ｒ＋１回前の検証部１５の検証結果を確認し、Ｒ＋１回前の検証部１５の検証結果が不合格、つまり第３データが正しくないと判定されていれば（ステップＳ３０９：Ｙｅｓ）、カウンタＮＲをデクリメント（−１）する（ステップＳ３１０）。Ｒ＋１回前の検証部１５の検証結果は、例えば、検証部１５の過去の検証結果を履歴として保存しておき、この履歴を参照することで確認できる。Ｒ＋１回前の検証部１５の検証結果が合格、つまり第３データが正しいと判定されている場合は（ステップＳ３０９：Ｎｏ）、ステップＳ３１０の処理はスキップする。
【００５３】
次に、処理選択部１６Ｃは、カウンタＮＲが第３閾値ＮＴｈを超えているか否かを判定する（ステップＳ３１１）。そして、カウンタＮＲが第３閾値ＮＴｈを超えていれば（ステップＳ３１１：Ｙｅｓ）、処理選択部１６Ｃは、第１閾値ＮＭａｘを低下させる（ステップＳ３１２）。カウンタＮＲが第３閾値ＮＴｈ以下の場合は（ステップＳ３１１：Ｎｏ）、ステップＳ３１２の処理はスキップする。
【００５４】
その後、処理選択部１６Ｃは、カウンタＮＴが第１閾値ＮＭａｘを超えているか否かを判定する（ステップＳ３１３）。そして、カウンタＮＴが第１閾値ＮＭａｘを超えている場合（ステップＳ３１３：Ｙｅｓ）、処理選択部１６Ｃは、その後の処理として、装置の無効化を選択する。その結果、データ生成装置１０Ｃが無効化される（ステップＳ３１４）。
【００５５】
一方、カウンタＮＴが第１閾値ＮＭａｘ以下であれば（ステップＳ３１３：Ｎｏ）、処理選択部１６Ｃは、次に、ＮＴｍｏｄＭＡ＝０であるか否かを判定する（ステップＳ３１５）。そして、ＮＴｍｏｄＭＡ＝０であれば（ステップＳ３１５：Ｙｅｓ）、処理選択部１６Ｃは、その後の処理として、第２データの再取得を選択する。その結果、取得部１２によって装置の外部から再入力された第２データの再取得が行われ（ステップＳ３１６）、その後はステップＳ３０３に戻って以降の処理が繰り返される。この場合、再取得された第２データとすでに生成されて記憶部１３に記憶されている第１データとに基づいて新たな第３データを生成してもよいし、第２データの再取得と併せて第１データの再生成も行い、再取得された第２データと再生成された第１データとに基づいて新たな第３データを生成してもよい。
【００５６】
一方、ＮＴｍｏｄＭＡ＝０でなければ（ステップＳ３１５：Ｎｏ）、処理選択部１６Ｃは、その後の処理として、第１データの再生成を選択する。その結果、第１生成部１１によって装置固有の第１データが再生成され（ステップＳ３１７）、その後はステップＳ３０３に戻って以降の処理が繰り返される。この場合、第２データの再取得は行われず、再生成された第１データとすでに取得されて記憶部１３に記憶されている第２データとに基づいて新たな第３データが生成される。
【００５７】
以上説明したように、第３実施形態のデータ生成装置１０Ｃは、直近Ｒ回において検証部１５が第３データを正しくないと判定した回数である直近不合格回数が第３閾値を超える場合は、検証不合格回数の上限値である第１閾値を低下させる。そして、検証不合格回数をこの第１閾値と比較して装置の無効化を選択するか否かを判断する。したがって、第３実施形態のデータ生成装置１０Ｃによれば、改竄した第２データを入力して第１データや第３データを推察する攻撃をさらに困難にすることができる。
【００５８】
（第４実施形態）
次に、第４実施形態について説明する。第４実施形態は、動作保障範囲外の環境で繰り返し使用されている場合に、上述した選択規則に関わらず装置の無効化を選択するようにしたものである。実施形態のデータ生成装置に対する攻撃としては、改竄した第２データを入力して第１データや第３データを推察する攻撃のほかに、動作保障範囲外の環境で動作させたときの装置の挙動から、第１データや第３データを推察する攻撃が考えられる。そこで、本実施形態では、このような攻撃が行われていると想定される場合に装置を無効化することで、攻撃を困難にする。なお、選択規則は上述した第１実施形態と共通の規則であってもよいし、第２実施形態と共通の規則であってもよい。また、第３実施形態と同様に、直近不合格回数が第３閾値を超える場合に第１閾値を低下させる構成であってもよい。以下では、第１実施形態と共通する構成については同一の符号を付して重複した説明を適宜省略し、本実施形態に特徴的な部分についてのみ説明する。
【００５９】
図７は、第４実施形態のデータ生成装置１０Ｄの構成例を示すブロック図である。第４実施形態のデータ生成装置１０Ｄは、センサ１７を備えるとともに、第１実施形態の処理選択部１６Ａに代えて、処理選択部１６Ｄを備える。その他の構成は、第１実施形態のデータ生成装置１０Ａ（図１参照）と共通である。
【００６０】
センサ１７は、データ生成装置１０Ｄの動作環境を表す値を検出する。具体的には、センサ１７は、例えば、データ生成装置１０Ｄに加えられた外部電圧、電流、温度、照射電磁波やデータ生成装置１０Ｄ内部の実行時間などを検出する。センサ１７が検出した検出値は、処理選択部１６Ｄに渡される。
【００６１】
本実施形態の処理選択部１６Ｄは、上述した選択規則に基づく処理に加えて、センサ異常処理を行う。センサ異常処理とは、例えば定期的にセンサ１７から検出値を取得して、センサ１７の検出値が異常値となった回数をカウントして、センサ１７の検出値が異常値となった回数が上限値を超えたら、上述した選択規則に関わらず装置の無効化を選択する処理である。
【００６２】
図８は、センサ異常処理の処理手順の一例を示すフローチャートである。図８に示すセンサ異常処理は、図２または図４または図６に示した処理と並行して（独立した処理として）、処理選択部１６Ｄにより実施される。すなわち、第４実施形態のデータ生成装置１０Ｄでは、図２または図４または図６に示した基本動作とは別に、処理選択部１６Ｄが図８に示すセンサ異常処理を実施する。
【００６３】
処理選択部１６Ｄは、センサ１７が異常値を出力した通算の回数を示すカウンタＮＳと、第４閾値ＳＭＡＸとを用いて、例えば所定周期で定期的に図８に示すセンサ異常処理を実施する。なお、第４閾値ＳＭａｘは、予め定められて記憶部１３などに記憶されている。カウンタＮＳは、データ生成装置１０Ｄの出荷時に０に初期化される。また、データ生成装置１０Ｄが正常処理を実行した場合は、カウンタＮＳを０に初期化することが望ましい。
【００６４】
センサ異常処理が開始されると、処理選択部１６Ｄは、センサ１７の検出値を取得し（ステップＳ４０１）、取得した検出値が異常値となっているか否かを判定する（ステップＳ４０２）。ここで異常値とは、データ生成装置１０Ｄが動作保障範囲外の環境で使用されていることを示す値である。
【００６５】
ステップＳ４０１で取得した検出値が異常値となっていない場合（ステップＳ４０２：Ｎｏ）、処理選択部１６Ｄはそのまま処理を終了して、センサ異常処理を開始する次のタイミングまで待機する。一方、ステップＳ４０１で取得した検出値が異常値となっていれば（ステップＳ４０２：Ｙｅｓ）、処理選択部１６Ｄは、カウンタＮＳをインクリメント（＋１）し（ステップＳ４０３）、カウンタＮＳが第４閾値ＳＭａｘを超えているか否かを判定する（ステップＳ４０４）。そして、カウンタＮＳが第４閾値ＳＭａｘを超えている場合（ステップＳ４０４：Ｙｅｓ）、処理選択部１６Ｄは、データ生成装置１０Ｄを無効化させる（ステップＳ４０５）。一方、カウンタＮＳが第４閾値ＳＭａｘ以下であれば（ステップＳ４０４：Ｎｏ）、処理選択部１６Ｄはそのまま処理を終了して、センサ異常処理を開始する次のタイミングまで待機する。
【００６６】
なお、本実施形態では、データ生成装置１０Ｄの基本動作とは独立した処理としてセンサ異常処理を実施する例を説明したが、センサ異常処理をデータ生成装置１０Ｄの基本動作と関連付けてもよい。例えば、センサ１７の検出値が異常値となっていると判定された場合に検証不合格回数を示すカウンタＮＴをインクリメントし、このカウンタＮＴを用いた処理の選択を行うようにしてもよい。また、センサ１７の検出値が異常値となっていると判定された場合に基本動作の処理を中断し、第１データの生成または第２データの取得から処理を再開させるようにしてもよい。
【００６７】
以上説明したように、第４実施形態のデータ生成装置１０Ｄは、第１乃至第３実施形態で説明した基本動作に加えてセンサ異常処理を行い、センサ１７が異常値を出力した通算の回数が第４閾値を超える場合には装置を無効化する。したがって、第４実施形態のデータ生成装置１０Ｄによれば、改竄した第２データを入力して第１データや第３データを推察する攻撃を困難にできることに加えて、動作保障範囲外で動作させたときの装置の挙動から第１データや第２データを推察する攻撃も困難にすることができる。
【００６８】
（データ生成装置の適用例）
上述した各実施形態のデータ生成装置１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ（以下、総称して実施形態のデータ生成装置１０と表記する）は、上述したように、第３データとして、例えば認証処理に用いる識別子や暗号通信に用いる暗号鍵などを生成する。したがって、実施形態のデータ生成装置１０は、例えば認証処理や暗号通信を行う通信装置に搭載して利用することで、通信の安全性を高めることができる。
【００６９】
図９は、実施形態のデータ生成装置１０を搭載した通信装置１００の概略構成を示す図である。図９に示すように、通信装置１００は、実施形態のデータ生成装置１０と、通信部２０とを備える。通信部２０は、データ生成装置１０により生成された第３データであって、上述した検証部１５により正しいと判定された第３データを用いて、他の通信装置２００と通信する。例えば、データ生成装置１０が第３データとして通信装置１００の識別子を生成する場合、通信装置１００を認証する認証処理のために、通信部２０はデータ生成装置１０が生成した識別子を他の通信装置２００に送信する。また、例えば、データ生成装置１０が第３データとして暗号鍵を生成する場合、通信部２０はこの暗号鍵を用いて暗号化した暗号文を他の通信装置２００に送信したり、他の通信装置２００から受信した暗号文を暗号鍵を用いて復号したりする。
【００７０】
このような通信装置１００は、例えば、移動体（自動車、鉄道車両、航空機、船舶など）に構築される通信ネットワークのノードとして、移動体に搭載して利用することができる。
【００７１】
近年の移動体は、複数の機器による連携動作を実現するため、機器間で情報を交換するための通信ネットワークが構築されているものが多い。例えば自動車においては、図１０に例示するように、各種の情報を収集するセンサ端末３１、センサ端末３１から収集した情報を用いて各部の動作を制御するＥＣＵ（Electronic  Control  Unit）３２、ＥＣＵ３２によって動作制御される車載機器３３などをノードとする通信ネットワークが構築されている。ここで、自動車が安全に動作するためには、センサ端末３１とＥＣＵ３２の間、複数の異なるＥＣＵ３２の間、およびＥＣＵ３２と車載機器３３との間の通信が適切に行われる必要がある。すなわち、センサ端末３１とＥＣＵ３２、複数の異なるＥＣＵ３２、およびＥＣＵ３２と車載機器３３は、相互にその正当性を認証し、例えば暗号通信によって通信内容の保護（改竄防止や秘匿）を図ることが望まれる。このような認証や通信内容の保護には、上述した識別子や暗号鍵が必要となる。
【００７２】
一方、センサ端末３１、ＥＣＵ３２、車載機器３３などは利用者の所有物となるため、不正な解析対象となりうる。そのため、例えば不揮発性メモリなどに上述した識別子や暗号鍵などの情報を記憶させておくと、これらの情報が不正に解析されて、センサ端末３１とＥＣＵ３２の間、複数の異なるＥＣＵ３２の間、ＥＣＵ３２と車載機器３３の間の通信の改竄や盗聴がなされる虞がある。
【００７３】
センサ端末３１、ＥＣＵ３２、車載機器３３などを上述した通信装置１００として構成することにより、センサ端末３１、ＥＣＵ３２、車載機器３３などを不正な解析から守ることが可能となる。例えば、センサ端末３１を上述した通信装置１００として構成する場合、センサ端末３１の通信相手であるＥＣＵ３２に上述した第２データを記憶させる。センサ端末３１が第３データを必要とする際には、ＥＣＵ３２からセンサ端末３１に第２データを送り、センサ端末３１は内包するデータ生成装置に第２データを入力することで第３データを生成することができる。
【００７４】
なお、図１０に示した自動車の例に限らず、移動体に構築される通信ネットワークのノードとなる各種の機器を上述した通信装置１００として構成することによって、移動体に搭載された各種機器間の認証と通信保護を実現し、移動体の運行の安全性と効率を高めることができる。
【００７５】
（補足説明）
実施形態のデータ生成装置１０は、例えば、ハードウェアとソフトウェアとの連携により実現することができる。この場合、実施形態のデータ生成装置１０は、例えば、ＣＰＵなどのプロセッサ、ＲＡＭなどのメインメモリ、ＲＯＭなどの補助メモリなどを備えた汎用のコンピュータシステムとしてのハードウェア構成を採用し、プロセッサがメインメモリを利用して、ソフトウェアとして提供されるプログラムを実行することによって、実施形態のデータ生成装置１０における上述した機能的な構成要素（第１生成部１１、取得部１２、第２生成部１４、検証部１５、処理選択部１６Ａ，１６Ｂ，１６Ｃ，１６Ｄ）が実現される。
【００７６】
実施形態のデータ生成装置１０の機能的な構成要素を実現するプログラムは、例えば、ＲＯＭなどに予め組み込んで提供される。また、上記プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータ読み取り可能な記録媒体に記録されて提供されるようにしてもよい。また、上記プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記プログラムを、インターネットなどのネットワーク経由で提供または配布するように構成してもよい。
【００７７】
上記プログラムは、例えば、実施形態のデータ生成装置１０における上述した機能的な構成要素の各々に対応するコンポーネントを含むモジュール構成となっており、例えば、ＣＰＵなどのプロセッサが、ＲＡＭなどのメインメモリを利用して、ＲＯＭなどの補助メモリに格納されたプログラムを読み出して実行することにより、上記各コンポーネントがメインメモリ上にロードされ、実施形態のデータ生成装置１０における上述した機能的な構成要素の各々がメインメモリ上に生成されるようになっている。
【００７８】
なお、実施形態のデータ生成装置１０における上述した機能的な構成要素は、その一部または全部を、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field-Programmable  Gate  Array）などの専用のハードウェアを用いて実現することも可能である。
【００７９】
以上、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８０】
１０（１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ）  データ生成装置
１１  第１生成部
１２  取得部
１３  記憶部
１４  第２生成部
１５  検証部
１６Ａ，１６Ｂ，１６Ｃ，１６Ｄ  処理選択部
２０  通信部
１００  通信装置
【図１】
2018093550.tif 000003
【図２】
2018093550.tif 000004
【図３】
2018093550.tif 000005
【図４】
2018093550.tif 000006
【図５】
2018093550.tif 000007
【図６】
2018093550.tif 000008
【図７】
2018093550.tif 000009
【図８】
2018093550.tif 000010
【図９】
2018093550.tif 000011
【図１０】
2018093550.tif 000012