DETECTION SYSTEM, DETECTION METHOD, AND DETECTION PROGRAM

JP7643592B2Active Publication Date: 2025-03-11NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023567423
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-12-16
Publication Date
2025-03-11
Estimated Expiration
2041-12-16

AI Technical Summary

Benefits of technology

【0010】 本発明によれば、供託攻撃に対してロバストかつ計算量の少ないスキャンを実行することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007643592000001
    Figure 0007643592000001
  • Figure 0007643592000002
    Figure 0007643592000002
  • Figure 0007643592000003
    Figure 0007643592000003
Patent Text Reader

Abstract

This detection system has a node (50) and a verification server (100). The node (50) generates a plurality of random values on the basis of seeds received from the verification server (100), generates a response on the basis of information on the area of first storage content, specified by the generated plurality of random values, and transmits the generated response to the verification server (100). The verification server (100) generates a plurality of random values on the basis of the seeds, and generates a verification response on the basis of information on the area of second storage content, specified by the generated plurality of random values. The verification server (100) determines whether or not the response received from the node matches the verification response, and outputs the determination result.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a detection system, a detection method, and a detection program. [Background technology]

[0002] One conventional tamper detection technology is called attestation technology. Attestation technology obtains a digest (hash value, checksum, etc.) at a certain point in time when the entire monitored storage device can be considered normal, and periodically compares the obtained digest with the digest of the current monitored device to check whether any unauthorized tampering has occurred within the target storage device.

[0003] Among attestation technologies, the technology field in which all processing is performed by software is called software-based attestation technology. In software-based attestation technology, in order to generate a digest, it is necessary to read all information in the target storage, and two methods have been used to read the information: sequential scan and random scan.

[0004] Sequential scan is the simplest method, which generates digests sequentially from the beginning of the storage. Since sequential scan is the simplest method, the amount of calculation is also minimal (O(m)). m is the storage size.

[0005] Random scan is a method of randomly reading memory cells or blocks based on pseudo-random numbers and reading a digest. Random scan is robust against escrow attacks by hijacked devices. [Prior art documents] [Non-patent literature]

[0006] [Non-Patent Document 1] Taejoon Park, Kang G. Shin, "Soft Tamper-Proofing via Program Integrity Verification in Wireless Sensor Networks", IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 4, NO. 3, MAY / JUNE 2005 [Non-Patent Document 2] Arvind Seshadri, Adrian Perrig, Leendert van Doorn, Pradeep Khosla, "SWATT: SoftWare-based ATTestation for Embedded Devices", Proceedings of the 2004 IEEE Symposium on Security and Privacy Summary of the Invention [Problem to be solved by the invention]

[0007] Sequential scan requires the least amount of computation but is vulnerable to escrow attacks by a compromised device, whereas random scan is robust to escrow attacks but requires a certain amount of computation, O(mlog(m)).

[0008] The present invention has been made in consideration of the above, and aims to provide a detection system, a detection method, and a detection program that can perform a scan that is robust against escrow attacks and requires little calculation. [Means for solving the problem]

[0009] In order to solve the above-mentioned problems and achieve the object, the detection system according to the present invention includes a node and a verification server. The node includes a first random scan unit that generates a plurality of random values ​​based on a seed received from the verification server, generates a response based on information on an area of ​​a first storage content specified by the generated random values, and transmits the generated response to the verification server. The verification server includes a second random scan unit that generates a plurality of random values ​​based on a seed and generates a verification response based on information on an area of ​​a second storage content specified by the generated random values, and a verification unit that determines whether the response received from the node matches the verification response and outputs the determination result. Effect of the Invention

[0010] According to the present invention, it is possible to execute a scan that is robust against escrow attacks and requires a small amount of calculation. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 is a diagram for explaining sequential scanning. [Diagram 2] FIG. 2 is a diagram for explaining a custody attack against a sequential scan. [Diagram 3] FIG. 3 is a diagram for explaining the random scan. [Figure 4] FIG. 4 is a diagram illustrating an example of a detection system according to the present embodiment. [Diagram 5] FIG. 5 is a flowchart of a random access process according to the present embodiment. [Figure 6] FIG. 6 is a functional block diagram illustrating a configuration of a node according to the present embodiment. [Figure 7] FIG. 7 is a functional block diagram illustrating a configuration of the validation server according to the present embodiment. [Figure 8] FIG. 8 is a flowchart showing a processing procedure of the detection system according to the present embodiment. [Figure 9] FIG. 9 is a diagram illustrating an example of a computer that executes a detection program. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] Hereinafter, embodiments of the detection system, detection method, and detection program disclosed in the present application will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to these embodiments. EXAMPLES

