Device verification system, device verification method, and program
The device verification system authenticates devices at startup by comparing hash values, ensuring authenticity and preventing tampering, even when external networks are unavailable, thus enhancing security in isolated systems.
Patent Information
- Application Number
- JP2023576558
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-01-31
- Publication Date
- 2026-01-21
- Estimated Expiration
- 2042-01-31
AI Technical Summary
Existing device verification systems are unable to authenticate devices effectively when disconnected from an external network, making them vulnerable to cyberattacks.
A device verification system that utilizes a communication device to verify the authenticity of devices at startup by comparing hash values of components and programs stored in a tamper-resistant security function unit, allowing verification to occur even when external networks are blocked.
Ensures device authenticity verification up to startup, detecting unauthorized tampering and preventing system malfunctions even in network-disconnected environments.
Smart Images

Figure 0007803354000001 
Figure 0007803354000002 
Figure 0007803354000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a device verification system, a device verification method, and a recording medium. [Background technology]
[0002] Cyberattacks against edge computers (devices) installed at various business sites are becoming a reality. For example, when a system vendor delivers a system to a customer, a malicious third party may tamper with the device, causing the system to malfunction.
[0003] To address this issue, it is known to verify the authenticity of a device before starting the system in order to prevent the system from performing abnormal operations. For example, Patent Document 1 discloses a technology in a communication system including a device and a smart meter, in which the device issues an authentication request to the smart meter and reads data from the device after the authentication process is completed. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2016-039564 Summary of the Invention [Problem to be solved by the invention]
[0005] However, the invention described in Patent Document 1 is verified using an external authentication server located away from the device. Therefore, if the network with the external authentication server is cut off, verification becomes impossible.
[0006] An example of an objective of the present disclosure is to provide a device verification system that can verify the authenticity of a device up to its startup even when an external network is blocked. [Means for solving the problem]
[0007] An equipment verification system in one aspect of the present disclosure is an equipment verification system having a plurality of equipment and a communication device that manages the equipment, wherein the plurality of equipment is each configured to include a security function means, and the security function means stores hash values of components and programs generated when each equipment is started up, and the communication device includes a verification means that verifies the authenticity of each equipment at the time of start-up based on the hash values stored in the security function means, and an output means that outputs the verification results.
[0008] In one aspect of the present disclosure, a device verification method involves a communication device that manages multiple devices verifying the authenticity of each device at the time of startup based on hash values of components and programs generated at the time of startup of each device, which are stored in the security function means of each of the multiple devices, and outputting the verification results.
[0009] In one aspect of the present disclosure, a recording medium stores a program that causes a computer to verify the authenticity of each device at the time of startup based on hash values of components and programs stored in the security function means of each of the multiple devices, generated at the time of startup of each device, and output the verification results. [Effects of the Invention]
[0010] One example of the effect of the present disclosure is that it can provide a device verification system that can verify the authenticity of a device up to startup even if the external network is blocked. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is a diagram showing the configuration of a device verification system according to the first embodiment. [Figure 2] FIG. 2 is a diagram showing a hardware configuration in which the devices and communication devices according to the first embodiment are realized by a computer device and its peripheral devices. [Figure 3]FIG. 3 is a flowchart showing the operation of the device verification system according to the first embodiment. [Figure 4] FIG. 4 is a diagram showing the configuration of a device verification system according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0012] Next, an embodiment will be described in detail with reference to the drawings.
[0013] [First embodiment] FIG. 1 is a diagram illustrating the configuration of a device verification system 10 according to a first embodiment. Referring to FIG. 1, the device verification system 10 includes multiple devices 100 (100a, 100b) and a communication device 200. The device verification system 10 verifies the authenticity of a series of startup operations, starting with the startup of a program such as an OS, which begins when each device 100 is powered on. In this embodiment, the authenticity is verified by a higher-level authentication server based on hash values calculated at startup to determine whether the components of the device 100 and the programs stored in the device 100 have been tampered with. In this embodiment, the communication device 200 verifies the operating status for establishing a secure initial state for each device 100, thereby verifying the authenticity of each device 100. Authenticity refers to a state in which only known, tested components and programs are operating in each device 100, and no unauthorized tampering has occurred during the device delivery or system construction process. The device verification system 10 performs device verification, for example, each time the device 100 starts its startup operation.
[0014] The equipment verification system 10 is, for example, a system located in a remote location that becomes a closed environment when the network with the data center is interrupted. The equipment verification system 10 is, for example, an equipment system that controls equipment of a vehicle, ship, aircraft, or the like in real time. In the equipment verification system 10, the communication device 200 aggregates the verification results of each device 100 and transmits them to the top-level verification device 300 via satellite communication or wireless communication. The communication device 200 may also aggregate the verification results of each device 100 and transmit them to the top-level verification device 300 via a higher-level verification device (not shown). In this case, the communication device 200 may further transmit the verification results transmitted from each device 100 to the top-level verification device 300 via another communication device 200 under the control of the same higher-level verification device. In the case of an equipment system, the verification results may be transmitted via wireless communication to the top-level verification device 300 via a communication device 200 in another vehicle, ship, or aircraft and the higher-level verification device. Other examples of the device verification system 10 include systems used in connected cars or in OT (Operational Technology) in factories. The upper level verification device includes a verification unit that verifies the authenticity of the communication device 200 that exists below the upper level verification device. Similarly, the top level verification device 300 includes a verification unit that verifies the authenticity of the upper level verification device that exists below the top level verification device 300.
[0015] 2 is a diagram illustrating an example of a hardware configuration in which each of the device 100 and the communication device 200 according to the first embodiment of the present disclosure is realized by a computer device 500 including a processor. As shown in Fig. 2, the device 100 and the communication device 200 each include a CPU (Central Processing Unit) 501, memories such as a ROM (Read Only Memory) 502 and a RAM (Random Access Memory) 503, a storage device 505 such as a hard disk for storing a program 504, a communication I / F (Interface) 508 for network connection, and an input / output interface 511 for inputting and outputting data.
[0016] The CPU 501 controls the entire device 100 and communication device 200 according to the first embodiment of the present invention. The CPU 501 also reads programs and data from a recording medium 506 attached to a drive device 507 or the like into memory. The CPU 501 also functions as the program execution unit 101, security function unit 102, and transmission unit 103 of the device 100 according to the first embodiment, or as part of these units, and executes processes or commands in the flowchart shown in FIG. 3 (described later) based on the programs. The CPU 501 also functions as the transmission / reception unit 201, authentication information storage unit 202, verification unit 203, output unit 204, and control unit 205 of the communication device 200 according to the first embodiment, or as part of these units, and executes processes or commands in the flowchart shown in FIG. 3 (described later) based on the programs.
[0017] The recording medium 506 is, for example, an optical disk, a flexible disk, a magneto-optical disk, an external hard disk, or a semiconductor memory. Some of the recording media in the storage device are non-volatile storage devices, and the programs are recorded therein. The programs may also be downloaded from an external computer (not shown) connected to a communication network.
[0018] The input device 509 is realized by, for example, a mouse, a keyboard, built-in key buttons, etc., and is used for input operations. The input device 509 is not limited to a mouse, a keyboard, or built-in key buttons, and may be, for example, a touch panel. The output device 510 is realized by, for example, a display, and is used to check output.
[0019] As described above, the first embodiment shown in Fig. 1 is realized by the computer hardware shown in Fig. 2. However, the means for realizing each unit of the device 100 and the communication device 200 in Fig. 1 are not limited to the configurations described above. Furthermore, the communication device 200 may be realized by a single physically coupled device, or may be realized by two or more physically separate devices connected by wire or wirelessly. For example, the input device 509 and the output device 510 may be connected to the computer device 500 via a network.
[0020] <Equipment 100> Each of the devices 100 (100a, 100b) includes a program execution unit 101 (101a, 101b), a security function unit 102 (102a, 102b), and a transmission unit 103 (103a, 103b). In this embodiment, the multiple devices 100 are located in two places, but this is not limited to this. The number of multiple devices 100 corresponds to the number of devices present in the device verification system 10.
[0021] The program execution unit 101 executes the startup program of the device 100 and generates hash values of the components and programs. For example, when the device 100 is powered on, the program execution unit 101 executes programs in the following order: boot loader, BIOS (Basic Input Output System) or UEFI (Unified Extensible Firmware Interface), and OS. However, the configuration of the programs to be executed is not limited to this. The program may consist of only a boot loader, or the boot loader itself may be multi-stage. When the program execution unit 101 executes the startup program, it generates hash values of the components such as the CPU and hash values of each program, and inputs the generated hash values to the security function unit 102. Note that the hash values may be digitally signed to ensure the authenticity of the hash values themselves.
[0022] The security function unit 102 includes a tamper-resistant storage area. The security function unit 102 is an area that is difficult to alter by a malicious third party. The security function unit 102 stores each hash value input from the program execution unit 101, and may have an encryption key required for encryption processing to securely transmit the hash value to the communication device 200, or an attribute certificate that defines the source of information. The security function unit 102 is configured, for example, by a TPM (Trusted Platform Module), but is not limited to this as long as the configuration can achieve tamper resistance. A TPM has high tamper resistance because it is difficult to tamper with the OS, hardware, or physical hacking from outside.
[0023] The transmission unit 103 transmits the hash value stored in the security function unit 102 to the communication device 200, requesting verification of the authenticity of the device 100.
[0024] <Communication Device 200> The communication device 200 includes a transmission / reception unit 201, an authentication information storage unit 202, a verification unit 203, an output unit 204, and a control unit 205. Note that the communication device 200 may be configured as a virtualized server that operates as multiple servers in one unit.
[0025] The transmitting / receiving unit 201 receives data transmitted from the device 100 and transmits it to the top-level verification device 300. The transmitting / receiving unit 201 may have a firewall function within the device verification system 10. That is, the transmitting / receiving unit 201 determines whether to allow network communication with the outside of the device verification system 10, and allows or denies the communication.
[0026] The authentication information storage unit 202 stores expected hash values of the components and programs of each device 100. The expected hash values are normal hash values that are generated when the components and startup programs have not been tampered with. The authentication information storage unit 202 stores expected hash values received from each device 100 via the transmission / reception unit 201 in advance.
[0027] The verification unit 203 verifies the authenticity of the components of each device 100 and the boot program executed by each device 100. The verification unit 203 makes a binary determination, for example, as to whether or not the authenticity is guaranteed. When the verification unit 203 receives a verification request from any of the devices 100, it compares the hash value generated when the boot program is executed with the expected hash value stored in the authentication information storage unit 202. However, the verification method used by the verification unit 203 is not limited to this, and any method can be used as long as it can confirm that the hash value generated when the boot program is executed is a normal hash value.
[0028] If the hash value obtained when the startup program is executed is the same as the expected hash value, the verification unit 203 determines that the startup program is authentic and outputs the verification result to the output unit 204. If the hash value obtained when the startup program is executed is different from the expected hash value, the verification unit 203 determines that the startup program is not authentic and outputs the verification result to the output unit 204 and the control unit 205. If any of the hash values of the device 100 does not match the expected hash value, the verification unit 203 may determine that the device is not authentic at that point in time and output the verification result to the output unit 204 and the control unit 205.
[0029] The output unit 204 is a means for outputting the result of the authenticity of the device 100. The output unit 204 outputs the result of the authenticity to an output device 510 such as a display device. Furthermore, when the output unit 204 receives a verification result indicating inauthenticity, the output unit 204 may notify the user of an abnormality using a lamp or buzzer provided in the communication device 200. Furthermore, the output unit 204 may transmit the result of the authenticity verification to the top-level verification device 300.
[0030] The control unit 205 stops communication with the device 100 determined to be inauthentic by invalidating the certificate information. For example, the control unit 205 invalidates the attribute certificate of the device 100 determined to be inauthentic using the mechanism of RFC5055. The control unit 205 may reconfigure the device verification system 10 excluding the device 100 determined to be inauthentic, and may control the device verification system 10 to perform degenerate operation.
[0031] The device verification system 10 may have, as a minimum configuration, a security function unit 102 of the device 100, and a verification unit 203 and an output unit 204 of the communication device 200. In this case, the security function unit 102 may generate hash values of the components of the device 100 and hash values of the programs executed by the device 100.
[0032] The operation of the device verification system 10 configured as above will be described with reference to the flowchart of FIG.
[0033] 3 is a flowchart showing an outline of the operation of the device verification system 10 in the first embodiment. Note that the processing according to this flowchart may be executed based on program control by the processor described above.
[0034] 3, first, the program execution unit 101 of the device 100 executes a program to generate hash values of the components and programs of the device 100 (step S101), and stores the generated hash value in the security function unit 102 (step S102). The transmission unit 103 transmits the hash value stored in the security function unit 102 to the communication device 200 (step S103). Next, the transmission / reception unit 201 of the communication device 200 receives the generated hash value (step S104). Next, the verification unit 203 compares the generated hash value with the expected hash value stored in the authentication information storage unit 202 (step S105). If the generated hash value matches the expected hash value (S105; YES), the verification unit 203 determines that the device is authentic (step S106) and ends the flow. On the other hand, if the generated hash value does not match the expected hash value (S105; NO), the verification unit 203 determines that the device is not authentic (step S107), and the output unit 204 issues an alert (step S108). Next, the control unit 205 stops communication with the device 100 that has been determined to be inauthentic (step S109). This completes the device verification operation of the device verification system 10.
[0035] The device verification system 10 in this embodiment determines authenticity by verifying whether the hash value generated when the startup program of the device 100 is executed by the verification unit 203 of the communication device 200 is a normal hash value. This makes it possible to verify the authenticity of the device 100 up to the OS startup even if the device verification system 10 is disconnected from the external network.
[0036] Conventionally, commercially available virus software used for authenticity verification could not be installed depending on the program installed in the device 100. For example, in the case of a low-power device that requires an OS designed for power saving, such as an embedded OS, installing commercially available virus software is extremely unfeasible from the standpoint of performance and capacity. Furthermore, in the case of a device that burns its installed program into flash memory, installing the software itself is difficult. In contrast, in the device verification system 10 disclosed herein, the verification unit 203 in the communication device 200 verifies the authenticity of the device 100 based on the hash values of the components and programs of the device 100. Therefore, virus software can be installed regardless of the installed program, such as the OS.
[0037] [Second embodiment] Next, a second embodiment of the present disclosure will be described. Below, explanations of content that overlaps with the above explanation will be omitted to the extent that the explanation of this embodiment is not unclear. As with the computer device shown in FIG. 2, the functions of each component in each embodiment of the present disclosure can be realized not only by hardware but also by a computer device or software based on program control.
[0038] FIG. 4 is a diagram showing the configuration of a device verification system 11 according to the second embodiment. With reference to FIG. 4, the device verification system 11 according to the second embodiment will be described, focusing on the differences from the device verification system 10 according to the first embodiment. The device 110 has the same configuration as the device 100. The communication device 210 has a transmission / reception unit 211, an authentication information storage unit 202, a verification unit 203, an output unit 204, a control unit 205, and a network monitoring unit 206. That is, this embodiment differs from the first embodiment in that the communication device 210 has the network monitoring unit 206.
[0039] The network monitoring unit 206 in the second embodiment monitors the network of the device verification system 11 when an application is executed after the OS is started. The network monitoring unit 206 verifies whether there is an abnormality in the network based on the difference from the normal operation pattern of the device verification system 11. The communication device 210 stores a model in a storage device (not shown) that has been generated by learning operation data such as communication log information during normal operation for a certain period of time (e.g., one to three months). This model is a model that outputs whether the network is normal or not when operation data is input. Using this model, the network monitoring unit 206 issues an alert via the output unit 204 when it detects operation that differs from the normal operation pattern.
[0040] In the second embodiment of the present disclosure, the network monitoring unit 206 verifies whether the network of the device verification system 11 is abnormal when an application is executed based on the difference from the normal operation pattern. This makes it possible to detect unknown malware that cannot be detected by antivirus software. The network monitoring unit 206 can detect abnormalities caused by, for example, tampering with a dynamic link library when an application is executed on the device 110. Furthermore, in the device verification system 11 where application control is limited to specific operations, such as in an accessory system, it is easy to extract characteristic points of operation patterns. This can improve the accuracy of network abnormality detection by the network monitoring unit 206. Furthermore, by combining the second embodiment with the first embodiment of the present disclosure, it becomes possible to detect abnormalities both at the time of startup and during operation of the device 110.
[0041] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
[0042] For example, although multiple operations are described in a sequential order in the form of a flowchart, the order of description does not limit the order in which the multiple operations are performed. Therefore, when implementing each embodiment, the order of the multiple operations can be changed within the scope that does not affect the content. [Explanation of symbols]
[0043] 10, 11 Equipment Verification System 100, 110 equipment 101, 111 Program Execution Unit 102, 112 Security function unit 103, 113 Transmitter 200, 210 communication equipment 201, 211 Transmitting and receiving unit 202, 212 Authentication information storage unit 203, 213 Verification Department 204, 214 Output section 205, 215 Control section 216 Network Monitoring Department 300, 310 Top-level verification equipment
Claims
1. A device verification system having a plurality of devices and a communication device, each of the plurality of devices includes a security function means, and the security function means stores hash values of programs installed in each device and components of each device, the hash values being generated when each device is started; The communication device includes: a verification means for verifying authenticity of each of the devices at the time of startup based on the hash value stored in the security function means; an output means for outputting the verified result, the communication device is connected to a higher-level verification device, and the higher-level verification device is connected to another communication device and a top-level verification device; the output means transmits the verification result to the highest-level verification device via another communication device connected to the higher-level verification device, and via the higher-level verification device. Equipment verification system.
2. 2. The device verification system according to claim 1, wherein the security function means is configured by a tamper-resistant storage area.
3. 3. The device verification system according to claim 1, wherein the verification means verifies authenticity of the device at the time of startup by comparing the hash value with a pre-stored expected hash value.
4. The device verification system according to any one of claims 1 to 3, wherein the output means notifies the user that there is an abnormality in a device that has been determined to be inauthentic by the verification means.
5. The device verification system according to any one of claims 1 to 4, wherein the communication device stops communication with a device determined to be inauthentic by the verification means by invalidating the attribute certificate of the device.
6. The device verification system according to any one of claims 1 to 5, wherein the output means, when there is a device that has been determined to be inauthentic by the verification means, transmits to the highest-level verification device via a higher-level verification device a message indicating that there is an abnormality in the device.
7. the communication device further comprises a network monitoring means for monitoring a network of the device verification system when an application is executed; 7. The device verification system according to claim 1, wherein the network monitoring means verifies whether the network is abnormal based on a difference from a normal operation pattern of the device verification system.
8. The equipment verification system is a system for controlling equipment of a vehicle, a ship, or an aircraft, 2. The equipment verification system according to claim 1, wherein the output means transmits the verified result to the highest-level verification device via a communication device of another vehicle, ship, or aircraft and via a higher-level verification device.
9. A communication device that connects to multiple devices verifying the authenticity of each of the plurality of devices at the time of startup based on a hash value of a program installed in each device and a component of each device, the hash value being generated at the time of startup of each of the plurality of devices and stored in the security function means of each of the plurality of devices; The device verification method includes transmitting the verification result to a top-level verification device via another communication device connected to a higher-level verification device to which the communication device is connected, and via the higher-level verification device.
10. A method for verifying the authenticity of each of a plurality of devices connected to a communication device at the time of startup based on hash values of programs implemented in each of the devices and their components, the hash values being generated at the time of startup of each of the devices and stored in the security function means of each of the devices; A program that causes a computer to execute the following: transmitting the verification results to a top-level verification device via another communication device connected to a higher-level verification device to which the communication device is connected, and via the higher-level verification device.
Citation Information
Patent Citations
Information processing device and program
JP2012009938A
Information processing apparatus, information storage apparatus, information processing system, and information processing method and program
JP2013110460A
Communication system and equipment
JP2016039564A
Generation device, generation method, and generation program
JP2020005234A