(57)【要約】【課題】起動した通常モジュール又は起動した救援モジュールから一意に計算される値を用いた情報の暗号化及び復号を、少ない手間で行うことができる情報処理装置、ソフトウェア更新方法及び画像処理装置を提供することを目的とする。【解決手段】通常モジュールと救援モジュールとを有し、通常モジュールに異常が発生した場合に同一種類の救援モジュールを使用して起動する情報処理装置であって、使用した通常モジュール又は救援モジュールから計算される値を格納する値格納手段７と、値に基づいて暗号化されている情報を格納する暗号化情報格納手段と、値を用いて情報を復号する情報復号手段と、通常モジュール又は救援モジュールを更新する際、暗号化情報格納手段に格納されている情報を、更新後の通常モジュール又は救援モジュールから計算された値に基づいて暗号化し直す暗号化情報更新手段とを有することで上記課題を解決する。【選択図】図１１
2008226158.tif 000002
【特許請求の範囲】
【請求項１】
自装置の起動に必要な１種類以上の通常モジュールと、前記通常モジュールに異常が発生した場合に使用する１種類以上の救援モジュールとを有し、何れかの種類の前記通常モジュールに異常が発生した場合に、同一種類の前記救援モジュールを使用して起動する情報処理装置であって、
自装置の起動に使用した１種類以上の前記通常モジュール又は救援モジュールから一意に計算される値をそれぞれ格納する値格納手段と、
１種類以上の前記通常モジュール又は救援モジュール毎に計算されたそれぞれの値に基づいて暗号化されている、前記種類毎に異なる情報を格納する暗号化情報格納手段と、
前記値格納手段に格納されている値を用いて、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を復号する情報復号手段と、
前記通常モジュール又は救援モジュールを更新する際、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を、更新後の前記通常モジュール又は救援モジュールから計算された値に基づいて暗号化し直す暗号化情報更新手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記通常モジュール又は救援モジュールの種類毎に異なる情報は、使用者の使用しているデータを暗号化又は復号する為の暗号鍵を、暗号化又は復号する為に使用されることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記暗号鍵を更新する際、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を用いて更新後の前記暗号鍵を暗号化した後、更新前の前記暗号鍵を用いて使用者の使用するデータを復号し、更に更新後の前記暗号鍵を用いて使用者の使用するデータを暗号化し直す請求項２記載の情報処理装置。
【請求項４】
前記暗号化情報格納手段は、前記種類毎に異なる情報を用いて暗号化された前記暗号鍵を格納することを特徴とする請求項２又は３記載の情報処理装置。
【請求項５】
前記暗号化情報格納手段は、出荷後に更新されない前記救援モジュールから一意に計算される値に基づいて暗号化されている、前記暗号鍵を格納することを特徴とする請求項２又は３記載の情報処理装置。
【請求項６】
前記通常モジュール及び救援モジュールが格納されていたモジュール格納手段を更新する際、前記モジュール格納手段にインストールされた前記救援モジュールを使用して起動を行い、前記通常モジュール又は救援モジュールの種類毎に異なる情報を新たに生成して前記暗号化情報格納手段を作成し直す一方、
前記暗号鍵が格納されている前記暗号化情報格納手段から前記情報復号手段を用いて前記暗号鍵を復号し、新たに生成した前記通常モジュール又は救援モジュールの種類毎に異なる情報で暗号化することを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記情報復号手段は、前記暗号化情報格納手段が暗号化に用いた値と、前記値格納手段に格納されている値とを比較し、前記暗号化情報格納手段が暗号化に用いた値と、前記値格納手段に格納されている値とが一致していれば、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を復号することを特徴とする請求項１記載の情報処理装置。
【請求項８】
前記値格納手段は、ＴＰＭ（Trusted Platform Module）によって実現されることを特徴とする請求項１乃至７何れか一項記載の情報処理装置。
【請求項９】
自装置の起動に必要な1種類以上の通常モジュールと、前記通常モジュールに異常が発生した場合に使用する１種類以上の救援モジュールとを有し、何れかの種類の前記通常モジュールに異常が発生した場合に、同一種類の前記救援モジュールを使用して起動する情報処理装置のソフトウェア更新方法であって、
自装置の起動に使用した１種類以上の前記通常モジュール又は救援モジュールから一意に計算される値を値格納手段がそれぞれ格納する値格納ステップと、
１種類以上の前記通常モジュール又は救援モジュール毎に計算されたそれぞれの値に基づいて暗号化されている、前記種類毎に異なる情報を暗号化情報格納手段が格納する暗号化情報格納ステップと、
前記値格納手段に格納されている値を用いて、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を情報復号手段が復号する情報復号ステップと、
前記通常モジュール又は救援モジュールを更新する際、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を、更新後の前記通常モジュール又は救援モジュールから計算された値に基づいて暗号化情報更新手段が暗号化し直す暗号化情報更新ステップと
を有することを特徴とするソフトウェア更新方法。
【請求項１０】
前記通常モジュール又は救援モジュールの種類毎に異なる情報は、使用者の使用しているデータを暗号化又は復号する為の暗号鍵を、暗号化又は復号する為に使用されることを特徴とする請求項９記載のソフトウェア更新方法。
【請求項１１】
前記暗号鍵を更新する際、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を用いて更新後の前記暗号鍵を暗号化した後、更新前の前記暗号鍵を用いて使用者の使用するデータを復号し、更に更新後の前記暗号鍵を用いて使用者の使用するデータを暗号化し直す請求項１０記載のソフトウェア更新方法。
【請求項１２】
前記暗号化情報格納手段は、前記種類毎に異なる情報を用いて暗号化された前記暗号鍵を格納することを特徴とする請求項１０又は１１記載のソフトウェア更新方法。
【請求項１３】
前記暗号化情報格納手段は、出荷後に更新されない前記救援モジュールから一意に計算される値に基づいて暗号化されている、前記暗号鍵を格納することを特徴とする請求項１０又は１１記載のソフトウェア更新方法。
【請求項１４】
前記通常モジュール及び救援モジュールが格納されていたモジュール格納手段を更新する際、前記モジュール格納手段にインストールされた前記救援モジュールを使用して起動を行い、前記通常モジュール又は救援モジュールの種類毎に異なる情報を新たに生成して前記暗号化情報格納手段を作成し直す一方、
前記暗号鍵が格納されている前記暗号化情報格納手段から前記情報復号手段を用いて前記暗号鍵を復号し、新たに生成した前記通常モジュール又は救援モジュールの種類毎に異なる情報で暗号化することを特徴とする請求項１３記載のソフトウェア更新方法。
【請求項１５】
前記情報復号手段は、前記暗号化情報格納手段が暗号化に用いた値と、前記値格納手段に格納されている値とを比較し、前記暗号化情報格納手段が暗号化に用いた値と、前記値格納手段に格納されている値とが一致していれば、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を復号することを特徴とする請求項９記載のソフトウェア更新方法。
【請求項１６】
前記値格納手段は、ＴＰＭ（Trusted Platform Module）によって実現されることを特徴とする請求項９乃至１５何れか一項記載のソフトウェア更新方法。
【請求項１７】
自装置の起動に必要な1種類以上の通常モジュールと、前記通常モジュールに異常が発生した場合に使用する１種類以上の救援モジュールとを有し、何れかの種類の前記通常モジュールに異常が発生した場合に、同一種類の前記救援モジュールを使用して起動するプロッタ部とスキャナ部とを有する画像処理装置であって、
自装置の起動に使用した１種類以上の前記通常モジュール又は救援モジュールから一意に計算される値をそれぞれ格納する値格納手段と、
１種類以上の前記通常モジュール又は救援モジュール毎に計算されたそれぞれの値に基づいて暗号化されている、前記種類毎に異なる情報を格納する暗号化情報格納手段と、
前記値格納手段に格納されている値を用いて、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を復号する情報復号手段と、
前記通常モジュール又は救援モジュールを更新する際、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を、更新後の前記通常モジュール又は救援モジュールから計算された値に基づいて暗号化し直す暗号化情報更新手段と
を有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ソフトウェア更新方法及び画像処理装置に係り、特に通常モジュールと救援モジュールとを有する情報処理装置又は画像処理装置、その情報処理装置又は画像処理装置におけるソフトウェア更新方法に関する。
【背景技術】
【０００２】
近年、ＰＣ等の情報処理装置や複合機（ＭＦＰ）等の画像処理装置では、セキュリティ意識の高まりに伴い、盗聴等を防ぐため、装置内部に保存している情報の暗号化が可能となった。例えば特許文献１には、ＴＣＰＡ（Trusted Computing Platform Alliance）の仕様に基づいたＰＣにおいて、ＴＰＭ（Trusted Platform Module ）を用いた情報の暗号化について記載されている。ＴＰＭは、例えばマザーボードに直付けされるチップで実現される。
【０００３】
また、ＰＣ等の情報処理装置や複合機等の画像処理装置では故障等に備えるため、システムの二重化などが行われている。さらに、ＰＣ等の情報処理装置や複合機等の画像処理装置では、バグやセキュリティホール、又は機能の追加、変更等に対処する為、プログラムの更新が行われている（例えば特許文献２参照）。
【０００４】
ここで、ＴＰＭを用いた情報の暗号化及び復号と、プログラムの更新（以下、ＲＯＭ更新と呼ぶ）とについて簡単に説明する。図１は情報処理装置の一例の構成図である。図１の情報処理装置は、ＣＰＵ１，ＢＩＯＳ  ＲＯＭ２，ディスク３，ＮＶ（不揮発性）ＲＡＭ４及び主記憶装置５を有しているハードウェア構成である。ＣＰＵ１，ＢＩＯＳ  ＲＯＭ２，ディスク３，ＮＶＲＡＭ４及び主記憶装置５は、バス（Bus）６を介して接続されている。
【０００５】
ＢＩＯＳ  ＲＯＭ２は、モジュールであるＢＩＯＳ（Basic Input/Output System）１０を格納している。また、ディスク３はモジュールであるローダ（Loader）１１，カーネル（Kernel）１２，ルートファイルシステム（Rootfs）１３を格納している。また、ＮＶＲＡＭ４は使用者の使用する平文データ１４を格納している。
【０００６】
ルートファイルシステム１３はディスク３に格納されている起動プログラム２１，ＲＯＭ更新フラグ制御プログラム２２，ブロブ復号部２３，アプリケーション２４を管理している。なお、ＢＩＯＳ１０，ローダ１１，カーネル１２，ルートファイルシステム１３等のモジュールは、ＣＰＵ１により主記憶装置５へ読み込まれて実行される。以下の説明では説明の便宜上、ＢＩＯＳ１０，ローダ１１，カーネル１２，ルートファイルシステム１３等のモジュールを処理主体として説明する。
【０００７】
図１の情報処理装置における起動シーケンスについて図２を参照しつつ説明する。図２は情報処理装置における起動時の処理を表した一例のシーケンス図である。ステップＳ１及びＳ２では、ＢＩＯＳ１０が、ローダ１１を読み込んで起動する。ステップＳ３〜Ｓ５では、ローダ１１が、カーネル１２及びルートファイルシステム１３を読み込み、カーネル１２及びルートファイルシステム１３を起動する。
【０００８】
ステップＳ６では、カーネル１２が、ルートファイルシステム１３の管理している起動プログラム２１を起動する。ステップＳ７では、起動プログラム２１が、ルートファイルシステム１３の管理しているアプリケーション２４を起動する。そして、ステップＳ８に進み、アプリケーション２４はＮＶＲＡＭ４へのデータの書き込み、又はＮＶＲＡＭ４に格納されている例えば平文データ１４の読み込みが可能となる。
【０００９】
次に、ＴＰＭの仕組みについて簡単に説明する。ここでは、ローダ１１がカーネル１２を起動する例を説明する。
【００１０】
図３はＴＰＭにハッシュ値を格納する処理手順を表した模式図である。ステップＳ１１に進み、ローダ１１がディスク３から主記憶装置５へカーネル１２を読み込む。ステップＳ１２に進み、ＴＰＭ７はカーネル１２の例えば原文から固定長の疑似乱数を生成する演算手法によって計算されるハッシュ値をＰＣＲ（Platform Configuration Register）へ格納する。例えば図３では、カーネル１２のハッシュ値「０ｘ３ａ」が「ＰＣＲ３」へ格納されている。そして、ステップＳ１３に進み、ローダ１１はカーネル１２を起動する。
【００１１】
このように、ＴＰＭ７はＢＩＯＳ１０，ローダ１１，カーネル１２，ルートファイルシステム１３等のモジュールを起動する際、そのモジュールから計算されるハッシュ値をＰＣＲへ格納する。
【００１２】
図４はＴＰＭを用いた情報の復号を表す模式図である。ＴＰＭ７にはモジュールを起動する際に４つのハッシュ値が「ＰＣＲ１」〜「ＰＣＲ４」へ格納されている。ＴＰＭ７を用いた情報の暗号化では「ＰＣＲ１」〜「ＰＣＲ４」の内、少なくとも１つのＰＣＲが設定されている、暗号化された情報である内容物を含むブロブ（Blob）Ａ４１及びブロブＢ４２が利用される。
【００１３】
ブロブＡ４１は「ＰＣＲ３」に「０ｘ３ａ」が格納されている。ブロブＢ４２は「ＰＣＲ１」〜「ＰＣＲ４」に「０ｘｅ９」，「０ｘ１２」，「０ｘ３ｂ」，「０ｘ０６」が格納されている。また、ＴＰＭ７は「ＰＣＲ１」〜「ＰＣＲ４」に「０ｘｅ９」，「０ｘ１２」，「０ｘ３ａ」，「０ｘ０６」が格納されている。
【００１４】
ブロブＡ４１の場合、ブロブＡ４１の「ＰＣＲ３」及びＴＰＭ７の「ＰＣＲ３」に同じハッシュ値が格納されているため、ＴＰＭ７はブロブＡ４１からの内容物の取り出しを許可する。また、ブロブＢ４２の場合、ブロブＢ４２の「ＰＣＲ３」及びＴＰＭ７の「ＰＣＲ３」に異なるハッシュ値が格納されているため、ＴＰＭ７はブロブＢ４２からの内容物の取り出しを許可しない。なお、ＴＰＭ７はブロブＡ４１の「ＰＣＲ１」，「ＰＣＲ２」及び「ＰＣＲ４」のように「設定なし」が格納されている場合、そのＰＣＲを内容物の取り出しの許可又は不許可の判定に利用しない。
【００１５】
図５はＴＰＭを備えた情報処理装置の一例の構成図である。図５の情報処理装置は、ＣＰＵ１，ＢＩＯＳ  ＲＯＭ２，ディスク３，ＮＶＲＡＭ４，主記憶装置５，ＴＰＭ７及びハードディスクドライブ（ＨＤＤ）８を有しているハードウェア構成である。なお、ＣＰＵ１，ＢＩＯＳ  ＲＯＭ２，ディスク３，ＮＶＲＡＭ４，主記憶装置５，ＴＰＭ７及びＨＤＤ８は、バス６で接続されている。
【００１６】
図５の情報処理装置はＴＰＭ７，ＨＤＤ８を有する点で図１の情報処理装置の構成と異なっている。ディスク３は図１の構成に加えてブロブ４３を格納している。ブロブ４３は暗号化された情報である内容物としてＮＶＲＡＭ４の暗号鍵５１を有している。また、ブロブ４３は「ＰＣＲ１」〜「ＰＣＲ４」にＢＩＯＳ１０，ローダ１１，カーネル１２及びルートファイルシステム１３から計算されるハッシュ値を格納している。
【００１７】
ＮＶＲＡＭ４は平文データ１４に加えて、暗号データ１５を格納している。ＨＤＤ８は暗号データを格納している。なお、図１の情報処理装置と同一部分については、同一符号を付して説明を省略する。暗号化された情報である内容物としてＨＤＤ８の暗号鍵を有しているブロブについては、省略する。
【００１８】
図５の情報処理装置における起動シーケンスについて図６を参照しつつ説明する。図６は情報処理装置における起動時の処理を表した一例のシーケンス図である。ステップＳ２１ではＢＩＯＳ１０がローダ１１を読み込む。ステップＳ２２ではローダ１１のハッシュ値がＴＰＭ７のＰＣＲに格納される。ステップＳ２３では、ＢＩＯＳ１０がローダ１１を起動する。
【００１９】
ステップＳ２４ではローダ１１がカーネル１２を読み込む。ステップＳ２５ではカーネル１２のハッシュ値がＴＰＭ７のＰＣＲに格納される。ステップＳ２６ではローダ１１がルートファイルシステム１３を読み込む。ステップＳ２７ではルートファイルシステム１３のハッシュ値がＴＰＭ７のＰＣＲに格納される。
【００２０】
そして、ステップＳ２８ではローダ１１がカーネル１２及びルートファイルシステム１３を起動する。ステップＳ２９では、カーネル１２が、ルートファイルシステム１３の管理している起動プログラム２１を起動する。また、ステップＳ３０及びＳ３１では、起動プログラム２１が、ルートファイルシステム１３の管理しているブロブ復号部２３及びアプリケーション２４を起動する。
【００２１】
ステップＳ３２では、ブロブ復号部２３がＴＰＭ７を利用してブロブ４３内からＮＶＲＡＭ４の暗号鍵５１を取得する。そして、ステップＳ３３に進み、アプリケーション２４は暗号鍵５１を利用したＮＶＲＡＭ４への暗号データ１５の書き込み、又はＮＶＲＡＭ４に格納されている暗号データ１５の読み込みが可能となる。
【特許文献１】特開２００４−２８２３９１号公報
【特許文献２】特開２００５−１９６７４５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
例えば図５のような構成の情報処理装置では、ＲＯＭ更新において次のような問題が生じる。図７はＲＯＭ更新において生じる問題を説明する為の模式図である。図５のような情報処理装置では、ＢＩＯＳ  ＲＯＭ２に格納されているＢＩＯＳ１０を新しいＢＩＯＳ１０ａに更新する際、ＢＩＯＳ１０に対応しているブロブＡ４３をＢＩＯＳ１０ａに対応しているブロブＡ４３ａに更新する必要がある。
【００２３】
しかしながら、情報処理装置では、ブロブＡ４３からブロブＡ４３ａへの更新が何らかの原因で中断されると、ＴＰＭ７の「ＰＣＲ１」に格納されているハッシュ値とブロブＡ４３ａの「ＰＣＲ１」に格納されているハッシュ値とが異なってしまう場合がある。ＴＰＭ７の「ＰＣＲ１」に格納されているハッシュ値とブロブＡ４３ａの「ＰＣＲ１」に格納されているハッシュ値とが異なってしまうと、図５の情報処理装置ではブロブ４３ａからＮＶＲＡＭ４の暗号鍵５１を取り出せなくなり、ＮＶＲＡＭ４に格納された暗号データを復号することが出来なくなるという問題があった。
【００２４】
また、情報処理装置では故障等に備えるため、例えば図８に示すように通常システム８１及びレスキューシステム８２によるシステムの二重化が行われている。通常システム８１は、ＢＩＯＳ１０，ローダ１１，カーネル１２，ルートファイルシステム１３から構成されている。また、レスキューシステム８２はＢＩＯＳ１０ｂ，ローダ１１ｂ，カーネル１２ｂ，ルートファイルシステム１３ｂから構成されている。図８に示すようにシステムの二重化を行えば、情報処理装置では図７の問題が解決する。
【００２５】
なお、ＢＩＯＳ１０，ローダ１１，カーネル１２及びルートファイルシステム１３は通常モジュールの一例である。ＢＩＯＳ１０ｂ，ローダ１１ｂ，カーネル１２ｂ及びルートファイルシステム１３ｂは救援モジュールの一例である。
【００２６】
通常、情報処理装置はＢＩＯＳ１０，ローダ１１，カーネル１２及びルートファイルシステム１３の順番に起動される。この起動の流れは起動パスと呼ばれる。図８ではローダ１１に何らかの異常が発生した為、起動パスがＢＩＯＳ１０，ローダ１１ｂ，カーネル１２及びルートファイルシステム１３となっている。
【００２７】
つまり、レスキューシステム８２を有する情報処理装置では、通常システム８１側のモジュールに異常があった場合、レスキューシステム８２側のモジュールのうち、同一種類のモジュールを起動することができる。起動パスの変更は、例えばＲＯＭ更新フラグ制御プログラム２２によって行われる。
【００２８】
従って、レスキューシステム８２を有する情報処理装置ではＴＰＭ７を用いた情報の暗号化及び復号を行おうとすると、通常システム８１側のモジュール及びレスキューシステム８２側のモジュールの組み合わせによって異なる起動パスの数だけブロブ４３を用意しておかなければならないという問題があった。図９は、レスキューシステムを有する情報処理装置においてＴＰＭを用いた情報の暗号化及び復号を行おうとしたときに生じる問題を表した模式図である。
【００２９】
また、図９のような構成の情報処理装置では、ＢＩＯＳ  ＲＯＭ２に格納されているＢＩＯＳ１０を新しいＢＩＯＳ１０ａに更新する際、ＢＩＯＳ１０に対応している複数のブロブ４３を全てＢＩＯＳ１０ａに対応させるように書き換えなければならないという問題があった。図１０は、レスキューシステムを有する情報処理装置においてＴＰＭを用いた情報の暗号化及び復号を行っている際、ＲＯＭ更新を行おうとしたときに生じる問題を表した模式図である。
【００３０】
このように、従来の情報処理装置等は、通常システム８１及びレスキューシステム８２によるシステムの二重化、ＲＯＭ更新及びＴＰＭ７を用いた情報の暗号化及び復号の全てに対応させ、セキュリティを高めようとすると、ブロブ４３の管理に手間が掛かるという問題があった。
【００３１】
本発明は、上記の点に鑑みなされたもので、起動した通常モジュール又は起動した救援モジュールから一意に計算される値を用いた情報の暗号化及び復号を、少ない手間で行うことができる情報処理装置、ソフトウェア更新方法及び画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００３２】
上記課題を解決する為、本発明は、自装置の起動に必要な１種類以上の通常モジュールと、前記通常モジュールに異常が発生した場合に使用する１種類以上の救援モジュールとを有し、何れかの種類の前記通常モジュールに異常が発生した場合に、同一種類の前記救援モジュールを使用して起動する情報処理装置であって、自装置の起動に使用した１種類以上の前記通常モジュール又は救援モジュールから一意に計算される値をそれぞれ格納する値格納手段と、１種類以上の前記通常モジュール又は救援モジュール毎に計算されたそれぞれの値に基づいて暗号化されている、前記種類毎に異なる情報を格納する暗号化情報格納手段と、前記値格納手段に格納されている値を用いて、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を復号する情報復号手段と、前記通常モジュール又は救援モジュールを更新する際、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を、更新後の前記通常モジュール又は救援モジュールから計算された値に基づいて暗号化し直す暗号化情報更新手段とを有することを特徴とする。
【００３３】
上記課題を解決する為、本発明は、自装置の起動に必要な1種類以上の通常モジュールと、前記通常モジュールに異常が発生した場合に使用する１種類以上の救援モジュールとを有し、何れかの種類の前記通常モジュールに異常が発生した場合に、同一種類の前記救援モジュールを使用して起動するプロッタ部とスキャナ部とを有する画像処理装置であって、自装置の起動に使用した１種類以上の前記通常モジュール又は救援モジュールから一意に計算される値をそれぞれ格納する値格納手段と、１種類以上の前記通常モジュール又は救援モジュール毎に計算されたそれぞれの値に基づいて暗号化されている、前記種類毎に異なる情報を格納する暗号化情報格納手段と、前記値格納手段に格納されている値を用いて、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を復号する情報復号手段と、前記通常モジュール又は救援モジュールを更新する際、前記暗号化情報格納手段に格納されている前記種類毎に異なる情報を、更新後の前記通常モジュール又は救援モジュールから計算された値に基づいて暗号化し直す暗号化情報更新手段とを有することを特徴とする。
【００３４】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００３５】
本発明によれば、起動した通常モジュール又は起動した救援モジュールから一意に計算される値を用いた情報の暗号化及び復号を、少ない手間で行うことができる情報処理装置、ソフトウェア更新方法及び画像処理装置を提供可能である。
【発明を実施するための最良の形態】
【００３６】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例ではＰＣ等の情報処理装置を例に説明しているが、複合機等の画像処理装置であってもよい。
【実施例１】
【００３７】
図１１は、本発明による情報処理装置の一実施例の構成図である。図１１の情報処理装置は、ＣＰＵ１，ＢＩＯＳ  ＲＯＭ２，ディスク３，ＮＶＲＡＭ４，主記憶装置５，ＴＰＭ７及びＨＤＤ８を有しているハードウェア構成である。なお、ＣＰＵ１，ＢＩＯＳ  ＲＯＭ２，ディスク３，ＮＶＲＡＭ４，主記憶装置５，ＴＰＭ７及びＨＤＤ８は、バス６で接続されている。
【００３８】
ＢＩＯＳ  ＲＯＭ２は、通常モジュールであるＢＩＯＳ１０と、救援モジュールであるＢＩＯＳ１０ｂとを格納している。ＮＶＲＡＭ４は、使用者の使用する平文データ１４及び暗号データ１５を格納している。ＨＤＤ８は、暗号データ１６を格納している。
【００３９】
また、ディスク３は、図１２のように構成される。図１２は、ディスクが格納しているモジュールの一例の構成図である。図１２のディスク３は、通常モジュールであるローダ１１，カーネル１２，ルートファイルシステム１３と、救援モジュールであるローダ１１ｂ，カーネル１２ｂ，ルートファイルシステム１３ｂと、ブロブ６０ａ〜６０ｈと、暗号化されたＮＶＲＡＭ４の暗号鍵６２とを格納している。
【００４０】
ブロブ６０ａは暗号化された情報である内容物として鍵Ａを有している。ブロブ６０ｂは暗号化された情報である内容物として鍵Ｂを有している。ブロブ６０ｃは暗号化された情報である内容物として鍵Ｃを有している。ブロブ６０ｄは暗号化された情報である内容物として鍵Ｄを有している。ブロブ６０ｅは暗号化された情報である内容物として鍵Ａを有している。ブロブ６０ｆは暗号化された情報である内容物として鍵Ｂを有している。ブロブ６０ｇは暗号化された情報である内容物として鍵Ｃを有している。ブロブ６０ｄは暗号化された情報である内容物として鍵Ｄを有している。
【００４１】
つまり、ブロブ６０ａ及び６０ｅは同じ鍵Ａを有している。ブロブ６０ｂ及び６０ｆは同じ鍵Ｂを有している。ブロブ６０ｃ及び６０ｇは同じ鍵Ｃを有している。ブロブ６０ｄ及び６０ｈは同じ鍵Ｄを有している。
【００４２】
また、ブロブ６０ａ，６０ｅは「ＰＣＲ１」にＢＩＯＳ１０，１０ｂの例えば原文から固定長の疑似乱数を生成する演算手法によって計算されるハッシュ値を格納している。ブロブ６０ｂ，６０ｆは「ＰＣＲ２」にローダ１１，１１ｂから計算されるハッシュ値を格納している。ブロブ６０ｃ，６０ｇは「ＰＣＲ３」にカーネル１２，１２ｂから計算されるハッシュ値を格納している。ブロブ６０ｄ，６０ｈは「ＰＣＲ４」にルートファイルシステム１３，１３ｂから計算されるハッシュ値を格納している。
【００４３】
図１２のブロブ６０ａ〜６０ｈの構成であれば、起動パスの変更により通常モジュール及び救援モジュールのどちらが起動されたとしても鍵Ａ〜Ｄを取得できる。また、図１２のブロブ６０ａ〜６０ｈの構成であれば、８つのブロブ６０ａ〜６０ｈを用意しておけば全ての起動パスに対応できる。ＮＶＲＡＭ４の暗号鍵６２は、鍵Ａ〜Ｄによって暗号化されている。
【００４４】
図１２のルートファイルシステム１３及びルートファイルシステム１３ｂは図１３のように構成される。図１３はルートファイルシステムが管理するモジュールの一例の構成図である。ルートファイルシステム１３及びルートファイルシステム１３ｂの構成は同様であるため、ルートファイルシステム１３について説明し、ルートファイルシステム１３ｂの説明を省略する。
【００４５】
ルートファイルシステム１３は、ディスク３に格納されている起動プログラム２１，ＲＯＭ更新フラグ制御プログラム２２，ブロブ復号部２３，アプリケーション２４，ブロブ更新プログラム２５及び暗号鍵更新プログラム２６を管理している。
【００４６】
起動プログラム２１は、ルートファイルシステム１３の管理しているアプリケーション２４を起動するものである。ＲＯＭ更新フラグ制御プログラム２２は、起動の流れである起動パスの制御を行うものである。ブロブ復号部２３は、ＴＰＭ７を利用してブロブ６０ａ〜６０ｈ内から鍵Ａ〜Ｄを取得するものである。ブロブ更新プログラム２５は、ブロブ６０ａ〜６０ｈの更新を制御するものである。暗号鍵更新プログラム２６は、ＮＶＲＡＭ４の暗号鍵６２の更新を制御するものである。
【００４７】
図１１に戻り、ＴＰＭ７は通常モジュールであるＢＩＯＳ１０，ローダ１１，カーネル１２，ルートファイルシステム１３、又は救援モジュールであるＢＩＯＳ１０ｂ，ローダ１１ｂ，カーネル１２ｂ，ルートファイルシステム１３ｂを起動する際、そのモジュールから計算されるハッシュ値を「ＰＣＲ１」〜「ＰＣＲ４」へ格納する。
【００４８】
ＴＰＭ７の「ＰＣＲ１」には、ＢＩＯＳ１０又は１０ｂから計算されたハッシュ値が格納される。ＴＰＭ７の「ＰＣＲ２」にローダ１１又は１１ｂから計算されたハッシュ値が格納される。ＴＰＭ７の「ＰＣＲ３」にカーネル１２又は１２ｂから計算されたハッシュ値が格納される。ＴＰＭ７の「ＰＣＲ４」にルートファイルシステム１３又は１３ｂから計算されたハッシュ値が格納される。
【００４９】
ＢＩＯＳ１０及び１０ｂ，ローダ１１及び１１ｂ，カーネル１２及び１２ｂ，ルートファイルシステム１３及び１３ｂ等のモジュールは、ＣＰＵ１により主記憶装置５へ読み込まれて実行される。以下の説明では、説明の便宜上、ＢＩＯＳ１０及び１０ｂ，ローダ１１及び１１ｂ，カーネル１２及び１２ｂ，ルートファイルシステム１３及び１３ｂ等のモジュールを処理主体として説明する。
【００５０】
次に、図１１の情報処理装置における起動シーケンスについて、図１４を参照しつつ説明していく。図１４は情報処理装置における起動時の処理を表した一例のシーケンス図である。なお、ステップＳ４１が行われる前、ＢＩＯＳ１０のハッシュ値がＴＰＭ７の「ＰＣＲ１」に格納されているものとする。
【００５１】
ステップＳ４１ではＢＩＯＳ１０がローダ１１を読み込む。ステップＳ４２ではローダ１１のハッシュ値がＴＰＭ７の「ＰＣＲ２」に格納される。ステップＳ４３では、ＢＩＯＳ１０がローダ１１を起動する。
【００５２】
ステップＳ４４ではローダ１１がカーネル１２を読み込む。ステップＳ４５ではカーネル１２のハッシュ値がＴＰＭ７の「ＰＣＲ３」に格納される。ステップＳ４６ではローダ１１がルートファイルシステム１３を読み込む。ステップＳ４７ではルートファイルシステム１３のハッシュ値がＴＰＭ７の「ＰＣＲ４」に格納される。
【００５３】
そして、ステップＳ４８ではローダ１１がカーネル１２及びルートファイルシステム１３を起動する。ステップＳ４９では、カーネル１２が、ルートファイルシステム１３の管理している起動プログラム２１を起動する。また、ステップＳ５０及びＳ５１では、起動プログラム２１が、ルートファイルシステム１３の管理しているブロブ復号部２３及びアプリケーション２４を起動する。
【００５４】
ステップＳ５２では、ブロブ復号部２３がＴＰＭ７を利用してブロブ６０ａ〜６０ｄ内から鍵Ａ〜Ｄを取り出す。ステップＳ５３では、ブロブ復号部２３が暗号化されたＮＶＲＡＭ４の暗号鍵６２を鍵Ａ〜Ｄで復号する。ステップＳ５４に進み、アプリケーション２４は暗号鍵６２を利用したＮＶＲＡＭ４への暗号データ１５の書き込み、又はＮＶＲＡＭ４に格納されている暗号データ１５の読み込みが可能となる。
【００５５】
以下、図１１の情報処理装置におけるＲＯＭ更新及び暗号鍵更新の手順について具体的に説明する。
【００５６】
（ＲＯＭ更新）
図１５はＲＯＭ更新する手順を表した模式図である。図１５では、カーネル１２を新しいカーネル１２ａに更新する例を表している。まず、ＲＯＭ更新フラグ制御プログラム２２は起動の流れである起動パスを、ＢＩＯＳ１０，ローダ１１，カーネル１２及びルートファイルシステム１３からＢＩＯＳ１０，ローダ１１，カーネル１２ｂ及びルートファイルシステム１３に変更する。その後、情報処理装置は再起動されることにより、ＢＩＯＳ１０，ローダ１１，カーネル１２ｂ及びルートファイルシステム１３が起動する。
【００５７】
ステップＳ６１に進み、カーネル１２は新しいカーネル１２ａが上書きされる。ブロブ復号部２３はステップＳ６２に進み、前述のようにＴＰＭ７を利用してブロブ６０ｃ内から鍵Ｃを取り出す。
【００５８】
ステップＳ６３に進み、ブロブ更新プログラム２５は新しいカーネル１２ａから計算されるハッシュ値を生成する。ステップＳ６４に進み、ブロブ更新プログラム２５は生成したハッシュ値を利用して新しいブロブ６０ｉを生成する。ステップＳ６５に進み、ブロブ更新プログラム２５は生成したブロブ６０ｉをブロブ６０ｃに上書きする。この後、ＲＯＭ更新フラグ制御プログラム２２は、起動の流れである起動パスをＢＩＯＳ１０，ローダ１１，カーネル１２及びルートファイルシステム１３に戻す。
【００５９】
図１５に示すＲＯＭ更新の手順では、ブロブ６０ｃからブロブ６０ｉへの更新が何らかの原因で中断されたとしても、ブロブ６０ｇに同じ鍵Ｃが格納されているため、鍵Ｃをブロブ６０ｇから取り出すことができ、暗号化されたＮＶＲＡＭ４の暗号鍵６２を鍵Ａ〜Ｄで復号して、ＮＶＲＡＭ４に格納された暗号データを復号することができる。
【００６０】
（暗号鍵更新）
図１６は、暗号鍵を更新する手順を表した模式図である。ステップＳ７１に進み、暗号鍵更新プログラム２６は、ＮＶＲＡＭ４に格納されている暗号データ１５をディスク３へバックアップする。ステップＳ７２に進み、ブロブ復号部２３は起動パスに対応するブロブ６０ａ〜６０ｄから鍵Ａ〜Ｄを取り出す。ステップＳ７３に進み、暗号鍵更新プログラム２６は、ＮＶＲＡＭ４の新しい暗号鍵６２ａを鍵Ａ〜Ｄで暗号化し、ディスク３へ格納する。
【００６１】
ステップＳ７４に進み、ブロブ復号部２３は暗号化されたＮＶＲＡＭ４の暗号鍵６２を鍵Ａ〜Ｄで復号して取り出す。ステップＳ７５に進み、暗号鍵更新プログラム２６は暗号鍵６２を利用して、ＮＶＲＡＭ４に格納されている暗号データ１５を復号する。ステップＳ７６に進み、暗号鍵更新プログラム２６は復号した暗号データ１５を、ＮＶＲＡＭ４の新しい暗号鍵６２ａで再び暗号化する。
【００６２】
ステップＳ７７に進み、暗号鍵更新プログラム２６はステップＳ７１でバックアップした暗号データ１５をディスク３から削除する。また、ステップＳ７８に進み、暗号鍵更新プログラム２６は暗号化されたＮＶＲＡＭ４の暗号鍵６２をディスク３から削除する。
【００６３】
図１６に示す暗号鍵更新の手順では、暗号鍵６２から暗号鍵６２ａへの更新が中断されたとしても、暗号データ１５がディスク３にバックアップされているため、暗号鍵更新をやり直すことができる。
【００６４】
（ディスク３の他の構成）
図１７はディスクが格納しているモジュールの他の例の構成図である。図１７のディスク３は、通常モジュールであるローダ１１，カーネル１２，ルートファイルシステム１３と、救援モジュールであるローダ１１ｂ，カーネル１２ｂ，ルートファイルシステム１３ｂと、ブロブ６０ａ〜６０ｃ，６０ｅ〜６０ｇ，６０ｊ及び６０ｋとを格納している。
【００６５】
ブロブ６０ａは暗号化された情報である内容物として鍵Ａを有している。ブロブ６０ｂは暗号化された情報である内容物として鍵Ｂを有している。ブロブ６０ｃは暗号化された情報である内容物として鍵Ｃを有している。ブロブ６０ｅは暗号化された情報である内容物として鍵Ａを有している。ブロブ６０ｆは暗号化された情報である内容物として鍵Ｂを有している。ブロブ６０ｇは暗号化された情報である内容物として鍵Ｃを有している。ブロブ６０ｊは暗号化された情報である内容物として鍵Ａ〜Ｃで暗号化されたＮＶＲＡＭ４の暗号鍵６２を有している。また、ブロブ６０ｋは暗号化された情報である内容物として鍵Ａ〜Ｃで暗号化されたＮＶＲＡＭ４の暗号鍵６２を有している。
【００６６】
つまり、ブロブ６０ｊ及び６０ｋは鍵Ａ〜Ｃで暗号化されたＮＶＲＡＭ４の暗号鍵６２を有している点で、図１２のブロブ６０ｄ及び６０ｈと異なっている。例えばブロブ復号部２３は、ＴＰＭ７を利用してブロブ６０ａ〜６０ｃ，６０ｊから鍵Ａ〜Ｃ及び暗号化されたＮＶＲＡＭ４の暗号鍵６２を取り出し、暗号化されたＮＶＲＡＭ４の暗号鍵６２を鍵Ａ〜Ｄで復号できる。
【実施例２】
【００６７】
実施例１の情報処理装置では、ディスク３が故障すると、ＮＶＲＡＭ４の暗号鍵６２が失われてしまう為、ＮＶＲＡＭ４の暗号データ１５を復号することができなくなる。実施例２の情報処理装置は、ディスク３が故障しても、ＮＶＲＡＭ４の暗号データ１５を復号できる仕組みを設けたものである。
【００６８】
なお、実施例２の情報処理装置は、ディスク３が格納しているモジュールの構成と、ＮＶＲＡＭ４及びＨＤＤ８が格納している情報とが異なっている。図１８は、ディスクが格納しているモジュールの一例の構成図である。図１２のディスク３は、通常モジュールであるローダ１１，カーネル１２，ルートファイルシステム１３と、救援モジュールであるローダ１１ｂ，カーネル１２ｂ，ルートファイルシステム１３ｂと、ブロブ６０ａ〜６０ｄ及び６０ｌと、暗号化されたＮＶＲＡＭ４の暗号鍵６２とを格納している。なお、実施例２の情報処理装置では製品出荷後に救援モジュールであるＢＩＯＳ１０ｂ，ローダ１１ｂ，カーネル１２ｂ，ルートファイルシステム１３ｂのＲＯＭ更新を行わない。
【００６９】
ブロブ６０ａは暗号化された情報である内容物として鍵Ａを有している。ブロブ６０ｂは暗号化された情報である内容物として鍵Ｂを有している。ブロブ６０ｃは暗号化された情報である内容物として鍵Ｃを有している。ブロブ６０ｄは暗号化された情報である内容物として鍵Ｄを有している。ブロブ６０ｌは暗号化された情報である内容物としてＮＶＲＡＭ４の暗号鍵６２を有している。
【００７０】
つまり、ＮＶＲＡＭ４の暗号鍵６２はブロブ６０ａ〜６０ｄから取り出した鍵Ａ〜Ｄによって復号することで取得することもできるし、ＢＩＯＳ１０ｂ，ローダ１１ｂ，カーネル１２ｂ，ルートファイルシステム１３ｂの起動パスに対応するブロブ６０ｌから取り出すこともできる。
【００７１】
また、実施例２の情報処理装置では、ディスク３の故障に備え、ブロブ６０ｌを図１９及び図２０に示すように、ＮＶＲＡＭ４及びＨＤＤ８に格納している。図１９はＮＶＲＡＭに格納している情報を示す構成図である。図２０はＨＤＤに格納している情報を示す構成図である。
【００７２】
図２１，図２２はディスクが故障したとき、ＮＶＲＡＭの暗号データを復号させる手順を表した模式図である。ステップＳ８１では、ローダ１１，カーネル１２，ルートファイルシステム１３と、救援モジュールであるローダ１１ｂ，カーネル１２ｂ，ルートファイルシステム１３ｂとをディスク３にインストールする。
【００７３】
ステップＳ８２に進み、ＲＯＭ更新フラグ制御プログラム２２は、ＮＶＲＡＭ４の暗号データ１５にあるレスキューフラグ７１をＯＮにする。ステップＳ８３に進み、情報処理装置はレスキューモードで再起動する。
【００７４】
ステップＳ８４に進み、情報処理装置はローダ１１ｂ，カーネル１２ｂ，ルートファイルシステム１３ｂを起動する。ステップＳ８５に進み、ブロブ更新プログラム２５はＮＶＲＡＭ４に格納されているブロブ６０ｌをディスク３へ複製する。また、ステップＳ８６に進み、ブロブ更新プログラム２５は鍵Ａ〜Ｄを新規に作成する。
【００７５】
ステップＳ８７に進み、ブロブ更新プログラム２５は鍵Ａ〜Ｄからブロブ８０ａ〜８０ｄを作成する。ステップＳ８８に進み、ブロブ更新プログラム２５はディスク３へ作成したブロブ８０ａ〜８０ｄを書き込む。ステップＳ８９に進み、ブロブ復号部２３はＮＶＲＡＭ４に格納されているブロブ６０ｌから暗号鍵６２を取り出す。
【００７６】
ステップＳ９０に進み、暗号鍵更新プログラム２６は暗号鍵６２を鍵Ａ〜Ｄで暗号化したあと、ディスク３へ書き込み。そして、ステップＳ９１に進み、ＲＯＭ更新フラグ制御プログラム２２は、ＮＶＲＡＭ４の暗号データ１５にあるレスキューフラグ７１をＯＦＦにする。
【００７７】
図２１，図２２に示す手順では、ディスク３が故障しても、ＮＶＲＡＭ４に格納されているＢＩＯＳ１０ｂ，ローダ１１ｂ，カーネル１２ｂ及びルートファイルシステム１３ｂの起動パスに対応するブロブ６０ｌから取り出すことができるので、ＮＶＲＡＭ４の暗号データ１５を復号できる。
【００７８】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載した値格納手段はＴＰＭ７に相当し、暗号化情報格納手段がブロブ６０ａ〜６０ｌに相当し、情報復号手段がブロブ復号部２３に相当し、暗号化情報更新手段がブロブ更新プログラム２５に相当する。
【図面の簡単な説明】
【００７９】
【図１】情報処理装置の一例の構成図である。
【図２】情報処理装置における起動時の処理を表した一例のシーケンス図である。
【図３】ＴＰＭにハッシュ値を格納する処理手順を表した模式図である。
【図４】ＴＰＭを用いた情報の復号を表す模式図である。
【図５】ＴＰＭを備えた情報処理装置の一例の構成図である。
【図６】情報処理装置における起動時の処理を表した一例のシーケンス図である。
【図７】ＲＯＭ更新において生じる問題を説明する為の模式図である。
【図８】通常システム及びレスキューシステムによるシステムの二重化を表した模式図である。
【図９】レスキューシステムを有する情報処理装置においてＴＰＭを用いた情報の暗号化及び復号を行おうとしたときに生じる問題を表した模式図である。
【図１０】レスキューシステムを有する情報処理装置においてＴＰＭを用いた情報の暗号化及び復号を行っている際、ＲＯＭ更新を行おうとしたときに生じる問題を表した模式図である。
【図１１】本発明による情報処理装置の一実施例の構成図である。
【図１２】ディスクが格納しているモジュールの一例の構成図である。
【図１３】ルートファイルシステムが管理するモジュールの一例の構成図である。
【図１４】情報処理装置における起動時の処理を表した一例のシーケンス図である。
【図１５】ＲＯＭ更新する手順を表した模式図である。
【図１６】暗号鍵を更新する手順を表した模式図である。
【図１７】ディスクが格納しているモジュールの他の例の構成図である。
【図１８】ディスクが格納しているモジュールの一例の構成図である。
【図１９】ＮＶＲＡＭに格納している情報を示す構成図である。
【図２０】ＨＤＤに格納している情報を示す構成図である。
【図２１】ディスクが故障したとき、ＮＶＲＡＭの暗号データを復号させる手順を表した模式図（１／２）である。
【図２２】ディスクが故障したとき、ＮＶＲＡＭの暗号データを復号させる手順を表した模式図（２／２）である。
【符号の説明】
【００８０】
１    ＣＰＵ
２    ＢＩＯＳ  ＲＯＭ
３    ディスク
４    ＮＶＲＡＭ
５    主記憶装置
６    バス
７    ＴＰＭ
８    ＨＤＤ
１０，１０ａ，１０ｂ    ＢＩＯＳ
１１，１１ｂ    ローダ
１２，１２ａ，１２ｂ    カーネル
１３，１３ｂ    ルートファイルシステム
１４    平文データ
１５，１６    暗号データ
２１    起動プログラム
２２    ＲＯＭ更新フラグ制御プログラム
２３    ブロブ復号部
２４    アプリケーション
２５    ブロブ更新プログラム
２６    暗号鍵更新プログラム
４１    ブロブＡ
４２    ブロブＢ
４３，４３ａ，６０ａ〜６０ｌ，８０ａ〜８０ｄ    ブロブ
５１，６２，６２ａ    暗号鍵
７１    レスキューフラグ
８１    通常システム
８２    レスキューシステム
【図１】
2008226158.tif 000003
【図２】
2008226158.tif 000004
【図３】
2008226158.tif 000005
【図４】
2008226158.tif 000006
【図５】
2008226158.tif 000007
【図６】
2008226158.tif 000008
【図７】
2008226158.tif 000009
【図８】
2008226158.tif 000010
【図９】
2008226158.tif 000011
【図１０】
2008226158.tif 000012
【図１１】
2008226158.tif 000013
【図１２】
2008226158.tif 000014
【図１３】
2008226158.tif 000015
【図１４】
2008226158.tif 000016
【図１５】
2008226158.tif 000017
【図１６】
2008226158.tif 000018
【図１７】
2008226158.tif 000019
【図１８】
2008226158.tif 000020
【図１９】
2008226158.tif 000021
【図２０】
2008226158.tif 000022
【図２１】
2008226158.tif 000023
【図２２】
2008226158.tif 000024