[0013] Before describing this embodiment, an outline of the software-based attestation technology will be described. The software-based attestation technology basically consists of the following two steps (step S1 and step S2).

[0014] Step S1 will now be explained. In step S1, the software-based attestation technology fills the free space in the storage on the device with pseudo-random numbers. Because it is difficult to prove that free space is free, the free space in each storage of the device is filled with non-compressible random numbers. Furthermore, information about the entire storage after the random numbers have been filled is also held on the verification server side. At this time, by storing the seed values ​​that generated the random numbers rather than the random numbers themselves, it is possible to reduce the amount of storage space to be stored on the verification server side.

[0015] Step S2 will now be described. In step S2, the software-based attestation technology transmits a challenge from the validation server to the device, and the device returns a corresponding response within a time limit.

[0016] The challenge contains a random value called a nonce. The device that receives the challenge extracts the nonce contained in the challenge and generates a response that proves that it has its own memory information and the nonce.

[0017] Specifically, the response may be a hash value of the data combining the nonce and memory information. In addition, the response may be a message authentication code of the nonce using the hash value combining the nonce and memory information as a key.

[0018] To generate the response described in step S2, it is necessary to read all the information in the storage of the device itself, and there are two ways to read this information: sequential scan and random scan.

[0019] First, sequential scanning will be described. FIG. 1 is a diagram for explaining sequential scanning. In sequential scanning, a checksum or hash digest is generated sequentially from the first cell of the program memory 10. For example, x1, x2, . . ., x B A checksum or hash digest is generated in this order. This is the simplest digest generation method, and the amount of calculation is O(m), where m is the memory size of the program memory 10.

[0020] Figure 2 is a diagram for explaining a deposit attack against sequential scan. For example, the memory content of a certain Node u is divided into M1 and M2, and M1 is stored in Node u and M2 is stored in Noe v. By doing so, Node u has free space, and malicious code (Malicious Dode) can be embedded there.

[0021] When attesting to Node u, Node u first generates a hash of object C1 using M1, passes the hash of object C1 to Node v, generates the next hash C2 using M2, and generates a response (C1, C2). In this way, by communicating between memory cells, it is possible to avoid tamper detection of Node u.

[0022] Next, the random scan will be explained. The random scan is a method that is resistant to the escrow attack explained in Fig. 2. Fig. 3 is a diagram for explaining the random scan.

[0023] In a random scan, the nonce value included in the challenge is treated as a seed value for a uniform pseudorandom number, and the cell or block to be read is determined based on the value of the uniform pseudorandom number that is generated. The read cells or blocks are input sequentially to the digest generation algorithm. For example, it is designed so that the value of the final digest (= response) generated changes depending on the order of the cells or blocks that are read. In the example shown in Figure 3, blocks x3, x9, x5, x 13 , x 15 and input to the digest generation algorithm in that order.

[0024] With the above design, if an escrow attack is attempted, a huge number of communications are required between memory cells, increasing overhead and making it difficult to generate a correct response within the time limit. In addition, the random scan must satisfy the following three requirements (1) to (3).

[0025] Requirement (1) is the requirement that an attacker cannot predict the cells or blocks to be read in advance, calculate the response in advance, or deceive the validation server by a reply attack. Requirement (1) can be met if the nonce value sent from the validation server cannot be predicted and the response correctly depends on the nonce value.

[0026] Requirement (2) is that even 1-byte tampering must be detectable with a high probability. In conventional random scanning, requirement (2) is met by determining the number of times uniform pseudorandom numbers are generated based on the coupon collector problem. Specifically, when the number of memory cells or blocks is m, and random numbers are generated cmlog(m) times and used for digest generation, the upper limit of the probability that all memory cells or blocks are not read can be limited to m^(1-c), where m is the memory size and c is a constant.

