Information processing apparatus
The device improves user convenience by securely executing programs only when conditions are met, preventing unauthorized use and errors.
Patent Information
- Application Number
- JP2024139328
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2026-03-05
AI Technical Summary
Existing information processing devices that verify program integrity face user inconvenience due to unanticipated program execution outside service hours, leading to errors or unexpected charges.
An information processing device that stores program information and execution conditions, determining program tampering through hash values and execution conditions, and only executes programs when conditions are met.
Enhances user convenience by ensuring secure and timely execution of programs, preventing unauthorized use and reducing unexpected charges.
Smart Images

Figure 2026036617000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device. [Background technology]
[0002] The information processing device described in Patent Document 1 verifies whether or not the program has been tampered with by comparing the hash value of the program for which an execution request has been received with the hash value of the program that has been stored in advance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2020-86469 Summary of the Invention [Problem to be solved by the invention]
[0004] However, while the information processing device described in Patent Document 1 can ensure security by verifying program tampering, it may be inconvenient for users. For example, if a program that uses a function to access a network server is executed outside of service hours, an error will be returned from the network server. In this case, the user will not be able to immediately confirm that the program cannot be executed. Alternatively, there is a possibility that a late-night fee will be charged if the program is executed outside of service hours.
[0005] The present invention has been made in view of the above-mentioned problems, and an object of the present invention is to provide an information processing device that can improve user convenience while maintaining security. [Means for solving the problem]
[0006] An information processing device according to the present invention includes a storage unit and a control unit. The storage unit stores at least one program. The control unit executes the program. The storage unit stores, for each of the at least one program, program information related to the program and execution conditions for the program in association with each other. The control unit determines whether the program has been tampered with based on the program information. If the control unit determines that the program has not been tampered with, it determines whether the execution conditions are met. If the control unit determines that the execution conditions are met, it executes the program. [Effects of the Invention]
[0007] According to the present invention, it is possible to improve user convenience while maintaining security. [Brief explanation of the drawings]
[0008] [Figure 1] 1 is a schematic diagram illustrating an image forming apparatus according to an embodiment of the present invention. [Figure 2] FIG. 10 is a diagram showing a permission list stored in a storage unit. [Figure 3] 5 is a flowchart illustrating a method for determining whether a program is permitted or not permitted in the image forming apparatus according to the embodiment of the present invention. [Figure 4] 5 is a flowchart illustrating a method for determining whether a program is permitted or not permitted in the image forming apparatus according to the embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference characters and description thereof will not be repeated.
[0010] An embodiment of an image forming apparatus 100 according to the present invention will be described with reference to Fig. 1. Fig. 1 is a schematic diagram showing an image forming apparatus 100 according to an embodiment of the present invention.
[0011] As shown in Fig. 1, image forming apparatus 100 includes image reading unit 10, image forming unit 20, control unit 30, storage unit 40, communication unit 50, document table 12, document transport device 110, display unit 120, input unit 125, paper feed cassette 130, transport unit 140, and discharge unit 170. Image forming apparatus 100 is, for example, an electrophotographic monochrome multifunction peripheral. Image forming apparatus 100 corresponds to an example of an "information processing device."
[0012] The image reading unit 10 reads an original image formed on an original M to generate original image data. The original image data indicates an original image having multiple pages. In more detail, the image reading unit 10 reads an original image formed on an original M transported by the original transport device 110 or an original image formed on an original M placed on the original table 12 to generate original image data.
[0013] The image forming unit 20 forms an image on a recording medium P based on the document image data.
[0014] The control unit 30 is a hardware circuit configured by a processor such as a CPU (Central Processing Unit), an ASIC (Application Specific Integrated Circuit), etc. The control unit 30 controls the operation of each part of the image forming apparatus 100 by the processor reading and executing a control program stored in the storage unit 40.
[0015] The storage unit 40 is configured with an HDD (Hard Disk Drive), RAM (Random Access Memory), and ROM (Read Only Memory). The storage unit 40 may also include an external memory. The external memory is removable media. Examples of the external memory that the storage unit 40 includes include a USB (Universal Serial Bus) memory and an SD (Secure Digital) card. The storage unit 40 stores various data and programs for controlling the operation of each unit of the image forming apparatus 100. The programs are executed by the control unit 30.
[0016] Display unit 120 is a display with a touch panel function that can display software buttons, and is arranged on the operation panel. Such a touch panel function can serve as both display unit 120 and input unit 125. Display unit 120 displays images.
[0017] The input unit 125 is, for example, an operation panel having a touch panel function and various hardware buttons. Instructions are input to the input unit 125 by the user.
[0018] The paper feed cassette 130 contains recording media P for printing. When printing, the recording media P in the paper feed cassette 130 is transported by the transport unit 140 so as to pass through the image forming unit 20 and be discharged from the discharge unit 170.
[0019] The embodiment of the image forming apparatus 100 according to the present invention will be further described with reference to Fig. 2. Fig. 2 is a diagram showing the permission list L1 stored in the storage unit 40.
[0020] 2, the storage unit 40 stores an allowance list L1. The allowance list L1 is a list that serves as a criterion for permitting execution of a program.
[0021] The storage unit 40 stores at least one program. In this embodiment, the storage unit 40 stores a plurality of programs. The storage unit 40 stores, for each of the at least one program, program information and an execution condition in association with each other.
[0022] The program information is information relating to a program, and includes, for example, the file name of the program and the hash value of the program.
[0023] The execution conditions are conditions for executing a program. The execution conditions include the time when the program can be executed. For example, the execution conditions are the days of the week when the program can be executed, such as Monday to Friday. Alternatively, the execution conditions may be the time periods when the program can be executed, such as 9:00 to 17:00. Alternatively, the execution conditions may be a combination of the days of the week when the program can be executed and the time periods when the program can be executed.
[0024] The execution condition includes an event that requests the execution of the program. In other words, it indicates the process that called the program. Examples of the event include copying, network printing, and receiving a fax.
[0025] The execution condition includes personal information of the user requesting the execution of the program. The personal information is, for example, account information logged in to the information processing device. The execution condition is, for example, a request for the execution of the program by an administrator's account.
[0026] The execution conditions include the availability of a network connection.
[0027] The control unit 30 determines whether the program has been tampered with based on the program information. Specifically, the control unit 30 determines whether the program has been tampered with based on the program name and hash value. More specifically, when a request for program execution is made, the control unit 30 searches whether the file name of the program requested for execution is included in the permission list L1. As a result, the control unit 30 can determine whether the program requested for execution is known. If the control unit 30 determines that the file name of the program requested for execution is not included in the permission list L1, that is, if the program requested for execution is not known, the control unit 30 denies execution of the program requested for execution. In this case, the display unit 120 may display an image notifying the user of an error that the program cannot be executed.
[0028] If the control unit 30 determines that the program file name is included in the permission list L1, that is, if the requested program is known, the control unit 30 reads the requested program from the storage unit 40 and calculates a hash value using a hash function. The control unit 30 then determines whether the calculated hash value matches the hash value stored in the permission list L1 of the storage unit 40. If the calculated hash value does not match the hash value stored in the permission list L1 of the storage unit 40, the program may have been tampered with. Therefore, if the control unit 30 determines that the calculated hash value does not match the hash value stored in the permission list L1 of the storage unit 40, the control unit 30 denies execution of the requested program. In this case, the control unit 30 may display an image on the display unit 120 notifying the user of an error indicating that the program cannot be executed. Alternatively, the control unit 30 may display an image on the display unit 120 notifying the user of an error indicating that the program may have been tampered with.
[0029] If the control unit 30 determines that the calculated hash value matches the hash value stored in the permission list L1 of the storage unit 40, that is, if the control unit 30 determines that the program has not been tampered with, the control unit 30 determines whether the execution conditions are met. Specifically, if the control unit 30 determines that the program has not been tampered with, the control unit 30 reads the permission list L1 of the storage unit 40 and determines whether the execution conditions corresponding to the program for which execution has been requested are met. If the control unit 30 determines that the execution conditions corresponding to the program for which execution has been requested are met, the control unit 30 executes the program for which execution has been requested. On the other hand, if the control unit 30 determines that the execution conditions corresponding to the program for which execution has been requested are not met, the control unit 30 denies execution of the program for which execution has been requested. In this case, the display unit 120 may display an image notifying the user of an error indicating that the program cannot be executed. Alternatively, the display unit 120 may display an image notifying the user of the reason why the program cannot be executed.
[0030] A method for determining whether a program is permitted or not permitted by image forming apparatus 100 according to an embodiment of the present invention will be described with reference to Fig. 3. Fig. 3 is a flowchart showing a method for determining whether a program is permitted or not permitted by image forming apparatus 100 according to an embodiment of the present invention. The determination of whether a program is permitted or not is made by executing the processes of steps S102 to S128 shown in Fig. 3.
[0031] Step S102: Control unit 30 identifies the file name of the program for which execution has been requested. Specifically, the user operates input unit 125 to select the program they wish to execute. More specifically, the user selects (touches) an icon displayed on display unit 120, thereby inputting a user instruction to input unit 125. As a result, control unit 30 identifies the file name of the program for which execution has been requested. Processing proceeds to step S104.
[0032] Step S104: The control unit 30 determines whether the file name of the program requested to be executed is included in the permission list L1 stored in the storage unit 40. If the control unit 30 determines that the file name of the program requested to be executed is not included in the permission list L1 stored in the storage unit 40 (Step S104: No), the process proceeds to Step S118. If the control unit 30 determines that the file name of the program requested to be executed is included in the permission list L1 stored in the storage unit 40 (Step S104: Yes), the process proceeds to Step S106.
[0033] Step S106: The control unit 30 acquires the hash value and the execution condition. Specifically, the control unit 30 reads the permission list L1 stored in the storage unit 40, and acquires the hash value and the execution condition.
[0034] Step S108: The control unit 30 calculates a hash value of the program for which execution has been requested. Specifically, the control unit 30 reads the program for which execution has been requested from the storage unit 40, and calculates a hash value using a hash function.
[0035] Step S110: The control unit 30 determines whether the hash value calculated in step S108 matches the hash value stored in the permission list L1 of the storage unit 40. If the control unit 30 determines that the hash value calculated in step S108 does not match the hash value stored in the permission list L1 of the storage unit 40 (step S110: No), the process proceeds to step S122. If the control unit 30 determines that the hash value calculated in step S108 matches the hash value stored in the permission list L1 of the storage unit 40 (step S110: Yes), the process proceeds to step S112.
[0036] Step S112: The control unit 30 reads the permission list L1 from the storage unit 40 and determines whether the execution conditions corresponding to the requested program are met. If the control unit 30 determines that the execution conditions corresponding to the requested program are not met (Step S112: No), the process proceeds to Step S126. If the control unit 30 determines that the execution conditions corresponding to the requested program are met, the process proceeds to Step S114.
[0037] Step S114: The control unit 30 permits the execution of the requested program, and the process proceeds to step S116.
[0038] Step S116: The control unit 30 executes the program for which the execution request has been made. As a result, the program for which the execution request has been made is started. The process ends.
[0039] Step S118: The control unit 30 does not permit the execution of the requested program, and the process proceeds to step S120.
[0040] Step S120: Control unit 30 causes display unit 120 to display an image indicating that execution of the program is not permitted. For example, control unit 30 causes display unit 120 to display an image notifying the user of an error indicating that the program cannot be executed. The process then ends.
[0041] Step S122: The control unit 30 does not permit the execution of the program for which execution has been requested, and the process proceeds to step S124.
[0042] Step S124: Control unit 30 causes display unit 120 to display an image indicating that execution of the program is not permitted. For example, control unit 30 causes display unit 120 to display an image notifying the user of an error indicating that the program cannot be executed. Alternatively, control unit 30 may cause display unit 120 to display an image notifying the user of an error indicating that the program may have been tampered with. The process then ends.
[0043] Step S126: The control unit 30 does not permit the execution of the requested program, and the process proceeds to step S128.
[0044] Step S128: Control unit 30 causes display unit 120 to display an image indicating that execution of the program is not permitted. For example, control unit 30 causes display unit 120 to display an image notifying the user of an error that the program cannot be executed. Alternatively, control unit 30 may cause display unit 120 to display an image notifying the user of the reason why the program cannot be executed. The process then ends.
[0045] With reference to FIG. 4, a method for determining whether to permit or disallow a program in image forming apparatus 100 according to an embodiment of the present invention will be further described. In particular, a case where the execution condition is a period during which the program is executable will be described. FIG. 4 is a flowchart showing a method for determining whether to permit or disallow a program in image forming apparatus 100 according to an embodiment of the present invention. The determination of whether to permit or disallow a program is made by executing the processes of steps S202 to S228 shown in FIG. 4. The flowchart shown in FIG. 4 is the same as the flowchart shown in FIG. 3 except for the addition of the process of step S207 and the difference in the process of step S212, and therefore, duplicated explanations will be omitted to avoid redundancy.
[0046] Steps S202 to S206: The same processes as steps S102 to S106 shown in FIG. 3 are performed.
[0047] Step S207: The control unit 30 acquires the current time. The process proceeds to step S208.
[0048] Step S210: The same process as step S110 shown in FIG. 3 is performed.
[0049] Step S212: The control unit 30 determines whether the current time acquired in step S207 is within the executable period. If it is determined that the current time acquired in step S207 is not within the executable period (step S212: No), the process proceeds to step S226. If it is determined that the current time acquired in step S207 is within the executable period (step S212: Yes), the process proceeds to step S214.
[0050] Step S214: The control unit 30 permits the execution of the requested program, and the process proceeds to step S216.
[0051] Step S216: The control unit 30 executes the program for which the execution request has been made. As a result, the program for which the execution request has been made is started. The process ends.
[0052] Steps S218 to S224: The same processes as steps S118 to S124 shown in FIG. 3 are performed.
[0053] Step S226: The control unit 30 does not permit the execution of the requested program, and the process proceeds to step S228.
[0054] Step S228: The control unit 30 causes the display unit 120 to display an image indicating that execution of the program is not permitted. For example, the control unit 30 causes the display unit 120 to display an image notifying the user of an error indicating that the program cannot be executed. Alternatively, the control unit 30 may cause the display unit 120 to display an image notifying the user of the reason why the program cannot be executed. For example, the control unit 30 may cause the display unit 120 to display an image notifying the user that the time slot is not available for program execution. The processing then ends.
[0055] As described above with reference to FIGS. 1 to 4, the control unit 30 determines whether the program has been tampered with based on the program information. If the control unit 30 determines that the program has not been tampered with, it determines whether the execution conditions are met. If the control unit 30 determines that the execution conditions are met, it executes the program. Therefore, if the execution conditions are not met, the program is not executed. Therefore, it is possible to improve user convenience while maintaining security.
[0056] The execution conditions also include the period during which the program is executable. Therefore, if the program is not executable during the period, the program will not be executed. This improves user convenience while maintaining security.
[0057] The execution condition also includes an event that requires the execution of the program. Therefore, if an event that requires the execution of the program does not occur, the program will not be executed. This improves user convenience while maintaining security.
[0058] The execution conditions also include personal information about the user requesting program execution. Therefore, the program will not be executed for users who do not have the authority to execute the program. This improves user convenience while maintaining security.
[0059] Furthermore, the execution conditions include whether a network connection is available. Therefore, if a network connection is not available, the program will not be executed. This improves user convenience while maintaining security.
[0060] The program information also includes the file name and hash value of the program, which allows the control unit 30 to determine whether the program has been tampered with, thereby maintaining security.
[0061] Furthermore, if the control unit 30 determines that the execution conditions are not met, the control unit 30 causes the display unit 120 to display an image informing the user of the reason why the program cannot be executed. Therefore, the user can immediately confirm the reason why the program cannot be executed. As a result, user convenience can be improved.
[0062] The embodiments of the present invention have been described above with reference to the drawings (FIGS. 1 to 4). However, the present invention is not limited to the above-described embodiments and can be embodied in various forms without departing from the spirit of the present invention. The drawings mainly show each component in a schematic manner for ease of understanding, and the thickness, length, number, etc. of each component shown in the drawings may differ from the actual components due to the convenience of creating the drawings. Furthermore, the materials, shapes, dimensions, etc. of each component shown in the above-described embodiments are merely examples and are not particularly limited, and various modifications are possible within a range that does not substantially depart from the effects of the present invention.
[0063] For example, in the embodiment described with reference to Figures 1 to 4, the information processing device is the image forming device 100, but the present invention is not limited to this. For example, the information processing device may be a personal computer or a smartphone. [Industrial Applicability]
[0064] The present invention can be used in the field of information processing devices. [Explanation of symbols]
[0065] 30 Control Unit 40 Storage section 100 Image forming device (information processing device) 120 Display section
Claims
1. a storage unit that stores at least one program; a control unit that executes the program; Equipped with the storage unit stores, for each of the at least one program, program information relating to the program and an execution condition of the program in association with each other; The control unit determining whether the program has been tampered with based on the program information; If it is determined that the program has not been tampered with, it is determined whether the execution condition is satisfied; When it is determined that the execution condition is satisfied, the information processing device executes the program.
2. The information processing apparatus according to claim 1 , wherein the execution condition includes a period during which the program is executable.
3. The information processing apparatus according to claim 1 , wherein the execution condition includes an event that requests execution of the program.
4. 3. The information processing apparatus according to claim 1, wherein the execution condition includes personal information of a user who requests execution of the program.
5. The information processing apparatus according to claim 1 , wherein the execution condition includes the ability to connect to a network.
6. 3. The information processing apparatus according to claim 1, wherein the program information includes a file name of the program and a hash value of the program.
7. Further comprising a display unit for displaying an image, 3. The information processing apparatus according to claim 1, wherein, when the control unit determines that the execution condition is not satisfied, the control unit causes the display unit to display an image notifying the user of the reason why the program cannot be executed.
Citation Information
Patent Citations
Information processing apparatus and control method thereof, and program
JP2020086469A