刘张榕, 余根坚
(1.福建林业职业技术学院信息工程系,福建 南平 353000;2.闽江学院计算机与控制工程学院,福建 福州 350108)
信息化进程逐渐加快的时代背景下,星际文件系统(Inter Planetary File System,IPFS),Ethereum,云计算等信息技术正在发展壮大。海量的数据呈现指数级增长,中心化系统通常会出现服务中断的风险、被攻击的威胁,以及数据被盗取的风险。因此,分布式网络中传输通过加密技术进行处理的数据具有举足轻重的意义,具体表现为降低数据泄漏的风险性、提升分布式存储系统架构的安全性[1-3]。郎登何学者针对目前分布式数据存储算法所需等待时间较长的现象,提出了一种基于K-距离拓扑的分布式数据存储方法,Internet 2拓扑图与随机拓扑图下的仿真测试结果表明,所提出的方法能在满足安全距离约束的条件下能获取最优的数据存储节点,进而能减小数据存取时间[4]。李宝树等学者建立了面向电网的边缘算力优化与分布式数据存储处理模型,仿真结果表明,所提出的方法能提高数据的计算效率和数据质量,减少边缘计算产生的系统能耗[5]。基于上述分析,研究提出融合Ethereum和IPFS加密算法的分布式数据存储传输方案,即基于密文策略的属性加密(Ciphertext-Policy Attribute-Based Encryption ,CP-ABE)方案,旨在为后续数据的存储传输提供安全保障。
研究通过设计理论模型和假设安全性两个步骤实现CP-ABE,以降低系统的复杂度和防止合约内容被修改。Ethereum网络是一种分布式网络系统架构,其将非对称加密、区块结构、工作量证明、点对点交易网络等概念有机组合起来[6-8]。Ethereum网络的基本技术为借助比特币网络中的区块链技术,区块链的理论分层结构包括数据层、网络层、共识层、激励层、合约层、应用层。Ethereum网络的新增功能为智能合约模式,创建新账户、创建交易、部署智能合约等每一笔交易均需消耗Gas,交易费用Transaction的计算公式为式(1)。
Transaction=gasPrice+gasLimit
(1)
式(1)中,gasPrice和gasLimit分别表示gas价格和gas限制。
表1 五个基础算法的输入和输出具体情况
主密钥MK和公钥PK的计算公式为式(2)。
(2)
(3)
式(3)中,随机数为r和rj,它们均在数据集Zp内。委托算法将会受到新的私密密钥,计算公式为式(4)。
(4)
借鉴前人的研究经验,研究在合数阶双线性群的基础上构建数据传输方案,采用的阶为四个不同素数的乘积。设定算法用G指代,输入和输出可用1ε和(p1,p2,p3,p4,U,UT,e)表示,其中p1,p2,p3,p4均为不同的素数,将作为阶的循环群可用U和UT指代。非退化线性映射可表示为e:U×U→UT。线性是指∀u,h∈U,a,b∈ZN,e(ua,ub)=e(u,h)ab。非退化是指假如u∈U,则UT中N是e(u,u)的阶。研究需通过ε的时间多项式对双线性映射e,U,UT进行计算,U的子组可用Up1,Up2,Up3,Up4指代,相应的阶可表示为p1,p2,p3,p4。其中,U=Up1×Up2×Up3×Up4,u1∈Up1,u2∈Up2,则e(u1,u2)=1,即e能被应用于不同时间的子组元素。研究通过假设验证合数阶双线性群的安全性,假设需满足以上条件。
参考结合属性下的控制访问理论和CP-ABE的理论模型,研究设计了一个改进的加密算法方案,所构建的系统结构包括IPFS数据存储网络、Ethereum私链网络、数据提供者、密钥管理中心。加密方案的安全性需满足数据完整性、细腻度控制性、匿名性[12-13]。加密方案的安全模型包括访问策略匿名性模型和攻击者不可区分安全模型,具体情况如图2所示。
图2 CP-ABE加密方案的安全模型
访问策略匿名性模型通过匿名性实验验证,流程如下所示。首先,数据持有方执行系统生成算法获得MK和PK,并将PK传递给A。然后,A向数据持有方发送请求信息和属性组,A给密钥生成器传递属性组,并将得到的私钥传递给A。其次,预先设置敌手的请求属性组不符合访问结构A1和A2,攻击者将访问结构A1,A2和数据M传递给数据持有方,数据持有方选择比特b具有随机性,生成的密文M'将会直接传递给攻击者。假如b=0,则数据持有方在访问结构A1中完对数据原文M的加密,假如b=1,则数据持有方在访问结构A2中完对数据原文M的加密。随后重复数据信息传递步骤,但需将攻击者的请求属性组设置为不符合访问结构A1和A2。最后,攻击者完全猜对密文b'与b一致时,则能获得数据原文。因此,模型很难实现匿名访问,除非密文的访问结构A1和A2能被区分。
研究在传统CP-ABE算法的基础上进行了改进,具体表现在增加了密文半解密算法EncryptHalf(PK,CT,TK)和密钥转换算法GenTKout(PK,SK)。GenTKout(PK,SK)中,检索密钥RK和转换密钥TK的定义式为式(5)。
(5)
对于EncryptHalf(PK,CT,TK),IPFS网络节点获得转换密钥、密文、公钥,需先测试访问结构和数据请求者的属性组中的元素是否具有一致性。最终通过转换密钥、密文、公钥、访问结构等参数得到CP-ABE加密方案的最终解密算法。安全证明包括匿名证明、正确性证明、数据完整证明、Ethereum私链网络安全性证明、安全分析[14-15]。
实验环境设置如下,计算机为MacBook Pro。研究采用的对比方案为混合加密方案[13]、Fabric和IPFS[14]、联盟区块链和IPFS[15]。四种方案的性能对比如表2所示。Te是指群U上计算指数级数据的时间,|Upi|是指群元素的长度,H是指用户属性。相较于其他三种方案,密文长度较长,但具有以下优点,体现在解密计算外交付到第三方、访问结构具有隐藏性、在安全性方面增强了保护、增加了功能验证工作。
(a)属性组数/个 (b)属性组数/个
表2 四种方案的性能对比
图3(a)是指不同数据加密方案在不同属性组数下的加密时间。随着属性组数的增加,四种数据加密方案的加密时间和属性组数呈现正比。CP-ABE数据加密方案在属性组数为90时,加密时间最短,数值为1.68s。图3(b)是指不同数据加密方案在不同属性组数下的解密时间。CP-ABE数据加密方案在属性组数为90时,解密时间最长,数值为2.62s。但鉴于属性组数的个数正常情况下均在50以内,因此,数据加密方案的解密时间相差不大,且在安全性方面有较高的性能。
图4是指不同请求个数下四种数据加密方案的解密时间。随着请求者个数的增加,混合加密方案、Fabric和IPFS、联盟区块链和IPFS三种数据加密方案的解密时间会逐渐增加。但CP-ABE数据加密方案的解密时间无论在任何请求个数下的解密时间保持在1.5s左右。而其余方案由于采用集中处理的方式会导致在请求数量增多的情况下请求等待现象,进而使得平均解密时间增加。
图4 不同请求个数下四种数据加密方案的解密时间
针对数据存储运输中的安全性、私密性、数据高度适配性、自我修复提升问题,研究提出一种融合Ethereum和IPFS加密算法的分布式数据存储传输加密方案。所提出的加密方案在访问结构隐藏功能、匿名性、验证性、安全性方面具有较好的功能。CP-ABE数据加密方案在属性组数为90时,加密时间最短,数值为1.68s。CP-ABE数据加密方案在属性组数为90时,加密时间最长,数值为2.62s。随着请求者个数的增加,混合加密方案、Fabric和IPFS、联盟区块链和IPFS三种数据加密方案的解密时间会逐渐增加,但CP-ABE数据加密方案的解密时间无论在任何请求个数下的解密时间保持在1.5s左右。所提出的CP-ABE数据加密方案具有一定的实用性和有效性。但研究所提出的数据加密方案在解决规模庞大的数据中存在一定局限性,后续需提出相应的解决措施对方案进行优化。