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

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

Info

Publication number
JP2009003853A
JP2009003853A JP2007166319A JP2007166319A JP2009003853A JP 2009003853 A JP2009003853 A JP 2009003853A JP 2007166319 A JP2007166319 A JP 2007166319A JP 2007166319 A JP2007166319 A JP 2007166319A JP 2009003853 A JP2009003853 A JP 2009003853A
Authority
JP
Japan
Prior art keywords
module
certificate
software
configuration
software modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007166319A
Other languages
English (en)
Inventor
Hisashi Takayama
久 高山
Hideki Matsushima
秀樹 松島
Takayuki Ito
孝幸 伊藤
Tomoyuki Haga
智之 芳賀
Kenneth Alexander Nicolson
アレクサンダー ニコルソン ケネス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2007166319A priority Critical patent/JP2009003853A/ja
Publication of JP2009003853A publication Critical patent/JP2009003853A/ja
Pending legal-status Critical Current

Links

Images

Abstract

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

Description

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

Claims (6)

  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. 情報端末に内蔵するセキュリティモジュールであって、
    前記情報端末が実行するソフトウェアモジュールの有効性の検証に成功したソフトウェアモジュールの内、連続する順番で起動される複数ソフトウェアモジュールに対応する結合証明書を生成する結合証明書生成手段を備えるセキュリティモジュール。
JP2007166319A 2007-06-25 2007-06-25 複数のソフトウェアを正しい順番で起動する情報端末およびセキュリティモジュール Pending JP2009003853A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007166319A JP2009003853A (ja) 2007-06-25 2007-06-25 複数のソフトウェアを正しい順番で起動する情報端末およびセキュリティモジュール

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007166319A JP2009003853A (ja) 2007-06-25 2007-06-25 複数のソフトウェアを正しい順番で起動する情報端末およびセキュリティモジュール

Publications (1)

Publication Number Publication Date
JP2009003853A true JP2009003853A (ja) 2009-01-08

Family

ID=40320147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007166319A Pending JP2009003853A (ja) 2007-06-25 2007-06-25 複数のソフトウェアを正しい順番で起動する情報端末およびセキュリティモジュール

Country Status (1)

Country Link
JP (1) JP2009003853A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010092832A1 (ja) * 2009-02-16 2010-08-19 パナソニック株式会社 不正モジュール特定装置、情報処理装置、不正モジュール特定方法、不正モジュール特定プログラム、集積回路、不正モジュール無効化システム、および不正モジュール無効化方法
WO2010092830A1 (ja) * 2009-02-16 2010-08-19 パナソニック株式会社 改竄監視システム、管理装置及び改竄管理方法
JP2013501300A (ja) * 2009-08-04 2013-01-10 カーネギー メロン ユニバーシティ マルウェアがある状態でユーザが検証可能な信頼性のあるパスを得るための方法および機器
WO2020027159A1 (ja) * 2018-07-31 2020-02-06 日本電信電話株式会社 情報処理装置、検証方法および検証プログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010092832A1 (ja) * 2009-02-16 2010-08-19 パナソニック株式会社 不正モジュール特定装置、情報処理装置、不正モジュール特定方法、不正モジュール特定プログラム、集積回路、不正モジュール無効化システム、および不正モジュール無効化方法
WO2010092830A1 (ja) * 2009-02-16 2010-08-19 パナソニック株式会社 改竄監視システム、管理装置及び改竄管理方法
CN102301374A (zh) * 2009-02-16 2011-12-28 松下电器产业株式会社 非法模块确定装置、信息处理装置、非法模块确定方法、非法模块确定程序、集成电路、非法模块无效化系统及非法模块无效化方法
US8544093B2 (en) 2009-02-16 2013-09-24 Panasonic Corporation Illegal module identifying device, information processing device, illegal module identifying method, illegal module identifying program, integrated circuit, illegal module disabling system, and illegal module disabling method
JP5453323B2 (ja) * 2009-02-16 2014-03-26 パナソニック株式会社 改竄監視システム、管理装置及び改竄管理方法
JP5453324B2 (ja) * 2009-02-16 2014-03-26 パナソニック株式会社 不正モジュール特定装置、情報処理装置、不正モジュール特定方法、不正モジュール特定プログラム、集積回路、不正モジュール無効化システム、および不正モジュール無効化方法
US8726374B2 (en) 2009-02-16 2014-05-13 Panasonic Corporation Tampering monitoring system, control device, and tampering control method
JP2013501300A (ja) * 2009-08-04 2013-01-10 カーネギー メロン ユニバーシティ マルウェアがある状態でユーザが検証可能な信頼性のあるパスを得るための方法および機器
WO2020027159A1 (ja) * 2018-07-31 2020-02-06 日本電信電話株式会社 情報処理装置、検証方法および検証プログラム
JP2020021270A (ja) * 2018-07-31 2020-02-06 日本電信電話株式会社 情報処理装置、検証方法および検証プログラム
AU2019313886B2 (en) * 2018-07-31 2022-04-21 Nippon Telegraph And Telephone Corporation Information processing device, verification method and verification program

Similar Documents

Publication Publication Date Title
US9626513B1 (en) Trusted modular firmware update using digital certificate
JP5385148B2 (ja) セキュアブート端末、セキュアブート方法、セキュアブートプログラム、記録媒体及び集積回路
US8479000B2 (en) Information processing device, authentication system, authentication device, information processing method, information processing program, recording medium, and integrated circuit
US9281949B2 (en) Device using secure processing zone to establish trust for digital rights management
JP4906854B2 (ja) 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路
US8560820B2 (en) Single security model in booting a computing device
CA2450844C (en) A method for securing an electronic device, a security system and an electronic device
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
JP5357152B2 (ja) 情報処理装置、情報処理方法、これらを実現するコンピュータプログラム及び集積回路
JP5097130B2 (ja) 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム
WO2011001685A1 (en) Secure boot method and secure boot apparatus
JP2004280284A (ja) 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法
JP2008527565A (ja) 十分に正当な/最新のコードであることを確実にして行使する最後の防衛線
US8751811B2 (en) Integrated circuit and system for installing computer code thereon
CN111506327B (zh) 区块链节点热升级方法及相关设备
CN102196317A (zh) 一种机顶盒的保护方法及机顶盒
JP2009003853A (ja) 複数のソフトウェアを正しい順番で起動する情報端末およびセキュリティモジュール
JP4818824B2 (ja) プログラム管理システムおよび端末装置
JP2011165221A (ja) 機器情報送信方法、機器情報送信装置、機器情報送信プログラム
KR20130100032A (ko) 코드 서명 기법을 이용한 스마트폰 어플리케이션 배포 방법
EP3048776B1 (en) Methods for managing content, computer program products and secure element
JP2005301530A (ja) プログラム、コンピュータおよびデータ処理方法