结合区块链和属性基的可信数据分发

2021-07-08 08:27梁任纲李雪聪
小型微型计算机系统 2021年7期
关键词:访问控制密钥加密

李 峰,梁任纲,,李雪聪,何 倩

1(中国电子科技集团公司 航天信息应用技术重点实验室,石家庄 050081)2(桂林电子科技大学 广西密码学与信息安全重点实验室,广西 桂林,541004)

1 引 言

随着网络结构越来越多变复杂,传统的集中式平台已无力承受海量数据存储和数据共享分发带来的巨大管理压力和高昂维护成本.P2P网络作为一种建立在互联网上的分布式覆盖网络,具有无中心、自组织等特点,能够充分利用网络环境下各种端系统进行大规模协作和资源共享[1].然而,P2P网络为数据资源共享带来便利性的同时也导致不良数据在网络中的传播,网络失信、非法访问等安全问题日渐严重,对P2P网络的发展产生了严重的制约作用[2].

为解决网络中的失信问题,文献[3,4]提出基于推荐的信任模型,但存在收敛速度慢、网络流量开销大的缺点,且会忽略对等方推荐可信度与对等方全局信任之间的差异,缺乏对共谋攻击的有效惩罚.文献[5]提出一种结构简单的基于群组的信任模型,使用不同的计算方法来确保信任值的实时性、准确性与计算效率.但是,对于信任值的更新策略没有进行细致的界定,且因超级节点设置存在单点失效的问题.现有的研究大多忽略了网络状态变化对节点异常行为的表征.例如恶意节点发起消耗网络带宽资源的DoS攻击.网络的状态变化能反映节点的异常行为,可以利用SDN对网络的监测和管理,从整个网络状态的角度来对节点进行信任评估.

在数据共享分发过程中,存在容易遭受恶意节点的非法访问,造成私密信息泄露等问题,文献[6]提出一种通过捎带回复消息和直接广播通知,在P2P的数据分发的过程中取消P2P节点的授权和强制中断下载,实现数据分发的可控性,但该方案的数据共享安全存在不足,无法对恶意节点的恶意数据分发行为追踪溯源.区块链是一种靠集体维护的分布式账本技术[7],集成对等式网络[8]、共识机制[9]、密码学中非对称加密技术等技术优势,包含去中心化、不可篡改且支持溯源的优势,为解决P2P数据分发的可信与安全性带来了新的思路[10].

文献[11,12]中提出结合区块链建立访问控制模型,但是上述方法在访问控制权限划分上存在着粒度过粗问题.Maesa等人在文献[13]中扩展了基于属性的访问控制模型(ABAC)的标准工作流,用区块链代替传统数据库存储策略,以交易的形式管理策略,并通过比特币平台实现.属性基加密包括基于密文策略(CP-ABE)以及基于密钥策略(KP-ABE).CP-ABE将访问控制策略嵌入密文,只有当数据访问者拥有的属性集合满足密文的访问策略时,才能够对密文信息进行解密获取明文消息;属性基加密可以将共享数据的访问控制策略细化到属性级别,具有更好的细粒度访问控制能力.

以海量数据分发和数据安全保护需求为背景,针对当前数据共享中急需解决的细粒度访问控制和溯源难题,本文提出一个结合区块链和属性基的可信数据分发机制,主要贡献有:

针对P2P分发网络节点间信任关系以及细粒度访问控制的重点问题,提出了结合区块链和属性基的可信数据共享分发系统信任模型与架构.

利用SDN[14,15]控制器获取全网状态服务性能参数,结合节点分享率,构建数据分发信任模型.提出了一种区块链和属性基相结合的访问控制方案,通过链上链下协同管理模式实现对数据访问行为的监控和跟踪.

基于实际P2P分发平台实现了提出的可信数据分发机制,实验验证表明其可用性和有效性,解决了数据分发的细粒度访问控制和文件溯源的问题.

2 相关工作

