(57)【要約】【課題】  プログラム更新時に発生する不具合を少なくすることが可能な情報処理装置およびプログラム更新方法を提供する。【解決手段】  格納制御部４２ａは、入力装置１が新規プログラムを受け付けると、メインプログラム格納領域２１に格納されている現行のプログラムをメインプログラムバックアップ領域２２に格納し、その後、その新規プログラムをメインプログラム格納領域２１に格納する。判断部４２ｂは、メインプログラム格納領域２１内の新規プログラムが、識別マーカを有しているか否かを判断する。更新制御部４２ｃは、判断部４２ｂが新規プログラムは識別マーカを有していると判断した際には、その新規プログラムを起動し、また、判断部４２ｂが新規プログラムは識別マーカを有していないと判断した際には、メインプログラムバックアップ領域２２に格納された現行のプログラムを起動する。【選択図】      図１
2006053848.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの更新処理を行う情報処理装置であって、
現行のプログラムを格納するプログラム格納領域と、
プログラムバックアップ領域と、
プログラム処理領域と、
新規プログラムを受け付ける入力部と、
前記入力部が前記新規プログラムを受け付けると、前記プログラム格納領域に格納されている現行のプログラムを前記プログラムバックアップ領域に格納し、その後、該新規プログラムを該プログラム格納領域に格納する格納制御部と、
前記格納制御部が前記プログラム格納領域に格納した新規プログラムが、前記情報処理装置用のプログラムである旨を示すマーカを有しているか否かを判断する判断部と、
前記判断部が前記新規プログラムは前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断部が該新規プログラムは該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する更新制御部と、を含む情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記判断部は、前記プログラム格納領域に格納された新規プログラムが、前記新規プログラムの特定領域に前記マーカを有しているか否かを判断し、
前記更新制御部は、前記判断部が前記新規プログラムは前記特定領域に前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断部が該新規プログラムは該特定領域に該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する、情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置において、
前記更新制御部は、前記プログラムバックアップ領域に格納された現行のプログラムを前記プログラム処理領域に格納する際、該現行のプログラムを前記プログラム格納領域にも格納する、情報処理装置。
【請求項４】
請求項１ないし３のいずれか１項に記載の情報処理装置において、
再起動を行う旨を示す再起動指令を受け付ける受付部をさらに含み、
前記判断部は、前記受付部が前記再起動指令を受け付けると、前記判断を実行する、情報処理装置。
【請求項５】
プログラムの更新処理を行う情報処理装置が行うプログラム更新方法であって、
前記情報処理装置は、現行のプログラムを格納するプログラム格納領域と、プログラムバックアップ領域と、プログラム処理領域と、を含み、
新規プログラムを受け付ける入力ステップと、
前記入力ステップで前記新規プログラムを受け付けると、前記プログラム格納領域に格納されている現行のプログラムを前記プログラムバックアップ領域に格納し、その後、該新規プログラムを該プログラム格納領域に格納する格納制御ステップと、
前記格納制御ステップで前記プログラム格納領域に格納した新規プログラムが、前記情報処理装置用のプログラムである旨を示すマーカを有しているか否かを判断する判断ステップと、
前記判断ステップで前記新規プログラムは前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断ステップが該新規プログラムは該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する更新制御ステップと、を含むプログラム更新方法。
【請求項６】
請求項５に記載のプログラム更新方法において、
前記判断ステップは、前記プログラム格納領域に格納された新規プログラムが、前記新規プログラムの特定領域に前記マーカを有しているか否かを判断し、
前記更新制御ステップは、前記判断ステップで前記新規プログラムは前記特定領域に前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断ステップで該新規プログラムは該特定領域に該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する、プログラム更新方法。
【請求項７】
請求項５または６に記載のプログラム更新方法において、
前記更新制御ステップは、前記プログラムバックアップ領域に格納された現行のプログラムを前記プログラム処理領域に格納する際、該現行のプログラムを前記プログラム格納領域にも格納する、プログラム更新方法。
【請求項８】
請求項５ないし７のいずれか１項に記載のプログラム更新方法において、
再起動を行う旨を示す再起動指令を受け付ける受付ステップをさらに含み、
前記判断ステップは、前記受付ステップで前記再起動指令を受け付けると、前記判断を実行する、プログラム更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラム更新方法に関し、特には、ファームウェア等のプログラムの更新処理を行う情報処理装置およびプログラム更新方法に関する。
【背景技術】
【０００２】
従来、ファームウェア等のプログラムを更新する情報処理装置が知られている。
【０００３】
特許文献１（特開平１０−８３３０９号公報）に記載の情報処理装置は、更新指示を受け付けると、更新前の古いＢＩＯＳ（Basic Input/Output System：制御プログラム群）を予備記憶領域に格納し、その後、新しいＢＩＯＳを主記憶領域に格納する。情報処理装置は、その新しいＢＩＯＳが良好に動作しない場合、予備記憶領域に格納した古いＢＩＯＳを主記憶領域に戻す。
【０００４】
特許文献２（特開平１０−２１２１８３号公報）に記載のサーバ装置は、新規ＢＩＯＳのレビジョン情報（版情報）と現行ＢＩＯＳのレビジョン情報と比較し、その比較結果に基づいて、新規ＢＩＯＳの正当性をチェックする。
【０００５】
特許文献２に記載のサーバ装置は、新規ＢＩＯＳが正当なＢＩＯＳであると判断した場合、現行ＢＩＯＳをデータ記憶装置に格納し、その後、新規ＢＩＯＳをフラッシュＲＯＭに格納する。サーバ装置は、新規ＢＩＯＳがフラッシュＲＯＭに正常に書き込まれていないと、データ記憶装置に格納されている現行ＢＩＯＳをフラッシュＲＯＭに書き戻す。
【特許文献１】特開平１０−８３３０９号公報
【特許文献２】特開平１０−２１２１８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の情報処理装置は、新しいＢＩＯＳが良好に動作しない場合、予備記憶領域に格納した古いＢＩＯＳを主記憶領域に戻す。このため、特許文献１に記載の情報処理装置は、必ず新しいＢＩＯＳを起動する。したがって、新しいＢＩＯＳが不正なＢＩＯＳである場合も、その不正なＢＩＯＳが起動され、特許文献１に記載の情報処理装置が起動不能になる可能性が生じる。
【０００７】
特許文献２に記載のサーバ装置は、新規ＢＩＯＳのレビジョン情報を現行ＢＩＯＳのレビジョン情報と比較して新規ＢＩＯＳの正当性をチェックする。このため、新規ＢＩＯＳがレビジョン情報を有さない不正なＢＩＯＳである場合、特許文献２に記載のサーバ装置は、新規ＢＩＯＳが不正なＢＩＯＳであるか否かを正確に判断できない可能性が生じる。
【０００８】
したがって、新規ＢＩＯＳが不正なＢＩＯＳである場合に、その不正なＢＩＯＳが起動され、特許文献２に記載のサーバ装置が起動不能になる可能性が生じる。
【０００９】
本発明の目的は、プログラム更新時に発生する不具合を少なくすることが可能な情報処理装置およびプログラム更新方法を提供することである。
【課題を解決するための手段】
【００１０】
上記の目的を達成するため、本発明の情報処理装置は、プログラムの更新処理を行う情報処理装置であって、現行のプログラムを格納するプログラム格納領域と、プログラムバックアップ領域と、プログラム処理領域と、新規プログラムを受け付ける入力部と、前記入力部が前記新規プログラムを受け付けると、前記プログラム格納領域に格納されている現行のプログラムを前記プログラムバックアップ領域に格納し、その後、該新規プログラムを該プログラム格納領域に格納する格納制御部と、前記格納制御部が前記プログラム格納領域に格納した新規プログラムが、前記情報処理装置用のプログラムである旨を示すマーカを有しているか否かを判断する判断部と、前記判断部が前記新規プログラムは前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断部が該新規プログラムは該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する更新制御部とを含む。
【００１１】
また、本発明のプログラム更新方法は、プログラムの更新処理を行う情報処理装置が行うプログラム更新方法であって、前記情報処理装置は、現行のプログラムを格納するプログラム格納領域と、プログラムバックアップ領域と、プログラム処理領域と、を含み、新規プログラムを受け付ける入力ステップと、前記入力ステップで前記新規プログラムを受け付けると、前記プログラム格納領域に格納されている現行のプログラムを前記プログラムバックアップ領域に格納し、その後、該新規プログラムを該プログラム格納領域に格納する格納制御ステップと、前記格納制御ステップで前記プログラム格納領域に格納した新規プログラムが、前記情報処理装置用のプログラムである旨を示すマーカを有しているか否かを判断する判断ステップと、前記判断ステップで前記新規プログラムは前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断ステップが該新規プログラムは該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する更新制御ステップとを含む。
【００１２】
上記の発明によれば、情報処理装置用のプログラムである旨を示すマーカを新規プログラムが有しているか否かが判断され、そのマーカが新規プログラムに含まれる場合には、その新規プログラムが起動され、そのマーカが新規プログラムに含まれない場合には、現行のプログラムが起動される。このため、新規プログラムがマーカを有しているか否かに基づいて、新規プログラムが不正なプログラムであるか否かを判断することが可能になり、不正なプログラムが起動されることを防止できる。
【００１３】
また、上記情報処理装置において、前記判断部は、前記プログラム格納領域に格納された新規プログラムが、前記新規プログラムの特定領域に前記マーカを有しているか否かを判断し、前記更新制御部は、前記判断部が前記新規プログラムは前記特定領域に前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断部が該新規プログラムは該特定領域に該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動することが望ましい。
【００１４】
また、上記プログラム更新方法において、前記判断ステップは、前記プログラム格納領域に格納された新規プログラムが、前記新規プログラムの特定領域に前記マーカを有しているか否かを判断し、前記更新制御ステップは、前記判断ステップで前記新規プログラムは前記特定領域に前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断ステップで該新規プログラムは該特定領域に該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動することが望ましい。
【００１５】
上記の発明によれば、新規プログラムの特定領域にマーカが存在するか否か基づいて、新規プログラムが不正なプログラムであるか否かを判断することが可能になる。このため、新規プログラムが不正なプログラムであるか否かの判断の正確性をさらに向上させることが可能になる。
【００１６】
また、前記プログラムバックアップ領域に格納された現行のプログラムが前記プログラム処理領域に格納される際、該現行のプログラムが前記プログラム格納領域にも格納されることが望ましい。
【００１７】
上記の発明によれば、プログラム処理領域に格納された現行プログラムがプログラム格納領域にも格納される。このため、プログラム格納領域に格納された現行プログラムは、プログラム処理領域の現行プログラムのバックアップ用として用いることが可能となる。
【００１８】
また、上記情報処理装置において、再起動を行う旨を示す再起動指令を受け付ける受付部をさらに含み、前記判断部は、前記受付部が前記再起動指令を受け付けると、前記判断を実行することが望ましい。
【００１９】
また、上記プログラム更新方法において、再起動を行う旨を示す再起動指令を受け付ける受付ステップをさらに含み、前記判断ステップは、前記受付ステップで前記再起動指令を受け付けると、前記判断を実行することが望ましい。
【００２０】
上記の発明によれば、再起動指令が受け付けられた場合に、新規プログラムがマーカを有しているか否かの判断が実行される。このため、必要時にのみ、新規プログラムがマーカを有しているか否かの判断を行うことが可能となる。
【発明の効果】
【００２１】
本発明によれば、不正なプログラムの起動を防止することが可能になる。
【００２２】
その理由は、新規プログラムがマーカを有しているか否かに基づいて、新規プログラムが不正なプログラムであるか否かを判断し、マーカが新規プログラムに含まれる場合には、その新規プログラムが起動され、マーカが新規プログラムに含まれない場合には、現行のプログラムが起動されるためである。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施例について図面を参照して説明する。
【００２４】
図１は、本発明の一実施例の情報処理装置を示したブロック図である。
【００２５】
図１において、情報処理装置は、入力装置１と、格納部２と、メモリ３と、制御部４とを含む。格納部（例えば、フラッシュＲＯＭ）２は、メインプログラム格納領域２１およびメインプログラムバックアップ領域２２を含む。制御部４は、プログラム処理領域（例えば、ＲＡＭ）４１とＣＰＵ４２とを含む。ＣＰＵ４２は、格納制御部４２ａと、判断部４２ｂと、更新制御部４２ｃとを含む。例えば、格納制御部４２ａと、判断部４２ｂと、更新制御部４２ｃとは、ＣＰＵ４２が動作プログラムを実行することによって実現される。
【００２６】
入力部および受付部としての入力装置１は、新規プログラムと、再起動を行う旨を示す再起動指令とを受け付ける。
【００２７】
格納部２は、現在、情報処理装置（具体的には、ＣＰＵ４２）が実行しているプログラムすなわち現行プログラムと、入力装置１が受け付けた新規プログラムを格納する。本実施例では、格納部２が格納するプログラムとして、ファームウェアが用いられる。なお、格納部２が格納するプログラムは、ファームウェアに限らず適宜変更可能である。
【００２８】
メインプログラム格納領域２１は、現行プログラム、または、入力装置１が受け付けた新規プログラムを格納する。メインプログラムバックアップ領域２２は、メインプログラム格納領域２１が格納した現行プログラムを格納する。
【００２９】
メモリ３は、起動プログラム３１を格納する。
【００３０】
プログラム処理領域４１は、ＣＰＵ４２の処理領域として使用され、ＣＰＵ４２が処理するプログラムを格納する。
【００３１】
ＣＰＵ４２は、動作プログラム、例えば、メモリ３に格納されている起動プログラム３１およびプログラム処理領域４１に格納されているプログラムを読み取り、その読み取ったプログラムを実行することによって種々の機能を実行する。
【００３２】
格納制御部４２ａは、入力装置１が新規プログラムを受け付けると、メインプログラム格納領域２１に格納されている現行プログラムをメインプログラムバックアップ領域２２に格納し、その後、新規プログラムをメインプログラム格納領域２１に格納する。
【００３３】
判断部４２ｂは、起動プログラム３１に基づいて、メインプログラム格納領域２１に格納された新規プログラムが、情報処理装置用のプログラムである旨を示す識別マーカ（例えば、数値または文字列などの識別用データ）を有しているか否かを判断する。
【００３４】
本実施例では、判断部４２ｂは、入力装置１が再起動指令を受け付けると、メインプログラム格納領域２１に格納された新規プログラムが識別マーカを有しているか否かを判断する。
【００３５】
更新制御部４２ｃは、判断部４２ｂが新規プログラムは識別マーカを有していると判断した際には、その新規プログラムを起動し、また、判断部４２ｂが新規プログラムは識別マーカを有していないと判断した際には、メインプログラムバックアップ領域２２に格納された現行プログラムを起動する。
【００３６】
なお、判断部４２ｂは、メインプログラム格納領域２１に格納された新規プログラムが、その新規プログラムの特定領域（例えば、新規プログラムの先頭、最後尾または先頭から10byte等の特定領域）に識別マーカを有しているか否かを判断することが望ましい。
【００３７】
また、更新制御部４２ｃは、判断部４２ｂが新規プログラムは特定領域に識別マーカを有していると判断した際には、その新規プログラムを起動し、また、判断部４２ｂが新規プログラムは特定領域に識別マーカを有していないと判断した際には、メインプログラムバックアップ領域２２に格納されている現行プログラムを起動することが望ましい。
【００３８】
次に、動作を説明する。
【００３９】
図２は、格納制御部４２ａの動作を説明するためのフローチャートである。以下、図２を参照して、格納制御部４２ａの動作を説明する。
【００４０】
ステップＡ１では、入力装置１が新規プログラムを受け付けると、格納制御部４２ａは、メインプログラム格納領域２１に格納されている現行プログラムをメインプログラムバックアップ領域２２に格納する。
【００４１】
例えば、格納制御部４２ａは、入力装置１が新規プログラムを受け付けると、まず、メインプログラムバックアップ領域２２が格納しているデータを消去し、その後、メインプログラム格納領域２１に格納されている現行プログラムを読み取り、その読み取った現行プログラムをメインプログラムバックアップ領域２２に格納する。続いて、格納制御部４２ａは、メインプログラム格納領域２１の現行プログラムを消去する。格納制御部４２ａは、ステップＡ１を終了すると、ステップＡ２を実行する。
【００４２】
ステップＡ２では、格納制御部４２ａは、入力装置１が受け付けた新規プログラムをメインプログラム格納領域２１に格納する。
【００４３】
図３は、判断部４２ｂおよび更新制御部４２ｃの動作を説明するためのフローチャートである。以下、図３を参照して、判断部４２ｂおよび更新制御部４２ｃの動作を説明する。
【００４４】
ステップＢ１では、図２のステップＡ２が終了した状態で、入力装置１が再起動指令を受け付けると、判断部４２ｂは、メインプログラム格納領域２１に格納された新規プログラムが不正プログラムであるか否かをチェックする。
【００４５】
具体的には、判断部４２ｂは、メインプログラム格納領域２１に格納された新規プログラムが、その新規プログラムの特定領域（例えば、新規プログラムの先頭領域）に識別マーカを有しているか否かに基づいて、新規プログラムが不正プログラムであるか否かを判断する。
【００４６】
判断部４２ｂは、新規プログラムの特定領域に識別マーカが存在すると、その新規プログラムは真正なプログラムであり問題なしと判断し、また、新規プログラムの特定領域に識別マーカが存在しないと、その新規プログラムは不正プログラムであり問題ありと判断する。
【００４７】
なお、判断部４２ｂは、新規プログラムのどこかに識別マーカが含まれている場合、その新規プログラムは真正なプログラムであり問題なしと判断し、また、新規プログラムのどこにも識別マーカが含まれていない場合、その新規プログラムは不正プログラムであり問題ありと判断してもよい。
【００４８】
判断部４２ｂは、その判断結果を更新制御部４２ｃに提供する。更新制御部４２ｃは、判断部４２ｂから判断結果が供給されると、ステップＢ２を実行する。
【００４９】
ステップＢ２では、更新制御部４２ｃは、判断部４２ｂの判断結果が問題なしの場合、ステップＢ３を実行し、また、判断部４２ｂの判断結果が問題ありの場合、ステップＢ５を実行する。
【００５０】
ステップＢ３では、更新制御部４２ｃは、まず、プログラム処理領域４１に格納されているデータを消去し、その後、メインプログラム格納領域２１が格納している新規プログラムを、プログラム処理領域４１にコピーする。例えば、更新制御部４２ｃは、プログラム処理領域４１に格納されているデータを消去した後、メインプログラム格納領域２１が格納している新規プログラムを読み取り、その読み取った新規プログラムをプログラム処理領域４１に格納する。更新制御部４２ｃは、ステップＢ３を終了すると、ステップＢ４を実行する。
【００５１】
ステップＢ４では、更新制御部４２ｃは、プログラム処理領域４１に格納された新規プログラムを起動する。例えば、更新制御部４２ｃは、ＣＰＵ４２が、プログラム処理領域４１に格納された新規プログラムを読み込み、その読み込んだ新規プログラムを実行するように、ＣＰＵ４２を再起動する。
【００５２】
ステップＢ５では、更新制御部４２ｃは、まず、メインプログラム格納領域２１に格納されているデータを消去し、その後、メインプログラムバックアップ領域２２にバックアップしてある現行プログラムを、メインプログラム格納領域２１にコピーする。例えば、更新制御部４２ｃは、メインプログラム格納領域２１に格納されているデータを消去した後、メインプログラムバックアップ領域２２が格納している現行プログラムを読み取り、その読み取った現行プログラムをメインプログラム格納領域２１に格納する。
【００５３】
続いて、更新制御部４２ｃは、プログラム処理領域４１に格納されているデータを消去し、その後、メインプログラム格納領域２１が格納している現行プログラムをプログラム処理領域４１にコピーし、プログラム処理領域４１が格納している現行プログラムを起動する。
【００５４】
例えば、更新制御部４２ｃは、プログラム処理領域４１に格納されているデータを消去した後、メインプログラム格納領域２１が格納している現行プログラムを読み出し、その読み出した現行プログラムをプログラム処理領域４１に格納し、その後、ＣＰＵ４２が、プログラム処理領域４１に格納された現行プログラムを読み込み、その読み込んだ現行プログラムを実行するように、ＣＰＵ４２を再起動する。
【００５５】
本実施例によれば、新規プログラムが識別マーカを有しているか否かが判断され、識別マーカが新規プログラムに含まれる場合には、新規プログラムが起動され、識別マーカが新規プログラムに含まれない場合には、現行プログラムが起動される。このため、新規プログラムが識別マーカを有しているか否かに基づいて、新規プログラムが不正なプログラムであるか否かを判断することが可能になり、不正なプログラムが起動されることを防止することが可能になる。
【００５６】
また、新規プログラムの特定領域に識別マーカが存在するか否かに基づいて、新規プログラムが不正なプログラムであるか否かを判断する場合、新規プログラムが不正なプログラムであるか否かの判断の正確性をさらに向上させることが可能になる。例えば、真正なファームウェア（新規プログラム）が作成される際に、ファームウェアのバージョンが変わっても、識別マーカが常にファームウェアの同じ位置に入れられれば、新規ファームウェアが不正なプログラムであるか否かの判断を、高い精度で行うことが可能になる。
【００５７】
また、プログラム処理領域４１に格納された現行プログラムが、メインプログラム格納領域２１にも格納される。このため、メインプログラム格納領域２１に格納された現行プログラムは、プログラム処理領域４１の現行プログラムのバックアップ用として用いることが可能となる。
【００５８】
また、再起動指令が受け付けられた場合に、新規プログラムが識別マーカを有しているか否かの判断が実行される場合、必要時にのみ、新規プログラムが識別マーカを有しているか否かの判断を行うことが可能となる。
【００５９】
また、判断部４２ｂは、上記判断に、以下に示す判断を適宜組み合わせて、新規プログラムが真正なプログラムであるか否かを判断してもよい。
【００６０】
例えは、ファームウェアデータ（新規プログラムデータ）が情報処理装置に入力されるときに、ファームウェアデータのチェックサム（ファームウェアデータを数値とみなして合計した値）が、入力装置１から入力されている場合、判断部４２ｂは、メインプログラム格納領域２１に格納したファームウェアデータのチェックサムを計算し、その計算結果を入力装置１から入力されたチェックサムと比較して、ファームウェアデータの正当性を確認する。
【００６１】
また、ファームウェアデータのチェックサムがファームウェアデータの先頭または末尾に付加されて情報処理装置に入力されている場合、判断部４２ｂは、ファームウェアデータからその付加されたチェックサムを除いたデータ部分のチェックサムを計算し、その計算結果を、付加されたチェックサムと比較して、ファームウェアデータの正当性を確認する。
【００６２】
また、ファームウェアデータのサイズが予め決められており、ファームウェアのバージョンが変わっても、ダミーのデータをつけてファームウェアのデータのサイズが変わらないようにされている場合、判断部４２ｂは、ファームウェアデータのサイズをチェックすることにより、ファームウェアデータの正当性を確認する。
【００６３】
なお、本発明は、ファームウェアプログラムをソフトウェア的にアップデートする場合の安全性を高めるといった用途に適用できる。
【００６４】
以上説明した実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施例の情報処理装置を示したブロック図である。
【図２】図１に示した情報処理装置の動作を説明するためのフローチャートである。
【図３】図１に示した情報処理装置の動作を説明するためのフローチャートである。
【符号の説明】
【００６６】
１      入力装置
２      格納部
２１    メインプログラム格納領域
２２    メインプログラムバックアップ領域
３      メモリ
３１    起動プログラム
４      制御部
４１    プログラム処理領域
４２    ＣＰＵ
４２ａ  格納制御部
４２ｂ  判断部
４２ｃ  更新制御部
【図１】
2006053848.tif 000003
【図２】
2006053848.tif 000004
【図３】
2006053848.tif 000005