论文分享 | 基于全同态加密的跨边缘区块链网络隐私保护方案
作者: Zhaofeng Ma, Jingyu Wang, Keke Gai, Pengfei Duan, Yuqing Zhang, Shoushan Luo
论文链接: https://www.sciencedirect.com/science/article/pii/S1383762122002673
摘要
随着物联网的不断发展,许多领域中边缘计算节点之间协作交互的需求变得越来越重要。由于各领域业务场景的扩散和物联网系统核心领域的延伸,各领域的跨界经营成为未来的趋势。不同业务链之间的数据流转和应用协同逐渐形成了广泛的共识。不同区块链中边缘计算节点的存在,将方便数据的管理,降低区块链节点的存储压力。单一的区块链架构越来越不适合物联网的创新发展。现有的一些跨链方案仅解决了数据传输的安全问题,没有考虑数据在链上运行的安全问题。
本文提出了一种跨边缘区块链网络的数据隐私保护方案,利用全同态加密的隐私保护技术对链上数据进行加密,确保链上数据“可用不可见”。
本文首先设计了一个跨边缘区块链模型,详细描述了跨边缘区块链中的交互和隐私计算过程。在这项工作中设计了一种分布式私钥共享方案,以提供中继链的可审计功能。
贡献
这篇文章首次提出了跨边缘区块链网络的链上数据隐私保护模型。该模型采用CKKS算法和跨区块链技术,实现跨边缘区块链网络的隐私数据计算。然后描述了方案的威胁模型及其独特的跨链交易机制。该方案确保边缘设备收集的数据可以在跨边缘区块链网络中安全地共享和计算。
提供可审计的中继链私钥共享方法,以去中心化的方式实现监管机构对包括FHE加密数据在内的跨区块链交易的事后审计和争议管理。在私钥的分发和检索方面,使用Shamir秘密共享。此外,应用链的全同态加密私钥使用中继链的公私钥对进行加解密。
本文基于CKKS全同态加密算法对所提出的模型进行实例化。然后对该方案进行了性能分析和安全性分析。结果表明可以有效解决跨边缘区块链场景下链上数据的隐私保护问题。
CKKS全同态加密算法
CKKS FHE算法是在2017年提出的。CKKS算法的主要思想是进行近似计算,其安全性取决于RLWE问题。该算法支持浮点计算,满足各种场景下的数据计算。与其他同态算法相比,CKKS的消息支持复数向量。因此,要实现消息和明文之间的相互映射,即需要编码和解码过程。
CKKS算法由五个部分组成:密钥生成(𝐶𝐾𝐾𝑆.𝐾𝑒𝑦𝐺𝑒𝑛)、编码(𝐶𝐾𝐾𝑆.𝐸𝑐𝑑)、加密(𝐶𝐾𝐾𝑆.𝐸𝑛𝑐)),解密(𝐶𝐾𝐾𝑆.𝐷𝑒𝑐)和解码(𝐶𝐾𝐾𝑆.𝐷𝑒𝑐)。下面是每个部分的详细描述:
CKKS的同态运算包括加法和乘法,其中乘法需要重新缩放以考虑规模增长和误差。两个操作如下:
重缩放算法如下:
基于FHE的跨边缘区块链网络隐私保护
为了解决跨边缘区块链网络中数据的安全性和可用性,本文提出了一种基于FHE的隐私保护方案。应用场景如下:机构A旗下的边缘计算节点需要采集用户在机构B和C中存储的金额之和。A、B、C分别位于三个应用链中。
1.系统模型
该方案包括四类实体:应用链(AC)、边缘设备(ED)、跨链接入设备(CAD)和中继链(RC)。
AC指由各种边缘计算节点组成的边缘区块链网络,用于特定的业务计算。在本方案中,AC节点可以根据业务需求发起需要全同态运算的事务,并在不知道原始数据的情况下获得运算结果。
ED指用于收集大量用户数据的设备,收集的数据将由应用链中的节点客户端进行处理。
RC是一个跨区块链服务平台,提供数据全同态操作、AC管理和跨区块链交易可信验证等服务。
CAD是一个插件,用于连接RC和AC,并转换事务格式以确保它们之间的消息交互。
方案的系统模型上图所示。RC作为一个跨区块链服务平台,管理连接AC。CAD作为中间件连接RC和AC。RC节点共同维护一个AC访问表(AAT),该表记录连接到RC的AC的ID和为AC生成的FHE公钥。当AC向RC发起全同态运算事务请求时,RC节点将检查AC的公钥是否存在于AAT中。不存在的话,RC将向AC节点发出公私钥对生成请求,并将公钥记录在AAT中。
在该方案中,CAD的作用是转换不同链上的交易格式,以实现跨区块链的需求。统一的交易格式及其细节如下,其中由𝐸𝑣𝐼𝐷组成的事件列表由中继链维护。
2.方案流程
本节给出基于上述系统模型的隐私保护方案流程,下图展示了该方案的流程。
具体描述如下:
STEP1:AC1向RC发起跨链交易𝑇1向AC2和AC3请求数据。
STEP2:RC接收到𝑇1并使用𝑅𝑒𝑞𝑖𝑢𝑟𝑒𝐶𝑟𝑜𝑠𝑠方法检查AC2和AC3是否连通。RC发起跨链交易𝑇2将执行结果𝑅1返回给AC1。
STEP3:如果𝑅1=𝑓𝑎𝑙𝑠𝑒,过程中止,这意味着AC2或AC3没有连接到RC。反之,AC1向RC发起跨链交易𝑇3,得到用户的借贷总额。
STEP4:RC收到T3并使用𝐹𝐻𝐸_𝑆𝑈𝑀方法计算总量。RC查询AAT,判断公私钥对是否由AC1分发。如果没有,RC将发出密钥生成请求。否则RC分别向AC2和AC3发起跨链交易𝑇4和𝑇5。
STEP5:AC2收到T3,AC3收到T4后,分别使用𝑄𝑢𝑒𝑟𝑦𝐴𝑚𝑜𝑢𝑛𝑡方法根据自己的用户列表查询用户的贷款额度。然后用𝑃𝐾𝐹𝐻𝐸对贷款金额进行加密,并发起𝑇6和𝑇7将加密结果𝑅2和𝑅3返回给RC。
STEP6:RC收到结果并进行同态加法计算加密量之和𝑆𝑢𝑚𝐸𝑛𝑐𝐴𝑚𝑜𝑢𝑛𝑡。然后RC发起跨链交易𝑇8将结果返回给AC1。
STEP7:AC1收到T8并用私钥𝑆𝐾𝐹𝐻𝐸解密得到明文贷款金额的总和。
3.用于审计的中继链私钥共享方案
在前面提出的模型没有考虑隐私保护的审计功能,在实际情况下,AC中的边缘计算节点很可能受到恶意攻击或内部对手篡改金额,从而导致机构中存储错误的金额。这可能导致攻击者通过篡改数据获利。如果完全同态加密的密钥没有得到妥善管理,则无法规范特定交易。由于上述可能出现的实际问题,中继链的可审计功能就变得非常重要。本文提出一种中继链私钥共享方案,采用去中心化的方式共同维护审计所需参数全同态私钥,防止其受到单个节点的攻击。当交易发生异常时,中继链上的多个节点将共同获得完全同态的私钥。然后中继链可以通过追踪交易、检查错误数据的来源来解密相关数据,实现可审计的功能。
本方案使用ECC算法对RC上的𝑆𝐾𝐹𝐻𝐸进行加密,保证RC节点除了审计之外无法获取𝑆𝐾𝐹𝐻𝐸。此外,利用Shamir秘密共享来实现私钥共享。具体方案如下图所示:
具体细节如下:
STEP1:在系统初始化过程中,RC生成一对公私钥并分发子密钥。
STEP2:如果AC中的机构A发起对RC的全同态操作,RC将检查AAT中是否存在𝑃𝐾𝐹𝐻𝐸。如果不存在,RC将向A发起请求生成FHE公私钥对,并将𝑝𝑘发送给RC加密𝑆𝐾𝐹𝐻𝐸。
STEP3:A调用𝐶𝐾𝐾𝑆.𝐾𝑒𝑦𝐺𝑒𝑛(1𝜆)方法生成FHE公私钥对(𝑃𝐾𝐹𝐻𝐸,𝑆𝐾𝐹𝐻𝐸)。然后用𝑝𝑘加密𝑆𝐾𝐹𝐻𝐸,返回𝑃𝐾𝐹𝐻𝐸和𝐸𝑛𝑐𝑆𝐾𝐹𝐻𝐸给RC。
STEP4:RC接收结果并将它们存储在AAT表中。然后执行以下全同态操作事务请求。
STEP5:若A发起的FHE关联交易发生纠纷,RC将恢复𝑠𝑘以核对关联交易。至少RC中的𝑡个审计节点需要一起恢复私钥𝑠𝑘。每个𝐴𝑁𝑖将其子秘密(𝑥𝑖,𝑓(𝑥𝑖))广播到其他节点,其中𝑖=1,2,...,𝑡。根据子密钥,RC可以恢复𝑠𝑘。RC根据𝑠𝑘在AAT中解密𝐸𝑛𝑐(𝑆𝐾𝐹𝐻𝐸),并使用𝑆𝐾𝐹𝐻𝐸解密FHE相关密文,实现审计功能。
4. 实验分析
本文使用JMeter自动测试CKKS算法的执行时间,并使用Tape测试跨边缘区块链网络中的交易处理时间来评估方案的性能,FHE时间包括四个阶段:密钥生成、加密、密文运算和解密。由于密钥生成在该方案中运行的次数非常有限,因此忽略此阶段的测试。实验通过设置跨边缘区块链网络来同时处理50到500个跨区块链交易请求来测试FHE每个阶段的交易处理时间,执行时间结果下图所示。在三组不同的数据中,分别发起加密、解密、加法和乘法的交易请求。
根据测试结果可以看出,随着并发处理请求的增加,处理时间略有增加。由于跨边缘区块链网络中的交易延迟,全同态加密算法的所有阶段的运行时间都比CKKS算法本身更长。但是交易延迟时间是完全在可接受的范围内的。值得注意的是,跨边缘区块链系统的交易延迟时间会与当前网络速度有关,因此三个数据集的测试结果存在着微小波动。总体来看,跨边缘区块链系统的性能更好、系统更稳定。上述结果分析可以证明本文提出的解决方案是可用、高效和稳定的,并且可以满足各领域跨边缘区块链网络的需求,解决链上数据隐私和安全问题。
总结
本文来源:SecurityLabUJN
分享仅供学习参考,若有不当,请联系我们处理。
往期推荐
1.论文分享 | 基于差分隐私的多方对偶学习
2.笔记分享 | 组队学习密码学(3)——隐私求交协议的变体和应用论文分享 | 联邦学习贡献评估综述4.什么是可信执行环境(TEE)