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