海量数据的存储、分发共享过程中所面临的网络失信、数据恶意窃取、私密信息泄露、共享数据不受数据拥有者控制等问题也随之凸显出来.因此,在打破数据孤岛的同时,如何在数据共享中实现数据的可信共享和细粒度访问控制成为了新的研究热点.

基于数据共享网络的可信需求,建立新的分布式信任机制来构建节点之间的信任关系,作为节点之间交互的基础以选择具有较高信任度的交互式对象提升交互式成功率开始开展相关研究[16].EigenTrust[3]通过交互后计算节点的本地信任值,反馈所有交互节点的本地信任值以计算节点的全局信任值.FCTrust[4]的节点信任度由交互频率确定,它对所有交互都赋予了同等的权重,而不是对最近的给予更大的重视,会导致对目标节点的评估不准确.这些基于推荐的信任模型普遍存在收敛速度慢、网络流量开销大的缺点,且会忽略对等方推荐可信度与对等方全局信任之间的差异,缺乏对共谋攻击的有效惩罚.文献[17]提出了一种加入激励机制的P2P网络信任模型,通过引入交互因子、推荐因子、嗅探因子以及惩罚因子等激励因子,从而来提高P2P网络中各节点之间交互的信任度.在P2P网络中恶意节点发起的DoS攻击,以及惰性节点只享受服务等异常行为常常伴随节点的网络状态变化,但是在上述方案均没有从全局网络状态的角度将节点的服务质量属性作为信任因子,建立基于QoS的P2P服务信任评估模型.

针对数据分发共享过程中容易遭受恶意节点的非法访问,造成私密信息泄露等问题,文献[18]认为区块链技术在促进物联网数据集的安全共享方面具有潜力,文献[19]针对传统数据共享存在的数据安全性和隐私性问题,提出基于区块链的数据共享模型,并证明其可行性.Zyskind等人在文献[11]中提出结合自由支配访问控制模型(DAC),通过区块链上的访问控制策略管理链外敏感数据;Cruz等人在文献[12]中利用区块链解决了基于角色的访问控制模型(RABC)中的跨组织访问控制问题,实现了用户角色的跨组织认证;但是DAC和RBAC中资源和用户角色更新带来的开销较大.文献[20]将超级账本与访问控制结合,通过智能合约管理访问控制策略.但上述方法仅适用于特定场景,不具备细粒度访问控制的能力.

属性基加密可以对共享数据采取的访问控制程度细化到属性级别.针对现有多授权属性基加密云存储访问控制存在的安全性和有效性问题,文献[21]提出无需可信中央授权中心的多属性加密云存储访问控制方案.但是方案中存在用户和服务器之间的通信开销太大的问题.区块链和属性基加密的结合,为数据的可信共享和访问控制提供了新的实现方向.文献[22]针对现有云存储技术因为环境开放和业务处理中心化等问题,而给数据及数据拥有者的隐私安全带来的潜在威胁,提出了一种区块链和密码学累加器相结合的属性基访问控制机制,实现对用户隐私和策略隐私的保护.文献[23]针对区块链中的数据隐私保护与访问控制等问题,提出基于MA-ABE的隐私保护与访问控制方案,实现区块链中数据隐私保护和访问控制.文献[24]提出了一种使用多属性权威CP-ABE,DMA-ABS和区块链技术的新型去中心化存储方案,但是当数据所有者尝试更改其数据的访问策略时,必须重新加密和分配新的策略.Jemel等人[25]研究了开放环境下的数据共享保护问题,设计名为Timely CP-ABE的基于区块链的分布式访问控制模型,引入时间属性的概念,访问者的属性不仅要满足访问策略还要在限定时间内获取密钥.以交易的方式设置策略、获取访问虽然可以追踪相关操作的记录,但属性以及策略等重要信息都被封装,且通过交易被广播至全部节点全网可见,既受限于区块链的存储空间又易受到恶意节点盗取信息.王秀利等人[26]设计平行区块链结构并结合属性基加密构造数据共享和访问控制模型,但其只从理论上对本模型与传统方法进行了安全性对比分析.