[0027] Requirement (3) requires that parallel processing must not be possible, because if parallel processing were possible, an attacker could potentially offset the increased communication overhead associated with random scanning by processing in parallel on multiple devices.

[0028] In the detection system according to the present embodiment, an improvement to the random scan is considered. As explained in the requirement (2) of the random scan above, a random scan using uniform pseudorandom numbers is highly likely to read the same cells or blocks multiple times, resulting in high calculation costs. Therefore, a shuffle algorithm is applied to determine whether storage content information has been tampered with by an algorithm (random scan without duplication) that satisfies the requirements (1) to (3) above.

[0029] Fig. 4 is a diagram showing an example of a detection system according to the present embodiment. Fig. 4 includes a validation server 100 and a node 50. The validation server 100 and the node 50 are connected to each other via a network 15. Fig. 4 shows only the node 50, but the detection system according to the present embodiment may include other nodes.

[0030] The validation server 100 securely holds storage content information 100a of the node 50, the integrity of which is to be verified. The node 50 holds the storage content information 50a. For example, the validation server 100 acquires the storage content information 50a of the node 50 at a point in time when the storage content information 50a is deemed to be safe, and registers it in the storage content information 100a. If the storage content information 50a has not been tampered with by an attacker, the contents of the storage content information 100a should match the contents of the storage content information 50a.

[0031] The verification server 100 generates a random nonce value that acts as a seed value when executing a random scan, sets the generated nonce value in challenge information, and transmits it to the node 50. The node 50 receives the challenge information, executes random access to the storage content information 50a based on the nonce value set in the challenge information, and generates response information based on the execution result.

[0032] Here, an example of a random access processing procedure executed by the node 50 will be described. Fig. 5 is a flowchart showing the random access processing procedure according to this embodiment. For example, the memory size of the storage content information 50a is assumed to be M. Also, s[n] is assumed to be the n-th memory cell of the storage content information 50a.

[0033] As shown in FIG. 5, the node 50 sets i=M (step S10). The node 50 creates an array s=[1, 2, 3, . . . , M] corresponding to the memory cells (step S11). A random number seed is set in the random number generator (step S12). The initial random number seed set in the random number generator is the Nonce value set in the challenge information. The node 50 obtains a random integer value from 0 to i inclusive from the random number generator and assigns it to j (step S13).

[0034] The node 50 exchanges the value of s[j] with the value of s[i] (step S14). The node 50 generates a checksum or hash digest of the memory cell corresponding to s[i] (step S15).

[0035] The node 50 updates the random number seed of the random number generator based on the checksum or hash digest (step S16). If the condition of i=1 is not satisfied (step S17, No), the node 50 updates the value of i by "i=i-1" (step S18) and proceeds to step S12.

[0036] On the other hand, if the condition i=1 is satisfied (step S17, Yes), the node 50 generates a checksum or hash digest of the memory cell corresponding to s[0] (step S19). The node 50 generates response information in which the checksum or hash digest generated from each memory cell is set (step S20).

[0037] The node 50 generates response information by executing the process described with reference to FIG.

[0038] Here, the validation server 100 executes random access to the storage content information 100a based on the nonce value generated by itself and included in the challenge information transmitted to the node 50, and generates validation response information based on the execution result. The random access process executed by the validation server 100 is similar to the random access process executed by the node 50 described with reference to FIG.

[0039] If the response information received from the node 50 matches the verification response information, the verification server 100 determines that the storage content information 50a of the node 50 has not been tampered with. On the other hand, if the response information does not match the verification response information, the verification server 100 determines that the storage content information 50a has been tampered with, and outputs an alert.

[0040] As described above, in the detection system according to this embodiment, the node 50 generates multiple random values ​​based on the Nonce value received from the validation server 100, and generates response information based on memory cells at positions based on each random value. Meanwhile, the validation server 100 generates random values ​​based on the Nonce value notified to the node 50, and generates verification response information based on memory cells at positions based on each random value. The validation server 100 determines whether the storage content information 50a of the node 50 has been tampered with based on the response information and the verification response information.

