支持数据完整性验证的可问责数据交易方案
2022-04-07陈丽莎李雪莲高军涛
陈丽莎, 李雪莲, 高军涛
(1. 西安电子科技大学数学与统计学院, 陕西 西安 710071; 2. 西安电子科技大学通信工程学院, 陕西 西安 710071)
0 引 言
当前,互联网快速普及,全球数据呈现爆发式增长、海量集聚的特点,数据的价值愈发凸显。据国际权威机构Statista统计,2016年至2019年的全球数据量分别为18ZB、26ZB、33ZB、41ZB(1ZB=十万亿亿字节)。国际数据公司IDC预计2025年全球数据量将是2016年的9倍,达到163ZB。数据作为一种新型生产要素,与传统生产要素并列。随着人工智能、数据挖掘等技术的发展,数据科学决策成为政府、企业的共识,数据开放共享的迫切需要与日俱增。但数据却以碎片割裂的方式分散在不同的地方,形成了“数据孤岛”的窘境。数据交易市场应运而生,打破了存在的“数据孤岛”问题,驱动数据互联互通。然而数据与一般商品迥然有异,复制零成本使得数据在交易时不能以明文的方式进行传递。一旦购买者获知该数据,就可以复制,从而不会购买,数据交易市场也因此仍停留在起步阶段。Chen等描述了一种典型的数据交易模式,这种模式一般依赖于可信的数据交易平台的中心化管理。数据销售者将数据封装后提交给交易平台,由交易平台匹配购买者的数据需求,数据销售者与购买者交互完成交易。虽然这种交易模式让不存在信任关系的交易用户能够共享数据,但该交易模式仍然存在许多问题:① 赋予交易平台过大的权利,导致系统易受到单点故障问题的侵蚀以及密钥泄露攻击。② 交易系统的设计并不完善,缺乏对恶意用户的问责机制,且这种交易模式更倾向于保护数据购买者的利益,一旦受到来自数据购买者与第三方平台的合谋攻击,销售者不得不受到惩罚,被迫为购买者的恶意行为买单。
2008年,区块链技术的兴起,带来了“去中心化”的福音,让数据交易不再依赖于第三方可信平台,让交易系统免受来自第三方可信平台单点失败问题的洗礼。它通过链式数据存储结构、共识机制、分布式点对点传输等多种技术实现了一种新型的共识网络。其中,智能合约作为区块链技术的应用快速发展起来,它以“一段能够自动执行的代码”闻名,为实现交易的原子性支付提供了技术支持。去中心化协议的确可以让交易高效、平稳地运行起来,但它却无法像中心化协议解决用户纠纷。因此,要实现公平完善的交易系统,应该考虑如何将二者结合起来,在高效平稳实现自动交易解决用户间不信任问题的同时削弱第三方管理平台权力,解决单点失败问题及合谋问题,实现良好的折中。这将面临如下挑战:① 数据的可靠性; ② 数据在交易过程中的隐私性; ③ 争议出现时高效公平的问责性。
本文的主要贡献包括3个方面:
(1) 设计了一个原子性可问责的数据交易方案。构造了适用于交易场景的特殊的数据审计协议,将其与智能合约结合,既保障了交易的原子性,又确保了数据在共享过程中的完整性;
(2) 运用自认证公钥密码技术为用户完成注册,确保除用户自身以外,其他人包括市场管理者都无法获得用户私钥。结合非交互式密钥交换技术生成会话密钥,解决了对称密码技术的密钥分发问题,使协议能够高效地使用对称加密技术确保通信安全;
(3) 设计了公平的问责机制,当交易出现争议时,市场管理者可以组织数据购买者和数据销售者进行维权辩论。由于数据审计具备可公共审计性,所有人都可以参与验证,从而杜绝市场管理者与参与交易的任意一方的合谋现象发生。
1 相关工作
近年来,基于第三方是可信的假设下,针对数据交易系统的研究层出不穷。如,Juang等提出了一种可以在云计算环境中保护数据隐私性的数字商品交易方案。该方案确保云服务器可以在不知道商品内容的情况下,帮助数据购买者找到合适的关键字对应的商品。但是,由于在整个交易过程中未对商品进行验证,因此无法保障交易数据的完整性。Jung等针对数据交易过程中数据购买者的恶意行为,设计了accounttrade协议来对恶意购买者进行问责。研究发现,第三方平台作为交易系统中权威的管控中心,其带来的资产控制权问题、资产风险问题、交易透明度问题使得交易环境复杂化。为了避免第三方平台恶意复制并在未授权的情况下出售数据,Naor等提出将数据加密后直接发送给有意向购买的数据购买者,出售加密密钥代替直接出售数据的方式来确保数据不会以明文形式被传递。但第三方平台仍然可能在交易过程中获得关于数据的信息,从而恢复数据。Dai等选择将数据进行隐藏,只将数据分析后的结果进行出售,以确保数据的安全性,同时还能避免陷入数据所有权问题的纠纷中。但由于现有的数据分析技术不够先进,仅通过一次数据分析就得出精确的结论显然是不可行的。Zhao等将防止双重认证的签名(double authentication preventing signature,DAPS)技术与智能合约结合实现交易的原子性,通过对密钥重建来避免密钥泄露问题。Delgado-Segura等也提出了类似的交易模式,将椭圆曲线数字签名算法(elliptic curve digital signature algorithm,ECDSA)的漏洞原理灵活用于密钥重建,再将密钥重建与比特币锁时交易结合已实现原子性的数据交易方案,但由于比特币交易中的操作码OP_AND被禁止使用,因此方案难以部署。这种密钥重建与自动支付结合的系统虽然可以确保密钥重建和付费同时完成,保证任何人(包括第三方平台)只要未付费就无法得到数据。但密钥重建技术的使用也使得系统无法具备完善的问责机制,面对恶意的购买者无法实现公平的问责。赵艳琦等提出了基于机器学习的公平的数据交易方案,方案结合抽样技术与向量承诺,解决了数据来源可靠性问题以及交易原子公平性问题,但密钥在未作任何保护措施的情况下,直接在区块链环境中暴露显然是不妥的。Hu等提出了一种差异隐私数据交易机制,通过生成一个私有的合成数据集来平衡数据的可用性和隐私性。实现保护隐私的同时,满足数据消费者对已发布数据集的实际使用需求。黄小红等基于多目标协作式带精英策略的非支配排序的遗传算法(non-dominated sorting genetic algorithm, NSGAII)提出了一种基于联盟区块链的分布式数据交易模型,该模型在用户效用方面取得较好的性能。这类基于区块链实现的去中心化协议虽然让用户能在不信任的情况下进行交易,但对于交易结束后的纠纷问题却无能为力。而由第三方平台管理的交易却能够高效解决用户纠纷。因此,只有将两种方式结合起来,扬长避短,才能够让用户在公平的环境中安全地共享数据。
2 理论基础知识
在本节中,首先介绍了构造方案的基础离散对数困难问题以及双线性映射的定义。其次介绍了数据审计技术的功能,它能够检测数据在共享过程中的完整性,为方案支持数据完整性验证提供了技术支持。最后介绍自认证公钥密码技术的应用以及特性,该技术为方案削弱第三方权利、解决单点故障问题提供了解决方案。
2.1 基本定义
离散对数(discrete logarithm, DL)问题。设是一个阶为大素数的乘法循环群,(,)∈,其中是乘法循环群的生成元,对∀∈,计算。
双线性映射。假设,是两个阶为大素数的乘法循环群,,为的两个生成元,是×→的一个映射,称满足下列3个性质的为双线性映射。
(2) 非退化性:(,)≠1。
(3) 可计算性:对∀,∈,存在一个有效算法计算(,)。
2.2 数据审计
2007年,Ateniese首次提出可证明数据拥有的PDP方案,将同态可验证标签(homomorphic verifiable tags,HVTs)技术与随机抽样技术结合,为被挑战的数据块生成聚合签名作为数据完整性的证明,由审计者验证该证明的正确性来概率性评估存储在云上数据的完整性。这项技术对于失去数据物理控制权的用户来说,是限制云存储服务提供商恶意删除数据、破坏数据的必要技术。本文基于HVTs的可聚合性也为数据生成完整性证明标签,通过验证聚合标签的正确性来检测交易数据的完整性。
2.3 自认证公钥密码技术
自认证公钥密码(self-certified public keys,SCPK)技术是基于身份的密码系统,能有效减轻传统证书管理的负担。该技术生成的私钥由用户自己选择,除用户外,其他人甚至注册中心均无法计算用户的私钥,而其他用户可以通过该用户提供的签名来计算用户的公钥,这样一来即使注册中心泄露了用户的信息,用户的私钥依旧是安全的。
3 支持数据完整性验证的可问责数据交易方案
本节介绍支持数据完整性验证的可问责数据交易方案的系统模型、系统安全目标以及支持数据完整性验证的可问责数据交易方案的具体构造。
3.1 系统模型
如图1所示,数据交易方案系统中包含3个实体,包括市场管理者(manager,M)、数据销售者(data seller,DS)、数据购买者(data buyer,DB)。
M:M的主要职责是维护整个系统的正常运行。采用SCPK为用户注册,维护用户密钥信息列表(identity key list,IKL),并在问责阶段处理用户争议,通过查询IKL揭露恶意用户身份。
DS:DS拥有数据,通过出售数据获利,使用数据购买者选定的密钥加密数据,为数据生成数据完整性证明,触发智能合约获取付费。
图1 系统模型Fig.1 System model
DB:DB通过机器学习来决定是否购买数据。它与DS交互,并部署智能合约,对满足需求的数据进行付费。
3.2 系统安全目标
可靠的数据交易方案应具备以下安全要求:
(1) 完备性:如果方案正确运行且交易双方诚实执行,那么DS能获得酬金,DB能得到正确的数据。
(2) 机密性:未进行付费的DB无法获得有效数据。
(3) 公平性:交易结束之后,要么DB获得有效数据,DS获得酬金;要么任何一方都得不到任何有利的东西。
(4) 可问责性:对于不诚实的用户,M可以揭露其身份并没收其押金。
3.3 支持数据完整性验证的可问责数据交易方案
在系统初始化阶段,初始化系统参数PP。在用户注册阶段,DS与DB在M处进行注册,获得假名以及相应的公私钥对{ID,,PK}, {ID,,PK},M维护用户身份信息登记表IKL列表。DS与DB分别使用对方的公钥以及自己的私钥生成会话密钥用于加密消息。DS将数据分块并加密,并将加密文件发送给DB,将签名信息{,,}发送到区块链。在查询阶段,DB对加密文件进行抽样,DS生成相关证明{,}∈发送给DB。DB得到相应数据块后采用相似性学习来决定是否购买数据。在支付阶段,DB将生成的密钥发送给DS并发表智能合约到区块链。DS用{}∈加密数据后,上传数据完整性证明{{}∈,} 以调用智能合约获得付费,DB解密{}∈得到数据。在问责阶段,未获得正确数据的DB可上传{}∈向M上诉。由M组织维权辩论,对于恶意的用户,M可通过查询IKL揭露其身份并将其押金的一部分作为补偿交给交易另一方(见图2),具体方案如下。
图2 交易流程Fig.2 Transaction process
331 系统初始化阶段
332 用户注册阶段
=·H(ID||)+
(1)
(2) DS和DB分别采用上述SCPK进行身份注册,其中DS拥有假名ID和公私钥对(,PK=),相应地,DB拥有假名ID和公私钥对(,PK=)。DS用DB的公钥和自己的私钥计算会话密钥=(PK),DB用DS的公钥和自己的私钥计算会话密钥=(PK)。则
=(PK)=()=()=(PK)=
DB与DS的交互均通过该会话密钥对称加密后进行传输以确保通信安全,而其他人没有会话密钥无法解密获得消息,后续描述交互消息均为用会话密钥加密后再进行传输,收到信息后采用会话密钥解密即可获得。
(2)
(3)
DS将签名文件{,,}发送到区块链。
333 查询阶段
334 支付阶段
(3) 当DS收到{}∈后,首先使用验证{}∈的正确性,即验证等式:
(4)
(4) DS通过上传数据完整性证明运行智能合约。如果数据完整性证明验证通过,则DS能得到酬金,而DB能使用{}∈解密{}∈得到原始数据。否则,他们两者都得不到任何有利的东西。
Transfer算法
输入:数据完整性证明{{}∈,},签名文件{,,}, 转化值, DS公钥PK,公钥PK, 当前时间;
输出:result。
① if<
③ transfer $ to PK;
④ end if
⑤ else
⑥ withdraw $ to PK;
⑦ end if
3.3.5 问责阶段
如果DB解密的数据中包含无效数据块,它将向M申述,并揭露{}∈。所有人使用和DB的公钥PK验证DB提供的{}∈的正确性,即验证
(5)
验证过程如下:
验证通过后,M和DS使用{}∈解密DS提供的加密数据{}∈得到数据,确认数据中是否含有无效数据。如果包含无效数据,M将从IKL中找到DS的身份信息,揭露DS的身份并将其押金交给DB。
3.3.6 正确性分析
4 安全性分析
完备性。支持数据完整性验证的可问责数据交易方案满足完备性。
DS与DB诚实地执行本文所提数据交易方案,初始化系统参数,DB部署智能合约,DS上传用DB选择的私钥加密的数据密文,智能合约验证数据的完整性后转账至DS持有的公钥地址,同时DB获得使用自己选择的密钥加密的数据密文,对密文进行解密,获得数据。
证毕
公平性。支持数据完整性验证的可问责数据交易方案满足公平性。
下面分两种情况进行讨论:
(1) DS是恶意的,DB是诚实的。假设存在恶意的DS,它能够为错误的数据块伪造数据完整性证明以通过智能合约的验证获得报酬,则一定能够以不可忽略的优势解决DL问题。
通过构造一个挑战者与敌手之间的游戏来证明。
(6)
Δ =()Δ =Δ ·Δ =1
(7)
根据=,则
(8)
因为Δ≠0,故Pr[Δ=0]=1。因此该方案能以1-1的概率解决离散对数问题。由于是非常大的,所以解决离散对数问题的概率不可忽略。故基于离散对数问题的困难性,任何恶意的DS都无法伪造数据完整性证明来通过智能合约的验证。
(2) DB是恶意的,DS是诚实的。DB想在不付费的情况下获得全部数据。在查询阶段,DB通过部分数据来决策是否购买数据,但这部分数据是通过数据进行随机抽样获得的,仅代表数据的局部特征,对DB来说是无价值的。如果DB不部署智能合约,则DB只能得到DS加密的数据密文,无法解密得到数据,因此DB不进行支付是无法得到数据的。
(3) DS与DB均为恶意的。双方根据方案执行,DB部署错误的智能合约,让DS无法通过智能合约的验证,它也无法获得正确的数据。而DS不发送或发送错误的数据完整性证明都无法通过智能合约的验证获得转账。因此,恶意的双方均无法获得更多有益的信息。且理性的交易用户会诚实有效地执行方案,避免浪费自身资源,因此本文所提方案满足公平性。
证毕
机密性。任何DB都不能在未进行支付的情况下得到数据。
DS需要上传数据完整性证明运行智能合约,所以DB的恶意行为主要有两种:
(1) DB在智能合约运行前就得到了数据。如果DB想在支付阶段之前获得数据,就只能通过计算出{}∈解密数据,但基于离散对数问题的困难性,这是非常困难的。
因此,方案能确保对任何DB,如果不进行支付就无法得到数据。
证毕
5 性能分析
本节对方案的功能和效率进行评估,实验对比表明,本文方案能够以理想的效率实现安全高效的数据交易。
5.1 功能分析
表1显示了本文方案与其他相关文献之间的功能比较。观察比较发现,本文设计的数据交易方案能实现交易的原子性、隐私保护、可问责性,这比其他方案在功能上更健全,并且能抵抗合谋攻击。表中“√”代表满足;“×”代表不满足;“—”代表不涉及。
表1 功能性对比Table 1 Functional comparison
5.2 加密算法比较
在CPU为Intel core i5处理器,四核控制系统主频为1.8 GHz(最小)至3.39 GHz(最大),8 GB运行内存,64 位Windows10操作系统下,对几种公钥加密算法RSA、2-key pair、切片递归神经网络(sliced recurrent neural network, SRNN)(见图3)以及对称加密算法Blowfish、高级加密标准(advanced encryption standard, AES)、DES3(见图4),各加解密用时进行对比。实验表明,公钥加密算法的解密时间是其加密时间的两倍以上,而对称加密和其解密时间基本相同。其中,使用公钥加密算法加密50 KB文件至少需要300 ms,解密至少需要2 500 ms。而使用对称加密算法加密1 MB文件最多需要 100 ms,且解密最多需要100 ms。显然,相比于公钥加密算法,对称加密算法更加高效。但对称加密算法却一直被其密钥分发问题所困扰,一旦对称密钥在分发给用户的过程中泄露,则整个系统的安全将随之崩溃瓦解。而公钥加密技术却不存在密钥分发的问题,因此,数据交易方案多采用公钥加密技术,通过牺牲方案的效率维护系统安全。而本文所提方案采用SCPK为用户生成密钥从产生密钥的源头解决了密钥泄露问题,并借助于非交互式密钥交换技术,为系统生成会话密钥来加密通信消息,解决了对称密钥的分发问题。因此,本文所提方案使用对称加密算法以理想的效率维护通信安全。
图3 公钥加密算法用时Fig.3 Time cost of public key encryption algorithm
图4 对称加密算法用时Fig.4 Time cost of symmetric encryption algorithm
5.3 方案各阶段的时间开销比较
在CPU为高通骁龙801(主频2.5 GHz),运行内存为2 GB,使用密码学库 Miracl,选取Tate双线性对,其嵌入参数为=2。对本文所提方案和文献[20]的各阶段用时进行对比测试。由图5可知,本文所提方案在用户注册阶段和查询阶段比文献[20]所提方案更加高效。实际上,文献[20]中的方案在注册阶段使用环签名来保护用户隐私,而购买者需要在查询阶段验证环签名的有效性,这会花费大量时间。在支付阶段,本文所提方案需要验证数据的完整性证明,而文献[20]仅需验证DAPS签名的有效性,本文所提方案牺牲少量时间换取对数据完整性的保障,这是文献[20]无法实现的。
图5 各阶段用时Fig.5 Time cost in each stage
5.4 高效的问责机制
图6描述了本文所提方案中M维护IKL需要的存储开销。假设IKL列表中的每条记录占内存20字节,当记录从1条增加到10条时,内存仅从几个字节增加到2 MB。而文献[20]采用环签名技术来实现隐私保护和追责,不仅要消耗大量时间为环中成员生成签名,且一旦环中某个成员撤销或更新都将对整个系统的正常运行造成影响。而在本文中,M仅需占用少量内存维护IKL,就能实现对用户身份的隐私保护和对恶意用户的高效问责。
图6 IKL存储开销Fig.6 Storage overhead of IKL
6 结 论
本文提出了一种基于完整性验证的数据交易方案。该方案将数据审计与智能合约结合解决了线上交易固有的不信任问题,不仅可以抵抗合谋攻击还能保证数据的完整性。并设计了问责机制,对不诚实的用户进行问责,同时该方案还保护了身份隐私、数据隐私。实验结果表明文中提出的数据交易方案更加安全高效。