3 面向P2P的可信数据分发系统模型

3.1 信任模型及假设

P2P网络充分利用边缘用户资源,在数据共享分发方面同传统的C/S模式相比它更具有优势,例如:它具备高健壮性、高可扩展性以及可用数据的多样性等.但是P2P网络环境中具有的开放性和匿名性特性为缺乏责任感的对等方滥用网络提供了便利,例如P2P网络中的恶意节点发起DoS攻击、自私节点只下载数据却不上传数据等行为.

针对P2P网络中存在恶意节点和自私节点的问题,本文利用SDN对网络的监测和管理,从整个网络状态的角度,将传输时延、数据丢包率、带宽、节点分享率(分享率是对用户的贡献进行量化,即对每位用户的上传、下载数据量的比值作取对数运算)四个参数作为信任评估模型的信任因子,如图1所示,提出基于SDN的P2P信任评估框架.

图1 基于SDN的P2P信任评估框架Fig.1 SDN-based P2P trust evaluation framework

在信任评估模型中,通过对信任因子传输时延、数据丢包率、带宽和节点分享率进行量化计算,得到网络节点的信任度;通过在属性基的基础属性判决条件中加入信任区间,从而激励用户提供优质服务和隔绝恶意用户.

3.2 基于节点信任值的访问控制策略

为了保证共享数据仅能被具有一定可信度的用户进行访问,访问控制策略T不仅包含基本策略T′的属性还引入可访问的信任区间属性,自定义的访问控制策略T可表示为:T=T′∧(Trustupper∧Trustlower),信任度的上下限值Trustupper、Trustlower是数据拥有者根据实际情况进行设定,P2P网络中各节点的信任值是根据信任模型计算所得,信任模型中信任因子传输时延、丢包率、带宽、节点分享率的具体量化和信任值的计算如下所示.

信任因子传输时延的量化:在数据分发中,节点间传输时延tdelay越大,网络存在恶意节点的可能性越大,例如针对消耗网络带宽资源的拒绝服务攻击,用户设定一个可以接受的传输时延阈值σ,不超出此阈值表示节点可信,定义传输时延因子的信任值Td为100;当tdelay超出传输时延阈值σ时,节点相应的可信度也随之下降.基于传输时延特征的信任值Td可表示为公式(1).

(1)

其中α为0.01,阈值σ视具体情况而定.

信任因子丢包率Rp的量化:丢包率越高表明此节点存在潜在恶意行为的概率越高,基于丢包率特征的信任值Tp可表示为公式(2).

Tp=100×(1-Rp)

(2)

信任因子带宽的量化:为保证高效快速的共享传输,通过可用带宽Bavailable与最大带宽Btotal的比值来量化,比值越大基于带宽特征的信任值Tb就越高,可用带宽为0时节点不可信.基于带宽特征的信任值Tb可表示为公式(3).

(3)

信任因子分享率的量化:通过上传数据量和下载数据量的比值来衡量节点在P2P网络中的贡献程度,比值越大即贡献越大,其对应的信任度Ts就越高,根据Ts取值的区间,本文将节点按贡献程度分为优秀、良好、差三个级别.对分享率归一化处理后,基于分享率特征的信任值Ts可表示为公式(4).

TS(shareRate)=100×sigmoid(shareRate),TS∈[0,100]

(4)

(5)

节点的信任值计算:基于以上4个信任因子,我们定义P2P网络中任意节点j的信任值为Tj,即公式(6)所示:

(6)

约束条件如下公式(7)所示:

(7)

其中γi,i=1,2,3,4 代表了4个参数的权重系数.权重系数根据网络真实情况设定,本文取经验值γ1=0.1,γ2=0.2,γ3=0.3,γ4=0.4.

在信任值评估模型中,由公式(6)可知,以用户节点的分享率因子Ts为基础,按照节点的贡献程度对其进行分类评估,当用户节点的贡献程度是优秀时,其信任值评估的分值更高.

对于贡献程度为良好的节点(即大多数一般性节点),只采用传输时延、丢包率、带宽3个因子进行评估,此类节点的信任值由其自身的性能以及链路的状态决定.