[0041] The node 50 and the verification server 100 apply the shuffle algorithm as described in FIG. 5 to perform a non-duplicate random scan whose results vary depending on a unique seed value (Nonce value) generated by the verification server 100. This makes it possible to reduce the amount of calculation to O(M) while satisfying the requirements (1) to (3) for the random scan.

[0042] Next, a configuration example of the node 50 shown in Fig. 4 will be described. Fig. 6 is a functional block diagram showing the configuration of a node according to this embodiment. As shown in Fig. 6, the node 50 has a communication unit 51, a storage unit 54, and a control unit 55.

[0043] The communication unit 51 is a communication interface for transmitting and receiving various information to and from the validation server 100 connected via the network 15 etc. The communication unit 51 is realized by a NIC (Network Interface Card) etc., and performs communication between the validation server 100 and the control unit 55 via an electric communication line such as a LAN (Local Area Network) or the Internet.

[0044] The storage unit 54 has storage content information 50a. The storage unit 54 is realized by a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk.

[0045] The storage content information 50a is information that is set in advance, and is, for example, information that the node 50 refers to when executing a predetermined process.

[0046] The control unit 55 includes a random scan unit 55a and a random number generator 55b. The control unit 55 is realized using a CPU (Central Processing Unit) or the like.

[0047] The random scan unit 55a acquires challenge information from the validation server 100, and executes random access to the storage content information 50a based on the Nonce value set in the challenge information. The random scan unit 55a generates response information based on the execution result of the random access, and transmits the generated response information to the validation server 100.

[0048] The process procedure of the random scan executed by the random scan unit 55a is the same as the process procedure described in Fig. 5. The random scan unit 55a acquires a random value by setting a random number seed in the random number generator 55b. When acquiring a random value using the random number generator 55b, the random scan unit 55a controls the random number generator 55b so that each time the random number generator 55b generates a random value, the random scan unit 55a gradually narrows the range that the next random value can take. This enables random scans without duplication.

[0049] The random scanner 55a sets each checksum or hash digest generated during the random scan in the response information as a chronological list.

[0050] The random number generator 55b outputs a random value based on the set random number seed. When the random number generator 55b outputs a random value, the random number generator 55b outputs a random value within a range specified by the random scan unit 55a.

[0051] Next, a configuration example of the validation server 100 shown in Fig. 4 will be described. Fig. 7 is a functional block diagram showing the configuration of the validation server according to this embodiment. As shown in Fig. 7, the validation server 100 has a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a control unit 150.

[0052] The communication unit 110 is a communication interface that transmits and receives various information to and from the node 50 connected via the network 15 or the like. The communication unit 110 is realized by a NIC or the like, and performs communication between the node 50 and the control unit 150 via an electric communication line such as a LAN or the Internet.

[0053] The input unit 120 is an input interface that accepts various operations from an operator of the validation server 100. For example, it is configured with input devices such as a keyboard and a mouse.

[0054] The display unit 130 is an output device that outputs information acquired from the control unit 150, and is realized by a display device such as a liquid crystal display, a printing device such as a printer, or the like.

[0055] The storage unit 140 has storage content information 100a. The storage unit 140 is realized by a semiconductor memory element such as a RAM or a flash memory, or a storage device such as a hard disk or an optical disk.

[0056] When the storage content information 50a of the node 50 is deemed safe, the acquired information is stored as storage content information 100a in the memory unit 140. The storage content information 100a of the verification server 100 may be transmitted to the node 50 and stored as the storage content information 50a.

[0057] The control unit 150 includes a generating unit 150a, a random scanning unit 150b, a random number generator 150c, and a verifying unit 150d. The control unit 150 is realized using a CPU or the like.

[0058] The generating unit 150a generates a random Nonce value that acts as a seed when performing a random scan, and sets the generated Nonce value in the challenge information. The generating unit 150a transmits the challenge information to the node 50. The generating unit 150a also outputs the Nonce value to the random scanning unit 150b.

[0059] The random scanner 150b obtains a nonce value from the generator 150a. This nonce value is the same as the nonce value in the challenge information transmitted to the node 50. The random scanner 150b executes random access to the storage content information 100a based on the nonce value. The random scanner 150b generates verification response information based on the execution result of the random access. The random scanner 150b outputs the verification response information to the verifying unit 150d.

