A medical shared cloud storage file audit method supporting accurate inspection
By introducing a collaborative mechanism of key generation center, users, cloud server providers, consumers and third-party auditors in the medical shared cloud storage file audit method, using symmetric encryption algorithms and keyword-based data integrity audits, the solution is solved The problems of privacy leakage, unmet data sharing requirements and low audit efficiency in the prior art have achieved efficient and secure cloud storage file audits.
Patent Information
- Application Number
- CN202210921836.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-02
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2042-08-02
AI Technical Summary
The existing public cloud storage data integrity audit methods have problems such as privacy leakage, unmet data sharing requirements and low audit efficiency in the medical field.
A medical shared cloud storage file audit method that supports accurate inspection is proposed, using collaboration between key generation centers, users, cloud server providers, consumers and third-party auditors to use symmetric encryption algorithms and keyword-based data Integrity audit ensures data privacy protection and accurate audit.
Implementing cloud storage file sharing services under the conditions of protecting users' personal privacy has improved the efficiency of data inspection and the security of cloud storage file usage, and solved the problems of privacy leakage and auditing efficiency.
Smart Images

Figure CN115296810B_ABST
Abstract
Description
Technical Field
[0001] The present invention can realize a medical shared cloud storage file auditing method that supports accurate inspection, and belongs to the technical fields of privacy protection, cloud storage services, cloud sharing services and encrypted data auditing. Background Art
[0002] With the rapid growth of data volumes and the rapid development of cloud storage technology, traditional storage technologies are facing challenges such as high construction costs, complex operations and maintenance, and poor scalability. To reduce local storage and computing costs, more users are storing data on cloud servers. Hospitals are no exception. By storing critical medical data on cloud servers, they lose control of the data and cannot ensure the integrity of remote medical data. For example, in the healthcare field, doctors upload patients' electronic medical records to cloud servers, where they are accessible to doctors in other departments and researchers. The accuracy and integrity of electronic medical records are crucial, as tampered or corrupted records can lead to misdiagnosis or even death. Therefore, verification of the accuracy and integrity of electronic medical records is essential.
[0003] In reality, each patient's electronic medical record is highly private data. It is often encrypted and stored in ciphertext on cloud servers, ensuring that only entities with the ciphertext decryption key are allowed access to protect patient privacy. Furthermore, in most hospital scenarios, when a doctor consults a patient based on their electronic medical record, they only need to consider the data security of the current patient. This means performing a data integrity audit on the electronic medical record data of the patient currently requesting consultation. There's no need to incur the expense of auditing all data on all servers, and auditing only the data of interest offers a higher fault tolerance rate. Similarly, when faced with difficult-to-treat cases or when hospital medical resources are limited, sharing medical record data with other medical experts for joint consultations can be an effective solution. However, this also presents challenges in sharing access to private data and audit rights.
[0004] Most existing methods for auditing the integrity of public cloud storage data involve third-party auditors auditing personal cloud storage data. This has significant limitations in medical applications and fails to consider the following points:
[0005] (1) User data in public cloud data integrity audits is usually stored in plain text in the cloud server and participates in the audit process, which may leak user privacy to cloud service providers and third-party auditors;
[0006] (2) The usual public cloud data integrity audit model only addresses the needs of individual users storing data on cloud servers and does not consider the data audit needs in the context of cloud data sharing;
[0007] (3) The audit objects of public cloud data integrity audit are usually all data stored by individual users on cloud servers. Most of the time, users only need to audit the integrity of files that they are interested in or care about. Auditing all data not only costs more but also reduces the fault tolerance of cloud data storage, because damage to unimportant files will affect the audit results of all files. Summary of the Invention
[0008] In order to address the deficiencies of the above-mentioned prior art, the present invention proposes a medical shared cloud storage file auditing method that supports precise inspection, so as to realize cloud storage file sharing services while protecting personal data privacy in cloud storage applications in the medical field; at the same time, in order to prevent personal cloud storage files from being damaged on malicious cloud servers, keyword-based data integrity auditing is used to ensure the security of cloud storage data access and improve the efficiency of data inspection in a big data environment.
[0009] The present invention adopts the following technical solutions to achieve the above-mentioned purpose:
[0010] The present invention provides a medical shared cloud storage file auditing method supporting precise inspection, which is characterized by being applied to a system consisting of a key generation center (KGC), a user, a cloud server provider (CSP), multiple consumers, and a third-party auditor (TPA), and includes the following steps:
[0011] Step 1: System initialization;
[0012] Step 1.1 The key generation center KGC selects two multiplication cyclic groups G and G with order p as prime number. T , and a bilinear map e:G×G→G T ;
[0013] The key generation center KGC selects five hash functions as described in step 1.2 H1:G T →G,{H l :{0,1} * →G} l=2,3,4 , a symmetric encryption algorithm Enc(·), a pseudo-random permutation π(·) and a pseudo-random permutation function f(·); where, represents the set of integers less than p and greater than zero, → represents the mapping relationship;
[0014] The key generation center KGC in step 1.3 randomly selects four generators u1, u2, g, h from the multiplication cyclic group G, and then selects a random value Then calculate some common parameters Where m represents the maximum number of consumers authorized to access; define and initialize the parameter g1=g α ;
[0015] Step 1.4 The key generation center KGC holds the key MSK = (g, α) and discloses the public parameters
[0016] Step 2: Key generation:
[0017] The key generation center KGC calculates the private key and sent to the user, where ID represents the identity of the user;
[0018] Step 3: Encrypt outsourced files:
[0019] The user randomly selects a secret value as described in step 3.1 Calculate the public key y = g x ;
[0020] In step 3.2, the user randomly selects a symmetric key M∈G T Each of its own files is divided into s data blocks, and all data blocks are encrypted using the symmetric encryption algorithm Enc(·) to obtain the ciphertext set C;
[0021] Step 3.3 Using the secret value x, the user calculates the first partial ciphertext C'0 = M·e(g,h) x 、Second part of the ciphertext Part III Ciphertext Then the key ciphertext CT ID =(C'0,C'1,C'2) as the ciphertext of key M;
[0022] In step 3.4, the user extracts keywords from all his / her files and creates a keyword set W. The keyword set W is encrypted using the symmetric encryption algorithm Enc(·) to obtain a keyword ciphertext W'.
[0023] Step 3.5 For the kth keyword w in the keyword set W k , the user creates a vector with n bits And initialize If the user's i-th file F i Contains the kth keyword w k , then the user will vector The i-th bit of Set to "1" to create a vector set
[0024] Step 4: Security index generation:
[0025] Step 4.1 For the kth keyword w k , the user calculates π(w k ) as a vector The address in the cipher is encrypted to obtain the security vector in, Represents exclusive OR operation;
[0026] Step 4.2 For the kth keyword w k , the user creates an empty set
[0027] For i∈[1,n], when When the user adds index i to the collection And calculate the relationship authentication label in, represents the partial relation authentication label of the j-th data block, and FID i The identifier representing the i-th file;
[0028] Step 4.3 User calculates security index
[0029] Step 5: Generate file verification tags:
[0030] Step 5.1 For the ciphertext c of the jth data block of the i-th file ij , user calculation verification tag And get the verification label set Φ={σ ij} 1≤i≤n,1≤j≤s ;
[0031] Step 6: File access authorization:
[0032] Step 6.1 The user records the consumer's identity set as Among them, ID θ represents the identity of the θth consumer, η represents the total number of consumer identities, and η≤m; the user randomly selects two values And calculate the first part of the authorization token Part 2 Authorization Token The third part of the authorization token d3 = H1(e(g,h) t )·h r 、The fourth part of the authorization token d4 = SK ID ·u -r , thereby obtaining the user's authorization token TKID→S =(d1, d2, d3, d4) and sent to the cloud server provider CSP;
[0033] Step 6.2 The cloud server provider CSP receives the authorization token TK ID→S =(d1,d2,d3,d4) and ciphertext CT ID =(C'0,C'1,C'2), the ciphertext CT ID Convert to ciphertext CT S =(c'1,c'2,c'3,c'4,c'5), where the first ciphertext c'1=d1, the second ciphertext c'2=d2, the third ciphertext c'3=d3, the fourth ciphertext c'4=c'2, and the fifth ciphertext
[0034] Step 6.3 Consumers use the ciphertext CT S =(c'1,c'2,c'3,c'4,c'5) to calculate the decryption parameters Among them, the first part of the decryption parameters The second part decrypts the parameter h r =c'3 / H1(B); where Indicates the private key of the θth consumer; ID δ represents the identity of the δth consumer;
[0035] The consumer calculates the symmetric key M=c'5 / e(h r ,c'4), used to access the user's ciphertext files stored on the cloud server provider CSP;
[0036] Step 7: Audit challenge generation steps:
[0037] Step 7.1 The user or consumer calculates the search trapdoor T w' ={π(w'),f(π(w'))}, and search for the trapdoor T w' Sent to the third-party auditor TPA, w' represents the keyword selected by the user or consumer during the audit challenge phase; π(w') represents the address of the keyword w', and f(π(w')) represents the pseudo-random function value of the address π(w');
[0038] Step 7.2 The third-party auditor TPA receives the search trapdoor T w' Afterwards, randomly select a set For each q∈Q, the third-party auditor TPA randomly selects Computational Audit Challenge Chal = {T w' ,{q,v q}q∈Q} and sent to the cloud server provider CSP;
[0039] Step 8: Audit evidence verification steps:
[0040] Step 8.1 The cloud server provider CSP receives the audit challenge Chal = {T w' ,{q,v q} q∈Q} to obtain the set π(w'), f(π(w'))}, according to the address π(w k )=π(w') Find the security vector and the relation authentication tag in the security index I, and decrypt the security vector to obtain the vector
[0041] In step 8.2, the cloud server provider CSP initializes an empty collection For each i∈[1,n], if the vector Then add index i to the collection and calculate the first part of the evidence And the second part of the evidence And make the audit evidence Proof = {T, μ} and return it to the third-party auditor TPA;
[0042] Step 8.3 The third-party auditor TPA verifies the equation based on the audit evidence Proof returned by the cloud server provider CSP Is it true? If so, it means that the integrity of the data stored in the cloud server is correct. Otherwise, it means that the integrity of the data stored in the cloud server is destroyed.
[0043] Compared with the prior art, the present invention has the following beneficial effects:
[0044] 1. The present invention introduces data privacy protection technology, and supports the medical shared cloud storage file audit system for precise inspection. The cloud storage files audited are in ciphertext form encrypted by a symmetric encryption algorithm. The cloud server provider cannot obtain any personal privacy data through the outsourced stored files. At the same time, the audit challenges and audit evidence involved in the entire audit process are calculated based on the ciphertext data. The third-party auditor TPA is also unable to obtain relevant user privacy information from the audit challenges and audit evidence, thereby effectively solving the privacy leakage problem in the cloud storage file integrity audit system and improving the security of user outsourced data.
[0045] 2. The present invention realizes sharing of cloud storage files with other consumers who are designated with authorized access rights by converting the ciphertext form based on identity encryption into the ciphertext form of broadcast encryption. Consumers who obtain authorized access rights not only obtain the right to access the shared data but are also granted the right to audit the shared data. This solves the need for consumers to conduct security checks on shared data in actual situations, especially in the medical field, and further improves the security of cloud storage data use.
[0046] 3. The auditing method of the present invention utilizes keyword-based file integrity auditing. Through keyword-based integrity auditing, users only need to perform integrity checks on the cloud storage files they are interested in, without having to audit all personal files stored on the cloud server provider. This enables targeted data integrity auditing when massive amounts of data are stored, effectively improving the auditing efficiency of cloud storage files and the fault tolerance of cloud storage file use. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1 It is a schematic diagram of the system model;
[0048] Figure 2 It is a schematic diagram of system initialization generation parameters;
[0049] Figure 3 This is a schematic diagram of user data file upload and auditing;
[0050] Figure 4 This is a diagram of authorized access to user data files. DETAILED DESCRIPTION
[0051] In this embodiment, a medical shared cloud storage file audit method that supports accurate inspection is provided. Figure 1 As shown, it can be applied to a system composed of a user entity, a key generation center entity, a third-party auditor entity, a cloud service provider entity, and a consumer entity; taking a medical shared cloud storage file audit process as an example, the user is a medical staff of a hospital who outsources the patient's electronic medical record data to a cloud server provided by a cloud service provider entity CSP. The consumer entity, as a medical expert from other departments or other cooperating hospitals, wants to access the electronic medical record data outsourced by the hospital. The key generation center entity generates various parameters, public keys, and private keys for the entire audit system. The third-party auditor TPA entity is entrusted by the user or consumer to perform an integrity audit on the data stored on the cloud server and return the audit results. Specifically, the medical shared cloud storage file audit method is applied in a network environment composed of a key generation center KGC, users, a cloud server provider CSP, multiple consumers, and a third-party auditor TPA, and includes the following steps:
[0052] Step 1: System initialization;
[0053] Step 1.1 The key generation center KGC selects two multiplicative cyclic groups G and G with order p as prime number. T , and a bilinear map e:G×G→G T ;
[0054] Step 1.2 The key generation center KGC selects five hash functions in, represents the set of integers less than p and greater than zero, H1:G T →G,{H l :{0,1} * →G} l=2,3,4 , a symmetric encryption algorithm Enc(·), where the encryption algorithm is AES encryption algorithm, a pseudo-random permutation π(·) and a pseudo-random permutation function f(·); → represents the mapping relationship;
[0055] Step 1.3 The key generation center KGC randomly selects four generators u1, u2, g, h from the multiplication cyclic group G and selects a random value Then calculate some common parameters Where m represents the maximum number of consumers authorized to access; define and initialize the parameter g1=g α ;
[0056] Step 1.4 Figure 2 As shown, the key generation center KGC holds the key MSK = (g, α) and discloses the public parameters
[0057] Step 2: Key generation:
[0058] Step 2.1 After the key generation center KGC obtains the user's identity ID, it calculates the private key And sent to the user as the user's private key in the system.
[0059] Step 3: Encrypt outsourced files:
[0060] Step 3.1 The user randomly selects a secret value Calculate the system public key y = g x ;
[0061] Step 3.2 The user randomly selects a symmetric key M∈G T Each file that needs to be outsourced is divided into s data blocks, and the symmetric encryption algorithm Enc(·) is used. Here, the symmetric encryption algorithm is the AES symmetric encryption algorithm. All data blocks are encrypted to obtain a ciphertext set C;
[0062] Step 3.3 Using the selected secret value x, the user calculates the first ciphertext C'0 = M·, the second ciphertext Part III Ciphertext Then the key ciphertext CT ID =(C'0,C'1,C'2) as the ciphertext of key M;
[0063] Step 3.4: The user extracts the core keywords contained in each file as keywords, establishes a keyword set W, and encrypts the keyword set W using the symmetric encryption algorithm Enc(·) to obtain the ciphertext W';
[0064] Step 3.5 For the kth keyword w k , the user creates a vector with n bits The initial value of the vector is 0. If the outsourced file F i Contains the keyword w k , the user sets the i-th bit of the vector to 1, that is, All vectors are built to form a vector set
[0065] Step 4: Security index generation:
[0066] Step 4.1 For the kth keyword w k , the user calculates π(w k ) as the address in the vector and encrypt the vector to obtain the security vector in, represents an exclusive OR operation; therefore, these files containing users' personal privacy will be stored in the form of ciphertext on the cloud storage server, and the cloud server cannot steal users' private data from these ciphertext files;
[0067] Step 4.2 For the kth keyword w k , the user creates an empty set
[0068] For i∈[1,n], when The user adds index i to the collection Calculation relationship certification label RAL: and Where j is the sequence number of the data block, FID i The identifier representing the i-th file;
[0069] Step 4.3 User calculates security index
[0070] Step 5: Generate file verification tags:
[0071] Step 5.1 For the ciphertext c of the jth data block of the i-th file ij , user calculation verification tag And get the verification label set Φ={σ ij} 1≤i≤n,1≤j≤s , then upload the verification tag, security index, and encrypted file to the cloud server through a secure channel, and delete the copy file locally.
[0072] Step 6: File access authorization:
[0073] Step 6.1 Figure 3 As shown in the figure, when a user needs to provide other consumers with access to files that he has outsourced and stored on a cloud server, the user will record the identity set of the consumers to be authorized as Among them, ID θ represents the identity of the θth consumer, η represents the identity of η consumers in the set, and η cannot exceed the maximum number of identities allowed to be accessed m; the user selects two random values And calculate the first part of the authorization token separately Part 2 Authorization Token The third part of the authorization token d3 = H1(e(g,h) t )·h r 、The fourth part of the authorization token d4 = SK ID ·u -r , thereby obtaining the user's authorization token TK ID→S = (d1, d2, d3, d4) and sent to the cloud server provider, entrusting the cloud server provider to grant the access rights of its own cloud storage files to the selected consumer;
[0074] Step 6.2: The cloud server provider receives the authorization token TK ID→S =(d1,d2,d3,d4), the ciphertext CT ID Convert to ciphertext CT S =(c'1,c'2,c'3,c'4,c'5), by calculating the partial ciphertext c'1=d1, partial ciphertext c'2=d2, partial ciphertext c'3=d3, partial ciphertext c'4=C2 and partial ciphertext
[0075] Step 6.3 The authorized consumer will download the ciphertext CT from the cloud server provider S =(c'1,c'2,c'3,c'4,c'5), and calculate the decryption parameters Among them, the first part of the decryption parameters And the second part of the decryption parameter hr =c'3 / H1(B). By key M=c'5 / e(h r ,c'4) Recover the symmetric key M and use it to decrypt the ciphertext file uploaded by the user on the cloud server, and then access the cloud storage file shared by the user, where, Indicates the private key of the θth consumer; ID δ represents the identity of the δth consumer;
[0076] Step 7: Audit challenge generation steps:
[0077] Step 7.1 Figure 4 As shown in the figure, when users are concerned about the security of data stored on cloud servers or consumers want to ensure the integrity of data before accessing shared files, they will entrust a third-party auditor to initiate an integrity audit of the files stored on the cloud server; users or consumers will calculate the search trap T w' ={π(w'),f(π(w'))}, and search for the trapdoor T w' Sent to the third-party auditor TPA; w' represents the keyword selected by the user or consumer during the audit challenge phase; π(w') represents the address of the keyword w', and f(π(w')) represents the pseudo-random function value of the address π(w');
[0078] Step 7.2 After receiving the search trapdoor, the third-party auditor TPA will randomly select a set For each q∈Q, the third-party auditor TPA randomly selects Computational Audit Challenge Chal = {T w' ,{j,v q} q∈Q} and send it to the cloud server provider to initiate an audit request.
[0079] Step 8: Audit evidence verification steps:
[0080] Step 8.1 After receiving the audit request from the third-party auditor, the cloud server provider receives the audit challenge Chal = {T w' ,{j,v q} q∈Q} to obtain the set {π(w'),f(π(w'))}, according to the address π(w k )=π(w') Find the security vector and relation authentication tag in the index, and decrypt the security vector to obtain
[0081] Step 8.2 The cloud server provider initializes an empty collection For each i∈[1,n], if the vector Then put the value of i into the set Then the cloud server provider calculates the first part of the evidence And the second part of the evidence And let the audit evidence proof = {T, μ} and return it to the third-party auditor TPA as a response to the audit challenge;
[0082] Step 8.3 The third-party auditor TPA verifies the equation based on the audit evidence Proof returned by the cloud server provider. The integrity of the data stored in the cloud server is judged by whether they are equal. If they are equal, the integrity of the cloud storage data is correct. If they are not equal, the integrity of the cloud storage data has been damaged. The audit results will be notified to the user or consumer. If the integrity of the cloud storage data has not been damaged, the consumer will choose to refuse to access the shared files provided by the user, and the user can initiate file loss compensation from the cloud server provider based on the audit results.
[0083] In summary, the present invention makes new improvements to the traditional public cloud storage file integrity audit method, and realizes a method that supports accurate inspection of medical shared cloud storage files. It can realize cloud sharing services for data while protecting the user's personal privacy and can accurately check the integrity of the target file, thereby ensuring the security of cloud storage file use.
Claims
1. A medical shared cloud storage file audit method supporting accurate inspection, characterized by It is applied in a system consisting of a key generation center KGC, a user, a cloud server provider CSP, multiple consumers and a third-party auditor TPA, and includes the following steps: Step 1: System initialization; Step 1.1 The key generation center KGC selects two multiplication cyclic groups of prime order p. and , and a bilinear map ; Step 1.2 The key generation center KGC selects five hash functions , , , a symmetric encryption algorithm , a pseudo-random transformation operation And a pseudo-random permutation mapping function ;in, represents the set of integers less than p and greater than zero, Indicates a mapping relationship; Step 1.3 The key generation center KGC is derived from the multiplication cyclic group Four generators are randomly selected from , and then choose a random value ; Then calculate some common parameters , where m represents the maximum number of consumers authorized to access; define and initialize ; Step 1.4 The Key Generation Center KGC holds the key , and expose public parameters ; Step 2: Generate key: The key generation center KGC calculates the private key and sent to the user, wherein ID represents the identity of the user; Step 3: Encryption of outsourced files: Step 3.1 The user randomly selects a secret value , calculate the public key ; Step 3.2 The user randomly selects a symmetric key , and divide each of its own files into s data blocks, and use a symmetric encryption algorithm Encrypt all data blocks to get the ciphertext set ; Step 3.3 Using the secret value x, the user calculates the first part of the ciphertext 、Second part of the ciphertext 、The third part of the ciphertext ; Then the key ciphertext As a key The ciphertext of Step 3.4 The user extracts keywords from all his / her own files and creates a keyword set W. Using symmetric encryption algorithm After encryption, the keyword ciphertext is obtained ; Step 3.5 For the kth keyword in the keyword set W , the user creates a vector with n bits ; and initialize =0; if the i-th file of the user Contains the kth keyword , then the user will vector The i-th bit of Set to "1" to create a vector set ; Step 4: Security index generation: Step 4.1 For the kth keyword , user computing As a vector The address in the cipher is encrypted to obtain the security vector in, Represents the exclusive OR operation; Step 4.2 For the kth keyword , the user creates an empty set ; for ,when When the user indexes Add to collection , and calculate the relation authentication label ,in, represents the partial relation authentication label of the j-th data block, and , The identifier representing the i-th file; Step 4.3 User calculates security index ; Step 5: File verification tag generation: Step 5.1 Ciphertext of the jth data block of the i-th file , user calculation verification tag , and get the verification tag set ; Step 6: File access authorization: Step 6.1 The user records the consumer's identity set as ,in, Indicates The identity of a consumer, represents the total number of consumer identities, and ; The user randomly selects two values And calculate the first part of the authorization token 、Part 2 Authorization Token 、Part 3 Authorization Token 、Part 4 Authorization Token , thereby obtaining the user's authorization token And sent to the cloud server provider CSP Step 6.2 The cloud server provider CSP and ciphertext , Convert to ciphertext , where the first part of the ciphertext , the second part of the ciphertext , the third part of the ciphertext , Part 4 Ciphertext ,fifth ; Step 6.3 Consumers follow the ciphertext Calculate decryption parameters , where the first part of the decryption parameters , the second part of the decryption parameters ;in, Indicates The private key of each consumer; Indicates the identity of the individual consumer; The consumer computes a symmetric key , used to access the ciphertext files stored by users on the cloud server provider CSP; Step 7: Audit challenge generation steps: Step 7.1 User or consumer computes search trap , and search for trapdoors Sent to third-party auditor TPA, represents the keywords selected by the user or consumer during the audit challenge phase; Indicates keywords Address, Indicates the address The pseudo-random function value of ; Step 7.2 The third-party auditor TPA receives the search trap Afterwards, randomly select a set , for each , third-party auditor TPA randomly selected , Computational Audit Challenges And send it to the cloud server provider CSP; Step 8: Audit evidence verification steps: Step 8.1 The cloud service provider CSP receives the audit challenge Get the collection , according to the address In the security index Find the security vector and the relationship authentication tag in the , and decrypt the security vector to get the vector ; Step 8.2 The cloud server provider CSP initializes an empty collection , for each , if the vector , then the index Add to collection and calculate the first part of the evidence , and the second part of the evidence , and order audit evidence Then return it to the third-party auditor TPA; Step 8.3 The third-party auditor TPA returns the audit evidence based on the cloud server provider CSP , verify the equation Is it true? If so, it means that the integrity of the data stored in the cloud server is correct. Otherwise, it means that the integrity of the data stored in the cloud server is destroyed.