对于贡献程度为差的节点,视其为行为自私节点(即只下载,不愿上传的节点).在信任评估模型中利用分享率因子Ts对其进行信任值惩罚,使其整体的信任值降低.如果该节点长期保持这种自私行为,其信任值逐渐降低,当其信任值低于Trustlower时,该节点将被访问控制策略限制访问.

由于在每次数据分发过程中,每个节点的传输时延、丢包率、带宽、分享率都是不同的,从而根据信任模型计算而来的每个节点信任值也是不同的,本文在每一次数据分发结束后,根据信任模型计算每个节点的信任值,并将各节点的信任值上传至区块链中作为下一次数据分发中遏制恶意节点的依据.

3.3 系统架构

复杂网络结构中数据的爆炸式增长给节点的存储和分发共享带来了新的需求和挑战.为了在保证复杂网络的自治与安全性的基础上,实现节点间的海量数据分发共享,本文在P2P系统的基础上,构建了结合区块链和属性基的可信数据分发系统,该系统以点对点的分布式方式保证数据共享的安全、透明和高效.结合区块链和属性基的可信数据分发系统,自顶向下主要包括:应用层、功能层、算法协议层、SDN控制层以及区块链与存储层.

结合区块链和属性基的可信数据分发系统在应用层提供了管理平台,管理平台作为用户和系统的主要交互方式可分为:区块链管理平台和P2P分发管理平台.其中区块链管理平台提供用户注册、登录、信息上链、区块链检索查询以及溯源等功能;P2P分发管理平台提供资源共享等功能.结合区块链和属性基的可信数据分发系统通过区块链管理平台和P2P分发管理平台实现了用户之间数据分发共享的便捷、高效、安全可靠.

结合区块链和属性基的可信数据分发系统的功能业务管理集成在功能层.功能层针对用户的需求提供了个性化的用户功能,例如为保护数据拥有者的数据隐私安全设定个性化细粒度访问控制策略、实现可信数据的分发管理以及通过区块链智能合约进行业务逻辑处理等.

系统的安全有效运行主要依托于算法协议层的正常运行.算法协议层包括提供信息安全所需的密码学算法、根据信任模型计算节点信任值的数据分发算法等.

系统的SDN控制层主要由SDN控制器组成,其主要功能是通过SDN控制器获取P2P网络中各节点的网络状态数据(带宽、传输时延、丢包率),节点的带宽、传输时延、丢包率结合各节点数据分发过程中的分享率进行信任建模和评估,节点评估所得的信任值将作为限制访问粒度的一个属性添加到访问控制策略中.

系统的区块链与存储层以区块链不可篡改、可溯源的特性来保证数据分发过程中元数据信息安全存储与管理,实现数据分发共享过程的追踪溯源,便于监管追责.

3.4 工作流程

在不影响数据分发共享效率的前提下为保证数据真实安全,整个系统可信分发访问的工作流程如图2所示.

图2 系统工作流程Fig.2 System workflow

初始化阶段:初始化系统中的参数,通过执行属性基加密算法的初始化算法Setup产生系统公钥以及主密钥;由SDN控制器获取全网拓扑,收集带宽、传输时延以及数据丢包率等链路参数作为P2P共享分发网络信任模型的信任因子,为加密阶段访问控制策略的设定提供信任度属性,激励用户在数据分发共享中的积极性和抵制恶意用户.

上链阶段:客户端利用Fabric-java-SDK将共享数据文件的描述信息、在IPFS上的存储地址以及经加密的密钥等内容存储至区块链的新区块中,并广播给其他节点实现全网同步完成信息上链,每个事务记录都不可篡改且可供溯源.

访问阶段:数据消费者根据文件ID在链上查得该数据的地址与对称加密密钥,若数据消费者的信任度属性不满足访问控制策略设定的信任区间,则无法得到密钥进行解密,也无法访问原始数据;只有数据消费者的基本属性满足访问控制策略且信任值在数据拥有者接受范围内,才可解密得到存储索引与密钥,根据 IPFS上的存储索引从IPFS集群访问该数据.获取到明文种子文件后即可以启动平台进行下载.

4 数据协同及溯源

由于区块链时间向量的不可逆性和不变性,链上保存的数据不断积累和扩展,故通过链上和链下数据协同管理模型来缓解区块链数据爆炸的问题,同时在保证高效且快速地共享文件的基础上弥补IPFS在安全性和可追溯性方面的缺失,从而提高系统的性能.

4.1 链上数据协同

IPFS没有为用户上传数据文件提供强大的隐私加密算法接口,数据拥有者无法控制哈希与谁共享,缺乏可追溯性功能,本文使用区块链进行数据协同管理.

首先部署Fabric网络,分别为组织中的节点安装用户智能合约和溯源智能合约.用户智能合约主要负责用户管理,例如注册、登录、删除以及账户信息的修改等;溯源智能合约在区块链上存储欲共享文件的元数据,共享成功后自动添加查询文件追溯信息.

另外,数据拥有者上传数据文件到P2P分发管理平台,系统监控到新的数据添加,经对称加密后存入IPFS,发起信息存储及共享交易调用执行相应链码将文件存储位置及相关描述信息存储在区块链上.

4.2 密文脱链存储

传统数据共享方案中一般都由第三方云平台统一存储管理,但中心化的结构为其带来巨大压力,甚至造成整个网络瘫痪;数据的读写均基于长距离的云端也会带来不必要的时延;且随着各类信息服务的推广,对于涉及军事、商业等机密的数据,用户的安全需求也越来越大,第三方平台也不是可被完全信任的,数据可能被能接触到的人员恶意篡改、收集泄露造成严重危害.

为了避免拥有者数据泄露,纳入分布式、安全高效的特点,本文搭建一个私有的基于内容寻址的分布式存储集群IPFS,有共同ipfs-swarm-key的节点才能加入网络,为各用户节点提供存储和检索服务,提高数据传输效率.

如此诸多大规模的城池出现在柴达木盆地的草原与绿洲,绝非偶然,而是出于丝绸之路贸易交流与政治交往的需要而建。当然,这也需要很大的人力物力和财力费用支出,而那些通过贸易致富的吐谷浑上层权贵大多是“泼天富贵”之人,完全有能力建造具一定规模的城池。

在上传文件到私有的分布式存储集群IPFS之前,拥有者需先对其进行加密.针对非对称加密算法,对于不同的共享用户需用对方的公钥加密数据,另一方再用自己的私钥解密下载的密文完成共享,会引发密钥管理困难、资源浪费以及效率低下等问题.本文选用对称加密算法对数据本身进行加密存储至IPFS,数据文件相关的元数据存储在区块链账本中,加解密速度远快于非对称加密,不直接将所有数据全部存入区块链只保存哈希索引的方式也保证了区块链的处理速度.

4.3 数据溯源

通过原始数据文件相关信息和下载原始数据文件的用户信息存储上链从而实现数据共享从原始数据文件产生到被用户下载的全过程数据溯源.

原始数据文件相关信息存储上链:自愿共享数据资源的数据拥有者上传数据文件到P2P分发管理平台生成相关原始数据文件,系统监控到新的原始数据文件经对称加密后存入IPFS,发起信息存储及共享交易调用执行相应智能合约将共享数据文件的描述信息(例如:文件ID、数据拥有者的IP地址)、在IPFS上的存储地址以及经属性基加密的密钥存储在区块链上.

下载原始数据文件的用户信息存储上链:共享成功后,发起信息存储及共享交易调用执行相应智能合约将数据消费者信息及相关描述信息(例如:数据消费者的IP地址)存储在区块链上.

5 属性基加密数据访问控制

基于区块链和文献[27]的CP-ABE算法,结合信任评估机制,实现一个可信的安全密文策略访问控制方案.在该方案中,只有满足访问控制策略的用户才能访问数据,使数据拥有者DO真正掌握数据的管理权.该算法由初始化、数据加密、数据上链和数据访问四个部分组成.在本节算法中使用到的相关符号及其含义如表1所示.

表1 符号及其含义Table 1 Symbols and their meanings

5.1 初始化

以安全参数λ为输入,系统公钥PK和主密钥MSK为输出,执行的初始化算法为Setup(1λ)→(PK,MSK):e∶G0×G0→G1是一个双线性映射,G0(阶为p的循环群)的生成元为g.然后随机选择参数α,β∈Zp,最后输出系统公钥PK={G0,g,h=gβ,e(g,g)α},主密钥为(β,gα).

5.2 数据加密

文件加密和密钥加密是数据加密阶段的两个主要组成部分.

数据拥有者首先将需要共享的数据上传到数据分发平台并生成原始数据文件;其次通过随机生成的AES密钥K对原始数据文件(Files)进行加密得到密文CTF,即:CTF=EncK(Files);最后将密文CTF上传到IPFS私有集群,并获取密文CTF存储在IPFS中的文件地址IpfsAddr.

密钥加密主要功能是使用系统公钥PK和制定的访问策略T将对称密钥K进行加密得到密文CTK,即:Encrypt(PK,K,T)→CTK.为了保证数据拥有者DO真正掌握数据的管理权且共享数据仅能被具有一定可信度的用户进行访问,该方案中的访问控制策略T不仅包含基本策略T′的属性还引入可访问的信任区间属性,自定义的访问控制策略T可表示为:

T=T′∧(Trustupper∧Trustlower)

5.3 数据上链

由于具有不可篡改、可溯源特性的区块链有助于进行安全有效的访问控制管理,该方案将共享数据的原始数据文件相关描述信息、IpfsAddr和CTK存储在链上,并通过广播同步到区块链网络中的其他节点,以供各区块链节点检索和访问.整个共享数据文件的数据加密和数据上传伪代码如下:

输入:λ,Files,UserID,FileID

输出:The result of on-blockchain

1.System executes:

2.K← generate a symmetric key

3. EncryptedFile ←AESencrypt(Files,K)

4. IpfsAddr← store EncryptedFile to IPFS

5.DOformulates access controlT

6.PK,MSK←CP-ABEsetup(1λ)

7. CTK←CP-ABEencrypt(PK,K,T)

8.Contract executes:

9. ifRegistrationContractAuthCheck(UserID)=true

