Edge data integrity auditing method and system supporting multi-keyword verification
By employing a batch auditing scheme with multi-keyword verification in the edge computing environment, using a keyword index table and hierarchical signature aggregation technology, the problem of low efficiency in data integrity detection on edge servers is solved, achieving efficient and low-overhead data integrity verification.
Patent Information
- Application Number
- CN202511125510.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-12
- Publication Date
- 2025-11-18
AI Technical Summary
In edge computing environments, existing technologies struggle to effectively and with low overhead perform multi-keyword verification on data copies on edge servers, and limited computing resources result in low efficiency in data integrity detection.
A batch auditing scheme that supports multi-keyword verification is adopted. A new data structure, the keyword index table, is used to record the mapping relationship between trapdoors and encrypted data block indexes. Combined with hierarchical signature aggregation technology, communication costs and computational complexity are reduced.
It improves the efficiency and cost-effectiveness of edge data integrity auditing, protects keyword privacy, reduces computing and communication overhead, and supports batch auditing of multiple servers, multiple files, and multiple keywords.
Smart Images

Figure CN120974549A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of data security such as data outsourcing storage and edge data storage, and particularly relates to an edge data integrity auditing method and system supporting multi-keyword verification. BACKGROUND
[0002] With the rapid development of 5G technology and wireless networks, new applications such as immersive online games based on VR / AR that require high real-time performance are rapidly developing. In order to reduce latency, these application service providers will usually deploy data replicas on edge servers to provide users with a good application experience. In the Internet of Things era where users require low-latency responses, data is cached on edge servers. However, the highly distributed and dynamic nature of edge computing environments makes data replicas stored on edge servers often face intentional or unintentional damage. The damage affects the quality of services provided by edge servers, which is a major network security threat in distributed edge computing environments. Therefore, the integrity of edge data replicas cached on edge servers must be ensured, and data modification or data damage situations must be detected in a timely manner. At the same time, from an economic point of view, under the same conditions, application service providers want to prioritize auditing more important files. If there is a mode that can conduct targeted audits on specific files (containing specific keywords), the above situation can be effectively avoided. In addition, compared with cloud servers, edge servers have very limited computing resources, so the complexity of the solution also needs to be considered. It is necessary to provide an edge data integrity auditing method supporting multi-keyword verification,
[0003] A batch auditing scheme supporting multi-keyword verification is proposed. A new data structure, keyword index table, is used to record the encrypted data block index of the trapdoor corresponding to the keyword, which improves the update efficiency on the one hand and effectively protects the privacy of the keyword on the other hand. In addition, this scheme supports a multi-server-multi-file-multi-keyword batch auditing mode, supports auditing a large number of files with low overhead, and improves the cost performance and practicality of the audit. Finally, the hierarchical signature aggregation technology is used to reduce the communication cost between the edge server and the supplier. SUMMARY
[0004] To solve the above problems, the present application provides an edge data integrity auditing method and system supporting multi-file multi-keyword verification.
[0005] The system includes an application service provider and at least one edge server, the application service provider and the edge server are in communication connection, and the application service provider deploys its services and data replicas on the edge server; the edge server provides storage and computing service support for the application service provider;
[0006] The method comprises an initialization stage, a keyword extraction stage, a data transmission stage, a request stage, a response stage, a verification stage and an error positioning stage;
[0007] In the initialization stage, the initialization of the cryptographic parameters and related tools is performed, and the public key and the private key of the application service provider and the public key and the private key of the edge server are generated.
[0008] In the keyword extraction stage, the application service provider divides the original data file into a predetermined number of data blocks to form a data block set, and encrypts to form a data block set ciphertext; a predetermined number of keywords are extracted to form a keyword set; the data block index value corresponding to each keyword is recorded, and the index value is encrypted; a trapdoor is generated for each keyword, and an index table is constructed to store the mapping relationship between the trapdoors and the encrypted data block index values.
[0009] In the data transmission stage, the application service provider generates a signature for the data file using the private key and sends it to the corresponding edge server; after receiving the data, the edge server verifies the file using a signature verification algorithm, and if the verification is successful, the data is stored, otherwise the file is required to be retransmitted.
[0010] In the request stage, the application service provider initiates verification to multiple edge servers simultaneously, and the application service provider performs the following operations on each edge server: verifying the data blocks corresponding to the multiple keywords, finding the trapdoor corresponding to each keyword to form a trapdoor set, and generating a random number equal to the number of keywords to form a random number set; encrypting the request information using the public key of the edge server and sending it to the edge server, wherein the request information includes the trapdoor set, the random number set, the identity information of the application service provider, and the corresponding data file.
[0011] In the response stage, after receiving the request of the application service provider, the edge server verifies the identity information of the application service provider, and if the verification is successful, generates evidence according to the request information and sends it to the application service provider.
[0012] In the verification stage, the application service provider aggregates the evidence returned by each edge node to verify whether the integrity of the file corresponding to the keyword is damaged, and if damaged, error positioning is required.
[0013] In the error positioning stage, the application service provider positions the damaged data using the evidence returned by the edge server and its own evidence until all the damaged data are found.
[0014] The beneficial effects of the application are as follows:
[0015] 1. A batch auditing method EDI-K supporting multi-key auditing is proposed. In the process of computing the verification request received by the edge server, the scheme is simple in calculation compared with other schemes, and does not involve complex calculation, which significantly reduces the calculation cost, communication cost and time consumption.
[0016] 2. A system model of batch verification of data integrity verification supporting multi-key auditing is proposed, which uses encryption algorithm, data blinding technology and the like, and protects the data privacy, so that the privacy of the user will not be leaked.
[0017] 3. Traps are added to the keywords and the corresponding data indexes are encrypted, so that the privacy of the keywords and the corresponding indexes is effectively protected.
[0018] 4. A new data structure, a keyword index table, is designed to record the encrypted index relationship between the traps and the data, and to support dynamic update of the keywords.
[0019] 5. The scheme is extended to multiple files, batch auditing of the files is realized, real demand is met, auditing efficiency is improved, and practicability of the scheme is enhanced.
[0020] 6. Hierarchical signature aggregation is adopted to reduce the communication cost between the service provider and the edge server. BRIEF DESCRIPTION OF DRAWINGS
[0021] Figure 1 The system model of the application is shown in the figure.
[0022] Figure 2 The keyword index represents the intention. DETAILED DESCRIPTION
[0023] Firstly, the system applicable to the method is described.
[0024] As shown in the figure, Figure 1 The system mainly consists of two entities, namely an application service provider (AV) and at least one edge server (ES), which are in communication connection.
[0025] AV: The AV can provide specific services such as online games and virtual reality experiences for users. There is a long distance between the AV and the user, which usually causes high delay problem, and thus greatly reduces the user experience. In view of this problem, the AV usually rents storage and computing resources in the edge server close to the user, and deploys the services and data copies of the AV on the edge server, so as to realize the purpose of serving the user nearby. At the same time, in order to confirm that the data copies stored in the edge server are not damaged and are in a usable state, the AV must periodically perform integrity auditing on the outsourced data.
[0026] ES: ES can significantly reduce the distance of data transmission by virtue of its deployment location close to the end user, thereby effectively reducing network latency and improving service response efficiency. In a resource-constrained environment, ES provides storage and computing service support for AVs through local computing and storage resources. In addition, ES can generate integrity proofs for outsourced data copies for AVs, ensuring the integrity and reliability of data during transmission and storage.
[0027] The application designs a data integrity auditing scheme supporting multi-keyword auditing and batch verification.
[0028] First, a single file-multiple keyword auditing scheme is introduced.
[0029] The scheme includes seven stages: initialization stage, keyword extraction stage, data transmission stage, request stage, response stage, verification stage and error positioning stage, which are described as follows:
[0030] I. Initialization stage
[0031] This stage initializes the cryptographic parameters and related tools required by the scheme, such as additive cyclic group, finite field, hash function selection and pseudo-random permutation function, and generates the public key and private key of AV and the public key and private key of ES.
[0032] keyGen(·)→(sk,pk) algorithm: Assume that G1 is a q-order additive cyclic group, g is the generator of G1, G2 is a q-order multiplicative cyclic group. The bilinear pair e: G1x G1→ G2. Define two secure Hash functions H1, H2, H2:{0,1} * →G1, is a pseudo-random permutation function, φ is a pseudo-random function, Given a digital signature algorithm sign and a symmetric encryption algorithm Enc and the corresponding symmetric encryption key k E . The public key and private key of AV are pk AV and sk AV . The public key and private key of ES are pk ES and sk ES . The relationship between the public key and the private key is: g is the generator of G1. pk generally refers to various public keys, including pk ES , pk AV ; sk generally refers to various private keys, including sk AV , sk ES .
[0033] II. Keyword extraction stage
[0034] AV divides the original data file F into n data blocks, extracts s keywords to form a keyword set, records the index of the data block corresponding to each keyword, encrypts each data block and its index, generates a trapdoor for each keyword, and constructs an index table to store the mapping relationship between each trapdoor and the index value of the encrypted data block. n and s are predetermined values.
[0035] The specific steps are as follows:
[0036] S21: Extraction(F)→(C,KeyWord,index) Algorithm: AV clearly understands the distribution of each data point, and the data distribution of AV and ES is consistent. For ease of verification, AV divides the original data file F into n data blocks, forming a data block set F = {b1, b2, ..., b...}. n}, and use Enc and k E For each data block, calculate the corresponding ciphertext to form a ciphertext set C = {c1, c2, ..., c...} n AV extracts relevant keywords from the original data file. Assuming there are *s* keywords, they form a keyword set KeyWord = {key1, key2, ..., key...}. s}, and record the data block index corresponding to each keyword.
[0037] S22:IndexGen(index,sk AV (Index): Encrypts the index of each data block to prevent the leakage of the correspondence between the key and the data block. The encrypted data block index set is Index = {Index} i}; index i This is the index of the data block corresponding to the i-th key.
[0038] S23: Trapdoor(KeyWord)→(Trap) Algorithm: Generates a corresponding trapdoor for each keyword. The trapdoor set is represented as Trap={trap1,trap2,...trap s Keyword k Corresponding trapdoor Due to the pseudo-random function φ and the pseudo-random sequence Due to the nature of the keywords, different keywords will lead to different trapdoors, and the relationship between the trapdoor and the original keyword is highly confusing, making it difficult to directly recover the keyword from the trapdoor.
[0039] S24: Construct an index table to store the mapping between trapdoor values and encrypted data block index values. Specifically, as follows... Figure 2The first column indicates the trap value corresponding to the key, the second column is the pointer, and the right side is the block number of the corresponding encrypted data block.
[0040] III. Data transmission phase
[0041] The AV uses a private key to generate a signature for the data block ciphertext set, and sends it to the corresponding ES. After receiving the signature, the ES uses a signature verification algorithm to verify the data file. If the verification is successful, the data is stored, otherwise the file is required to be retransmitted.
[0042] S31: The AV uses a private key to generate a signature for the data block ciphertext set, i.e. Sig = sign(sk AV ,C). sign() is a signature function.
[0043] S32: The AV sends information Upload = {C, ID AV ,ID ES ,KIT, Sig} to the corresponding ES. Among them, ID AV represents the identity information of the AV, ID ES represents the identity information of the ES, and KIT represents the index table.
[0044] S33: After receiving the information Upload, the ES uses a signature verification algorithm to verify it. If the formula Ver(pk AV ,C, Sig) == 1 is established, the data is stored, otherwise the file is required to be retransmitted.
[0045] IV. Request phase
[0046] Request(trap, k)→(req) algorithm: Assuming that the AV needs to initiate verification to R ES at the same time, Req = {req1, req2,..., req R}. Take the lth ES as an example, l ∈ [1, R].
[0047] S411: The AV needs to verify the data blocks corresponding to m keys. First, the AV finds the trap j corresponding to each key, trap = {trap j}, and generates m random numbers v j , where j ∈ [1, m];
[0048] S412: Encrypt req ES = {trap, v, ID l ,F AV} using the corresponding pk id and send it to the corresponding ES.
[0049] V. Response phase
[0050] After receiving the request of AV, the ES verifies the identity information of AV, and generates the evidence according to the request information if the verification is successful.
[0051] S511: Response (req, F)→(Pro) Algorithm: After receiving the request of AV, the ES verifies the identity information of AV, and generates the evidence according to the request information if the verification is successful. Taking the jth keyword as an example, according to the received trapdoor value trap j and F id , (F id is the idth file) to find the corresponding encrypted index value of the data block. According to the real data block index value is found, the data query is performed, and the corresponding data block is obtained;
[0052] S512: The data blocks are spliced to obtain d lj , and then connected with the received random number v lj to generate the corresponding hash value, and the evidence of the application service provider is calculated:
[0053]
[0054] S513: The ES encrypts the corresponding Pro l using the public key of AV and sends it to AV.
[0055] S514: AV finds the corresponding real data block according to the trapdoor value, connects the data to generate d lj , and the corresponding evidence is calculated as follows:
[0056] Proof lj = H2(H1(F id · trap lj ) + H1(d lj || v lj )) (2)
[0057] S514: AV aggregates the evidence of m keywords of R ESs to generate Proof,
[0058] VI. Verification phase
[0059] Verify (Proof, Pro)→(True, False) algorithm: AV aggregates the evidence returned by each edge node to generate Pro, determine whether the formula is established:
[0060] e (Pro, g) = e (Proof, pk ES) (3)e() is a bilinear mapping function. If equation (3) is true, it means that the verification is passed and the integrity of the file containing the keyword is not damaged. If equation (3) is not true, it means that the integrity of the data is damaged and error positioning is needed.
[0061] Seven, error positioning phase
[0062] The present application can perform aggregated verification on any subset of the received responses. Thus, it can iteratively split the set of responses into two smaller subsets for checking. The main procedure is as follows:
[0063] The AV divides the evidence returned by each ES into two parts: Pro R and Pro L , and aggregates the evidence generated by itself into Proof R and Proof R . The equations e(Pro R , g) = e(Proof R , pk ES ) and e(Pro L , g) = e(Proof L , pk ES ) are verified. If at least one of the equations is not true, it means that the data value at this place does not match the original evidence, and the data at this place is damaged. The step is repeated until all damaged data is found.
[0064] In equation , the sum of j = 1 to m is split into two halves, the sum of j = 1 to is Pro L , and the sum of j = m to m is Pro R .
[0065] In equation , the sum of l = 1 to R is split into two halves, the sum of l = 1 to is Proof L , and the sum of l = R to R is Proof R .
[0066] Multi-file-multi-keyword auditing method:
[0067] The initialization phase, the keyword extraction phase, the data transmission phase and the damaged data positioning phase are consistent with the single-file-multi-keyword basic auditing scheme.
[0068] The following is described.
[0069] I. Initialization phase
[0070] II. Keyword Extraction Stage
[0071] III. Data Transmission Stage
[0072] The three stages described above are the same as those mentioned earlier and will not be repeated here.
[0073] 4: Request Phase
[0074] Suppose that AV needs to verify h files from R ES, and each file verifies the data blocks contained in m keywords. Take the l-th edge node as an example.
[0075] S421: AV finds the trap corresponding to each keyword. ij The formula is: Trapdoor set trap = {trap ij}, and at the same time generate a set of random numbers. Where i∈[1,h], j∈[1,m]. The set of IDs for h files is: ID={F id,1 ,F id,2 ,...,F id,h}
[0076] S422: The AV sends a request req to the corresponding ES. l ={trap,v,ID AV ,ID}.
[0077] V. Response Phase
[0078] Taking the l-th ES as an example, the response phase executes the following steps:
[0079] S521: When ES receives a request from AV, it first verifies the identity information of AV. If the verification is successful, it generates evidence based on the request information.
[0080] S522: Based on the received trapdoor value and ID, find the corresponding encrypted index value of the data block. KeyWord = {key ij}←{F i ,keyword j}, key ij Find the j-th keyword of the i-th file; locate the actual data block index; output the corresponding data block content based on Req, specifically using the following method: d lj ←Q(C,KIT,Req), Q() is a lookup function that provides query and retrieval capabilities;
[0081] S523: Connect the found data blocks to generate d lij ;
[0082] S523:d lij With the received random number v lij The connection generates the corresponding hash value:
[0083]
[0084] S524:ES uses AV's public key to encrypt the corresponding evidence, and then... l Send to AV; AV finds the actual data block based on the trapdoor value, and concatenates the data to generate d. lij AV generates its own evidence according to the rules based on the data it stores:
[0085]
[0086] VI. Verification Phase
[0087] The evidence returned by the R edge nodes is aggregated to generate Pro. Determine if the formula is true:
[0088] e(Pro,g)=e(Proof,pk ES (6) e() is a bilinear mapping function. If formula (6) is true, it means that the verification is successful and the integrity of the file containing the keyword has not been compromised. If formula (6) is false, it means that the integrity of the data has been compromised and error localization is required.
[0089] VII. Error Localization Stage
[0090] This invention can perform aggregate verification on any subset of the received responses. Therefore, it can iteratively split the response set into two smaller subsets for inspection. The main process is as follows:
[0091] AV divides the evidence returned by each ES into two parts: Pro R and Pro L At the same time, it aggregates the evidence it generates into Proof R and Proof R Verify e(Pro) R ,g)=e(Proof R ,pk ES ) and e(Pro L ,g)=e(Proof L ,pk ES Check if the formula is true. If at least one formula is false, repeat this step until all the corrupted data is found.
[0092] formula In the above, the summation from l=1 to R is split into two halves, l=1 to R. The summation is ProL , The summation to R is Pro R .
[0093] Correspondingly, equation (5) can be written as equation (5). In the above, the summation from l=1 to R is split into two halves, l=1 to R. The summation is Proof L , The summation to R is Proof R .
[0094] Fully dynamic updates of keywords:
[0095] In this phase, AV dynamically updates data by sending update requests to ES. This chapter primarily considers the impact of data block changes on the trapdoor index table. Data block update operations include adding, modifying, and deleting, and the corresponding key changes mainly include the following:
[0096] (1) Only the keyword was added after the data block was updated;
[0097] (2) Only the keywords were deleted after the data block was updated;
[0098] (3) After the data block was updated, some keywords were deleted while some keywords were added;
[0099] (4) The data block update has no effect on the keywords.
[0100] Regarding (1): Assume that the i-th block in the file is updated (i∈[1,n]). First, AV updates the data block b after the update. i Extracting the contained keywords Original b i The included keywords are After comparison, it was found that the keyword key4 had been added, and the corresponding data block index value was calculated according to the rules. For data block b i Encryption c i '←Enc(b i ′,k E If other data blocks contain the same keyword, simply update the request. Send to Elasticsearch. If it does not exist, calculate the trapdoor value corresponding to the key. Send update request Given ES, where Ad represents the increment operation.
[0101] Regarding (2): Assume that the i-th block in the file is updated (i∈[1,n]). First, AV updates the data block b after the update. i Extracting the contained keywords Original b i The included keywords are After comparison, it was found that the keyword key3 was deleted, and the corresponding trapdoor value was calculated. The index value of the corresponding data block For data block b i Encryption c i '←Enc(b i ′,k E Send update request. Give it to ES.
[0102] Regarding (3): Assume that the i-th block in the file is updated (i∈[1,n]). First, AV updates the data block b after the update. i Extracting the contained keywords Original b i The included keywords are After comparison, it was found that the keyword key3 was deleted and the keyword key2 was added. Calculate the trapdoor value of key2. key3 trapdoor value and the corresponding data block index value and For data block b i Encryption c i '←Enc(b i ′,k E ).if If the value exists in the trapdoor index table, send an update request. Give it to ES. If If the element does not exist in the trapdoor index table, a request is sent. Give it to ES. That is, it needs to be deleted. The corresponding data block index value and adding a new row to the table Related information.
[0103] Regarding (4): If updating the data block has no effect on the key, then there is no update operation on the trapdoor index table. AV only needs to update the DB={c i Send '} to ES.
Claims
1. A method for edge data integrity auditing that supports multi-keyword verification, characterized in that, The system to which the method is applied includes an application service provider and at least one edge server. The application service provider communicates with the edge server and deploys its own services and data copies on the edge server. The edge server provides storage and computing service support to the application service provider. The method includes an initialization phase, a keyword extraction phase, a data transmission phase, a request phase, a response phase, a verification phase, and an error location phase. During the initialization phase, cryptographic parameters and related tools are initialized, and public and private keys for the application service provider and the edge server are generated. During the keyword extraction stage, the application service provider divides the original data file into a predetermined number of data blocks, forms a data block set, and encrypts it to form the ciphertext of the data block set; Extract a predetermined number of keywords and form a keyword set; Record the data block index value corresponding to each keyword and encrypt the index value; generate a trapdoor for each keyword and build an index table to store the mapping relationship between each trapdoor and the encrypted data block index value; During the data transmission phase, the application service provider uses its private key to generate a signature for the data file and sends it to the corresponding edge server. After receiving the data, the edge server uses a signature verification algorithm to verify the file. If the verification is successful, the data is stored; otherwise, the file is required to be retransmitted. During the request phase, the application service provider simultaneously initiates verification against multiple edge servers. For each edge server, the application service provider performs the following operations: verifies the data blocks corresponding to multiple keywords, finds the trapdoors corresponding to each keyword, forms a trapdoor set, and generates a random number set with the same number of keywords; encrypts the request information using the public key of the edge server and sends it to the edge server. The request information includes the trapdoor set, the random number set, the application service provider's identity information, and the corresponding data file. During the response phase, after receiving a request from the application service provider, the edge server verifies the identity information of the application service provider. If the verification is successful, it generates evidence based on the request information and sends it to the application service provider. During the verification phase, the application service provider aggregates the evidence returned by each edge node to verify whether the integrity of the file corresponding to the keyword has been compromised. If it has been compromised, error localization is required. During the error localization phase, application service providers use evidence returned by edge servers and their own evidence to locate the corrupted data until all the corrupted data is found.
2. The edge data integrity auditing method supporting multi-keyword verification as described in claim 1, characterized in that, The initialization phase is executed as follows: Assume G1 is an additive cyclic group of order q, g is a generator of G1, G2 is a multiplicative cyclic group of order q, and there is a bilinear pair e: G1 × G1 → G2; define two safe hash functions. It is a pseudo-random permutation function. φ is a pseudo-random function. Given a digital signature algorithm (sign), a symmetric encryption algorithm (Enc), and a corresponding symmetric encryption key (k). E The application service provider's public and private keys are PK. AV , sk AV The public and private keys of the edge server are PK. ES , sk ES The relationship between the public and private keys is: pk = sk·g. g is a generator of G1.
3. The edge data integrity auditing method supporting multi-keyword verification as described in claim 1, characterized in that, Keyword extraction phase details: S21: The application service provider divides the original data file F into blocks, resulting in n data blocks F = {b1, b2, ..., b...}. n The application service provider extracts a predetermined number of keywords from this file to form a keyword set KeyWord = {key1, key2, ... key}. s }; and record the data block index corresponding to each key; s is a predetermined value; using Enc and k E For each data block, calculate the corresponding ciphertext block, forming a ciphertext set C = {c1, c2, ..., c...} n }; S22: Encrypt the data block index value using the following formula: i∈[1,s], the data block index value set Index={Index i }; index i This is the index value of the data block corresponding to the i-th key; S23: Generate a corresponding trapdoor for each keyword. The trapdoor set is represented as Trap = {trap1, trap2, ..., trap...} s }; Keyword k Corresponding trapdoor k∈[1,s]; S24: Construct an index table to store the mapping between trapdoors and the index values of encrypted data blocks.
4. The edge data integrity auditing method supporting multi-keyword verification as described in claim 3, characterized in that, The data transmission phase specifically includes: S31: The application service provider uses its private key to generate a signature for the data file, i.e., Sig = sign(sk AV C); sign() is the signature function; S32: Application service provider sends information Upload={C,ID AV ID ES The ID is assigned to the corresponding edge server; where ID is assigned to the edge server. AV Represents the identity information of the application service provider, ID ES KIT represents the identity information of the edge server; S33: After receiving the data, the edge server uses a signature verification algorithm to verify it. If Ver(pk) AV If the expression (C,Sig)==1 is true, then the data is stored; otherwise, the file is required to be retransmitted.
5. The edge data integrity auditing method supporting multi-keyword verification as described in claim 4, characterized in that, When it is a single file, the request phase is as follows: Assuming the application service provider needs to initiate verification for R edge servers simultaneously, taking the l-th edge server as an example, l∈[1,R], the application service provider needs to verify the data blocks corresponding to m keywords. The request phase executes the following process: S411: The application service provider finds the trap corresponding to each keyword. j Simultaneously generate m random numbers v j , v={v j }, where j∈[1,m]; S412: Use the corresponding PK ES Encrypt request information, req l ={trap,v,ID AV ,F id } and send it to the corresponding edge server; When there are multiple files, the request phase is as follows: When there are multiple files, assuming the application service provider needs to verify h files on R edge servers, and each file verifies the data blocks contained in m keywords, taking the l-th edge node as an example, the request phase executes the following process: S421: The application service provider finds the trap corresponding to each keyword. ij The trapdoor set trap = {trap ij }, and simultaneously generate a random number set v = {v ij }, Where i∈[1,h], j∈[1,m]; the file ID set ID={F id,1 ,F id,2 ,...,F id,h }; S422: Application service commercial corresponding PK ES Encryption request information req l ={trap,v,ID AV ,ID}, and send it to the corresponding edge server.
6. The edge data integrity auditing method supporting multi-keyword verification as described in claim 5, characterized in that, When it is a single file, the response phase is as follows: S511: The edge server receives a request from the application service provider, verifies the application service provider's identity information, and if the verification is successful, generates evidence based on the request information: taking the j-th keyword as an example, based on the received trapdoor value... j With F id Find the encrypted index value of the corresponding data block, based on Find the actual data block index value, perform a data query, and obtain the corresponding data block; F id The file with the serial number id; S512: Concatenate these data blocks to obtain d lj Then, with the received random number v lj After connecting, a corresponding hash value is generated, and the evidence is calculated: S513: The edge server uses the application service provider's public key to encrypt the corresponding Pro. l Then send it to the application service provider; S514: The application service provider finds the corresponding real data block based on the trapdoor value, and generates d by connecting the data. lj And generate corresponding evidence: Proof lj =H2(H1(F id ·trap lj )+H1(d lj ||v lj )) (2) S515: The application service provider aggregates evidence from m keywords across R edge servers to generate a Proof. When there are multiple files, taking the l-th edge server as an example, the response phase is as follows: S521: When the edge server receives a request from the application service provider, it verifies the identity information of the application service provider. If the verification is successful, it generates evidence based on the request information. S522: Based on the received trapdoor value and ID, find the corresponding encrypted index value of the data block, and then... Find the actual data block index value and output the corresponding data block content according to Req; S523: Connect the found data blocks to generate d lij ; S523:d lij With the received random number v lij The connection generates the corresponding hash value, and the evidence is calculated: S524: The edge server uses the application service provider's public key to encrypt the corresponding evidence, and then... l Send to the application service provider; the application service provider finds the actual data block based on the trapdoor value, and generates a d by connecting the data. ij Application service providers generate their own evidence according to the rules based on the data they store:
7. The edge data integrity auditing method supporting multi-keyword verification as described in claim 6, characterized in that, When it is a single file, the verification phase specifically involves: the application service provider aggregating the evidence returned by R edge nodes to generate Pro. Determine whether formula (3) is true: e(Pro,g)=e(Proof,pk ES ) (3) e() is a bilinear mapping function. If formula (3) is true, it means that the verification is successful and the integrity of the file containing the keyword is not damaged. If formula (3) is not true, the integrity of the file containing the keyword is damaged and error location is required. When there are multiple files, the verification phase specifically involves: the application service provider aggregating the evidence returned by R edge nodes to generate Pro. Determine whether formula (4) is true: e(Pro,g)=e(Proof,pk ES ) (4) e() is a bilinear mapping function. If formula (4) is true, it means that the verification is successful and the integrity of the file containing the keyword has not been damaged. If formula (4) is not true, it means that the integrity of the data has been damaged and error location is required.
8. The edge data integrity auditing method supporting multi-keyword verification as described in claim 7, characterized in that, The error localization phase specifically includes: The application service provider divides the evidence returned by each edge server into two parts: Pro R and Pro L At the same time, it aggregates the evidence it generates into Proof L and Proof R Verify formula e(Pro R ,g)=e(Proof R ,pk ES ) and e(Pro L ,g)=e(Proof L ,pk ES If at least one of the formulas is not equal, repeat this step until all the corrupted data is found.
9. The edge data integrity auditing method supporting multi-keyword verification as described in claim 8, characterized in that, When it is a single file: formula In the above, the summation of j = 1 to m is split into two halves, j = 1 to m. The summation is Pro L , The summation up to m is Pro R ; formula In the above, the summation from l=1 to R is split into two halves, l=1 to R. The summation is Proof L , The summation to R is Proof R ; When there are multiple files: formula In the above, the summation from l=1 to R is split into two halves, l=1 to R. The summation is Pro L , The summation to R is Pro R ; formula In the above, the summation from l=1 to R is split into two halves, l=1 to R. The summation is Proof L , The summation to R is Proof R .
10. An edge data integrity auditing system supporting multi-keyword verification of a single file, characterized in that, The system includes an application service provider and at least one edge server. The application service provider communicates with the edge server and deploys its own services and data copies on the edge server. The edge server provides storage and computing service support to the application service provider. The system performs the method as described in claims 1-9.
