JP2006053848A - Information processor and program updating method - Google Patents

Information processor and program updating method Download PDF

Info

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
Application number
JP2004236401A
Other languages
Japanese (ja)
Inventor
Ryuji Yuasa
竜二 湯▲浅▼
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.)
NEC Platforms Ltd
Original Assignee
NEC Infrontia 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 NEC Infrontia Corp filed Critical NEC Infrontia Corp
Priority to JP2004236401A priority Critical patent/JP2006053848A/en
Publication of JP2006053848A publication Critical patent/JP2006053848A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor and a program updating method, capable of reducing defect caused when updating a program. <P>SOLUTION: A storage control part 42a stores a present program stored in a main program storage area 21 in a main program backup area 22 when an input device 1 accepts a new program, and afterwards, stores its new program in the main program storage area 21. A determining part 42b determines whether or not the new program in the main program storage area 21 has an identification marker. An updating control part 42c starts its new program when the determining part 42b determines that the new program has the identification marker, and starts the present program stored in the main program backup area 22 when the determining part 42b determines that the new program does not have the identification marker. <P>COPYRIGHT: (C)2006,JPO&NCIPI

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に書き戻す。
特開平10−83309号公報 特開平10−212183号公報
When it is determined that the new BIOS is a valid BIOS, the server device described in Patent Document 2 stores the current BIOS in the data storage device, and then stores the new BIOS in the flash ROM. If the new BIOS is not normally written to the flash ROM, the server device writes the current BIOS stored in the data storage device back to the flash ROM.
JP 10-83309 A Japanese Patent Laid-Open No. 10-212183

特許文献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 program storage area 21 and a main program backup area 22. The control unit 4 includes a program processing area (for example, RAM) 41 and a CPU 42. The CPU 42 includes a storage control unit 42a, a determination unit 42b, and an update control unit 42c. For example, the storage control unit 42a, the determination unit 42b, and the update control unit 42c are realized by the CPU 42 executing an operation program.

入力部および受付部としての入力装置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 program storage area 21 stores a current program or a new program accepted by the input device 1. The main program backup area 22 stores the current program stored in the main program storage area 21.

メモリ3は、起動プログラム31を格納する。   The memory 3 stores a startup program 31.

プログラム処理領域41は、CPU42の処理領域として使用され、CPU42が処理するプログラムを格納する。   The program processing area 41 is used as a processing area for the CPU 42 and stores a program to be processed by the CPU 42.

CPU42は、動作プログラム、例えば、メモリ3に格納されている起動プログラム31およびプログラム処理領域41に格納されているプログラムを読み取り、その読み取ったプログラムを実行することによって種々の機能を実行する。   The CPU 42 reads an operation program, for example, a startup program 31 stored in the memory 3 and a program stored in the program processing area 41, and executes various functions by executing the read program.

格納制御部42aは、入力装置1が新規プログラムを受け付けると、メインプログラム格納領域21に格納されている現行プログラムをメインプログラムバックアップ領域22に格納し、その後、新規プログラムをメインプログラム格納領域21に格納する。   When the input device 1 receives a new program, the storage control unit 42 a stores the current program stored in the main program storage area 21 in the main program backup area 22, and then stores the new program in the main program storage area 21. To do.

判断部42bは、起動プログラム31に基づいて、メインプログラム格納領域21に格納された新規プログラムが、情報処理装置用のプログラムである旨を示す識別マーカ(例えば、数値または文字列などの識別用データ)を有しているか否かを判断する。   Based on the activation program 31, the determination unit 42b is an identification marker (for example, identification data such as a numerical value or a character string) indicating that the new program stored in the main program storage area 21 is a program for the information processing apparatus. ) Is determined.

本実施例では、判断部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 program storage area 21 has an identification marker.

更新制御部42cは、判断部42bが新規プログラムは識別マーカを有していると判断した際には、その新規プログラムを起動し、また、判断部42bが新規プログラムは識別マーカを有していないと判断した際には、メインプログラムバックアップ領域22に格納された現行プログラムを起動する。   When the determination unit 42b determines that the new program has an identification marker, the update control unit 42c activates the new program, and the determination unit 42b does not have the identification marker. If it is determined, the current program stored in the main program backup area 22 is activated.

