(57)【要約】  【課題】情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止する。  【解決手段】情報端末であり、第１の提供者の情報処理モジュール群を実行することで構成される第１の情報処理部と、第２の提供者の情報処理モジュール群を実行することで構成される第２の情報処理部と、セキュリティモジュールとを備え、セキュリティモジュールが、ソフトウェアモジュールのダイジェストの累積値を算出してレジスタに格納する累積部と、ソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタと、ソフトウェアモジュールの構成を証明する構成証明部とを備え、第１の情報処理部が、構成証明部によって生成された構成証明データを検証して、第２の提供者の情報処理モジュール群のソフトウェアモジュールの起動を制御する。  【選択図】図１
2009003853.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
セキュリティモジュールと、
前記ＣＰＵが実行する１組以上のソフトウェアモジュールと証明書の組合せから構成されるモジュール群を複数個格納する格納手段と、
前記ＣＰＵが前記格納手段に格納される第１のモジュール群を実行することによって構成される第１の情報処理手段と、
前記ＣＰＵが前記格納手段に格納される第２のモジュール群を実行することによって構成される第２の情報処理手段と、から構成される情報端末であって、
前記第１の情報処理手段は、第２の情報処理手段を構成するソフトウェアモジュールの有効性を検証し、前記第２のモジュール群のソフトウェアモジュールの起動を制御する構成検証手段を含み、
前記セキュリティモジュールは、
前記第２の情報処理手段を構成するソフトウェアモジュールのダイジェストの累積値を算出してレジスタに格納する累積手段と、
前記第２の情報処理手段を構成するソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタと、
前記第２の情報処理手段を構成するソフトウェアモジュールの構成を証明する構成証明手段と、を含み、
前記証明書は、
対応するソフトウェアモジュールのダイジェストを含む参照計測値と、
対応するソフトウェアモジュールが実行される前の状態において前記セキュリティモジュールのレジスタに保持されるべき、前記第２の情報処理手段を構成するソフトウェアモジュールのダイジェストの累積値を示す参照累積値と、
対応するソフトウェアモジュールのバージョンを示す参照カウンタ値と、を含み、
前記構成証明手段は、
前記構成検証手段からの要求に基づいて、前記レジスタが保持する累積値と前記カウンタが保持するカウンタ値とを含むデータに電子署名を施した構成証明データを生成し、
前記構成検証手段は、
前記構成証明手段が生成した構成証明データを受信し、前記格納手段が格納する第２のモジュール群のソフトウェアモジュールのダイジェストと対応する証明書の参照計測値との照合と、前記受信した構成証明データの累積値と対応する証明書の参照累積値との照合と、対応する証明書の参照カウンタ値が前記受信した構成証明データのカウンタ値以上であることの判定と、前記受信した構成証明データの電子署名の検証を行って、前記ソフトウェアモジュールの有効性を検証し、前記検証に成功した場合に、前記第２のモジュール群のソフトウェアモジュールを起動する
情報端末。
【請求項２】
前記セキュリティモジュールが、さらに、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を含み、前記連続する順番で起動される複数のソフトウェアモジュールに対して前記結合証明書生成手段が生成した結合証明書を用いて、前記構成検証手段が前記連続する順番で起動される複数のソフトウェアモジュールの有効性の検証を行う請求項１記載の情報端末。
【請求項３】
ＣＰＵと、
セキュリティモジュールと、
前記ＣＰＵが実行する１組以上のソフトウェアモジュールと証明書の組合せから構成されるモジュール群を複数個格納する格納手段と、
前記証明書を用いて、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段と、
から構成される情報端末であって、
前記連続する順番で起動される複数のソフトウェアモジュールに対して前記結合証明書生成手段が生成した結合証明書を用いて、前記構成検証手段が前記連続する順番で起動される複数のソフトウェアモジュールの有効性の検証を行い、前記格納手段に格納されるソフトウェアモジュールを起動する情報端末。
【請求項４】
情報端末に内蔵するセキュリティモジュールであって、
前記情報端末が実行するソフトウェアモジュールのダイジェストの累積値を算出してレジスタに格納する累積手段と、
前記ソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタと、
前記レジスタに格納された累積値と前記カウンタが保持するカウンタ値を含むデータに電子署名を施した、前記情報端末が実行するソフトウェアモジュールの構成を証明する構成証明データを生成する構成証明手段と、
を備えるセキュリティモジュール。
【請求項５】
前記セキュリティモジュールが、さらに、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を備える請求項４記載のセキュリティモジュール。
【請求項６】
情報端末に内蔵するセキュリティモジュールであって、
前記情報端末が実行するソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を備えるセキュリティモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータや携帯電話などの情報通信機器、インターネットアクセス機能を備えたテレビ受信装置などの情報家電機器等の情報端末と、その情報端末に内蔵されるセキュリティモジュールに関するものである。特に、情報端末のソフトウェアが複数の提供者から提供される複数のモジュール群から構成される場合において、起動するモジュールの順番を変えたり、不正な動作をするモジュールにすり替えたり、不正にソフトウェアを古いのバージョンに戻したりするといった不正行為を防止し、ソフトウェアを常に正しい順番、正しい構成で起動することを可能にするものである。
【背景技術】
【０００２】
近年、ネットワークを介して提供されるサービスは、音楽や映像といった著作物の提供や、企業が保有する機密情報の閲覧、オンラインバンキングなど多岐に渡り、かつ、その中で扱われる情報の価値も高価なものになってきている。多岐に渡るサービスに対応するため、パーソナルコンピュータ、携帯端末、携帯電話、デジタル家電などの情報端末には、複数の提供者から提供された複数のソフトウェアがインストールされている。
【０００３】
例えば、携帯電話の場合、携帯電話の端末メーカーが提供する携帯電話の基本機能に関するモジュール群と、携帯電話のオペレータが提供する携帯通信機能に関するモジュール群と、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）が提供する携帯電話上で動作するサービス・アプリケーションを構成するモジュール群がインストールされている場合がある。
【０００４】
各モジュール群には、複数のソフトウェアモジュールが含まれ、改ざん等の不正行為を防止する仕組みがモジュール群ごとに組み込まれている。例えば、各ソフトウェアモジュールに対して提供者が証明書を発行し、各ソフトウェアモジュールの起動時に、その証明書を用いてソフトウェアモジュールの完全性を検証するといった仕組もその一つである。この仕組は、モジュール群を構成するソフトウェアモジュールをモジュール単位で更新する場合にも有効であり、モジュール群の提供者が新しいソフトウェアモジュールと共に、その新しいソフトウェアモジュールの証明書を提供することにより、新しいソフトウェアモジュールの完全性を検証することが可能となる。
【０００５】
上記の証明書を用いて不正行為を防止する仕組みと同様の技術は、例えば特許文献１において公開されている。
【特許文献１】ＵＳ２００５／００２１９６８
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来提案されている技術では、図８に示すように、情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合に課題がある。第２の提供者が提供するモジュール群が何らかの問題がある古いモジュールにすり替えられてしまった場合、それらの証明書は古いというだけで証明書に施されている署名等は正しいものであるため、第１の提供者が提供するモジュール群は古い不正なモジュールであることが検出できない。その検出を可能にするためには 、第２の提供者のモジュール群に関する参照情報を第１の提供者が提供するモジュール群が保持し、第２の提供者のモジュール群が更新される度に、それを安全に更新するメカニズムが必要となり、この場合、提供者の異なる各モジュール群の独立性が損なわれるという問題がある。
【０００７】
また、各のモジュール群が提供する機能の高機能化等により、モジュール群に含まれるソフトウェアモジュールの数が多くなった場合、ソフトウェアモジュールごとに証明書を用いた完全性の検証処理を行う必要があるために、モジュール群の起動にかかる時間が増大するという問題がある。複数のソフトウェアモジュールを統合して、ソフトウェアモジュールの数が多くならないようにする対策も考えられるが、その場合、ソフトウェアモジュールの更新は、本来のソフトウェアモジュールの単位で行うことが出来なくなり、更新の必要のないソフトウェアモジュールも含めた統合されたソフトウェアモジュールの単位で行う必要がある。特に、情報端末が、携帯電話のように、通信量に応じて課金が行われるような端末の場合には、更新の必要のないソフトウェアモジュールを一緒に受信する必要があるということは、ユーザにとって望ましいことではない。
【０００８】
本発明は、こうした従来の問題点を解決するものであり、情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止し、他の提供者のモジュール群に関する参照情報を保持することなく、各提供者のモジュール群の更新処理を個別に行うことが可能な情報端末と、その情報端末に内蔵されるセキュリティモジュールを提供することを目的としている。
【０００９】
また、本発明は、モジュール群に含まれるソフトウェアモジュールの数が多くなった場合でも、安全性を損なうことなく、モジュール群の起動にかかる時間が増大することない情報端末と、その情報端末に内蔵されるセキュリティモジュールを提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明の情報端末は、ＣＰＵと、セキュリティモジュールと、前記ＣＰＵが実行する１組以上のソフトウェアモジュールと証明書の組合せから構成されるモジュール群を複数個格納する格納手段と、前記ＣＰＵが前記格納手段に格納される第１のモジュール群を実行することによって構成される第１の情報処理手段と、前記ＣＰＵが前記格納手段に格納される第２のモジュール群を実行することによって構成される第２の情報処理手段と、から構成される情報端末であって、前記第１の情報処理手段は、第２の情報処理手段を構成するソフトウェアモジュールの有効性を検証し、前記第２のモジュール群のソフトウェアモジュールの起動を制御する構成検証手段を含み、前記セキュリティモジュールは、前記第２の情報処理手段を構成するソフトウェアモジュールのダイジェストの累積値を算出してレジスタに格納する累積手段と、前記第２の情報処理手段を構成するソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタと、前記第２の情報処理手段を構成するソフトウェアモジュールの構成を証明する構成証明手段と、を含み、前記証明書は、対応するソフトウェアモジュールのダイジェストを含む参照計測値と、対応するソフトウェアモジュールが実行される前の状態において前記セキュリティモジュールのレジスタに保持されるべき、前記第２の情報処理手段を構成するソフトウェアモジュールのダイジェストの累積値を示す参照累積値と、対応するソフトウェアモジュールのバージョンを示す参照カウンタ値と、を含み、前記構成証明手段は、前記構成検証手段からの要求に基づいて、前記レジスタが保持する累積値と前記カウンタが保持するカウンタ値とを含むデータに電子署名を施した構成証明データを生成し、前記構成検証手段は、前記構成証明手段が生成した構成証明データを受信し、前記格納手段が格納する第２のモジュール群のソフトウェアモジュールのダイジェストと対応する証明書の参照計測値との照合と、前記受信した構成証明データの累積値と対応する証明書の参照累積値との照合と、対応する証明書の参照カウンタ値が前記受信した構成証明データのカウンタ値以上であることの判定と、前記受信した構成証明データの電子署名の検証を行って、前記ソフトウェアモジュールの有効性を検証し、前記検証に成功した場合に、前記第２のモジュール群のソフトウェアモジュールを起動する構成を採る。
【００１１】
本発明の情報端末によれば、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止することが出来る。
また、本発明の情報端末は、前記セキュリティモジュールが、さらに、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を含み、前記連続する順番で起動される複数のソフトウェアモジュールに対して前記結合証明書生成手段が生成した結合証明書を用いて、前記構成検証手段が前記連続する順番で起動される複数のソフトウェアモジュールの有効性の検証を行う構成を採る。
【００１２】
本発明の情報端末によれば、検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができる。
また、本発明の情報端末は、ＣＰＵと、セキュリティモジュールと、前記ＣＰＵが実行する１組以上のソフトウェアモジュールと証明書の組合せから構成されるモジュール群を複数個格納する格納手段と、前記証明書を用いて、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段と、から構成される情報端末であって、前記連続する順番で起動される複数のソフトウェアモジュールに対して前記結合証明書生成手段が生成した結合証明書を用いて、前記構成検証手段が前記連続する順番で起動される複数のソフトウェアモジュールの有効性の検証を行い、前記格納手段に格納されるソフトウェアモジュールを起動する。
【００１３】
本発明の情報端末によれば、検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができる。
本発明のセキュリティモジュールは、情報端末に内蔵するセキュリティモジュールであって、前記情報端末が実行するソフトウェアモジュールのダイジェストの累積値を算出してレジスタに格納する累積手段と、前記ソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタと、前記レジスタに格納された累積値と前記カウンタが保持するカウンタ値を含むデータに電子署名を施した、前記情報端末が実行するソフトウェアモジュールの構成を証明する構成証明データを生成する構成証明手段と、を備える。
【００１４】
本発明のセキュリティモジュールを内蔵する情報端末は、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止することが出来る。
また、本発明のセキュリティモジュールは、前記セキュリティモジュールが、さらに、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を備える。
【００１５】
本発明のセキュリティモジュールを内蔵する情報端末は、検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができる。
また、本発明のセキュリティモジュールは、情報端末に内蔵するセキュリティモジュールであって、前記情報端末が実行するソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を備える。
【００１６】
本発明のセキュリティモジュールを内蔵する情報端末は、検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができる。
【発明の効果】
【００１７】
情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合において、モジュール群を古いモジュール群にすりかえるといった不正行為を防止し、他の提供者のモジュール群に関する参照情報を保持することなく、各提供者のモジュール群の更新処理を個別に行うことが可能となる。
また、結合証明書を生成することにより、起動時に検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００１８】
（第１の実施形態）
本発明の第１の実施形態における情報端末１００の構成について説明する。
本実施の形態では、説明を簡単にするため、情報端末１００は、第１の提供者と第２の提供者の２つの提供者からソフトウェアを搭載しているものとする。
情報端末１００は、図１に示すように、ＣＰＵ１１０と、セキュリティモジュール１３０と、ＣＰＵ１１０が実行する第１の提供者の情報処理モジュール群１２１と第２の提供者の情報処理モジュール群１２２を格納する格納部１２０と、ＣＰＵ１１０が格納手段１２０に格納される第１の提供者の情報処理モジュール群１２１を実行することによって構成される第１の情報処理部１４０と、ＣＰＵ１１０が格納手段１２０に格納される第２の提供者の情報処理モジュール群１２２を実行することによって構成される第２の情報処理部１５０と、から構成される。
【００１９】
第１の情報処理手段１４０は、第２の情報処理手段を構成するソフトウェアモジュールの有効性を検証する構成検証部１４１を含み、セキュリティモジュール１３０は、第２の情報処理手段を構成するソフトウェアモジュールのダイジェストの累積値を算出してレジスタ１３２に格納する累積部１３４と、第２の情報処理手段を構成するソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタ１３１と、第２の情報処理手段を構成するソフトウェアモジュールの構成を証明する構成証明部１３３と、から構成され、これらの構成要素は耐タンパ化されており、外部からのアクセスに対して保護されている。また、格納部１０２は、具体的には不揮発性メモリやハードディスクその他の記憶装置によって実現される。
【００２０】
格納部１２０には、図２に示すように、第１の提供者の情報処理モジュール群１２１、第２の提供者の情報処理モジュール群１２２として、それぞれ、複数のモジュールが格納され、各モジュールに対応する証明書がそれぞれ格納されている。図２に示した例では、第１の提供者の情報処理モジュール群１２１としては、３個のモジュールは格納され、例えば、モジュール＃１２には、対応する証明書として証明書＃１２が格納されている。また、第２の提供者の情報処理モジュール群１２２としては、５個のモジュールは格納され、例えば、モジュール＃２１には、対応する証明書として証明書＃２１が格納されている。
【００２１】
格納部１２０に格納される第１の提供者の情報処理モジュール群１２１と第２の提供者の情報処理モジュール群１２２は、個々の提供者によってモジュールごとに個別に更新される。この時、証明書も新しいモジュールに対応する証明書に更新される。
図３は、証明書のデータ構造を示しており、証明書は、モジュールの識別情報３０１と、
モジュールのバージョン３０２と、モジュールのダイジェストとしてモジュールのバイナリコードのハッシュした場合の値を示す参照計測値３０３と、モジュールが実行される前の状態においてセキュリティモジュール１３０のレジスタ１３２に保持されるべき累積値を示す参照累積値３０４と、モジュールのバージョンを示す参照カウンタ値３０５と、証明書を検証する鍵を示す検証鍵ＩＤ３０６と、検証鍵ＩＤ３０６が示す鍵に対応する秘密鍵による電子署名３０７と、とから構成される。
【００２２】
次に、図４（ａ）を用いて、第１の情報処理部１４０が、第２の情報処理部１５０を構成するモジュールの一つであるモジュール＃２１の有効性を検証して起動する処理の動作について説明する。
まず、第１の情報処理部１４０の構成検証部１４１がセキュリティモジュール１３０に構成証明を要求する（ステップＳ４０１）。すると、キュリティモジュール１３０の構成証明部１３３が、構成検証部１４１からの要求に基づいて、図４（ｂ）に示すようなデータ構造の構成証明データ４１０を生成する。構成証明データ４１０は、レジスタ１３２が保持する累積値４１１とカウンタ１３１が保持するカウンタ値４１２と、構成検証部１４１からの構成証明の要求に含まれていたｎｏｎｃｅ４１３とを含むデータにセキュリティモジュール１３０の秘密鍵による電子署名４１４を施したものである。
【００２３】
次に、構成検証部１４１がセキュリティモジュール１３０が生成した構成証明データを検証する（ステップＳ４０２）。構成証明データの検証では、格納部１２０に格納されている証明書＃２１に施されている署名を検証して、証明書＃２１が改ざんされていないことを検証する。さらに、格納部１２０に格納されているモジュール＃２１のバイナリコードのハッシュ値を算出して、証明書＃２１の参照計測値と照合し、格納部１２０に格納されているモジュール＃２１が証明書＃２１が証明するモジュールと同一のものであることを検証する。さらに、受信した構成証明データに含まれる累積値と証明書＃２１の参照累積値と照合して、モジュール＃２１を起動する前の状態としての第２の情報処理部１５０を構成するモジュールの構成が正しいこと、つまり、モジュール＃２１が起動される順番が正しいことを検証する。
【００２４】
さらに、証明書＃２１の参照カウンタ値が受信した構成証明データに含まれるカウンタ値以上であることの判定し、モジュール＃２１が古いバージョンではないことを検証し、構成証明データに施された電子署名を検証し、受信した構成証明データがセキュリティモジュール１３０によって生成したものであることを検証する。
ステップＳ４０２の検証に失敗した場合、モジュール＃２１の起動を中止し、ステップＳ４０２の検証に成功した場合、構成検証部１４１が、セキュリティモジュール１３０にモジュール＃２１のダイジェストの累積を要求して、セキュリティモジュール１３０の累積部１３４がモジュール＃２１のダイジェストをレジスタ１３２に累積し（ステップＳ４０３）、構成検証部１４１が、モジュール＃２１を起動する（ステップＳ４０４）。
【００２５】
以上のように、構成検証部１４１が、構成証明データを検証することにより、格納部１２０に格納されているモジュール＃２１が証明書＃２１が証明するモジュールであり、かつ、モジュール＃２１が起動される順番が正しく、かつ、モジュール＃２１が古いバージョンにすりかえられていないことを検証した上で、モジュール＃２１を起動することが出来る。
【００２６】
以上で説明したモジュール＃２１の起動のメカニズムを、他のモジュールにも適用することにより、各モジュールを正しい順番で、かつ、古いモジュールにすりかえるといった不正行為を防止した上で、起動することが出来る。この場合、構成検証部１４１自体は、第２の提供者のモジュール群に関する参照情報を予めセキュアな形態で保持しておく必要はなく、第１の提供者の情報処理モジュール群と第２の提供者の情報処理モジュール群は、個々の提供者によってモジュールごとに個別に更新を行うことができる。
【００２７】
なお、モジュール＃２２、モジュール＃２３、モジュール＃２４、モジュール＃２５の起動に関しては、各モジュール群に組み込まれた、証明書を用いた従来の不正行為を防止する仕組みを用いるようにしてもよい。モジュール＃２１の起動に関しては、図４において説明したフローに基づいて、正しいソフトウェアモジュールを起動することが出来るので、起動されたモジュール＃２１が、第２の提供者の情報処理モジュール群に組み込まれた従来の不正行為を防止する仕組みを用いて、モジュール＃２２、モジュール＃２３、モジュール＃２４、モジュール＃２５を起動することにより、各モジュールを正しい順番で、かつ、古いモジュールにすりかえるといった不正行為を防止した上で、起動することが出来る。
【００２８】
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
（１）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、各装置は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムには限らず、これらの一部から構成されているコンピュータシステムであってもよい。
【００２９】
（２）上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【００３０】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又は全てを含むように１チップ化されてもよい。
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【００３１】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
（３）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【００３２】
（４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【００３３】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【００３４】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
以上のように、情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止し、他の提供者のモジュール群に関する参照情報を保持することなく、各提供者のモジュール群の更新処理を個別に行うことができる。
【００３５】
（実施の形態２）
本発明の実施の形態２における情報端末５００は、特に、ソフトウェアモジュールの数が多くなった場合でも、モジュール群の起動にかかる時間が増大することないように構成したものである。
図５は、本発明の実施の形態２における情報端末５００のブロック構成を示している。第２の実施形態の場合には、セキュリティモジュール５３０の中に、さらに、連続して起動される複数のソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成部５３１が含まれる。それ以外のＣＰＵ１１０、格納部１２０、第１の情報処理部１４０、第２の情報処理部１５０は、第１の実施形態における情報端末１００の場合と同じである。
【００３６】
本実施の形態の場合、結合証明書生成部５３１は、第２の提供者の情報処理モジュール群に含まれるソフトウェアモジュールにおいて、連続して起動される複数のソフトウェアモジュールに対して、一つの証明書を生成する。
図６は、本実施の形態における格納部に格納されるモジュール群の例を示しており、第２の提供者の情報処理モジュール群６２２に関しては、実施の形態１の場合と同じ、５つのモジュールと各モジュールに対応し第２の提供者が提供する５つの証明書の他に、結合証明書生成部５３１が生成した、モジュール＃２１とモジュール＃２２に対応する結合証明書＃２１２と、モジュール＃２３とモジュール＃２４、モジュール＃２５に対応する結合証明書＃２３５と、が格納されている。つまり、図６は、モジュール＃２１とモジュール＃２２が、また、モジュール＃２３とモジュール＃２４、モジュール＃２５が連続して起動されるモジュールである場合を示している。
【００３７】
第２の提供者から提供されたモジュールが格納部６２２に初めて格納された際には、結合証明書＃２１２と結合証明書＃２３５は格納されておらず、最初に、実施の形態１の場合と同じように、各モジュールに対応する証明書を用いて各モジュールの検証を実行しながら起動された際に、結合証明書＃２１２と結合証明書＃２３５は結合証明書生成部５３１によって生成される。
【００３８】
図７は、結合証明書のデータ構造を示しており、結合証明書は、対応する複数のモジュールの識別情報のリストを含むモジュールの識別情報リスト７０１と、対応する複数のモジュールのバージョンのリストを含むモジュールのバージョンリスト７０２と、対応する複数のモジュールのバイナリコードを起動される順番で結合したバイナリデータのハッシュした場合の値を示す結合参照計測値７０３と、対応する複数のモジュールの内、最初に起動されるモジュールが実行される前の状態においてセキュリティモジュール１３０のレジスタ１３２に保持されるべき累積値を示す結合参照累積値７０４と、対応する複数のモジュールのバージョンを示す参照カウンタ値のリストを含む参照カウンタ値リスト７０５と、セキュリティモジュールの公開鍵ＩＤ７０６と、セキュリティモジュールの秘密鍵による電子署名７０７と、とから構成される。
【００３９】
例えば、結合証明書＃２１２の場合、実施の形態１において説明した手順によって、モジュール＃２１は証明書＃２１を用いて構成検証部１４１によって検証されて、起動され、次に、モジュール＃２２も証明書＃２２を用いて構成検証部１４１によって検証されて、起動される。
この時、結合証明書生成部５３１は、モジュール＃２１とモジュール＃２２が正しいソフトウェアモジュールであることが検証されたことから、モジュール＃２１とモジュール＃２２のバイナリコードを起動する順番で結合したバイナリデータを生成し、生成したバイナリデータのハッシュ値を算出して、結合証明書＃２１２の結合参照計測値７０３とする。
【００４０】
さらに、最初に起動されるモジュール＃２１に対応する証明書＃２１の参照累積値３０４を結合証明書＃２１２の結合参照累積値７０４とし、さらに、証明書＃２１と証明書＃２２とから、それぞれ、モジュールの識別情報３０１と、モジュールのバージョン３０２と、モジュールのバージョンを示す参照カウンタ値３０５と、検証鍵ＩＤ３０６と、を抽出して、結合証明書＃２１２のモジュールの識別情報リスト７０１と、モジュールのバージョンリスト７０２、参照カウンタ値リスト７０５を生成する。さらに、７０１〜７０５とセキュリティモジュールの公開鍵ＩＤ７０６を含むデータに関してセキュリティモジュールの秘密鍵による電子署名であるセキュリティモジュールの秘密鍵による署名７０７を生成して、結合証明書＃２１２を生成する。
【００４１】
結合証明書＃２１２の場合と同様にして、結合証明書＃２３５も結合証明書生成部５３１によって生成され、生成された結合証明書＃２１２と結合証明書＃２３５は、格納部１２０に格納される。
結合証明書＃２１２と結合証明書＃２３５が生成された後は、第２の提供者の情報処理モジュール群のソフトウェアモジュールの起動は、モジュール＃２１とモジュール＃２２に関しては、結合証明書＃２１２を用いて検証が行われ、モジュール＃２３とモジュール＃２４、モジュール＃２５に関しては、結合証明書＃２３５を用いて検証が行われる。この場合、検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができ、仮に、ソフトウェアモジュールの数が増加した場合でも、連続して起動されるソフトウェアモジュールに関して、結合証明書生成部５３１が結合証明書を生成することにより、起動時間の増加を抑えることが出来る。
【００４２】
また、モジュールが更新された場合には、更新後、最初に起動する際は、実施の形態１において説明した手順によって、各モジュールに対応する証明書を用いて各モジュールの検証を実行しながら起動する必要があるが、結合証明書が生成された後は、結合証明書を用いて短い時間で起動を行うことが出来る。
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【００４３】
（１）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、各装置は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムには限らず、これらの一部から構成されているコンピュータシステムであってもよい。
【００４４】
（２）上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【００４５】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又は全てを含むように１チップ化されてもよい。
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【００４６】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
（３）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【００４７】
（４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【００４８】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【００４９】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【００５０】
本発明は、パーソナルコンピュータや携帯電話、オーディオプレーヤ、テレビ受像機、ビデオレコーダなど、プログラムデータの更新を行う情報通信機器や家電機器に広く利用することができる。本発明の情報端末に搭載されるセキュリティモジュールをそれらの機器に搭載し、情報端末と同様の構成にすることによって、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止し、他の提供者のモジュール群に関する参照情報を保持することなく、各提供者のモジュール群の更新処理を個別に行うことが可能となる。
【００５１】
また、セキュリティモジュールが結合証明書を生成することにより、安全性を損なうことなく、結合証明書を用いて短い時間で情報端末の起動を行うことが出来る。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態１に係る情報端末の構成を示すブロック図
【図２】本発明の実施の形態１における格納部に格納されるモジュール群の構成の一例を示す図
【図３】本発明の実施の形態１における証明書のデータ構造を示す図
【図４】本発明の実施の形態１または実施の形態２における第１の情報処理部１４０が第２の情報処理部１５０を構成するモジュールの一つであるモジュール＃２１の有効性を検証して起動する際に行う処理のフロー図、および、本発明の実施の形態１または実施の形態２における構成証明データのデータ構造を示す図
【図５】本発明の実施の形態１に係る情報端末の構成を示すブロック図
【図６】本発明の実施の形態１における格納部に格納されるモジュール群の構成の一例を示す図
【図７】本発明の実施の形態２における結合証明書のデータ構造を示す図
【図８】従来の技術に基づく、情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合における起動処理を示す図
【符号の説明】
【００５３】
１００、５００    情報端末
１１０    ＣＰＵ
１２０    格納部
１２１    第１の提供者の情報処理モジュール群
１２２、６２２    第２の提供者の情報処理モジュール群
１３０    セキュリティモジュール
１３１    カウンタ
１３２    レジスタ
１３３    構成証明部
１３４    累積部
１４０    第１の情報処理部
１４１    構成検証部
１５０    第２の情報処理部
５３５    結合証明書生成部
【図１】
2009003853.tif 000003
【図２】
2009003853.tif 000004
【図３】
2009003853.tif 000005
【図４】
2009003853.tif 000006
【図５】
2009003853.tif 000007
【図６】
2009003853.tif 000008
【図７】
2009003853.tif 000009
【図８】
2009003853.tif 000010