一种资源高效的安全数据分享方法及系统与流程

文档序号:15454977发布日期:2018-09-15 00:52阅读:127来源:国知局
本发明涉及数据加密
技术领域
,具体地,涉及一种资源高效的安全数据分享方法及系统。
背景技术
:物联网技术的发展为各行各业提供了越来越多的应用选择。以电子医疗系统为例,系统容量大,速率高,鲁棒性强的高性能网络为电子医疗系统中搭载的各类实时应用提供了更为稳定的网络环境,传感器技术的发展提供了移动性强,易携带的电子医疗终端传感设备,这类设备能够实时采集病人的生理健康数据,使得远程实时获取病人的生理健康数据成为可能。然而,在应用更加丰富的同时,病人生理数据的隐私却不能忽视,电子医疗系统希望不同的角色的数据获取者只能获得其权限范围内的数据,最大限度地减少病人的隐私数据的泄露,从而实现安全而高效的数据分享,属性基加密显然能够很好地满足这个需求。但不幸的是,由于电子医疗系统的终端传感器设备往往是资源受限的,其主要负责数据采集和简单数据预处理操作,很难承担开销较大的加密操作,将现有的属性基加密方案直接部署在电子医疗的实时应用中将会使得终端传感器产生巨大的计算开销,使消息阻塞,应用的实时性无法得到保障,严重影响系统性能。技术实现要素:针对现有技术中的缺陷,本发明的目的是提供一种资源高效的安全数据分享方法及系统。根据本发明提供的一种资源高效的安全数据分享方法,包括:发布者端对原始数据进行预处理得到元数据m,元数据m通过雾节点对称加密方案加密,对称密钥由设定的访问结构保护,只有当订阅者端的属性集合s满足目标密文对应的访问结构时,通过解密服务端解密得到正确的对称密钥,进而恢复出元数据m;所述对称密钥以及所述属性由属性授权端管理;所述访问结构为由发布者端构建的访问树γ,访问树γ的非叶子节点是阈值门,叶子节点与所述属性的值关联,访问树γ包括左子树γu和右子树tc;所述左子树γu由发布者端确定,对应于一条密文;所述右子树tc是用来描述时间戳的叶子节点。较佳的,所述资源高效的安全数据分享方法具体包括:系统初始化步骤:属性授权端选择两个双线性群g0和g1,并且定义一个双线性映射e:g0×g0→g1,其中g0的阶为p,生成元为g,所述属性授权端还将选择两个安全的哈希函数h1(·),h2(·)和参数α,β1,β1≠0,β2≠1和β2≠β1,得到公钥pk以及主密钥mk;密钥生成步骤:所述属性授权端选择和s表示一个订阅者端的属性集合,为每个订阅者产生私钥sk:发布者端加密步骤:发布者端首先执行一个签名策略的密钥产生算法并且获得一个一次密钥对(vk,sk);接着根据密文的内容构建一个访问树γ,γ=γuandtc,定义r和r'分别是子树γu和访问树γ的根节点,随机选择计算k=e(g,g)αs和对称加密密钥ek=h2(k)以及c1=h1s,元数据m由对称加密算法加密并且得到c=encek(m),随机选取一个一次多项式qr'(·)使得qr'(0)=s,并且令qr'(1)=s1,qr'(2)=s2,还需要随机选择一个多项式使得a0=f(0)=s1,其中计算s1i=f(x1),其中xi(i=1,...,n)是从群中随机选取的不同的非零数字,最终计算和并且输出密文cu和签名σ=signsk(cu);雾节点辅助加密步骤:发布者端将剩余元数据m发送给最近的雾节点进行加密;解密步骤:当订阅者端从网络获取目标数据包后,先验证自己的属性集合是否满足目标数据包对应的访问树γ,如果满足,用vk在密文cu上验证签名σ,在验证通过的状态下执行解密,并改写自己的私钥sk,将剩余的密文给解密服务提供端辅助解密。较佳的,当从所述发布者端到所述雾节点的通信信道收到威胁时,所述发布者端计算并公布给雾节点,帮助所述雾节点验证所接收到的秘密{xi,s1i}是否遭到篡改。较佳的,所述雾节点将内部的设备划分为m个任务组,分别承担m个加密任务,每个任务组包含一个主设备和n个从设备,当任务组中的第i(1≤i≤n)个从设备从发布端获得秘密{xi,s1i}时,执行加密。较佳的,所述雾节点执行加密的过程包括:第i个从设备验证份额s1i的正确性,如果验证通过,第i个从设备以从上到下的方式为γu中的每一个节点x选择一个kx-1阶多项式如果x是γu的根节点,那么否则,设yu表示γu的叶子节点的集合,那么第i个从设备计算得到的部分加密密文发送给所述主设备;所述主设备获得首先完成加密的k个从设备的部分加密密文后启动还原程序,最后对密文打包得到最终密文ct。较佳的,所述订阅者端改写私钥sk的方式为随机选取并且计算改写后的私钥为:所述订阅者端将发送给所述解密服务提供端,较佳的,所述解密服务提供端执行解密的步骤包括:步骤1、执行一个递归函数叶子节点先被解密,i=attr(y):对于γu中的非叶子节点x,定义sx是任意kx个孩子节点z的集合,孩子节点z必须满足fz≠⊥,如果没有这样集合存在,函数将会返回⊥,否则,递归函数操作如下:式中,i=index(z),s'x={index(z):z∈sx};最终得到a:步骤2、计算如下配对并得到b:步骤3、将{a,b}返回给订阅者端,订阅者端计算b'=b1/t=e(g,g)αs·e(g,g)rs和并恢复出k和对称密钥ek:ek=h2(k);最后根据对称解密算法得到元数据m:m=decek(c)。较佳的,为每个缓存在路由器的数据包设置一个生命周期,当生命周期结束时,路由器将对应的数据包丢弃,将需要存储的数据发送到云服务器;当一个订阅者端被撤销是,发布者端计算并发送给云服务器,用来替换之前的根据本发明提供的一种资源高效的安全数据分享系统,包括:发布者端、雾节点、属性授权端、订阅者端以及解密服务端;发布者端对原始数据进行预处理得到元数据m,元数据m通过雾节点对称加密方案加密,对称密钥由设定的访问结构保护,只有当订阅者端的属性集合s满足目标密文对应的访问结构时,通过解密服务端解密得到正确的对称密钥,进而恢复出元数据m;所述对称密钥以及所述属性由属性授权端管理;所述访问结构为由发布者端构建的访问树γ,访问树γ的非叶子节点是阈值门,叶子节点与所述属性的值关联,访问树γ包括左子树γu和右子树tc;所述左子树γu由发布者端确定,对应于一条密文;所述右子树tc是用来描述时间戳的叶子节点。较佳的,属性授权端选择两个双线性群g0和g1,并且定义一个双线性映射e:g0×g0→g1,其中g0的阶为p,生成元为g,所述属性授权端还将选择两个安全的哈希函数h1(·),h2(·)和参数α,β1,β1≠0,β2≠1和β2≠β1,得到公钥pk以及主密钥mk;所述属性授权端选择和s表示一个订阅者端的属性集合,为每个订阅者产生私钥sk:发布者端首先执行一个签名策略的密钥产生算法并且获得一个一次密钥对(vk,sk);接着根据密文的内容构建一个访问树γ,γ=γuandtc,定义r和r'分别是子树γu和访问树γ的根节点,随机选择计算k=e(g,g)αs和对称加密密钥ek=h2(k)以及c1=h1s,元数据m由对称加密算法加密并且得到c=encek(m),随机选取一个一次多项式qr'(·)使得qr'(0)=s,并且令qr'(1)=s1,qr'(2)=s2,还需要随机选择一个多项式使得a0=f(0)=s1,其中计算s1i=f(x1),其中xi(i=1,...,n)是从群中随机选取的不同的非零数字,最终计算和并且输出密文cu和签名σ=signsk(cu);发布者端将剩余元数据m发送给最近的雾节点进行加密;当订阅者端从网络获取目标数据包后,先验证自己的属性集合是否满足目标数据包对应的访问树γ,如果满足,用vk在密文cu上验证签名σ,在验证通过的状态下执行解密,并改写自己的私钥sk,将剩余的密文给解密服务提供端辅助解密。与现有技术相比,本发明具有如下的有益效果:本发明能够在实现不同安全需求的同时,显著降低资源受限的传感器的计算开销,提高数据包响应速度,实现高效的用户撤销,进而更好地支持电子医疗等系统的各类实时应用。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:图1为本发明的系统模型图;图2为本发明的访问结构示意图;图3为本发明一种实施例的访问结构示意图;图4为本发明外包加密的过程示意图;图5为本发明与两种现有技术的加密计算开销对比示意图;图6为本发明与两种现有技术的解密计算开销对比示意图;图7为现有的hur的典型的带有用户撤销的cp-abe方案的计算开销示意图;图8为本发明的带有用户撤销的计算开销示意图。具体实施方式下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。如图1所示,本发明提供的一种资源高效的安全数据分享方法,在订阅/发布模式下的系统中得以实施,包括:发布者端1、雾节点2、属性授权机构5、云服务器6、解密服务提供端4和订阅者端3等六个部分组成。其中还包括传输网络7以及其中的路由器701。以电子医疗系统为例:发布者端:发布者的主体是病人,病人身上的传感器等设备采集生理数据信息并进行必要的本地预处理,发布者端决定每一条加密消息所对应的访问结构。雾节点:在每个雾节点中,选出具有较强计算能力和较大存储能力的设备作为主设备,而每个主设备管理一些从设备。一个任务执行组包含一个主设备和若干从设备,以mapreduce的方式执行消息发布者外包的加密任务。假设主设备都是半诚实的,它能够正确执行我们所提出的方案,但是总是对隐私信息好奇并试图获得这些隐私信息。医疗云服务器:在雾—云架构中,医疗云服务器用来辅助雾节点高效地执行计算和存储任务,它也是半诚实的。解密服务提供端:解密服务提供端是半诚实的,它具有充足的计算能力,帮助订阅者承担大量的耗费计算资源的双线性配对操作。订阅者端:订阅者端根据其所拥有的属性集合而享有不同的访问数据的权限,其访问数据的粒度不同。图1展示了所提出的系统模型。首先,发布者端的可穿戴设备和终端传感器诸如血压计,心率测量仪等周期性地收集病人的实时生理数据信息。然后,原始数据在本地进行预处理,并且根据特定的规则进行数据聚合和加密。最后,经过一系列的预处理,加密数据被打包成为数据包并且发送到网络中。每个社区的病人共享同一个雾节点的计算资源,数据聚合和加密操作都可以外包到最近的雾节点以提高执行效率,该雾节点决定使用自己本地的资源进行数据处理或者交给医疗云服务器处理。不同角色的数据访问者作为数据订购者,从网络中获取其感兴趣的数据。他们拥有对应于不同访问权限的属性集合。比如,在远程健康监控(hhm)应用中,一名医生拥有的属性集合是{高级医师,xx医院,心内科},他能够访问病人的实时健康数据,并且及时做出恰当的诊断和治疗意见。而一名研究人员拥有的属性集合是{yy疾病研究机构,研究员,心血管疾病研究室},他能够获得特定区域内罹患高血压疾病的病人的平均胆固醇水平数据。病人的实时健康数据只是做了简单的预处理,比如剔除错误数据等,而平均胆固醇水平数据则需要在原始数据上做加密的数据聚合操作。加密策略用一棵访问树γ来表示,树γ的非叶子节点是阈值门(比如,and门,or门或者k-of-n门),其叶子节点与属性值相关联。树γ的结构如图2所示,它由左右两个子树构成,左子树γu是由消息发布者端确定的树形访问结构,对应于一条特定的密文。比如在hhm应用中,加密病人实时生理数据所对应的树形访问结构可以由图3表示。γ的右子树tc是一个用来描述时间戳的叶子节点,如果一个订阅者的资格在这个时间戳之前被撤销,那么他将不能解密发布者在该时间戳之后产生的密文。与o-cp-abe相关的符号和函数定义如下。numx表示非叶子节点x的孩子节点的数目。假设y是节点x的孩子节点,那么函数index(y)表示与节点y相关联的一个整数。kx是一个非叶子节点x的门限值,parent(x)返回节点x的父节点,attr(x)返回叶子节点x表示的属性值。对于和中的元素集合s,拉格朗日因子δi,s定义如下:在本发明中,原始数据经过发布者预处理得到元数据m,m由一个安全而高效的对称加密方案加密,比如aes。对称密钥由所提出的o-cp-abe方案保护,保证只有当订阅者的属性集合满足目标密文对应的访问结构时,他才能正确解密得到正确的对称密钥,进而恢复出明文m。下面阐述o-cp-abe方案以及它在目标系统模型中的部署。(1)系统初始化(setup):系统初始化过程由属性授权端(attributeauthority)执行。它选择两个双线性群g0和g1,并且定义一个双线性映射e:g0×g0→g1。其中g0的阶为p,生成元为g。属性授权端还将选择两个安全的哈希函数h1(·),h2(·)和参数α,β1,使得β1≠0,β2≠1和β2≠β1。那么公钥为:主密钥为:mk={gα,β1,β2}(3)(2)密钥生成(keygen({s,mk})):密钥生成算法也是由属性授权端执行。设s表示一个数据订阅者的属性集合。属性授权端首先选择和然后为每个订阅者产生私钥sk。(3)发布者端加密(encrypt_u({γu,m})):该算法由发布者端执行。首先执行一个签名策略的密钥产生算法并且获得一个一次密钥对(vk,sk)。接着根据密文的内容构建一个合适的访问树γ=γuandtc,其结构如图2(a)所示,定义r和r'分别是树γu和γ的根节点。随机选择计算k=e(g,g)αs和对称加密密钥ek=h2(k)以及c1=h1s。明文m由对称加密算法加密并且得到c=encek(m)。然后,随机选取一个一次多项式qr'(·)使得qr'(0)=s,并且令qr'(1)=s1,qr'(2)=s2。还需要随机选择一个多项式使得a0=f(0)=s1,其中计算s1i=f(x1),其中xi(i=1,...,n)是从群中随机选取的不同的非零数字。最终计算和并且输出密文cu和签名σ=signsk(cu)。如果从发布者端到雾节点的通信信道受到威胁,则需要加入验证功能,以帮助雾节点验证所接收到的秘密{xi,s1i}是否遭到篡改。但是由于加入验证功能会使得开销变大,因此验证功能只有当信道受到威胁时才启动。为了配合雾节点进行验证,发布者需要计算并将其公布给雾节点中的设备。(4)雾节点辅助加密发布者端将剩余的加密任务外包给离他最近的雾节点。如图4所示,雾节点将其中的设备划分为m个任务组,分别承担m个加密任务。每个任务组包含一个计算和存储能力较强的主设备和n个从设备。当任务组中的第i(1≤i≤n)个从设备从发布者那里获得秘密{xi,s1i}时,mapreduce程序随即启动。map.从设备i首先验证份额s1i的正确性,它计算验证等式(6)是可选的,但是当发布者端和雾节点之间的信道受到威胁时,验证过程是必要的。如果验证通过,从设备i以从上到下的方式为γu中的每一个节点x选择一个kx-1阶多项式如果x是γu的根节点,那么否则,设yu表示γu的叶子节点的集合,那么第i个从设备计算得到的部分加密密文并将其发送给主设备。reduce.主设备被命名为reducer。由于拥有不同计算资源的从设备在mapreduce执行过程中的计算速度有较大差异,为了提高方案执行效率,我们引入带验证的(k,n)门限加密策略。reducer只需要获得首先完成加密的k个从设备的部分加密密文,就可以启动并执行reduce程序。设sk是首先完成外包加密子任务的k个从设备的集合,对于y∈yu,它计算,这里,s'k={xi:i∈sk}。在从前k个从设备上收集到k个键值对之后,主设备计算得到encapsulation.最后对密文打包,得到最终的密文ct。(5)外包解密(oursourcing_decryption(ct,sk))当一个订阅者端从网络中获得了目标数据包之后,他首先验证自己的属性集是否满足对应数据包的访问结构γu。如果满足,算法用vk在密文cu上验证签名σ。如果验证通过,执行下面的配对以及除法操作。接着订阅者端将剩余的耗费计算资源的双线性配对操作外包到解密服务提供端(dsp),为了不泄露给dsp任何密文的信息,订阅者首先改写自己的私钥,改写的方法是,随机选取并且计算改写之后的密钥表示为:订阅者将发送给dsp,这里请求dsp用其充分的计算资源辅助解密,dsp执行如下步骤:step1:dsp执行一个递归函数其中p表示树的一个节点。首先,叶子节点先被解密,i=attr(y):对于γu中的非叶子节点x,我们定义sx是任意kx个孩子节点z的集合,孩子节点z必须满足fz≠⊥。如果没有这样集合存在,函数将会返回⊥。否则,递归函数操作如下:这里,i=index(z),s'x={index(z):z∈sx}。最终得到a。step2:dsp计算如下配对并得到b。step3:dsp将{a,b}返回给订阅者端。在订阅者端收到dsp返回的{a,b}之后,他计算b'=b1/t=e(g,g)αs·e(g,g)rs和并恢复出k和对称密钥ek:ek=h2(k)(19)最后根据对称解密算法得到明文m:m=decek(c)(20)(6)订阅者资格撤销在所提出的o-cp-abe方案中,加入了表示时间的属性tc,将它嵌入到访问树中并且作为一个单独的叶子节点。当一个订阅者的资格被撤销时,属性授权端随机选择和将时间属性tc替换为t'c,将私钥中的e替换为将公钥中的h2替换为并且通过安全的广播方式将e'分发给没有被撤销的数据订阅者。通过这种方式,即使被撤销的订阅者的属性集满足访问结构γu,但是由于时间戳属性发生了变化,他依然不能解密在其资格撤销之后产生的数据包。然而,由于之前产生的数据包依然缓存在网络中,并且这些数据包是在订阅者端资格撤销之前的访问树γ下加密的,因此撤销之后的订阅者依然可以用自己的私钥解密撤销前满足自己属性集的密文。为了解决这个问题,我们为每个缓存在路由器的数据包设置一个生命周期,当一个缓存数据包的生命周期结束的时候,路由器就可以将该数据包丢弃。将需要长期存储的数据,比如重要的聚合统计数据,存储在医疗云服务器上。那么当一个订阅者端被撤销时,消息发布者计算并将它发送给云服务器,用来替换之前的通过这种方式,撤销之后的订阅者端将不能解密之前产生的数据,因为此时计算式(17)将得到⊥。a.安全性分析(1)方案正确性证明这里证明,当应用可验证的(k,n)门限秘密分享策略以mapreduce的方式实现外包加密时,解密结果的正确性。首先,对于每一个叶子结点y:对于每一个非叶子结点x,执行如下递归过程:最后,在访问树γu的根节点r处,因此,方案的正确性得到保证。(2)外包加密安全性按照我们的假设,在一个加密任务执行过程中,主设备是诚实的,以此保证reduce过程的正确执行。同时,本方案采用一个可验证的(k,n)门限秘密分享策略实现mapreduce加密外包过程,当发布者和雾节点之间的信道受到威胁时,每个从设备可以验证他所收到的秘密份额的正确性。暴露小于k个份额将不会泄漏秘密s1,小于k个从设备合谋无法恢复秘密s1;即使n-k个份额被破坏或者丢失,秘密依然可以由剩余的k个份额恢复,因此系统有很强的鲁棒性。(3)外包解密安全性在将部分解密任务外包给dsp之前,订阅者改写了自己的私钥,随机选取作为私钥d的指数。因此半诚实的dsp只能获得和e(g,g)αst·e(g,g)rst,但是无法得到和e(g,g)rs,因此dsp无法获得解密密钥。(4)数据发布者身份认证本发明的方案中添加了签名策略,当数据订阅者从网络中获得期望的数据包,他首先用签名公钥vk验证发布者的签名。如果验证成功,它用私钥解密消息,否则,他丢掉数据包,因为数据可能被篡改了。(5)前向和后向隐私性当数据订阅者资格撤销时,方案自然地满足后向隐私性,这是因为在更新私钥e之后,撤销的订阅者持有的是过期的私钥,因此无法正确地解密在订阅者资格撤销之后产生的数据包。进一步地,本方案可以很容易地扩展,只需要很小的通信和计算开销就能使之在订阅者资格撤销之后满足前向隐私性。b.理论评估本发明的理论评估是通过分析方案中涉及的在群g0和g1上各种密码操作的数量来说明其优越性。评估的密码操作包括双线性配对,模乘,模乘方,哈希等。假设在秘密分享方案中有n个参与者,k表示门限,访问树γu有b个属性。表1比较了在外包加密的mapreduce过程中,消息发布者和每个雾节点在群g0和g1上执行的模乘方运算,以及在群g0上的哈希运算和模乘运算的数量。表1:发布者和雾节点执行的密码运算数量比较表2比较了在解密过程中,消息订阅者和dsp执行的模乘方运算,模乘运算,除法运算和配对运算的数量。表2:发布者和dsp执行的密码操作的数量比较g1上的模乘方g1上的乘方g1上的除法配对运算dspb2bb2b+1订阅者2212以上分析表明,在雾节点和dsp上执行的外包密码计算开销随着属性数量的增加成线性增加。然而,消息发布者和订阅者只承担常数数量的密码操作,不随属性数量的增加而增加。利用雾节点的计算力承担外包加密计算,一方面大大降低了终端传感器的计算负载,降低了响应延时;另一方面实现了计算资源的高效利用。另外,当发生订阅者撤销时,我们的方案只操作常数数量的模乘方运算就能实现后向隐私性。c.实验分析本发明的实验分析用来评估所设计的安全数据分享方案的效率。首先比较双线性配对,模乘方和模乘运算在不同配置的计算机上所需的计算开销,表3比较了这三种运算在医疗传感器(8bit-8mhzatmega128l,4kbram),普通的个人计算机pc_a(四核2.8ghzcpu,4gbram),普通个人计算机pc_b(1ghzcpu,2gbram)和一个口袋pc(600mhzcpu,1gbram)上的计算开销。表3:不同密码运算的计算开销(单位:毫秒)双线性配对模乘方运算模乘运算pc_a7.570.5040.026pc_b15.12.80.16口袋pc20845.614医疗传感器254719845101下面比较本发明设计的o-cp-abe方案,基于(n,n)秘密分享策略的外包加密cp-abe方案(记为方案1)以及bethencourt的没有采用外包策略的cp-abe方案(记为方案2)的平均加解密时间。实验结果如图5、6所示,从图中看出,不论是加密还是解密,本发明的方案都使用了相对较低的计算开销,因此可以更好地承载电子医疗系统的各类实时应用。最后,图7、8比较了当发布者资格遭到撤销时,本发明的o-cp-abe方案和hur的典型的带有用户撤销的cp-abe方案的计算开销。可以看出,在hur的方案中,发布者撤销带来的计算开销随着密文规模和访问结构中的属性个数的增加成线性增长,而本发明的o-cp-abe方案则保持常数的计算开销。本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1