なお、判断部42bは、メインプログラム格納領域21に格納された新規プログラムが、その新規プログラムの特定領域(例えば、新規プログラムの先頭、最後尾または先頭から10byte等の特定領域)に識別マーカを有しているか否かを判断することが望ましい。   Note that the determination unit 42b has an identification marker in a new program stored in the main program storage area 21 in a specific area of the new program (for example, a specific area such as the first, last or first 10 bytes of the new program). It is desirable to determine whether or not

また、更新制御部42cは、判断部42bが新規プログラムは特定領域に識別マーカを有していると判断した際には、その新規プログラムを起動し、また、判断部42bが新規プログラムは特定領域に識別マーカを有していないと判断した際には、メインプログラムバックアップ領域22に格納されている現行プログラムを起動することが望ましい。   Further, when the determination unit 42b determines that the new program has an identification marker in the specific area, the update control unit 42c activates the new program, and the determination unit 42b determines that the new program is in the specific area. When it is determined that there is no identification marker, it is desirable to start the current program stored in the main program backup area 22.

次に、動作を説明する。   Next, the operation will be described.

図2は、格納制御部42aの動作を説明するためのフローチャートである。以下、図2を参照して、格納制御部42aの動作を説明する。   FIG. 2 is a flowchart for explaining the operation of the storage control unit 42a. Hereinafter, the operation of the storage control unit 42a will be described with reference to FIG.

ステップA1では、入力装置1が新規プログラムを受け付けると、格納制御部42aは、メインプログラム格納領域21に格納されている現行プログラムをメインプログラムバックアップ領域22に格納する。   In step A1, when the input device 1 receives a new program, the storage control unit 42a stores the current program stored in the main program storage area 21 in the main program backup area 22.

例えば、格納制御部42aは、入力装置1が新規プログラムを受け付けると、まず、メインプログラムバックアップ領域22が格納しているデータを消去し、その後、メインプログラム格納領域21に格納されている現行プログラムを読み取り、その読み取った現行プログラムをメインプログラムバックアップ領域22に格納する。続いて、格納制御部42aは、メインプログラム格納領域21の現行プログラムを消去する。格納制御部42aは、ステップA1を終了すると、ステップA2を実行する。   For example, when the input device 1 receives a new program, the storage control unit 42a first erases the data stored in the main program backup area 22, and then stores the current program stored in the main program storage area 21. The read current program is stored in the main program backup area 22. Subsequently, the storage control unit 42a deletes the current program in the main program storage area 21. The storage control unit 42a executes Step A2 after completing Step A1.

ステップA2では、格納制御部42aは、入力装置1が受け付けた新規プログラムをメインプログラム格納領域21に格納する。   In step A <b> 2, the storage control unit 42 a stores the new program accepted by the input device 1 in the main program storage area 21.

図3は、判断部42bおよび更新制御部42cの動作を説明するためのフローチャートである。以下、図3を参照して、判断部42bおよび更新制御部42cの動作を説明する。   FIG. 3 is a flowchart for explaining operations of the determination unit 42b and the update control unit 42c. Hereinafter, operations of the determination unit 42b and the update control unit 42c will be described with reference to FIG.

ステップ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 program storage area 21 is an unauthorized program. Check.

具体的には、判断部42bは、メインプログラム格納領域21に格納された新規プログラムが、その新規プログラムの特定領域(例えば、新規プログラムの先頭領域)に識別マーカを有しているか否かに基づいて、新規プログラムが不正プログラムであるか否かを判断する。   Specifically, the determination unit 42b is based on whether the new program stored in the main program storage area 21 has an identification marker in a specific area of the new program (for example, the top area of the new program). Thus, it is determined whether or not the new program is a malicious program.

判断部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 update control unit 42c. When the determination result is supplied from the determination unit 42b, the update control unit 42c executes Step B2.

ステップB2では、更新制御部42cは、判断部42bの判断結果が問題なしの場合、ステップB3を実行し、また、判断部42bの判断結果が問題ありの場合、ステップB5を実行する。   In step B2, the update control unit 42c executes step B3 when the determination result of the determination unit 42b is satisfactory, and executes step B5 when the determination result of the determination unit 42b is problematic.

ステップB3では、更新制御部42cは、まず、プログラム処理領域41に格納されているデータを消去し、その後、メインプログラム格納領域21が格納している新規プログラムを、プログラム処理領域41にコピーする。例えば、更新制御部42cは、プログラム処理領域41に格納されているデータを消去した後、メインプログラム格納領域21が格納している新規プログラムを読み取り、その読み取った新規プログラムをプログラム処理領域41に格納する。更新制御部42cは、ステップB3を終了すると、ステップB4を実行する。   In step B <b> 3, the update control unit 42 c first erases the data stored in the program processing area 41, and then copies the new program stored in the main program storage area 21 to the program processing area 41. For example, after erasing data stored in the program processing area 41, the update control unit 42 c reads a new program stored in the main program storage area 21 and stores the read new program in the program processing area 41. To do. The update control unit 42c executes Step B4 after completing Step B3.

ステップB4では、更新制御部42cは、プログラム処理領域41に格納された新規プログラムを起動する。例えば、更新制御部42cは、CPU42が、プログラム処理領域41に格納された新規プログラムを読み込み、その読み込んだ新規プログラムを実行するように、CPU42を再起動する。   In step B4, the update control unit 42c activates a new program stored in the program processing area 41. For example, the update control unit 42c restarts the CPU 42 so that the CPU 42 reads a new program stored in the program processing area 41 and executes the read new program.

ステップB5では、更新制御部42cは、まず、メインプログラム格納領域21に格納されているデータを消去し、その後、メインプログラムバックアップ領域22にバックアップしてある現行プログラムを、メインプログラム格納領域21にコピーする。例えば、更新制御部42cは、メインプログラム格納領域21に格納されているデータを消去した後、メインプログラムバックアップ領域22が格納している現行プログラムを読み取り、その読み取った現行プログラムをメインプログラム格納領域21に格納する。   In step B5, the update control unit 42c first erases the data stored in the main program storage area 21, and then copies the current program backed up in the main program backup area 22 to the main program storage area 21. To do. For example, after deleting the data stored in the main program storage area 21, the update control unit 42 c reads the current program stored in the main program backup area 22, and reads the read current program into the main program storage area 21. To store.

続いて、更新制御部42cは、プログラム処理領域41に格納されているデータを消去し、その後、メインプログラム格納領域21が格納している現行プログラムをプログラム処理領域41にコピーし、プログラム処理領域41が格納している現行プログラムを起動する。   Subsequently, the update control unit 42c erases the data stored in the program processing area 41, and then copies the current program stored in the main program storage area 21 to the program processing area 41. Starts the current program stored by.

例えば、更新制御部42cは、プログラム処理領域41に格納されているデータを消去した後、メインプログラム格納領域21が格納している現行プログラムを読み出し、その読み出した現行プログラムをプログラム処理領域41に格納し、その後、CPU42が、プログラム処理領域41に格納された現行プログラムを読み込み、その読み込んだ現行プログラムを実行するように、CPU42を再起動する。   For example, after deleting the data stored in the program processing area 41, the update control unit 42 c reads the current program stored in the main program storage area 21 and stores the read current program in the program processing area 41. Thereafter, the CPU 42 reads the current program stored in the program processing area 41 and restarts the CPU 42 so as to execute the read current program.

本実施例によれば、新規プログラムが識別マーカを有しているか否かが判断され、識別マーカが新規プログラムに含まれる場合には、新規プログラムが起動され、識別マーカが新規プログラムに含まれない場合には、現行プログラムが起動される。このため、新規プログラムが識別マーカを有しているか否かに基づいて、新規プログラムが不正なプログラムであるか否かを判断することが可能になり、不正なプログラムが起動されることを防止することが可能になる。   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 program processing area 41 is also stored in the main program storage area 21. Therefore, the current program stored in the main program storage area 21 can be used as a backup for the current program in the program processing area 41.