[0060] The processing procedure of the random scan executed by the random scan unit 150b is the same as the processing procedure described in FIG. 5. However, the target of random access is the storage content information 100a. The random scan unit 150b acquires a random value by setting a random number seed in the random number generator 150c. When acquiring a random value using the random number generator 150c, the random scan unit 150b controls the random number generator 150c so that each time the random number generator 150c generates a random value, the random scan unit 150b narrows the possible range of the next random value stepwise. This enables random scan without duplication.

[0061] The random scanner 150b sets each checksum or hash digest generated during the random scan as a chronological list in the verification response information.

[0062] The random number generator 150c outputs a random value based on the set random number seed. When the random number generator 150c outputs a random value, the random number generator 150c outputs a random value within a range specified by the random scan unit 150b.

[0063] The verification unit 150d determines whether the storage content information 50a of the node 50 has been tampered with, based on the response information received from the node 50 and the verification response information acquired from the random scan unit 150b.

[0064] If the response information and the verification response information match, the verification unit 150d determines that the storage content information 50a of the node 50 has not been tampered with.

[0065] If the response information and the verification response information do not match, the verification unit 150d determines that the storage content information 50a of the node 50 has been tampered with. If the verification unit 150d determines that the storage content information 50a has been tampered with, it outputs a warning to the display unit 130.

[0066] Next, an example of a processing procedure of the detection system according to the present embodiment will be described with reference to a flowchart of FIG 8 .

[0067] 8, the validation server 100 randomly generates a nonce value and sets it in the challenge information (step S101). The validation server 100 transmits the challenge information to the node 50 (step S102). The validation server 100 executes random access based on the nonce value and the storage content information 100a, and generates validation response information (step S103).

[0068] On the other hand, the node 50 receives the challenge information (step S104). The node 50 executes random access based on the nonce value and the storage content information 50a, and generates response information (step S105). The node 50 transmits the response information to the validation server 100 (step S106).

[0069] The validation server 100 receives the response information (step S107). The validation server 100 determines whether the verification response information matches the response information (step S108). If the verification response information matches the response information (step S109, Yes), the validation server 100 ends the process. On the other hand, if the verification response information does not match the response information (step S109, No), the validation server 100 outputs an alert (step S110).

[0070] Next, the effect of the detection system according to the present embodiment will be described. As described above, in the detection system, the node 50 generates a plurality of random values ​​based on the Nonce value received from the validation server 100, and generates response information based on memory cells at positions based on each random value. Meanwhile, the validation server 100 generates random values ​​based on the Nonce value notified to the node 50, and generates verification response information based on memory cells at positions based on each random value. The validation server 100 determines whether the storage content information 50a of the node 50 has been tampered with based on the response information and the verification response information.

[0071] The node 50 and the verification server 100 apply the shuffle algorithm as described in FIG. 5 to perform a non-duplicate random scan whose results vary depending on a unique seed value (Nonce value) generated by the verification server 100. This makes it possible to reduce the amount of calculation to O(M) while satisfying the requirements (1) to (3) for the random scan.

[0072] Furthermore, when performing random access, the detection system sets a seed value in a random number generator to calculate a random value, updates the random number seed based on information of a memory cell specified by the calculated random value, and calculates the next random value. The detection system also generates an array corresponding to storage contents specified by the random value, exchanges the value of the array specified by the random value with the value of the array specified by a variable value based on the memory size, and generates a checksum or hash digest based on information of a memory cell corresponding to the value of the array after the exchange. This makes it possible to execute a random scan that is robust against escrow attacks and requires a reduced amount of calculation.

[0073] Next, an example of a computer that executes the detection program will be described. Fig. 9 is a diagram showing an example of a computer that executes the detection program. The computer 1000 has, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.

[0074] The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012. The ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to a hard disk drive 1031. The disk drive interface 1040 is connected to a disk drive 1041. A removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1041. The serial port interface 1050 is connected to, for example, a mouse 1051 and a keyboard 1052. The video adapter 1060 is connected to, for example, a display 1061.

[0075] Here, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. Each piece of information described in the above embodiments is stored in the hard disk drive 1031 or memory 1010, for example.

