Tamper-proof database audit log method and system based on searchable encryption
By introducing searchable encryption technology into the database audit system, ciphertext generation and decryption using multiplication loop group and bilinear pairs, the problems of low key security and internal attacks in traditional audit systems are solved, and the security of the audit system is improved and efficiency ensures the reliability of data privacy protection and auditing processes.
Patent Information
- Application Number
- CN202411356724.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-26
- Publication Date
- 2025-01-14
AI Technical Summary
Traditional database audit systems have security dependencies, performance losses, internal attacks and audit certificate tampering threats due to key length limitations, especially in cloud storage environments, which leads to insecurity and inefficiency.
Adopt the tamper-proof data audit log method based on searchable encryption, and generate audit certificates through database user encryption audit SQL plaintext, database server verifies the authenticity of the certificate, third-party audit verification certificates and extracts audit information, and use multiplication loop group and bilinear pairs Conduct ciphertext generation and decryption to ensure the security and privacy of the audit process.
Improve the security and efficiency of the audit system, prevent internal attacks and tampering, ensure data privacy protection, simplify key management, and enhance the reliability and credibility of the audit process.
Smart Images

Figure CN119312410A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a tamper-proof database audit log method and system based on searchable encryption, belonging to the field of database security audit. Background Art
[0002] Databases store a large amount of private data of individuals, organizations, and companies. Database leakage or tampering may infringe user privacy and cause irreparable losses. Therefore, database systems use audit logs to record system operations and activities so that they can monitor abnormal behaviors, trace the source of problems, and ensure that systems and applications comply with security policies and compliance requirements. At present, traditional database auditing mainly relies on logging and reviewing, but this method has certain limitations, such as the inability to guarantee the security and privacy of logs and the inefficiency of the audit process.
[0003] In this context, some new database auditing solutions have emerged in recent years, aiming to improve the security, privacy and efficiency of data. These solutions include technologies such as the combination of encrypted data and digital signatures, and searchable encrypted audit logs. Although these new technologies have improved the security and privacy of databases to a certain extent, there are still some technical defects and challenges, as follows:
[0004] First, the symmetric encryption algorithm used in traditional schemes has a security dependency on the key length limit. Symmetric encryption algorithms usually require the key length to be long enough to ensure security, but increasing the key length often leads to performance loss and affects the efficiency of the audit scheme. In addition, if the symmetric key is jointly owned by the user and the database server, the key transmission process may be subject to man-in-the-middle attacks or key leakage and sharing, which places extremely high demands on the security of the trusted environment and the transmission process.
[0005] Secondly, traditional database audit systems are vulnerable to internal attacks and audit certificate tampering. In traditional solutions, database users generate audit SQL plaintext and generate audit certificates, but this process lacks sufficient security protection and is vulnerable to attacks or tampering by internal personnel, thereby undermining the reliability and integrity of the audit. At the same time, the database server completes the authenticity verification of the audit certificate, but there is still the possibility that internal personnel of the database server tamper with the audit results, thus affecting the credibility of the audit system.
[0006] With the rapid development of cloud computing technology, most users choose to store and calculate private data on database servers. Therefore, in cloud storage, data integrity and auditability are crucial. Existing database auditing schemes do not protect data privacy well enough. The security of some symmetric encryption depends on the length of the key, which affects the security and efficiency of the auditing scheme. Even users and database servers share symmetric keys, which leads to excessively high requirements for the security of the trusted environment and key transmission process. Once one party's information is leaked or there is a man-in-the-middle attack or malicious eavesdropping during the transmission process, the security of the symmetric key cannot be guaranteed. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 This is a scheme model diagram. Summary of the invention
[0008] The present invention mainly carries out research work on cloud storage data auditing, and proposes a tamper-proof data audit log method and system based on searchable encryption.
[0009] First, the database user encrypts the audit SQL plaintext and generates an audit certificate; then, the database server completes the authenticity verification of the audit certificate; finally, the third-party auditor verifies the audit certificate and extracts the audit information.
[0010] (1) Parameter initialization
[0011] Input security parameter λ, output a generator g and bilinear pairing e:G1×G1→G2 on the multiplicative cyclic group G1 and G2 with prime order p; the one-way hash functions are: H:{0,1} * →{0,1} λ 、H1:{0,1} * →G1、H2:G2→{0,1} logp and is the user's i-th secret keyword; the master private key msk=(α,β), Held solely by the data owner; system parameters params = (g, G1, G2, H, H1, H2, H3, e), open to all entities in the system; the system is the database server ID s Distribute private keys secretly The plaintext audit keyword M is determined by the third-party audit and sent to the database server. The corresponding ciphertext set C and plaintext M are calculated to form an audit keyword dictionary and sent back to the third-party audit.
[0012] (2) Generation of Ciphertext Audit Data
[0013] The user encrypts the plaintext l into ciphertext L, extracts the keyword set W from l, and encrypts the keyword set into ciphertext Calculate each audit keyword in ciphertext form and generate the corresponding audit certificate trapdoor.
[0014] (3) Database server verification
[0015] After receiving the data packet (L, Tr), the database server uses the private key Decrypt the ciphertext L to get l; the database server extracts the audit information of SQL and forms a keyword set Encrypt W in the same way as in step (2) to obtain the ciphertext keyword set Execute the audit program and verify all the ciphertext keywords in the keyword set. The verification indicates that the audit certificate is consistent with the SQL statement information. Otherwise, the database server refuses to execute this SQL.
[0016] (4) Audit process
[0017] After receiving the data, the third-party auditor parses the audit certificate Tr, calculates the ciphertext and trapdoor in the keyword dictionary bit by bit, and then matches the calculation results. If the match is successful, the corresponding plaintext audit information is obtained according to the correspondence between the keyword dictionary C and M. Otherwise, the calculation of the next audit ciphertext is matched, and the next trapdoor Tr is matched in turn after the match is successful. i+1 and audit ciphertext C i Perform bit-by-bit calculations until all trapdoors in the audit certificate are traversed, and then all audit plaintext information can be obtained.
[0018] Furthermore, in step (2), the ciphertext SQL is calculated, in is a random number, R U =ID U ||P U ||B U Respectively represent the database user identity ID U , IP address P U , user requests data service label B U . calculate σ=(α+ID s )r1.
[0019] Extract keyword set W from l <w1,w2,…,w n >,(w i ∈{0,1} * ,i=1,2,…,n), the encrypted keywords are combined into in Send σ,δ secrets to the database server and output the audit certificate data packet (L,Tr).
[0020] Furthermore, in step (3), let calculate Decrypted
[0021] Extract SQL audit information and form a keyword set calculate Get the ciphertext keyword set
[0022] Based on the above method, the present invention proposes a tamper-proof data audit log system based on searchable encryption. Database users use the system to encrypt audit SQL plaintext and generate audit certificates; then, the database server completes the authenticity verification of the audit certificate; finally, the third-party audit verifies the audit certificate and extracts audit information. Specifically, the system includes:
[0023] (1) Parameter initialization module: In this module, the security parameter λ is input, and the output is a generator g on the multiplicative cyclic group G1 and G2 with prime order p and a bilinear pairing e:G1×G1→G2; the one-way hash functions are: H:{0,1} * →{0,1} λ 、H1:{0,1} * →G1, H2:G2→{0,1} logp and is the user's i-th secret keyword; the master private key msk=(β,β), Held solely by the data owner; system parameters params = (g, G1, G2, H, H1, H2, H3, e), open to all entities in the system; the system is the database server ID s Distribute private keys secretly The plaintext audit keyword M is determined by the third-party audit and sent to the database server. The corresponding ciphertext set C and plaintext M are calculated to form an audit keyword dictionary and sent back to the third-party audit;
[0024] (2) Ciphertext audit data generation module: In this module, the user encrypts the plaintext l into the ciphertext L, extracts the keyword set W from l, and encrypts the keyword set into the ciphertext Calculate each audit keyword in ciphertext form and generate the corresponding audit certificate trapdoor.
[0025] (3) Database server verification module: In this module, the database server receives the data packet (L, Tr) and uses the private key Decrypt the ciphertext L to get l; the database server extracts the audit information of SQL and forms a keyword set Encrypt W in the same way as in the ciphertext audit data generation module to obtain the ciphertext keyword set Execute the audit program to verify all ciphertext keywords in the keyword set. After verification, the audit certificate is consistent with the SQL statement information, otherwise the database server refuses to execute this SQL.
[0026] (4) Audit module: In this module, after receiving the data, the third-party auditor parses the audit certificate Tr, calculates the ciphertext in the keyword dictionary bit by bit and matches the calculation results with the trapdoor. If the match is successful, the corresponding plaintext audit information is obtained according to the correspondence between the keyword dictionary C and M. Otherwise, the calculation of the next audit ciphertext is matched, and after the match is successful, the next trapdoor Tr is matched in turn. i+1 and audit ciphertext C i Perform bit-by-bit calculations until all trapdoors in the audit certificate are traversed, and then all audit plaintext information can be obtained.
[0027] Furthermore, in the ciphertext audit data generation module, the ciphertext SQL is calculated. in is a random number, R U =ID U ||P U ||B U Respectively represent the database user identity ID U , IP address P U , user requests data service label B U . calculate σ=(α+ID s )r1.
[0028] Extract keyword set W from l <w1,w2,…,w n >,(w i ∈{0,1} * ,i=1,2,…,n), the encrypted keywords are combined into in Send σ,δ secrets to the database server and output the audit certificate data packet (L,Tr).
[0029] Furthermore, in the database server verification module, calculate Decrypted
[0030] Extract SQL audit information and form a keyword set calculate Get the ciphertext keyword set
[0031] The present invention can not only solve the problems of internal attacks by auditors and tampering of audit certificates in traditional database audit systems, but also further improve the security of the audit system. Each role holds its own private key and uses secret data transmission between the database server and the user to achieve privacy data security protection. The present invention targets the elliptic curve problem, and the database server identity and user identity participate in encryption calculations to prevent internal attacks and malicious monitoring and tampering of data transmission.
[0032] Compared with the prior art, the technical advantages of the present invention are:
[0033] (1) Strengthening data privacy protection: There are many challenges in the key management of symmetric encryption algorithms in traditional solutions. The present invention introduces more randomness and complexity in the encryption process, and the database server alone owns the personal private key, preventing threats to the security of the entire system caused by the privacy leakage of a single user or the leakage of the master key. Key management is also relatively simple.
[0034] (2) Resisting internal attacks and tampering: Traditional database audit systems are vulnerable to internal attacks and audit certificate tampering. The present invention verifies the integrity of log information based on identity and IP concepts, improves the reliability of the audit system, ensures the independence and credibility of the audit process, and increases the ability to resist attacks. DETAILED DESCRIPTION
[0035] Figure 1 In the system of the present invention, the roles include database user, database server, and third-party auditor. The database user encrypts the audit SQL plaintext and generates an audit certificate, the database server completes the authenticity verification of the audit certificate, and the third-party auditor completes the verification of the audit certificate and the extraction of audit information.
[0036] (1) Parameter initialization:
[0037] The algorithm takes the security parameter λ as input and outputs a generator g and a bilinear pairing e:G1×G1→G2 on the multiplicative cyclic group G1 and G2 of prime order p. The one-way hash functions are: H:{0,1} * →{0,1} λ 、H1:{0,1} * →G1, H2:G2→{0,1} logp and in represents the user's i-th secret keyword. Let the master private key msk=(α,β), where Held solely by the data owner; system parameters params = (g, G1, G2, H, H1, H2, H3, e) are open to all entities in the system.
[0038] In addition, the system is the database server ID s Distribute private keys secretly The plaintext audit keyword M is determined by the third-party audit and sent to the database server. The corresponding ciphertext set C and plaintext M are calculated to form an audit keyword dictionary and sent back to the third-party audit.
[0039] (2) Generation of Ciphertext Audit Data
[0040] The user encrypts the plaintext SQL statement l into ciphertext L, extracts the keyword set W from l, and also encrypts the keyword set into ciphertext For each audit keyword in ciphertext form, the corresponding audit certificate trapdoor is generated after calculation.
[0041] Specifically, in step (2), the ciphertext is calculated in is a random number, R U =ID U ||P U ||B U Respectively represent the database user identity ID U , IP address P U , user requests data service label B U .make calculate In addition, let σ=(α+ID s )r1.
[0042] Extract keyword set W from l <w1,w2,…,w n >,(w i ∈{0,1} * ,i=1,2,…,n), the encrypted keywords are combined into in Random number. Send σ,δ secretly to the database server and output the audit certificate data packet (L,Tr).
[0043] (3) Database server verification
[0044] After receiving the ciphertext, the database server decrypts it and verifies its integrity and accuracy. Decrypt the ciphertext L to get l. In addition, the database server extracts the audit information of SQL and forms a keyword set Use the same method as in step (2) to encrypt W to obtain the ciphertext keyword set The audit program is then executed to verify all ciphertext keywords in the keyword set. If the verification passes, the audit certificate is consistent with the SQL statement information, otherwise the database server refuses to execute this SQL.
[0045] Specifically, in step (3), let Calculated Decrypted Also extract SQL audit information and form a keyword set calculate Get the ciphertext keyword set
[0046] (4) Audit process
[0047] After receiving the data, the third-party auditor parses the audit certificate Tr, calculates the ciphertext in the keyword dictionary bit by bit and matches the calculation results with the trapdoor. If the match is successful, the corresponding plaintext audit information is obtained according to the correspondence between the keyword dictionary C and M. Otherwise, the calculation of the next audit ciphertext is matched, and the next trapdoor Tr is matched in turn after the match is successful. i+1 and audit ciphertext C i Perform bit-by-bit calculations until all trapdoors in the audit certificate are traversed, and then all audit plaintext information can be obtained.
[0048] A more specific embodiment:
[0049] (1) Parameter initialization: The initialization phase will generate public parameters and a master private key. The public parameters include a one-way hash function H:{0,1} * →{0,1} λ 、H1:{0,1} * →G1, H2:G2→{0,1} logp and Bilinear pairing e:G1×G1→G2, etc., is open to all objects in the system. The master private key is a random number The data is held by the data owner and is not disclosed to other system users. s , generate a private key for it And secretly handed over to the database server.
[0050] (2) Generation of Ciphertext Audit Data
[0051] For a plaintext SQL statement l∈{0,1} * Encrypted separately with the keyword set:
[0052] Calculate SQL ciphertext in is a random number, R U =IDU ||P U ||B U Respectively represent the database user identity ID U , IP address P U , user requests data service label B U .make calculate In addition, let σ=(α+ID s )r1.
[0053] Extract keyword set W from l <w1,w2,…,w n >,(w i ∈{0,1} * ,i=1,2,…,n), the encrypted keywords are combined into in
[0054] Calculate the hash value of the audit key set and the audit certificate trapdoor, such as in express Take the elements from 0 to 7, t i =a i ||γ 2,i [0:7], where γ 2,i =H(a i ||γ 1,i ), a i =H3(R u ,r1). The audit certificate trap is calculated as where Tr i is the i-th trapdoor of the audit certificate Tr, Tr i [x] and t i [x] represents the x-th element of the i-th item of the three variables respectively.
[0055] (3) Database server verification
[0056] The database server uses its own private key Decrypt the ciphertext L to get l, let Calculated Decrypted
[0057] The database server extracts SQL audit information and obtains the keyword set as calculate Get the ciphertext keyword set To verify the audit certificate, Bit-by-bit calculation Among them Ci represents the ciphertext keyword in the i-th audit dictionary, and it is consistent with the audit certificate c i The lengths of are equal. Let R i =G i [-7:], P i =G i [0:-7], calculate γ 4,i =H(P i ||γ 3,i ).
[0058] Judgment 4,i The first 8 bits of R i Are the first 8 bits equal? If they are equal, execute the next ciphertext The verification process is as follows: if the outputs of all ciphertext keywords in the keyword set are equal, the verification is passed. If the verification fails, the database server refuses to execute this SQL.
[0059] (4) Audit process
[0060] Audit certificate analysis by third-party auditors
[0061] After receiving the data, the third-party auditor parses the audit certificate Tr and calculates γ based on the first 8 digits of the keyword dictionary. 5,i =H(C i [0:7]), also calculated bit by bit Let R i =G i [-7:], P i =G i [0:-7], calculate γ 6,i =H(P i ||γ 5,i ).
[0062] Judgment 6,i The first 8 bits of R i The first 8 bits of the key words C and M are equal. If they are equal, the match is successful. According to the correspondence between the key words dictionary C and M, the corresponding plaintext audit information M is obtained. i Otherwise, the next audit ciphertext is calculated as Until the match is successful. Then the next trapdoor Tr i+1 and audit ciphertext C i Perform bit-by-bit calculations until all trapdoors in the audit certificate are traversed, and then all audit plaintext information can be obtained.
[0063] Specifically, assume that the plaintext audit keyword is "SELECT*FROM products", and then execute the ciphertext audit data generation algorithm to obtain the ciphertext SQL. Assume that α=zMhUPAjXGU8ZK4v8H84w6gOXbmWdD7 / mfIS+OcYitZs= is the master private key, which is held by the user alone, and the database server private key ω s1 =Vt7l7jFgQV4CUBnXHvIyAC2pLgRRIVUVpjVGbUJYosE=, let σ=(α+ID s )r1=l91EYTF4vL35a7l0pv0GC8+7u88hY0c5mkbuVtkX5Vg=,δ=0ZLIx6E9OXaTULcG9Vb9r6d9skFdqU6gM2V+0YJg5L4=。σ,δ are sent secretly to the database server. The user can complete the decryption process without sending the master private key and his own secret information to the database server, as follows:
[0064] First, assuming that the ciphertext SQL is zMhUPAjXGU8ZK4v8H84w6gOXbmWdD7 / mfIS+OcYitZs=, the specific decryption process is:
[0065] because So R U ′=R U , then:
[0066]
[0067] At the same time, the algorithm generates the audit certificate as:
[0068] u1lA02vj1W5uAyxLkQHB8pC6GZG9HtY8JgAnpAWYWhg=
[0069] qCtbCOvKjOeTkKBO4YlZTtXNtDBxdQxvKwZzOz4I6Dg=
[0070] G5PYqJLq7v9A3TboG6H5wW6gg1Jy / s / m8oCyhH2Jf4U=
[0071] NJQQ0mSzajzdObzg7P8d8UuAeeIUh6YOoTrzL50MveA=
[0072] After receiving the audit certificate, the database server uses the local audit keyword dictionary to execute the audit algorithm, matches the audit plaintext, and obtains the keywords SELECT*FROM products. Obviously, in the above specific embodiment, the separate management of keys is realized, and the master private key and the database server private key are managed by their respective roles to prevent security problems caused by key leakage. In addition, during the decryption process, the R U ′=R U Verification can verify the authenticity of identity ID, etc., ensuring information integrity and improving the reliability of the audit system.
[0073] The present invention mainly solves the problems of low key security and key sharing in the existing similar methods. Symmetric encryption such as AES algorithm is used in the existing scheme to encrypt plaintext SQL and keyword dictionary, but the symmetric key in AES is shared by the database server and the data user, which causes the difficulty of key management and lack of forward secrecy. In the method proposed by the present invention, the key is distributed to the database server by a trusted key distribution center, and the private key is held by the database server alone, which ensures the reliability and security of key management and forward secrecy, and ensures the confidentiality and integrity between the database server and the data user.
[0074] The units, devices or modules described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. For the convenience of description, the above devices are described separately by functions divided into various modules. Of course, when implementing this application, the functions of each module can be implemented in the same or more software and / or hardware, or the modules that implement the same function can be implemented by a combination of multiple sub-modules or sub-units. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the coupling or direct coupling or communication connection between each other shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0075] Those skilled in the art also know that, in addition to implementing the controller in a purely computer-readable program code, the controller can be made to implement the same function in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, such a controller can be considered as a hardware component, and the devices for implementing various functions included therein can also be considered as structures within the hardware component. Or even, the devices for implementing various functions can be considered as both software modules for implementing the method and structures within the hardware component.
[0076] The present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, classes, etc. that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0077] It can be seen from the description of the above implementation methods that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present application can be essentially or partly contributed to the prior art in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a disk, an optical disk, etc., including several instructions for enabling a computer device (which can be a personal computer, a mobile terminal, a database server, or a network device, etc.) to execute the methods described in the various embodiments of the present application or certain parts of the embodiments.
[0078] The various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. The present application can be used in many general or special computer system environments or configurations. For example: personal computers, database server computers, handheld devices or portable devices, tablet devices, multi-processor systems, microprocessor-based systems, set-top boxes, programmable electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc.
[0079] The specific embodiments described above further illustrate the purpose, technical solutions and beneficial effects of the present application. It should be understood that the above description is only a specific embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included in the scope of protection of the present application.
Claims
1. A tamper-proof data audit log method based on searchable encryption, wherein the database user first encrypts the audit SQL plaintext and generates an audit certificate; then, the database server completes the authenticity verification of the audit certificate; finally, the third-party auditor verifies the audit certificate and extracts the audit information, characterized in that: (1) Parameter initialization Input security parameter λ, output a generator g and bilinear pairing e:G1×G1→G2 on the multiplicative cyclic group G1 and G2 with prime order p; the one-way hash functions are: H:{0,1} * →{0,1} λ 、H1:{0,1} * →G1, H2:G2→{0,1} logp and H3: The i-th secret keyword of the user; the master private key Held solely by the data owner; system parameters params = (g, G1, G2, H, H1, H2, H3, e), open to all entities in the system; the system is the database server ID s Distribute private keys secretly The plaintext audit keyword M is determined by the third-party audit and sent to the database server. The corresponding ciphertext set C and plaintext M are calculated to form an audit keyword dictionary and sent back to the third-party audit; (2) Generation of Ciphertext Audit Data The user encrypts the plaintext l into ciphertext L, extracts the keyword set W from l, and encrypts the keyword set into ciphertext Calculate each audit keyword in ciphertext form and generate the corresponding audit certificate trapdoor; (3) Database server verification After receiving the data packet (L, Tr), the database server uses the private key Decrypt the ciphertext L to get l; the database server extracts the audit information of SQL and forms a keyword set Encrypt W in the same way as in step (2) to obtain the ciphertext keyword set Execute the audit program to verify all the ciphertext keywords in the keyword set. The verification indicates that the audit certificate is consistent with the SQL statement information. Otherwise, the database server refuses to execute this SQL statement. (4) Audit After receiving the data, the third-party auditor parses the audit certificate Tr, calculates the ciphertext and trapdoor in the keyword dictionary bit by bit, and then matches the calculation results. If the match is successful, the corresponding plaintext audit information is obtained according to the correspondence between the keyword dictionary C and M. Otherwise, the calculation of the next audit ciphertext is matched, and the next trapdoor Tr is matched in turn after the match is successful. i+1 and audit ciphertext C i Perform bit-by-bit calculations until all trapdoors in the audit certificate are traversed, and then all audit plaintext information can be obtained.
2. A tamper-proof data audit log method based on searchable encryption as claimed in claim 1, characterized in that: In step (2), the ciphertext SQL is calculated. in is a random number, R U =ID U ||P U ||B U Respectively represent the database user identity ID U , IP address P U , user requests data service label B U . calculate σ=(α+ID s )r1; extract keyword set W from l = <w1,w2,…,w n >,(w i ∈{0,1} * ,i=1,2,…,n), the encrypted keywords are combined into in Send σ,δ secrets to the database server and output the audit certificate data packet (L,Tr).
3. The method for tamper-proof data audit log based on searchable encryption as claimed in claim 1, characterized in that: In step (3), let calculate Decrypted Extract SQL audit information and form a keyword set calculate Get the ciphertext keyword set 4. A tamper-proof data audit log system based on searchable encryption, which database users use to encrypt audit SQL plaintext and generate audit certificates; Then, the database server completes the authenticity verification of the audit certificate; Finally, the third-party audit verifies the audit certificate and extracts the audit information, characterized in that the system includes: (1) Parameter initialization module: In this module, the security parameter λ is input, and the output is a generator g on the multiplicative cyclic group G1 and G2 with prime order p and a bilinear pairing e:G1×G1→G2; the one-way hash functions are: H:{0,1} * →{0,1} λ 、H1:{0,1} * →G1, H2:G2→{0,1} logp and H3: The i-th secret keyword of the user; the master private key Held solely by the data owner; system parameters params = (g, G1, G2, H, H1, H2, H3, e), open to all entities in the system; the system is the database server ID s Distribute private keys secretly The plaintext audit keyword M is determined by the third-party audit and sent to the database server. The corresponding ciphertext set C and plaintext M are calculated to form an audit keyword dictionary and sent back to the third-party audit; (2) Ciphertext audit data generation module: In this module, the user encrypts the plaintext l into the ciphertext L, extracts the keyword set W from l, and encrypts the keyword set into the ciphertext Calculate each audit keyword in ciphertext form and generate the corresponding audit certificate trapdoor; (3) Database server verification module: In this module, the database server receives the data packet (L, Tr) and uses the private key Decrypt the ciphertext L to get l; the database server extracts the audit information of SQL and forms a keyword set Use the same method as in the ciphertext audit data generation module to Encrypt to get the ciphertext keyword set Execute the audit program to verify all the ciphertext keywords in the keyword set. After verification, the audit certificate is consistent with the SQL statement information. Otherwise, the database server refuses to execute this SQL statement. (4) Audit module: In this module, after receiving the data, the third-party auditor parses the audit certificate Tr, calculates the ciphertext in the keyword dictionary bit by bit and matches the calculation results with the trapdoor. If the match is successful, the corresponding plaintext audit information is obtained according to the correspondence between the keyword dictionary C and M. Otherwise, the calculation of the next audit ciphertext is matched, and after the match is successful, the next trapdoor Tr is matched in turn. i+1 and audit ciphertext C i Perform bit-by-bit calculations until all trapdoors in the audit certificate are traversed, and then all audit plaintext information can be obtained.
5. A tamper-proof data audit log system based on searchable encryption as claimed in claim 4, characterized in that: In the ciphertext audit data generation module, the ciphertext SQL is calculated. in is a random number, R U =ID U ||P U ||B U Respectively represent the database user identity ID U , IP address P U , user requests data service label B U . calculate σ=(α+ID s )r1; extract keyword set W from l = <w1,w2,…,w n >,(w i ∈{0,1} * ,i=1,2,…,n), the encrypted keywords are combined into in Send σ,δ secrets to the database server and output the audit certificate data packet (L,Tr).
6. A tamper-proof data audit log system based on searchable encryption as claimed in claim 4, characterized in that: In the database server verification module, calculate Decrypted Extract SQL audit information and form a keyword set calculate Get the ciphertext keyword set
Citation Information
Patent Citations
Implementation method for searchable encryption auditing logs in cloud storage
CN110445756A
Searchable medical data sharing method capable of resisting internal keyword guessing attack
CN115473743A
System and method for secure review of audit logs
US20170103228A1
Registration device, server device, searchable encryption system, and searchable encryption method
US20200412536A1
Searchable encrypted data sharing method and system based on blockchain and homomorphic encryption
US20220368545A1
Cited By
Audit log anti-reconstruction control display method and system, computer equipment and storage medium
CN122152641A
Audit log anti-reconstruction display method, system, computer device and storage medium
CN122152641B