また、再起動指令が受け付けられた場合に、新規プログラムが識別マーカを有しているか否かの判断が実行される場合、必要時にのみ、新規プログラムが識別マーカを有しているか否かの判断を行うことが可能となる。   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 program storage area 21, compares the calculation result with the checksum input from the input device 1, and confirms the validity of the firmware data.

また、ファームウェアデータのチェックサムがファームウェアデータの先頭または末尾に付加されて情報処理装置に入力されている場合、判断部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.

本発明の一実施例の情報処理装置を示したブロック図である。It is the block diagram which showed the information processing apparatus of one Example of this invention. 図1に示した情報処理装置の動作を説明するためのフローチャートである。3 is a flowchart for explaining an operation of the information processing apparatus illustrated in FIG. 1. 図1に示した情報処理装置の動作を説明するためのフローチャートである。3 is a flowchart for explaining an operation of the information processing apparatus illustrated in FIG. 1.

符号の説明Explanation of symbols

1 入力装置
2 格納部
21 メインプログラム格納領域
22 メインプログラムバックアップ領域
3 メモリ
31 起動プログラム
4 制御部
41 プログラム処理領域
42 CPU
42a 格納制御部
42b 判断部
42c 更新制御部
DESCRIPTION OF SYMBOLS 1 Input device 2 Storage part 21 Main program storage area 22 Main program backup area 3 Memory 31 Start-up program 4 Control part 41 Program processing area 42 CPU
42a Storage control unit 42b Judgment unit 42c Update 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.
請求項1に記載の情報処理装置において、
前記判断部は、前記プログラム格納領域に格納された新規プログラムが、前記新規プログラムの特定領域に前記マーカを有しているか否かを判断し、
前記更新制御部は、前記判断部が前記新規プログラムは前記特定領域に前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断部が該新規プログラムは該特定領域に該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する、情報処理装置。
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.
請求項1または2に記載の情報処理装置において、
前記更新制御部は、前記プログラムバックアップ領域に格納された現行のプログラムを前記プログラム処理領域に格納する際、該現行のプログラムを前記プログラム格納領域にも格納する、情報処理装置。
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.
請求項1ないし3のいずれか1項に記載の情報処理装置において、
再起動を行う旨を示す再起動指令を受け付ける受付部をさらに含み、
前記判断部は、前記受付部が前記再起動指令を受け付けると、前記判断を実行する、情報処理装置。
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.
請求項5に記載のプログラム更新方法において、
前記判断ステップは、前記プログラム格納領域に格納された新規プログラムが、前記新規プログラムの特定領域に前記マーカを有しているか否かを判断し、
前記更新制御ステップは、前記判断ステップで前記新規プログラムは前記特定領域に前記マーカを有していると判断した際には、前記プログラム格納領域に格納された新規プログラムを前記プログラム処理領域に格納した後に該新規プログラムを起動し、また、前記判断ステップで該新規プログラムは該特定領域に該マーカを有していないと判断した際には、前記プログラムバックアップ領域に格納された現行のプログラムを該プログラム処理領域に格納した後に該現行のプログラムを起動する、プログラム更新方法。
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.
請求項5または6に記載のプログラム更新方法において、
前記更新制御ステップは、前記プログラムバックアップ領域に格納された現行のプログラムを前記プログラム処理領域に格納する際、該現行のプログラムを前記プログラム格納領域にも格納する、プログラム更新方法。
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.
請求項5ないし7のいずれか1項に記載のプログラム更新方法において、
再起動を行う旨を示す再起動指令を受け付ける受付ステップをさらに含み、
前記判断ステップは、前記受付ステップで前記再起動指令を受け付けると、前記判断を実行する、プログラム更新方法。
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.
JP2004236401A 2004-08-16 2004-08-16 Information processor and program updating method Pending JP2006053848A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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