JP2006053848A - Information processor and program updating method - Google Patents
Information processor and program updating method Download PDFInfo
- Publication number
- JP2006053848A JP2006053848A JP2004236401A JP2004236401A JP2006053848A JP 2006053848 A JP2006053848 A JP 2006053848A JP 2004236401 A JP2004236401 A JP 2004236401A JP 2004236401 A JP2004236401 A JP 2004236401A JP 2006053848 A JP2006053848 A JP 2006053848A
- Authority
- JP
- Japan
- Prior art keywords
- program
- new
- area
- stored
- storage area
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、情報処理装置およびプログラム更新方法に関し、特には、ファームウェア等のプログラムの更新処理を行う情報処理装置およびプログラム更新方法に関する。 The present invention relates to an information processing apparatus and a program update method, and more particularly to an information processing apparatus and a program update method for performing update processing of a program such as firmware.
従来、ファームウェア等のプログラムを更新する情報処理装置が知られている。 Conventionally, an information processing apparatus that updates a program such as firmware is known.
特許文献1(特開平10−83309号公報)に記載の情報処理装置は、更新指示を受け付けると、更新前の古いBIOS(Basic Input/Output System:制御プログラム群)を予備記憶領域に格納し、その後、新しいBIOSを主記憶領域に格納する。情報処理装置は、その新しいBIOSが良好に動作しない場合、予備記憶領域に格納した古いBIOSを主記憶領域に戻す。 When receiving an update instruction, the information processing apparatus described in Patent Document 1 (Japanese Patent Laid-Open No. 10-83309) stores an old BIOS (Basic Input / Output System: control program group) before update in a spare storage area, Thereafter, the new BIOS is stored in the main storage area. When the new BIOS does not operate well, the information processing apparatus returns the old BIOS stored in the spare storage area to the main storage area.
特許文献2(特開平10−212183号公報)に記載のサーバ装置は、新規BIOSのレビジョン情報(版情報)と現行BIOSのレビジョン情報と比較し、その比較結果に基づいて、新規BIOSの正当性をチェックする。 The server device described in Patent Document 2 (Japanese Patent Laid-Open No. 10-212183) compares the revision information (version information) of the new BIOS with the revision information of the current BIOS, and based on the comparison result, the validity of the new BIOS Check.
特許文献2に記載のサーバ装置は、新規BIOSが正当なBIOSであると判断した場合、現行BIOSをデータ記憶装置に格納し、その後、新規BIOSをフラッシュROMに格納する。サーバ装置は、新規BIOSがフラッシュROMに正常に書き込まれていないと、データ記憶装置に格納されている現行BIOSをフラッシュROMに書き戻す。
特許文献1に記載の情報処理装置は、新しいBIOSが良好に動作しない場合、予備記憶領域に格納した古いBIOSを主記憶領域に戻す。このため、特許文献1に記載の情報処理装置は、必ず新しいBIOSを起動する。したがって、新しいBIOSが不正なBIOSである場合も、その不正なBIOSが起動され、特許文献1に記載の情報処理装置が起動不能になる可能性が生じる。 When the new BIOS does not operate well, the information processing apparatus described in Patent Literature 1 returns the old BIOS stored in the spare storage area to the main storage area. For this reason, the information processing apparatus described in Patent Document 1 always starts a new BIOS. Therefore, even when the new BIOS is an unauthorized BIOS, the unauthorized BIOS is activated, and the information processing apparatus described in Patent Literature 1 may not be activated.
特許文献2に記載のサーバ装置は、新規BIOSのレビジョン情報を現行BIOSのレビジョン情報と比較して新規BIOSの正当性をチェックする。このため、新規BIOSがレビジョン情報を有さない不正なBIOSである場合、特許文献2に記載のサーバ装置は、新規BIOSが不正なBIOSであるか否かを正確に判断できない可能性が生じる。 The server device described in Patent Document 2 checks the validity of the new BIOS by comparing the revision information of the new BIOS with the revision information of the current BIOS. For this reason, when the new BIOS is an unauthorized BIOS that does not have revision information, the server device described in Patent Document 2 may not be able to accurately determine whether the new BIOS is an unauthorized BIOS.
したがって、新規BIOSが不正なBIOSである場合に、その不正なBIOSが起動され、特許文献2に記載のサーバ装置が起動不能になる可能性が生じる。 Therefore, when the new BIOS is an unauthorized BIOS, the unauthorized BIOS is activated, and there is a possibility that the server device described in Patent Literature 2 cannot be activated.
本発明の目的は、プログラム更新時に発生する不具合を少なくすることが可能な情報処理装置およびプログラム更新方法を提供することである。 An object of the present invention is to provide an information processing apparatus and a program update method capable of reducing problems that occur during program update.
上記の目的を達成するため、本発明の情報処理装置は、プログラムの更新処理を行う情報処理装置であって、現行のプログラムを格納するプログラム格納領域と、プログラムバックアップ領域と、プログラム処理領域と、新規プログラムを受け付ける入力部と、前記入力部が前記新規プログラムを受け付けると、前記プログラム格納領域に格納されている現行のプログラムを前記プログラムバックアップ領域に格納し、その後、該新規プログラムを該プログラム格納領域に格納する格納制御部と、前記格納制御部が前記プログラム格納領域に格納した新規プログラムが、前記情報処理装置用のプログラムである旨を示すマーカを有しているか否かを判断する判断部と、前記判断部が前記新規プログラムは前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断部が該新規プログラムは該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する更新制御部とを含む。 In order to achieve the above object, an information processing apparatus of the present invention is an information processing apparatus that performs a program update process, and includes a program storage area for storing a current program, a program backup area, a program processing area, An input unit that receives a new program, and when the input unit receives the new program, the current program stored in the program storage area is stored in the program backup area, and then the new program is stored in the program storage area A storage control unit that stores data in the storage unit, and a determination unit that determines whether or not the new program stored in the program storage area by the storage control unit has a marker indicating that the program is for the information processing device; When the determination unit determines that the new program has the marker Starts the new program after storing the new program stored in the program storage area in the program processing area, and when the determination unit determines that the new program does not have the marker Includes an update control unit that activates the current program after the current program stored in the program backup area is stored in the program processing area.
また、本発明のプログラム更新方法は、プログラムの更新処理を行う情報処理装置が行うプログラム更新方法であって、前記情報処理装置は、現行のプログラムを格納するプログラム格納領域と、プログラムバックアップ領域と、プログラム処理領域と、を含み、新規プログラムを受け付ける入力ステップと、前記入力ステップで前記新規プログラムを受け付けると、前記プログラム格納領域に格納されている現行のプログラムを前記プログラムバックアップ領域に格納し、その後、該新規プログラムを該プログラム格納領域に格納する格納制御ステップと、前記格納制御ステップで前記プログラム格納領域に格納した新規プログラムが、前記情報処理装置用のプログラムである旨を示すマーカを有しているか否かを判断する判断ステップと、前記判断ステップで前記新規プログラムは前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断ステップが該新規プログラムは該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する更新制御ステップとを含む。 The program update method of the present invention is a program update method performed by an information processing apparatus that performs a program update process, and the information processing apparatus includes a program storage area for storing a current program, a program backup area, A program processing area, and an input step for accepting a new program; and when the new program is accepted in the input step, the current program stored in the program storage area is stored in the program backup area, and then A storage control step for storing the new program in the program storage area, and whether the new program stored in the program storage area in the storage control step has a marker indicating that the program is for the information processing apparatus Judgment step to judge whether or not When it is determined in the determining step that the new program has the marker, the new program stored in the program storage area is stored in the program processing area and then the new program is started. When the determination step determines that the new program does not have the marker, an update for starting the current program after storing the current program stored in the program backup area in the program processing area Control steps.
上記の発明によれば、情報処理装置用のプログラムである旨を示すマーカを新規プログラムが有しているか否かが判断され、そのマーカが新規プログラムに含まれる場合には、その新規プログラムが起動され、そのマーカが新規プログラムに含まれない場合には、現行のプログラムが起動される。このため、新規プログラムがマーカを有しているか否かに基づいて、新規プログラムが不正なプログラムであるか否かを判断することが可能になり、不正なプログラムが起動されることを防止できる。 According to the above invention, it is determined whether or not the new program has a marker indicating that the program is for the information processing apparatus. If the marker is included in the new program, the new program is started. If the marker is not included in the new program, the current program is started. For this reason, it is possible to determine whether or not the new program is an unauthorized program based on whether or not the new program has a marker, thereby preventing the unauthorized program from being activated.
また、上記情報処理装置において、前記判断部は、前記プログラム格納領域に格納された新規プログラムが、前記新規プログラムの特定領域に前記マーカを有しているか否かを判断し、前記更新制御部は、前記判断部が前記新規プログラムは前記特定領域に前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断部が該新規プログラムは該特定領域に該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動することが望ましい。 In the information processing apparatus, the determination unit determines whether a new program stored in the program storage area has the marker in a specific area of the new program, and the update control unit When the determination unit determines that the new program has the marker in the specific area, the new program is stored after the new program stored in the program storage area is stored in the program processing area. When the determination unit determines that the new program does not have the marker in the specific area, the current program stored in the program backup area is stored in the program processing area. It is desirable to launch the current program later.
また、上記プログラム更新方法において、前記判断ステップは、前記プログラム格納領域に格納された新規プログラムが、前記新規プログラムの特定領域に前記マーカを有しているか否かを判断し、前記更新制御ステップは、前記判断ステップで前記新規プログラムは前記特定領域に前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断ステップで該新規プログラムは該特定領域に該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動することが望ましい。 In the program update method, the determination step determines whether a new program stored in the program storage area has the marker in a specific area of the new program, and the update control step includes: When it is determined in the determination step that the new program has the marker in the specific area, the new program stored in the program storage area is stored in the program processing area and then the new program is stored. In addition, when it is determined in the determination step that the new program does not have the marker in the specific area, the current program stored in the program backup area is stored in the program processing area. It is desirable to launch the current program later.
上記の発明によれば、新規プログラムの特定領域にマーカが存在するか否か基づいて、新規プログラムが不正なプログラムであるか否かを判断することが可能になる。このため、新規プログラムが不正なプログラムであるか否かの判断の正確性をさらに向上させることが可能になる。 According to the above invention, it is possible to determine whether or not the new program is an illegal program based on whether or not a marker exists in a specific area of the new program. For this reason, it becomes possible to further improve the accuracy of the determination as to whether or not the new program is an unauthorized program.
また、前記プログラムバックアップ領域に格納された現行のプログラムが前記プログラム処理領域に格納される際、該現行のプログラムが前記プログラム格納領域にも格納されることが望ましい。 In addition, when the current program stored in the program backup area is stored in the program processing area, it is preferable that the current program is also stored in the program storage area.
上記の発明によれば、プログラム処理領域に格納された現行プログラムがプログラム格納領域にも格納される。このため、プログラム格納領域に格納された現行プログラムは、プログラム処理領域の現行プログラムのバックアップ用として用いることが可能となる。 According to the above invention, the current program stored in the program processing area is also stored in the program storage area. Therefore, the current program stored in the program storage area can be used for backup of the current program in the program processing area.
また、上記情報処理装置において、再起動を行う旨を示す再起動指令を受け付ける受付部をさらに含み、前記判断部は、前記受付部が前記再起動指令を受け付けると、前記判断を実行することが望ましい。 The information processing apparatus may further include a reception unit that receives a restart command indicating that the restart is to be performed, and the determination unit may execute the determination when the reception unit receives the restart command. desirable.
また、上記プログラム更新方法において、再起動を行う旨を示す再起動指令を受け付ける受付ステップをさらに含み、前記判断ステップは、前記受付ステップで前記再起動指令を受け付けると、前記判断を実行することが望ましい。 The program update method may further include a reception step of receiving a restart command indicating that restart is performed, and the determination step may execute the determination when the restart command is received in the reception step. desirable.
上記の発明によれば、再起動指令が受け付けられた場合に、新規プログラムがマーカを有しているか否かの判断が実行される。このため、必要時にのみ、新規プログラムがマーカを有しているか否かの判断を行うことが可能となる。 According to the above invention, when a restart command is accepted, it is determined whether or not the new program has a marker. Therefore, it is possible to determine whether or not the new program has a marker only when necessary.
本発明によれば、不正なプログラムの起動を防止することが可能になる。 According to the present invention, it is possible to prevent an unauthorized program from being activated.
その理由は、新規プログラムがマーカを有しているか否かに基づいて、新規プログラムが不正なプログラムであるか否かを判断し、マーカが新規プログラムに含まれる場合には、その新規プログラムが起動され、マーカが新規プログラムに含まれない場合には、現行のプログラムが起動されるためである。 The reason is that based on whether or not the new program has a marker, it is determined whether or not the new program is an illegal program. If the marker is included in the new program, the new program is started. If the marker is not included in the new program, the current program is activated.
以下、本発明の実施例について図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本発明の一実施例の情報処理装置を示したブロック図である。 FIG. 1 is a block diagram showing an information processing apparatus according to an embodiment of the present invention.
図1において、情報処理装置は、入力装置1と、格納部2と、メモリ3と、制御部4とを含む。格納部(例えば、フラッシュROM)2は、メインプログラム格納領域21およびメインプログラムバックアップ領域22を含む。制御部4は、プログラム処理領域(例えば、RAM)41とCPU42とを含む。CPU42は、格納制御部42aと、判断部42bと、更新制御部42cとを含む。例えば、格納制御部42aと、判断部42bと、更新制御部42cとは、CPU42が動作プログラムを実行することによって実現される。
In FIG. 1, the information processing apparatus includes an input device 1, a storage unit 2, a memory 3, and a control unit 4. The storage unit (for example, flash ROM) 2 includes a main
入力部および受付部としての入力装置1は、新規プログラムと、再起動を行う旨を示す再起動指令とを受け付ける。 The input device 1 as an input unit and a reception unit receives a new program and a restart command indicating that a restart is performed.
格納部2は、現在、情報処理装置(具体的には、CPU42)が実行しているプログラムすなわち現行プログラムと、入力装置1が受け付けた新規プログラムを格納する。本実施例では、格納部2が格納するプログラムとして、ファームウェアが用いられる。なお、格納部2が格納するプログラムは、ファームウェアに限らず適宜変更可能である。 The storage unit 2 stores a program currently executed by the information processing apparatus (specifically, the CPU 42), that is, a current program and a new program received by the input apparatus 1. In this embodiment, firmware is used as a program stored in the storage unit 2. The program stored in the storage unit 2 is not limited to firmware and can be changed as appropriate.
メインプログラム格納領域21は、現行プログラム、または、入力装置1が受け付けた新規プログラムを格納する。メインプログラムバックアップ領域22は、メインプログラム格納領域21が格納した現行プログラムを格納する。
The main
メモリ3は、起動プログラム31を格納する。
The memory 3 stores a
プログラム処理領域41は、CPU42の処理領域として使用され、CPU42が処理するプログラムを格納する。
The
CPU42は、動作プログラム、例えば、メモリ3に格納されている起動プログラム31およびプログラム処理領域41に格納されているプログラムを読み取り、その読み取ったプログラムを実行することによって種々の機能を実行する。
The
格納制御部42aは、入力装置1が新規プログラムを受け付けると、メインプログラム格納領域21に格納されている現行プログラムをメインプログラムバックアップ領域22に格納し、その後、新規プログラムをメインプログラム格納領域21に格納する。
When the input device 1 receives a new program, the
判断部42bは、起動プログラム31に基づいて、メインプログラム格納領域21に格納された新規プログラムが、情報処理装置用のプログラムである旨を示す識別マーカ(例えば、数値または文字列などの識別用データ)を有しているか否かを判断する。
Based on the
本実施例では、判断部42bは、入力装置1が再起動指令を受け付けると、メインプログラム格納領域21に格納された新規プログラムが識別マーカを有しているか否かを判断する。
In the present embodiment, when the input device 1 receives a restart command, the determination unit 42b determines whether or not the new program stored in the main
更新制御部42cは、判断部42bが新規プログラムは識別マーカを有していると判断した際には、その新規プログラムを起動し、また、判断部42bが新規プログラムは識別マーカを有していないと判断した際には、メインプログラムバックアップ領域22に格納された現行プログラムを起動する。
When the determination unit 42b determines that the new program has an identification marker, the
なお、判断部42bは、メインプログラム格納領域21に格納された新規プログラムが、その新規プログラムの特定領域(例えば、新規プログラムの先頭、最後尾または先頭から10byte等の特定領域)に識別マーカを有しているか否かを判断することが望ましい。
Note that the determination unit 42b has an identification marker in a new program stored in the main
また、更新制御部42cは、判断部42bが新規プログラムは特定領域に識別マーカを有していると判断した際には、その新規プログラムを起動し、また、判断部42bが新規プログラムは特定領域に識別マーカを有していないと判断した際には、メインプログラムバックアップ領域22に格納されている現行プログラムを起動することが望ましい。
Further, when the determination unit 42b determines that the new program has an identification marker in the specific area, the
次に、動作を説明する。 Next, the operation will be described.
図2は、格納制御部42aの動作を説明するためのフローチャートである。以下、図2を参照して、格納制御部42aの動作を説明する。
FIG. 2 is a flowchart for explaining the operation of the
ステップA1では、入力装置1が新規プログラムを受け付けると、格納制御部42aは、メインプログラム格納領域21に格納されている現行プログラムをメインプログラムバックアップ領域22に格納する。
In step A1, when the input device 1 receives a new program, the
例えば、格納制御部42aは、入力装置1が新規プログラムを受け付けると、まず、メインプログラムバックアップ領域22が格納しているデータを消去し、その後、メインプログラム格納領域21に格納されている現行プログラムを読み取り、その読み取った現行プログラムをメインプログラムバックアップ領域22に格納する。続いて、格納制御部42aは、メインプログラム格納領域21の現行プログラムを消去する。格納制御部42aは、ステップA1を終了すると、ステップA2を実行する。
For example, when the input device 1 receives a new program, the
ステップA2では、格納制御部42aは、入力装置1が受け付けた新規プログラムをメインプログラム格納領域21に格納する。
In step A <b> 2, the
図3は、判断部42bおよび更新制御部42cの動作を説明するためのフローチャートである。以下、図3を参照して、判断部42bおよび更新制御部42cの動作を説明する。
FIG. 3 is a flowchart for explaining operations of the determination unit 42b and the
ステップB1では、図2のステップA2が終了した状態で、入力装置1が再起動指令を受け付けると、判断部42bは、メインプログラム格納領域21に格納された新規プログラムが不正プログラムであるか否かをチェックする。
In step B1, when the input device 1 accepts a restart command in a state where step A2 in FIG. 2 has been completed, the determination unit 42b determines whether or not the new program stored in the main
具体的には、判断部42bは、メインプログラム格納領域21に格納された新規プログラムが、その新規プログラムの特定領域(例えば、新規プログラムの先頭領域)に識別マーカを有しているか否かに基づいて、新規プログラムが不正プログラムであるか否かを判断する。
Specifically, the determination unit 42b is based on whether the new program stored in the main
判断部42bは、新規プログラムの特定領域に識別マーカが存在すると、その新規プログラムは真正なプログラムであり問題なしと判断し、また、新規プログラムの特定領域に識別マーカが存在しないと、その新規プログラムは不正プログラムであり問題ありと判断する。 If an identification marker exists in a specific area of the new program, the determination unit 42b determines that the new program is a genuine program and there is no problem, and if there is no identification marker in the specific area of the new program, the new program Is a malicious program and is considered problematic.
なお、判断部42bは、新規プログラムのどこかに識別マーカが含まれている場合、その新規プログラムは真正なプログラムであり問題なしと判断し、また、新規プログラムのどこにも識別マーカが含まれていない場合、その新規プログラムは不正プログラムであり問題ありと判断してもよい。 Note that when the identification marker 42b includes an identification marker somewhere in the new program, the determination unit 42b determines that the new program is a genuine program and there is no problem, and the identification marker is included anywhere in the new program. If not, the new program may be determined to be a malicious program and problematic.
判断部42bは、その判断結果を更新制御部42cに提供する。更新制御部42cは、判断部42bから判断結果が供給されると、ステップB2を実行する。
The determination unit 42b provides the determination result to the
ステップB2では、更新制御部42cは、判断部42bの判断結果が問題なしの場合、ステップB3を実行し、また、判断部42bの判断結果が問題ありの場合、ステップB5を実行する。
In step B2, the
ステップB3では、更新制御部42cは、まず、プログラム処理領域41に格納されているデータを消去し、その後、メインプログラム格納領域21が格納している新規プログラムを、プログラム処理領域41にコピーする。例えば、更新制御部42cは、プログラム処理領域41に格納されているデータを消去した後、メインプログラム格納領域21が格納している新規プログラムを読み取り、その読み取った新規プログラムをプログラム処理領域41に格納する。更新制御部42cは、ステップB3を終了すると、ステップB4を実行する。
In step B <b> 3, the
ステップB4では、更新制御部42cは、プログラム処理領域41に格納された新規プログラムを起動する。例えば、更新制御部42cは、CPU42が、プログラム処理領域41に格納された新規プログラムを読み込み、その読み込んだ新規プログラムを実行するように、CPU42を再起動する。
In step B4, the
ステップB5では、更新制御部42cは、まず、メインプログラム格納領域21に格納されているデータを消去し、その後、メインプログラムバックアップ領域22にバックアップしてある現行プログラムを、メインプログラム格納領域21にコピーする。例えば、更新制御部42cは、メインプログラム格納領域21に格納されているデータを消去した後、メインプログラムバックアップ領域22が格納している現行プログラムを読み取り、その読み取った現行プログラムをメインプログラム格納領域21に格納する。
In step B5, the
続いて、更新制御部42cは、プログラム処理領域41に格納されているデータを消去し、その後、メインプログラム格納領域21が格納している現行プログラムをプログラム処理領域41にコピーし、プログラム処理領域41が格納している現行プログラムを起動する。
Subsequently, the
例えば、更新制御部42cは、プログラム処理領域41に格納されているデータを消去した後、メインプログラム格納領域21が格納している現行プログラムを読み出し、その読み出した現行プログラムをプログラム処理領域41に格納し、その後、CPU42が、プログラム処理領域41に格納された現行プログラムを読み込み、その読み込んだ現行プログラムを実行するように、CPU42を再起動する。
For example, after deleting the data stored in the
本実施例によれば、新規プログラムが識別マーカを有しているか否かが判断され、識別マーカが新規プログラムに含まれる場合には、新規プログラムが起動され、識別マーカが新規プログラムに含まれない場合には、現行プログラムが起動される。このため、新規プログラムが識別マーカを有しているか否かに基づいて、新規プログラムが不正なプログラムであるか否かを判断することが可能になり、不正なプログラムが起動されることを防止することが可能になる。 According to the present embodiment, it is determined whether or not the new program has an identification marker. If the identification marker is included in the new program, the new program is activated and the identification marker is not included in the new program. If so, the current program is launched. For this reason, based on whether the new program has an identification marker, it is possible to determine whether the new program is an unauthorized program, thereby preventing the unauthorized program from being activated. It becomes possible.
また、新規プログラムの特定領域に識別マーカが存在するか否かに基づいて、新規プログラムが不正なプログラムであるか否かを判断する場合、新規プログラムが不正なプログラムであるか否かの判断の正確性をさらに向上させることが可能になる。例えば、真正なファームウェア(新規プログラム)が作成される際に、ファームウェアのバージョンが変わっても、識別マーカが常にファームウェアの同じ位置に入れられれば、新規ファームウェアが不正なプログラムであるか否かの判断を、高い精度で行うことが可能になる。 Further, when determining whether or not the new program is an illegal program based on whether or not an identification marker exists in a specific area of the new program, it is possible to determine whether or not the new program is an illegal program. The accuracy can be further improved. For example, when authentic firmware (new program) is created, even if the firmware version changes, if the identification marker is always placed at the same position in the firmware, it is determined whether the new firmware is an illegal program. Can be performed with high accuracy.
また、プログラム処理領域41に格納された現行プログラムが、メインプログラム格納領域21にも格納される。このため、メインプログラム格納領域21に格納された現行プログラムは、プログラム処理領域41の現行プログラムのバックアップ用として用いることが可能となる。
The current program stored in the
また、再起動指令が受け付けられた場合に、新規プログラムが識別マーカを有しているか否かの判断が実行される場合、必要時にのみ、新規プログラムが識別マーカを有しているか否かの判断を行うことが可能となる。 In addition, when a restart command is accepted, if it is determined whether or not the new program has an identification marker, it is determined whether or not the new program has an identification marker only when necessary. Can be performed.
また、判断部42bは、上記判断に、以下に示す判断を適宜組み合わせて、新規プログラムが真正なプログラムであるか否かを判断してもよい。 Further, the determination unit 42b may determine whether the new program is a genuine program by appropriately combining the following determinations with the determinations described below.
例えは、ファームウェアデータ(新規プログラムデータ)が情報処理装置に入力されるときに、ファームウェアデータのチェックサム(ファームウェアデータを数値とみなして合計した値)が、入力装置1から入力されている場合、判断部42bは、メインプログラム格納領域21に格納したファームウェアデータのチェックサムを計算し、その計算結果を入力装置1から入力されたチェックサムと比較して、ファームウェアデータの正当性を確認する。
For example, when firmware data (new program data) is input to the information processing apparatus, when a checksum of firmware data (a value obtained by summing firmware data as numerical values) is input from the input device 1, The determination unit 42b calculates the checksum of the firmware data stored in the main
また、ファームウェアデータのチェックサムがファームウェアデータの先頭または末尾に付加されて情報処理装置に入力されている場合、判断部42bは、ファームウェアデータからその付加されたチェックサムを除いたデータ部分のチェックサムを計算し、その計算結果を、付加されたチェックサムと比較して、ファームウェアデータの正当性を確認する。 When the checksum of the firmware data is added to the beginning or end of the firmware data and is input to the information processing apparatus, the determination unit 42b determines the checksum of the data portion obtained by removing the added checksum from the firmware data. And the result of the calculation is compared with the added checksum to confirm the validity of the firmware data.
また、ファームウェアデータのサイズが予め決められており、ファームウェアのバージョンが変わっても、ダミーのデータをつけてファームウェアのデータのサイズが変わらないようにされている場合、判断部42bは、ファームウェアデータのサイズをチェックすることにより、ファームウェアデータの正当性を確認する。 In addition, when the firmware data size is determined in advance, and the firmware version changes, dummy data is attached so that the firmware data size does not change. The validity of the firmware data is confirmed by checking the size.
なお、本発明は、ファームウェアプログラムをソフトウェア的にアップデートする場合の安全性を高めるといった用途に適用できる。 It should be noted that the present invention can be applied to uses such as enhancing safety when updating a firmware program in software.
以上説明した実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。 In the embodiment described above, the illustrated configuration is merely an example, and the present invention is not limited to the configuration.
1 入力装置
2 格納部
21 メインプログラム格納領域
22 メインプログラムバックアップ領域
3 メモリ
31 起動プログラム
4 制御部
41 プログラム処理領域
42 CPU
42a 格納制御部
42b 判断部
42c 更新制御部
DESCRIPTION OF SYMBOLS 1 Input device 2
42a Storage control unit
Claims (8)
現行のプログラムを格納するプログラム格納領域と、
プログラムバックアップ領域と、
プログラム処理領域と、
新規プログラムを受け付ける入力部と、
前記入力部が前記新規プログラムを受け付けると、前記プログラム格納領域に格納されている現行のプログラムを前記プログラムバックアップ領域に格納し、その後、該新規プログラムを該プログラム格納領域に格納する格納制御部と、
前記格納制御部が前記プログラム格納領域に格納した新規プログラムが、前記情報処理装置用のプログラムである旨を示すマーカを有しているか否かを判断する判断部と、
前記判断部が前記新規プログラムは前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断部が該新規プログラムは該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する更新制御部と、を含む情報処理装置。 An information processing apparatus for performing program update processing,
A program storage area for storing the current program; and
Program backup area,
A program processing area;
An input unit for accepting a new program;
When the input unit accepts the new program, a storage control unit that stores the current program stored in the program storage area in the program backup area and then stores the new program in the program storage area;
A determination unit that determines whether or not the new program stored in the program storage area by the storage control unit has a marker indicating that the program is for the information processing apparatus;
When the determination unit determines that the new program has the marker, the new program stored in the program storage area is stored in the program processing area, and then the new program is started. When the determination unit determines that the new program does not have the marker, the current program stored in the program backup area is stored in the program processing area and then the current program is activated. An information processing device including a control unit.
前記判断部は、前記プログラム格納領域に格納された新規プログラムが、前記新規プログラムの特定領域に前記マーカを有しているか否かを判断し、
前記更新制御部は、前記判断部が前記新規プログラムは前記特定領域に前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断部が該新規プログラムは該特定領域に該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する、情報処理装置。 The information processing apparatus according to claim 1,
The determination unit determines whether a new program stored in the program storage area has the marker in a specific area of the new program,
When the determination unit determines that the new program has the marker in the specific area, the update control unit stores the new program stored in the program storage area in the program processing area. The new program is activated later, and when the determination unit determines that the new program does not have the marker in the specific area, the current program stored in the program backup area is An information processing apparatus that activates the current program after being stored in a processing area.
前記更新制御部は、前記プログラムバックアップ領域に格納された現行のプログラムを前記プログラム処理領域に格納する際、該現行のプログラムを前記プログラム格納領域にも格納する、情報処理装置。 The information processing apparatus according to claim 1 or 2,
The update control unit stores the current program in the program storage area when the current program stored in the program backup area is stored in the program processing area.
再起動を行う旨を示す再起動指令を受け付ける受付部をさらに含み、
前記判断部は、前記受付部が前記再起動指令を受け付けると、前記判断を実行する、情報処理装置。 The information processing apparatus according to any one of claims 1 to 3,
A reception unit that receives a restart command indicating that the restart is to be performed;
The determination unit is an information processing apparatus that executes the determination when the reception unit receives the restart command.
前記情報処理装置は、現行のプログラムを格納するプログラム格納領域と、プログラムバックアップ領域と、プログラム処理領域と、を含み、
新規プログラムを受け付ける入力ステップと、
前記入力ステップで前記新規プログラムを受け付けると、前記プログラム格納領域に格納されている現行のプログラムを前記プログラムバックアップ領域に格納し、その後、該新規プログラムを該プログラム格納領域に格納する格納制御ステップと、
前記格納制御ステップで前記プログラム格納領域に格納した新規プログラムが、前記情報処理装置用のプログラムである旨を示すマーカを有しているか否かを判断する判断ステップと、
前記判断ステップで前記新規プログラムは前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断ステップが該新規プログラムは該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する更新制御ステップと、を含むプログラム更新方法。 A program update method performed by an information processing apparatus that performs a program update process,
The information processing apparatus includes a program storage area for storing a current program, a program backup area, and a program processing area,
An input step for accepting a new program;
When the new program is received in the input step, a storage control step of storing the current program stored in the program storage area in the program backup area and then storing the new program in the program storage area;
A determination step of determining whether or not the new program stored in the program storage area in the storage control step has a marker indicating that the program is for the information processing apparatus;
When it is determined in the determining step that the new program has the marker, the new program stored in the program storage area is stored in the program processing area and then the new program is started. When the determination step determines that the new program does not have the marker, an update for starting the current program after storing the current program stored in the program backup area in the program processing area A program update method including a control step.
前記判断ステップは、前記プログラム格納領域に格納された新規プログラムが、前記新規プログラムの特定領域に前記マーカを有しているか否かを判断し、
前記更新制御ステップは、前記判断ステップで前記新規プログラムは前記特定領域に前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断ステップで該新規プログラムは該特定領域に該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する、プログラム更新方法。 In the program update method of Claim 5,
The determining step determines whether a new program stored in the program storage area has the marker in a specific area of the new program;
In the update control step, when the determination step determines that the new program has the marker in the specific area, the new program stored in the program storage area is stored in the program processing area. The new program is activated later, and when it is determined in the determining step that the new program does not have the marker in the specific area, the current program stored in the program backup area is A program update method of starting the current program after storing in a processing area.
前記更新制御ステップは、前記プログラムバックアップ領域に格納された現行のプログラムを前記プログラム処理領域に格納する際、該現行のプログラムを前記プログラム格納領域にも格納する、プログラム更新方法。 In the program update method according to claim 5 or 6,
The update control step, in which when the current program stored in the program backup area is stored in the program processing area, the current program is also stored in the program storage area.
再起動を行う旨を示す再起動指令を受け付ける受付ステップをさらに含み、
前記判断ステップは、前記受付ステップで前記再起動指令を受け付けると、前記判断を実行する、プログラム更新方法。 The program update method according to any one of claims 5 to 7,
And further including a reception step of accepting a restart command indicating that the restart is to be performed,
The program update method, wherein the determination step executes the determination when the restart command is received in the reception step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004236401A JP2006053848A (en) | 2004-08-16 | 2004-08-16 | Information processor and program updating method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004236401A JP2006053848A (en) | 2004-08-16 | 2004-08-16 | Information processor and program updating method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006053848A true JP2006053848A (en) | 2006-02-23 |
Family
ID=36031277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004236401A Pending JP2006053848A (en) | 2004-08-16 | 2004-08-16 | Information processor and program updating method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006053848A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011150383A (en) * | 2010-01-19 | 2011-08-04 | Hitachi Medical Corp | Firmware writing method |
CN102567043A (en) * | 2011-11-18 | 2012-07-11 | 福建二菱电子有限公司 | Set-top box online updating method |
CN111504427A (en) * | 2020-05-27 | 2020-08-07 | 岳海民 | Gas meter detecting method and gas meter using same |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1083309A (en) * | 1996-04-24 | 1998-03-31 | Sony Corp | Information processor, program updating method and information processing system |
JP2001265602A (en) * | 2000-03-22 | 2001-09-28 | Hitachi Ltd | Program booting system |
JP2003029993A (en) * | 2001-07-11 | 2003-01-31 | Sony Corp | Information processor, information processing method, recording medium and program |
JP2003076565A (en) * | 2001-08-31 | 2003-03-14 | Canon Inc | Equipment controller, program update method, storage medium and program |
JP2003223329A (en) * | 2001-12-28 | 2003-08-08 | Sk Teletech Co Ltd | Program file for executing mobile communication terminal and program file executing method and mobile communication portable terminal |
JP2004192329A (en) * | 2002-12-11 | 2004-07-08 | Fuji Photo Film Co Ltd | Program rewriting method and terminal device |
-
2004
- 2004-08-16 JP JP2004236401A patent/JP2006053848A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1083309A (en) * | 1996-04-24 | 1998-03-31 | Sony Corp | Information processor, program updating method and information processing system |
JP2001265602A (en) * | 2000-03-22 | 2001-09-28 | Hitachi Ltd | Program booting system |
JP2003029993A (en) * | 2001-07-11 | 2003-01-31 | Sony Corp | Information processor, information processing method, recording medium and program |
JP2003076565A (en) * | 2001-08-31 | 2003-03-14 | Canon Inc | Equipment controller, program update method, storage medium and program |
JP2003223329A (en) * | 2001-12-28 | 2003-08-08 | Sk Teletech Co Ltd | Program file for executing mobile communication terminal and program file executing method and mobile communication portable terminal |
JP2004192329A (en) * | 2002-12-11 | 2004-07-08 | Fuji Photo Film Co Ltd | Program rewriting method and terminal device |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011150383A (en) * | 2010-01-19 | 2011-08-04 | Hitachi Medical Corp | Firmware writing method |
CN102567043A (en) * | 2011-11-18 | 2012-07-11 | 福建二菱电子有限公司 | Set-top box online updating method |
CN111504427A (en) * | 2020-05-27 | 2020-08-07 | 岳海民 | Gas meter detecting method and gas meter using same |
CN111504427B (en) * | 2020-05-27 | 2021-10-22 | 岳海民 | Gas meter detecting method and gas meter using same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI384367B (en) | System of updating firmware and method thereof | |
CN109634645B (en) | Firmware upgrading method and terminal | |
JP5740646B2 (en) | How to download software | |
US20110004871A1 (en) | Embedded electronic device and firmware updating method thereof | |
CN107783776B (en) | Processing method and device of firmware upgrade package and electronic equipment | |
CN106775610B (en) | Electronic equipment starting method and electronic equipment | |
CN111625295A (en) | Embedded system starting method, device, equipment and storage medium | |
US7689981B1 (en) | Mobile handset with efficient interruption point detection during a multiple-pass update process | |
CN113254048B (en) | Method, device and equipment for updating boot program and computer readable medium | |
CN113127011A (en) | Electronic device and operation method of electronic device | |
KR20170067826A (en) | Updating of firmware | |
JP6861739B2 (en) | Embedded device and firmware update method | |
US20070050612A1 (en) | Boot program update and restoration system and method thereof | |
JP2006053848A (en) | Information processor and program updating method | |
JP2019074950A (en) | Information processing device, control unit, control method, and control program | |
JP2011053984A (en) | Firmware protection apparatus and program thereof | |
US11768669B2 (en) | Installing application program code on a vehicle control system | |
JP5418348B2 (en) | Information processing apparatus and karaoke apparatus | |
CN114625399A (en) | System upgrading method and related device, equipment and storage medium | |
JP2006134016A (en) | Installation method for firmware of firmware built-in equipment, and boot program | |
JP2008077474A (en) | Firmware update method, electronic device and firmware update program | |
CN111190627A (en) | System upgrading method and device | |
JP2009188743A (en) | Radio communication terminal | |
JP2011039825A (en) | Firmware updating method and firmware updating device | |
KR20120030573A (en) | A method, apparatus and computer program for loading files during a boot-up process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060210 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091022 |
|
A131 | Notification of reasons for refusal |
Effective date: 20100303 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110126 |
|
A02 | Decision of refusal |
Effective date: 20110713 Free format text: JAPANESE INTERMEDIATE CODE: A02 |