CN106991148B - Database verification system and method supporting full-update operation - Google Patents
Database verification system and method supporting full-update operation Download PDFInfo
- Publication number
- CN106991148B CN106991148B CN201710190195.4A CN201710190195A CN106991148B CN 106991148 B CN106991148 B CN 106991148B CN 201710190195 A CN201710190195 A CN 201710190195A CN 106991148 B CN106991148 B CN 106991148B
- Authority
- CN
- China
- Prior art keywords
- database
- data
- server
- client
- verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
The invention belongs to the technical field of databases, discloses a database verification system and a database verification method supporting full-update operation, provides an incremental reversible bloom filter with commitment, and solves the problem of rapid data reverse index in a limited range; on the basis, a database verification system and a method supporting full-update operation (insertion, deletion and replacement) are provided, the defect that the traditional verification method only supports the verification of a static database with a fixed size is overcome, the expense of vector commitment recalculation and verification in the database expansion process is eliminated, the database verification efficiency is improved, the method is suitable for most dynamic database systems used in the existing network, and the integrity of a cloud database is guaranteed.
Description
Technical Field
The invention belongs to the technical field of databases, and particularly relates to a database verification system and a database verification method supporting full-update operation.
Background
With the rapid development of communication networks and cloud computing technologies, enterprises and individuals subjected to resource constraints outsource large databases of the enterprises and individuals to cloud storage servers. The storage, organization, management, reliability and availability of the data are all ensured by the cloud service provider, so that the user does not need to construct a data center of the user, and the cost of the user is reduced. However, the cloud storage technology brings great storage convenience to people and also brings great security challenges. Because the position and the organization mode of the data are transparent to the user, in an incompletely trusted cloud storage environment of a cloud platform and a cloud service provider, the data stored on the cloud server is likely to be deleted, tampered and polluted by a malicious attacker, or the stored data is lost due to damage and breakdown of the cloud storage server.
At present, there are many achievements for integrity verification and recovery of cloud storage data, methods such as Merkle hash trees (CN201310185462.0, CN201310246856.0), dynamic pors (of retrievability) (CN201410350589.8) and the like are used for verification, but an effective verification method is still lacked for the whole cloud database. In order to realize integrity verification of cloud databases, Benabbas, Gennaro and Vahlis introduced for the first time a concept of verifiable databases (VDB for short), so that resource-constrained clients can verify a very large database stored in the cloud under a limited resource environment, and convenience is provided for efficient retrieval and update of database records in the future (backs M, fire D, Reischuk R M. verifiable distribution of computing on output data [ C ]. Proceedings of the 2013 ACM SIGSAC conference Computer & communications security. acm,2013:863 @.). If the server attempts to tamper with the database, it will be detected by the user. Meanwhile, the computation and storage resources used by the client in the VDB scheme do not depend on the size of the database. The first practical VDB scheme is constructed by using a primitive of a verifiable delegate of a polynomial. However, this scheme does not have publicly verifiable properties. That is, only the owner of the database can verify the correctness of the data, and third party arbitration verification is not supported. To this end, Catalano and fiere propose to construct publicly verifiable VDB schemes based on original Vector commitments (d.catalano and d.fiere, Vector recommendations and the applications, PKC 2013, LNCS 7778, Springer-Verlag, pp.55-72,2013.). On the basis of the scheme, Chen points out the security weakness of the VDB framework of Catalano-Fiore, and then proposes a new VDB scheme which can be publicly verified by using the idea of commitment constraint. Wherein all computational structures are based on standard size assumptions in bilinear groups and are therefore Efficient for real world applications (x.chen, j.li, x.huang, j.ma, and w.lou, New public Verifiable Databases with Efficient Updates, IEEE Transactions on dependent and Secure Computing, press, 2015).
However, existing VDB schemes only support replacement of such update operations, mainly because the number of data records of the outsourced database must be fixed, when the database is subjected to an insert operation, the newly added data cannot be verified, the common parameters and the commitment vector need to be recalculated and generated, and the complexity is at a power level of o (q) (where q represents the size of the database), which will bring huge additional overhead to the configuration phase of the client. In 2016, Miao proposed a hierarchical commitment vector-based VDB method to support full-update operations (insert, delete, replace) (m.miao, j.wang, j.ma, and w.susilo, public vertical data bases with efficiency operations, Journal of Computer and System Sciences). However, the number of levels in the hierarchical commitment increases linearly as the client inserts data records consecutively at the same location of the database. Thus, the computing and storage overload of the cloud server (rather than the client) will also increase linearly, and this reduces the efficiency of the VDB scheme.
In order to ensure that data cannot be modified by an illegal user, an untrusted third party and an untrusted cloud server in the storage process, the integrity of the database needs to be verified. Conventional database verification schemes may support alternative update operations, but are limited to fixed-size databases and require recalculation of vector commitments when an insert update operation occurs, incurring significant overhead. However, there are increasing application requirements that users frequently insert, replace, delete, and the like data stored in the cloud, and when data is dynamically updated, the overhead caused by dynamic update of data is required to be as small as possible. Therefore, the existing database verification method cannot be directly applied in the storage environment of the dynamic cloud database.
In summary, the problems of the prior art are as follows: because the common parameters and vector commitment cost required by regeneration verification are large, the traditional database verification scheme limited by fixed size only supports replacement operation and cannot support insertion and deletion operation. Today, with the rapid development of informatization, the fixed size of the database cannot meet the increasing data storage requirement. For this reason, how to implement support (insertion, deletion, and replacement) for full update operations of dynamic databases under the requirement of ensuring client performance is a main contribution point of the present invention.
Disclosure of Invention
Aiming at the problems in the prior art, the invention provides a database verification system and a database verification method supporting full-update operation.
The invention is realized by designing a new data index structure based on the bloom filter, namely an incremental reversible bloom filter with commitments, in order to eliminate the additional overhead of recalculation of common parameter and vector commitments in a database caused by insertion operation. The present invention provides a reversible bloom filter with commitment, which is defined as follows:
order toTwo random hash functions; defining each CIBF Unit B [ i ]](1. ltoreq. i. ltoreq. q) comprises three fields:
a "count" field, with an initial value of 0: a counter field in which the number of all elements in the memory cell B [ i ] is 1. ltoreq. i.ltoreq.q; the insertion or deletion of element x in B [ i ] is equal to B [ i ] count plus 1 or minus 1;
an "idHash" field having an initial value χ (0): a commitment value field storing hash values χ (-) of all ordered elements in B [ i ];
b [ q +1]. count and B [ q +1]. idHash fields represent vector commitments of f (count) and idHash of the first q items of data of the database, respectively, i.e., B [ q +1]. count ═ VC (f (B [0]. count),..., f (B [ q ]. count)), B [ q +1]. idHash ═ VC (χ (B [0]. count),. χ (B [ q ]. count)), and. Based on the above definitions, another object of the present invention is to design an incremental reversible bloom filter with commitment, the incremental reversible bloom filter with commitment is specifically extended as follows:
definition ofDefining the "count" field as an incrementing sequence (b)1,b2,...,bq) (ii) a The indexing process of the data is as follows:
1) indexing for queries The server firstly determines a unit index x, x is more than or equal to 1 and less than or equal to q
2) The server sends bx-1And bxThe information and the corresponding authentication credential are handed to the client;
3) if the proof of certification is legal, the client determines the indexIs the l-th element in the x-th unit, i.e.Wherein
It is another object of the present invention to provide a database validation method using the incremental reversible bloom filter with commitment, the database validation method comprising:
(1) a configuration stage: initialization Setup (1) of verifiable databases by clientskDB), defining common parameters PP, computing vector commitments CCGenerating verification parameters (a public key PK, a database code S and a private key SK), uploading relevant information together with the database to a server for verifying the integrity of the database in the subsequent data query process of a user; configuration function Setup (1)kDB) where k denotes the security parameter and DB denotes the database operated, i.e. DB ═ x, vx),1≤x≤q;
(2) And (3) an inquiry stage: client submitting query requestThe database locates the data inquired by the client, calculates the verification credential according to the verification parameters and then sends the data together to the client;query operationsWhere PK represents the public key, S represents the database code,querying an index of data on behalf of a client;
(3) a verification stage: client-side authentication of server credentialsVerifying the legally output inquired data; otherwise, outputting a verification error;
(4) and (3) an updating stage: when the client side is subjected to replacement, deletion and insertion operations, the database at the server side is updated, and meanwhile, the client side is cooperated with the server to correct the verification parameters.
Further, the specific configuration process of (1) is as follows:
1) defining common parameters PP
Order toAndthe cyclic multiplication group expressing prime order p has bilinear correspondenceg representsThe generating function of (a) is to be used,representing a cryptographic hash function;
from prime spaceRandomly selecting q elementsAnd calculateI is more than or equal to 1, j is more than or equal to q, and i is not equal to j;
2) Computing vector commitment CCGenerating subsequent verification parameters
Calculating a vector commitment for the count field (1, 2.., q) from the common parameter PPAnd data recording (v)1,v2,...,vq) Vector commitment of
Client randomly selects 1 elementG is formedyThen calculateAnd reacting H0Sending the data to a server; wherein T represents a counter and the initial value is 0;
if H is0Legally, the server will (H)0,CC,CRT) information is added to the auxiliary information aux;
after the calculation is completed, the following verification parameters are configured: public key PK ═ (PP, Y, C)C,CR) The database code S ═ (PP, aux, DB), and the private key SK ═ y.
Further, the specific process of (2) is as follows:
Given a query indexThe server firstly determines that x is more than or equal to 1 and less than or equal to q of the unit index and satisfies(definition b)0=0);
The server returns the authentication credentials to the client along with the data.
Further, the specific process of (3) is as follows: the client calculates e (H) according to the information in the server certificate0G) andandand e (pi)xG); and the following three conditions were verifiedWhether or not:
When the three conditions are simultaneously met, the database is not tampered, and the verification is passed; client-side basisObtaining data to be accessed
Further, the replacing operation in (4) includes:
the client first obtains the current record from the serverNamely, the client obtains the certificate tau from the server and verifies the certificate tau;
then, T +1 is updated,at the same time, the client calculates CC′=CC,Andthe client side willSending the data to a server;
if tx' legal, server useTo replace the data stored in the data unit x in the database, i.e.Meanwhile, the server updates the public key PK ═ (PP, Y, C)C′,CR') and encodes the auxiliary information in the database S (H)0,CC,CRT) is updated to (T)x′,CC′,CR′,T)。
Further, the update procedure of the delete operation in (4) is v in the replace operationx' is the case.
Further, the inserting operation of (4) includes:
Then, updating T-T + 1; at the same time, the client calculatesAndthe client side willSending the data to a server;
if tx' legal, server useTo replace the data stored in the data unit x in the database, i.e.At the same time, the server updates the count fields of all units i (x ≦ i ≦ q) after data unit x in the bloom filter, i.e., bi=bi+ 1; finally, the server updates the public key PK ═ as (PP, Y, C)C′,CR') and encodes the auxiliary information in the database S (H)0,CC,CRT) is updated to (T)x′,CC′,CR′,T)。
It is another object of the present invention to provide a dynamic database system that applies the reversible bloom filter with commitment.
The invention has the advantages and positive effects that: the reversible bloom filter with commitment and the incremental reversible bloom filter with commitment are provided, and the problem of reverse index of data in a limited range is solved; on the basis, a bloom filter and a commitment vector calculation method are combined, a VDB method supporting full update operation (insertion, replacement and deletion) is provided, the extra overhead of recalculation of public parameters and vector commitments caused by the fixed size of a database in the traditional verification system and method is avoided, the efficiency of the VDB system and method is improved, the dynamic change of the size of the VDB system is supported, and the VDB system is more suitable for most dynamic database systems used in the current network. Technical support is provided for safety verification of the dynamic cloud database, and integrity of the cloud database is guaranteed.
Drawings
Fig. 1 is a flowchart of a database verification method supporting a full update operation according to an embodiment of the present invention.
Fig. 2 is a schematic diagram of operations of inserting and deleting a CIBF according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail with reference to the following embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The following detailed description of the principles of the invention is provided in connection with the accompanying drawings.
As shown in fig. 1, the database verification method supporting full update operation according to the embodiment of the present invention includes the following steps:
s101: a configuration stage: initializing, by a client, a Verifiable Database (VDB): defining public parameters, calculating vector commitment, generating verification parameters, uploading relevant information and the database to a server together, and verifying the integrity of the database in the subsequent data query process of a user;
s102: and (3) an inquiry stage: the client submits a query request, the database locates the data queried by the client, calculates a verification credential according to the verification parameter, and then sends the data together to the client;
s103: a verification stage: the client verifies the server certificate and outputs the inquired data in a legal way; otherwise, outputting a verification error;
s104: and (3) an updating stage: when the client side carries out replacement, deletion and insertion operations (updating operations), the database at the server side is updated, and meanwhile, the client side is cooperated with the server to correct the verification parameters.
The application of the principles of the present invention will now be described in further detail with reference to the accompanying drawings.
In order to expand the database verification method with fixed size, the invention mainly comprises two parts, namely a reversible bloom filter with commitment firstly, and a database verification method supporting full operation secondly.
1. Reversible bloom filter with commitment
(1) Reversible bloom filter definition with commitment
The reversible bloom filter with Commitment (CIBF) is a data structure after expanding the bloom filter, and has both the functions of element query and vector commitment, and is used for querying elements in a large data set S in which insertion and deletion operations exist. The specific definition is as follows:
order toTwo random hash functions. Defining each CIBF Cell (Cell) B [ i ]](1. ltoreq. i. ltoreq. q) comprises three fields:
a "count" field (initial value 0): a counter field in which the number of all elements in the memory cell B [ i ] is 1. ltoreq. i.ltoreq.q. Note that the insertion (or deletion) of element x in B [ i ] is equal to B [ i ]. count plus 1 (or minus 1).
"idHash" field (with initial value χ (0)): the commitment value field, which stores the hash value χ (·) of all ordered elements in B [ i ].
B [ q +1]. count and B [ q +1]. idHash fields represent vector commitments of f (count) and idHash of the first q items of data of the database, respectively, i.e., B [ q +1]. count ═ VC (f (B [0]. count),..., f (B [ q ]. count)), B [ q +1]. idHash ═ VC (χ (B [0]. count),. χ (B [ q ]. count)), and.
An example of the insertion and deletion operations of a CIBF is shown in fig. 2.
Note that insert/delete is an ordered operation. The data records (x, y) and (y, x) in a CIBF unit (Cell) are different. Here, the record (x, y) indicates that y is inserted behind x. In addition, under this structure, it is allowed to constantly perform the same operation insertion operation (for example, insert x in the same unit a plurality of times). In contrast to the IBF model, when x is already an element in the set, no more insertion operations can be done. On the other hand, if we want to delete a record y from a CIBF unit, then y must be an element of this unit. Also for the IBF model, elements y that are not present in the set cannot be deleted.
When some update (delete/insert/replace) operations are performed on the database DB, the representation of the CIBF is in the form shown in table 1.
TABLE 1
Wherein, aiI is more than or equal to 0, and i is more than or equal to 1 and less than or equal to q represents the number of data records in a determination unit;a vector of all (ordered) data records in the same unit i is represented.
(2) Incremental reversible bloom filter with commitment
The efficient and safe updating of the large database is realized under the support of the promised reversible bloom filter. In order to ensure correct indexing of data records in the verification process, an incremental reversible bloom filter with commitment (incremental CIBF) is designed, i.e. the count is an incremental sequence for B [ i ] in a unit. The specific extension is defined as follows:
for a generic CIBF data structure as shown in FIG. 2, definitions are providedOn this basis, the "count" field is defined as the increment sequence (b)1,b2,...,bq) As shown in table 2.
For the database described with the incremental reversible bloom filter with commitment, the indexing process of the data is as follows:
TABLE 2
1) Indexing for queriesThe server firstly determines a unit index x, x is more than or equal to 1 and less than or equal to q
2) The server sends bx-1And bxAnd the corresponding authentication credential is handed to the client.
3) If the validation credentials are valid, the client may determine the indexIs the l-th element in the x-th unit, i.e.Wherein
2. Database validation process supporting full update operations
The incremental CIBF structure enables efficient indexing of database data, however, directly updating the vector commitment on the counter field is very inefficient. If an insert operation is performed in element x, then for all x ≦ j ≦ q, its counter and hash value fields need to be updated. Wherein the counter field is bj←bj+1 update operation, while the hash value field needs to be executed by the clientThe computational overhead of exponentiation of q-x +1 in (1).
Here, split hashing (Hash Splitting) is used to solve this problem. Here, the commit operation on the counter field (i.e., VC (f (b)) is ordered1),...,f(b2),...,f(bq) ))) is:the commitment of the updated counter field is defined as:so that there areIn this way, removeExcept for the multiplication of q-x + 1, only the power of 1 operation is needed. In addition to this, in order to reduce client computing overhead,the value of (c) may be calculated in advance as a common parameter. Therefore, the client can efficiently update the commitment value corresponding to the counter field.
Consider now the general case of updating the counter field. Note that the original counter field of the DB is (1, 1., 1), so the incremental bloom filter is denoted as (1, 2., q). Assume updated counter field (b)1,b2,...,bq) We can recursively calculate the commitment valueThus, the client can be based on x, bx-x and corresponding information such as authentication credentials, etc. to calculate the counting section b of unit x to be updatedx。
The database verification process supporting the full update operation includes the following 4 stages:
(1) a configuration stage: initialization Setup (1) of a Verifiable Database (VDB) by a clientkDB), defining common parameters PP, computing vector commitments CCAnd CRAnd generating verification parameters (a public key PK, a database code S and a private key SK), uploading the relevant information and the database to a server together, and verifying the integrity of the database in the subsequent data query process of the user. This stage is mainly performed by the client. Therein, the configuration function Setup (1)kDB) where k denotes the security parameter and DB denotes the database operated, i.e. DB ═ x, vx) And x is more than or equal to 1 and less than or equal to q. The specific configuration process is as follows:
1) defining common parameters PP
Order toAnda cyclic multiplication set representing prime order p and having bilinear correspondenceg representsThe generating function of (a) is to be used,representing a cryptographic hash function.
From prime spaceOf q elements (i.e. database size)And calculate I is not less than 1, j is not less than q, and i is not equal to j.
2) Computing vector commitment CCGenerating subsequent verification parameters
Calculating a vector commitment for the count field (1, 2.., q) from the common parameter PPAnd data recording (v)1,v2,...,vq) Vector commitment of
Client randomly selects 1 elementG is formedyThen calculateAnd reacting H0And sending the data to a server side. Wherein T represents a counter and the initial value is 0.
If H is0Legally, the server will (H)0,CC,CRT) information is added to the auxiliary information aux.
After the calculation is completed, the following verification parameters are configured: let public key PK be (PP, Y, C)C,CR) The database code S ═ (PP, aux, DB), and the private key SK ═ y.
Thus, the database verification configuration is completed, and the client can verify the integrity of the database in the subsequent query process.
(2) And (3) an inquiry stage: client submitting query requestThe database locates the data queried by the client, calculates the authentication credential according to the public parameter, and then sends the authentication credential together with the data to the client. Query operationsWhere PK represents the public key, S represents the database code,an index of data is queried on behalf of the client.
Assume that the number of current count fields is (b)1,b2,...,bq) WhereinDefinition ofThen there isAnd is
Given a query indexThe server firstly determines that x is more than or equal to 1 and less than or equal to q of the unit index and satisfies(definition b)0=0)。
The server returns the authentication credentials to the client along with the data.
(3) A verification stage: client-side authentication of server credentialsVerifying the legally output inquired data; otherwise, the verification error is output.
The client calculates e (H) according to the information in the server certificate0G) and andand e (pi)xG); and verifying whether the following three conditions are satisfied:
When the three conditions are simultaneously met, the database is not tampered, and the verification is passed. Client-side basisObtaining data to be accessed
(4) And (3) an updating stage: when the client side carries out replacement, deletion and insertion operations (updating operations), the database at the server side is updated, and meanwhile, the client side is cooperated with the server to correct the verification parameters.
1) Replacement operation
To replace the indexThe client first obtains the current record from the serverI.e. the client gets the certificate from the server and verifies it.
Then, T +1 is updated,at the same time, the client calculates CC′=CC,Andthe client side willAnd sending the data to a server.
If tx' legal, server useTo replace the data stored in the data unit x in the database, i.e.Meanwhile, the server updates the public key PK ═ (PP, Y, C)C′,CR') and encodes the auxiliary information in the database S (H)0,CC,CRT) is updated to (T)x′,CC′,CR′,T)。
At this point, the replacement operation data and the verification parameter update are complete and the new verification parameters will be used in subsequent data accesses.
2) Delete operation
The updating process of the deletion operation is basically consistent with the replacement operation, namely v in the replacement operationx' is the case.
3) Insertion operation
Then, updating T-T + 1; at the same time, the client calculatesAndthe client side willAnd sending the data to a server.
If tx' legal, server useTo replace the data stored in the data unit x in the database, i.e.At the same time, the server updates the count fields of all units i (x ≦ i ≦ q) after data unit x in the bloom filter, i.e., bi=bi+1. Finally, the server updates the public key PK ═ as (PP, Y, C)C′,CR') and encodes the auxiliary information in the database S (H)0,CC,CRT) is updated to (T)x′,CC′,CR′,T)。
At this point, the insertion operation data and the verification parameter update are completed, and the new verification parameter will be used in the subsequent data access.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and improvements made within the spirit and principle of the present invention are intended to be included within the scope of the present invention.
Claims (6)
1. An incremental reversible bloom filter with commitment, wherein the incremental reversible bloom filter with commitment extension is defined as follows:
let f, χ: {0,1}*→ZpTwo random hash functions; defining each reversible bloom filter with commitment, CIBF Unit B [ i ]]The method comprises the following steps: i is more than or equal to 1 and less than or equal to q;
a "count" field, with an initial value of 0: a counter field in which the number of all elements in the memory cell B [ i ] is 1. ltoreq. i.ltoreq.q; the insertion or deletion of element x in B [ i ] is equal to B [ i ] count plus 1 or minus 1;
an "idHash" field having an initial value χ (0): a commitment value field storing hash values χ (-) of all ordered elements in B [ i ];
defining B [ q +1]. count and B [ q +1]. idHash fields to represent the vector commitments of f (count) and idHash of the first q items of data of the database, respectively, i.e. B [ q +1]. count ═ VC (f (B [0]. count),..., f (B [ q ]. count)), B [ q +1]. idHash ═ VC (χ (B [0]. count),. χ (B [ q ]. count));
definition ofDefining the "count" field as an incrementing sequence (b)1,b2,...,bq) (ii) a The database indexing process is as follows:
1) indexing for queriesThe server firstly determines a unit index x, x is more than or equal to 1 and less than or equal to q
2) The server sends bx-1And bxThe information and the corresponding authentication credential are handed to the client;
2. A database validation method using the incremental reversible bloom filter with commitment as defined in claim 1, the database validation method comprising:
(1) a configuration stage: initialization Setup (1) of verifiable databases by clientskDB), defining common parameters PP, computing vector commitments CCGenerating a verification parameter public key PK, a database code S and a private key SK, uploading relevant information together with the database to a server for verifying the integrity of the database in the subsequent data query process of a user; configuration function Setup (1)kDB) where k denotes the security parameter and DB denotes the database operated, i.e. DB ═ x, vx) X is more than or equal to 1 and less than or equal to q; the specific configuration process of (1) is as follows:
1) defining common parameters PP
Let G1And G2The cyclic multiplication group representing prime order p has bilinear correspondence e: G1×G1→G2(ii) a G represents G1G of1×G1×{{0,1}*→G1Representing a cryptographic hash function;
from prime space ZpIn the random selection of q elements zi∈RZpAnd calculate And i is not equal to j;
generating a common parameter PP ═ p, q, G1,G2,H,e,g,{hi}1≤i≤q,{hi,j}1≤i,j≤q,i≠j) Wherein the message space M ═ Zp;
2) Computing vector commitment CCGenerate, generateSubsequent verification parameters
Calculating a vector commitment for the count field (1, 2.., q) from the common parameter PPAnd data recording (v)1,v2,...,vq) Vector commitment of
The client randomly selects 1 element y belonging to the ERZpGenerating Y ═ gyThen calculate H0=H(CC,CR,T)yAnd is combined with H0Sending the data to a server; wherein T represents a counter and the initial value is 0;
if H is0Legally, the server will (H)0,CC,CRT) information is added to the auxiliary information aux;
after the calculation is completed, the following verification parameters are configured: public key PK ═ (PP, Y, C)C,CR) The database code S ═ (PP, aux, DB), and the private key SK ═ y;
y∈RZpis e ofRFor symbols common to cryptography, the representation is from the set ZpRandomly selecting an element y; parameter hi,hi,j,G, Y are both bilinear pairs G1The calculation result after the operation of the generating function g is jointly used for representing the public parameter PP; wherein Andto generate a power operation of the function g; g is a bilinear pairMiddle G1A generating function of (a); g represents Yy;
(2) And (3) an inquiry stage: client submitting query requestThe database locates the data inquired by the client, calculates the verification credential according to the verification parameters and then sends the data together to the client; query operationsWhere PK represents the public key, S represents the database code,querying an index of data on behalf of a client;
the specific process of (2) is as follows:
Given a query indexThe server firstly determines that x is more than or equal to 1 and less than or equal to q of the unit index and satisfiesDefinition b0=0;
The server returns the verification certificate and the data to the client together;
(3) a verification stage: client-side authentication of server credentialsVerifying the legally output inquired data; otherwise, outputting a verification error; the parameter t represents an authentication credential, wherein
(4) And (3) an updating stage: when the client side is subjected to replacement, deletion and insertion operations, the database at the server side is updated, and meanwhile, the client side is cooperated with the server to correct verification parameters;
the replacing operation in (4) comprises:
the client first obtains the current record from the serverThe client obtains the certificate t from the server and verifies the certificate t;
then, T +1 is updated,at the same time, the client calculates CC′=CC,And tx′=H(CC′,CR′,T)y(ii) a CustomerEnd willSending the data to a server; v. ofxIs an original record in a data unit xReplaced data record, x represents index in database DB, vxRepresenting the data record corresponding to the index;
3. The database verification method according to claim 2, wherein the specific process of (3) is as follows: the client respectively calculates e (H) according to the information in the server certificate t0G) and e (H (C)C,CR,T),Y),Andand e (pi)xG); and verifying whether the following three conditions are satisfied:
1)e(H0g) is equal to e (H (C)C,CR,T),Y);
4. The database verification method according to claim 2, wherein the update procedure of the delete operation in (4) is v in replace operationx' is the case.
5. The database verification method of claim 2, wherein the insert operation of (4) comprises:
Then, updating T-T + 1; at the same time, the client calculatesAnd tx′=H(CC′,CR′,T)y(ii) a The client side willSending the data to a server;
if tx' legal, server useTo replace the data stored in the data unit x in the database, i.e.Meanwhile, the server updates the counting fields of all units i behind the data unit x in the bloom filter, wherein x is more than or equal to i and less than or equal to q, namely bi=bi+ 1; finally, the server updates the public key PK ═ as (PP, Y, C)C′,CR') and encodes the auxiliary information in the database S (H)0,CC,CRT) is updated to (T)x′,CC′,CR′,T);
x denotes an index in the database DB, vxIndicating the data record to which the index corresponds,an index representing the location of the inserted location in the database,representation indexCorresponding data record, v*Indicating that the new data is being inserted and,indicating the recording state of the data unit x after new data is inserted;
t represents a counter and has an initial value of 0, CC' vector commitment representing updated count field, the calculation formula of which is derived asCRVector commitment for original data record, CRFor a new vector commitment after insertion of an update data record, the calculation formula is Representing data recordsThe hash value of (a);
H:G1×G1×{{0,1}*→G1representing a cryptographic hash function, formula tx′=H(CC′,CR′,T)yRepresents a pair CC′、CR' and T carries out exponentiation operation on the value after encryption and hashing, and T is obtained through calculationx' value; t is tx' for authentication;
indicating that the data stored in the x cells after replacement in the database isbiRepresents an incremented count value of the ith data unit,i.e. the sum of the first i cell counts; after adding 1 strip to the data record, inserting all the increment count values b after the positioniPlus 1, i.e. bi=bi+1;
Public key PK ═ (PP, Y, C)C′,CR') where PP denotes the common parameter, Y denotes the parameter generated by g, CC' vector commitment to represent updated count field, CR' update data for insertedA new vector commitment after logging;
(H0,CC,CRt) is auxiliary information for subsequent verification and updating, where H0=H(CC,CR,T)yIndicating that the exponent operation is performed after the vector commitment of the initial count field, the vector commitment of the data record and the counter value are encrypted and hashed, and the calculated value is taken as H0A value;
(tx′,CC′,CR', T) represents updated auxiliary information for subsequent verification and update use, where Tx′、CC′、CRThe meaning of' and T is consistent with the above explanation.
6. A dynamic database system applying the incremental reversible bloom filter with commitment of claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710190195.4A CN106991148B (en) | 2017-03-27 | 2017-03-27 | Database verification system and method supporting full-update operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710190195.4A CN106991148B (en) | 2017-03-27 | 2017-03-27 | Database verification system and method supporting full-update operation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106991148A CN106991148A (en) | 2017-07-28 |
CN106991148B true CN106991148B (en) | 2020-11-27 |
Family
ID=59412942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710190195.4A Active CN106991148B (en) | 2017-03-27 | 2017-03-27 | Database verification system and method supporting full-update operation |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106991148B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111919416B (en) * | 2018-04-09 | 2021-11-19 | 华为技术有限公司 | Method and system for zero knowledge range attestation with reversible commitments |
CN108737069A (en) * | 2018-04-18 | 2018-11-02 | 西安电子科技大学 | A kind of detection method for supporting error logging positioning to can verify that database |
CN108874604B (en) * | 2018-06-28 | 2021-07-06 | 郑州云海信息技术有限公司 | Method and system for verifying authenticity of encrypted data of encryption equipment |
CN108959035A (en) * | 2018-07-10 | 2018-12-07 | 佛山伊苏巨森科技有限公司 | A kind of method of entry validity in test block chain database data structure |
CN114881233B (en) * | 2022-04-20 | 2023-03-24 | 深圳市魔数智擎人工智能有限公司 | Distributed model reasoning service method based on container |
CN117134993B (en) * | 2023-10-24 | 2024-01-05 | 武汉大学 | Search ciphertext detectable method and equipment based on accumulated promise verification |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032529B2 (en) * | 2007-04-12 | 2011-10-04 | Cisco Technology, Inc. | Enhanced bloom filters |
CN103095453A (en) * | 2011-07-08 | 2013-05-08 | Sap股份公司 | Public-key Encrypted Bloom Filters With Applications To Private Set Intersection |
CN105681280A (en) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | Searchable encryption method based on Chinese in cloud environment |
-
2017
- 2017-03-27 CN CN201710190195.4A patent/CN106991148B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032529B2 (en) * | 2007-04-12 | 2011-10-04 | Cisco Technology, Inc. | Enhanced bloom filters |
CN103095453A (en) * | 2011-07-08 | 2013-05-08 | Sap股份公司 | Public-key Encrypted Bloom Filters With Applications To Private Set Intersection |
CN105681280A (en) * | 2015-12-29 | 2016-06-15 | 西安电子科技大学 | Searchable encryption method based on Chinese in cloud environment |
Non-Patent Citations (2)
Title |
---|
Publicly verifiable databases with efficient insertion/deletion operations;MeixiaMiao 等;《Journal of Computer and System Sciences》;20160919;全文 * |
Verifiable Search for Dynamic Outsourced Database in Cloud Computing;Jianfeng Wang 等;《10th International Conference on Broadband and Wireless Computing, Communication and Applications》;20151231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106991148A (en) | 2017-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106991148B (en) | Database verification system and method supporting full-update operation | |
US11228452B2 (en) | Distributed certificate authority | |
Chen et al. | Verifiable computation over large database with incremental updates | |
CN110912706B (en) | Identity-based dynamic data integrity auditing method | |
Li et al. | Privacy-preserving public auditing protocol for low-performance end devices in cloud | |
Chen et al. | New publicly verifiable databases with efficient updates | |
Wang et al. | Enabling public auditability and data dynamics for storage security in cloud computing | |
Papamanthou et al. | Authenticated hash tables | |
Wang et al. | Enabling public verifiability and data dynamics for storage security in cloud computing | |
CN106897368B (en) | Merkle Hash summation tree and verifiable database updating operation method thereof | |
Anagnostopoulos et al. | Persistent authenticated dictionaries and their applications | |
CN109525403B (en) | Anti-leakage public cloud auditing method supporting full-dynamic parallel operation of user | |
Chen et al. | Publicly verifiable databases with all efficient updating operations | |
Rabaninejad et al. | An identity-based online/offline secure cloud storage auditing scheme | |
Miao et al. | Efficient verifiable databases with insertion/deletion operations from delegating polynomial functions | |
Yang et al. | Efficient data integrity auditing supporting provable data update for secure cloud storage | |
Gudeme et al. | Review of remote data integrity auditing schemes in cloud computing: taxonomy, analysis, and open issues | |
Miao et al. | Verifiable database supporting keyword searches with forward security | |
Mishra et al. | Dynamic large branching hash tree based secure and efficient dynamic auditing protocol for cloud environment | |
Luo et al. | MHB* T based dynamic data integrity auditing in cloud storage | |
CN112887281B (en) | Storage method and system supporting efficient audit and multi-backup ciphertext deduplication and application | |
CN113448515A (en) | Verifiable deletion method supporting outsourcing data fine-grained insertion in cloud storage | |
Wang et al. | A lightweight data integrity verification with data dynamics for mobile edge computing | |
Ma et al. | Authenticating query results in data publishing | |
Prakasha et al. | Efficient digital certificate verification in wireless public key infrastructure using enhanced certificate revocation list |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |