(57)【特許請求の範囲】
【請求項１】
プロセッサと、ＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）部と、暗号処理部と、制御部とを備える集積回路であり、
前記暗号処理部は、前記プロセッサによる外部の記憶装置へのデータの書き込み指示が検出されると、前記ＰＵＦ部によって生成されたＰＵＦ鍵により前記データを暗号化して暗号化データを生成し、前記暗号化データを前記記憶装置に書き込み、前記プロセッサによる前記記憶装置からの暗号化データの読み出し指示が検出されると、前記ＰＵＦ鍵によって前記暗号化データを復号して出力し、
前記制御部は、前記暗号処理部の暗号化処理及び復号処理の有効化を制御する制御部であって、前記暗号化処理及び前記復号処理を無効化した状態と、前記暗号化処理だけを有効化した状態と、前記暗号化処理及び前記復号処理を有効化した状態とを切り替えて制御し、
前記記憶装置には、前記ＰＵＦ部に対して前記ＰＵＦ鍵を生成させ、前記ＰＵＦ鍵により初期設定データを暗号化して暗号化設定データを生成し、前記暗号化設定データを前記記憶装置に書き込む製品前設定プログラムが平文の状態で記憶されており、
前記プロセッサは、起動時に前記製品前設定プログラムを実行し、
前記制御部は、前記ＰＵＦ鍵が生成されるまでは前記暗号化処理及び前記復号処理を無効化し、前記ＰＵＦ鍵が生成されると前記暗号化処理を有効化するとともに前記復号処理を無効化する集積回路。
【請求項２】
前記プロセッサは、前記製品前設定プログラムによって前記初期設定データが暗号化された暗号化データが前記記憶装置に書き込まれた後に、前記製品前設定プログラムを前記記憶装置から削除する
請求項１に記載の集積回路。
【請求項３】
前記集積回路は、さらに、更新データ取得部を備え、
前記記憶装置には、対象データが前記ＰＵＦ鍵で暗号化された対象暗号化データと、前記対象データのバージョンに対応する暗号鍵とが記憶されており、
前記更新データ取得部は、前記対象データのバージョンを示すバージョン情報をデータ配信装置に送信し、更新データと前記更新データによって前記対象データを更新した後の前記対象データのバージョンである新バージョンに対応する暗号鍵との組データが、前記バージョン情報が示すバージョンに対応する暗号鍵で暗号化された暗号化組データを取得する
請求項１又は２に記載の集積回路。
【請求項４】
前記暗号処理部は、前記更新データ取得部によって取得された前記暗号化組データを前記バージョン情報が示すバージョンに対応する暗号鍵で復号して前記組データを生成し前記組データに含まれる前記新バージョンに対応する暗号鍵を前記ＰＵＦ鍵で暗号化した暗号鍵を前記記憶装置に書き込む
請求項３に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）技術を用いた集積回路に関する。
【背景技術】
【０００２】
集積回路の個体毎の電子回路の差異を利用してその個体に固有の値を出力するＰＵＦと呼ばれる技術がある。特許文献１には、ＰＵＦによって出力された固有の値を用いてデータを暗号化することが記載されている。ＰＵＦによって出力された固有の値を用いてデータを暗号化することにより、データの安全性を高くすることが可能である。
【０００３】
ＰＵＦ部及び不揮発性記憶領域を有する集積回路がある。この集積回路は、ＰＵＦ部を用いて個体固有の鍵を生成し、生成された鍵を使用して不揮発性記憶領域に暗号化されたデータを記憶する。
指紋認証機能を有する携帯端末等には、指紋認証用の集積回路としてこの集積回路が搭載される。指紋認証用の集積回路は、不揮発性記憶領域に指紋データを暗号化された上で記憶する。外部の装置は、指紋認証用の集積回路との間でチャレンジレスポンス認証を行うことにより、指紋認証を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−０１８２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の集積回路は内部に不揮発性記憶領域を設けることにより、データの安全性を高くしていた。しかし、従来の集積回路は内部に不揮発性記憶領域が備えられているため、記憶領域を大きくすることが困難であった。
この発明は、記憶装置を集積回路の外部に設けつつ、データの安全性を確保できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る集積回路は、
プロセッサと、ＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）部と、暗号処理部とを備える集積回路であり、
前記暗号処理部は、前記プロセッサによる外部の記憶装置へのデータの書き込み指示が検出されると、前記ＰＵＦ部によって発行されたＰＵＦ鍵により前記データを暗号化して暗号化データを生成し、前記暗号化データを前記記憶装置に書き込む。
【発明の効果】
【０００７】
この発明は、プロセッサによる外部の記憶装置へのデータの書き込み指示が検出されると、ＰＵＦ部によって発行されたＰＵＦ鍵によりデータを暗号化して暗号化データを生成し、暗号化データを記憶装置に書き込む。これにより、記憶装置を集積回路の外部に設けても、集積回路の外部に平文状態のデータが出ることがなく、データの安全性を確保できる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るデータ処理装置１の構成図。
【図２】実施の形態１に係る集積回路１０のデータ書き込み時の処理のフローチャート。
【図３】実施の形態１に係る集積回路１０のデータ読み込み時の処理のフローチャート。
【図４】実施の形態２に係るデータ処理装置１の生産システム２の構成図。
【図５】実施の形態２に係る生産システム２の生産時の処理のフローチャート。
【図６】実施の形態２に係る図５の処理によって生産されたデータ処理装置１の起動時の処理のフローチャート。
【図７】実施の形態３に係る更新システム４の構成図。
【図８】実施の形態３に係るデータ処理装置１の構成図。
【図９】実施の形態３に係るデータ配信装置５によって管理されるデータの説明図。
【図１０】実施の形態３に係るデータ処理装置１の不揮発性記憶装置２２に記憶されるデータの説明図。
【図１１】実施の形態３に係る更新システム４の更新処理のフローチャート。
【発明を実施するための形態】
【０００９】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係るデータ処理装置１の構成を説明する。
データ処理装置１は、集積回路１０と、記憶装置２０とを備える。
集積回路１０は、プロセッサ１１と、制御部１２と、暗号処理部１３と、ＰＵＦ部１４とを備える。プロセッサ１１と、制御部１２と、暗号処理部１３と、ＰＵＦ部１４とは、電子回路によって構成される。プロセッサ１１は、制御部１２及び暗号処理部１３と信号線によって接続されている。制御部１２は暗号処理部１３と信号線によって接続されている。制御部１２及び暗号処理部１３は、ＰＵＦ部１４と信号線によって接続されている。
記憶装置２０は、主記憶装置２１と、不揮発性記憶装置２２とを備える。主記憶装置２１は、具体例としては、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。また、不揮発性記憶装置２２は、具体例としては、フラッシュメモリである。主記憶装置２１と不揮発性記憶装置２２との間は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送によってデータ転送がされる。
【００１０】
＊＊＊動作の説明＊＊＊
実施の形態１では、データ処理装置１が既に起動しており、ＰＵＦ部１４によってＰＵＦ鍵が発行され、ＰＵＦ鍵が暗号処理部１３の内部メモリに設定されているものとする。ＰＵＦ鍵は、個体毎の電子回路の差異を利用して得られた集積回路１０に固有の値から生成された鍵である。
【００１１】
図２を参照して、実施の形態１に係る集積回路１０のデータ書き込み時の処理を説明する。
（ステップＳ１１：書き込み指示処理）
プロセッサ１１は、記憶装置２０から実行対象のプログラムを読み出し、実行する。ここで、プログラムの読み込みは、後述するデータ読み込み時の処理によって実現される。
プロセッサ１１は、プログラムを実行して得られたデータを記憶装置２０に書き込む書き込み指示を出力する。
【００１２】
（ステップＳ１２：指示検出処理）
制御部１２は、ステップＳ１１で出力された書き込み指示を検出する。すると、制御部１２は、検出された書き込み指示で記憶装置２０に書き込もうとしているデータの暗号化を暗号処理部１３に指示する。
【００１３】
（ステップＳ１３：暗号化処理）
暗号処理部１３は、ステップＳ１２で暗号化が指示されると、書き込み指示で記憶装置２０に書き込もうとしているデータをＰＵＦ鍵により暗号化して暗号化データを生成する。ここでは、暗号処理部１３は、暗号化には、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）といった共通鍵暗号方式を用いる。
そして、暗号処理部１３は、暗号化データを記憶装置２０の主記憶装置２１に書き込む。その後、主記憶装置２１から不揮発性記憶装置２２へＤＭＡ転送によって暗号化データが転送されるように構成してもよい。
【００１４】
図３を参照して、実施の形態１に係る集積回路１０のデータ読み込み時の処理を説明する。
（ステップＳ２１：読み込み指示処理）
プロセッサ１１は、記憶装置２０からデータの読み込み指示を出力する。
ここで、データは、上述したデータ書き込み時であればプログラムである。データは、プログラムに限らず、実行されるプログラムの処理で要求されたデータの場合もある。
【００１５】
（ステップＳ２２：指示検出処理）
制御部１２は、ステップＳ２１で出力された読み込み指示を検出する。すると、制御部１２は、検出された読み込み指示で記憶装置２０から読み込むデータの復号を暗号処理部１３に指示する。
【００１６】
（ステップＳ２３：復号処理）
暗号処理部１３は、ステップＳ２２で復号が指示されると、読み込み指示で記憶装置２０から読み込もうとしているデータを、主記憶装置２１から読み出す。この際、必要に応じて、不揮発性記憶装置２２から主記憶装置２１へＤＭＡ転送によってデータが転送される。
そして、暗号処理部１３は、読み込まれたデータをＰＵＦ鍵により復号して平文データを生成する。暗号処理部１３は、平文データをプロセッサ１１に出力する。
【００１７】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係るデータ処理装置１では、制御部１２が記憶装置２０にデータを書き込むことを検出すると、暗号処理部１３は、ＰＵＦ鍵でデータを暗号化した上で記憶装置２０に書き込む。これにより、集積回路１０の外部に出力されるデータはＰＵＦ鍵で暗号化されたデータとなる。
そのため、記憶装置２０を集積回路１０の外部に設けても、集積回路１０の外部に平文状態のデータが出ることがなく、データの安全性を確保できる。
【００１８】
また、実施の形態１に係るデータ処理装置１では、暗号処理部１３は、記憶装置２０からデータを読み込むことが検出されると、ＰＵＦ鍵でデータを復号してプロセッサ１１に出力する。
そのため、プロセッサ１１で実行されるプログラムの処理は、暗号化及び復号を考慮する必要がない。
【００１９】
実施の形態２．
実施の形態２では、データ処理装置１の生産及び起動について説明する。実施の形態２では、実施の形態１と同一の点については説明を省略する。
データ処理装置１の生産とは、データ処理装置１の記憶装置２０に初期設定データを設定することである。実施の形態２では、初期設定データは、生産後のデータ処理装置１を制御するための制御プログラムである。
【００２０】
＊＊＊構成の説明＊＊＊
図４を参照して、実施の形態２に係るデータ処理装置１の生産システム２の構成を説明する。
生産システム２は、生産対象のデータ処理装置１と、生産装置３とを備える。生産対象のデータ処理装置１と、生産装置３とは、通信路を介して接続されている。
生産装置３は、コンピュータである。生産装置３は、生産対象のデータ処理装置１の記憶装置２０に初期設定データを設定する装置である。
【００２１】
＊＊＊動作の説明＊＊＊
実施の形態２では、暗号処理部１３による暗号化処理及び復号処理の有効化を制御部１２が制御する。具体的には、制御部１２は、暗号化ＥＮＡＢＬＥ信号を暗号処理部１３に出力することにより暗号化処理を有効化し、復号ＥＮＡＢＬＥ信号を暗号処理部１３に出力することにより復号処理を有効化する。暗号化ＥＮＡＢＬＥ信号が出力されていない場合には、暗号化処理は無効化され、復号ＥＮＡＢＬＥ信号が出力されていない場合には、復号処理は無効化される。
つまり、暗号化ＥＮＡＢＬＥ信号が出力されている場合には、データが暗号化された上で記憶装置２０に書き込まれ、暗号化ＥＮＡＢＬＥ信号が出力されていない場合には、データが平文のまま記憶装置２０に書き込まれる。また、復号ＥＮＡＢＬＥ信号が出力されている場合には、読み出されたデータが復号されて出力され、復号ＥＮＡＢＬＥ信号が出力されていない場合には、読み出されたデータがそのまま出力される。
ここで、制御部１２は、暗号化処理を有効化している場合にのみ、復号処理を有効化できるように構成されている。
【００２２】
図５を参照して、実施の形態２に係る生産システム２の生産時の処理を説明する。
（ステップＳ３１：製品前設定プログラム設定処理）
生産装置３は、平文の初期設定データと、平文の製品後初期設定プログラムとをデータ処理装置１の記憶装置２０の不揮発性記憶装置２２に書き込む。
また製品前設定プログラムが平文の状態でデータ処理装置１の不揮発性記憶装置２２に予め記憶される。製品前設定プログラムは、製品化前の初期設定を行うためのプログラムであり、集積回路１０に対してその集積回路１０に固有のＰＵＦ鍵を発行させ、ＰＵＦ鍵により入力されたデータを暗号化して暗号化データを生成し、暗号化データを記憶装置２０に書き込む。製品前設定プログラムは、初期設定完了後、プロセッサ１１により削除するように予め制御されている。
初期設定データは、上述した通り、生産後のデータ処理装置１を制御するための制御プログラムである。制御プログラムには、ブートローダと、ファームウェアと、アプリケーションプログラムとが含まれている。なお、初期設定データに制御プログラムの処理に必要なデータが含まれていてもよい。
【００２３】
（ステップＳ３２：製品前設定プログラム実行処理）
生産装置３は、データ処理装置１の不揮発性記憶装置２２に記憶された製品前設定プログラムの実行を集積回路１０に指示する。すると、集積回路１０のプロセッサ１１は、不揮発性記憶装置２２に記憶された製品前設定プログラムを読み出して実行する。
具体的には、プロセッサ１１は、製品前設定プログラムの読み込み指示を出力して、製品前設定プログラムを取得する。つまり、図３を参照して説明した処理が実行され、製品前設定プログラムが取得される。なお、この時点では、初期段階であり制御部１２は、暗号ＥＮＡＢＬＥ及び復号ＥＮＡＢＬＥ信号を出力していないため、暗号化処理及び復号処理は無効化されている。したがって、暗号処理部１３は、読み出された製品前設定プログラムに対して復号処理を行わず、そのままプロセッサ１１に出力する。製品前設定プログラムは平文で記憶されているため、プロセッサ１１は平文の製品前設定プログラムを取得する。そして、プロセッサ１１は、取得された製品前設定プログラムを実行する。
製品前設定プログラムが実行されると、製品前設定プログラムの制御に従い以下のステップＳ３２１からステップＳ３２３の処理が実行される。
【００２４】
（ステップＳ３２１：初期化処理）
集積回路１０のリセット信号が解除され、プロセッサ１１が初期化され、ＰＵＦ部１４が起動する。ＰＵＦ部１４は起動すると、ＰＵＦ鍵を生成して、暗号処理部１３に出力する。暗号処理部１３は、ＰＵＦ鍵を内部メモリに設定する。暗号処理部１３は、ＰＵＦ鍵の補助情報を生成して、平文のままの補助情報を記憶装置２０の主記憶装置２１に書き込む。この際、主記憶装置２１から不揮発性記憶装置２２へＤＭＡ転送によって補助情報が転送される。
補助情報は、ＰＵＦ部１４がＰＵＦ鍵を生成する度に、同じＰＵＦ鍵が生成されるようにするための情報である。補助情報は、具体例としては、誤り訂正符号である。
【００２５】
（ステップＳ３２２：第１有効化処理）
プロセッサ１１は、制御部１２に対して、暗号化処理を有効化するとともに復号処理を無効化する。
具体的には、制御部１２は、復号処理を有効にする復号ＥＮＡＢＬＥ信号を暗号処理部１３に出力せず、暗号化処理を有効化する暗号化ＥＮＡＢＬＥ信号だけを暗号処理部１３に出力する。これにより、暗号処理部１３は、記憶装置２０にデータを書き込む際に暗号化処理は行うが、記憶装置２０からデータを読み込んだ際に復号処理は行わない状態になる。
【００２６】
（ステップＳ３２３：初期設定データ設定処理）
プロセッサ１１は、不揮発性記憶装置２２に記憶された初期設定データの読み込み指示を出力して、初期設定データを取得する。つまり、図３を参照して説明した処理が実行され、初期設定データが取得される。ここでは、復号ＥＮＡＢＬＥ信号は出力され、復号処理は無効化されている。したがって、暗号処理部１３は、読み出された初期設定データに対して復号処理を行わず、そのままプロセッサ１１に出力する。初期設定データは平文で記憶されているため、プロセッサ１１は平文の初期設定データを取得する。
次に、プロセッサ１１は、初期設定データを記憶装置２０に書き込む書き込み指示を出力する。すると、図２を参照して説明した処理が実行され、初期設定データが記憶装置２０に書き込まれる。ここでは、暗号化ＥＮＡＢＬＥ信号は出力され、暗号化処理は有効化されている。したがって、暗号処理部１３は、初期設定データをＰＵＦ鍵で暗号化して暗号化設定データを生成し、暗号化設定データを主記憶装置２１に書き込む。その後、主記憶装置２１から不揮発性記憶装置２２へＤＭＡ転送によって暗号化設定データが転送される。
【００２７】
（ステップＳ３３：製品前設定プログラム削除処理）
プロセッサ１１は、不揮発性記憶装置２２に記憶された製品前設定プログラムを削除する。
【００２８】
図６を参照して、図５の処理によって生産されたデータ処理装置１の起動時の処理を説明する。
（ステップＳ４１：製品後初期設定プログラム実行処理）
集積回路１０のプロセッサ１１は、不揮発性記憶装置２２に記憶された製品後初期設定プログラムを読み出して実行する。
具体的には、プロセッサ１１は、製品後初期設定プログラムの読み込み指示を出力して、製品後初期設定プログラムを取得する。つまり、図３を参照して説明した処理が実行され、製品後初期設定プログラムが取得される。なお、この時点では、制御部１２は、暗号ＥＮＡＢＬＥ信号及び復号ＥＮＡＢＬＥ信号を出力していないため、暗号化処理及び復号処理は無効化されている。したがって、暗号処理部１３は、読み出された製品後初期設定プログラムに対して復号処理を行わず、そのままプロセッサ１１に出力する。製品後初期設定プログラムは平文で記憶されているため、プロセッサ１１は平文の製品後初期設定プログラムを取得する。そして、プロセッサ１１は、取得された製品後初期設定プログラムを実行する。
製品後初期設定プログラムが実行されると、製品後初期設定プログラムの制御に従い以下のステップＳ４１１及びステップＳ４１２の処理が実行される。
【００２９】
（ステップＳ４１１：初期化処理）
集積回路１０のリセット信号が解除され、プロセッサ１１が初期化され、ＰＵＦ部１４が起動する。プロセッサ１１は、補助情報の読み出し指示を出力して、補助情報を取得する。つまり、図３を参照して説明した処理が実行され、補助情報が取得される。製品後初期設定プログラムと同様に、補助情報は平文で記憶されており、プロセッサ１１は平文の補助情報を取得する。そして、プロセッサ１１は、制御部１２を介して補助情報をＰＵＦ部１４に設定する。ＰＵＦ部１４は、補助情報を用いてＰＵＦ鍵を生成して、暗号処理部１３に出力する。補助情報を用いているため、生成されたＰＵＦ鍵は、図５のステップＳ３２１で生成されたＰＵＦ鍵と同一になる。暗号処理部１３は、ＰＵＦ鍵を内部メモリに設定する。
【００３０】
（ステップＳ４１２：第２有効化処理）
制御部１２は、暗号化処理及び復号処理を有効化する。
具体的には、制御部１２は、暗号化ＥＮＡＢＬＥ信号及び復号ＥＮＡＢＬＥ信号を暗号処理部１３に出力する。これにより、暗号処理部１３は、記憶装置２０にデータを書き込む際に暗号化処理は行うとともに、記憶装置２０からデータを読み込んだ際に復号処理は行う状態になる。
【００３１】
（ステップＳ４２：制御プログラム実行処理）
集積回路１０のプロセッサ１１は、不揮発性記憶装置２２に記憶された制御プログラムを読み出して実行する。制御プログラムは、暗号化設定データとして不揮発性記憶装置２２に記憶されている。
具体的には、プロセッサ１１は、制御プログラムの読み込み指示を出力して、制御プログラムを取得する。つまり、図３を参照して説明した処理が実行され、制御プログラムが取得される。なお、この時点では、制御部１２は、暗号ＥＮＡＢＬＥ及び復号ＥＮＡＢＬＥ信号を出力しているため、暗号化処理及び復号処理は有効化されている。したがって、暗号処理部１３は、読み出された暗号化設定データに対して復号処理を行い平文にした上で、プロセッサ１１に出力する。これにより、プロセッサ１１は平文の制御プログラムを取得する。そして、プロセッサ１１は、取得された制御プログラムを実行する。
制御プログラムが実行されると、ブートローダが起動され、ファームウェアが起動され、アプリケーションプログラムが実行される。
【００３２】
＊＊＊実施の形態２の効果＊＊＊
以上のように、実施の形態２に係る生産システム２では、初期設置プログラムにより、暗号処理部１３の暗号化処理及び復号処理の有効化を制御して、初期設定データをＰＵＦ鍵により暗号化した上で記憶装置２０に書き込む。これにより、初期設定データが漏洩することを防止できる。特に、初期設定データはＰＵＦ鍵で暗号化されているため、集積回路１０は、初期設定データを他のデータと同様に扱うことが可能である。
【００３３】
また、実施の形態２に係る生産システム２では、制御部１２は、暗号化処理を有効化している場合にのみ、復号処理を有効化できるように構成されている。これにより、リバースエンジニアリング等により、記憶装置２０に記憶されたデータを復号し平文にして、暗号化することなく平文のまま外部の装置に書き込むといったことが困難になる。
【００３４】
実施の形態３．
実施の形態３は、記憶装置２０に記憶された対象データをリモート更新する点が実施の形態１，２と異なる。実施の形態３では、この異なる点を説明して、同一の点については説明を省略する。
【００３５】
＊＊＊構成の説明＊＊＊
図７を参照して、実施の形態３に係る更新システム４の構成を説明する。
更新システム４は、更新データの配信先装置となる１つ以上のデータ処理装置１と、データ配信装置５とを備える。更新データの配信先装置となるデータ処理装置１とデータ配信装置５とは、通信路を介して接続されている。
データ配信装置５は、コンピュータである。データ配信装置５は、データ処理装置１の記憶装置２０に記憶された対象データを更新するための更新データを配信する装置である。
【００３６】
図８を参照して、実施の形態３に係るデータ処理装置１の構成を説明する。
データ処理装置１は、集積回路１０が更新データ取得部１５を備える点が図１に示すデータ処理装置１と異なる。更新データ取得部１５は、電子回路によって構成される。更新データ取得部１５は、プロセッサ１１と信号線を介して接続されている。
なお更新データ取得部１５は、ソフトウェアにより構成してもよい。
【００３７】
＊＊＊動作の説明＊＊＊
図９を参照して、データ配信装置５によって管理されるデータを説明する。
データ配信装置５は、バージョン毎に対応する暗号鍵を示す暗号鍵リストを管理する。暗号鍵はＰＵＦ鍵とは異なる鍵である。図９では、暗号鍵リストは、バージョン１からバージョンｎそれぞれについて、対応する暗号鍵を管理している。
また、データ配信装置５は、最新の更新データと、最新の更新データによって更新された後の対象データのバージョンに対応する暗号鍵との組である組データを管理する。図９では、組データは、最新の更新データｎと、更新データｎによって更新された後の対象データのバージョンｎに対応する暗号鍵ＥＫ（ｎ）との組である。
【００３８】
図１０を参照して、データ処理装置１の不揮発性記憶装置２２に記憶されるデータを説明する。
不揮発性記憶装置２２には、ＰＵＦ鍵で暗号化された上で対象データが記憶されている。また、不揮発性記憶装置２２には、対象データのバージョンに対応する暗号鍵がＰＵＦ鍵で暗号化された上で記憶されている。図１０では、対象データはバージョンｖであり、不揮発性記憶装置２２には暗号鍵ＥＫ（ｖ）がＰＵＦ鍵で暗号化された上で記憶されている。
対象データは、具体例としては、ファームウェアである。
【００３９】
図１１を参照して、実施の形態３に係る更新システム４の更新処理を説明する。
ここでは、図９に示すデータがデータ配信装置５によって管理されており、図１０に示すデータがデータ処理装置１の不揮発性記憶装置２２に記憶されているとする。また、データ処理装置１は、暗号化処理及び復号処理が有効化されているとする。
【００４０】
（ステップＳ５１：組データ取得処理）
データ配信装置５は、更新データｎ＋１と暗号鍵ＫＥ（ｎ＋１）との組である新しい組データを取得する。
具体的には、更新データの管理者によって更新データｎ＋１と暗号鍵ＫＥ（ｎ＋１）との組である新しい組データが作成される。そして、更新データの管理者によって、１つ前のバージョンｎに対応する暗号鍵ＥＫ（ｎ）で新しい組データが暗号化されて暗号化組データが生成され、暗号化組データが記憶媒体に書き込まれる。データ配信装置５は、暗号化組データを記憶媒体から読み出すことにより取得する。
【００４１】
（ステップＳ５２：管理データ更新処理）
データ配信装置５は、バージョンｎに対応する暗号鍵ＥＫ（ｎ）を暗号鍵リストから取得し、暗号鍵ＥＫ（ｎ）で暗号化組データを復号する。データ配信装置５は、復号して得られた更新データｎ＋１と暗号鍵ＫＥ（ｎ＋１）との組である新しい組データにより、管理している組データを更新する。また、データ配信装置５は、復号して得られた暗号鍵ＫＥ（ｎ＋１）を、バージョンｎ＋１に対応する暗号鍵として暗号鍵リストに加える。
【００４２】
更新データを配信する各データ処理装置１を対象としてステップＳ５３からステップＳ５５の処理が実行される。
【００４３】
（ステップＳ５３：更新データ要求処理）
対象のデータ処理装置１では、更新データ取得部１５は、記憶装置２０に記憶された対象データのバージョンｖを示すバージョン情報をデータ配信装置５に送信して、更新データの配信を要求する。
【００４４】
（ステップＳ５４：更新データ配信処理）
データ配信装置５は、ステップＳ５３で送信されたバージョン情報が示すバージョンｖに対応する暗号鍵ＥＫ（ｖ）を暗号鍵リストから取得する。データ配信装置５は、管理している組データを暗号鍵ＥＫ（ｖ）で暗号化して暗号化組データを生成し、暗号化組データを対象のデータ処理装置１に配信する。
【００４５】
（ステップＳ５５：データ更新処理）
対象のデータ処理装置１では、プロセッサ１１は、不揮発性記憶装置２２から暗号鍵ＥＫ（ｖ）及び対象データの読み込み指示を出力して、暗号鍵ＥＫ（ｖ）及び対象データを取得する。つまり、図３に示す処理が実行され、暗号鍵ＥＫ（ｖ）及び対象データが取得される。ここでは、復号処理が有効化されているため、プロセッサ１１はＰＵＦ鍵により復号された暗号鍵ＥＫ（ｖ）及び対象データを取得する。プロセッサ１１は、取得された暗号鍵ＥＫ（ｖ）及び対象データを更新データ取得部１５に出力する。
更新データ取得部１５は、ステップＳ５４で配信された暗号化組データを暗号鍵ＥＫ（ｖ）で復号して、組データを生成する。更新データ取得部１５は、組データに含まれる更新データｎ＋１で対象データを更新する。これにより、対象データのバージョンがｎ＋１になる。プロセッサ１１は、バージョンｎ＋１の対象データ及び暗号鍵ＥＫ（ｎ＋１）を記憶装置２０に書き込む書き込み指示を出力する。すると、図２を参照して説明した処理が実行され、バージョンｎ＋１の対象データ及び暗号鍵ＥＫ（ｎ＋１）が記憶装置２０に書き込まれる。ここでは、暗号化処理は有効化されているため、バージョンｎ＋１の対象データ及び暗号鍵ＥＫ（ｎ＋１）がＰＵＦ鍵で暗号化された上で記憶装置２０に書き込まれる。なお、ここでは、バージョンｖの対象データがバージョンｎ＋１の対象データによって上書きされ、暗号鍵ＥＫ（ｖ）が暗号鍵ＥＫ（ｎ＋１）によって上書きされるとする。
【００４６】
＊＊＊実施の形態３の効果＊＊＊
以上のように、実施の形態３に係る更新システム４は、更新データと更新データ配信用の暗号鍵とを組にして、配信先における対象データのバージョンに対応する暗号鍵で暗号化して配信する。これにより、更新データの配信のためにＰＵＦ鍵が漏洩の危険にさらされず、かつ、更新データの配信のために管理する暗号鍵の数が不要に増えることがない。
【００４７】
なお、データ処理装置１では、データはＰＵＦ鍵で暗号化して管理される。そのため、データ配信装置５が各データ処理装置１のＰＵＦ鍵を管理し、配信先のデータ処理装置１のＰＵＦ鍵で更新データを暗号化した上で配信するという方法が考えられる。しかし、この方法では、データ処理装置１のＰＵＦ鍵を集積回路１０の外部に取り出すことになり、ＰＵＦ鍵が漏洩の危険にさらされてしまう。また、更新データの配信先のデータ処理装置１の数が増えると、管理するＰＵＦ鍵の数も増えてしまう。
【００４８】
＊＊＊他の構成＊＊＊
＜変形例１＞
データ配信装置５は、暗号鍵リスト及び組データをデータ処理装置１を用いて管理してもよい。これにより、データ配信装置５は、暗号鍵リスト及び組データを安全に管理することが可能になる。
なお、暗号鍵リスト及び組データを管理するデータ処理装置１は、配信先装置となるデータ処理装置１とは別のデータ処理装置１である。
【００４９】
＜変形例２＞
実施の形態３では、バージョンｖの対象データをバージョンｎ＋１に更新するためには、更新データｎ＋１だけがあればよかった。しかし、更新データが累積性を有する場合には、バージョンｖの対象データをバージョンｎ＋１に更新するためには、バージョンｖよりも後の各更新データが必要になる。つまり、更新データｖ＋１，ｖ＋２，．．．，更新データｎ，更新データｎ＋１が必要になる。
この場合には、データ配信装置５は、バージョン毎に対応する更新データを管理しておく。そして、必要となる全ての更新データと、最新の暗号鍵との組を暗号化して配信すればよい。バージョンｖの対象データをバージョンｎ＋１に更新する場合には、データ配信装置５は、更新データｖ＋１，更新データｖ＋２，．．．，更新データｎ，更新データｎ＋１と、暗号鍵ＥＫ（ｎ＋１）との組を、暗号鍵ＥＫ（ｖ）で暗号化して配信すればよい。
【００５０】
＜変形例３＞
あるバージョンｘよりも前の対象データを有するデータ処理装置１がないこと分かる場合には、データ配信装置５は、バージョンｘよりも前のバージョンに対応する暗号鍵を削除してもよい。
【００５１】
＜変形例４＞
実施の形態３では、データ処理装置１の更新データ取得部１５がバージョン情報をデータ配信装置５に送信するとした。しかし、データ配信装置５が各データ処理装置１のバージョン情報を管理してもよい。データ配信装置５が更新データを配信することにより、データ処理装置１の対象データが更新される。したがって、データ配信装置５は各データ処理装置１における対象データのバージョンを特定することが可能である。
【００５２】
以上、この発明の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか１つ又はいくつかを部分的に実施してもよい。なお、この発明は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００５３】
１  データ処理装置、２  生産システム、３  生産装置、４  更新システム、５  データ配信装置、１０  集積回路、１１  プロセッサ、１２  制御部、１３  暗号処理部、１４  ＰＵＦ部、１５  更新データ取得部、２０  記憶装置、２１  主記憶装置、２２  不揮発性記憶装置。
【図１】
0006987112.tif 000002
【図２】
0006987112.tif 000003
【図３】
0006987112.tif 000004
【図４】
0006987112.tif 000005
【図５】
0006987112.tif 000006
【図６】
0006987112.tif 000007
【図７】
0006987112.tif 000008
【図８】
0006987112.tif 000009
【図９】
0006987112.tif 000010
【図１０】
0006987112.tif 000011
【図１１】
0006987112.tif 000012