(57)【要約】【課題】個別の情報を予め書込むことなく、個別鍵を用いた通信を行うことができる情報処理装置、サーバ装置、通信システム、通信方法、及びプログラムを提供する。【解決手段】通信先のサーバ装置と通信する通信部と、マスタ鍵を記憶する記憶部と、前記マスタ鍵と所定のＩＤとを用いて、個別鍵を生成する個別鍵生成部と、前記個別鍵を共通鍵とした通信を前記サーバ装置と行う情報処理部と、を備える。【選択図】図２
2020195039.tif 000002
【特許請求の範囲】
【請求項１】
通信先のサーバ装置と通信する通信部と、
マスタ鍵を記憶する記憶部と、
前記マスタ鍵と所定のＩＤとを用いて、個別鍵を生成する個別鍵生成部と、
前記個別鍵を用いた通信を前記サーバ装置と行う情報処理部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記情報処理部は、前記個別鍵生成部により個別鍵が生成された後に、前記記憶部に記憶された前記マスタ鍵を消去する、
請求項１に記載の情報処理装置。
【請求項３】
前記情報処理部は、前記サーバ装置から前記個別鍵により暗号化された通信内容を受信した後に、前記記憶部に記憶された前記マスタ鍵を消去する、
請求項２に記載の情報処理装置。
【請求項４】
前記情報処理部は、前記サーバ装置から個別鍵の生成に関する情報を消去する旨を示す命令を受信した場合、前記記憶部に記憶された前記マスタ鍵を消去する、
請求項１から請求項３の何れか一項に記載の情報処理装置。
【請求項５】
前記記憶部は、前記個別鍵生成部により実行される処理に対応する個別鍵生成プログラムを記憶し、
前記情報処理部は、前記個別鍵生成部により個別鍵が生成された後に、前記記憶部に記憶された前記個別鍵生成プログラムを消去する、
請求項１から請求項４の何れか一項に記載の情報処理装置。
【請求項６】
前記情報処理部は、前記個別鍵を更新するか否かを判定し、
前記個別鍵生成部は、前記情報処理部により前記個別鍵を更新すると判定された場合、更新前の前記個別鍵と所定のＩＤとを用いて、更新後の前記個別鍵を生成する、
請求項１から請求項４の何れか一項に記載の情報処理装置。
【請求項７】
通信先の情報処理装置からＩＤを受信するサーバ通信部と、
マスタ鍵を記憶する記憶部と、
前記マスタ鍵と前記情報処理装置から受信したＩＤとを用いて、個別鍵を生成する個別鍵生成部と、
前記個別鍵生成部により生成された個別鍵を用いて暗号化した通信内容を、前記情報処理装置に通知するサーバ制御部と、
を備えるサーバ装置。
【請求項８】
前記サーバ制御部は、前記個別鍵生成部により個別鍵が生成された後に、前記情報処理装置が記憶する前記個別鍵の生成に関する情報を消去する旨の命令を、前記情報処理装置に通知する、
請求項７に記載のサーバ装置。
【請求項９】
請求項１から請求項６の何れか一項に記載の情報処理装置と、
請求項７又は請求項８に記載のサーバ装置と、
を備える通信システム。
【請求項１０】
マスタ鍵を記憶する記憶部を備える情報処理装置の通信方法であって、
通信部が、通信先のサーバ装置と通信し、
個別鍵生成部が、前記マスタ鍵と所定のＩＤとを用いて、個別鍵を生成し、
情報処理部が、前記個別鍵を用いた通信を前記サーバ装置と行う、
ことを特徴とする通信方法。
【請求項１１】
マスタ鍵を記憶する記憶部を備える情報処理装置のコンピュータを、
通信先のサーバ装置と通信する通信手段、
前記マスタ鍵と所定のＩＤとを用いて、個別鍵を生成する個別鍵生成手段、
前記個別鍵を用いた通信を前記サーバ装置と行う情報処理手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、サーバ装置、通信システム、通信方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、様々な場所における温度や湿度などの環境データや撮像データ等（以下、環境データ等という）を集約させるシステムが普及している。このようなシステムでは、センサを備えたデバイス装置を様々な場所に設置し、それぞれのデバイス装置が、その場所でセンサにより測定された環境データ等をサーバ装置に送信することにより、データが集約される。また、このようなシステムでは、通信内容を検証する専用のマイコンチップを、デバイス装置に組み込んで使用する場合が多い。マイコンチップが、サーバ装置とデバイス装置との間でやり取りされる通信内容を検証することにより、なりすましやデータの改ざん等の不正を防止して通信の安全性を維持することができる。このようなマイコンチップは、例えば、通信先となる装置の正当性を認証する処理（認証処理）を行う。特許文献１には、通信データを中継する中継器の正当性を判定する技術が開示されている。
【０００３】
認証処理は、例えば、チャレンジ＆レスポンス方式にて行われる。共通鍵暗号方式を用いたチャレンジ＆レスポンス方式では、チャレンジ側（例えば、サーバ装置）が、レスポンス側（例えば、マイコンチップ）にチャレンジ（ホスト乱数）を送信する。レスポンス側は、ホスト乱数を暗号化する。暗号化は、チャレンジ側とレスポンス側とで予め共有している共通鍵を用いて行われる。レスポンス側は、暗号化したホスト乱数をチャレンジ側に通知する。チャレンジ側は、暗号化されたホスト乱数を復号する。復号は、チャレンジ側とレスポンス側とで予め共有している共通鍵を用いて行われる。チャレンジ側は、復号したホスト乱数と、送信したホスト乱数とが一致した場合に、レスポンス側が通信先として正当な装置であると認証する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−３３２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような相互認証を行うためには、チャレンジ側とレスポンス側とで予め共通鍵を共有している必要がある。公開鍵暗号方式にて共通鍵の受け渡しを行わない場合、サーバ装置とマイコンチップとに予め共通鍵を書込んでおかなければならない。上記のようなシステムでは、サーバ装置が複数のマイコンチップと通信することが通常である。多数のマイコンチップのそれぞれに、互いに異なる個別の共通鍵を書込む作業は、マイコンチップに同じ情報を書込む場合と比較して工程が複雑になり手間がかかってしまう。また、書込んだ個別鍵を管理する必要もあり管理コストがかかってしまうという問題があった。
【０００６】
本発明は、このような状況に鑑みてなされたもので、その目的は、個別の情報を書込むことなく、個別鍵を用いた通信を行うことができる情報処理装置、サーバ装置、通信システム、通信方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明の一態様は、通信先のサーバ装置と通信する通信部と、マスタ鍵を記憶する記憶部と、前記マスタ鍵と所定のＩＤとを用いて、個別鍵を生成する個別鍵生成部と、前記個別鍵を用いた通信を前記サーバ装置と行う情報処理部と備えることを特徴とする情報処理装置である。
【０００８】
また、本発明の一態様に係る情報処理装置において、前記情報処理部は、前記個別鍵生成部により個別鍵が生成された後に、前記記憶部に記憶された前記マスタ鍵を消去する構成であってもよい。
【０００９】
また、本発明の一態様に係る情報処理装置において、前記情報処理部は、前記サーバ装置から前記個別鍵により暗号化された通信内容を受信した後に、前記記憶部に記憶された前記マスタ鍵を消去する構成であってもよい。
【００１０】
また、本発明の一態様に係る情報処理装置において、前記情報処理部は、前記サーバ装置から個別鍵の生成に関する情報を消去する旨を示す命令を受信した場合、前記記憶部に記憶された前記マスタ鍵を消去する構成であってもよい。
【００１１】
また、本発明の一態様に係る情報処理装置において、前記記憶部は、前記個別鍵生成部により実行される処理に対応する個別鍵生成プログラムを記憶し、前記情報処理部は、前記個別鍵生成部により個別鍵が生成された後に、前記記憶部に記憶された前記個別鍵生成プログラムを消去する構成であってもよい。
【００１２】
また、本発明の一態様に係る情報処理装置において、前記情報処理部は、前記個別鍵を更新するか否かを判定し、前記個別鍵生成部は、前記情報処理部により前記個別鍵を更新すると判定された場合、更新前の前記個別鍵と所定のＩＤとを用いて、更新後の前記個別鍵を生成する構成であってもよい。
【００１３】
また、本発明の一態様は、通信先の情報処理装置からＩＤを受信するサーバ通信部と、マスタ鍵を記憶する記憶部と、前記マスタ鍵と前記情報処理装置から受信したＩＤとを用いて、個別鍵を生成する個別鍵生成部と、前記個別鍵生成部により生成された個別鍵を用いて暗号化した通信内容を、前記情報処理装置に通知するサーバ制御部とを備えることを特徴とするサーバ装置である。
【００１４】
また、本発明の一態様に係るサーバ装置において、前記サーバ制御部は、前記個別鍵生成部により個別鍵が生成された後に、前記情報処理装置が記憶する前記個別鍵の生成に関する情報を消去する旨の命令を、前記情報処理装置に通知する構成であってもよい。
【００１５】
また、本発明の一態様は、上述した情報処理装置と、上述したサーバ装置とを備えることを特徴とする通信システムである。
【００１６】
また、本発明の一態様は、マスタ鍵を記憶する記憶部を備える情報処理装置の通信方法であって、通信部が、通信先のサーバ装置と通信し、個別鍵生成部が、前記マスタ鍵と所定のＩＤとを用いて、個別鍵を生成し、情報処理部が、前記個別鍵を用いた通信を前記サーバ装置と行うことを特徴とする通信方法である。
【００１７】
また、本発明の一態様は、マスタ鍵を記憶する記憶部を備える情報処理装置のコンピュータを、通信先のサーバ装置と通信する通信手段、前記マスタ鍵と所定のＩＤとを用いて、個別鍵を生成する個別鍵生成手段、前記個別鍵を用いた通信を前記サーバ装置と行う情報処理手段として機能させるプログラムである。
【発明の効果】
【００１８】
本発明によれば、個別の情報を予め書込むことなく、個別鍵を用いた通信を行うことができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態の通信システム１の構成の例を示すシステム構成図である。
【図２】第１の実施形態のマイコンチップ２０の構成の例を示すブロック図である。
【図３】第１の実施形態のサーバ装置４０の構成の例を示すブロック図である。
【図４】第１の実施形態のマイコン記憶部２６に記憶されるデータの例を示す図である。
【図５】第１の実施形態の通信システム１の処理の流れを示すシーケンス図である。
【図６】第１の実施形態のマイコンチップ２０が行う処理の流れを示すフローチャートである。
【図７】第１の実施形態のマイコンチップ２０が個別鍵を生成する方法を説明する図である。
【図８】第２の実施形態のマイコン記憶部２６Ａに記憶されるデータの例を示す図である。
【図９】第３の実施形態の通信システム１Ｂの処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【００２０】
以下、実施形態の情報処理装置、通信システム、通信方法、及びプログラムを、図面を参照して説明する。
【００２１】
（第１の実施形態）
まず、第１の実施形態について説明する。
図１は、実施形態の通信システム１の構成の例を示すシステム構成図である。通信システム１は、例えば、複数のデバイス装置１０（デバイス装置１０−１、１０−２、…１０−Ｎ）と、サーバ装置４０と、メーカ５０と、通信ネットワーク６０とを備える。Ｎは、任意の自然数である。
【００２２】
サーバ装置４０と、デバイス装置１０とは、通信ネットワーク６０を介して互いに通信可能に接続される。なお、図１では、複数のデバイス装置１０が、一つのサーバ装置４０に通信可能に接続されている例を示しているが、これに限定されない。通信システム１において、一つのデバイス装置１０が一つのサーバ装置４０が接続されてもよいし、複数のデバイス装置１０が複数のデバイス装置１０に接続されていてもよい。また、一つのデバイス装置１０が複数のサーバ装置４０に接続されていてもよい。
【００２３】
デバイス装置１０のそれぞれには、制御チップ３０（制御チップ３０−１、３０−２、…３０−Ｎ）とマイコンチップ２０（マイコンチップ２０−１、２０−２、…２０−Ｎ）（デバイス装置１０−１、１０−２、…１０−Ｎ）とが組み込まれている。ここで、マイコンチップ２０は、「情報処理装置」の一例である。
【００２４】
デバイス装置１０は、サーバ装置４０に環境データ等を送信する。デバイス装置１０は、例えば、通信モジュールと、制御チップ３０と、複数のセンサモジュールと、マイコンチップ２０とを備える。通信モジュールは、通信ネットワーク６０を介して、サーバ装置４０と通信を行う。制御チップ３０は、デバイス装置１０を統括的に制御する。制御チップ３０は、例えば、マイコンチップ２０への電源の投入及び遮断を制御する。センサモジュールは、各種のデータを測定（センシング）するモジュールであり、例えば、温度を測定する温度センサや、撮像機能を備えた撮像モジュールである。
【００２５】
マイコンチップ２０は、通信内容を検証する。マイコンチップ２０は、例えば、ＩＣチップ、ＳＥ（セキュアエレメント）、セキュアＩＣチップ、セキュアチップ、セキュアＩＣ、セキュアマイコン等と称される、半導体基板の上に集積回路が実装された装置である。マイコンチップ２０は、デバイス装置１０に組み込まれ、デバイス装置１０と通信を行うと共に、デバイス装置１０を介してサーバ装置４０と通信を行う。デバイス装置１０からサーバ装置４０に送信する通信内容を暗号化する。また、マイコンチップ２０は、デバイス装置１０が受信した通信内容を検証した上で、暗号化された通信内容を復号する。
【００２６】
なお、マイコンチップ２０は、例えばプラスチック等のカード機材に、マイコンチップ２０の機能が実装されたＩＣカード、又はＳＩＭカード（Subscriber Identity Module Card）であってもよい。この場合、マイコンチップ２０は、デバイス装置１０に設けられたＩＣカード又はＳＩＭカードのコンタクト部（不図示）を介して着脱可能に装着される。
【００２７】
通信ネットワーク６０は、例えば、インターネット、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、プロバイダ装置、無線基地局、専用回線などのうちの一部または全部を含む通信網である。
【００２８】
サーバ装置４０は、デバイス装置１０から環境データ等を受信し、受信した通信データを蓄積して様々なサービスを提供する。ここでの様々なサービスとは、蓄積したデータを提示するサービスであり、例えば、サーバ装置４０を操作するユーザの操作に応じて、環境データの時系列変化を示すグラフや、撮像データに応じた映像等を表示するサービスである。
【００２９】
メーカ５０は、例えば、デバイス装置１０の製造メーカである。メーカ５０は、例えば、何も書込まれていないマイコンチップ２０を、マイコン製造ベンダから購入する。メーカ５０は、購入したマイコンチップ２０をデバイス装置１０に組み込むデバイス装置１０の製造過程において、マイコンチップ２０に各種の情報を書込む。ここでマイコンチップ２０に書込む各種の情報とは、マイコンチップ２０に、通信内容を検知する処理を実行させるためのプログラムや、当該プログラムに用いられる変数である。
【００３０】
本実施形態では、通信内容を暗号化して通信を行う場合、共通鍵暗号方式にて暗号化を行う。共通鍵暗号方式は、暗号化と復号とで同じ鍵を用いる方式である。共通鍵暗号方式は、暗号化と復号とで異なる鍵を用いる公開鍵暗号方式と比較して、暗号化及び復号に要する時間が少なく済むというメリットがある。以下の説明では、複数のマイコンチップ２０のそれぞれがサーバ装置４０との通信内容を暗号化する際に用いる個別の鍵を「個別鍵」という。
【００３１】
本実施形態では、マイコンチップ２０及びサーバ装置４０（以下、マイコンチップ２０等という）は、出荷時において個別鍵を保持していない。マイコンチップ２０等は、所定のタイミングでマスタ鍵を用いて個別鍵を生成し、生成した個別鍵を用いて暗号化通信を行う。所定のタイミングとは、例えば、最初の起動時など、暗号化又は復号が必要となるタイミングである。具体的に、マイコンチップ２０等には、個別鍵そのものではなく、個別鍵を生成させるために必要な情報が出荷時等において予め書き込まれて記憶される。
【００３２】
ここで、個別鍵を発生するために必要な情報は、サーバ装置４０と通信する複数のマイコンチップ２０の全てに共通する情報である。個別鍵を発生するために必要な情報は、具体的に、「マスタ鍵」、「ＩＤ生成プログラム」及び「個別鍵生成プログラム」を示す情報である。「マスタ鍵」は、特に管理がなされていなくとも重複や偶然の一致が起こらないことを前提とした数値である。「マスタ鍵」は、例えば、ＡＥＳ（Advanced Encryption Standard）暗号における１２８ビットの鍵である。「ＩＤ生成プログラム」は、ＩＤを生成するプログラムである。ＩＤは、個別鍵を一意に識別する識別番号（数値）である。ＩＤは、マスタ鍵と同様に、特に管理がなされていなくとも重複や偶然の一致が起こらないことを前提とした、例えば、ＵＵＩＤ（Universally Unique Identifier）Ｖｅｒｓｉｏｎ４における１２８ビットの識別子である。ＩＤは、例えば、マイコン通信部２５に設定されたＭＡＣ（Media Access Control）アドレスや、マイコンメーカー等によって設定されるマイコン固有のシリアル番号等を利用することも可能である。例えば、マイコンチップ２０にふされたシリアル番号が、そのままＩＤとして利用されてもよいし、当該シリアル番号に基づいて加工された番号がＩＤとして利用されてもよい。ここでの加工とは、シリアル番号を基にシリアル番号とは異なる番号を生成することであり、例えば、シリアル番号を引数として所定のアルゴリズム（例えば、ハッシュの計算）を実行することにより生成された番号（ハッシュ値）を生成することをいう。「個別鍵生成プログラム」は、マスタ鍵とＩＤとを用いて、個別鍵を生成するプログラムである。
【００３３】
すなわち、本実施形態では、サーバ装置４０に接続する複数のマイコンチップ２０に共通する情報のみを書込めばよいため、それぞれに個別の情報を書込む必要がない。すなわち、マイコンチップ２０に個別の情報を書込むことなく、個別鍵を用いた暗号化通信を行うことが可能となる。
【００３４】
例えば、共通鍵暗号を用いたチャレンジ＆レスポンス方式にて相互認証を行う場合を考える。
まず、サーバ装置４０がマイコンチップ２０を認証するデバイス認証が行われる。この場合、マイコンチップ２０は、個別鍵を生成する。具体的に、マイコンチップ２０は、ＩＤを生成し、生成したＩＤとマスタ鍵とを用いて、個別鍵生成プログラムを実行することにより、個別鍵を生成する。次に、マイコンチップ２０は、生成したＩＤをホストＩＤとしてサーバ装置４０に送信する。
【００３５】
サーバ装置４０は、マイコンチップ２０からＩＤ（ホストＩＤ）を受信する。サーバ装置４０は、マイコンチップ２０にサーバチャレンジ（乱数）を送信する。マイコンチップ２０は、受信したサーバチャレンジ（乱数）を、個別鍵を用いて暗号化する。マイコンチップ２０は、暗号化したサーバチャレンジ（乱数）を、サーバ装置４０に送信する。
【００３６】
サーバ装置４０は、マイコンチップ２０から暗号化されたサーバチャレンジ（乱数）を受信する。サーバ装置４０は、暗号化されたサーバチャレンジ（乱数）を復号する。ここで、サーバ装置４０は、暗号化されたサーバチャレンジ（乱数）を復号するために個別鍵を生成する。サーバ装置４０は、マイコンチップ２０から受信したＩＤと、サーバ装置４０に記憶されたマスタ鍵とを用いて、個別鍵発生プログラムを実行することにより、個別鍵を生成する。ここで、サーバ装置４０が生成した個別鍵は、マイコンチップ２０が個別鍵を生成する際に用いたものと同一の変数（ＩＤ、及びマスタ鍵）を用いて、同一のプログラム（個別鍵生成プログラム）を実行することにより、生成されたものである。すなわち、サーバ装置４０が生成した個別鍵と、マイコンチップ２０が生成した個別鍵とは、（マイコンチップ２０が正しいＩＤ及びマスタ鍵を知らないなりすましの装置でない限り）同一の数値となる。
サーバ装置４０は、復号した値と、自身が送信したサーバチャレンジ（乱数）とが一致するか否かを判定する。サーバ装置４０は、両者が一致する場合、マイコンチップ２０が正当であるとして、認証が成功した旨を示す通知をマイコンチップ２０に送信する。一方、サーバ装置４０は、両者が一致しない場合、マイコンチップ２０が正当ではないとして、認証が失敗した旨を示す通知をマイコンチップ２０に送信する。
【００３７】
次に、マイコンチップ２０がサーバ装置４０を認証するデバイス認証が行われる。この場合、マイコンチップ２０は、ＩＤをホストＩＤとしてサーバ装置４０に送信すると共に、デバイスチャレンジ（乱数）をサーバ装置４０に送信する。
【００３８】
サーバ装置４０は、マイコンチップ２０からデバイスチャレンジ（乱数）を受信し、受信したデバイスチャレンジ（乱数）を暗号化する。サーバ装置４０は、暗号化するための個別鍵を生成していない場合には、マイコンチップ２０から受信したＩＤと、サーバ装置４０に記憶されたマスタ鍵とを用いて、個別鍵発生プログラムを実行することにより、個別鍵を生成する。サーバ装置４０は、暗号化したデバイスチャレンジ（乱数）を、マイコンチップ２０に送信する。
マイコンチップ２０は、サーバ装置４０から暗号化されたデバイスチャレンジ（乱数）を受信し、受信した暗号化されたデバイスチャレンジ（乱数）を復号する。マイコンチップ２０は、復号した値と、自身が送信したデバイスチャレンジ（乱数）とが一致するか否かを判定する。マイコンチップ２０は、両者が一致する場合、サーバ装置４０が正当であるとして、認証が成功した旨を示す通知をサーバ装置４０に送信する。一方、マイコンチップ２０は、両者が一致しない場合、サーバ装置４０が正当ではないとして、認証が失敗した旨を示す通知をサーバ装置４０に送信する。
【００３９】
図２は、第１の実施形態のマイコンチップ２０の構成の例を示すブロック図である。マイコンチップ２０を構成する機能部は、ＣＰＵなどのプロセッサがプログラム（ソフトウェア）を実行することにより実現される。また、これらの機能部のうち一部または全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。
【００４０】
マイコンチップ２０は、例えば、マイコン制御部２１と、マイコン通信部２５と、マイコン記憶部２６とを備える。マイコン制御部２１は、ＩＤ生成部２２と、個別鍵生成部２３と、マイコン処理部２４と、を備える。マイコン記憶部２６は、マスタ鍵記憶部２７と、ＩＤ記憶部２８と、個別鍵記憶部２９とを備える。ここで、マイコン通信部２５は、「通信部」の一例である。また、マイコン処理部２４は、「情報処理部」の一例である。
【００４１】
マイコン制御部２１は、マイコンチップ２０を統括的に制御する。ＩＤ生成部２２は、マイコン記憶部２６に記憶されたＩＤ生成プログラムを実行することにより、ＩＤを生成する。ＩＤ生成プログラムは、例えば、乱数を発生させることにより、或いは現在時刻などを用いて１２８ビットのＩＤを生成するプログラムである。この場合、ＩＤ生成部２２は、乱数を用いてＩＤを生成する。ＩＤ生成部２２は、生成したＩＤを個別鍵生成部２３に出力する。また、ＩＤ生成部２２は、生成したＩＤをＩＤ記憶部２８に記憶させる。
【００４２】
個別鍵生成部２３は、ＩＤをパラメータとして個別鍵発生プログラムを実行することにより、マスタ鍵から派生させた個別鍵を生成する。ＩＤは、ＩＤ生成部２２により生成された１２８ビットの数値である。マスタ鍵は、マスタ鍵記憶部２７に記憶された１２８ビットの数値である。個別鍵発生プログラムは、マイコン記憶部２６に記憶されたプログラムである。個別鍵生成部２３が、個別鍵を生成する方法（個別鍵発生プログラムのアルゴリズム）については、後で詳しく説明する。個別鍵生成部２３は、生成した個別鍵を、個別鍵記憶部２９に記憶させる。
【００４３】
マイコン処理部２４は、マイコンチップ２０が行う各種の処理を行う。マイコン処理部２４は、例えば、チャレンジ側としてサーバ装置４０を認証する処理を行う。マイコン処理部２４は、サーバ装置４０からのサーバチャレンジ（乱数）を受信した場合、レスポンス側として、暗号化したサーバチャレンジを、レスポンスとしてサーバ装置４０に送信する。マイコン処理部２４は、例えば、デバイス装置１０が取得した環境データ等を暗号化する。マイコン処理部２４は、デバイス装置１０が受信した、暗号化された通信内容を復号する。
【００４４】
また、マイコン処理部２４は、個別鍵生成部２３により個別鍵が生成された後、マスタ鍵記憶部２７に記憶されたマスタ鍵を消去するようにしてもよい。これにより、何等かの理由により個別鍵生成プログラムが流出した場合であっても、ＩＤを用いて個別鍵が複製されてしまうことを抑制することが可能である。
【００４５】
或いは、マイコン処理部２４は、サーバ装置４０との相互認証が完了した後に、マスタ鍵記憶部２７に記憶されたマスタ鍵を消去するようにしてもよい。これにより、相互認証が完了するまではマスタ鍵を記憶しておくことができ、何等かの理由で相互認証に失敗した場合であっても、個別鍵を再生成して再度の相互認証を行うなどの対応を行うことが可能である。
【００４６】
また、マイコン処理部２４は、上述したマスタ鍵を消去するタイミングで、マスタ鍵と共に、或いはマスタ鍵に代えて、個別鍵生成プログラムを消去するようにしてもよい。また、マイコン処理部２４は、サーバ装置４０との相互認証が完了した後に、サーバ装置４０からの命令に応じて、マスタ鍵、及び／又は個別鍵生成プログラムを消去するようにしてもよい。また、マイコン処理部２４は、個別鍵生成プログラムと共にＩＤ生成プログラムを消去するようにしてもよい。
【００４７】
マイコン通信部２５は、通信ネットワーク６０を介して、サーバ装置４０と通信を行う。
マイコン記憶部２６は、例えば、ＨＤＤ（Hard Disc Drive）、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、またはＲＡＭ（Random Access Memory）などにより実現される。マイコン記憶部２６は、出荷時などに予め書込まれた個別鍵発生プログラム、及びＩＤ生成プログラムを記憶する。マスタ鍵記憶部２７は、出荷時などに予め設定されたマスタ鍵を記憶する。個別鍵記憶部２９は、個別鍵生成部２３により生成された個別鍵を記憶する。
【００４８】
図３は、第１の実施形態のサーバ装置４０の構成の例を示すブロック図である。サーバ装置４０を構成する機能部は、マイコンチップ２０と同様に、ＣＰＵなどのプロセッサがプログラム（ソフトウェア）を実行すること等により実現される。
【００４９】
サーバ装置４０は、例えば、サーバ制御部４１と、サーバ通信部４５と、サーバ記憶部４６とを備える。サーバ制御部４１は、個別鍵生成部４３と、サーバ処理部４４とを備える。サーバ記憶部４６は、例えば、マスタ鍵記憶部４７と、個別鍵記憶部４９とを備える。サーバ装置４０における個別鍵を生成する機能は、マイコンチップ２０における当該機能と同様である。つまり、個別鍵生成部４３は個別鍵生成部２３と、マスタ鍵記憶部４７はマスタ鍵記憶部２７と、個別鍵記憶部４９は個別鍵記憶部２９と同じ機能である。このため、これらの機能部については、その機能についての説明を省略し、上述した構成と異なる動作のみ説明する。
【００５０】
サーバ制御部４１は、サーバ装置４０を統括的に制御する。個別鍵生成部４３は、マイコンチップ２０からのホストＩＤを用いて、マイコンチップ２０との通信に用いる個別鍵を生成し、生成した個別鍵を、個別鍵記憶部４９に記憶させる。
なお、個別鍵は、ＩＤを通知してきたマイコンチップ２０を認証する度に生成されるようにしてもよい。この場合、例えば、マイコンチップ２０との通信が終了した後に個別鍵記憶部４９に記憶されている個別鍵が消去される。
或いは、一度生成された個別鍵が、継続して使用されるようにしてもよい。この場合、例えば、個別鍵生成部４３により生成された個別鍵は、その個別鍵の生成に用いられたＩＤに対応付けて記憶される。そして、サーバ制御部４１は、マイコンチップ２０からＩＤが通知された場合、通知されたＩＤに基づいて、個別鍵記憶部４９を参照する。サーバ制御部４１は、通知されたＩＤに対応する個別鍵が記憶されている場合にはその個別鍵を用いて相互認証を行うようにする。一方、サーバ制御部４１は、通知されたＩＤに対応する個別鍵が記憶されていない場合、個別鍵生成部４３に、当該ＩＤに対応する個別鍵を生成するようにする。
【００５１】
サーバ処理部４４は、サーバ装置４０が行う各種の処理を行う。サーバ処理部４４は、例えば、チャレンジ側としてマイコンチップ２０を認証する処理を行う。サーバ処理部４４は、マイコンチップ２０からのホストＩＤ及びデバイスチャレンジ（乱数）を受信した場合、レスポンス側として、暗号化したデバイスチャレンジをマイコンチップ２０に送信させる。サーバ処理部４４は、例えば、デバイス装置１０からの暗号化された環境データ等を復号してサーバ記憶部４６に記憶させる。サーバ処理部４４は、サーバ装置４０からデバイス装置１０に通知する通信内容を暗号化して送信させる。
【００５２】
また、サーバ処理部４４は、マイコンチップ２０との相互認証が完了した後に、マイコンチップ２０が記憶する、個別鍵の生成に関する情報を消去する命令をマイコンチップ２０に送信するようにしてもよい。個別鍵の生成に関する情報は、例えば、マスタ鍵、個別鍵生成プログラムである。
【００５３】
サーバ通信部４５は、通信ネットワーク６０を介して、デバイス装置１０及び外部の端末装置と通信を行う。
【００５４】
図４は、マイコン記憶部２６に記憶される情報の構成例を示す図である。マイコン記憶部２６は、例えば、変数の領域Ｅ１、ユーザプログラムの領域Ｅ２、及びファームウェアの領域Ｅ３を含んで構成される。領域Ｅ１〜Ｅ３は、例えば、電気的に書き換え可能な不揮発性メモリであるＥＥＰＲＯＭに設けられる。
【００５５】
領域Ｅ１にはマイコンチップ２０が各種の処理を行う際に利用されるデータが記憶される。領域Ｅ２にはマイコンチップ２０が行う処理を実行するプログラムのうち、自身で内容を書き換えることができる運用とするプログラム（ユーザプログラム）が記憶される。領域Ｅ３にはマイコンチップ２０が行う処理を実行するプログラムのうち、自身で内容を書き換えることができない運用とするプログラム（ファームウェア）が記憶される。ファームウェアは、ファームウェアを書き換える（ファームウェアアップデート）権限をもつ装置（例えば、図示しない通信システム１の管理サーバ）により、書き換えられる。管理サーバは、例えば、通信ネットワーク６０を介して、ファームウェアアップデートのプログラムを暗号化したデータをマイコンチップ２０に送信する。
【００５６】
図４に示すように、領域Ｅ１には、マスタ鍵を示すデータＤ１、個別鍵を示すデータＤ２、及びＩＤを示すデータＤ３が設けられる。領域Ｅ２には、ＩＤ生成プログラムを示すプログラムＰ１、及び個別鍵生成プログラムを示すプログラムＰ２が設けられている。マイコンチップ２０は、例えば、個別鍵を生成した後、或いは、相互認証が完了した後にデータＤ１、及び／又はプログラムＰ２を消去する。
【００５７】
図５は、通信システム１において行われる処理の流れを示すシーケンス図である。図５に示すように、通信システム１において、サーバ設定、デバイス製造、デバイス初期化処理、及びデバイス利用開始の各フェーズに応じた処理が行われる。
【００５８】
まず、サーバ設定のフェーズについて説明する。
ステップＳ１０１において、メーカ５０は、サーバ装置４０にマスタ鍵及びプログラム（個別鍵生成プログラム）を示すデータを通知する。メーカ５０は、通信ネットワーク６０を介してデータを送信してもよいし、データを記憶させた記憶媒体を受け渡すことによりデータを通知してもよい。サーバ装置４０は、メーカ５０から受け取ったデータを記憶させる。つまり、サーバ装置４０は、個別鍵生成プログラムをサーバ記憶部４６に記憶させ、マスタ鍵をマスタ鍵記憶部４７に記憶させる。
【００５９】
次に、デバイス製造のフェーズについて説明する。
ステップＳ１０２において、メーカ５０は、マイコンチップ２０にマスタ鍵及びプログラム（ＩＤ生成プログラムと個別鍵生成プログラム）を示すデータを書込む。つまり、マイコンチップ２０は、ＩＤ生成プログラムと個別鍵生成プログラムをマイコン記憶部２６に記憶させ、マスタ鍵をマスタ鍵記憶部２７に記憶させる。
ステップＳ１０３において、メーカ５０は、データを書込んだマイコンチップ２０をデバイス装置１０に組み込む。
【００６０】
次に、デバイス初期化処理のフェーズについて説明する。
ステップＳ１０４において、デバイス装置１０は、制御チップ３０を介してマイコンチップ２０の電源を投入し、マイコンチップ２０を電源ＯＮの状態とする。
ステップＳ１０５において、マイコン初期化処理が行われる。マイコン初期化処理では、初期設定として、ＩＤ及び個別鍵が設定される。マイコン初期化処理の詳細については、後で詳しく説明する。
ステップＳ１０６において、マイコンチップ２０からデバイス装置１０に、初期設定が完了した旨を示す完了通知がなされる。
ステップＳ１０７において、デバイス装置１０は、マイコンチップ２０からの完了通知を受けて、マイコンチップ２０の電源を遮断し、マイコンチップ２０を電源ＯＦＦの状態とする。
【００６１】
次に、デバイス利用開始のフェーズについて説明する。
ステップＳ１０８において、デバイス装置１０は、マイコンチップ２０を電源ＯＮの状態とする。
ステップＳ１０９において、マイコンチップ２０は、ＩＤ、及びデバイスチャレンジ（乱数）をサーバ装置４０に通知して相互認証を要求する認証要求を行う。
ステップＳ１１０において、サーバ装置４０は、マイコンチップ２０から通知されたＩＤを用いて個別鍵を生成する。
ステップＳ１１１において、サーバ装置４０は、生成した個別鍵を用いて相互認証を行う。具体的に、サーバ装置４０は、マイコンチップ２０から通知されたデバイスチャレンジ（乱数）を暗号化したレスポンスをマイコンチップ２０に送信する。また、サーバ装置４０は、サーバ装置４０が生成したサーバチャレンジ（乱数）をマイコンチップ２０に通知して相互認証を要求する認証要求を行う。
ステップＳ１１２において、相互認証が完了した後にマイコンチップ２０とサーバ装置４０とは、個別鍵を用いた暗号化通信を行う。ここで、マイコンチップ２０とサーバ装置４０とは、セッション鍵を用いた暗号化通信を行ってもよい。セッション鍵は、一定の時間、あるいは通信開始から終了までの間だけ有効な、いわゆる使い捨ての暗号鍵である。
マイコンチップ２０とサーバ装置４０とは、例えば、相互認証で用いたサーバチャレンジとデバイスチャレンジとの排他的論理和を算出し、その算出結果を個別鍵で暗号化する。そして、暗号化した計算結果（排他的論理和）をセッション鍵として使用する。
ステップＳ１１３において、マイコンチップ２０とサーバ装置４０との通信が終了すると、デバイス装置１０は、マイコンチップ２０を電源ＯＦＦの状態とする。
【００６２】
図６は、第１の実施形態のマイコンチップ２０が行う処理の流れを示すフローチャートである。図６には、図５のシーケンス図におけるステップＳ１０５に示す、マイコン初期化処理のフローが示されている。
【００６３】
ステップＳ２００において、マイコンチップ２０は、ＩＤ生成部２２によりＩＤを生成する。ステップＳ２０１において、マイコンチップ２０は、ＩＤ生成部２２により生成されたＩＤをＩＤ記憶部２８に記憶させる。
ステップＳ２０２において、マイコンチップ２０は、個別鍵生成部２３により、ＩＤをパラメータとして個別鍵生成プログラムを実行することにより、マスタ鍵を派生させた個別鍵を生成する。ステップＳ２０３において、マイコンチップ２０は、個別鍵生成部２３により生成された個別鍵を個別鍵記憶部２９に記憶させる。
ステップＳ２０４において、マイコンチップ２０は、マイコン処理部２４によりマスタ鍵記憶部２７に記憶されたマスタ鍵を消去する。
【００６４】
ここで、個別鍵を生成する方法について図７を用いて説明する。
図７は、第１の実施形態の個別鍵を生成する方法を説明する図である。ここでは、マイコンチップ２０が個別鍵を生成する場合を例に説明するが、サーバ装置４０が個別鍵を生成する場合も同様である。
【００６５】
ステップＳ３００において、マイコンチップ２０の個別鍵生成部２３は、ＩＤ生成部２２により生成されたＩＤを取得する。
ステップＳ３０１において、個別鍵生成部２３は、ＩＤを用いてＭＤ５（Message Digest algorithm 5）の処理を行う。ＭＤ５の処理は、入力（ＩＤ）の暗号的ハッシュ関数として１２８ビットのハッシュ値を生成する処理である。
ステップＳ３０２において、個別鍵生成部２３は、ＩＤのＭＤ５値（１２８ビット）を取得する。ステップＳ３０３において、個別鍵生成部２３は、ステップＳ３００で取得したＩＤ（１２８ビット）の後に、ステップＳ３０２で取得したＩＤのＭＤ５値（１２８ビット）を結合させ、ステップＳ３０４において、拡張ＩＤ（２５６ビット）を取得する。
ステップＳ３０５において、個別鍵生成部２３は、マスタ鍵（１２８ビット）を用いて、拡張ＩＤを暗号化する処理を行う。暗号化する処理は、一般的に用いられている任意の暗号化手法による処理であってよい。
ステップＳ３０６において、個別鍵生成部２３は、暗号化された拡張ＩＤ（２５６ビット）を取得し、ステップＳ３０７において、個別鍵生成部２３は、拡張ＩＤの一部を個別鍵（１２８ビット）として取得する。個別鍵生成部２３は、例えば、暗号化された拡張ＩＤ（２５６ビット）の前半１２８ビットを、デバイス装置１０の認証に用いる個別鍵（デバイス認証用個別鍵）、後半１２８ビットを、サーバ装置４０の認証に用いる個別鍵（サーバ認証用個別鍵）とする。
【００６６】
上記では、マイコンチップ２０がサーバ装置４０と個別鍵を用いた相互認証を行う場合を例に説明してきたが、これに限定されることはない。マイコンチップ２０は、デバイス装置１０と個別鍵を用いた相互認証を行うようにしてもよい。この場合、デバイス装置１０は、「サーバ装置」の一例である。
マイコンチップ２０がデバイス装置１０と個別鍵を用いた相互認証を行う場合、ステップＳ３０６に示すように、個別鍵生成部２３は、デバイス装置１０の認証に用いる個別鍵を生成する。そして、デバイス装置１０の機能部（例えば、制御チップ３０）は、サーバ装置４０が備える個別鍵を生成する機能部（少なくとも個別鍵生成部４３、及びマスタ鍵記憶部４７）と同等の機能を備える。また、この場合、デバイス装置１０は、「情報処理装置」の一例である。
【００６７】
以上説明したように、第１の実施形態のマイコンチップ２０は、マイコン通信部２５と、マスタ鍵記憶部２７と、個別鍵生成部２３と、マイコン処理部２４とを備える。マイコン通信部２５は、通信先のサーバ装置４０と通信する。マスタ鍵記憶部２７は、マスタ鍵を示す１２８ビットの数値を記憶する。個別鍵生成部２３は、マスタ鍵と特定のＩＤとを用いて個別鍵を生成する。マイコン処理部２４は、サーバ装置４０にＩＤとデバイスチャレンジ（乱数）を通知し、サーバ装置４０と個別鍵を用いた通信を行う。ここでの個別鍵を用いた通信には、個別鍵を用いた相互認証、及び個別鍵又は相互認証の過程で共有したセッション鍵を用いた暗号化通信が含まれる。
これにより、第１の実施形態のマイコンチップ２０は、マスタ鍵と特定のＩＤとを用いて個別鍵を生成することができ、予め個別鍵を記憶させる必要がない。このため、マイコンチップ２０に個別の情報（個別鍵）を書込むことなく、個別鍵を用いた暗号化通信を行うことが可能となる。
【００６８】
マイコンチップ２０に共通の情報を書込む場合、シリコンウエハの状態で書込みを行うことが可能である。一方、個別の情報を書込む場合にはシリコンウエハからダイシングする等して個別のチップにした後に、チップ毎に書込む必要がある。その際、チップ毎に書込む情報が異なるために、個別にデータを選択する工程も発生する。このように、マイコンチップ２０に共通の情報を書込む場合と、個別の情報を書込む場合とでは、製造段階における書込みの工程が全く異なる。このため、共通の情報のみを書込むことができれば、個別の情報のみを書込む場合と比較して、書込みに要する手間やコストを大きく削減させることが可能である。
【００６９】
また、第１の実施形態のマイコンチップ２０では、マイコン処理部２４は、個別鍵生成部２３により個別鍵が生成された後に、マスタ鍵記憶部２７に記憶されたマスタ鍵を消去する。これにより、何等かの理由により個別鍵生成プログラムが流出した場合であっても、マイコンチップ２０がサーバ装置４０に通知したＩＤを用いて、個別鍵が複製されてしまうことを抑制することが可能である。
【００７０】
また、第１の実施形態のマイコンチップ２０では、マイコン処理部２４は、サーバ装置４０との相互認証が完了した後に、マスタ鍵記憶部２７に記憶されたマスタ鍵を消去するようにしてもよい。これにより、相互認証が完了するまでマスタ鍵を記憶させておくことができ、何等かの理由により相互認証が失敗した場合であっても、再度個別鍵を生成して再度の認証を行うなどの対応することが可能である。
【００７１】
また、第１の実施形態のマイコンチップ２０では、マイコン処理部２４は、サーバ装置４０からの消去命令に応じて、マスタ鍵記憶部２７に記憶されたマスタ鍵を消去するようにしてもよい。これにより、サーバ装置４０がマイコンチップ２０に記憶されたマスタ鍵を消去すると判定したタイミングに応じて、マスタ鍵を消去することが可能である。
【００７２】
また、第１の実施形態のマイコンチップ２０では、マイコン処理部２４は、マスタ鍵を消去するタイミングで、マスタ鍵と共に、或いはマスタ鍵の代わりに個別鍵生成プログラムを消去するようにしてもよい。これにより、何等かの理由によりマイコンチップ２０に記憶されている情報が盗み取られた場合であっても、個別鍵を生成するアルゴリズムが流出してしまうことを抑制することが可能である。
【００７３】
また、第１の実施形態のサーバ装置４０は、サーバ通信部４５と、マスタ鍵記憶部４７と、個別鍵生成部４３と、サーバ処理部４４とを備える。サーバ通信部４５は、通信先のマイコンチップ２０からＩＤを受信する。マスタ鍵記憶部４７は、マスタ鍵を記憶する。個別鍵生成部４３は、マスタ鍵とマイコンチップ２０から受信したＩＤとを用いて、個別鍵を生成する。サーバ処理部４４は、個別鍵生成部４３により生成された個別鍵を用いて暗号化した通信内容を、マイコンチップ２０に送信させる。これにより、第１の実施形態のサーバ装置４０は、マイコンチップ２０から通知されたＩＤから個別鍵を生成することができ、個別鍵を予め記憶しておく必要がない。
【００７４】
また、第１の実施形態のサーバ装置４０では、サーバ処理部４４は、個別鍵生成部４３により個別鍵が生成された後に、マイコンチップ２０が記憶する前記個別鍵の生成に関する情報を消去する旨の命令を、マイコンチップ２０に通知する。これにより、上述した効果と同様の効果を奏する。
【００７５】
（第２の実施形態）
次に、第２の実施形態について説明する。本実施形態では、個別鍵の生成に用いられるデータやプログラム（マスタ鍵、ＩＤ、個別鍵生成プログラム及びＩＤ生成プログラム）が、ファームウェアの一部に記憶されている点において、上述した実施形態と相違する。この場合、マイコンチップ２０は、ファームウェアを書き換える権限を有していないため、個別鍵を生成した後に、個別鍵の生成に用いられるデータやプログラムを消去することができない。
【００７６】
以下の説明において、本実施形態が上述した実施形態と相違する構成については、通信システム１Ａ、マイコンチップ２０Ａのように、符号の末尾に「Ａ」を付して説明する。上述した実施形態と同等の構成については、同じ符号を付してその説明を省略する。また、以下では、マイコンチップ２０Ａを例に説明するが、サーバ装置４０Ａでも同様である。
【００７７】
マイコンチップ２０Ａは、マイコン制御部２１と、マイコン通信部２５と、マイコン記憶部２６Ａとを備える。
【００７８】
図８は、マイコン記憶部２６Ａに記憶される情報の構成例を示す図である。領域Ｅ１〜Ｅ３は、図４と同様であるため、その説明を省略する。図７に示す通り、本実施形態では、マイコン記憶部２６Ａのファームウェアの領域Ｅ３にデータＤ１〜Ｄ３、プログラムＰ１、Ｐ２が記憶される。
【００７９】
ファームウェアの書き換える権限を有する管理サーバは、マイコンチップ２０Ａとの相互認証が完了した後、マイコンチップ２０Ａのファームウェアの内容を、個別鍵の生成に用いられるプログラムを含まないものに更新させる。具体的には、管理サーバは、暗号化した更新後のファームウェア（個別鍵の生成に用いられるプログラムを含まないもの）をマイコンチップ２０Ａに送信する。マイコンチップ２０Ａは、暗号化された更新後のファームウェアを復号して領域Ｅ３に書込む。
【００８０】
以上、説明したように、第２の実施形態の通信システム１では、マイコンチップ２０Ａのファームウェアの書き換える権限を有する管理サーバを備える。管理サーバは、マイコンチップ２０Ａによる相互認証が完了した後に、マイコンチップ２０Ａのファームウェアを、少なくともマスタ鍵又は個別鍵生成プログラムを含まないものに更新する。これにより、第２の実施形態の通信システム１では、上述した効果と同様の効果を奏する。
【００８１】
（第３の実施形態）
次に、第３の実施形態について説明する。本実施形態では、個別鍵を更新させる点において、上述した実施形態と相違する。以下の説明において、本実施形態が上述した実施形態と相違する構成については、通信システム１Ｂ、マイコンチップ２０Ｂのように、符号の末尾に「Ｂ」を付して説明する。上述した実施形態と同等の構成については、同じ符号を付してその説明を省略する。また、以下では、マイコンチップ２０Ｂが個別鍵を更新する場合を例に説明するが、サーバ装置４０Ｂが個別鍵を更新する場合も同様である。
【００８２】
マイコンチップ２０Ｂは、マイコン制御部２１Ｂと、マイコン通信部２５と、マイコン記憶部２６とを備える。マイコン制御部２１Ｂは、ＩＤ生成部２２と、個別鍵生成部２３Ｂと、マイコン処理部２４Ｂとを備える。
【００８３】
マイコン処理部２４Ｂは、個別鍵を更新するか否かを判定する。例えば、マイコン処理部２４Ｂは、デバイス装置１０がサーバ装置４０Ｂと通信を行う度に個別鍵を更新すると判定する。この場合、個別鍵は、通信ごとにワンタイムで用いられる鍵となる。或いは、マイコン処理部２４Ｂは、所定の期間（例えば、３か月間）が経過した場合に個別鍵を更新すると判定するようにしてもよい。また、マイコン処理部２４Ｂは、サーバ装置４０Ｂや管理サーバから個別鍵を更新する旨の指示を受信した場合に、個別鍵を更新すると判定するようにしてもよい。マイコン処理部２４Ｂは、個別鍵を更新すると判定した場合、個別鍵生成部２３に個別鍵を生成させる。
【００８４】
個別鍵生成部２３Ｂは、マイコン処理部２４Ｂから指示に応じて、個別鍵を更新する。個別鍵生成部２３Ｂは、ＩＤと更新前の個別鍵（以下、旧個別鍵という）とを用いて更新後の個別鍵（以下、新個別鍵という）を生成する。
【００８５】
図９は、通信システム１Ｂにおいて行われる処理の流れを示すシーケンス図である。図９に示すシーケンスは、個別鍵の更新時におけるデバイス利用開始のフェーズに対応する処理の流れを示している。このフェーズは、例えば、図５に示したシーケンス図におけるデバイス利用開始のフェーズ以降に行われる。また、図９のステップＳ４００、Ｓ４０４、Ｓ４０５、Ｓ４０８〜Ｓ４１０に示す処理は、図５のステップＳ１０４、Ｓ１０７、Ｓ１０８、Ｓ１１１〜Ｓ１１３と同じ処理であるため、その説明を省略する。
【００８６】
ステップＳ４０１において、マイコンチップ２０Ｂは、個別鍵生成部２３ＢによりＩＤをパラメータとして個別鍵生成プログラムを実行することにより、旧個別鍵を派生させた新個別鍵を生成する。
ステップＳ４０２において、マイコンチップ２０Ｂは、個別鍵生成部２３Ｂにより生成された新個別鍵を個別鍵記憶部２９に記憶させる。この際、個別鍵記憶部２９に記憶されていた旧個別鍵は、消去される。
ステップＳ４０３において、マイコンチップ２０Ｂからデバイス装置１０に、個別鍵の更新が完了した旨を示す完了通知がなされる。
ステップＳ４０６において、マイコンチップ２０Ｂは、ＩＤをサーバ装置４０Ｂに通知して個別鍵の更新を要求する更新要求を行う。
ステップＳ４０７において、サーバ装置４０Ｂは、マイコンチップ２０Ｂから通知されたＩＤから旧個別鍵を特定し、ＩＤと旧個別鍵とを用いて新個別鍵を生成する。
【００８７】
以上説明したように、第３の実施形態のマイコンチップ２０Ｂでは、個別鍵生成部２３Ｂが、ＩＤと旧個別鍵とＩＤとを用いて、新個別鍵を生成する。これにより、第３の実施形態のマイコンチップ２０Ｂでは、個別鍵を更新することができ、通信をより安全に維持することが可能となる。
【００８８】
なお、本発明における通信システム１（１Ａ）、マイコンチップ２０（２０Ａ、２０Ｂ）、サーバ装置４０（４０Ａ、４０Ｂ）の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行することにより処理を行なってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００８９】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００９０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００９１】
１（１Ａ、１Ｂ）…通信システム、１０…デバイス装置、２０…マイコンチップ、２１…マイコン制御部、２２…ＩＤ生成部、２３…個別鍵生成部、２４…マイコン処理部、２５…マイコン通信部、２６…マイコン記憶部、２７…マスタ鍵記憶部、２８…ＩＤ記憶部、２９…個別鍵記憶部、３０…制御チップ、４０…サーバ装置、４１…サーバ制御部、４３…個別鍵生成部、４４…サーバ処理部、４５…サーバ通信部、４６…サーバ記憶部、４７…マスタ鍵記憶部、４９…個別鍵記憶部、５０…メーカ
【図１】
2020195039.tif 000003
【図２】
2020195039.tif 000004
【図３】
2020195039.tif 000005
【図４】
2020195039.tif 000006
【図５】
2020195039.tif 000007
【図６】
2020195039.tif 000008
【図７】
2020195039.tif 000009
【図８】
2020195039.tif 000010
【図９】
2020195039.tif 000011