WO2020181933A1 - 基于秘密分享的安全模型预测方法和装置 - Google Patents
基于秘密分享的安全模型预测方法和装置 Download PDFInfo
- Publication number
- WO2020181933A1 WO2020181933A1 PCT/CN2020/073818 CN2020073818W WO2020181933A1 WO 2020181933 A1 WO2020181933 A1 WO 2020181933A1 CN 2020073818 W CN2020073818 W CN 2020073818W WO 2020181933 A1 WO2020181933 A1 WO 2020181933A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- model
- vector
- prediction
- random numbers
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- the present invention mainly relates to multi-party data cooperation, and particularly relates to data security and model security in multi-party data cooperation.
- model parties In the fields of data analysis, data mining, economic forecasting, etc., models can be used to analyze and discover potential data values.
- the data held by the model party is often unsound, which makes it difficult to accurately describe the target.
- the model party In order to obtain better model prediction results, usually the model party will cooperate with the data party to complete the model calculation by combining different data or feature tags.
- the first solution is that both the data party and the model party place the data and model in a trusted third party, and the third party will make model predictions. But its disadvantage is that it is difficult to achieve a fully trusted third party, and there are security risks in the transmission of data and models.
- the second solution is that the model party homomorphically encrypts the model coefficients, deploys the encrypted model to the data party, and the data party uses private data to make model predictions, and then returns the calculation results to the model party.
- this scheme has limitations on the type of calculation, and the homomorphic encryption is more complicated and the calculation time is longer.
- the third solution is to use SGX (Software Guard Extension) hardware to combine machine learning and cryptography, and use differential privacy technology to blur the coefficients of the trained model.
- SGX Software Guard Extension
- differential privacy technology to make model coefficients fuzzy, the degree of fuzzy is difficult to grasp. For models that require accurate calculation results, it will affect the accuracy of the results.
- a secret sharing scheme is expected that not only protects data and model security, but also obtains accurate calculation results.
- the present invention provides a security model prediction method based on secret sharing, including:
- the generating a shared calculation prediction result includes:
- the intermediate model value and the intermediate data value are used to generate the shared calculation prediction result.
- the shared calculation prediction result is a product of the intermediate model value and the intermediate data value.
- the method further includes:
- the model prediction is performed using the shared calculation prediction result and the second shared calculation prediction result.
- the method further includes:
- the model prediction is performed using the shared calculation prediction result and the second shared calculation prediction result.
- the model prediction uses a logistic regression model and/or a linear regression model.
- the embodiment of the application also provides a security model prediction method based on secret sharing, including:
- the intermediate data value is provided to the data demander for model prediction.
- the embodiment of the present application further provides a device for predicting a security model based on secret sharing, including:
- a receiving module configured to receive a first set of random numbers from a third party
- a prediction vector generation module which is configured to use the first set of random numbers, the model coefficient vector, and the vector from the data provider to generate a shared calculation prediction result
- the model prediction module is configured to perform model prediction using the shared calculation prediction result.
- the receiving module is further configured to receive intermediate data vectors and intermediate model values from the data provider;
- the prediction vector generation module is further configured to:
- the device further includes a transmission module configured to send the intermediate model vector to the data provider.
- the shared calculation prediction result is a product of the intermediate model value and the intermediate data value.
- the prediction vector generating module is further configured to:
- the model prediction is performed using the shared calculation prediction result and the second shared calculation prediction result.
- the prediction vector generating module is further configured to:
- the model prediction is performed using the shared calculation prediction result and the second shared calculation prediction result.
- the model prediction uses a logistic regression model and/or a linear regression model.
- the embodiment of the present application also provides an apparatus for predicting a security model based on secret sharing, including:
- a receiving module which is configured to receive a second set of random numbers from a third party and an intermediate model vector from the data demander;
- a prediction vector generation module configured to use the second set of random numbers and data vectors to generate intermediate data vectors, and use the intermediate model vector and the second set of random numbers to generate intermediate data values;
- the transmission module is configured to send the intermediate data vector to the data demander, and provide the intermediate data value to the data demander for model prediction.
- the embodiment of the present application further provides a security model prediction device based on secret sharing, including:
- a memory arranged to store computer-executable instructions that, when executed, cause the processor to perform the following operations:
- the embodiment of the present application further provides a security model prediction device based on secret sharing, including:
- a memory arranged to store computer-executable instructions that, when executed, cause the processor to perform the following operations:
- the intermediate data value is provided to the data demander for model prediction.
- the data does not go beyond their respective boundaries, does not require a trusted third party for data fusion, and does not need to deploy or introduce any party's data to other parties to complete the model prediction.
- the data splitting method is used to perform calculations for all parties.
- the partner does not expose its own plaintext data to the other party, but only calculates the unrecognizable values split by each party to obtain the final accurate calculation result.
- Fig. 1 is an architectural diagram of a multi-party data cooperation system based on secret sharing according to various aspects of the present invention.
- Figure 2 illustrates an example of data cooperation between a data demander and a data provider according to various aspects of the present invention.
- Fig. 3 illustrates an example of data cooperation between one data demander and two data providers according to various aspects of the present invention.
- Fig. 4 illustrates the secret sharing-based data cooperation method executed by the data demander according to various aspects of the present invention.
- Figure 5 illustrates a secret sharing-based data cooperation method executed by a data demander according to various aspects of the present invention.
- FIG. 6 illustrates an example method of secret sharing-based data cooperation performed by a data provider according to aspects of the present invention.
- Figure 7 is a block diagram of a data consumer according to aspects of the present invention.
- Fig. 8 is a block diagram of a data provider according to various aspects of the present invention.
- Fig. 1 is an architectural diagram of a multi-party data cooperation system based on secret sharing according to various aspects of the present invention.
- the multi-party data cooperation system based on secret sharing of the present invention includes a data demander (also called a model party), a data provider (also called a data party) and a third party (a fair third party, for example, a fair third party). Judicial or government agencies, etc.).
- the data demander uses the model coefficients and its assigned random number for calculation, the data provider uses its own data and its assigned random number for calculation, the data demander and the data provider exchange calculation results for further processing, and then The results are summarized and the model prediction results are obtained.
- FIG. 2 an embodiment of data cooperation between a data demander and a data provider according to various aspects of the present invention is illustrated.
- step 201 a third party generates random number sets R 1 and R 2 .
- a ⁇ b is vector multiplication.
- step 202 the third party sends the random number sets R 1 and R 2 to the data demander and the data provider, respectively.
- e Wa.
- f Xb.
- steps 205 and 206 the data demander and the data provider exchange the results calculated in steps 203 and 204.
- the data demander may send the calculation result e to the data provider in step 205, and the data provider sends the calculation result f to the data demander in step 206.
- step 205 is before step 206 in FIG. 2, the order can be exchanged, or can be performed simultaneously.
- step 207 the data demander uses the random number set R 1 and the intermediate data vector f provided by the data provider in step 206 to perform calculations to obtain the intermediate data value z0.
- z0 a ⁇ f+c0, where a ⁇ f is vector multiplication.
- step 209 the data provider sends z1 to the data demander.
- step 210 the data demander summarizes z0 and z1 to obtain the product W ⁇ X of the model coefficient and the data, which is also referred to herein as the shared calculation prediction result.
- step 211 the shared calculation prediction result obtained in step 210 is used for model prediction.
- ⁇ and ⁇ are model coefficients, which are provided by the model party.
- x is the input required for calculation and belongs to the private data of the data provider.
- the data requester only provides model information.
- the data demander has both model information W and data information X'.
- steps 201-209 are the same as the embodiment illustrated in FIG. 2 and will not be repeated here. Only the differences from the process of FIG. 2 are described below.
- step 210 the data requester calculates the additional intermediate data value z0'.
- step 211 the data demander aggregates z0, z1, and z0' to obtain the shared calculation prediction result:
- step 212 W ⁇ X+W ⁇ X' is used for model prediction.
- FIG. 1 illustrates an embodiment of data cooperation between a data demander and a data provider.
- the data demander may need data from multiple data providers in the model prediction, so the data demander needs to cooperate with multiple data providers.
- Figure 3 illustrates an example of data cooperation between a data demander and two data providers (data provider 1 and data provider 2).
- step 301 the third party generates a first set of random numbers ⁇ R 1 , R 2 ⁇ and a second set of random numbers ⁇ R 1 ', R 2 ' ⁇ , where the first set of random numbers is used by the data demander and the data provider 1 data cooperation, and the second set of random numbers is used for data cooperation between the data demander and the data provider 2.
- a ⁇ b and a' ⁇ b' are vector multiplications.
- step 302 the third party provides the random number sets R 1 and R 1 ′ to the data demander, R 2 to the data provider 1, and R 2 ′ to the data provider 2.
- step 303 the data demander calculates e and e'.
- steps 306-308 the data demander and data provider 1 and data provider 2 exchange the results calculated in steps 303-305.
- the data demander sends the calculation result e to the data provider 1 in step 306, and sends the calculation result e'to the data provider 2 in step 307.
- the data provider 1 sends the calculation result f to the data demander in step 308, and sends the calculation result f'to the data demander in step 309.
- steps 306-308 is shown in FIG. 3, but the order of these steps can be exchanged or can be performed simultaneously.
- step 310 the data demander uses the random number set R 1 and the settlement result f provided by the data provider 1 in step 308 to perform calculations to obtain the first intermediate data value z0.
- z0 a ⁇ f+c0.
- step 311 a data side using a random number set R 2 and demand-side data calculated in the calculation result in step e 306 provided in the model to obtain a first intermediate value z1.
- z1 e ⁇ X A +c1.
- step 312 the data provider 2 uses the random number set R 2 ′ and the calculation result e′ provided by the data demander in step 307 to perform calculations to obtain the second intermediate model value z1 ′.
- z1' e' ⁇ X B +c1'.
- the data provider 1 sends z1 to the data demander, and the data provider 2 sends z1' to the data demander.
- step 315 the data demander aggregates z0 and z1 to obtain the product of model coefficients and data W A ⁇ X, and aggregates z0' and z1' to obtain the product of model coefficients and data W B ⁇ X.
- step 316 the results in steps 315 and 316 (also referred to as shared calculation prediction results) are used for model prediction.
- the models W A and W B may be the same.
- Figure 3 describes the process of data cooperation between a data demander and two data providers in a specific order, but other orders of steps are also possible.
- the steps of the data cooperation between the data demander and the data provider 1 and the steps of the data cooperation between the data demander and the data provider 2 are independent and can be completed at different times.
- the steps of data cooperation between the data demander and the data provider 1 can be completed before or after the data cooperation between the data demander and the data provider 2, or some steps in the two processes can be in time. Is cross.
- some steps can be split, for example, the calculations e and e'in step 303 can be performed separately.
- FIG. 4 illustrates an example of a data cooperation method based on secret sharing executed by a data demander according to various aspects of the present invention.
- step 401 a first set of random numbers from a third party is received.
- This step may correspond to steps 201 and 202 described above with reference to FIG. 2 and/or steps 301 and 302 described with reference to FIG. 3.
- step 402 the first set of random numbers, the model coefficient vector, and the vector from the data provider are used to generate a shared calculation prediction result.
- This step may correspond to steps 203-210 described above with reference to FIG. 2, and/or steps 303-315 described with reference to FIG. 3.
- step 403 the shared calculation prediction result is used for model prediction.
- This step may correspond to step 211 described above with reference to FIG. 2 and/or steps 303 to 316 described with reference to FIG. 3.
- FIG. 5 illustrates an example of a data cooperation method based on secret sharing executed by a data demander according to various aspects of the present invention.
- step 501 a first set of random numbers R 1 from a third party is received.
- step 503 the intermediate model vector e is sent to the data provider and the intermediate data vector f from the data provider is received.
- step 504 the intermediate data vector f and the first set of random numbers R 1 are used to generate an intermediate data value z0.
- step 505 the intermediate model value z1 from the data provider is received.
- step 506 the intermediate model value z1 and the intermediate data value z0 are used to generate a shared calculation prediction result.
- step 507 the shared calculation prediction result is used for model prediction.
- FIG. 6 illustrates an example method of secret sharing-based data cooperation performed by a data provider according to aspects of the present invention.
- step 601 a second set of random numbers R 2 from a third party is received.
- step 602 the second random number set R 2 and the data vector X are used to generate an intermediate data vector f.
- step 603 the intermediate data vector f is sent to the data demander and the intermediate model vector e from the data demander is received.
- step 604 the intermediate model vector e and the second set of random numbers R 2 are used to generate an intermediate data value z1.
- step 605 the intermediate data value z1 is provided to the data demander for model prediction.
- Figure 7 illustrates a block diagram of a data consumer according to aspects of the present invention.
- the data requester (model party) may include a receiving module 701, a prediction vector generation module 702, a model prediction module 703, a transmission module 704, and a memory 705.
- the memory 705 stores model coefficients.
- the receiving module 701 may be configured to receive a first set of random numbers from a third party, and receive intermediate data vectors and/or intermediate model values from the data provider.
- the prediction vector generation module 702 may be configured to use the first set of random numbers, the model coefficient vector, and the vector from the data provider to generate a shared calculation prediction result.
- the prediction vector generation module 702 may be configured to use the model coefficient vector and the first set of random numbers to generate an intermediate model vector; use the intermediate data vector and the first set of random numbers to generate the intermediate data value; and use the intermediate Model values and intermediate data values are used to generate shared calculation prediction results.
- the prediction vector generation module 702 may also be configured to use the model coefficient vector and the first set of random numbers to generate an intermediate model vector; use the intermediate data vector and the intermediate model vector from the data provider to generate the shared calculation prediction result.
- the model prediction module 703 may be configured to use the shared calculation prediction result for model prediction.
- the transmission module 704 may be configured to send the intermediate model vector to the data provider.
- Figure 8 illustrates a block diagram of a data provider according to aspects of the present invention.
- the data provider may include: a receiving module 801, a prediction vector generating module 802, a transmitting module 803, and a memory 804.
- the memory 804 can store private data.
- the receiving module 801 may be configured to receive a second set of random numbers from a third party, and to receive an intermediate model vector from the data demander.
- the prediction vector generation module 802 may be configured to use the second set of random numbers and data vectors to generate intermediate data vectors, and use the intermediate model vector and the second set of random numbers to generate intermediate data values.
- the transmission module 803 may be configured to send the intermediate data vector to the data demander, and provide the intermediate data value to the data demander for model prediction.
- the present invention has the following advantages:
- the algorithm itself is not limited.
- the calculation results are returned in real time, and the four arithmetic operations including addition, subtraction, multiplication, and division can be supported, and their mixed calculations are not restricted by the algorithm.
- a general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
- the processor may also be implemented as a combination of computing devices (for example, a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in cooperation with a DSP core, or any other such configuration).
- each function can be stored as one or more instructions or codes on a computer-readable medium or transmitted therethrough.
- Other examples and implementations fall within the scope of this disclosure and the appended claims.
- the functions described above can be implemented using software, hardware, firmware, hardwired, or any combination thereof executed by a processor.
- the features that implement the function may also be physically located in various locations, including being distributed so that various parts of the function are implemented at different physical locations.
- Computer-readable media includes both non-transitory computer storage media and communication media, including any media that facilitates the transfer of a computer program from one place to another.
- the non-transitory storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.
- non-transitory computer readable media may include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), compact disk (CD) ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices , Or any other non-transitory medium that can be used to carry or store desired program code means in the form of instructions or data structures and can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor.
- any connection is also legitimately called a computer-readable medium.
- the software is transmitted from a web site, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology such as infrared, radio, and microwave Yes
- the coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave are included in the definition of the medium.
- Disks and discs as used herein include CDs, laser discs, optical discs, digital versatile discs (DVD), floppy discs, and Blu-ray discs, where discs often reproduce data magnetically and discs use lasers to optically reproduce data . Combinations of the above media are also included in the scope of computer-readable media.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于秘密分享的安全模型预测方法,包括:接收来自第三方的第一随机数集合;使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及使用所述共享计算预测结果进行模型预测。该方法能保护各方的私有数据不泄漏,并且确保了计算的准确性。
Description
本发明主要涉及多方数据合作,尤其涉及多方数据合作中的数据安全和模型安全。
在数据分析、数据挖掘、经济预测等领域,模型可被用来分析、发现潜在的数据价值。但模型方所拥有的数据往往是不健全的,由此难以准确地刻画目标。为了得到更好的模型预测结果,通常模型方会与数据方进行数据合作,结合不同的数据或特征标签共同完成模型计算。
在多方数据合作过程中,涉及到数据安全和模型安全等问题。一方面,数据方不想输出自己的价值数据给模型方,泄漏私有数据;另一方面,模型中包含的特征标签(也称为模型系数)等信息也是模型方的私有数据,具有重要的商业价值,因此也要保证数据合作中的模型安全问题。
在现有技术中,存在三种多方数据合作的技术方案。第一种方案是数据方和模型方都将数据和模型放置在可信第三方,由第三方进行模型预测。但是其缺点是完全可信第三方难以实现,并且在数据和模型的传输过程中存在安全风险。第二种方案是模型方对模型系数进行同态加密,将经加密的模型部署到数据方,数据方使用私有数据进行模型预测,然后将计算结果返回模型方。但这种方案由于同态加密的计算限制,对于计算的类型有限制,并且同态加密比较复杂,计算时间较长。第三种方案是使用SGX(Software Guard Extension)硬件结合机器学习和密码学,使用差分隐私技术对训练好的模型作系数模糊。但使用差分隐私技术做模型系数模糊,模糊程度难以把握。对于需要得到精确计算结果的模型来说,会影响结果准确性。
因此,在多方数据合作中期望一种既保护数据和模型安全、又能得到精确计算结果的秘密分享方案。
发明内容
为解决上述技术问题,本发明提供了一种基于秘密分享的安全模型预测方法,包括:
接收来自第三方的第一随机数集合;
使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及
使用所述共享计算预测结果进行模型预测。
可选地,所述生成共享计算预测结果包括:
使用所述模型系数向量和所述第一随机数集合来生成中间模型向量;
将所述中间模型向量发送给所述数据提供方并接收来自所述数据提供方的中间数据向量;
使用来自所述数据提供方的所述中间数据向量和所述第一随机数集合来生成中间数据值;
接收来自所述数据提供方的中间模型值;以及
使用所述中间模型值和所述中间数据值来生成所述共享计算预测结果。
可选地,所述共享计算预测结果是所述中间模型值和所述中间数据值的乘积。
可选地,所述方法进一步包括:
使用所述模型系数向量和本地存储的附加数据向量来生成第二共享计算预测结果;以及
使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
可选地,所述方法进一步包括:
使用所述第一随机数集合、所述模型系数向量和来自第二数据提供方的向量来生成第二共享计算预测结果;以及
使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
可选地,所述模型预测使用逻辑回归模型和/或线性回归模型。
本申请的实施例还提供了一种基于秘密分享的安全模型预测方法,包括:
接收来自第三方的第二随机数集合;
使用所述第二随机数集合和数据向量来生成中间数据向量;
将所述中间数据向量发送给数据需求方并接收来自所述数据需求方的中间模型向量;
使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及
将所述中间数据值提供给所述数据需求方以用于模型预测。
本申请的实施例进一步提供了一种用于基于秘密分享的安全模型预测的装置,包括:
接收模块,其被配置成接收来自第三方的第一随机数集合;
预测向量生成模块,其被配置成使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及
模型预测模块,其被配置成使用所述共享计算预测结果进行模型预测。
可选地,所述接收模块被进一步配置成接收来自所述数据提供方的中间数据向量和中间模型值;
所述预测向量生成模块被进一步配置成:
使用所述模型系数向量和所述第一随机数集合来生成中间模型向量;
使用中间数据向量和所述第一随机数集合来生成中间数据值;以及
使用所述中间模型值和所述中间数据值来生成所述共享计算预测结果;
所述装置进一步包括传送模块,其被配置成将所述中间模型向量发送给所述数据提供方。
可选地,所述共享计算预测结果是所述中间模型值和所述中间数据值的乘积。
可选地,所述预测向量生成模块被进一步配置成:
使用所述模型系数向量和本地存储的附加数据向量来生成第二共享计算预测结果;以及
使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
可选地,所述预测向量生成模块被进一步配置成:
使用所述第一随机数集合、所述模型系数向量和来自第二数据提供方的向量来生成第二共享计算预测结果;以及
使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
可选地,所述模型预测使用逻辑回归模型和/或线性回归模型。
本申请的实施例还提供了一种用于基于秘密分享的安全模型预测的装置,包括:
接收模块,其被配置成接收来自第三方的第二随机数集合,以及接收来自数据需求 方的中间模型向量;
预测向量生成模块,其被配置成使用所述第二随机数集合和数据向量来生成中间数据向量,以及使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及
传送模块,其被配置成将所述中间数据向量发送给数据需求方,以及将所述中间数据值提供给所述数据需求方以用于模型预测。
本申请的实施例进一步提供了一种基于秘密分享的安全模型预测装置,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收来自第三方的第一随机数集合;
使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及
使用所述共享计算预测结果进行模型预测。
本申请的实施例进一步提供了一种基于秘密分享的安全模型预测装置,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
接收来自第三方的第二随机数集合;
使用所述第二随机数集合和数据向量来生成中间数据向量;
将所述中间数据向量发送给数据需求方并接收来自所述数据需求方的中间模型向量;
使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及
将所述中间数据值提供给所述数据需求方以用于模型预测。
本发明提供了一种安全的去中心的模型预测方法,达到了以下技术优点:
1、数据不出各自边界,不需要可信第三方进行数据融合,也不需要将任何一方的数据部署或引入到其他方,即可完成模型预测。
2、结合秘密分享,保护合作各方的数据隐私。使用数据拆分的方式进行各方计算, 合作方不对另一方暴露自己的明文数据,只将各自拆分的不可识别数值做计算,得到最终的精准计算结果。
图1是根据本发明的各方面的基于秘密分享的多方数据合作系统的架构图。
图2解说了根据本发明的各方面的一个数据需求方与一个数据提供方进行数据合作的示例。
图3解说了根据本发明的各方面的一个数据需求方与两个数据提供方进行数据合作的示例。
图4解说了根据本发明的各方面的由数据需求方执行的基于秘密分享的数据合作方法。
图5解说了根据本发明的各方面的由数据需求方执行的基于秘密分享的数据合作方法。
图6解说了根据本发明的各方面的由数据提供方执行的基于秘密分享的数据合作的示例方法。
图7是根据本发明的各方面的数据需求方的框图。
图8是根据本发明的各方面的数据提供方的框图。
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
图1是根据本发明的各方面的基于秘密分享的多方数据合作系统的架构图。
如图1所示,本发明的基于秘密分享的多方数据合作系统包括数据需求方(也称为模型方)、数据提供方(也称为数据方)和第三方(公正第三方,例如,公正的司法机构或政府机关等)。
数据需求方拥有模型,模型系数向量为W={ω1,ω2,……,ωn},数据提供方拥有数据向量X={x1,x2,…...,xn};第三方生成一系列随机数并分别分发给数据提供方和数据需求方。数据需求方使用模型系数和其获分配的随机数进行计算,数据提供方使用其拥有的数据和其获分配的随机数进行计算,数据需求方和数据提供方交换计算结果进行进一步处理,随后将结果汇总,得到模型预测结果。
以下通过四个具体实施例来解说本发明的技术方案。
实施例一
参照图2,解说了根据本发明的各方面的一个数据需求方与一个数据提供方进行数据合作的一个实施例。
在步骤201,第三方生成随机数集合R
1和R
2。
例如,R
1={a,c0},R
2={b,c1},其中a和b是随机数向量,c0和c1是随机数,并且c=a×b,c=c0+c1。其中a×b是向量乘法。
在步骤202,第三方将随机数集合R
1和R
2分别发送给数据需求方和数据提供方。
在步骤203,数据需求方使用随机数集合R
1和模型系数向量W={ω
1,ω
2,……,ω
n}进行计算,得到中间模型向量e。例如,e=W-a。
在步骤204,数据提供方使用随机数集合R
2和数据向量X={x
1,x
2,…...,x
n}进行计算,得到中间数据向量f。例如,f=X-b。
在步骤205和206,数据需求方和数据提供方交换在步骤203和204中计算得到的结果。
具体而言,数据需求方可在步骤205将计算结果e发送给数据提供方,并且数据提供方在步骤206将计算结果f发送给数据需求方。
注意,虽然在图2中,步骤205在步骤206之前,但其次序可以交换,或者可以同时进行。
在步骤207,数据需求方使用随机数集合R
1和数据提供方在步骤206中提供的中间数据向量f进行计算,得到中间数据值z0。例如,z0=a×f+c0,其中a×f是向量乘法。
在步骤208,数据提供方使用随机数集合R
2和数据需求方在步骤205中提供的中间模型向量进行计算,得到中间模型值z1。例如,z1=e×X+c1,其中e×X是向量 乘法。
在步骤209,数据提供方将z1发送给数据需求方。
在步骤210,数据需求方将z0和z1进行汇总,得到模型系数与数据之积W×X,其在本文也被称为共享计算预测结果。
例如,z=z0+z1=a×f+c0+e×X+c1
=a×(X-b)+(W-a)×X+c
=a×X-a×b+W×X-a×X+a×b
=W×X
在步骤211,使用步骤210中得到的共享计算预测结果来进行模型预测。
实施例二
在图2解说的实施例中,数据需求方只提供了模型信息。在一些情形中,数据需求方既具有模型信息W,又具有数据信息X’。
在这种情况下,步骤201-209与图2中解说的实施例相同,在此不再赘述。以下仅描述与图2的过程不同的地方。
在步骤210,数据需求方计算附加中间数据值z0’。
z0’=W×X’。
在步骤211,数据需求方将z0、z1和z0’汇总,得到共享计算预测结果:
z=z0+z1+z0’=W×X+W×X’。
在步骤212,使用W×X+W×X’来进行模型预测。
实施例三
以上解说了一个数据需求方与一个数据提供方进行数据合作的实施例。在一些情形中,数据需求方可能在模型预测中需要来自多个数据提供方的数据,由此数据需求方需要与多个数据提供方进行数据合作。图3解说了一个数据需求方与两个数据提供方(数据提供方1和数据提供方2)进行数据合作的示例。
在该实施例中,数据需求方具有模型W
A={ω
A1,ω
A2,……,ω
An}和W
B={ω
B1,ω
B2,……,ω
Bn},数据提供方1具有数据X
A={x
A1,x
A2,…...,x
An},并且数据提供方2具有数据X
B={x
B1,x
B2,…...,x
Bn}。在模型预测中需要共享计算预测结果W
A×X
A和W
B×X
B。
在步骤301,第三方生成第一组随机数{R
1、R
2}和第二组随机数{R
1’、R
2’},其中第一组随机数用于数据需求方与数据提供方1的数据合作,而第二组随机数用于数据需求方与数据提供方2的数据合作。
具体而言,R
1={a,c0},R
2={b,c1},其中c=a×b,c=c0+c1;R
1’={a’,c0’},R
2={b’,c1’},其中a、b和a’、b’是随机数向量,c0、c1和c0’、c1’是随机数,并且c’=a’×b’,c’=c0’+c1’。请注意,a×b和a’×b’是向量乘法。
在步骤302,第三方将随机数集合R
1和R
1’提供给数据需求方,将R
2提供给数据提供方1,将R
2’提供给数据提供方2。
在步骤303,数据需求方计算e和e’。
具体而言,e=W
A–a,e’=W
B–a’。
在步骤304和305,数据提供方1和数据提供方2分别计算f=X
A–b和f’=X
B–b’。
在步骤306-308,数据需求方和数据提供方1、数据提供方2交换在步骤303-305中计算得到的结果。
具体而言,数据需求方在步骤306将计算结果e发送给数据提供方1,在步骤307将计算结果e’发送给数据提供方2。
数据提供方1在步骤308将计算结果f发送给数据需求方,在步骤309将计算结果f’发送给数据需求方。
注意,图3中示出了步骤306-308的特定次序,但这些步骤的次序可以交换,或者可以同时进行。
在步骤310,数据需求方使用随机数集合R
1和数据提供方1在步骤308中提供的结算结果f进行计算,得到第一中间数据值z0。例如,z0=a×f+c0。
数据需求方还使用随机数集合R
1’和数据提供方2在步骤309中提供的结算结果f’进行计算,得到第二中间数据值z0’。例如,z0’=a’×f’+c0’。
在步骤311,数据提供方1使用随机数集合R
2和数据需求方在步骤306中提供的计算结果e进行计算,得到第一中间模型值z1。例如,z1=e×X
A+c1。
在步骤312,数据提供方2使用随机数集合R
2’和数据需求方在步骤307中提供的计算结果e’进行计算,得到第二中间模型值z1’。例如,z1’=e’×X
B+c1’。
在步骤313和314,数据提供方1将z1发送给数据需求方,数据提供方2将z1’发送给数据需求方。
在步骤315,数据需求方将z0和z1进行汇总,得到模型系数与数据之积W
A×X,并且将z0’和z1’进行汇总,得到模型系数与数据之积W
B×X。
例如,z=z0+z1=a×f+c0+e×X
A+c1
=a×(X
A-b)+(W
A-a)×X
A+c
=a×X
A-a×b+W
A×X
A-a×X
A+a×b
=W
A×X
A
z’=z0’+z1’=a’×f+c0’+e’×X
B+c1’
=a’×(X
B-b)+(W-a)×X
B+c’
=a×X
B-a×b+W
B×X
B-a×X
B+a×b
=W
B×X
B
在步骤316,使用步骤315和316中的结果(也称为共享计算预测结果)来进行模型预测。
在一种实施例中,模型W
A和W
B可以是相同的,换言之,数据需求方使用一个模型W=W
A=W
B和来自两个数据提供方的数据进行模型预测。
请注意,图3中按照特定次序描述了一个数据需求方和两个数据提供方进行数据合作的过程,但是步骤的其它次序也是可能的。数据需求方和数据提供方1之间的数据合作的各步骤与数据需求方和数据提供方2之间的数据合作的各步骤是独立的,可以分别在不同时间完成。例如,数据需求方和数据提供方1之间的数据合作的步骤可以在数据需求方和数据提供方2之间的数据合作之前或之后完成,或者两个过程中的一些步骤可以是在时间上是交叉的。并且一些步骤可以进行拆分,例如步骤303中的计算e和e’可以分开进行。
以上解说了一个数据需求方和两个数据提供方之间的数据合作,该过程也可适 用于一个数据需求方和两个以上数据提供方之间的数据合作,其操作类似于图3中解说的过程。
请注意,虽然本发明是以逻辑回归模型为例进行解说,但其它模型也可适用于本发明,诸如线性回归模型,y=ω×x+e,等等。进一步,以上描述了两种具体的随机数生成方法,但其它随机数生成方法也在本发明的范围内,本领域普通技术人员能够根据实际需要构想出合适的随机数生成方法。
图4解说了根据本发明的各方面的由数据需求方执行的基于秘密分享的数据合作方法的一个示例。
参见图4,在步骤401,接收来自第三方的第一随机数集合。
该步骤可以对应于以上参照图2描述的步骤201、202,和/或参照图3描述的步骤301、302。
在步骤402,使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果。
该步骤可以对应于以上参照图2描述的步骤203-210,和/或参照图3描述的步骤303-315。
在步骤403,使用共享计算预测结果进行模型预测。
该步骤可以对应于以上参照图2描述的步骤211,和/或参照图3描述的步骤303-316。
图5解说了根据本发明的各方面的由数据需求方执行的基于秘密分享的数据合作方法的一个示例。
参见图5,在步骤501,接收来自第三方的第一随机数集合R
1。
具体而言,第三方可以生成随机数集合R={a,b,c0,c1},其中c=a×b,c=c0+c1,其中所述第一随机数集合R
1为{a,c0},而R
2={b,c1}被提供给数据提供方。
在另一示例中,第三方可以生成随机数集合R={a,b,c0,c1},其中c=a0+a1,c=b0+b1,其中第一随机数集合R
1={a,c0},而R
2={b,c1}可被提供给数据提供方。
在步骤502,使用模型系数向量W和第一随机数集合R
1来生成中间模型向量e。例如,e=W–a。
在步骤503,将中间模型向量e发送给数据提供方并接收来自数据提供方的中间数据向量f。
在步骤504,使用中间数据向量f和所述第一随机数集合R
1来生成中间数据值z0。
在步骤505,接收来自数据提供方的中间模型值z1。
在步骤506,使用中间模型值z1和中间数据值z0来生成共享计算预测结果。
在步骤507,使用共享计算预测结果进行模型预测。
图6解说了根据本发明的各方面的由数据提供方执行的基于秘密分享的数据合作的示例方法。
在步骤601,接收来自第三方的第二随机数集合R
2。
在步骤602,使用第二随机数集合R
2和数据向量X来生成中间数据向量f。
在步骤603,将中间数据向量f发送给数据需求方并接收来自数据需求方的中间模型向量e。
在步骤604,使用中间模型向量e和第二随机数集合R
2来生成中间数据值z1。
在步骤605,将中间数据值z1提供给所述数据需求方以用于模型预测。
图7解说了根据本发明的各方面的数据需求方的框图。
具体而言,数据需求方(模型方)可包括接收模块701、预测向量生成模块702、模型预测模块703、传送模块704、以及存储器705。其中存储器705存储模型系数。
接收模块701可被配置成接收来自第三方的第一随机数集合,接收来自所述数据提供方的中间数据向量和/或中间模型值。
预测向量生成模块702可被配置成使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果。
具体而言,预测向量生成模块702可被配置成使用所述模型系数向量和第一随机数集合来生成中间模型向量;使用中间数据向量和第一随机数集合来生成中间数据值;以及使用中间模型值和中间数据值来生成共享计算预测结果。
预测向量生成模块702还可被配置成使用模型系数向量和第一随机数集合来生成中间模型向量;使用来自数据提供方的中间数据向量和中间模型向量来生成共享计算 预测结果。
模型预测模块703可被配置成使用共享计算预测结果进行模型预测。
传送模块704可被配置成将所述中间模型向量发送给所述数据提供方。
图8解说了根据本发明的各方面的数据提供方的框图。
具体而言,数据提供方可包括:接收模块801、预测向量生成模块802、传送模块803以及存储器804。其中存储器804可存储私有数据。
接收模块801可被配置成接收来自第三方的第二随机数集合,以及接收来自数据需求方的中间模型向量。
预测向量生成模块802可被配置成使用所述第二随机数集合和数据向量来生成中间数据向量,以及使用所述中间模型向量和所述第二随机数集合来生成中间数据值。
传送模块803可被配置成将所述中间数据向量发送给数据需求方,以及将所述中间数据值提供给所述数据需求方以用于模型预测。
与现有技术相比,本发明具有以下优点:
1)能够保护各方的私有数据不泄漏。各方持有的数据不出自己的计算边界,各方在本地通过加密方式的交互,完成计算。虽然有公正第三方参与,但第三方只提供随机数的分发,不参与具体的计算过程。
2)对接成本不高。纯软件方案,除基本的服务器等,没有其他额外的硬件要求,不会引入其他硬件安全漏洞,可在线完成计算。
3)计算完全无损,不影响结果准确性。
4)算法本身不受限。计算结果实时返回,可支持加、减、乘、除等四则运算,及其混合计算,不因算法而受限制。
5)秘密分享的安全多方计算算法,不需要保留密钥等信息,即可通过中间拆分、转换、结果汇总等方式,得到最终结果。而在分发随机数的第三方公正的前提下,计算过程中的中间值无法回推出原始明文。
本文结合附图阐述的说明描述了示例配置而不代表可被实现或者落在权利要求的范围内的所有示例。本文所使用的术语“示例性”意指“用作示例、实例或解说”,而并不意指“优于”或“胜过其他示例”。本详细描述包括具体细节以提供对所描述的 技术的理解。然而,可以在没有这些具体细节的情况下实践这些技术。在一些实例中,众所周知的结构和设备以框图形式示出以避免模糊所描述的示例的概念。
在附图中,类似组件或特征可具有相同的附图标记。此外,相同类型的各个组件可通过在附图标记后跟随短划线以及在类似组件之间进行区分的第二标记来加以区分。如果在说明书中仅使用第一附图标记,则该描述可应用于具有相同的第一附图标记的类似组件中的任何一个组件而不论第二附图标记如何。
结合本文中的公开描述的各种解说性框以及模块可以用设计成执行本文中描述的功能的通用处理器、DSP、ASIC、FPGA或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可被实现为计算设备的组合(例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器,或者任何其他此类配置)。
本文中所描述的功能可以在硬件、由处理器执行的软件、固件、或其任何组合中实现。如果在由处理器执行的软件中实现,则各功能可以作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。其他示例和实现落在本公开及所附权利要求的范围内。例如,由于软件的本质,以上描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或其任何组合来实现。实现功能的特征也可物理地位于各种位置,包括被分布以使得功能的各部分在不同的物理位置处实现。另外,如本文(包括权利要求中)所使用的,在项目列举(例如,以附有诸如“中的至少一个”或“中的一个或多个”之类的措辞的项目列举)中使用的“或”指示包含性列举,以使得例如A、B或C中的至少一个的列举意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。同样,如本文所使用的,短语“基于”不应被解读为引述封闭条件集。例如,被描述为“基于条件A”的示例性步骤可基于条件A和条件B两者而不脱离本公开的范围。换言之,如本文所使用的,短语“基于”应当以与短语“至少部分地基于”相同的方式来解读。
计算机可读介质包括非瞬态计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。非瞬态存储介质可以是能被通用或专用计算机访问的任何可用介质。作为示例而非限定,非瞬态计算机可读介质可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、压缩盘(CD)ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来携带或存储指令或数据结构形式的期望程序代码手段且能被通用或专用计算机、或者通用或专用处理器访问的任何其他非瞬态介质。任何 连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来的,则该同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文所使用的盘(disk)和碟(disc)包括CD、激光碟、光碟、数字通用碟(DVD)、软盘和蓝光碟,其中盘常常磁性地再现数据而碟用激光来光学地再现数据。以上介质的组合也被包括在计算机可读介质的范围内。
提供本文的描述是为了使得本领域技术人员能够制作或使用本公开。对本公开的各种修改对于本领域技术人员将是显而易见的,并且本文中定义的普适原理可被应用于其他变形而不会脱离本公开的范围。由此,本公开并非被限定于本文所描述的示例和设计,而是应被授予与本文所公开的原理和新颖特征相一致的最广范围。
Claims (14)
- 一种基于秘密分享的安全模型预测方法,包括:接收来自第三方的第一随机数集合;使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及使用所述共享计算预测结果进行模型预测。
- 如权利要求1所述的方法,其特征在于,所述生成共享计算预测结果包括:使用所述模型系数向量和所述第一随机数集合来生成中间模型向量;将所述中间模型向量发送给所述数据提供方并接收来自所述数据提供方的中间数据向量;使用来自所述数据提供方的所述中间数据向量和所述第一随机数集合来生成中间数据值;接收来自所述数据提供方的中间模型值;以及使用所述中间模型值和所述中间数据值来生成所述共享计算预测结果,其中所述共享计算预测结果是所述中间模型值和所述经处理中间数据值的乘积。
- 如权利要求2所述的方法,其特征在于,进一步包括:使用所述模型系数向量和本地存储的附加数据向量来生成第二共享计算预测结果;以及使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
- 如权利要求2所述的方法,其特征在于,进一步包括:使用所述第一随机数集合、所述模型系数向量和来自第二数据提供方的向量来生成第二共享计算预测结果;以及使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
- 如权利要求1所述的方法,其特征在于,所述模型预测使用逻辑回归模型和/或线性回归模型。
- 一种基于秘密分享的安全模型预测方法,包括:接收来自第三方的第二随机数集合;使用所述第二随机数集合和数据向量来生成中间数据向量;将所述中间数据向量发送给数据需求方并接收来自所述数据需求方的中间模型向量;使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及将所述中间数据值提供给所述数据需求方以用于模型预测。
- 一种用于基于秘密分享的安全模型预测的装置,包括:接收模块,其被配置成接收来自第三方的第一随机数集合;预测向量生成模块,其被配置成使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及模型预测模块,其被配置成使用所述共享计算预测结果进行模型预测。
- 如权利要求7所述的装置,其特征在于,所述接收模块被进一步配置成接收来自所述数据提供方的中间数据向量和中间模型值;所述预测向量生成模块被进一步配置成:使用所述模型系数向量和所述第一随机数集合来生成中间模型向量;使用中间数据向量和所述第一随机数集合来生成中间数据值;以及使用所述中间模型值和所述中间数据值来生成所述共享计算预测结果,其中所述共享计算预测结果是所述中间模型值和所述中间数据值的乘积;所述装置进一步包括传送模块,其被配置成将所述中间模型向量发送给所述数据提供方。
- 如权利要求7所述的装置,其特征在于,所述预测向量生成模块被进一步配置成:使用所述模型系数向量和本地存储的附加数据向量来生成第二共享计算预测结果;以及使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
- 如权利要求7所述的装置,其特征在于,所述预测向量生成模块被进一步配置成:使用所述第一随机数集合、所述模型系数向量和来自第二数据提供方的向量来生成第二共享计算预测结果;以及使用所述共享计算预测结果和所述第二共享计算预测结果来进行模型预测。
- 如权利要求7所述的装置,其特征在于,所述模型预测使用逻辑回归模型和/或线性回归模型。
- 一种用于基于秘密分享的安全模型预测的装置,包括:接收模块,其被配置成接收来自第三方的第二随机数集合,以及接收来自数据需求方的中间模型向量;预测向量生成模块,其被配置成使用所述第二随机数集合和数据向量来生成中间数据向量,以及使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及传送模块,其被配置成将所述中间数据向量发送给数据需求方,以及将所述中间数据值提供给所述数据需求方以用于模型预测。
- 一种基于秘密分享的安全模型预测装置,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:接收来自第三方的第一随机数集合;使用所述第一随机数集合、模型系数向量和来自数据提供方的向量来生成共享计算预测结果;以及使用所述共享计算预测结果进行模型预测。
- 一种基于秘密分享的安全模型预测装置,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:接收来自第三方的第二随机数集合;使用所述第二随机数集合和数据向量来生成中间数据向量;将所述中间数据向量发送给数据需求方并接收来自所述数据需求方的中间模型向量;使用所述中间模型向量和所述第二随机数集合来生成中间数据值;以及将所述中间数据值提供给所述数据需求方以用于模型预测。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910185759.4A CN110032893B (zh) | 2019-03-12 | 2019-03-12 | 基于秘密分享的安全模型预测方法和装置 |
CN201910185759.4 | 2019-03-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020181933A1 true WO2020181933A1 (zh) | 2020-09-17 |
Family
ID=67235931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/073818 WO2020181933A1 (zh) | 2019-03-12 | 2020-01-22 | 基于秘密分享的安全模型预测方法和装置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110032893B (zh) |
TW (1) | TWI720622B (zh) |
WO (1) | WO2020181933A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032893B (zh) * | 2019-03-12 | 2021-09-28 | 创新先进技术有限公司 | 基于秘密分享的安全模型预测方法和装置 |
CN110580410B (zh) * | 2019-08-09 | 2023-07-28 | 创新先进技术有限公司 | 模型参数确定方法、装置和电子设备 |
CN110569227B (zh) * | 2019-08-09 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 模型参数确定方法、装置和电子设备 |
CN110955907B (zh) * | 2019-12-13 | 2022-03-25 | 支付宝(杭州)信息技术有限公司 | 一种基于联邦学习的模型训练方法 |
CN111030811B (zh) * | 2019-12-13 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 一种数据处理的方法 |
CN112507323A (zh) * | 2021-02-01 | 2021-03-16 | 支付宝(杭州)信息技术有限公司 | 基于单向网络的模型训练方法、装置和计算设备 |
TWI824927B (zh) * | 2023-01-17 | 2023-12-01 | 中華電信股份有限公司 | 具差分隱私保護之資料合成系統、方法及其電腦可讀媒介 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108683669A (zh) * | 2018-05-19 | 2018-10-19 | 深圳市图灵奇点智能科技有限公司 | 数据验证方法和安全多方计算系统 |
US20180359078A1 (en) * | 2017-06-12 | 2018-12-13 | Microsoft Technology Licensing, Llc | Homomorphic data analysis |
CN109033854A (zh) * | 2018-07-17 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 基于模型的预测方法和装置 |
CN110032893A (zh) * | 2019-03-12 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 基于秘密分享的安全模型预测方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9998434B2 (en) * | 2015-01-26 | 2018-06-12 | Listat Ltd. | Secure dynamic communication network and protocol |
CN107623729B (zh) * | 2017-09-08 | 2021-01-15 | 华为技术有限公司 | 一种缓存方法、设备及缓存服务系统 |
CN108400981B (zh) * | 2018-02-08 | 2021-02-12 | 江苏谷德运维信息技术有限公司 | 智慧城市中轻量级和隐私保护的公共云审计系统和方法 |
CN109409125B (zh) * | 2018-10-12 | 2022-05-31 | 南京邮电大学 | 一种提供隐私保护的数据采集和回归分析方法 |
-
2019
- 2019-03-12 CN CN201910185759.4A patent/CN110032893B/zh active Active
- 2019-09-19 TW TW108133838A patent/TWI720622B/zh active
-
2020
- 2020-01-22 WO PCT/CN2020/073818 patent/WO2020181933A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180359078A1 (en) * | 2017-06-12 | 2018-12-13 | Microsoft Technology Licensing, Llc | Homomorphic data analysis |
CN108683669A (zh) * | 2018-05-19 | 2018-10-19 | 深圳市图灵奇点智能科技有限公司 | 数据验证方法和安全多方计算系统 |
CN109033854A (zh) * | 2018-07-17 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 基于模型的预测方法和装置 |
CN110032893A (zh) * | 2019-03-12 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 基于秘密分享的安全模型预测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202044082A (zh) | 2020-12-01 |
CN110032893A (zh) | 2019-07-19 |
CN110032893B (zh) | 2021-09-28 |
TWI720622B (zh) | 2021-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020181933A1 (zh) | 基于秘密分享的安全模型预测方法和装置 | |
WO2020015478A1 (zh) | 基于模型的预测方法和装置 | |
CN110944011B (zh) | 一种基于树模型的联合预测方法和系统 | |
WO2022068575A1 (zh) | 纵向联邦学习中的计算方法、装置、设备及介质 | |
CN109033865B (zh) | 一种空间众包中隐私保护的任务分配方法 | |
Pibernik et al. | Secure collaborative supply chain planning and inverse optimization–The JELS model | |
CN107274139A (zh) | 仓单数据管理方法和计算机可读介质 | |
WO2015155896A1 (ja) | サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法 | |
CN113722744B (zh) | 用于联邦特征工程的数据处理方法、装置、设备以及介质 | |
CN105814832A (zh) | 隐私保护岭回归 | |
US11410081B2 (en) | Machine learning with differently masked data in secure multi-party computing | |
US11265153B2 (en) | Verifying a result using encrypted data provider data on a public storage medium | |
CN112199709A (zh) | 基于多方的隐私数据联合训练模型的方法和装置 | |
CN116204909B (zh) | 向量元素映射方法、电子设备及计算机可读存储介质 | |
CN106170943A (zh) | 使用部分同态加密和掩码的隐私保护岭回归 | |
Wei et al. | Privacy-preserving two-parties logistic regression on vertically partitioned data using asynchronous gradient sharing | |
CN112818369A (zh) | 一种联合建模方法及装置 | |
Dhiman et al. | Homomorphic encryption based federated learning for financial data security | |
CN117077816B (zh) | 联邦模型的训练方法及系统 | |
CN117521102A (zh) | 一种基于联邦学习的模型训练方法及装置 | |
Jia et al. | Privacy‐Preserving Blockchain‐Based Nonlinear SVM Classifier Training for Social Networks | |
EP3364397B1 (en) | Secret authentication code adding device, secret authentification code adding method, and program | |
Zhang et al. | Understanding privacy-preserving techniques in digital cryptocurrencies | |
CN114462626A (zh) | 联邦模型训练方法、装置、终端设备以及存储介质 | |
Gupta et al. | Security enhancement in internet of things (IoT) based e-tendering system using blockchain with efficient smart contracts and hybrid cryptography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20769552 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20769552 Country of ref document: EP Kind code of ref document: A1 |