[0076] The detection program is stored in the hard disk drive 1031 as a program module 1093 in which instructions to be executed by the computer 1000 are written. Specifically, the program module 1093 in which each process executed by the verification server 100 described in the above embodiment is written is stored in the hard disk drive 1031.

[0077] Data used for information processing by the detection program is stored as program data 1094, for example, in the hard disk drive 1031. Then, the CPU 1020 reads out the program module 1093 and the program data 1094 stored in the hard disk drive 1031 into the RAM 1012 as necessary, and executes each of the above-mentioned procedures.

[0078] Note that the program module 1093 and program data 1094 relating to the detection program are not limited to being stored in the hard disk drive 1031, and may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1041 or the like. Alternatively, the program module 1093 and program data 1094 relating to the detection program may be stored in another computer connected via a network such as a LAN or a WAN (Wide Area Network), and read by the CPU 1020 via the network interface 1070.

[0079] Although the embodiment to which the invention made by the present inventor is applied has been described above, the present invention is not limited by the description and drawings which form a part of the disclosure of the present invention according to the present embodiment. In other words, other embodiments, examples, operation techniques, etc. made by those skilled in the art based on the present embodiment are all included in the scope of the present invention. [Explanation of symbols]

[0080] 50 nodes 50a,100a Storage Content Information 51,110 Communications Department 54,140 storage section 55,150 Control section 55a, 150b Random scan section 55b,150c Random Number Generator 100 Verification Server 120 Input section 130 Display section 150a Generator 150d Verification Department

Claims

1. A detection system having a node and a verification server, The node: a first random scan unit that generates a plurality of random values ​​based on a seed received from the validation server, generates a response based on information on an area of ​​a first storage content specified by the generated plurality of random values, and transmits the generated response to the validation server; the verification server includes a second random scan unit that generates a plurality of random values ​​based on the seed, and generates a verification response based on information on an area of ​​a second storage content that is specified by the generated plurality of random values; a verification unit that determines whether the response received from the node matches the verification response and outputs a result of the determination; having The detection system, wherein the first random scan unit further performs a process of gradually narrowing the range of possible values ​​for the next random value each time a random value is generated.

2. The detection system of claim 1, characterized in that the first random scan unit sets the seed received from the verification server in a random number generator to calculate a random value, updates the seed based on information about the area of ​​the first storage content identified by the calculated random value, and calculates the next random value.

3. The detection system described in claim 1, characterized in that the first random scan unit generates an array corresponding to the first storage content, exchanges information of a first area of ​​the array identified by a random value with information of a second area of ​​the array identified by a variable value based on the memory size of the first storage content, and generates the response based on the information of the second area after the exchange.

4. 2. The detection system according to claim 1, wherein the verification unit outputs a warning when the response received from the node does not match the verification response.

5. A detection method for a detection system having a node and a verification server, comprising: The node: a first random scan step of generating a plurality of random values ​​based on a seed received from the validation server, generating a response based on information on an area of ​​a first storage content specified by the generated plurality of random values, and transmitting the generated response to the validation server; a second random scan process in which the verification server generates a plurality of random values ​​based on the seed, and generates a verification response based on information on an area of ​​a second storage content identified by the generated random values; a verification step of determining whether the response received from the node matches the verification response and outputting a result of the determination; Including, The detection method is characterized in that the first random scan step further includes a process of gradually narrowing the range of possible values ​​for the next random value each time a random value is generated.

6. a generating step of causing the node to perform a first random scan of a first storage content based on the seed by transmitting the seed to the node, and obtaining a response resulting from the first random scan from the node; a second random scan step of generating a plurality of random values ​​based on the seed, and generating a verification response based on information of an area of ​​a second storage content identified by the generated plurality of random values; a verification step of determining whether the response received from the node matches the verification response and outputting a result of the determination; A detection program for causing a computer to execute the above, The detection program is characterized in that the first random scan further executes a process of gradually narrowing the range of possible values ​​for the next random value each time a random value in the response is generated.

Citation Information

Patent Citations

  • Rewrite detection system and information processing device

    JP2016072669A

  • Verification system, verification method, and verification program

    JP2018093363A