説明

複数のソフトウェアを正しい順番で起動する情報端末およびセキュリティモジュール

【課題】情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止する。
【解決手段】情報端末であり、第1の提供者の情報処理モジュール群を実行することで構成される第1の情報処理部と、第2の提供者の情報処理モジュール群を実行することで構成される第2の情報処理部と、セキュリティモジュールとを備え、セキュリティモジュールが、ソフトウェアモジュールのダイジェストの累積値を算出してレジスタに格納する累積部と、ソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタと、ソフトウェアモジュールの構成を証明する構成証明部とを備え、第1の情報処理部が、構成証明部によって生成された構成証明データを検証して、第2の提供者の情報処理モジュール群のソフトウェアモジュールの起動を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パーソナルコンピュータや携帯電話などの情報通信機器、インターネットアクセス機能を備えたテレビ受信装置などの情報家電機器等の情報端末と、その情報端末に内蔵されるセキュリティモジュールに関するものである。特に、情報端末のソフトウェアが複数の提供者から提供される複数のモジュール群から構成される場合において、起動するモジュールの順番を変えたり、不正な動作をするモジュールにすり替えたり、不正にソフトウェアを古いのバージョンに戻したりするといった不正行為を防止し、ソフトウェアを常に正しい順番、正しい構成で起動することを可能にするものである。
【背景技術】
【0002】
近年、ネットワークを介して提供されるサービスは、音楽や映像といった著作物の提供や、企業が保有する機密情報の閲覧、オンラインバンキングなど多岐に渡り、かつ、その中で扱われる情報の価値も高価なものになってきている。多岐に渡るサービスに対応するため、パーソナルコンピュータ、携帯端末、携帯電話、デジタル家電などの情報端末には、複数の提供者から提供された複数のソフトウェアがインストールされている。
【0003】
例えば、携帯電話の場合、携帯電話の端末メーカーが提供する携帯電話の基本機能に関するモジュール群と、携帯電話のオペレータが提供する携帯通信機能に関するモジュール群と、ISP(Internet Service Provider)が提供する携帯電話上で動作するサービス・アプリケーションを構成するモジュール群がインストールされている場合がある。
【0004】
各モジュール群には、複数のソフトウェアモジュールが含まれ、改ざん等の不正行為を防止する仕組みがモジュール群ごとに組み込まれている。例えば、各ソフトウェアモジュールに対して提供者が証明書を発行し、各ソフトウェアモジュールの起動時に、その証明書を用いてソフトウェアモジュールの完全性を検証するといった仕組もその一つである。この仕組は、モジュール群を構成するソフトウェアモジュールをモジュール単位で更新する場合にも有効であり、モジュール群の提供者が新しいソフトウェアモジュールと共に、その新しいソフトウェアモジュールの証明書を提供することにより、新しいソフトウェアモジュールの完全性を検証することが可能となる。
【0005】
上記の証明書を用いて不正行為を防止する仕組みと同様の技術は、例えば特許文献1において公開されている。
【特許文献1】US2005/0021968
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、従来提案されている技術では、図8に示すように、情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合に課題がある。第2の提供者が提供するモジュール群が何らかの問題がある古いモジュールにすり替えられてしまった場合、それらの証明書は古いというだけで証明書に施されている署名等は正しいものであるため、第1の提供者が提供するモジュール群は古い不正なモジュールであることが検出できない。その検出を可能にするためには 、第2の提供者のモジュール群に関する参照情報を第1の提供者が提供するモジュール群が保持し、第2の提供者のモジュール群が更新される度に、それを安全に更新するメカニズムが必要となり、この場合、提供者の異なる各モジュール群の独立性が損なわれるという問題がある。
【0007】
また、各のモジュール群が提供する機能の高機能化等により、モジュール群に含まれるソフトウェアモジュールの数が多くなった場合、ソフトウェアモジュールごとに証明書を用いた完全性の検証処理を行う必要があるために、モジュール群の起動にかかる時間が増大するという問題がある。複数のソフトウェアモジュールを統合して、ソフトウェアモジュールの数が多くならないようにする対策も考えられるが、その場合、ソフトウェアモジュールの更新は、本来のソフトウェアモジュールの単位で行うことが出来なくなり、更新の必要のないソフトウェアモジュールも含めた統合されたソフトウェアモジュールの単位で行う必要がある。特に、情報端末が、携帯電話のように、通信量に応じて課金が行われるような端末の場合には、更新の必要のないソフトウェアモジュールを一緒に受信する必要があるということは、ユーザにとって望ましいことではない。
【0008】
本発明は、こうした従来の問題点を解決するものであり、情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止し、他の提供者のモジュール群に関する参照情報を保持することなく、各提供者のモジュール群の更新処理を個別に行うことが可能な情報端末と、その情報端末に内蔵されるセキュリティモジュールを提供することを目的としている。
【0009】
また、本発明は、モジュール群に含まれるソフトウェアモジュールの数が多くなった場合でも、安全性を損なうことなく、モジュール群の起動にかかる時間が増大することない情報端末と、その情報端末に内蔵されるセキュリティモジュールを提供することを目的としている。
【課題を解決するための手段】
【0010】
本発明の情報端末は、CPUと、セキュリティモジュールと、前記CPUが実行する1組以上のソフトウェアモジュールと証明書の組合せから構成されるモジュール群を複数個格納する格納手段と、前記CPUが前記格納手段に格納される第1のモジュール群を実行することによって構成される第1の情報処理手段と、前記CPUが前記格納手段に格納される第2のモジュール群を実行することによって構成される第2の情報処理手段と、から構成される情報端末であって、前記第1の情報処理手段は、第2の情報処理手段を構成するソフトウェアモジュールの有効性を検証し、前記第2のモジュール群のソフトウェアモジュールの起動を制御する構成検証手段を含み、前記セキュリティモジュールは、前記第2の情報処理手段を構成するソフトウェアモジュールのダイジェストの累積値を算出してレジスタに格納する累積手段と、前記第2の情報処理手段を構成するソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタと、前記第2の情報処理手段を構成するソフトウェアモジュールの構成を証明する構成証明手段と、を含み、前記証明書は、対応するソフトウェアモジュールのダイジェストを含む参照計測値と、対応するソフトウェアモジュールが実行される前の状態において前記セキュリティモジュールのレジスタに保持されるべき、前記第2の情報処理手段を構成するソフトウェアモジュールのダイジェストの累積値を示す参照累積値と、対応するソフトウェアモジュールのバージョンを示す参照カウンタ値と、を含み、前記構成証明手段は、前記構成検証手段からの要求に基づいて、前記レジスタが保持する累積値と前記カウンタが保持するカウンタ値とを含むデータに電子署名を施した構成証明データを生成し、前記構成検証手段は、前記構成証明手段が生成した構成証明データを受信し、前記格納手段が格納する第2のモジュール群のソフトウェアモジュールのダイジェストと対応する証明書の参照計測値との照合と、前記受信した構成証明データの累積値と対応する証明書の参照累積値との照合と、対応する証明書の参照カウンタ値が前記受信した構成証明データのカウンタ値以上であることの判定と、前記受信した構成証明データの電子署名の検証を行って、前記ソフトウェアモジュールの有効性を検証し、前記検証に成功した場合に、前記第2のモジュール群のソフトウェアモジュールを起動する構成を採る。
【0011】
本発明の情報端末によれば、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止することが出来る。
また、本発明の情報端末は、前記セキュリティモジュールが、さらに、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を含み、前記連続する順番で起動される複数のソフトウェアモジュールに対して前記結合証明書生成手段が生成した結合証明書を用いて、前記構成検証手段が前記連続する順番で起動される複数のソフトウェアモジュールの有効性の検証を行う構成を採る。
【0012】
本発明の情報端末によれば、検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができる。
また、本発明の情報端末は、CPUと、セキュリティモジュールと、前記CPUが実行する1組以上のソフトウェアモジュールと証明書の組合せから構成されるモジュール群を複数個格納する格納手段と、前記証明書を用いて、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段と、から構成される情報端末であって、前記連続する順番で起動される複数のソフトウェアモジュールに対して前記結合証明書生成手段が生成した結合証明書を用いて、前記構成検証手段が前記連続する順番で起動される複数のソフトウェアモジュールの有効性の検証を行い、前記格納手段に格納されるソフトウェアモジュールを起動する。
【0013】
本発明の情報端末によれば、検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができる。
本発明のセキュリティモジュールは、情報端末に内蔵するセキュリティモジュールであって、前記情報端末が実行するソフトウェアモジュールのダイジェストの累積値を算出してレジスタに格納する累積手段と、前記ソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタと、前記レジスタに格納された累積値と前記カウンタが保持するカウンタ値を含むデータに電子署名を施した、前記情報端末が実行するソフトウェアモジュールの構成を証明する構成証明データを生成する構成証明手段と、を備える。
【0014】
本発明のセキュリティモジュールを内蔵する情報端末は、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止することが出来る。
また、本発明のセキュリティモジュールは、前記セキュリティモジュールが、さらに、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を備える。
【0015】
本発明のセキュリティモジュールを内蔵する情報端末は、検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができる。
また、本発明のセキュリティモジュールは、情報端末に内蔵するセキュリティモジュールであって、前記情報端末が実行するソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を備える。
【0016】
本発明のセキュリティモジュールを内蔵する情報端末は、検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができる。
【発明の効果】
【0017】
情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合において、モジュール群を古いモジュール群にすりかえるといった不正行為を防止し、他の提供者のモジュール群に関する参照情報を保持することなく、各提供者のモジュール群の更新処理を個別に行うことが可能となる。
また、結合証明書を生成することにより、起動時に検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【0018】
(第1の実施形態)
本発明の第1の実施形態における情報端末100の構成について説明する。
本実施の形態では、説明を簡単にするため、情報端末100は、第1の提供者と第2の提供者の2つの提供者からソフトウェアを搭載しているものとする。
情報端末100は、図1に示すように、CPU110と、セキュリティモジュール130と、CPU110が実行する第1の提供者の情報処理モジュール群121と第2の提供者の情報処理モジュール群122を格納する格納部120と、CPU110が格納手段120に格納される第1の提供者の情報処理モジュール群121を実行することによって構成される第1の情報処理部140と、CPU110が格納手段120に格納される第2の提供者の情報処理モジュール群122を実行することによって構成される第2の情報処理部150と、から構成される。
【0019】
第1の情報処理手段140は、第2の情報処理手段を構成するソフトウェアモジュールの有効性を検証する構成検証部141を含み、セキュリティモジュール130は、第2の情報処理手段を構成するソフトウェアモジュールのダイジェストの累積値を算出してレジスタ132に格納する累積部134と、第2の情報処理手段を構成するソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタ131と、第2の情報処理手段を構成するソフトウェアモジュールの構成を証明する構成証明部133と、から構成され、これらの構成要素は耐タンパ化されており、外部からのアクセスに対して保護されている。また、格納部102は、具体的には不揮発性メモリやハードディスクその他の記憶装置によって実現される。
【0020】
格納部120には、図2に示すように、第1の提供者の情報処理モジュール群121、第2の提供者の情報処理モジュール群122として、それぞれ、複数のモジュールが格納され、各モジュールに対応する証明書がそれぞれ格納されている。図2に示した例では、第1の提供者の情報処理モジュール群121としては、3個のモジュールは格納され、例えば、モジュール#12には、対応する証明書として証明書#12が格納されている。また、第2の提供者の情報処理モジュール群122としては、5個のモジュールは格納され、例えば、モジュール#21には、対応する証明書として証明書#21が格納されている。
【0021】
格納部120に格納される第1の提供者の情報処理モジュール群121と第2の提供者の情報処理モジュール群122は、個々の提供者によってモジュールごとに個別に更新される。この時、証明書も新しいモジュールに対応する証明書に更新される。
図3は、証明書のデータ構造を示しており、証明書は、モジュールの識別情報301と、
モジュールのバージョン302と、モジュールのダイジェストとしてモジュールのバイナリコードのハッシュした場合の値を示す参照計測値303と、モジュールが実行される前の状態においてセキュリティモジュール130のレジスタ132に保持されるべき累積値を示す参照累積値304と、モジュールのバージョンを示す参照カウンタ値305と、証明書を検証する鍵を示す検証鍵ID306と、検証鍵ID306が示す鍵に対応する秘密鍵による電子署名307と、とから構成される。
【0022】
次に、図4(a)を用いて、第1の情報処理部140が、第2の情報処理部150を構成するモジュールの一つであるモジュール#21の有効性を検証して起動する処理の動作について説明する。
まず、第1の情報処理部140の構成検証部141がセキュリティモジュール130に構成証明を要求する(ステップS401)。すると、キュリティモジュール130の構成証明部133が、構成検証部141からの要求に基づいて、図4(b)に示すようなデータ構造の構成証明データ410を生成する。構成証明データ410は、レジスタ132が保持する累積値411とカウンタ131が保持するカウンタ値412と、構成検証部141からの構成証明の要求に含まれていたnonce413とを含むデータにセキュリティモジュール130の秘密鍵による電子署名414を施したものである。
【0023】
次に、構成検証部141がセキュリティモジュール130が生成した構成証明データを検証する(ステップS402)。構成証明データの検証では、格納部120に格納されている証明書#21に施されている署名を検証して、証明書#21が改ざんされていないことを検証する。さらに、格納部120に格納されているモジュール#21のバイナリコードのハッシュ値を算出して、証明書#21の参照計測値と照合し、格納部120に格納されているモジュール#21が証明書#21が証明するモジュールと同一のものであることを検証する。さらに、受信した構成証明データに含まれる累積値と証明書#21の参照累積値と照合して、モジュール#21を起動する前の状態としての第2の情報処理部150を構成するモジュールの構成が正しいこと、つまり、モジュール#21が起動される順番が正しいことを検証する。
【0024】
さらに、証明書#21の参照カウンタ値が受信した構成証明データに含まれるカウンタ値以上であることの判定し、モジュール#21が古いバージョンではないことを検証し、構成証明データに施された電子署名を検証し、受信した構成証明データがセキュリティモジュール130によって生成したものであることを検証する。
ステップS402の検証に失敗した場合、モジュール#21の起動を中止し、ステップS402の検証に成功した場合、構成検証部141が、セキュリティモジュール130にモジュール#21のダイジェストの累積を要求して、セキュリティモジュール130の累積部134がモジュール#21のダイジェストをレジスタ132に累積し(ステップS403)、構成検証部141が、モジュール#21を起動する(ステップS404)。
【0025】
以上のように、構成検証部141が、構成証明データを検証することにより、格納部120に格納されているモジュール#21が証明書#21が証明するモジュールであり、かつ、モジュール#21が起動される順番が正しく、かつ、モジュール#21が古いバージョンにすりかえられていないことを検証した上で、モジュール#21を起動することが出来る。
【0026】
以上で説明したモジュール#21の起動のメカニズムを、他のモジュールにも適用することにより、各モジュールを正しい順番で、かつ、古いモジュールにすりかえるといった不正行為を防止した上で、起動することが出来る。この場合、構成検証部141自体は、第2の提供者のモジュール群に関する参照情報を予めセキュアな形態で保持しておく必要はなく、第1の提供者の情報処理モジュール群と第2の提供者の情報処理モジュール群は、個々の提供者によってモジュールごとに個別に更新を行うことができる。
【0027】
なお、モジュール#22、モジュール#23、モジュール#24、モジュール#25の起動に関しては、各モジュール群に組み込まれた、証明書を用いた従来の不正行為を防止する仕組みを用いるようにしてもよい。モジュール#21の起動に関しては、図4において説明したフローに基づいて、正しいソフトウェアモジュールを起動することが出来るので、起動されたモジュール#21が、第2の提供者の情報処理モジュール群に組み込まれた従来の不正行為を防止する仕組みを用いて、モジュール#22、モジュール#23、モジュール#24、モジュール#25を起動することにより、各モジュールを正しい順番で、かつ、古いモジュールにすりかえるといった不正行為を防止した上で、起動することが出来る。
【0028】
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムには限らず、これらの一部から構成されているコンピュータシステムであってもよい。
【0029】
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0030】
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全てを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0031】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0032】
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0033】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0034】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
以上のように、情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止し、他の提供者のモジュール群に関する参照情報を保持することなく、各提供者のモジュール群の更新処理を個別に行うことができる。
【0035】
(実施の形態2)
本発明の実施の形態2における情報端末500は、特に、ソフトウェアモジュールの数が多くなった場合でも、モジュール群の起動にかかる時間が増大することないように構成したものである。
図5は、本発明の実施の形態2における情報端末500のブロック構成を示している。第2の実施形態の場合には、セキュリティモジュール530の中に、さらに、連続して起動される複数のソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成部531が含まれる。それ以外のCPU110、格納部120、第1の情報処理部140、第2の情報処理部150は、第1の実施形態における情報端末100の場合と同じである。
【0036】
本実施の形態の場合、結合証明書生成部531は、第2の提供者の情報処理モジュール群に含まれるソフトウェアモジュールにおいて、連続して起動される複数のソフトウェアモジュールに対して、一つの証明書を生成する。
図6は、本実施の形態における格納部に格納されるモジュール群の例を示しており、第2の提供者の情報処理モジュール群622に関しては、実施の形態1の場合と同じ、5つのモジュールと各モジュールに対応し第2の提供者が提供する5つの証明書の他に、結合証明書生成部531が生成した、モジュール#21とモジュール#22に対応する結合証明書#212と、モジュール#23とモジュール#24、モジュール#25に対応する結合証明書#235と、が格納されている。つまり、図6は、モジュール#21とモジュール#22が、また、モジュール#23とモジュール#24、モジュール#25が連続して起動されるモジュールである場合を示している。
【0037】
第2の提供者から提供されたモジュールが格納部622に初めて格納された際には、結合証明書#212と結合証明書#235は格納されておらず、最初に、実施の形態1の場合と同じように、各モジュールに対応する証明書を用いて各モジュールの検証を実行しながら起動された際に、結合証明書#212と結合証明書#235は結合証明書生成部531によって生成される。
【0038】
図7は、結合証明書のデータ構造を示しており、結合証明書は、対応する複数のモジュールの識別情報のリストを含むモジュールの識別情報リスト701と、対応する複数のモジュールのバージョンのリストを含むモジュールのバージョンリスト702と、対応する複数のモジュールのバイナリコードを起動される順番で結合したバイナリデータのハッシュした場合の値を示す結合参照計測値703と、対応する複数のモジュールの内、最初に起動されるモジュールが実行される前の状態においてセキュリティモジュール130のレジスタ132に保持されるべき累積値を示す結合参照累積値704と、対応する複数のモジュールのバージョンを示す参照カウンタ値のリストを含む参照カウンタ値リスト705と、セキュリティモジュールの公開鍵ID706と、セキュリティモジュールの秘密鍵による電子署名707と、とから構成される。
【0039】
例えば、結合証明書#212の場合、実施の形態1において説明した手順によって、モジュール#21は証明書#21を用いて構成検証部141によって検証されて、起動され、次に、モジュール#22も証明書#22を用いて構成検証部141によって検証されて、起動される。
この時、結合証明書生成部531は、モジュール#21とモジュール#22が正しいソフトウェアモジュールであることが検証されたことから、モジュール#21とモジュール#22のバイナリコードを起動する順番で結合したバイナリデータを生成し、生成したバイナリデータのハッシュ値を算出して、結合証明書#212の結合参照計測値703とする。
【0040】
さらに、最初に起動されるモジュール#21に対応する証明書#21の参照累積値304を結合証明書#212の結合参照累積値704とし、さらに、証明書#21と証明書#22とから、それぞれ、モジュールの識別情報301と、モジュールのバージョン302と、モジュールのバージョンを示す参照カウンタ値305と、検証鍵ID306と、を抽出して、結合証明書#212のモジュールの識別情報リスト701と、モジュールのバージョンリスト702、参照カウンタ値リスト705を生成する。さらに、701〜705とセキュリティモジュールの公開鍵ID706を含むデータに関してセキュリティモジュールの秘密鍵による電子署名であるセキュリティモジュールの秘密鍵による署名707を生成して、結合証明書#212を生成する。
【0041】
結合証明書#212の場合と同様にして、結合証明書#235も結合証明書生成部531によって生成され、生成された結合証明書#212と結合証明書#235は、格納部120に格納される。
結合証明書#212と結合証明書#235が生成された後は、第2の提供者の情報処理モジュール群のソフトウェアモジュールの起動は、モジュール#21とモジュール#22に関しては、結合証明書#212を用いて検証が行われ、モジュール#23とモジュール#24、モジュール#25に関しては、結合証明書#235を用いて検証が行われる。この場合、検証する証明書の数を減らすことが出来るので、起動に要する時間を短縮することができ、仮に、ソフトウェアモジュールの数が増加した場合でも、連続して起動されるソフトウェアモジュールに関して、結合証明書生成部531が結合証明書を生成することにより、起動時間の増加を抑えることが出来る。
【0042】
また、モジュールが更新された場合には、更新後、最初に起動する際は、実施の形態1において説明した手順によって、各モジュールに対応する証明書を用いて各モジュールの検証を実行しながら起動する必要があるが、結合証明書が生成された後は、結合証明書を用いて短い時間で起動を行うことが出来る。
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【0043】
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムには限らず、これらの一部から構成されているコンピュータシステムであってもよい。
【0044】
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0045】
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全てを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0046】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0047】
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0048】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0049】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0050】
本発明は、パーソナルコンピュータや携帯電話、オーディオプレーヤ、テレビ受像機、ビデオレコーダなど、プログラムデータの更新を行う情報通信機器や家電機器に広く利用することができる。本発明の情報端末に搭載されるセキュリティモジュールをそれらの機器に搭載し、情報端末と同様の構成にすることによって、複数の提供者が提供するモジュール群から構成される場合における古いモジュール群にすりかえるといった不正行為を防止し、他の提供者のモジュール群に関する参照情報を保持することなく、各提供者のモジュール群の更新処理を個別に行うことが可能となる。
【0051】
また、セキュリティモジュールが結合証明書を生成することにより、安全性を損なうことなく、結合証明書を用いて短い時間で情報端末の起動を行うことが出来る。
【図面の簡単な説明】
【0052】
【図1】本発明の実施の形態1に係る情報端末の構成を示すブロック図
【図2】本発明の実施の形態1における格納部に格納されるモジュール群の構成の一例を示す図
【図3】本発明の実施の形態1における証明書のデータ構造を示す図
【図4】本発明の実施の形態1または実施の形態2における第1の情報処理部140が第2の情報処理部150を構成するモジュールの一つであるモジュール#21の有効性を検証して起動する際に行う処理のフロー図、および、本発明の実施の形態1または実施の形態2における構成証明データのデータ構造を示す図
【図5】本発明の実施の形態1に係る情報端末の構成を示すブロック図
【図6】本発明の実施の形態1における格納部に格納されるモジュール群の構成の一例を示す図
【図7】本発明の実施の形態2における結合証明書のデータ構造を示す図
【図8】従来の技術に基づく、情報端末のソフトウェアが、複数の提供者が提供するモジュール群から構成される場合における起動処理を示す図
【符号の説明】
【0053】
100、500 情報端末
110 CPU
120 格納部
121 第1の提供者の情報処理モジュール群
122、622 第2の提供者の情報処理モジュール群
130 セキュリティモジュール
131 カウンタ
132 レジスタ
133 構成証明部
134 累積部
140 第1の情報処理部
141 構成検証部
150 第2の情報処理部
535 結合証明書生成部

