A privacy-preserving and non-interactive multi-party logistic regression model training method
By constructing a multi-party logistic regression model and a privacy-preserving training protocol, the problems of long training time, high computational cost, and insufficient privacy protection of logistic regression models are solved, achieving efficient and secure non-interactive training and ensuring data confidentiality and integrity.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-13
- Publication Date
- 2026-03-24
AI Technical Summary
Existing logistic regression models have long training times, high computational costs, low model accuracy, and insufficient protection of user privacy information, especially in cloud computing environments where privacy leaks and frequent communication interactions exist.
A multi-party logistic regression model is constructed. A strong private key is generated and distributed through a key generation center. The data owner encrypts the data and uploads it. The service provider and the cloud server conduct non-interactive training. A privacy-preserving training protocol is adopted to ensure the confidentiality and integrity of the data.
It enables efficient training of logistic regression models without requiring data owners to interact with service providers or cloud servers, reducing communication costs and accuracy loss, protecting user privacy, and resisting attacks.
Smart Images

Figure CN117195162B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of cloud computing technology, and more specifically to a privacy-preserving and non-interactive method for training a multi-party logistic regression model. Background Technology
[0002] With the rise of cloud computing and the continuous enrichment of data resources, more and more institutions and enterprises are willing to migrate their private data from local servers to cloud servers for faster analytical computing tasks and model training. This trend is also reflected in the medical field, where many enterprises and institutions are using machine learning algorithms to develop various medical applications and auxiliary diagnostic tools to improve medical standards and treatment outcomes. For example, Disease Prediction Systems (DPSs) have received widespread attention in recent years. Logistic regression, as a classic machine learning algorithm, has been widely used in the prediction of various diseases. Although it is simple, it is more efficient than some complex techniques (such as...). Bayesian classification, support vector machines, etc. are more effective and suitable.
[0003] Unfortunately, logistic regression training still faces many challenges due to privacy concerns and communication restrictions. On one hand, local training data from data owners often contains a large amount of private information about individuals or organizations. This raw data contains a wealth of personal privacy information (such as health status, income, etc.), and once this data is leaked, it could lead to adversaries using computers to assist in crimes. On the other hand, privacy issues surrounding data sovereignty and jurisdiction, as well as data protection laws, prevent these institutions and data owners from publicly sharing user data. Furthermore, if cloud servers become aware of the model during training, they can easily misuse it, potentially revealing the global model to others. Simultaneously, cloud servers can easily directly track users or release some of their private data to other advertisers for their own private gain.
[0004] However, training logistic regression on encrypted data faces significant challenges. First, users need to collaborate online with the cloud, interacting to process privacy-preserving computations on large amounts of data. Multiple interactions between servers are required, placing higher demands on network reliability. In practical applications, these multiple interactions between users or between users and servers not only lead to a heavy communication burden but also increase the risk of privacy exposure. Unfortunately, due to unforeseen circumstances such as network issues and communication limitations, users cannot always participate in the training process. Second, while data owners use the same public key to encrypt their data, using a unified public key for all data owners fails to prevent collusion. When the cloud server colludes with data owners to obtain other users' privacy, the cloud server can decrypt and gain access to the data of all data owners. Summary of the Invention
[0005] The purpose of this invention is to provide a privacy-preserving and non-interactive multi-party logistic regression model training method, aiming to solve the technical problems of long training time, high computational cost, low model accuracy, and insufficient protection of user privacy information in existing logistic regression models.
[0006] To achieve the above objectives, this invention provides a privacy-preserving and non-interactive method for training a multi-party logistic regression model, comprising the following steps:
[0007] Construct and initialize a multi-logistic regression model;
[0008] Entities within the multi-party logistic regression model are registered;
[0009] Provide data for encryption;
[0010] Data collection and authentication;
[0011] Training is performed using a privacy-preserving training protocol;
[0012] Complete distributed decryption.
[0013] Optionally, the multi-party logistic regression model consists of four entities: Key Generation Center (KGC), Data Owner (DOs), Service Provider (SP), and Cloud Server (CS).
[0014] The key generation center KGC is responsible for generating the public parameters and strong private key λ required by the system, and then dividing the strong private key λ into two parts. Part of the strong private key λ1 is sent to the service provider SP, and part of the strong private key λ2 is sent to the cloud server CS.
[0015] The data owner, DOs, is responsible for providing the data required for training and for encryption.
[0016] The service provider SP is responsible for collecting data, initializing model parameters, and interactively training with the cloud server CS.
[0017] The cloud server CS possesses a partial strong private key λ2, which enables it to partially decrypt ciphertext sent by the service provider SP and perform calculations on the ciphertext.
[0018] Optionally, the data owner DOs is only responsible for sending data, and after sending the data, it goes offline and no longer participates in any other training; the cloud server CS will not collude with the service provider SP, nor will it disclose information to other entities.
[0019] Optionally, the initialization process includes the following steps:
[0020] The key generation center (KGC) selects a security parameter k and two large prime numbers p and q, and calculates: λ=lcm(p-1,q-1)=2p′q′, N=pq;
[0021] Define a decryption function as And select a generator g of order 2p′q′ for encryption, and let the strong private key be SK=λ;
[0022] Randomly decompose SK = λ into two parts, namely SK j =λ j (j=1,2), where λ1,λ2 satisfy λ1+λ2≡0modλ, λ1+λ2≡1modN 2 ;
[0023] The system's public parameters Par = (N, g) and partial strong private keys SK1 = λ1, SK2 = λ2 are computed.
[0024] Send part of the strong private key λ1 to the service provider SP, and send part of the strong private key λ2 to the cloud server CS.
[0025] Among them, the security parameter determines the size of the numerical space of the calculation defined in the encryption mechanism, which is usually represented by the number of bits, often 1024 bits or 2048 bits; p, q: used to generate a strong private key, and large prime numbers also provide security for the system. Specifically, there are no restrictions on the range of values for the security parameter and the large prime number.
[0026] Optionally, the process of registering entities within the multi-party logistic regression model includes the following steps:
[0027] Registration of any user DOi in the data owner DOs: For each user i, the key generation center KGC randomly selects θ i ∈[1,N / 4], and calculate Finally, the public key is pk i ={N,g,h i}, the private key is sk i =θ i ;
[0028] Service Provider (SP) Registration: For a Service Provider (SP), the Key Generation Center (KGC) randomly selects θ. SP ∈[1,N / 4], and calculate Finally, the public key is pk SP ={N,g,h SP}, the private key is sk SP =θ SP ;
[0029] Cloud Server CS Registration: For cloud server CS, the Key Generation Center (KGC) randomly selects θ. CS ∈[1,N / 4], and calculate Finally, the public key is pk CS ={N,g,h CS}, the private key is sk CS =θ CS .
[0030] Optionally, during the data encryption process, the user DOi encrypts the data, specifically for plaintext. Choose a random number r∈[1,N / 4], and use the public key pk i The ciphertext below can be calculated as: in T i,2 =g r modN 2 .
[0031] Optionally, during the authentication process, the user DOi verifies with both the service provider SP and the cloud server CS. Specifically, the message is first signed using the private key, and then the signature is decrypted using the public key and compared. If they are equal, the authentication is successful.
[0032] Optionally, the training process using a privacy-preserving training protocol is executed interactively by the service provider (SP) and the cloud server (CS), and includes the following steps:
[0033] The service provider SP uses a partial strong private key λ1 to perform partial decryption, obtaining ξ′={ξ1,ξ2,ξ3,ξ′1,ξ′2,ξ′3}, and sends it to the cloud server CS;
[0034] The cloud server CS uses a partial strong private key λ2 to decrypt ξ′, and processes it to obtain δ3=(S(x (i) w)-y (i) ) T ·(x (i) (A i ) -1 Then it is returned to the service provider SP;
[0035] After receiving δ3, the service provider SP calculates and updates the model: w t ←w t-1 -η{G}, the training protocol will terminate when the maximum number of iterations is reached.
[0036] This invention provides a privacy-preserving, non-interactive method for training a multi-party logistic regression model. Specifically, the method involves: users encrypting their local private data and uploading it to a service provider; the service provider then collects the encrypted data and, with the assistance of a cloud server, trains a global logistic regression model to obtain the final model results. A privacy-preserving training protocol is employed during training to ensure data confidentiality and integrity. Data owners do not need to interact with the service provider or cloud server. Furthermore, each model training session involves only one exchange between the service provider and the cloud server, achieving a good balance between efficiency, security, and functionality. This method addresses the technical problems of existing logistic regression models, such as long training times, high computational costs, low model accuracy, and insufficient protection of user privacy. Attached Figure Description
[0037] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0038] Figure 1 This is a schematic diagram illustrating the steps of a privacy-preserving and non-interactive multi-party logistic regression model training method according to the present invention.
[0039] Figure 2 This is a schematic diagram of the distribution of BP values extracted from the ABP signal in a specific embodiment of the present invention. Detailed Implementation
[0040] Embodiments of the present invention are described in detail below, examples of which are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain the present invention, and should not be construed as limiting the present invention.
[0041] The relevant terms and abbreviations used at the end of this document are as follows:
[0042] Key Generation Center (KGC)
[0043] Data Owners (DOs)
[0044] Service Provider (SP)
[0045] Cloud Server (CS)
[0046] Please see Figure 1 This invention provides a privacy-preserving and non-interactive method for training a multi-party logistic regression model, comprising the following steps:
[0047] S1: Construct and initialize a multi-logistic regression model;
[0048] S2: Entities within the multi-party logistic regression model are registered;
[0049] S3: Provides data for encryption;
[0050] S4: Data Collection and Authentication;
[0051] S5: Training is performed using a privacy-preserving training protocol;
[0052] S6: Complete distributed decryption.
[0053] The following provides further explanation, including relevant terminology and specific steps:
[0054] Specifically, such as Figure 2 As shown, the multi-party logistic regression model consists of four entities: the key generation center KGC, the data owner DOs, the service provider SP, and the cloud server CS.
[0055] Key Generation Center (KGC): The Key Generation Center (KGC) is an indispensable entity trusted by all entities. The KGC is primarily responsible for generating the public parameters required by the system and the strong private key λ, which is then divided into two parts. Furthermore, it is responsible for sending part of the strong private key λ1 to the service provider SP and part of the strong private key λ2 to the service provider CS.
[0056] Data Owners (DOs): Data owners (DOs) are responsible for providing the data required for training. Before uploading the data, the data owner (DO) encrypts the data using a key distributed by the Key Generation Center (KGC), sends the encrypted data to the Service Provider (SP), and simultaneously sends a portion of the blinded data to the Service Provider (CS). After the data transmission is complete, the data owner (DO) goes offline and no longer participates in any further training.
[0057] Service Provider (SP): The Service Provider (SP) is an entity with certain computing power and possesses a partial strong private key λ1. Its main responsibilities include collecting data, initializing model parameters, and interactively training the model with the Service Controller (CS) to obtain a good model.
[0058] Cloud server CS: CS provides the primary computing power, possesses a partial strong private key λ2, and is capable of partially decrypting ciphertext sent by service provider SP and performing certain computations on the ciphertext. Furthermore, the cloud server does not collude with the trainer and is unwilling to disclose any information to others.
[0059] The specific steps are as follows:
[0060] 1. System Initialization
[0061] The initialization step is a prerequisite for training the protocol. During initialization, public parameters are generated by the Key Generation Center (KGC, Trusted Authority). Specifically, a security parameter k and two large prime numbers p and q are first selected, and the following calculations are performed: λ = lcm(p-1, q-1) = 2p′q′, N = pq. Define a function as... We select a generator g of order 2p′q′ and let the strong private key be SK = λ. To achieve distributed decryption, we randomly decompose SK = λ into two parts, namely SK... j =λ j (j=1,2), where λ1,λ2 satisfy λ1+λ2≡0modλ, λ1+λ2≡1modN 2 Finally, the system's public parameters Par = (N, g) and partial strong private keys SK1 = λ1 and SK2 = λ2 are calculated. The partial strong private key λ1 is then sent to the SP, and the partial strong private key λ2 is sent to the cloud server CS.
[0062] 2. Registration
[0063] In this phase, the Key Generation Center (KGC) generates and distributes keys to each entity registering with the system. Specifically, the registration phase consists of the following steps:
[0064] User DOi registration: For each user i, the key generation center KGC randomly selects θ. i ∈[1,N / 4], and calculate Finally, the public key is pk i ={N,g,h i}, the private key is sk i =θ i .
[0065] Service Provider (SP) Registration: For a Service Provider (SP), the Key Generation Center (KGC) randomly selects θ. SP ∈[1,N / 4], and calculate Finally, the public key is pk SP ={N,g,h SP}, the private key is sk SP =θ SP .
[0066] Cloud Server CS Registration: For cloud server CS, the Key Generation Center (KGC) randomly selects θ. CS ∈[1,N / 4], and calculate Finally, the public key is pk CS ={N,g,h CS}, the private key is sk CS =θ CS .
[0067] After the above steps are completed, the key distribution phase is conducted either through a secure channel or offline. Finally, all public keys are published.
[0068] 3. Encryption
[0069] At this stage, DOi primarily encrypts the data. The encryption process of the encryption system is as follows: for plaintext... Choose a random number r∈[1,N / 4], and use the public key pk i The ciphertext below can be calculated as: in T i,2 =g r modN 2 .
[0070] Let DOi's local data x (i) The corresponding label is y (i) ,
[0071] (1): DOi uses public key pk i Encrypted data x (i) ,get
[0072] (2): DOi randomly selects a non-singular matrix and its inverse matrix Calculate: z i =x (i) ·(A i ) -1 .
[0073] (3): Let Will Send to SP, Send to cloud server CS.
[0074] 4. Identity verification
[0075] At this stage, data collection and authentication are performed. Authentication is performed before training. Assume the user's key pair uses {pk}. i ,sk i} indicates that ID iThis represents the user's private identity. The key pair of the service provider (SP) is represented by {pk SP ,sk SP} indicates that the key pair of the cloud server CS is composed of {pk CS ,sk CS} represents the hash function. H(·) represents the timestamp.
[0076] User and Service Provider (SP) verification: The Service Provider (SP) selects a function that satisfies: And this function will be published.
[0077] (1) The user selects a random number ss i ,calculate
[0078] (2) The user uses the private key sk i Sign the message
[0079] (3) The user will Send to the service provider (SP).
[0080] (4) After receiving the data, the service provider (SP) first checks the timestamp, and then calculates... Recalculate get
[0081] (5) Service Provider SP Calculation Then, the signature is decrypted using the user's public key to obtain... Final comparison If they are equal, the verification is successful.
[0082] User and CS verification: CS selects a function that satisfies: And this function will be published.
[0083] (1) The user selects a random number tt i ,calculate
[0084] (2) The user uses the private key sk i Sign the message
[0085] (3) The user will Send to the cloud server CS.
[0086] (4) After receiving the CS, first check the timestamp, then calculate Recalculate get
[0087] (5) CS calculation Then, the signature is decrypted using the user's public key to obtain... Final comparison If they are equal, the verification is successful.
[0088] 5. Privacy Protection Training Agreement
[0089] The privacy-preserving training protocol is a core component of the system framework. The training process is executed interactively by the service provider (SP) and the cloud server (CS).
[0090] Step-I (@SP): At the beginning of each iteration, the service provider SP selects an m-sized encrypted training set S. m Then, the service provider SP selects a random blinding factor. And for r t1 Encryption obtained Then calculate: Then select another random blinding factor Using the initial weight matrix Calculate: w+r t2 Then encrypt it to get: Then calculate: r t1 w+r t1 r t2 Then encrypt it to get: Then calculate: Final SP calculation
[0091] After completing the above steps, the service provider SP uses a portion of the strong private key λ1 to perform partial decryption, i.e., calculate: Finally, let ξ′={ξ1,ξ2,ξ3,ξ′1,ξ′2,ξ′3} and send it to the cloud server CS.
[0092] Step-II (@CS): After receiving the partially decrypted ξ′={ξ1,ξ2,ξ3,ξ′1,ξ′2,ξ′3}, the cloud server CS decrypts ξ′ using a partial strong private key λ2, that is: However, the data obtained is plaintext data processed by a blinding factor, therefore the cloud server CS cannot obtain the original information about user and model data. After decryption, the cloud server CS obtains the following plaintext data: (x (i) +r t1 ),(w+r t2 ),(r t1 w+r t1 r t2 +x (i) r t2 Then the cloud server CS calculates using this plaintext data: δ1=(x (i) +rt1 (w+r) t2 )=x (i) w+x (i) r t2 +r t1 w+r t1 r t2 And using the acquired plaintext data (r t1 w+r t1 r t2 +x (i) r t2 We calculate that: u = δ1 - (r) t1 w+r t1 r t2 +x (i) r t2 )=x (i) w, then perform activation function calculations to obtain h = S(x) (i) w), then calculate δ2=S(x) (i) w)-y (i) Finally, the cloud server CS is calculated as follows: δ3=(S(x (i) w)-y (i) ) T ·(x (i) (A i ) -1 After completing the above steps, the cloud server CS directly sends δ3 to the service provider SP.
[0093] Step-III (@SP): After receiving δ3, the service provider SP calculates: σ1 = δ3·A i Finally, calculate The model can be updated immediately: w t ←w t-1 -η{G}, once the maximum number of iterations is reached, the training protocol will terminate.
[0094] Furthermore, during the execution process, if but:
[0095] like but:
[0096] The encryption process involves encrypting each element of the matrix; similarly, the decryption process involves decrypting each element of the matrix. Specifically, as described in steps 3 and 5, each element is encrypted or decrypted.
[0097] 6. Distributed decryption
[0098] When received encrypted message First, a partial decryption algorithm is executed using a partial decryption key SK1 = λ1. Right now:
[0099] Then, the partial decryption algorithm is executed using the partial decryption key SK2 = λ2. Right now:
[0100]
[0101]
[0102] Where λ1+λ2≡0 mod λ,g λ ≡1modN 2 ,λ1+λ2≡1modN 2 .
[0103] In summary, the present invention has the following advantages:
[0104] 1. In this proposed solution, there is no need for data owners to interact with service providers or cloud servers. Furthermore, during each model training session, there is only one exchange between the service provider and the cloud server, effectively saving communication costs. In addition, the proposed solution has fault tolerance; even if a small number of users fail to successfully upload data to the service provider, it will not affect the model training process. Provided that the service provider and cloud server do not collude, this invention can resist attacks from honest but curious cloud servers.
[0105] 2. Based on a distributed dual-gate public-key encryption system, the decryption key is divided into two parts, one for the service provider and the other for the cloud server, thus preventing either from obtaining the complete decryption key. Simultaneously, the nonlinear activation function can be calculated during training without using Taylor series expansion, significantly reducing accuracy loss. This invention also designs an authentication scheme based on the respective public keys, ensuring data integrity and effectively resisting proactive attacks.
[0106] Furthermore, experiments were conducted on medical datasets in two machine learning libraries. The results show that the present invention is highly efficient in terms of computational and communication overhead.
[0107] The above description discloses only one preferred embodiment of the present invention, and should not be construed as limiting the scope of the present invention. Those skilled in the art will understand that all or part of the processes of the above embodiments can be implemented, and equivalent changes made in accordance with the claims of the present invention are still within the scope of the invention.
Claims
1. A privacy-preserving and non-interactive method for training a multi-party logistic regression model, characterized in that, Includes the following steps: Construct and initialize a multi-logistic regression model; The multi-party logistic regression model is generated by the key generation center. Data owners Service Provider and cloud servers There are a total of 4 entities; The key generation center Responsible for generating the public parameters and strong private keys required by the system. and the strong private key Divide into two parts, and then use part of the strong private key. Send to service provider Partial strong private key Send to cloud server ; The data owner Responsible for providing the data and encryption required for training; The service provider Responsible for collecting data, initializing model parameters, and communicating with the cloud server. Conduct interactive training; The cloud server Possessing some strong private keys It can monitor service providers The sent ciphertext is partially decrypted, and calculations are performed on the ciphertext. Entities within the multi-party logistic regression model are registered; Provide data for encryption; Data collection and authentication; Training is performed using a privacy-preserving training protocol; The training process using a privacy-preserving training protocol is conducted by the service provider. and cloud servers Interactive execution includes the following steps: At the start of each iteration, the service provider Selected Large and small encrypted training sets Service Provider Choose a random blinding factor and to Encryption obtained ,calculate: Then select a random blinding factor. Using the initial weight matrix calculate: Then encrypt it to get: Then calculate: Then encrypt it to get: Then calculate: ,at last calculate ; Service Provider Use a partial strong private key Partial decryption, i.e., calculation: ,make And send to the cloud server. ; cloud server Received partially decrypted Then, using a portion of the strong private key right Decryption is performed, that is: After decryption, the cloud server The plaintext data obtained includes: Then cloud server Calculations are performed using this plaintext data: and using the acquired plaintext data Calculated: Then, the activation function is used to calculate the data to obtain... Next, calculate Finally, cloud servers calculate: cloud server Directly Send to service provider Service Provider take over Then, calculate: Finally, calculate The model can then be updated: The training protocol will terminate when the maximum number of iterations is reached. Complete distributed decryption.
2. The privacy-preserving and non-interactive multi-party logistic regression model training method as described in claim 1, characterized in that, The data owner The cloud server is only responsible for sending data; after sending the data, it goes offline and does not participate in any other training. Will not interact with the service provider They will not conspire to disclose information to other entities.
3. The privacy-preserving and non-interactive multi-party logistic regression model training method as described in claim 2, characterized in that, The initialization process includes the following steps: The key generation center Select a security parameter and two large prime numbers ,calculate: , , ; Define a decryption function as And select an order as Number of generators Used for encryption, and the strong private key is set to... ; Will It is randomly decomposed into two parts, namely ,in satisfy , ; Common parameters of the computing system and some strong private keys ; Partial strong private key Send to service provider Partial strong private key Send to cloud server .
4. The privacy-preserving and non-interactive multi-party logistic regression model training method as described in claim 3, characterized in that, The process of registering entities within the multi-party logistic regression model includes the following steps: Data owner Any user in Registration: For each user Key generation center Random selection and calculate Finally, the public key is The private key is ; Service Provider Registration: For service providers Key generation center Random selection and calculate Finally, the public key is The private key is ; cloud server Registration: For cloud servers Key generation center Random selection and calculate Finally, the public key is The private key is .
5. The privacy-preserving and non-interactive multi-party logistic regression model training method as described in claim 4, characterized in that, During the process of encrypting the provided data, the user Encrypt the data, specifically for plaintext. Choose a random number In public key The ciphertext below is calculated as follows: ,in , .
6. The privacy-preserving and non-interactive multi-party logistic regression model training method as described in claim 5, characterized in that, During the authentication process, the user With the service provider respectively and cloud servers To verify the message, first, the message is signed using the private key, then the signature is decrypted using the public key and compared. If they are equal, the verification is successful.
Citation Information
Patent Citations
Representational-state-transfer-based web service security model
CN102255969A
Safe transfer learning system based on homomorphic encryption
CN112822005A
Non-interactive privacy protection logistic regression federal training method and system
CN113434898A
Distributed classification method and system for ciphertext data in cloud environment
CN113438254A
Multi-party privacy protection naive Bayesian model rapid training and lightweight prediction method
CN116405184A