CN116992480A - 一种提供公开可验证的外包计算服务的方法 - Google Patents
一种提供公开可验证的外包计算服务的方法 Download PDFInfo
- Publication number
- CN116992480A CN116992480A CN202310841554.3A CN202310841554A CN116992480A CN 116992480 A CN116992480 A CN 116992480A CN 202310841554 A CN202310841554 A CN 202310841554A CN 116992480 A CN116992480 A CN 116992480A
- Authority
- CN
- China
- Prior art keywords
- output
- shares
- alpha
- calculation
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012946 outsourcing Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims abstract description 45
- 238000012795 verification Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 abstract description 20
- 238000010801 machine learning Methods 0.000 abstract description 3
- 238000012502 risk assessment Methods 0.000 abstract description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种提供公开可验证的外包计算服务的方法,本发明可以保障用户数据隐私性,允许公开可验证且支持任意多项式函数计算。本发明提供的方法安全、可靠、高效,同时实现了信息论的数据隐私性和公开可验证性,并且支持任意多项式函数的计算。本发明提供了两个方案以满足不同应用场景的需求,两个方案都满足公开可委托性,支持多个客户端公开委托数据,也满足可外包性,即输出客户端的计算远比本地计算外包函数效率更高。本发明可以广泛应用于各种需要保护数据隐私性和确保计算结果正确性的场景中,如隐私保护的数据统计、机器学习、金融风险评估等领域。
Description
技术领域
本发明涉及一种外包计算方案。
背景技术
云计算的普及为用户处理大规模的计算任务提供了便利。在云计算环境下,计算资源有限的客户端可以将数据委托给服务器,随后用户可以将计算任务外包给服务器。服务器收到计算请求之后,在客户端上传的数据上进行计算并返回计算结果给用户。通过这样的外包计算,用户可以节省由软硬件设施部署和维护带来的高昂成本,避免参与复杂的计算。
外包计算是一种广泛应用的计算模式,可应用于许多领域,例如人类基因组分析、生物识别和机器学习训练模型等。在这些应用场景中,用户外包的计算任务通常涉及到大量的隐私数据,由于服务器可能会滥用用户数据,直接将用户数据上传给服务器可能会引发隐私性问题。此外,恶意的服务器有可能返回一个错误的计算结果,或者由于服务器故障,计算结果可能会出错,因此外包计算也会带来计算完整性的安全性问题。
对于数据隐私性问题,全同态加密虽然提供了解决方案,但其主要问题在于带来远比本地计算更加高昂的计算成本,并且现有的全同态加密方案都是计算安全的,因此基于全同态加密所构造的方案提供的隐私性需要基于密码学假设。同态秘密分享作为一种支持在隐私数据上进行计算的新兴技术,具有更加实际的计算效率,为保护外包计算中的数据隐私性提供了更为有效的解决方案。
大多数现有的同态秘密分享方案并未考虑计算完整性问题,可验证的同态秘密分享方案虽然保障了计算完整性,但现有的可验证同态秘密分享方案要么只支持计算线性函数,要么是私有可验证的,只允许拥有验证密钥的参与方对计算结果进行验证。相比之下,公开可验证具有更加广泛的应用价值,例如,在选举中,公开可验证允许选民对选举结果进行公开验证,确保了公平性;在金融交易中,公开可验证的系统允许任意第三方验证交易的合法性和正确性。
发明内容
本发明要解决的技术问题是:现有的外包计算方案无法同时提供信息论的数据隐私性和公开可验证性。
为了解决上述问题,本发明的一个技术方案是提供了一种提供公开可验证的外包计算服务的方法,涉及n个提供数据的输入客户端、1个输出计算结果的输出客户端以及m个互不通信的服务器,其特征在于,包括以下步骤:
步骤1、n个输入客户端使用Shamir秘密分享方案将数据x拆分成m个输入份额,分发给m个服务器;
步骤2、输出客户端将想要计算的多项式函数f发送给每个服务器,每个服务器在收到的输入份额上做多项式函数f的运算,将计算得到的输出份额返回给输出客户端;
步骤3、输出客户端选择一个随机数α,利用Shamir秘密分享方案生成随机数α的m个份额,并与相应服务器返回的输出份额相乘,得到α·f(x)的份额,利用拉格朗日插值技术分别恢复出y=f(x)以及z=α·f(x),输出客户端通过判断z=αy是否成立来验证计算结果是否正确。
本发明的另一个技术方案是提供了一种提供公开可验证的外包计算服务的方法,涉及n个提供数据的输入客户端、1个输出计算结果的输出客户端以及m个互不通信的服务器,其特征在于,包括以下步骤:
步骤1、n个输入客户端利用Shamir秘密分享方案,选取t次多项式将t次多项式在1,…,m处的一阶导数值拆分成m个份额,连同t次多项式/>在1,…,m处的函数值一并作为输入份额分发给m个服务器;
步骤2、输出客户端将想要计算的多项式函数f发送给每个服务器,每个服务器根据收到的多项式函数f,分别在接收到的输入份额上计算多项式函数f及其全部一阶偏导数,连同t次多项式在1,…,m处的一阶导数值一并作为输出份额返回给输出客户端;
步骤3、输出客户端基于接收到的输出份额调用上述的外包计算服务的方法中的步骤3恢复出t次多项式在1,…,m处的一阶导数值,此时,步骤3中的f(x)为输出份额中的t次多项式/>在1,…,m处的一阶导数值:如果调用过程出现验证不通过,则直接拒绝计算结果;如果验证通过,则进入步骤4;
步骤4、选择一个随机数α,利用Shamir秘密分享方案生成α的m个份额,并根据相应服务器返回的输出份额计算得到α·f(x)的份额,使用链式法则以及埃尔米特插值分别恢复出y=f(x)以及z=α·f(x);如果z=αy成立,则验证通过,输出客户端接受计算结果y;否则,验证不通过,输出客户端认为计算结果y错误并拒绝。
本发明公开了一种可以保障用户数据隐私性,允许公开可验证且支持任意多项式函数计算的外包计算方法。本发明提供的方法安全、可靠、高效,同时实现了信息论的数据隐私性和公开可验证性,并且支持任意多项式函数的计算。本发明提供了两个方案以满足不同应用场景的需求,两个方案都满足公开可委托性,支持多个客户端公开委托数据,也满足可外包性,即输出客户端的计算远比本地计算外包函数效率更高。本发明可以广泛应用于各种需要保护数据隐私性和确保计算结果正确性的场景中,如隐私保护的数据统计、机器学习、金融风险评估等领域。
附图说明
图1示意了可验证的外包计算方法运行过程。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本实施公开的一种提供公开可验证的外包计算服务的方法提供了两个可选方案,均是基于同态秘密分享方案构造的,涉及n个提供数据的输入客户端、1个输出计算结果的输出客户端以及m个互不通信的服务器。其中,第一个方案使用了拉格朗日插值技术,因此需要更多的服务器,而第二个方案在第一个方案的基础上,改用埃尔米特插值,将所需服务器缩减一半。第一个方案能够在少于t(1≤t≤m)个服务器共谋的情形下保护数据隐私性并提供公开可验证的性质;而第二个方案能够在少于t(1≤t≤m)个服务器共谋的情形下保护数据隐私性,而在只有一个恶意服务器存在的情况下提供公开可验证的性质。
第一个方案运行过程如下:
步骤1、n个输入客户端使用Shamir秘密分享方案将数据x拆分成m个输入份额,分发给m个服务器。
步骤2、输出客户端将想要计算的多项式函数f发送给每个服务器,每个服务器在收到的输入份额上做多项式函数f的运算,将计算得到的输出份额返回给输出客户端。
步骤3、输出客户端选择一个随机数α,利用Shamir秘密分享方案生成随机数α的m个份额,并与相应服务器返回的输出份额相乘,得到α·f(x)的份额,因此可以利用拉格朗日插值技术分别恢复出y=f(x)以及z=α·f(x)。输出客户端只需判断z=αy是否成立即可验证计算结果是否正确。验证过程中不涉及任何密钥,因此方案是公开可验证的。
第二个方案的运行过程如下:
步骤1、n个输入客户端利用Shamir秘密分享方案,选取t次多项式将t次多项式在1,…,m处的一阶导数值拆分成m个份额,连同t次多项式/>在1,…,m处的函数值一并作为输入份额分发给m个服务器。
步骤2、输出客户端将想要计算的多项式函数f发送给每个服务器,每个服务器根据收到的多项式函数f,分别在接收到的输入份额上计算多项式函数f及其全部一阶偏导数,连同t次多项式在1,…,m处的一阶导数值一并作为输出份额返回给输出客户端。
步骤3、输出客户端基于接收到的输出份额调用第一个方案中的步骤3恢复出t次多项式在1,…,m处的一阶导数值(此时,步骤3中的f(x)为输出份额中的t次多项式/>在1,…,m处的一阶导数值),如果调用过程出现验证不通过则直接拒绝计算结果,如果验证通过则进入步骤4。
步骤4、选择一个随机数α,利用Shamir秘密分享方案生成α的m个份额,并根据相应服务器返回的输出份额计算得到α·f(x)的份额,使用链式法则以及埃尔米特插值分别恢复出y=f(x)以及z=α·f(x)。验证过程为:如果z=αy成立,则验证通过,输出客户端接受计算结果y;否则,验证不通过,输出客户端认为计算结果y错误并拒绝。同样,验证过程中不涉及任何密钥,因此该方案也是公开可验证的。
上述第一个方案的计算效率和通信效率更高,而上述第二个方案虽然计算复杂度和通信复杂度略高,但支持更高次多项式的外包计算。
以隐私保护的数据统计为例对本发明作进一步说明。在许多现实场景(比如人类基因组分析或医疗数据分析)中,众多参与方需要在他们的隐私数据上做大规模的统计函数计算。本发明允许多个客户端将数据上传到多个互不共谋的服务器上,随后任意的用户可以请求服务器在这些数据上做任意多项式函数的计算,最终恢复出计算结果并对结果进行公开验证。
Claims (2)
1.一种提供公开可验证的外包计算服务的方法,涉及n个提供数据的输入客户端、1个输出计算结果的输出客户端以及m个互不通信的服务器,其特征在于,包括以下步骤:
步骤1、n个输入客户端使用Shamir秘密分享方案将数据x拆分成m个输入份额,分发给m个服务器;
步骤2、输出客户端将想要计算的多项式函数f发送给每个服务器,每个服务器在收到的输入份额上做多项式函数f的运算,将计算得到的输出份额返回给输出客户端;
步骤3、输出客户端选择一个随机数α,利用Shamir秘密分享方案生成随机数α的m个份额,并与相应服务器返回的输出份额相乘,得到α·f(x)的份额,利用拉格朗日插值技术分别恢复出y=f(x)以及z=α·f(x),输出客户端通过判断z=αy是否成立来验证计算结果是否正确。
2.一种提供公开可验证的外包计算服务的方法,涉及n个提供数据的输入客户端、1个输出计算结果的输出客户端以及m个互不通信的服务器,其特征在于,包括以下步骤:
步骤1、n个输入客户端利用Shamir秘密分享方案,选取t次多项式将t次多项式/>在1,...,m处的一阶导数值拆分成m个份额,连同t次多项式/>在1,...,m处的函数值一并作为输入份额分发给m个服务器;
步骤2、输出客户端将想要计算的多项式函数f发送给每个服务器,每个服务器根据收到的多项式函数f,分别在接收到的输入份额上计算多项式函数f及其全部一阶偏导数,连同t次多项式在1,...,m处的一阶导数值一并作为输出份额返回给输出客户端;
步骤3、输出客户端基于接收到的输出份额调用权利要求1所述的外包计算服务的方法中的步骤3恢复出t次多项式在1,...,m处的一阶导数值,此时,步骤3中的f(x)为输出份额中的t次多项式/>在1,...,m处的一阶导数值:如果调用过程出现验证不通过,则直接拒绝计算结果;如果验证通过,则进入步骤4;
步骤4、选择一个随机数α,利用Shamir秘密分享方案生成α的m个份额,并根据相应服务器返回的输出份额计算得到α·f(x)的份额,使用链式法则以及埃尔米特插值分别恢复出y=f(x)以及z=α·f(x);如果z=αy成立,则验证通过,输出客户端接受计算结果y;否则,验证不通过,输出客户端认为计算结果y错误并拒绝。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310841554.3A CN116992480A (zh) | 2023-07-10 | 2023-07-10 | 一种提供公开可验证的外包计算服务的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310841554.3A CN116992480A (zh) | 2023-07-10 | 2023-07-10 | 一种提供公开可验证的外包计算服务的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116992480A true CN116992480A (zh) | 2023-11-03 |
Family
ID=88527612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310841554.3A Pending CN116992480A (zh) | 2023-07-10 | 2023-07-10 | 一种提供公开可验证的外包计算服务的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116992480A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117454431A (zh) * | 2023-12-01 | 2024-01-26 | 济南大学 | 计算服务外包的可验证数据隐私保护系统及方法 |
-
2023
- 2023-07-10 CN CN202310841554.3A patent/CN116992480A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117454431A (zh) * | 2023-12-01 | 2024-01-26 | 济南大学 | 计算服务外包的可验证数据隐私保护系统及方法 |
CN117454431B (zh) * | 2023-12-01 | 2024-03-29 | 济南大学 | 计算服务外包的可验证数据隐私保护系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797984B2 (en) | Computer-implemented system and method for exchange of data | |
US11917051B2 (en) | Systems and methods for storage, generation and verification of tokens used to control access to a resource | |
US11341487B2 (en) | System and method for information protection | |
US20200213125A1 (en) | Computer-implemented system and method enabling secure storage of a large blockchain over a plurality of storage nodes | |
JP7428704B2 (ja) | デジタルリソースへのアクセスを移転するための、コンピュータにより実施されるシステム及び方法 | |
JP7328237B2 (ja) | コンピュータにより実施される投票処理およびシステム | |
CN111064579A (zh) | 基于区块链的安全多方计算方法、系统、及存储介质 | |
Azad et al. | M2m-rep: Reputation system for machines in the internet of things | |
US11811934B2 (en) | Distributed machine learning via secure multi-party computation and ensemble learning | |
US20230319103A1 (en) | Identifying denial-of-service attacks | |
CN116992480A (zh) | 一种提供公开可验证的外包计算服务的方法 | |
Qu et al. | A electronic voting protocol based on blockchain and homomorphic signcryption | |
JP7047764B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法および秘密計算プログラム | |
CN113591097A (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
Xu et al. | Secure fuzzy identity-based public verification for cloud storage | |
US20240179211A1 (en) | Computer-implemented system and method for controlling processing steps of a distributed system | |
Peng et al. | Secure lightweight stream data outsourcing for internet of things | |
RU2686818C1 (ru) | Способ масштабирования распределенной информационной системы | |
CN116628504A (zh) | 一种基于联邦学习的可信模型训练方法 | |
Alruwaili et al. | Intelligent transaction techniques for blockchain platforms | |
CN108737103B (zh) | 一种应用于cs架构的sm2算法签名方法 | |
Dai et al. | CRSA: a cryptocurrency recovery scheme based on hidden assistance relationships | |
Chen et al. | A decentralized public auditing scheme for secure cloud storage based on blockchain | |
Wang et al. | A Publicly Verifiable Outsourcing Matrix Computation Scheme based on Smart Contracts | |
CN117574412B (zh) | 多方隐私求交方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |