基于区块链的具有隐私保护的多项式外包计算方案

更新时间:2023-08-10 10:33:04 阅读: 评论:0

种子圣殿办英语四级成绩单第6卷 第1期 信 息 安 全 学 报
V ol. 6
No. 1
2021年1月
Journal  of  Cyber  Security  January, 2021
通讯作者: 叶俊, 博士, 研究领域包括密码学, 信息安全, 云计算和隐私保护,Email:***************** 。 本课题得到海南省自然科学基金(No.619QN193), 海南省教改项目(No. Hnjg 2019-9)支持。 收稿日期: 2020-10-17; 修改日期: 2020-11-30; 定稿日期: 2020-11-30
基于区块链的具有隐私保护的多项式 外包计算方案
郭  祯1 张  银1 安方林1 赵科杰1 张文杰1 叶  俊1
1
(海南大学计算机与网络空间安全学院 海口 中国 570228)
摘要  随着区块链的快速发展, 基于区块链的外包计算得到了广泛应用.外包计算允许资源受限的用户将复杂的计算以付费的方式外包给资源强大的外包计算者来计算, 从而可以便捷地获得计算结果.然而外包计算过程中可能会泄露用户的隐私数据, 因此, 在外包计算过程中需要考虑用户数据的隐私性、安全性以及计算结果的可验证性。本文针对高阶多项式的外包计算进行研究, 提出了基于区块链的可验证外包多项式计算方案, 通过区块链智能合约完成外包计算。首先, 提出了一种混淆方法, 能够将原始多项式系数进行盲化, 从而保证多项式的安全性和隐私性。外包计算者将盲化后的两个多项式进行计算, 计算结果上传至星际文件系统(IPFS), 同时挖矿节点仅需计算一个盲化后的多项式; 其次, 设计了一种可快速、简单的验证方法, 智能合约通过用户给出的参数能快速的对外包计算者及挖矿节点返回的计算结果进行验证, 根据验证结果给予相应的报酬。整个方案不需要任何密码学假设, 通过外包计算者和挖矿节点的双重计算, 保证了方案的安全性且效率较高。 关键词  区块链; 外包计算; 多项式; 可验证; 智能合约
中图法分类号  TP309  DOI 号10.19363/Jki10-1380/tn.2021.01.07
Secure computing outsourcing scheme for polynomial with
flagstaffprivacy protection bad on blockchain
GUO Zhen 1 , ZHANG Yin  1 , AN Fanglin  1 , ZHAO Kejie 1 , ZHANG Wenjie 1 , YE Jun 1
1
(School of Computer and Cyberspace Security, Hainan University, Haikou 570228, China)
Abstract  With the rapid development of blockchain, blockchain-bad outsourcing computing has been widely ud. Outsourcing computing allows urs with limited resources to outsource complex calculations to outsourced computing with powerful resources for a fee. Conveniently obtain calculation results. However, the ur’s private data may be leaked during the outsourcing calculation process. Therefore, the privacy, curity and verifiability of the calculation results of the ur data need to be considered in the outsourcing calculation process. This article is aimed at higher-order polynomials Rearch on outsourcing calculations, a verifiable outsourcing polynomial calculation scheme bad on blockchain is pro-pod, and outsourcing calculations are completed through blockchain smart contracts. First, an obfuscation method is propod, which can blind the original polynomial coefficients to ensure the polynomial The curity and privacy. The outsourcing calculator calculates the two blinded polynomials, and uploads the calculation results to the Interplanetary File System (IPFS). At the same time, the mining node only needs to calculate one blinded polynomial; condly, the design A fast and simple verification method. The smart contract can quickly verify the calculation results returned by the out-sourced calculator and the mining node t
hrough the parameters given by the ur, and give corresponding rewards bad on the verification results. The entire scheme does not require any password. The academic hypothesis, through the double calculation of outsourced calculators and mining nodes, the curity of the scheme and high efficiency are guaranteed. Key words  blockchain; computing outsourcing; polynomial; verify; intelligent contract
受限于本地计算资源, 在大数据分析、机器学习以及人工智能需求不断提高的环境下, 许多用户需求都无法实现。随之出现了一种新的计算范式——
外包计算。向外提供服务的计算机通常具备高性能硬件条件, 并按需分成不同的产品类型为用户提供不同的服务, 用户可以用按量付费等方式获取计算
郭祯等: 基于区块链的具有隐私保护的多项式外包计算方案 79
服务。外包计算模式的出现, 以解决本地资源开销过大的问题。
区块链是现代经济中最新的、有无限前景的技术。在数据处理的信任度、透明度、安全性以及可靠性等方面都能为工业领域提供良好的解决方案。区块链去中心化的特质, 使得系统可以在没有中间人的介入下还能公平公正运行。在区块链挖矿机制的设立下, 参与工作量证明(PoW)的计算节点, 往往都是
具有很强计算资源与能力的节点, 这正是那些计算资源匮乏又具有高强度计算要求的本地计算用户所需要的。后续智能合约的发展弥补了区块链不具备图灵完备性的缺点, 它可以定义为一个自我执行的合约, 利用区块链技术以数字方式执行、验证或者促进合约的履行, 并且可以培养合约双方之间的交易可信度, 而无需第三方的参与。我们将外包过程通过智能合约放在区块链上, 其中流程靠智能合约自主严格执行, 区块链存储交易信息。借助区块链和智能合约不可篡改等等优点, 建立一个基于区块链的外包计算模型。
在计算机科学中, 许多科学计算都是基于线性代数的, 但这些计算往往可以简化为多项式的运算, 所以多项式计算对计算机科学起着重要的作用。研究多项式计算不仅可以为计算机这门学科带来进展, 同时在密码学等其他很多学科都会产生意想不到的促进效果。但与此同时, 多项式计算往往伴随到十分复杂的计算过程, 本地计算机无法承担如此庞大的计算资源消耗。外包计算正好是目前解决这个问题的最佳方式。本文将重点研究多项式外包计算的相关问题。
即使区块链中的计算节点可以为多项式计算提供强大的资源助力, 但是还是存在一些亟待解决的问题。第一个问题: 用户数据的保密性问题。用户在外包过程中, 会将数据往外传送, 放在一个专门存储数据的过渡场所, 然后再由计算节点通过区块链领取计算任务, 获得智能合约, 执行智能合约, 完成外包计算, 这就造成了计算节点或者是攻击者搜集、利用用户数据可能性增高, 进而造成用户的直接或间接损失。在用户使用外包计算服务的过程中, 用户不可避免地需要考虑输入隐私安全问题。用户一方面
需要从外部获得高效便捷的服务, 另一方面希望自己的隐私数据不会泄漏给不完全可信的计算节点。在以往的外包计算方案中, 为了保护用户数据的安全和隐私, 常用的办法是对数据进行加密预处理, 然后再外包给云服务提供商(CSP)[1]。尽管完全同态加密(FHE)[2]被设计为支持密文上的各种计算, 但是这样也带来了更大的计算资源的消耗[3], 并且使用加密也会使云计算过程变得复杂。
gosh
此外, 用户也非常担心数据计算结果的正确性。用户对计算接待你的非绝对掌控导致了一个新的问题产生——计算节点返回的结果或许因为计算量太过庞大, 为节省计算资源, 从而返回一个虚假的计算结果; 又或者是结果在传输过程中, 收到了来自恶意第三方的攻击、篡改等等, 都会导致用户不能按时按需收到正确的计算结果, 从而导致后续工作无法正常进行, 消耗人力物力财力, 以及一些不可预计的可怕后果。有专门研究这一问题的领域——可验证计算[4]。可验证计算力求运用各种方案, 来解决不可信第三方服务器返回结果验证问题。Ye等人[5]提出了一种新的高阶多项式安全外包算法, 用户可以轻松地验证返回的结果, 并且不需要用户的私人信息(密钥)等, 来验证返回结果的正确性, 对可验证计算领域的研究, 具有一定的启发意义。
48个国际音标为解决上述的外包计算的隐私泄漏问题以及不可信计算节点返回结果无法准确验证的问题, 本文提出了一种基于区块链的具有隐私保护的多项式外包计算方案, 主要贡献如下:
·提出了基于区块链和智能合约的外包计算解决方案。
·shawn fanning
提出了一种多项式盲化方法, 可以有效保证多项式自身的安全性。
·提出了高效的可验证方案, 用户只需付出极小计算代价的情况下, 做到了不可信计算节点返
回结果的可验证。
本文的其余部分安排如下。在第二部分中, 我们简要讨论了外包计算安全研究、可验证多项式外包计算以及基于区块链的外包计算领域中的相关工作; 在第三部分中, 我们介绍了本方案需要用到的关键技术; 在第四部分中, 我们提出了基于区块链的具有隐私保护的多项式外包计算方案; 在第五部分中, 我们分析了本方案的安全性能; 第六部分, 与相关工作进行了比较; 最后, 对本文工作进行了总结。
1相关工作
1.1  外包计算安全协议研究
早在2005年, Hohenberger等人[6]就对外包计算安全性进行了定义, 包括效率和可检查性的概念并且还提供了两种实用的外包安全方案——使用两个不受信任的程序进行外包安全的模块化幂运算, 这对后来的云外包安全计算研究进程具有极大的促进作用。Yang等人[7]给出了一种高效、安全的RSA密
80 Journal of Cyber Security信息安全学报, 2021年1月, 第6卷, 第1期
码外包计算算法, 能做到很容易地扩展到多个客户端, 可是在假设中没有考虑服务器不诚实的情况。Abadi等人[7-8]提出了两个在外包私有数据集上进行委派私钥集交集(PSI)计算的协议, 目的也是为了保护外包数据的安全, 使用此协议无需透露任何有关数据和计算结果的信息, 可是该协议的强弱基于假设, 协议不具有稳定性。Wang等人[9]为抵御来自云服务器提供商的某些攻击, 提出了加密序列比较算法, 结合外包计算流程, 设计了一种新的可计算加密算法, 保护了用户的数据隐私, 并支持密文的有效计算, 但是由于最终结果是共享的, 所以存在一定的可能性会被其他恶意用户恢复, 造成隐私泄露。在将数据外包给云之前, 控制器应使用本地代理掩盖数据, Domingo等人[10]分析了三种已验证的数据保护方法(数据拆分, 匿名化和加密)各有优缺点。为了实现适用于资源受限的移动用户的安全的基于属性的数据共享(ABDS), Li等人[11]引入了一种新的在线/离线基于属性加密(ABE)方案, 该方案通过添加系统公共参数来消除计算任务的繁重性, 同时将加密计算开销移到了服务器上, 有效地控制了用户本地计算资源承受负担。Yu等人[12]借助于完全同态加密和多项式因子分解算法, 提出了一种可验证的加密数据外包计算方案, 改方案在保护外包处理中的用户数据安全的同时, 并允许以零知识对云服务提供商(CSP)处理的计算结果进行公开验证, 但加密计算过程复杂度还可以进行优化。Li等人[13]提出了一种在单个不可信服务器模型中用于模块化幂运算的安全外包算法, 以及一种生成转换密钥的新方法, 该方案将用户端的转换密钥成本降低为一个常数, 如此获得安全性以及高效性。Jiang等人[14]在外包环境下, 提出了一种保护双方隐私的协作k-means聚类协议, 由于大部分计算都是在云上进行的, 所以任何计算能力较弱的本地客户端都可以运行该协议来实现隐私保护的目的, 但是在通信效率上还需要改进。Domingo
等人[15]为外包计算设计了几种安全协议, 确保了外包保持分离, 从而保持隐私, 但是对于更多类型的数据并没有考虑到。全韩彧[16]提出了一种双方SIMD编码协议, 用户先加密, 再允许云服务器和数据分析者联合解密接触向量, 并证明了云服务器不能得到任何的中间和最终计算结果, 但是在服务器计算优化方面还有待提升。张静等人[17]提出了一种基于云服务器外包的安全二方集计算协议, 该协议结合多项式的点值计算和Boneh加密系统, 实现了参与者的隐私保护,但是该协议缺乏在恶意云服务器环境下的测试。1.2  可验证多项式云外包计算安全性研究
针对多项式云外包计算方面的研究, He等人[18]提出了一种多矩阵函数外包的可验证计算方案, 该方案可公开授权, 存储复杂度小, 无论在客户端计算和在服务器端计算, 都能节省成本。但该方案未能实现公开可验证, 且未能保护用户输入输出的隐私性。Shen等人[19]提出了一种基于多项式承诺的可公开验证云计算外包方案, 该方案计算结果可公开验证, 且计算成本较低。Guo等人[20]提出了一种新的可验证的更新数据库外包计算方案, 该方案客户端通过生成两个多项式和, 将原始数据进行伪装, 发送给云服务器, 且云服务器无法获取原始数据, 保护了数据的安全性, 但该方案仅适用于资源受限的客户端。Wang等人[21]构建了一种具有完全授权的可验证外包计算, 该方案与多项式的阶数无关, 降低了客户端计算成本, 但该方案在标准模型中, 可验证性基于双线性配对和双线性Diffie-Hellman指数问题的硬度假设。罗小双等人[22]基于BGN和多线性映射, 提出了一种基于双服务器模型的多元多项式公开可验证的扩展计算方案, 该方案虽然确保了输入输出的安全性与专有性, 但是扩展计算效率有待改进。Zhou
等人[23]在有限域上基于扩展欧几里得算法, 构造了一种大规模多项式的外包计算方案。Premkamal 等人[24]提出了一种密文策略属性基加密(CP-ABE)的可验证外包计算方案, 通过大量的数据计算外包给云服务器, 减少了计算开销, 且可验证计算结果的正确性, 但该方案仅适用于云中的大数据隐私和访问控制。Zhang等人[25]设计了一种基于矩阵向量乘法的多元多项式分解为两步计算的高次多项式外包方案, 该方案可公开授权和可公开验证, 提高了用户输入和多项式函数的私密性。Sun等人[26]构建了一种可公开验证的保护系数和输出的多项式外包计算方案, 该方案保护了多项式的隐私性, 结果可验证正确性, 但该方案仅支持特定类型的多项式。Zhang等人[27]设计了一种高效且公开可验证的矩阵乘法外包计算方案, 该方案在密钥生成和计算阶段节省了大量计算开销, 但该方案的可证明安全性是基于co-CDH假设下。Zheng等人在文献[28]中提出了快速的多项式外包方案, 但是只能针对特定的输入进行计算。Liu等人[29]设计了一种新的安全外包内产品协议, 以实现安全的轻量级单层神经网络, 同时提出了一种保护隐私的分段多项式计算协议, 但是该方案只是考虑了隐私性, 并没有考虑可验证性。Elkhiyaoui等人[30]引入了两个用于公开可验证计算的加密协议, 允许轻量级客户安全地将单变量多项
郭祯 等: 基于区块链的具有隐私保护的多项式外包计算方案 81
式的计算和大型矩阵的乘法外包给云服务器, 但是该方案没有考虑用户输入的隐私性。
1.3  基于区块链的外包计算
Zhang 等人[31]基于区块链设计了一种高效可靠的用于云服务的外包计算解决方案, 该方案不依赖任何第三方的情况下, 实现了可验证计算结果, 且计算成本较低, 但外包计算的应用受到了限制。Huang 等人[32]基于区块链和承诺抽样提出了一种实现公平支付的外包计算方案, 但该方案的外包计算需要通过第三方(比特币脚本)来解决信任问题, 使得外包数据的安全性和隐私性得不到保障。Fan 等人[33]提出了一种基于区块链技术中的智能合约实现安全
可靠的外包计算方案, 但该方案中任何用户都能获取计算结果。Krol 等人[34]在可信执行环境(TEE)中构建了基于区块链智能合约的安全外包计算方案, 虽然该方案高效且提高了用户隐私性, 但是TEE 的开发成本较高。Lin 等人[35]基于区块链技术提出了双线性配对的外包计算(SOBP)方案, 该方案改进了原有SOBP 局限性, 并有效解决了限制, 且提高了其安全性, 但需要大量的计算成本。Benil 等人[36]使用区块链对电子医疗数据进行外包计算的解决方案, 该方案实现了医疗数据的安全性, 提高了患者敏感数据的隐私性, 但该方案的计算负担较高。表1所示为区块链解决外包计算的方案的现状梳理。
表1  区块链解决外包计算的方案的现状梳理
厚味
Table 1  Prents the status quo of outsourcing computing solutions for block chain
研究方向
研究团队
技术方案
存在问题 区块链与云外包 Zhang 等人 不依赖第三方的可验证计算 不便于应用
区块链与承诺抽样 Huang 等人 实现公平支付的外包计算 安全性和隐私性得不到保障 区块链与智能合约 Fan 等人 智能合约实现安全可靠的外包计算
任何用户都能获取计算结果
区块链与智能合约 Krol 等人
可信执行环境(TEE)中构建了基于区块链智能合约的安全外包计算
开发成本较高 区块链 Lin 等人 双线性配对的外包计算(SOBP)方案 计算成本过高 区块链 Benil 等人
区块链对电子医疗数据进行外包计算
计算负担较高
2  预备知识
本节将会介绍一些后续方案会使用到的解决方法和技术要点。
2.1  可忽略函数
在本方案存在一个攻击者消耗大量时间也不能准确定位的函数()g x , 找出此函数破解该方案的几率非常小, 概率小到“可忽略”, 所以我们引入可忽略函数的定义:
对于一个函数()negl x , 如果对于任意一个正多项式()poly x , 存在一个0c N >, 使得对于所有的
c x N >有
()1
()
negl x poly x <
我们就称()negl x 是可忽略的。
2.2  秦九韶算法
我国南宋数学家秦九韶将增乘开方术进行了推广, 以求解任意高次方的多项式的值。该算法看似简单, 其最大的意义在于把求n 次多项式的值转化成求n 个一元多项式的值。其中心思想就是简化多项式的
计算, 以减少中央处理器的运算时间。
设有1n +项的n 次函数
12212210
()            n n n n n n f x a x a x a x a x a x a ----=+++⋅⋅⋅+++lenox
将前n 项提取公因子x , 得
12312210
()(          )n n n n n n f x a x a x a x a x a x a -----=+++⋅⋅⋅+++
再将括号内的前1n -项提取公因子x , 得
23412210
()((          )) n n n n n n f x a x a x a x a x a x a -----=+++⋅⋅⋅+++
如此反复提取公因子x , 最后将函数化为
1210()((()))n n n f x a x a x a x a x a --=+++⋅⋅⋅++ 令
i potato you11n n f a x a -=+ 212n f f x a -=+ 323n f f x a -=+ ⋅⋅⋅⋅⋅⋅
10n n f f x a -=+
最后n f 为所求。
用平常的方式去计算n 次多项式的值, 需要进
()22
n n +次乘法, 如果用秦九韶算法中迭代的方式计算幂则需要21n +次乘法。消耗的存储空间上,
82
Journal of Cyber Security 信息安全学报, 2021年1月, 第6卷, 第1期
前者需要x 占用的字节的2n 倍空间, 后者需要x 占用的字节的n 倍空间。
2.3  区块链与智能合约
区块链从本质上说是一种新型的数据库, 并且当新的区块连接到区块链上时, 几乎不可能更改或是删除它。区块链技术是结合分布式网络, 透明、可靠的链型结构, 不可改变、稳定的技术。工作量证明(PoW)是安全的算法, 挖矿是解决PoW 协议所带来的计算挑战的过程。参与挖矿的节点必须使用PoW 协议才能将新的区块添加到区块链中。区块中存储着区块链节点的交易信息, 并存储着前一个区块块头的哈希值, 所以能做到供所有节点审查的情况下, 也能做到区块数据防篡改。
amputate
智能合约是在存储在区块链上的具有图灵完备性的协议。它由唯一的地址、一组可执行函数和状态变量组成。智能合约将在链上的每个节点按已建立的顺序自动独立、严格地执行。
2.4  星际文件系统
星际文件系统(InterPlanetary File System, 缩写IPFS)是一个旨在创建持久且分布式存储和共享文件的网络传输协议[37], 是一种内容可寻址的对等超媒体分发协议。IPFS 是一种分布式文件系统, 并提供了一个高吞吐量的块存储模块, 结合了分布式散列表, 并没有单点故障, 不需要节点相互信任。而且支持FUSE 与HTTP 的访问方式。
因为区块链上的区块存储容量一般只有3~4M, 不能存储大容量数据, 而IPFS 相比区块链更适合存储和
处理大型文件, 且IPFS 在存储文件后可抛出该文件对应的IPFS 地址, 区块链上只需存储该地址, 即可追溯该文件。如此大大扩展了区块链的应用范围, 将本地文件添加到该文件系统后, 便可向全世界的用户提供文件访问功能。
2.5  可验证外包计算
通过可验证计算方案, 用户可以将经过处理后的函数()f x 的计算交给外包计算者, 在客户端可以验证返回结果的正确与否。
关于可验证计算的现有实现方案, 可用加密算法配套的外包计算协议, 正式定义分基本是由四个算法组成: 密钥生成(KeyGen )、问题生成(ProGen )、计算(Compute )以及验证(Verify )。可验证的计算方案由以下算法定义:
()(),,,g g g g r PK SK EK  KeyGen  。密钥生成算法根据函数g 和随机参数r 的生成一对密钥对——公钥g PK 和私钥g SK , 还有一个经过混淆后的加密
函数, g EK 以及公钥g PK 提供给外包计算者, 私钥
g SK 则由用户自己保存在客户端。
()() ,g SK x x x VK s  ProGen 。问题运行算法将会由用户客户端运行, 使用私钥g SK 对输入参数x 进行加密, 以生成x s , 用于提供给外包计算者计算, 并且得到验证密钥x VK , 用户持有。
· 用户将加密后的函数g EK 以及输入x s 发送给外包计算者, 服务器计算后返回y s 。
()() ,g SK x y VK y s  È^Verify 。使用密钥g SK , 验证密钥x VK 以及计算输出y s , 验证y s 是否正确, 正确输出y , 否则输出^。
3  基于区块链的可验证多项式外包计算方案
3.1  外包计算模型
对于多项式函数:
()2012 n n f x a a x a x a x mod P =++++  其中P 是一个大素数(2048bit)。已知系数
()01,,,n a a a  及自变量x , 客户需要通过在区块链上
具有强大计算能力的外包计算者去求出函数值()f x , 并对最终结果进行验证。
由于需要计算的多项式系数和自变量数据集的庞大, 且计算量很高, 客户端计算机的数据处理能力达不
到计算要求, 所以需要向区块链上计算功能强大的外包计算者寻求帮助, 由外包计算者进行计算出值, 其计算过程如下:
外包计算者根据秦九韶算法:
()()()()20120121        n
n n n f x a a x a x a x a x a x a x a a x -=++++=+++++
迭代计算出每一步的值:
()()()()()()()
1122113322011        n n n n n n n n f x a a x f x a a f x f x a a f x f x a a f x ------=+=+=+=+
最后将计算结果()()()12,,,n f x f x f x éùëû 上传至星际文件系统(IPFS), 并且把存储的数据地址放进智
能合约里, 挖矿节点根据每一步的迭代计算结果进行验证, 验证通过外包计算者和挖矿节点才可以得

本文发布于:2023-08-10 10:33:04,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1128766.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:计算   方案   区块
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图