` then

10.TraceContractAddInfo(FileID,IpfsAddr,CTK)

11. end if

12.return True

5.4 数据访问

数据访问主要包括解密密钥和解密文件两个步骤.

解密密钥:数据访问者经系统发出数据访问请求,检索到链上存储的经属性基加密的对称密钥并获取私钥SK,然后通过私钥SK执行解密算法从而获取对称密钥的明文.为降低系统中合法用户破坏网络传输的拒绝服务以及篡改数据的潜在风险,在密钥生成阶段,将信任模型获取到的用户信任值添加到用户属性S=UserAttributes∪Requested_Trust.在解密阶段,当用户属性满足密文的访问控制策略树T,同时用户的信任值满足访问控制策略中的信任范围时,则可对密文进行解密从而获得文件对称加密密钥.

解密文件:通过获取链上存储的索引地址IpfsAddr获取在IPFS上的原始密文数据文件,并利用解密密钥阶段获得的文件对称加密密钥对加密文件进行解密Files=DecK(CTF),数据访问阶段的算法伪代码如下所示:

输入:UserID,FileID

输出:Files

1.DCsenddataaccessrequesttosmartcontract

2.ifRegistration ContractAuthCheck(UserID)=true

3.IpfsAddr,CTK←Trace ContractGetInfo(FileID)

4.endif

5.S←UserAttributes∪Requested_Trust

6.ifuser′sattributesetSsatisfyaccesstreeTThen

7.K←CP-ABEDecrypt(CTK,SK)

10. else

11. no permission to access

12. end if

13.returnFile

6 实验分析

6.1 实验环境

部署项目组前期开发的P2P系统[6],扩展并实现结合区块链和属性基的可信数据分发机制,网络环境的相关硬件配置信息如表2所示.

表2 硬件参数表Table 2 Hardware parameter table

在工作站部署数据分发源服务器,包括数据管理平台、种子资源服务器以及跟踪服务器.配置SDN环境,在安装有virtualbox的win7中,安装两台Ubuntu虚机,一台虚机搭建SDN控制器floodlight,一台虚机安装mininet用于模拟网络拓扑获取链路参数.其他工作站、台式计算机和个人PC充当数据共享分发的下载节点,向种子资源服务器请求数据下载,一起构成基于P2P的数据分发系统.Fabric部署在如表3所示配置的服务器上.

表3 部署Fabric的服务器参数表Table 3 Server parameter table for deploying Fabric

部署Fabric联盟链组织节点的操作系统和使用的软件信息介绍如表4所示.

表4 软件信息表Table 4 Software information table

6.2 节点健康程度对网络分发性能的影响

主要测评当一定比例的恶意节点出现在基于P2P的分发系统中时,恶意节点对系统整体数据分发共享的性能影响,其次测试利用本文方案对恶意节点行为进行遏制后的分发情况.

在实验方案中,将恶意节点数量设置为总下载节点数量的1/3和2/3时,对于出现恶意节点数量不为整的问题均进行向上取整数,如图3所示,当数据分发系统中所有下载节点都为正常节点时,随着系统中下载节点数量的增加,节点的平均下载时间整体呈现一个逐渐下降并稳定的趋势,平均下载时间最终稳定在37-44秒;在相同的网络带宽条件下,随着系统中恶意节点(仅下载而不上传资源共享的自私节点)的逐渐增加,导致数据分发共享的性能逐渐下降,从而平均下载时间也随之增加,由图3的实验结果分析可知,当数据分发系统中存在的恶意节点比例高达2/3时,其平均下载时间甚至是正常情况的2倍,恶意节点的存在严重影响了系统数据分发共享时的性能,同样也违背了P2P网络中各节点互利共享的原则.由图3的实验结果分析可知,建立一种对P2P网络中节点行为进行信任评估并激励正常节点、遏制恶意节点的机制是非常重要的.

图3 平均下载时间对比Fig.3 Comparison of average download time

考虑P2P网络在大量节点规模情况下,随着下载节点数量的增加,平均下载时间曲线会不断的下降,然而,由于受网络带宽的限制,当网络中正常下载节点达到一定数量时,平均下载时间最终会趋于平稳.

通过建立的信任模型对P2P网络中的节点行为进行信任评估并通过访问控制策略中设置的可信区间对恶意节点的服务请求进行遏制,终止恶意节点服务请求后的系统数据分发情况和初始正常情况的对比实验结果如图4所示.

图4 平均下载速度对比Fig.4 Comparison of average download speed

由图4的实验结果分析可知,在带宽资源有限的情况下,当数据分发系统中所有下载节点都为正常节点时,处于稳定状态的数据分发系统其平均下载速度可保持在24MB/s左右,但是当系统中的恶意节点超过2/3时,平均下载速度迅速下降.通过限制恶意节点对资源的访问权限,限制恶意节点的数据下载,恶意节点受限后的数据分发系统虽然和正常节点情况相比其平均下载速度有所下降,但是相比恶意节点不加限制的情况其平均下载速度可以最大提高5MB/s,P2P网络中的正常节点均可充分完成下载和上传,保证了正常节点的带宽使用,提升了数据分发系统的稳定性.

6.3 访问控制机制对数据分发性能的影响

在基于属性基加密的区块链访问控制机制对数据分发性能影响的实验性能测试中,我们主要考虑以下3种情况:

CaseⅠ:通过原始P2P分发系统共享数据;

CaseⅡ:通过BTS-PD[28]共享数据;

CaseⅢ:通过添加访问控制模块的系统共享数据.

由于CaseⅢ引入CP-ABE作为访问控制算法,为了避免P2P网络中的合法用户出现只下载不上传等消极行为,CaseⅢ向用户属性空间引入了基于网络状态和节点分享率评估的信任值属性,针对属性数目对加解密时间的开销影响,本文研究了属性数目对计算成本的影响,其实验结果如图5所示,经实验分析可知属性数的增加将会导致密钥的生成时间开销几乎呈线性增长趋势,属性数的增加对对称密钥K的加解密阶段的影响相对较小,但综合来看整体时间消耗是较短的,可以被用户所接受.

图5 不同属性数目下CP-ABE消耗时间代价Fig.5 CP-ABE consumes time cost under different attribute numbers

在上述3种情况下,分别进行10M数据的分发共享,其实验结果如图6所示.由于CaseⅠ不需要验证种子文件的真实性和从IPFS私有集群中获取真实的种子文件,带宽是影响其系统数据分发时间开销的主要因素,由图6实验分析可知,随着网络带宽的增大,完成数据下载的时间开销也逐渐下降,当网络带宽达到1000M时,系统中的平均下载速度大约22MB/S;在CaseⅡ中,需要计算用户拿到的种子文件的散列值并与根据文件ID从区块链上检索获取的拥有者原始共享文件的散列值进行对比,如果两个散列值不相等,需要从IPFS私有集群中获取真实的种子文件,由于CaseⅡ中使用的测试样例是篡改后的假文件,故其时间开销还包括从IPFS私有集群中获取真实种子文件的时间,但由图6的整体实验结果分析可知,CaseⅡ的分发时间只微慢于CaseⅠ,平均时间开销差为382ms,最大时间开销差也低于400ms;CaseⅢ相比于CaseⅠ和CaseⅡ增加了可信的安全密文策略访问控制方法,其数据分发时间开销的影响因素除了网络带宽外还包含属性基加密算法的时间开销.从图6实验结果分析可知,虽然CaseⅢ的数据分发时间要高于CaseⅠ和CaseⅡ,但是时间开销差距在1s左右不影响用户体验.

图6 10MB数据在不同带宽下的分发时间Fig.6 Distribution time of 10MB data under different bandwidths

综上实验结果分析可得,与传统的基于P2P的数据分发系统相比,本方案在保证数据分发性能的基础上,通过访问控制保护了用户的数据安全和隐私,促使数据拥有者真实掌握数据的管理权,还将用户对数据分发网络的贡献以及当下的网络状态纳入考虑范围,将存在异常行为的恶意用户信任值降低使其下载受限,避免因为存在过多的恶意用户从而导致系统的数据分发性能严重下降,对正常用户造成伤害,而且利用具有不可篡改、可溯源等特性的区块链跟踪记录用户的数据共享过程,保证了数据共享的安全性.

7 总 结

针对P2P分发网络节点间信任关系以及细粒度访问控制问题,提出了结合区块链和属性基的可信数据分发机制.利用SDN控制器基于全网状态获取表征服务性能的传输时延、带宽以及数据丢包率参数,并结合节点在分发过程中的分享率作为评估的影响因子进行信任建模,提升优秀节点的信任值降低自私节点的信任值,以激励用户提供优质服务隔绝恶意用户.针对隐私数据的安全共享问题,提出了一种基于区块链的访问控制方案,利用智能合约技术将原始数据文件的元数据信息以及经CP-ABE加密的密钥文件存储到区块链网络中,实现了对数据访问行为的监控和跟踪.利用具有高可用性的IPFS作为原始密文数据文件的链下存储平台降低网络存储开销,通过链上链下协同管理模式实现了灵活和安全的数据共享以及验证溯源.

猜你喜欢
访问控制密钥加密
幻中邂逅之金色密钥
幻中邂逅之金色密钥
保护数据按需创建多种加密磁盘
谷歌禁止加密货币应用程序
Android密钥库简析
云的访问控制研究
加密与解密
云计算访问控制技术研究综述
校园骨干层网络交换机的访问控制技术
一种新的动态批密钥更新算法