(57)【特許請求の範囲】
【請求項１】
更新可能なシステムソフトウェアに従って処理を行うシステムソフトウェア部と、
書き換え不可能なセキュアソフトウェアに従って処理を行うセキュアソフトウェア部と、
前記セキュアソフトウェア部のみがアクセス可能な専用記憶部とを備え、
前記システムソフトウェア部は、ネットワークを介して接続された外部装置との間で予め登録された第１の鍵を用いて第１の認証処理を行い、
前記セキュアソフトウェア部は、前記システムソフトウェアが所定の健全性条件を満たしているか否かを判定し、
前記専用記憶部は、第２の鍵を記憶し、
前記システムソフトウェア部は、前記第１の鍵を再登録するための再登録処理を行う場合に、前記セキュアソフトウェア部に前記第２の鍵の読み出しを要求するための読出要求処理を行い、
前記セキュアソフトウェア部は、前記読出要求処理を行った前記システムソフトウェアが前記健全性条件を満たしている場合に、前記第２の鍵を用いて検証用データを生成し、
前記システムソフトウェア部は、前記検証用データを用いて前記外部装置との間で行われる第２の認証処理が成功した場合に、前記再登録処理を行う、
情報処理端末。
【請求項２】
前記システムソフトウェアが前記健全性条件を満たしていると所定時間以上判定されない場合に、前記セキュアソフトウェア部に前記システムソフトウェアの更新を含む起動処理を実行させる再起動制御部を更に備える、
請求項１に記載の情報処理端末。
【請求項３】
前記セキュアソフトウェア部は、前記健全性条件が満たされていると判定した場合にリセット信号を前記再起動制御部に出力し、
前記再起動制御部は、前記所定時間が経過するまでの期間に前記リセット信号が入力されない場合に前記セキュアソフトウェア部に前記起動処理を実行させる、
請求項２に記載の情報処理端末。
【請求項４】
初回起動時に前記情報処理端末の識別情報、前記第１の鍵、及び前記第２の鍵を含む情報を前記外部装置に登録する初期登録処理を行う初期登録部を更に備える、請求項１に記載の情報処理端末。
【請求項５】
前記第２の鍵は、前記初期登録処理の実行時に生成され、前記専用記憶部に記憶される、
請求項４に記載の情報処理端末。
【請求項６】
所定の制限条件が満たされる場合に、前記システムソフトウェア部による前記読出要求処理の実行を制限する制限部を更に備える、請求項１に記載の情報処理端末。
【請求項７】
前記制限条件は、同一バージョンの前記システムソフトウェアに従って処理を行う前記システムソフトウェア部が前記読出要求処理を所定回数以上実行した場合に満たされる、請求項６に記載の情報処理端末。
【請求項８】
前記健全性条件は、前記システムソフトウェアが最新のバージョンである場合に満たされる、請求項１に記載の情報処理端末。
【請求項９】
前記健全性条件は、前記システムソフトウェアのバージョンが前記外部装置から指定されたバージョンである場合に満たされる、請求項１に記載の情報処理端末。
【請求項１０】
前記システムソフトウェア部は、電力の使用状況を示す使用情報を出力する出力部を備え、
前記外部装置は、前記使用情報に基づいて電力使用量を管理するサーバである、請求項１に記載の情報処理端末。
【請求項１１】
前記システムソフトウェア部、前記セキュアソフトウェア部、及び前記専用記憶部は、組み込みシステムの少なくとも一部を構成し、
前記セキュアソフトウェアは、書き換え不可能な記憶領域に記憶されたＲＯＭモニタである、請求項１に記載の情報処理端末。
【請求項１２】
前記システムソフトウェア部、前記セキュアソフトウェア部、及び前記専用記憶部は、汎用コンピュータを利用して構成され、
前記システムソフトウェア及び前記セキュアソフトウェアは、並列的に実行される互いに独立したオペレーティングシステムである、請求項１に記載の情報処理端末。
【請求項１３】
更新可能なシステムソフトウェアに従って、ネットワークを介して接続された外部装置との間で予め登録された第１の鍵を用いて第１の認証処理を行うステップと、
書き換え不可能なセキュアソフトウェアに従って、前記システムソフトウェアが所定の健全性条件を満たしているか否かを判定するステップと、
前記第１の鍵を再登録するための再登録処理を行う場合に、前記システムソフトウェアから前記セキュアソフトウェアに対して、前記セキュアソフトウェアのみがアクセス可能な専用記憶部に記憶された第２の鍵の読み出しを要求するステップと、
前記セキュアソフトウェアにより、前記第２の鍵の読み出しを要求した前記システムソフトウェアが前記健全性条件を満たしているか否かを判定するステップと、
前記システムソフトウェアが前記健全性条件を満たしている場合に、前記セキュアソフトウェアにより前記第２の鍵を用いて検証用データを生成するステップと、
前記システムソフトウェアにより、前記外部装置との間で前記検証用データを用いて第２の認証処理を行うステップと、
前記第２の認証処理が成功した場合に、前記再登録処理を行うステップと
を含むことを特徴とする情報処理方法。
【請求項１４】
情報処理端末と、前記情報処理端末とネットワークを介して接続された外部装置とを含む情報処理システムであって、
前記情報処理端末は、
更新可能なシステムソフトウェアに従って処理を行うシステムソフトウェア部と、
書き換え不可能なセキュアソフトウェアに従って処理を行うセキュアソフトウェア部と、
前記セキュアソフトウェア部のみがアクセス可能な専用記憶部とを備え、
前記システムソフトウェア部は、ネットワークを介して接続された外部装置との間で予め登録された第１の鍵を用いて第１の認証処理を行い、
前記セキュアソフトウェア部は、前記システムソフトウェアが所定の健全性条件を満たしているか否かを判定し、
前記専用記憶部は、第２の鍵を記憶し、
前記システムソフトウェア部は、前記第１の鍵を再登録するための再登録処理を行う場合に、前記セキュアソフトウェア部に前記第２の鍵の読み出しを要求するための読出要求処理を行い、
前記セキュアソフトウェア部は、前記読出要求処理を行った前記システムソフトウェアが前記健全性条件を満たしている場合に、前記第２の鍵を用いて検証用データを生成し、
前記システムソフトウェア部は、前記検証用データを用いて前記外部装置との間で行われる第２の認証処理が成功した場合に、前記再登録処理を行う
ことを特徴とする情報処理システム。
【請求項１５】
１つの前記外部装置に対して複数の前記情報処理端末が前記第１の処理を行い、
前記外部装置は、複数の前記情報処理端末の識別情報毎に前記第１の鍵及び前記第２の鍵を管理する情報を記憶する記憶部を備える
ことを特徴とする請求項１４に記載の情報処理システム。
【請求項１６】
前記システムソフトウェア部は、電力の使用状況を示す使用情報を出力する出力部を備え、
前記外部装置は、前記使用情報に基づいて電力使用量を管理するサーバである
ことを特徴とする請求項１５に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理端末、情報処理方法、及び情報処理システムに関する。
【背景技術】
【０００２】
インターネット等のネットワークを介して情報の送受信を行う情報処理システムにおいて、通信相手間で予め登録された秘密鍵を用いた認証処理が利用されている。
【０００３】
例えば、検証鍵とアプリＩＤに基づいて更新される署名鍵とを用いた署名方式において、署名鍵をアプリケーション単位、バージョン単位等の区分毎に更新できるようにするために、アプリＩＤを区分単位で更新し、署名鍵を更新するための差分情報を生成し、更新後のアプリＩＤと差分情報とに基づいて署名鍵を更新する装置がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２３０３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
認証処理に用いられる秘密鍵は、常に漏洩、紛失等の危険に晒されている。秘密鍵が漏洩等した場合には、新たな秘密鍵を再登録する必要がある。秘密鍵の漏洩は、多くの場合、情報処理端末を制御するシステムソフトウェア（ファームウェア）の脆弱性に起因する。システムソフトウェアが改ざん等の被害を受けている可能性がある場合には、秘密鍵の再登録を行っても機密性の完全な回復がなされたとは認められない。例えば、複数の情報処理端末がサーバと接続するシステムにおいて、情報処理端末に記憶されているシステムソフトウェアが改ざんされている場合には、情報処理端末の識別情報も改ざんされている可能性があるため、サーバは秘密鍵の再登録を行うべき情報処理端末を完全には特定できない。このような場合、作業員が問題の情報処理端末の設置場所まで出向いて作業する必要が生じる。このような作業は、特に情報処理端末が多数ある場合等において、労力、コスト、処理時間等の面で大きな負担となる。
【０００６】
そこで、以下の実施形態では、秘密鍵を再登録する際に大きな負担を必要とすることなく確実に機密性を回復できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の情報処理端末は、更新可能なシステムソフトウェアに従って処理を行うシステムソフトウェア部と、書き換え不可能なセキュアソフトウェアに従って処理を行うセキュアソフトウェア部と、前記セキュアソフトウェア部のみがアクセス可能な専用記憶部とを備え、前記システムソフトウェア部は、ネットワークを介して接続された外部装置との間で予め登録された第１の鍵を用いて第１の認証処理を行い、前記セキュアソフトウェア部は、前記システムソフトウェアが所定の健全性条件を満たしているか否かを判定し、前記専用記憶部は、第２の鍵を記憶し、前記システムソフトウェア部は、前記第１の鍵を再登録するための再登録処理を行う場合に、前記セキュアソフトウェア部に前記第２の鍵の読み出しを要求するための読出要求処理を行い、前記セキュアソフトウェア部は、前記読出要求処理を行った前記システムソフトウェアが前記健全性条件を満たしている場合に、前記第２の鍵を用いて検証用データを生成し、前記システムソフトウェア部は、前記検証用データを用いて前記外部装置との間で行われる第２の認証処理が成功した場合に、前記再登録処理を行うことを特徴とする。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態の情報処理端末が用いられる情報処理システムを例示する図。
【図２】第１の実施形態の情報処理端末のハードウェア構成を例示する図。
【図３】第１の実施形態の情報処理端末の機能的構成を例示する図。
【図４】第１の実施形態に係る情報処理端末による処理を例示するフローチャート。
【図５】第１の実施形態に係る情報処理システムの構成要素間における処理を例示するフローチャート。
【図６】第１の実施形態に係る情報処理端末に内蔵されるＣＰＵの構成を例示する図。
【図７】図６に示す例に係る不揮発性メモリの構成を例示する図。
【図８】図７に示す例に係る情報処理端末の機能的構成を例示する図。
【図９】図８に示す例における再起動処理を例示するフローチャート。
【図１０】第２の実施形態に係る情報処理端末の構成を例示する図。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
図１は、第１の実施形態に係る情報処理端末１１が用いられる情報処理システム１を例示する図である。情報処理システム１は、複数の情報処理端末１１、アプリサーバ（外部装置）１２、及びネットワーク１３を含んでいる。各情報処理端末１１とアプリサーバ１２とは、インターネット等のネットワーク１３を介して接続されている。
【００１０】
好適な情報処理端末１１の例として、いわゆるスマートメータが想定される。スマートメータとは、通信機能、機器の使用状況（例えば、電力使用量等）を伝達する機能等を含む機器である。スマートメータは、例えば、需要家の住居等の施設に設置され、電力会社との間でデータの送受信を可能にする。また、スマートメータは、省エネルギー等を目的として施設内の機器を制御可能な管理システムと連動するものであってもよい。この場合、管理システムの一部又は全部を情報処理端末１１と捉えることもできる。なお、情報処理端末１１は、これらのものに限定されるものではない。
【００１１】
アプリサーバ１２は、ＣＰＵ等の制御装置、ＲＯＭ、ＲＡＭ等の記憶装置、キーボード、マウス、ディスプレイ等の入出力装置等から構成されるコンピュータを利用して構成される。制御装置は、記憶装置に記憶されたプログラムに従って所定の処理を実行する。アプリサーバ１２は、後述する認証処理を行って複数の情報処理端末１１と接続し、各情報処理端末１１との間で情報の送受信を行う。アプリサーバ１２としては、例えば、各情報処理端末１１が取得した取得情報を受信し、取得情報を情報処理端末１１毎に集計、加工等するサーバが挙げられる。取得情報としては、例えば、電力使用量、ガス使用量、水道使用量、電気機器の使用状況等が挙げられる。
【００１２】
ネットワーク１３は、インターネットプロトコルを利用して通信を実現する。ネットワーク１３は、各情報処理端末１１と無線リンクを介して接続された無線アクセスポイントを含んでもよい。また、ネットワーク１３は、アプリサーバ１２とは異なる機能を実現する他のサーバを含んでもよい。他のサーバとしては、例えば情報処理端末１１のシステムソフトウェア（ファームウェア）の更新処理を管理する管理サーバ等が挙げられる。
【００１３】
図２は、第１の実施形態に係る情報処理端末１１のハードウェア構成を例示する図である。本例に係る情報処理端末１１は、制御演算ユニット２１、メモリ２２、入出力（Ｉ／Ｏ）ポート２３、及びバス２４を含む。
【００１４】
制御演算ユニット２１は、メモリ２２に記憶されたプログラムに従って所定の制御処理及び演算処理を実行する回路である。
【００１５】
メモリ２２は、ＲＯＭ、フラッシュメモリ等の不揮発性メモリであって、メモリ２２は、システムソフトウェア３１、ＲＯＭモニタ（セキュアソフトウェア）３２、秘密鍵３３、及び再登録鍵３４を記憶している。
【００１６】
システムソフトウェア３１及びＲＯＭモニタ３２は、上記制御演算ユニット２１を制御するプログラムである。システムソフトウェア３１は、情報処理端末１１の全体的な制御を行い、アプリサーバ１２との認証処理、通常運用時における処理（例えば、計測処理、通信処理等）、秘密鍵３３の登録処理及び再登録処理、システムソフトウェア３１の更新処理等を制御する。システムソフトウェア３１は、ファームウェアと称される場合がある。ＲＯＭモニタ３２は、情報処理端末１１の起動・再起動処理、システムソフトウェア３１の健全性を判定する処理、起動時におけるシステムソフトウェア３１の更新処理等を制御する。
【００１７】
秘密鍵３３は、通常運用時にアプリサーバ１２との間で行われる認証処理（第１の認証処理）に用いられる鍵情報である。再登録鍵３４は、秘密鍵３３の再登録処理を行う際にアプリサーバ１２との間で行われる認証処理（第２の認証処理）に用いられる鍵情報である。再登録処理とは、情報処理端末１１とアプリサーバ１２とに現在登録されている秘密鍵３３を破棄し、新たな秘密鍵３３を登録する処理である。再登録処理は、主に、現在の秘密鍵３３の漏洩が発覚した場合、秘密鍵３３が紛失された場合、システムソフトウェア３１が悪意あるソフトウェアに攻撃を受けた場合、システムソフトウェア３１に脆弱性が発見された場合等に実行される。
【００１８】
メモリ２２は、書き換え不可領域４１及び専用記憶領域４２を含む。書き換え不可領域４１には、ＲＯＭモニタ３２が記憶されている。専用記憶領域４２は、ＲＯＭモニタ３２による処理の実行時にのみアクセス可能な領域である。専用記憶領域４２には、再登録鍵３４が記憶されている。なお、書き換え不可領域４１を実現する方法として、物理的に書き換え不能な媒体（例えばマスクＲＯＭ）を利用する方法、書き換え可能な媒体（例えばフラッシュ）をアクセス制御する方法等がある。
【００１９】
図３は、第１の実施形態に係る情報処理端末１１の機能的構成を例示する図である。本例に係る情報処理端末１１は、システムソフトウェア部５１及びＲＯＭモニタ部（セキュアソフトウェア部）７１を含む。システムソフトウェア部５１は、上記メモリ２２に記憶されたシステムソフトウェア３１に従って制御演算ユニット２１が処理を行うことによって実現される機能部である。ＲＯＭモニタ部７１は、上記メモリ２２の書き換え不可領域４１に記憶されたＲＯＭモニタ３２に従って制御演算ユニット２１が処理を行うことによって実現される機能部である。
【００２０】
システムソフトウェア部５１は、通信部５２、更新部５３、初期登録部５４、通常認証部５５、及び再登録部５６を含む。
【００２１】
通信部５２は、上記ネットワーク１３と接続し、アプリサーバ１２等との間で情報を送受信する処理を行う。
【００２２】
更新部５３は、システムソフトウェア３１の更新に関する処理を行う。具体的には、更新部５３は、システムソフトウェア３１の現在バージョンの認識、ネットワーク１３に含まれるシステムソフトウェア３１の管理サーバに準備されている最新バージョン又はアプリサーバ１２から指定される指定バージョンの認識、最新バージン又は指定バージョンのシステムソフトウェア３１のダウンロード、ダウンロードしたシステムソフトウェア３１のインストール等の処理を行う。
【００２３】
初期登録部５４は、情報処理端末１１の初回起動時に、秘密鍵３３と再登録鍵３４とを情報処理端末１１とアプリサーバ１２とに登録する処理を行う。初期登録部５４は、秘密鍵生成部６１及び再登録鍵生成部６２を含む。秘密鍵生成部６１は、所定の方法を用いて秘密鍵３３を生成し、これをメモリ２２に記憶する。再登録鍵生成部６２は、所定の方法を用いて再登録鍵３４を生成し、これを専用記憶領域４２に記憶するように、後述するＲＯＭモニタ部７１の読み書き部７３に依頼する。
【００２４】
通常認証部５５は、メモリ２２に記憶されている秘密鍵３３を用いてアプリサーバ１２との間で通常運用時における第１の認証処理を行う。
【００２５】
再登録部５６は、現在の秘密鍵３３を破棄し、新たな秘密鍵３３を生成してこれをメモリ２２に記憶させると共にアプリサーバ１２に再登録させる再登録処理を行う。再登録部５６は、例えばユーザにより秘密鍵３３の再登録を要求する入力操作がなされた場合、システムソフトウェア３１又はＲＯＭモニタ３２により自立的な判断がなされた場合等に再登録処理を行う。自律的な判断とは、例えば秘密鍵３３の有効期限が切れていないか等の判断である。再登録部５６は、読み出し依頼部６５、再登録認証部６６、及び秘密鍵再生成部６７を含む。読み出し依頼部６５は、再登録処理が実行される際に、後述するＲＯＭモニタ部７１の読み書き部７３に対して専用記憶領域４２に記憶されている再登録鍵３４の読み出しを依頼する。再登録認証部６６は、読み出された再登録鍵３４を用いてアプリサーバ１２との間で第２の認証処理を行う。秘密鍵再生成部６７は、上記第２の認証処理が成功した場合に、新たな秘密鍵３３を生成し、これをメモリ２２に記憶すると共にアプリサーバ１２に再登録させる処理を行う。
【００２６】
ＲＯＭモニタ部７１は、判定部７２、読み書き部７３、起動処理部７４、再起動制御部７５、及び制限部７６を含む。
【００２７】
判定部７２は、システムソフトウェア部５１を制御しているシステムソフトウェア３１が健全か否かを判定する処理を行う。具体的には、判定部７２は、システムソフトウェア３１が所定の健全性条件を満たしているか否かを判定する。健全性条件とは、システムソフトウェア３１が健全か否かを判定するための基準となる条件である。例えば、システムソフトウェア３１のバージョンが最新バージョンである場合、アプリサーバ１２から指定された指定バージョンである場合等に、健全性条件は満たされると判定することができる。
【００２８】
読み書き部７３は、システムソフトウェア３１が健全であると判定された場合に、専用記憶領域４２へのアクセスを実行する。換言すれば、読み書き部７３は、システムソフトウェア３１の健全性が確認されなければ、再登録鍵３４の読み出しを行わない。
【００２９】
起動処理部７４は、情報処理端末１１の起動処理を行う。起動処理には、システムソフトウェア３１のバージョンを確認する処理、システムソフトウェア３１を更新する処理等が含まれる。
【００３０】
再起動制御部７５は、起動処理部７４による起動処理の再実行を制御する。再起動制御部７５は、判定部７２によりシステムソフトウェア３１の健全性が所定時間以上確認されない場合に、起動処理部７４による起動処理を強制的に実行させる処理を行う。当該所定時間の計測は、例えばＷＤＴ（Watch  Dog  Timer）回路等を用いて行うことができる。
【００３１】
制限部７６は、システムソフトウェア部５１からの専用記憶領域４２へのアクセス依頼を制限する処理を行う。具体的には、制限部７６は、所定の制限条件が満たされる場合に、システムソフトウェア部５１の読み出し依頼部６５から出力される再登録鍵３４の読出要求信号の読み書き部７３への伝達を停止する。制限条件としては、例えば、同一バージョンのシステムソフトウェア３１に従って処理を行うシステムソフトウェア部５１から読出要求信号が所定回数以上出力された場合等が好適である。例えば、同一バージョンのシステムソフトウェア３１により２回以上読出要求信号が出力された場合に、２回目以降の読出要求信号の読み書き部７３への伝達が遮断される。
【００３２】
図４は、第１の実施形態に係る情報処理端末１１による処理を例示するフローチャートである。情報処理端末１１がネットワーク１３に接続し、ＲＯＭモニタ部７１の起動処理部７４により初めての起動処理が実行されると（Ｓ１１）、システムソフトウェア３１が最新のバージョンに更新される（Ｓ１２）。
【００３３】
その後、システムソフトウェア部５１の初期登録部５４により初期登録処理が実行され（Ｓ１３）、秘密鍵３３が登録され（Ｓ１４）、再登録鍵３４が登録される（Ｓ１５）。すなわち、秘密鍵生成部６１により生成された秘密鍵３３がメモリ２２に記憶されると共に、通信部５２を介してアプリサーバ１２に送信される。また、再登録鍵生成部６２により生成された再登録鍵３４がＲＯＭモニタ部７１を介して専用記憶領域４２に記憶されると共に、通信部５２を介してアプリサーバ１２に送信される。このとき、情報処理端末１１を識別する識別情報（ＩＤ）が秘密鍵３３及び再登録鍵３４と共にアプリサーバ１２に送信される。アプリサーバ１２は、各ＩＤ、秘密鍵３３、及び再登録鍵３４を対応付ける情報を記憶する。
【００３４】
上記初期登録処理の完了後に通常運用が開始される（Ｓ１６）。通常運用時において、秘密鍵３４の再登録が要求されると（Ｓ１７）、ＲＯＭモニタ部７１の判定部７２によりシステムソフトウェア３１は健全か否かが判定される（Ｓ１８）。具体的には、システムソフトウェア部５１の再登録部５６の読み出し依頼部６５が再登録鍵３４の読み出しを依頼する信号を出力し、これに応じてＲＯＭモニタ部７１の判定部７２がシステムソフトウェア３１のバージョンが所定の条件に適合するか否かが判定される。
【００３５】
ステップＳ１８において、システムソフトウェア３１が健全でないと判定された場合（Ｎ）には、システムソフトウェア３１を最新のバージョンに更新し（Ｓ１９）、システムソフトウェア３１が健全であると判定された場合（Ｙ）には、専用記憶領域４２から読み出された再登録鍵３４による認証処理を行い、再登録鍵３４による認証が成功したか否かが判定される（Ｓ２０）。
【００３６】
ステップＳ２０において、再登録鍵３４による認証が失敗した場合（Ｎ）には、秘密鍵３３の再登録処理を中止し（Ｓ２１）、認証が成功した場合（Ｙ）には、秘密鍵３３の再登録処理を実行する（Ｓ２２）。具体的には、秘密鍵再生成部６７により新たな秘密鍵３３が生成され、新たな秘密鍵３３がメモリ２２に記憶されると共にアプリサーバ１２に送信される。
【００３７】
図５は、第１の実施形態に係る情報処理システム１の構成要素間における処理を例示すフローチャートである。システムソフトウェア部５１は、初期登録処理が開始されると（Ｓ５１）、情報処理端末１１に固有の識別情報ＩＤとして［Ｕ１］を生成すると共に、固有の秘密鍵Ｋａとして［Ｋａ１］を生成し（Ｓ５２）、これらをアプリサーバ１２に送信する（Ｓ５３）。このとき、［Ｕ１］，［Ｋａ１］は、情報処理端末１１のメモリ２２内に記憶される。なお、［Ｕ１］，［Ｋａ１］を予めメモリ２２内に記憶しておき、これらを読み出してアプリサーバ１２に送信してもよい。
【００３８】
アプリサーバ１２は、受信した［Ｕ１］及び［Ｋａ１］をアプリサーバ１２内のデータベース８０内に用意されたテーブル１０６に登録する（Ｓ５４）。テーブル１０６は、識別情報ＩＤ、秘密鍵Ｋａ、及び再登録鍵Ｋｒの対応関係を示す。ステップＳ５４の処理により、初期のテーブル１０６に［Ｕ１］，［Ｋａ１］が登録されたテーブル１０６Ａが生成される。
【００３９】
その後、システムソフトウェア部５１は、固有の再登録鍵Ｋｒとして［Ｋｒ１］を生成し（Ｓ５５）、［Ｕ１］及び［Ｋｒ１］をアプリサーバ１２及びＲＯＭモニタ部７１に送信する（Ｓ５６）。なお、［Ｋｒ１］を予め専用記憶領域４２等に記憶しておき、これを読み出してアプリサーバ１２に送信してもよい。
【００４０】
ＲＯＭモニタ部７１は、受信した［Ｕ１］及び［Ｋｒ１］を専用記憶領域４２内に用意されたテーブル１０５に登録する（Ｓ５７）。テーブル１０５は、識別情報ＩＤ及び再登録鍵Ｋｒの対応関係を示す。ステップＳ５７の処理により、初期のテーブル１０５に［Ｕ１］，［Ｋｒ１］が登録されたテーブル１０５Ａが生成される。
【００４１】
アプリサーバ１２は、［Ｕ１］及び［Ｋｒ１］を受信すると、上記テーブル１０６Ａに［Ｋｒ１］を追加して登録する（Ｓ５８）。これにより、テーブル１０６Ｂが生成される。
【００４２】
上記ステップＳ５１〜Ｓ５８の初期登録処理が完了すると、通常運用が開始される。通常運用時においては、ステップＳ５２で生成された識別情報ＩＤ：「Ｕ１］及び秘密鍵Ｋａ：［Ｋａ１］を用いてアプリサーバ１２との間で第１の認証処理が行われ、所定の通常処理が行われる。
【００４３】
通常運用時において、秘密鍵Ｋａの漏洩、悪意あるソフトウェアによる攻撃、秘密鍵Ｋａの有効期限切れ等が生じた場合に、秘密鍵Ｋａの再登録要求がなされる。この再登録要求は、例えばユーザによる入力操作、システムソフトウェア３１又はＲＯＭモニタ３２による自立的な判断、アプリサーバ１２からの要求信号の受信等によりなされる。システムソフトウェア部５１は、再登録要求を受信すると（Ｓ６１）、ＲＯＭモニタ部７１に対して識別情報ＩＤ及び再登録鍵Ｋｒの読出要求を行う（Ｓ６２）。読出要求とは、例えばある識別番号ＩＤ（Ｕ１）向けに発行され再登録鍵Ｋｒ（Ｋｒ１）の署名を要求する署名要求メッセージ等である。
【００４４】
ＲＯＭモニタ部７１は、上記読出要求を受信すると、システムソフトウェア３１のバージョンが適切か否かを判定する（Ｓ６３）。当該判定は、システムソフトウェア３１のバージョンが最新バージョンであるか、アプリサーバ１２から指定された指定バージョンであるか等を判定することによって行うことができる。ステップＳ６３において、バージョンが適切でない場合（Ｎ）には、ＲＯＭモニタ部７１はシステムソフトウェア３１の更新を要求する処理を行い（Ｓ６４）、システムソフトウェア部５１は更新処理を行う（Ｓ６５）。ステップＳ６３において、バージョンが適切である場合（Ｙ）には、ＲＯＭモニタ部７１は、専用記憶領域４２から識別番号ＩＤ：［Ｕ１］及び再登録鍵Ｋｒ：［Ｋｒ１］を読み出し、これら［Ｕ１］，［Ｋｒ１］に基づく検証用データを生成し、システムソフトウェア部５１に送信する（Ｓ６６）。検証用データとは、例えば上記署名要求メッセージに再登録鍵Ｋｒ（Ｋｒ１）を署名したデータ等である。
【００４５】
システムソフトウェア部５１は、受信した検証用データを用いて、アプリサーバ１２との間で第２の認証処理を行う（Ｓ６７）。このように、検証用データを用いて第２の認証処理を行うことにより、再登録鍵ＫｒをＲＯＭモニタ部７１からシステムソフトウェア部５１に直接渡す必要がないため、システムソフトウェア部５１から再登録鍵Ｋｒが漏洩することを防止できる。アプリサーバ１２は、第２の認証処理の結果をシステムソフトウェア部５１に送信する（Ｓ６８）。
【００４６】
ステップＳ６８において、認証結果が失敗であった場合（Ｎ）には、システムソフトウェア部５１は、再登録処理を中止する（Ｓ６９）。ステップＳ６８において、認証結果が成功であった場合（Ｙ）には、システムソフトウェア部５１は、新たな秘密鍵Ｋａ：［Ｋａ２］を生成し、これをアプリサーバ１２に送信する（Ｓ７０）。アプリサーバ１２は、受信した［Ｋａ２］を以前のテーブル１０６Ｂに再登録し（Ｓ７１）、新たなテーブル１０６Ｃを生成する。
【００４７】
図６は、第１の実施形態に係る情報処理端末１１に内蔵されるＣＰＵ１０１の構成を例示する図である。本例は、図２に示す構成をより具体的に示したハードウェア構成であり、情報処理端末１１が組み込みシステムにより構成された場合を想定したものである。ＣＰＵ１０１は、デバッガ１１１、命令実行ユニット１１２、メモリ保護ユニット１１３、ＷＤＴ（Watch  Dog  Timer）１１４、制御レジスタ１１５、無線データリンク１１６、不揮発性メモリ１１７、ＲＡＭ１１８、暗号アクセラレータ１１９、ＲＮＧ（Random  Number  Generator）１２０、ＵＡＲＴ（Universal  Asynchronous  Receiver  Transmitter）１２１、及びバス１２２を含む。
【００４８】
ＣＰＵ１０１は、無線データリンク１１６を介して無線アンプに接続されている。無線アンプは、外部入出力端子を介してアンテナに接続されている。アンテナは、ネットワーク１３に含まれる無線アクセスポイントとの間で信号を送受信する。ＣＰＵ１０１は、ＵＡＲＴ１２１を介して計測・制御部に接続されている。計測・制御部は、例えば、外部入出力端子を介して電力メータと通信し、電気機器の消費電力を計測し、計測結果をＣＰＵ１０１に伝達する。ＣＰＵ１０１は、デバッガ１１１を介して外部保守インターフェースに接続されている。
【００４９】
プログラム（システムソフトウェア３１及びＲＯＭモニタ３２）に従って各種処理を実行する命令実行ユニット１１２は、メモリ保護ユニット１１３を介してバス１２２に接続されている。メモリ保護ユニット１１３は、命令実行ユニット１１２に投入される命令が不揮発性メモリ１１７内に記憶されたＲＯＭモニタ３２によるものであるか否かを示す信号を出力する。この信号は、信号線１５１を介して命令実行ユニット１１２に入力される。
【００５０】
メモリ保護ユニット１１３、不揮発性メモリ１１７（フラッシュメモリ等）、ＲＡＭ１１８、ＷＤＴ１１４、制御レジスタ１１５、無線データリンク１１６、暗号アクセラレータ１１９、ＲＮＧ１２０、及びＵＡＲＴ１２１は、バス１２２に接続されている。
【００５１】
制御レジスタ１１５の１つの出力であるリセット信号及びＷＤＴ１１４の出力（リセット信号）は、ワイヤードＯＲでリセット信号線１５２を介して命令実行ユニット１１２に入力される。また、制御レジスタ１１５の他の出力であるＮＭＩ（Non  Maskerable  Interrupt：マスク不能割り込み）信号は、ＮＭＩ信号線１５３を介して命令実行ユニット１１２に入力される。
【００５２】
デバッガ１１１は、命令実行ユニット１１２に直接接続されると共に、デバッグポート１５４を介して保守用インターフェースに接続されている。
【００５３】
図７は、図６に示す例に係る不揮発性メモリ１１７の構成を例示する図である。不揮発性メモリ１１７は、ＲＯＭモニタ専用領域２５１及びシステムソフトウェア領域２５２を含む。
【００５４】
ＲＯＭモニタ専用領域２５１は、書き換え不可領域４１及び専用記憶領域４２を含む。書き換え不可領域４１は、内部情報を書き換えることが物理的に不可能な構成を有することが好ましい。書き換え不可領域４１には、ＲＯＭモニタ３２が記憶されている。専用記憶領域４２は、ＲＯＭモニタ３２による命令実行時にのみアクセス可能な記憶領域である。専用記憶領域４２には、再登録鍵３４が記憶されている。なお、専用記憶領域４２は、読み書き可能な領域であってもよいし、再登録鍵３４の書き込み後に読み出しのみ可能となる領域であってもよい。
【００５５】
システムソフトウェア領域２５２は、システムソフトウェア記憶領域２６１及び共有記憶領域２６２を含み、読み書き可能な領域である。システムソフトウェア記憶領域２６１には、検証済みのシステムソフトウェア３１及び秘密鍵３３が記憶されている。システムソフトウェア３１は、システムソフトウェア３１の更新を管理する管理サーバとメッセージの送受信を行う処理、管理サーバから最新の又は指定したシステムソフトウェア３１をダウンロードする処理、アプリサーバ１２との間で行われる所定の通常処理（電力使用量の報告等）等を制御する。
【００５６】
共有記憶領域２６２は、システムソフトウェア３１及びＲＯＭモニタ３２の両方からアクセス可能な領域である。共有記憶領域２６２には、動作モード情報２３１、最新バージョン情報２３２、指定バージョン情報２３３、受信メッセージ２３４等が記憶される。動作モード情報２３１とは、情報処理端末１１が現在どのような処理を行っているかを示す情報であり、例えば初期登録モード、通常運用モード、秘密鍵再登録モード等の間で変化する。最新バージョン情報２３２とは、システムソフトウェア３１の最新バージョンを示す情報であり、例えば上記管理サーバから提供され得る情報である。指定バージョン情報２３３とは、特に使用に適したシステムソフトウェア３１のバージョンを示す情報であり、例えばアプリサーバ１２から提供され得る情報である。指定バージョン情報２３３は、例えば最新バージョンに問題があり、古いバージョンの方が使用に適している場合等に有用となる。受信メッセージ２３４とは、アプリサーバ１２、管理サーバ等から受信したメッセージであり、システムソフトウェア３１又はＲＯＭモニタ３２による処理に影響を与える各種情報が含まれ得る。
【００５７】
図８は、図７に示す例に係る情報処理端末１１の機能的構成を例示する図である。システムソフトウェア部５１は、更新部２０１、秘密鍵生成部２０２、通信部２０３、再登録鍵生成部２０４、及び再登録鍵委託部２０５を含む。本例では、通常運用を行うための機能部は省略されている。
【００５８】
更新部２０１は、システムソフトウェア３１を更新する処理を行う。秘密鍵生成部２０２は、秘密鍵３３を生成する処理を行う。通信部２０３は、更新部２０１により取得された最新の又は指定されたバージョンのシステムソフトウェア３１及び秘密鍵生成部２０２により生成された秘密鍵３３を共有記憶領域２６２に送信する。再登録鍵生成部２０４は、再登録鍵３４を生成する処理を行う。再登録鍵委託部２０５は、生成された再登録鍵３４を共有記憶領域２６２に出力し、これを専用記憶領域４２に記憶するようにＲＯＭモニタ部７１に委託する処理を行う。秘密鍵３３及び再登録鍵３４の生成は、例えば初期登録処理時においてＲＮＧ１２０を利用して行うことができる。
【００５９】
ＲＯＭモニタ部７１は、署名検証部２１１、署名付加部２１２、署名回数管理部２１３、更新保証部２１４、アプリ識別部２１５、ＷＤＴ操作部２１６、ＷＤＴタイムアウト判定部２１７、再起動部２１８、バージョン判定部２１９、動作モード管理部２２０、メッセージ準備部２２１、書き込み部２２２、及び依頼制限部２２３を含む。
【００６０】
署名検証部２１１は、再登録鍵３４を用いた第２の認証処理における署名検証処理を行う。署名付加部２１２は、第２の認証処理において再登録鍵３４による署名を付加する処理を行う。署名回数管理部２１３は、再登録鍵３４による署名の回数、すなわち秘密鍵３３の再登録処理の回数を管理する処理を行う。
【００６１】
更新保証部２１４は、システムソフトウェア３１の更新状況が適切であること、すなわちシステムソフトウェア３１が健全であることを保証する処理を行う。アプリ識別部２１５は、システムソフトウェア３１上で動作するアプリケーションを識別する処理を行う。ＷＤＴ操作部２１６は、ＷＤＴ１１４をカウントアップする処理を行う。ＷＤＴタイムアウト判定部２１７は、ＷＤＴ１１４のカウントが所定値に達したか否かを判定する処理を行う。再起動部２１８は、ＷＤＴ１１４のカウントが所定値に達した場合に強制的に再起動処理を行う。再起動処理において、システムソフトウェア３１は更新処理が行われ、その健全性が獲得される。
【００６２】
バージョン判定部２１９は、システムソフトウェア３１のバージョンを判定する処理を行う。動作モード管理部２２０は、現在の動作モード（初期登録モード、通常運用モード、秘密鍵再登録モード等）を判定する処理を行う。メッセージ準備部２２１は、専用記憶領域４２に記憶させる内容を示すメッセージを準備する処理を行う。書き込み部２２２は、準備されたメッセージに示された情報、例えば再登録鍵３４を専用記憶領域４２に書き込む。
【００６３】
依頼制限部２２３は、秘密鍵３３の再登録処理の依頼を制限する処理を行う。例えば、依頼制限部２２３は、秘密鍵再登録モードにおいて、同一のバージョンのシステムソフトウェア３１により所定回数以上の再登録鍵３４による署名、すなわち秘密鍵３３の再登録の要求があった場合に、再登録処理の依頼を拒絶する。これにより、同一のバージョンのシステムソフトウェア３１による秘密鍵３３の再登録を所定回数（例えば１回）に制限することができる。
【００６４】
図９は、図８に示す例における再起動処理を例示するフローチャートである。通常運用が開始されると、ＷＤＴ１１４はカウントアップを行う（Ｓ１０１）。その後、システムソフトウェア３１のバージョンは最新又は指定バージョンか否かが判定される（Ｓ１０２）。
【００６５】
ステップＳ１０２において、最新又は指定バージョンであると判定された場合（Ｙ）には、制御レジスタ１１５からリセット信号が出力され（Ｓ１０３）、ＷＤＴ１１４のカウントがリセットされる（Ｓ１０４）。
【００６６】
ステップＳ１０２において、最新又は指定バージョンでないと判定された場合（Ｎ）には、ＷＤＴ１１４のカウントが所定値に達したか否かが判定され（Ｓ１０５）、所定値に達した場合（Ｙ）には再起動処理が行われる（Ｓ１０６）。
【００６７】
上記実施形態によれば、秘密鍵３３の再登録処理は、システムソフトウェア３１の健全性の保証と、改ざん不可能なＲＯＭモニタ３２によってのみ取り扱われる再登録鍵３４を用いた第２の認証処理とを経て行われる。このように再登録鍵３４を用いた第２の認証処理を行うことにより、アプリサーバ１２は、秘密鍵３３の再登録処理時において、通信相手の情報処理端末１１が適切な対象であるか否かを確実に判定することができる。また、秘密鍵３３の再登録処理は、健全性が保証されたシステムソフトウェア３１によってのみ行われるので、機密性の確実な回復が保証される。従って、作業員を情報処理端末１１の設置場所へ派遣する等の手間をかけることなく、機密性の回復を確実且つ容易に行うことが可能となる。
【００６８】
（変形例）
上記実施形態においては、システムソフトウェア３１の健全性を判定する判定主体がＲＯＭモニタ３２であるが、この判定主体は、ＵＳＢメモリに搭載される制御ユニットを制御するセキュアソフトウェアであってもよい。この場合、ＵＳＢメモリの抜き差し回数を上記ＷＤＴ１１４のカウントとみなしてもよい。
【００６９】
（第２の実施形態）
図１０は、第２の実施形態に係る情報処理端末８１の構成を例示する図である。上記第１の実施形態に係る情報処理端末１１は、組み込みシステムを用いた構成を想定したものであったが、本実施形態に係る情報処理端末８１は、汎用コンピュータを用いた構成を想定したものである。
【００７０】
情報処理端末８１は、その記憶装置内にハイパーバイザ８２、ノンセキュアＯＳ（システムソフトウェア）８３、及びセキュアＯＳ（セキュアソフトウェア）８４を記憶し、そのＣＰＵはこれらのソフトウェア８２，８３，８４に従って処理を行う。
【００７１】
ノンセキュアＯＳ８３及びセキュアＯＳ８４は、ハイパーバイザ８２上で並列的に処理を行う。ノンセキュアＯＳ８３は、比較的高機能及び低セキュリティであるという特性を有し、セキュアＯＳ８４は、比較的低機能及び高セキュリティであるという特性を有する。ノンセキュアＯＳ８３は、第１の実施形態におけるシステムソフトウェア３１に相当し、セキュアＯＳ８４は、第１の実施形態におけるＲＯＭモニタ３２に相当する。
【００７２】
情報処理端末８１の記憶装置は、第１の実施形態と同様の機能を奏する専用記憶領域４２及び共有記憶領域２６２を有する。すなわち、専用記憶領域４２には再登録鍵３４が記憶され、セキュアＯＳ８４のみが専用記憶領域４２から再登録鍵３４を読み出すことができる。共有記憶領域２６２は、ノンセキュアＯＳ８３及びセキュアＯＳ８４の両方がアクセス可能な領域である。
【００７３】
このような構成によっても、上記第１の実施形態と同様の作用効果を得ることが可能である。
【００７４】
上記情報処理端末１１、情報処理方法、及び情報処理システム１を実現させるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供することができる。また、プログラムは、ネットワークに接続された所定の記憶装置から所定の情報処理装置にダウンロードすることにより提供されてもよいし、予めＲＯＭ等に組み込まれて所定の情報処理装置に提供されてもよい。また、プログラムは、上記各部の機能を実現する複数のモジュールから構成されてもよい。
【００７５】
以上、本発明の実施形態を説明したが、これらの実施形態は例として提示したものであり、発明の範囲を限定することを意図するものではない。この新規な実施形態はその他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は発明の範囲及び要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７６】
１，８１  情報処理システム
１１  情報処理端末
１２  アプリサーバ
１３  ネットワーク
２１  制御演算ユニット
２２  メモリ
２３  Ｉ／Ｏポート
２４  バス
３１  システムソフトウェア
３２  ＲＯＭモニタ（セキュアソフトウェア）
３３  秘密鍵
３４  再登録鍵
４１  書き換え不可領域
４２  専用記憶領域
５１  システムソフトウェア部
５２  通信部
５３  更新部
５４  初期登録部
５５  通常認証部
５６  再登録部
６１  秘密鍵生成部
６２  再登録鍵生成部
６５  読み出し依頼部
６６  再登録認証部
６７  秘密鍵再生成部
７１  ＲＯＭモニタ部
７２  判定部
７３  読み書き部
７４  起動処理部
７５  再起動制御部
７６  制限部
８２  ハイパーバイザ
８３  ノンセキュアＯＳ（システムソフトウェア）
８４  セキュアＯＳ（セキュアソフトウェア）
１１１  デバッガ
１１２  命令実行ユニット
１１３  メモリ保護ユニット
１１４  ＷＤＴ
１１５  制御レジスタ
１１６  無線データリンク
１１７  不揮発性メモリ
１１８  ＲＡＭ
１１９  暗号アクセラレータ
１２０  ＲＮＧ
１２１  ＵＡＲＴ
１２２  バス
２０１  更新部
２０２  秘密鍵生成部
２０３  通信部
２０４  再登録鍵生成部
２０５  再登録鍵委託部
２１１  署名検証部
２１２  署名付加部
２１３  署名回数管理部
２１４  更新保証部
２１５  アプリ識別部
２１６  ＷＤＴ操作部
２１７  ＷＤＴタイムアウト判定部
２１８  再起動部
２１９  バージョン判定部
２２０  動作モード管理部
２２１  メッセージ準備部
２２２  書き込み部
２５１  ＲＯＭモニタ専用領域
２５２  システムソフトウェア領域
２６１  システムソフトウェア記憶領域
２６２  共有記憶領域
【図１】
0006385842.tif 000002
【図２】
0006385842.tif 000003
【図３】
0006385842.tif 000004
【図４】
0006385842.tif 000005
【図５】
0006385842.tif 000006
【図６】
0006385842.tif 000007
【図７】
0006385842.tif 000008
【図８】
0006385842.tif 000009
【図９】
0006385842.tif 000010
【図１０】
0006385842.tif 000011