【特許請求の範囲】
【請求項1】
CPUと、
セキュリティモジュールと、
前記CPUが実行する1組以上のソフトウェアモジュールと証明書の組合せから構成されるモジュール群を複数個格納する格納手段と、
前記CPUが前記格納手段に格納される第1のモジュール群を実行することによって構成される第1の情報処理手段と、
前記CPUが前記格納手段に格納される第2のモジュール群を実行することによって構成される第2の情報処理手段と、から構成される情報端末であって、
前記第1の情報処理手段は、第2の情報処理手段を構成するソフトウェアモジュールの有効性を検証し、前記第2のモジュール群のソフトウェアモジュールの起動を制御する構成検証手段を含み、
前記セキュリティモジュールは、
前記第2の情報処理手段を構成するソフトウェアモジュールのダイジェストの累積値を算出してレジスタに格納する累積手段と、
前記第2の情報処理手段を構成するソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタと、
前記第2の情報処理手段を構成するソフトウェアモジュールの構成を証明する構成証明手段と、を含み、
前記証明書は、
対応するソフトウェアモジュールのダイジェストを含む参照計測値と、
対応するソフトウェアモジュールが実行される前の状態において前記セキュリティモジュールのレジスタに保持されるべき、前記第2の情報処理手段を構成するソフトウェアモジュールのダイジェストの累積値を示す参照累積値と、
対応するソフトウェアモジュールのバージョンを示す参照カウンタ値と、を含み、
前記構成証明手段は、
前記構成検証手段からの要求に基づいて、前記レジスタが保持する累積値と前記カウンタが保持するカウンタ値とを含むデータに電子署名を施した構成証明データを生成し、
前記構成検証手段は、
前記構成証明手段が生成した構成証明データを受信し、前記格納手段が格納する第2のモジュール群のソフトウェアモジュールのダイジェストと対応する証明書の参照計測値との照合と、前記受信した構成証明データの累積値と対応する証明書の参照累積値との照合と、対応する証明書の参照カウンタ値が前記受信した構成証明データのカウンタ値以上であることの判定と、前記受信した構成証明データの電子署名の検証を行って、前記ソフトウェアモジュールの有効性を検証し、前記検証に成功した場合に、前記第2のモジュール群のソフトウェアモジュールを起動する
情報端末。
【請求項2】
前記セキュリティモジュールが、さらに、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を含み、前記連続する順番で起動される複数のソフトウェアモジュールに対して前記結合証明書生成手段が生成した結合証明書を用いて、前記構成検証手段が前記連続する順番で起動される複数のソフトウェアモジュールの有効性の検証を行う請求項1記載の情報端末。
【請求項3】
CPUと、
セキュリティモジュールと、
前記CPUが実行する1組以上のソフトウェアモジュールと証明書の組合せから構成されるモジュール群を複数個格納する格納手段と、
前記証明書を用いて、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段と、
から構成される情報端末であって、
前記連続する順番で起動される複数のソフトウェアモジュールに対して前記結合証明書生成手段が生成した結合証明書を用いて、前記構成検証手段が前記連続する順番で起動される複数のソフトウェアモジュールの有効性の検証を行い、前記格納手段に格納されるソフトウェアモジュールを起動する情報端末。
【請求項4】
情報端末に内蔵するセキュリティモジュールであって、
前記情報端末が実行するソフトウェアモジュールのダイジェストの累積値を算出してレジスタに格納する累積手段と、
前記ソフトウェアモジュールのバージョンを示すカウンタ値を保持するカウンタと、
前記レジスタに格納された累積値と前記カウンタが保持するカウンタ値を含むデータに電子署名を施した、前記情報端末が実行するソフトウェアモジュールの構成を証明する構成証明データを生成する構成証明手段と、
を備えるセキュリティモジュール。
【請求項5】
前記セキュリティモジュールが、さらに、前記ソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を備える請求項4記載のセキュリティモジュール。
【請求項6】
情報端末に内蔵するセキュリティモジュールであって、
前記情報端末が実行するソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を備えるセキュリティモジュール。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−3853(P2009−3853A)
【公開日】平成21年1月8日(2009.1.8)
【国際特許分類】
【出願番号】特願2007−166319(P2007−166319)
【出願日】平成19年6月25日(2007.6.25)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】