Inadvertent data security sharing method under distributed system
By generating session matrices and sub-session keys in a distributed system and combining the matrix transpose concept, a load-balanced unintentional sharing matrix is constructed, solving the problems of privacy leakage and excessive computational complexity in distributed data sharing, and achieving privacy protection and efficient data sharing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-24
- Publication Date
- 2026-04-14
AI Technical Summary
Existing technologies have problems such as easy privacy leakage, traceable storage traces, and excessive sharing complexity in distributed data sharing, and are not suitable for distributed data security sharing scenarios.
In a distributed system, multiple servers form a distributed server system, generate a session matrix and distribute sub-session keys. Through a pre-built unintentional sharing communication model, they interact to generate group session keys and message verification codes. Users decrypt the data using the message verification code and obtain the data. By using the matrix transpose concept to construct a load-balanced unintentional sharing matrix, secure data sharing is achieved.
It enables secure distributed data sharing with privacy protection, reduces server computing overhead, supports load balancing and trace hiding, and improves the efficiency and security of data sharing.
Smart Images

Figure CN116566605B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a method for unintentional secure data sharing in a distributed system, belonging to the field of secure data transmission. Background Technology
[0002] With the development of information technology, today's society has entered the era of big data. As informatization deepens, data sharing has become an important way of using data. Due to the singularity of some user data and limitations in processing capabilities, data sharing can expand the scale of data and improve the efficiency of data mining. Data sharing has become a crucial part of smart cities. Distributed data sharing is an important way of using data. Due to the singularity of some user data and limitations in processing capabilities, distributed data sharing can expand the scale of data and improve the efficiency of data mining. Distributed data sharing refers to numerous servers located in different locations being interconnected through a network to form a complete, globally logically centralized, but physically distributed large-scale server. Data is stored dispersedly across these servers, and data access users achieve data sharing by accessing the distributed servers. Distributed shared data is characterized by its diverse sources, massive volume, and dispersed storage. During the data sharing process between distributed servers and users, the server can infer the key data accessed by the user based on their request, and malicious users may steal others' data while accessing the server. The privacy of both parties in the communication is at risk of being leaked. Oblivious transfer (OT) is a powerful tool for protecting the privacy of both parties during data sharing and is also an important cryptographic primitive. However, directly transmitting shared data using OT incurs significant computational and communication overhead. Furthermore, when data is transferred between a distributed server and a user, the user is aware of the data's origin, potentially leading to the leakage of information about which server the data resides on. Introducing a proxy between the user and the server, and using proxy re-encryption, can hide the data's storage traces. However, by comparison, using oblivious extension techniques between the distributed server and the user can also achieve trace hiding. Moreover, avoiding the introduction of a proxy during the sharing process reduces computational and communication overhead.
[0003] [1]Naor M,Pinkas B.Distributed oblivious transfer[C] / / InternationalConference on the Theory and Application of Cryptology and InformationSecurity.Springer,Berlin,Heidelberg,2000:205-219.
[0004] Naor et al. [1] first proposed the concept of distributed oblivious transfer, introducing m servers between the sender and the receiver, and using the idea of functional secret sharing among the m servers. The user selects l servers from the m servers and executes the 1-out-of-n OT protocol with the l servers (i.e., ). However, this distributed oblivious transfer concept is difficult to achieve fast data sharing, and introduces multiple server entities that only provide split function capabilities and do not participate in the sharing process.
[0005] [2] Ishai Y, Kilian J, Nissim K, et al. Extending oblivious transfer efficiently[C] / / Annual International Cryptology Conference. Springer, Berlin, Heidelberg, 2003: 145 - 161.
[0006] [3] Asharov G, Lindell Y, Schneider T, et al. More efficient oblivious transfer and extensions for faster secure computation[C] / / Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security. 2013: 535 - 548.
[0007] Ishai et al. [2] proposed the first efficient method to extend k base-OT protocols into n OT protocols (k << n), that is, the OT extension protocol secure under the semi-honest hand model. However, Asharov et al. [3] found through experiments that IKNP [2] consumes 42% of the computational overhead on matrix transposition. They constructed a new OT scheme under the standard model, that is, using 2×2 matrices to transpose the m×n matrix multiple times, reducing the computational complexity of transposing the m×n matrix from O(mk) to O(m / r log k), where r is the CPU register size. However, if the above two oblivious transfer protocols are directly applied to a distributed environment (the distributed scenario we consider means that data is stored in different servers and users need to obtain data from the servers), there will be two problems. The first problem is that the distributed servers need to jointly generate the auxiliary parameters of OT. If one server generates and broadcasts them to other servers, it will cause the problem of load imbalance. The second problem is that the above protocols only support users to obtain m data from m pairs of data, that is, the data acquisition lacks flexibility.
[0008] In summary, existing solutions suffer from issues such as easy privacy breaches, traceable storage traces, and excessive sharing complexity, and are unsuitable for distributed data security sharing scenarios. Therefore, developing a distributed data security sharing solution that supports privacy protection remains a problem to be solved. Summary of the Invention
[0009] This invention provides a solution to the problems disclosed in the background art.
[0010] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows:
[0011] Unintentional secure data sharing methods in distributed systems:
[0012] Multiple servers form a distributed server system, and the encrypted data is stored in different locations on servers.
[0013] In a distributed server system, s servers generate a session matrix.
[0014] Each of the s servers possesses a portion of the session matrix as a sub-session key;
[0015] By using a pre-built unintentional shared communication model, each of the s servers can obtain the remaining s-1 sub-session keys and generate a group session key and message verification code.
[0016] The session key and message verification code are encrypted and transmitted to the user.
[0017] Users obtain data by decrypting the group session key using a message verification code.
[0018] Furthermore, the data encryption process is as follows:
[0019] The data owner's data is represented as dataset m. i ={tresbps||chol||fbs||…||dia i}; Utilizing access policies public key sk p The dataset is first encrypted using an access control encryption algorithm, denoted as... Then, label the data as publicly available. Obtain data Upload data To the server S where the data owner is located l The distributed server generates a symmetric key k for each piece of data. i The data is then encrypted a second time using a symmetric encryption algorithm, represented as follows:
[0020] Furthermore, the process for generating the group session key and message verification code is as follows:
[0021] Determine the correspondence between each distributed server and the columns of matrix B. and each server At least execute In this 1-2-OT protocol, the server selects columns from matrix B or B' based on the string 'a', generating s' matrices Q_l. Each server has a subset of columns in matrix Q. The equation p = (τ mod s) + 1 is used to determine that the τ-th column is stored on the p-th server. The string 'q' corresponding to the τ-th column of matrix B / B' is stored in the τ-th column of server p. Subsequently, each server executes the 1-2-OT algorithm according to the corresponding selection relationship, selecting columns from matrix B to generate s' matrices Q_l. The strings are not randomly stored in server p, ensuring that the server accurately generates matrix Q after data exchange. Matrix Q is an unintentional data sharing matrix.
[0022] Each distributed server has at least S' servers generate a shared matrix Q through two rounds of interaction, with each server having different columns. The shared matrix Q is regarded as the group session key.
[0023] Each server already has a matrix Q. l Q l It consists of two parts: the columns of matrix Q obtained after the server executes the OT algorithm, and the remaining columns filled with 0. l As a server during key negotiation process l The subkeys are used to construct the group session matrix Q generated between all servers; first, each server executes GenSign() to generate the group signature σ. l At the same time, calculate in The parameters are randomly selected; secondly, based on the LBSM structure, the N groups for the first round are determined; the server calculates and sends ( Q l CFD l ,σ l The message is sent to servers in the same subgroup; after each server receives M messages, it calls the signature verification algorithm VerSign() to verify the validity of the message; the server calculates... Finally, after successful verification, the transformation matrix is... The subscript (i,j) = l, and the servers in the subgroup compute the pair ∨i∈N, The servers in each subgroup all receive the same matrix. ,matrix This will be used for the second round of key negotiation; additionally, to detect malicious users, the servers in the subgroup will perform calculations.
[0024] In the first round, servers in the same subgroup had the same matrix. Based on the LBSM structure, determine the M groups for the second round, and each server in the same subgroup calculates and sends ( C i ,σ l The message is sent to other servers; after each server has received N messages, it runs the Versign() algorithm to verify the validity of the messages; subsequently, each server calculates... If verification is successful, the servers in the same subgroup will calculate... Meanwhile, server computing Each server receives an inadvertently shared matrix Q and a value used to detect malicious users.
[0025] Furthermore, the encryption process for the session key and message verification code is as follows:
[0026] Input: S, the sender (server), has n data items (de1, d2, ..., dn). n Each data item is β-bit in length and has the same label. The receiver R, i.e., the user, generates a request r = (r1, r2, ..., r...). n ), where r i For r ∈{0,1}, the rule is:
[0027]
[0028] Output: The selected data (d1, d2, ..., dn) obtained by R k );
[0029] Each group server S l Initialize a string of length k-bit; each server randomly generates a character at the selected column position, and pads the remaining positions with 0 characters; R randomly selects two k×k matrices B and B′, and calculates x. j =G(b) j Generate an m×kbit matrix X = [x1||x2||…||x] k ], then calculate Where b j and b j Let ' represent the columns of matrix B and matrix B' respectively (j∈[k]), and R, according to the corresponding selection relation, will assign u to each column. j Send to server S l ;
[0030] 2)S l Execute k times between R The algorithm selects column b of either seed matrix B or matrix B' based on string a. j Or column b j At this moment, S and R exchange identities, with the user acting as the sender. The server acts as the receiver. Input matrices B and B′; for each server Input the corresponding string a s1 , calculate Let column Obtain the m×kbit matrix Q for each server. l =[q l,1 ||q l,2 ||…||q l,k ];
[0031] S l An unintentional shared communication algorithm is invoked between R and the target to generate an unintentional shared matrix. For each 1≤j≤k, let's define an m×kbit matrix. Calculations show that q j and a j The relationship between them satisfies the formula:
[0032]
[0033] Server S l Select a matrix based on the sequence number of the stored data. For line i, calculate i∈[n];Server S l Random selection ξ i ∈G, calculate Then, calculate send Given R, calculate R Then calculate Obtain the correct auxiliary parameters Server utilization Encrypt the symmetric key
[0034] Furthermore, the process by which users decrypt the group session key using the message verification code to obtain data is as follows:
[0035] The user uses matrix B to analyze CR key CT scan of encrypted text i Perform the first decryption, that is Subsequently, the ciphertext is decrypted a second time using access control policies. The end user retrieved the requested k data items from n data items.
[0036] Accordingly, a computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by a computing device, cause the computing device to perform any of the methods described above.
[0037] Accordingly, a computing device includes:
[0038] One or more processors, one or more memories, and one or more programs, wherein the one or more programs are stored in the one or more memories and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods described above.
[0039] The beneficial effects achieved by this invention are as follows:
[0040] 1. This invention can realize a distributed, unintentional sharing scheme that supports privacy protection.
[0041] In order to achieve unintentional data sharing more quickly, this invention designs a novel unintentional sharing scheme that can protect the privacy of the data owner, sender, and receiver.
[0042] 2. This invention innovatively constructs an unintentional sharing matrix:
[0043] This invention designs a data security sharing protocol that supports load balancing, reducing the computational overhead of each server while supporting trace hiding, thus achieving load balancing and secure data sharing among concurrent servers. Addressing the issues of excessive computational overhead and server load imbalance in distributed data sharing, the invention introduces the matrix transpose concept to construct a load-balanced, unintentional sharing matrix, proposing a concurrent data sharing protocol with O(β / λ) complexity to improve protocol performance and achieve secure data sharing among concurrent servers. Attached Figure Description
[0044] Figure 1 This is a schematic diagram of the process of the present invention;
[0045] Figure 2 This is an example of a spiral matrix structure in this invention;
[0046] Figure 3 This is a schematic diagram of the key negotiation process. Detailed Implementation
[0047] The present invention will be further described below with reference to the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and should not be used to limit the scope of protection of the present invention.
[0048] like Figure 1 As shown, this invention addresses the issue of sharing data without compromising privacy in distributed systems where interacting parties (such as servers and users) wish to share data. Taking smart healthcare as an example, consider a real-world scenario: multiple hospitals' servers form a distributed server system. Patients receive treatment at multiple hospitals, and their pathological data is stored in different locations on servers. Doctors use data tags to query the distributed server system for requested data. It's important to note that in this paper, the OT protocol transmits not the patient's medical data, but rather the keys used to encrypt it. During data sharing, the doctor sends requests containing keywords to *s* servers, and the *s* servers return *n* data points to the user. To achieve unintentional data sharing, a group of *s* servers in the distributed system needs to generate a session matrix as an auxiliary parameter for the OT protocol. Each server possesses a portion of the shared matrix as a sub-session key. After interaction, each server obtains the remaining *s-1* sub-session keys, generating a group session matrix and a message verification code. The session key (a matrix in this paper) negotiated by multiple servers provides security for the OT protocol and avoids a single server broadcasting its session key. In particular, it achieves server load balancing and decentralization of the distributed system. Furthermore, by leveraging the features of the proposed LBSM structure during unintentional data sharing, malicious servers can be effectively identified.
[0049] This invention is mainly divided into four parts: encryption stage, unintentional sharing communication model, data transmission stage, and decryption stage.
[0050] Taking a doctor retrieving patient medical records as an example:
[0051] 1. Data encryption stage
[0052] The data owner represents patient data and diagnostic records as a dataset m. i ={tresbps||chol||fbs||…||diai}. Utilizing access policies. Public key sk p The dataset is first encrypted using an access control encryption algorithm, denoted as... Then, the data is labeled as publicly available. Upload data To the server S where the data owner is located l Finally, the distributed server generates a symmetric key k for each piece of data. iThe data is then encrypted a second time using a symmetric encryption algorithm, represented as follows:
[0053] 2. Unintentionally sharing communication models and algorithms
[0054] The group key negotiation phase utilizes the unintentional sharing communication model to generate an unintentional sharing matrix, which will be used to generate ciphertext that can transmit symmetric keys.
[0055] 1) Determine the correspondence between each distributed server and the columns of matrix B. Specifically, and each server At least execute In this 1-2-OT protocol, the server needs to select columns from matrix B or B' based on the string 'a' to generate s' matrices Q_l. Therefore, it's necessary to determine which columns of matrices B and B' each distributed server should execute the OT algorithm on. In other words, each server has a subset of the columns of matrix Q. The equation p = (τ mod s) + 1 is used to determine which column (τ-th position) is stored on server p. The string 'q' corresponding to the τ-th position of matrix B / B' is stored in the τ-th position on server p. Subsequently, each server executes the 1-2-OT algorithm according to the corresponding selection relationship, selecting columns from matrix B to generate s' matrices Q_l. Note that the string cannot be randomly stored on server p; this is to ensure that the server can accurately generate matrix Q after data exchange.
[0056] 2) Generate the unintentional data sharing matrix Q. Using the LBSM communication model, the distributed servers engage in two rounds of matrix interaction, ultimately resulting in each server obtaining matrix Q. Specifically, after executing Step 2, each distributed server possesses at least... S' matrices Q have columns, and the columns are different for each server. The S' servers generate a shared matrix Q for the group (which can be regarded as a session key) through two rounds of interaction.
[0057] 3) Round 1: The encryption method for sending matrix Q is based on the deep learning (DL) hard problem. Round 1: Each server (including virtual servers) already possesses a matrix Q. l Q l It consists of two parts: the columns of matrix Q obtained after the server executes the OT algorithm, and the remaining columns filled with 0. Matrix Q l As a server during key negotiation process l The subkeys are used to form the group session matrix Q generated between all servers. First, each server executes GenSign() to generate the group signature σ. l At the same time, calculation in The parameters are randomly selected. Next, based on the LBSM structure, the N groups for the first round are determined. The server calculates and sends... The message is sent to servers in the same subgroup. After each server has received M messages, they call the VerSign() signature verification algorithm to verify the validity of the messages. The server calculates... Finally, after successful verification, the transformation matrix is... The subscript (i,j) = l, and the servers in the subgroup compute the pair ∨i∈N, The servers in each subgroup all receive the same matrix. matrix This will be used for the second round of key negotiation. Additionally, to detect malicious users, the servers in the subgroup calculate...
[0058] 4) Round 2: In the first round, servers in the same subgroup have the same matrix. Based on the LBSM structure, determine the M groups for the second round. Each server in the same subgroup calculates and sends... The messages are then sent to other servers. Once each server has received N messages, they run the Versign() algorithm to verify the validity of the messages. Subsequently, each server calculates... If verification is successful, the servers in the same subgroup will calculate... Meanwhile, server computing Each server receives an unintentionally shared matrix. and values used to detect malicious users
[0059] 5) Example: Assume there are 16 servers in a distributed server network. User u's 10 encrypted messages regarding {Tag1 = Heart Disease} are distributed across 4 of the 16 servers. Assume the data length is 6 bits. When a doctor sends a data request to their assigned server, the distributed system executes the DOT and GKA algorithms. First, all servers determine the server to which the data belongs based on the tag (u, Tag1). Server S gm Determine the group members (S1~S4) and run Algorithm 3 to calculate the number of empty servers that need to be added (S). empt =0). Second, server S gm Algorithm 2 is used to construct the optimal LBSM structure (N=2, M=2). Third, the doctor, as the sender, possesses matrix B and matrix B′, and the group server, as the receiver, acquires the data. Server S gm Algorithm 4 is used to determine the sequence number of the matrix data that each group server should receive. Then, the sender and receiver perform a 1-2-OT algorithm to obtain matrix Q. lFinally, the group server utilizes the LBSM architecture to perform two rounds of interaction, ensuring that each server obtains the unintentionally shared matrix. Figure 3 This indicates the process of four servers executing the GKA phase.
[0060] 3. Data transmission stage
[0061] Input: The sender (S, i.e., the server) has n data items (d1, d2, ..., dn). n Each data item is β-bit in length and has the same label. The receiver (R, i.e., the user) generates a request r = (r1, r2, ..., r...). n ), where r i ∈{0,1}. The rule for r is...
[0062]
[0063] Output: R outputs the selected data (d1, d2, ..., d...). k ).
[0064] 1) Each group server S l Initialize a string of length k-bit. Based on the corresponding selection relationship in Algorithm 4, each server randomly generates a character at the selected column position, and fills the remaining positions with 0 characters.
[0065] R randomly selects two k×k matrices B and B′, and calculates x. j =G(b) j Generate an m×kbit matrix X = [x1||x2||…||x] k ]. Then calculate Where b j and b j Let ' represent the columns of matrix B and matrix B' respectively (j∈[k]). R, according to the corresponding selection relation, will assign u... j Send to server S l 2)S l Execute k times between R The algorithm selects column b of either seed matrix B or matrix B' based on string a. j Or column b j At this moment, S and R exchange identities, with the user acting as the sender. The server acts as the receiver. . Input two matrices B and B′. Each server... Input his string a s1 . calculate Let column Obtain the m×kbit matrix Q for each server. l =[q l,1 ||q l,2 ||…||q l,k ].
[0066] 3)S l An unintentional shared communication algorithm is invoked between R and the target to generate an unintentional shared matrix. For each 1≤j≤k, consider an m×kbit matrix. Calculations show that q j and a j The relationship between them satisfies the formula
[0067]
[0068] 4) Commitment Phase: Server S l Select a matrix based on the sequence number of the stored data. For line i, calculate i∈[n]. Server S l Random selection ξ i ∈G, calculate Then, calculate send Given R. Calculate R Then calculate Obtain the correct auxiliary parameters The server utilizes Encrypt the symmetric key
[0069] 4. Data Decryption Stage
[0070] The user uses matrix B to analyze CT. key CT scan of encrypted text i Perform the first decryption, that is Subsequently, the ciphertext is decrypted a second time using access control policies. The end user retrieved the requested k data items from n data items, achieving secure data sharing and protecting the privacy of the data owner, sender, and receiver.
[0071] The present invention mainly accomplishes the following tasks.
[0072] A privacy-preserving distributed inadvertent sharing framework was designed. This framework is based on OT extensions between the user and server sides and a load-balanced spiral matrix (LBSM) among s distributed servers to determine the communication between the user and the server. Specifically, this framework protects the privacy of both the sender (server) and the receiver (user). Specifically, the receiver can only derive the data requested by k, without any other nk data, and the sender cannot know the data requested by the receiver. Furthermore, s servers can form groups to efficiently share an inadvertent sharing matrix and verify each other by performing key negotiation.
[0073] A distributed unintentional sharing protocol (DOS-) with communication overhead of O(β / s) is proposed. DOS- The agreement mainly completes × Implemented in a distributed server system, this protocol hides the trace of stored data without invoking a proxy. It uses an 's' server to process an n×β bit matrix for sharing. By adding a commitment phase, we improve the security of the semi-honest receiver, achieving DOS-safety. Security for malicious receivers. Experimental results show that when k is much smaller than n, the overhead of the unintentional data sharing scheme is unaffected by n and positively correlated with k. If The fewer times the protocol is executed (k), the lower the overhead of the scheme. In this invention, the inadvertent data sharing protocol can be instantiated with different parameters, allowing us to balance computation and communication. Here, β represents the number of bits in the key, i.e., the number of columns in the n×β sharing matrix. n represents the total amount of data the user has in the distributed server. k represents the amount of data the user wants to access. s represents the number of servers in the distributed environment.
[0074] We construct a load balancing spiral matrix to share data and detect malicious servers. We provide two algorithms for constructing the spiral matrix structure. Furthermore, this paper proposes an optimal solution algorithm for constructing an LBSM based on the number of distributed servers. Assuming N = M, the total number of server interactions in the LBSM is... Where s = N*M holds true. The communication complexity of LBSM is... N represents the number of rows in the spiral matrix, and M represents the number of columns. The specific structure and examples of a spiral matrix are as follows: Figure 2 As shown.
[0075] A computer-readable storage medium storing one or more programs, the programs including instructions that, when executed by a computing device, cause the computing device to perform a method for unintentional secure data sharing in a distributed system.
[0076] A computing device includes one or more processors, one or more memories, and one or more programs, wherein the one or more programs are stored in the one or more memories and configured to be executed by the one or more processors, and the one or more programs include instructions for performing an inadvertent data security sharing method in a distributed system.
[0077] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0078] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0079] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0080] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0081] The above are merely embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention are included within the scope of the claims of the present invention pending approval.
Claims
1. A method for secure, unintentional data sharing in a distributed system, characterized by: Multiple servers form a distributed server system, and the encrypted data is stored in different locations on servers. In a distributed server system, s servers generate a session matrix. Each of the s servers possesses a portion of the session matrix as a sub-session key; By using a pre-built unintentional shared communication model, each of the s servers can obtain the remaining s-1 sub-session keys and generate a group session key and message verification code. The session key and message verification code are encrypted and transmitted to the user. Users obtain data by decrypting the group session key using a message verification code; The data encryption process is as follows: The data owner's data is represented as a dataset. ;Utilize access policies Public key The dataset is first encrypted using an access control encryption algorithm, denoted as... Then, label the data as publicly available. Obtain data Upload data To the server where the data owner is located The distributed server generates a symmetric key for each piece of data. The data is then encrypted a second time using a symmetric encryption algorithm, represented as follows: .
2. The method for secure unintentional data sharing in a distributed system according to claim 1, characterized in that: The process for generating group session keys and message verification codes is as follows: Determine the correspondence between each distributed server and the columns of matrix B. and each server At least execute In the 1-2-OT protocol, the server selects columns from matrix B or matrix B' based on string 'a' to generate... There are matrices Q_l; each server has a portion of the columns of matrix Q; using the equation Determine the first The column of the bit is stored in the first position. Server; the first of matrix B / B' The string corresponding to the position Stored on server The The next step involves each server executing a 1-2-OT algorithm based on the corresponding selection relationship to select columns from matrix B and generate... There are several matrices Q_l; where strings are not randomly stored on the server. In this process, it is ensured that the server accurately generates matrix Q after performing data exchange, and matrix Q is an unintentional data sharing matrix; Each distributed server has at least There are columns in matrix Q, and the columns are different for each server. Each server generates a shared matrix Q for the group after two rounds of interaction. The shared matrix Q can be regarded as the group session key. Each server already has a matrix. ,in It consists of two parts: the Q-part columns of the matrix obtained after the server executes the OT algorithm, and the remaining columns filled with 0. As a server during key negotiation The subkeys are used to form the group session matrix Q generated between all servers; first, each server executes GenSign() to generate the group signature. At the same time, calculate ,in The parameters are randomly selected; secondly, based on the LBSM structure, the N groups for the first round are determined; the server calculates and sends... The message is sent to servers in the same subgroup; after each server has received M messages, it calls the signature verification algorithm VerSign() to verify the validity of the message; the server calculates... Finally, after successful verification, the transformation matrix is... subscript The servers in the subgroup compute for any The servers in each subgroup all receive the same matrix. ,matrix This will be used for the second round of key negotiation; additionally, to detect malicious users, the servers in the subgroup will perform calculations. ; In the first round, servers in the same subgroup had the same matrix. Based on the LBSM structure, determine the M groups for the second round, and each server in each subgroup calculates and sends... The message is sent to other servers; after each server has received N messages, it runs the Versign() algorithm to verify the validity of the messages; subsequently, each server calculates... If verification is successful, the servers in the same subgroup will calculate... Meanwhile, the server calculates Each server receives an unintentionally shared matrix. and values used to detect malicious users .
3. The method for secure unintentional data sharing in a distributed system according to claim 1, characterized in that: The process of encrypting the session key and message verification code is as follows: Input: S, the sender, i.e., the server, possesses... Data The length of each data point is -bit, these data have the same label, the receiver R, i.e., the user, generates a request. ,in , The rules are: ; Output: The selected data obtained by R ; Each group server Initialize a string of length k-bit; each server randomly generates a character at the selected column position, and pads the remaining positions with 0 characters; Randomly select 2 matrix and ,calculate ,generate Matrix of bits Then calculate ,in and Represent matrices respectively sum matrix The column , Based on the corresponding selection relationship, respectively Send to server ; and implement Second-rate Algorithm, based on string Selecting a seed matrix matrix The column or list ;now, and Identity exchange, user as sender The server acts as the receiver. , Input matrix sum matrix Each server Input the corresponding string , calculate , let column , = ; Get each server's own Matrix of bits ; and Invoke the unintentional shared communication algorithm to generate an unintentional shared matrix. Each , set up Matrix of bits ; calculations show that, and The relationship between them satisfies the formula: ; server Select a matrix based on the sequence number of the stored data. For line i, calculate , ;server Random selection , ,calculate Then, calculate , send Give , calculate ( ), then calculate Obtain the correct auxiliary parameters Server utilization Encrypt the symmetric key .
4. The method for secure unintentional data sharing in a distributed system according to claim 3, characterized in that: The process by which a user decrypts a group session key using a message verification code to obtain data is as follows: The user uses matrix B to... For ciphertext Perform the first decryption, that is Subsequently, the ciphertext is decrypted a second time using access control policies, namely... The end user retrieved the requested k data items from n data items.
5. A computer-readable storage medium for storing one or more programs, characterized in that: The one or more programs include instructions that, when executed by a computing device, cause the computing device to perform any of the methods according to claims 1 to 4.
6. A computing device, characterized in that, include: One or more processors, one or more memories, and one or more programs, wherein the one or more programs are stored in the one or more memories and configured to be executed by the one or more processors, the one or more programs including instructions for performing any of the methods according to claims 1 to 4.