Electronic device
The electronic device addresses high storage needs by using backup and recovery codes to restore firmware from an external server, minimizing storage requirements and costs.
Patent Information
- Application Number
- JP2024082129
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-20
- Publication Date
- 2025-12-03
AI Technical Summary
Existing information processing devices require a large storage capacity to recover from tampering, leading to high device costs due to the uniform transfer of loader, kernel, and native program upon detection.
An electronic device with a processor that executes boot, first firmware, backup, and recovery codes, using backup code to restore first firmware and external server download for second firmware when tampering is detected, reducing storage requirements.
The solution allows for a smaller storage capacity requirement during recovery from tampering, thus reducing device costs.
Smart Images

Figure 2025175837000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an electronic device. [Background technology]
[0002] In a certain information processing device, at startup, (a) the BIOS is executed, (b) if the BIOS does not detect tampering with the loader, the loader is executed, (c) if the loader does not detect tampering with the kernel, the kernel is executed, (d) if the kernel does not detect tampering with the native program, the native program is executed, and (e) if tampering is detected, the legitimate loader, kernel, and native program are all transferred from an external storage device and restored (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2021-117523 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the above-mentioned information processing device, when tampering is detected, the loader, kernel, and native program are uniformly transferred, so when recovering from tampering, a large memory area must be reserved in advance to store the program code, which requires a storage device with a relatively large storage capacity, resulting in high device costs.
[0005] The present invention has been made in view of the above-mentioned problems, and has as its object to provide an electronic device that requires a relatively small storage capacity for recovery when tampering is detected. [Means for solving the problem]
[0006] An electronic device according to the present invention includes a processor, boot code, first firmware code, backup code for the first firmware code, second firmware code, recovery code for the second firmware code, and a communication device. The processor (a) executes the boot code to determine whether the first firmware code has been tampered with, (b) if it determines that the first firmware code has not been tampered with, executes the first firmware code to determine whether the second firmware code has been tampered with, (c) if it determines that the first firmware code has been tampered with, recovers the first firmware code using the backup code, and (d) if it determines that the second firmware code has been tampered with, executes the recovery code to access an external server using the communication device, download genuine firmware code from the external server, and recovers the second firmware code using the downloaded genuine firmware code. [Effects of the Invention]
[0007] According to the present invention, an electronic device can be obtained that requires a relatively small storage capacity for recovery when tampering is detected.
[0008] The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram showing the configuration of a network system including an electronic device according to an embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram showing the configuration of an electronic device according to an embodiment of the present invention. [Figure 3] FIG. 3 is a flowchart illustrating the operation of the electronic device shown in FIG. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0011] Fig. 1 is a block diagram showing the configuration of a network system including an electronic device according to an embodiment of the present invention. As shown in Fig. 1, electronic device 1 is connected to computer network 2 and is capable of data communication with external server 3 via computer network 2. Electronic device 1 is a multifunction peripheral or the like, computer network 2 is a LAN (Local Area Network), an intranet, the Internet, or the like, and external server 3 is a server that provides authorized firmware code to electronic device 1.
[0012] Fig. 2 is a block diagram showing the configuration of electronic device 1 according to an embodiment of the present invention. As shown in Fig. 2, electronic device 1 includes a substrate 10, a processor chip 11 such as an ASIC (Application Specific Integrated Circuit), a flash memory 12, storage 13 such as a hard disk drive or SSD (Solid State Drive), and a communication device 14.
[0013] Here, the processor chip 11, flash memory 12, and storage 13 are mounted on a substrate 10. However, the storage 13 may be mounted separately from the substrate 10.
[0014] The processor chip 11 includes a processor 21 such as a CPU (Central Processing Unit) and a ROM (Read Only Memory) 22.
[0015] The processor 21 reads and executes programs stored in the ROM 22, the flash memory 12, the storage 13, etc., thereby executing various processes.
[0016] The ROM 22 stores a boot code 22a, the flash memory 12 stores a firmware code 12a and a backup code 12b of the firmware code 12a, and the storage 13 stores a firmware code 13a and a recovery code 13b. The backup code 12b may be the same as the firmware code 12a before tampering, or it may be a different code. The recovery code 13b is a different code from the firmware code 13a and is a code smaller than the firmware code 13a.
[0017] The communication device 14 is a network interface or the like, and performs data communication with the external server 3 via the computer network 2 .
[0018] When the power of the electronic device 1 is turned on, the processor 21 (a) executes the boot code 22a to determine whether the firmware code 12a has been tampered with, and (b) if it determines that the firmware code 12a has not been tampered with, executes the firmware code 12a to determine whether the firmware code 13a has been tampered with. Note that tampering detection is performed using an existing method.
[0019] At this time, if it is determined that the firmware code 12a has been tampered with, the processor 21 restores the firmware code 12a with the backup code 12b. For example, the firmware code 12a is rewritten with the backup code 12b.
[0020] On the other hand, if it is determined that the firmware code 13a has been tampered with, the processor 21 executes the recovery code 13b to access the external server 3 using the communication device 14, downloads the official firmware code from the external server 3, and recovers the firmware code 13a with the downloaded official firmware code. In other words, the firmware code 13a is rewritten with the official firmware code.
[0021] Furthermore, when the firmware code 13a is restored, the processor 21 restarts the electronic device 1. On the other hand, when the firmware code 12a is restored and it is determined that the firmware code 13a has not been tampered with, the processor 21 does not restart the electronic device 1, but executes a startup process based on the firmware code 13a.
[0022] That is, the firmware code 13a is firmware code that requires the electronic device 1 to be restarted when restored (updated), and the firmware code 12a is firmware code that does not require the electronic device 1 to be restarted when restored (updated).
[0023] Next, the operation of the above device will be described below: Fig. 3 is a flowchart illustrating the operation of the electronic device 1 shown in Fig. 2.
[0024] When the electronic device is powered on (step S1), the processor 21 reads and executes the boot code 22a (step S2), and determines whether the firmware code 12a in the flash memory 12 has been tampered with (step S3).
[0025] If it is determined that the firmware code 12a has been tampered with, the processor 21 reads and executes the backup code 12b (step S4).
[0026] Then, the processor 21 determines whether the firmware code 13a of the storage 13 has been tampered with according to the firmware code 12a or the backup code 12b (step S5).
[0027] If it is determined that the firmware code 13a of the storage 13 has not been tampered with, the processor 21 reads and executes the firmware code 13a of the storage 13, thereby performing a startup process (step S6).
[0028] On the other hand, if it is determined that the firmware code 13a in the storage 13 has been tampered with, the processor 21 reads and executes the recovery code 13b, controls the communication device 14 to access the external server 3 in accordance with the recovery code 13b (step S7), downloads the official firmware code from the external server 3 (step S8), and recovers the firmware code 13a with the downloaded official firmware code (step S9). Thereafter, the processor 21 restarts the electronic device 1 in accordance with the recovery code 13b (step S10). After the restart, the processes from step S2 onward are executed.
[0029] As described above, the electronic device 1 according to the embodiment includes the processor 21, the boot code 22a, the firmware code 12a, the backup code 12b for the firmware code 12a, the firmware code 13a, the recovery code 13b for the firmware code 13a, and the communication device 14. The processor 21 (a) executes the boot code 22a to determine whether the firmware code 12a has been tampered with, (b) if it is determined that the firmware code 12a has not been tampered with, executes the firmware code 12a to determine whether the firmware code 13a has been tampered with, (c) if it is determined that the firmware code 12a has been tampered with, recovers the firmware code 12a using the backup code 12b, and (d) if it is determined that the firmware code 13a has been tampered with, executes the recovery code 13b to access the external server 3 using the communication device 14, downloads legitimate firmware code from the external server 3, and recovers the firmware code 13a using the downloaded legitimate firmware code.
[0030] As a result, when tampering of the firmware code 12a is detected, the regular firmware code for the firmware code 13a is not downloaded, so that the storage capacity required for recovery when tampering is detected can be relatively small.
[0031] It should be noted that various changes and modifications to the above-described embodiments will be apparent to those skilled in the art. Such changes and modifications may be made without departing from the spirit and scope of the subject matter and without diminishing its intended advantages. In other words, it is intended that such changes and modifications be included within the scope of the claims.
[0032] For example, in the above embodiment, if the official firmware code cannot be downloaded due to a network failure or the like, the download may be attempted again after a predetermined time has elapsed, and when the official firmware code becomes available for download, the official firmware code may be downloaded and firmware code 13a may be restored.
[0033] In the above embodiment, if the legitimate firmware code cannot be downloaded due to a network failure or the like (when the device is offline or unable to download after a predetermined time), the user may be notified of this fact. In this case, a message indicating this fact may be displayed on the electronic device 1.
[0034] In addition, in the above embodiment, the processor 21 may determine whether the downloaded genuine firmware code has been tampered with in accordance with the recovery code 13b, and if the downloaded genuine firmware code has not been tampered with, perform the above-mentioned recovery, and if the downloaded genuine firmware code has been tampered with, not perform the above-mentioned recovery and notify the user of this fact.
[0035] In addition, in the above embodiment, the processor 21 may authenticate the external server 3 in accordance with the recovery code 13b, and if the authentication is successful, download the genuine firmware code, but if not, not download the genuine firmware code and notify the user of this fact.
[0036] In the above embodiment, if recovery fails, the user may be notified of this.
[0037] Furthermore, in the above embodiment, recovery is started automatically, but recovery may also be started in response to a user operation.
[0038] Furthermore, in the above embodiment, the recovery code 13b is stored in the storage 13, but it may be stored in the flash memory 12 instead. [Industrial Applicability]
[0039] The present invention is applicable to, for example, electronic devices. [Explanation of symbols]
[0040] 1 Electronic equipment 3 External Server 12. Flash Memory 12a Firmware code (an example of the first firmware code) 12b Backup Code 13. Storage 13a Firmware code (an example of the second firmware code) 13b Recovery Code 14. Communications equipment 21 processors 22 ROM 22a Boot Code
Claims
1. a processor; Boot code and a first firmware code; a backup code for the first firmware code; second firmware code; a recovery code for the second firmware code; and a communication device; the processor (a) executes the boot code to determine whether the first firmware code has been tampered with; (b) if it determines that the first firmware code has not been tampered with, executes the first firmware code to determine whether the second firmware code has been tampered with; (c) if it determines that the first firmware code has been tampered with, restores the first firmware code with the backup code; and (d) if it determines that the second firmware code has been tampered with, executes the restoration code to access an external server with the communication device, download genuine firmware code from the external server, and restores the second firmware code with the downloaded genuine firmware code; An electronic device characterized by:
2. the boot code is stored in a read-only memory; the first firmware code and the backup code are stored in a flash memory; the second firmware code and the recovery code are stored in a storage device separate from the flash memory; 2. The electronic device according to claim 1,
3. The electronic device described in claim 1 or claim 2, characterized in that the processor (a) restarts the electronic device when the second firmware code is restored, and (b) after the first firmware code is restored, when it is determined that the second firmware code has not been tampered with, does not restart the electronic device but executes startup processing based on the second firmware code.
Citation Information
Patent Citations
Information processing apparatus, method for processing information processing apparatus, and program
JP2021117523A