物联网环境下具有有效性验证功能的数据聚合方法与流程

文档序号:17628902发布日期:2019-05-10 23:57阅读:199来源:国知局
物联网环境下具有有效性验证功能的数据聚合方法与流程

本发明涉及物联网环境下的数据聚合技术领域,更具体地说,本发明是一种在物联网环境下具有有效性验证功能的数据聚合方法。



背景技术:

随着无线传感器的广泛应用,无线身体区域网络(wban)也正在广泛使用在医学领域。它是一种小型可穿戴设备的组合,它被称为在远程健康监测系统中附着在病人身体上的医疗传感器[1]。它可以感知人类身体的某些健康数据,例如,心跳速率、血压值和electrocardiography(ecg)等等。这样用户的健康数据就可以通过传感器发送到socialspot(sp),然后上传到医疗数据中心(mdc)。医疗中心可以根据这些数据值来做一些分析。

但是这一过程中存在一些数据隐私和安全问题,用户上传的健康数据并不想让其他人(也包括医疗中心在内)知道自己的隐私数据,包含用户的年龄和用户的数据。假如用户的年龄和相应的血压值等一些敏感信息被恶意的敌手通过不正当手段获取之后,这会给被暴露信息的人群带来某些伤害。同时,如果敌手伪造成合法用户上传非法数据,这对于医疗数据中心分析和诊断某类疾病的发生率是非常不利的。因此,在wban这样一个开放的环境中,保护用户的数据隐私和安全至关重要。为了保护用户数据的隐私和安全,现有的工作主要通过对数据进行加密之后再传输,这样,用户和中间结点(sp)之间、中间结点(sp)和医疗数据中心(mdc)之间数据都是以密文的形式进行传输的,这保证了用户数据的隐私。在wban中,由于有限的计算能力,通信资源,能量和存储,为了节省带宽和能量的消耗,数据聚合技术被应用到加密数据的传输中。现有聚合方案保护了用户数据的隐私,但是他们实现的功能单一,而且大都没有考虑在数据聚合前对数据进行有效性验证,有效性验证对于用户上传的数据是否具有可用性是非常有必要的,尤其是用户的医疗数据,它的真实性和有效性直接关系着医生的诊断是否准确。一个有误的用户数据都可能带来全部的数据分析不可估量的误差,这将直接造成医学资源、时间和精力的浪费。此外,数据分段功能对健康数据的统计和分析也是很重要的,数据分段功能主要实现针对同种属性不同的特征进行统计和分析,医疗中心可以得到层次分明的每个特征对应的数据有何不同,从而有利于医生的诊断、治疗和预防。

2015年,rlu等人在文献《anovelprivacy-preservingsetaggregationschemeforsmartgridcommunications》中首次提出划分范围聚合,但是只能实现两个范围内聚合,并可以得到每个范围内的相对应的和以及用户的个数,但是它无法实现多范围的聚合。2018年,lis等人在文献《privacy-preservingmultisubsetdataaggregationinsmartgrid》中首次提出可以实现多个范围的划分,在保护用户隐私的同时也可以多范围的聚合并得到每个范围相应的结果。但是该方案的数据计算开销过大,也没有考虑用户数据的有效性,而且主要应用于智能电网上仪表数据的聚合,在现有的医学方面的方案中,还没有考虑到多范围的聚合。



技术实现要素:

本发明的目的是为了解决现有技术中的上述缺陷,提供一种物联网环境下具有有效性验证功能的数据聚合方法。

本发明的目的可以通过采取如下技术方案达到:

一种物联网环境下具有有效性验证功能的数据聚合方法,所述的数据聚合方法包括下列步骤:

通过系统初始化算法setup(λ),输入安全参数λ和医疗数据中心mdc设置的k对标志位,输出公共参数pp,同时公开公共参数pp;

通过密钥生成算法keygen(pp),输入公共参数pp,输出系统的主密钥msk、公钥pk以及私钥sk;

通过数据分块算法pardata(d),输入用户数据d的二进制表示形式、窗口大小t,输出用滑动窗口法之后,对用户数据d进行分组,并输出用户数据d分组的表示形式;

通过标签生成算法tokengen(pp,d,msk),输入公共参数pp、用户数据d和主密钥msk,输出标签token;

通过数据加密算法enc(pp,msk,pk,d),输入公共参数pp、主密钥msk、公钥pk和用户数据d,输出密文cipher,其中,数据加密过程包括数据拥有者对数据进行加密,以及医疗数据中心mdc对选定数据范围的边界进行加密,首先是医疗数据中心mdc对范围边界值进行加密,然后把密文发送给中间结点sp,其次是用户上传加密数据到中间结点sp;

通过数据有效性验证算法ver(pp,cipheri,cipherj,token),输入公共参数pp、两个要比较的密文cipheri和cipherj、以及其中一个密文对应的标签token,两个密文中一个密文是用户上传的密文,另一个是医疗数据中心上传的有效范围的边界值,根据比较结果,输出cipheri∈[cr1,cr2]或者若密文在范围内,证明数据有效,若无效,则拒收;

通过数据聚合算法agg(cipher,n)对输入的n个用户的有效的密文cipher进行聚合,然后输出密文聚合结果c;

通过分段解密算法dec(c,sk,k)对用户有效的密文聚合结果进行解密,输入聚合结果c、私钥sk和分段的个数k,输出相对应范围的的明文结果m和范围内用户的个数n。

进一步地,所述的系统初始化算法setup(λ)具体如下:

给定安全参数λ,随机选择一个安全的hash函数h,然后医疗数据中心设置k对标志位(fj,gj),并使(fj,gj)表示相对应子群[aj,aj+1)的标志位,其中j=1,...,k,k表示划分子群的个数,公共参数pp={h,{fj,gj}(j=1,2,...,k)}。

进一步地,所述的密钥生成算法keygen(pp)具体如下:

密钥分发中心kdc生成主密钥msk,选定p阶有限域f上的一条合适的椭圆曲线e,p取值为163位以上的大素数,e(f)表示椭圆曲线e上所有点的集合,其中p为椭圆曲线的基点,阶数为素数q,选择一个随机数x,其中x∈(1,q-1),计算公钥pk。

进一步地,所述的数据分块算法pardata(d)具体如下:

给定一个用户数据d,表示成二进制d=(b0,b1,...,bn-1),bi∈{0,1},通过滑动窗口技术,将用户数据d表示为:b=(b0,b1,...,bm-1),其中,t表示窗口大小,窗口数m=n/t。

进一步地,所述的标签生成算法tokengen(pp,d,msk)具体如下:

输入公共参数pp、用户数据d和主密钥msk,用户通过计算生成标签其中,用户数据d表示为:b=(b0,b1,...,bm-1);

医疗数据中心mdc在初始化阶段调用标签生成算法tokengen(pp,d,msk)生成相对应数据范围[rmin,rmax]的标签

进一步地,所述的数据加密算法enc(pp,msk,d,pk)具体如下:

医疗数据中心mdc选择随机数s∈{0,1}λ,利用生成的标签计算数据分块后每一个窗口对应的密文fi′,得到相对应数据范围[rmin,rmax]的密文[crmin,crmax],然后医疗数据中心mdc发送给中间结点sp;

假定用户ni表示每一个子群[ai,ai+1]中用户个数,则i,j=1,2,…k,i≠j,在用户加密数据之前,用户au首先确定属于哪一个子群,假如au∈[aj,aj+1],则用户选择集合[aj,aj+1]相对应的标志位(fj,gj);

用户首先将明文数据d映射到曲线e上,选择随机数k∈(1,q-1),计算密文c和数据分块后每一个窗口对应的密文fi,然后用户ui发送密文ci=(s,c,(f0,f1,...fm-1))给中间结点sp。

进一步地,所述的数据有效性验证算法ver(pp,cipheri,cipherj,token)具体如下:

中间结点sp在接收到用户上传的密文ci之后,首先将其与crmin进行比较,然后计算比较数据e,

数据有效性验证算法法根据e的大小判定结果,用cmp表示,即

利用此方法,中间结点sp把用户的数据和crmax进行比较,若(c>crmin)∩(c<crmax),即ci∈[crmin,crmax],则合法,中间结点sp接受上传的数据,否则,不予接受上传的数据。

进一步地,所述的数据聚合算法agg(cipher,n)具体如下:

中间结点sp在完成判定用户上传的密文数据是否有效之后,对有效的密文ci进行聚合,聚合结果是然后中间结点sp将聚合结果c上传给医疗数据中心mdc。

进一步地,所述的数据分段解密算法dec(c,sk,k)具体如下:

医疗数据中心mdc接收到中间结点sp上传的聚合结果c之后,先利用私钥sk对其进行解密,计算解密后的聚合结果q,然后通过分离得到每个范围内对应的聚合值mi和用户个数ni,其中,聚合值mi为每一个集合内对应的所有用户数据和,医疗数据中心mdc得到上述数据后对其进行有效分析。

本发明相对于现有技术具有如下的优点及效果:

1)本发明提出了一种具有有效性验证功能安全有效的数据聚合方法。在用户上传给中间结点sp的密文聚合前进行有效性验证,保证了对数据的分析及统计的准确性和有效性。实现了对数据隐私的保护,而且使用户的隐私从原来有可能被泄露到现在完全保护了用户数据的安全。

2)本发明在保证用户数据隐私和安全高效的进行数据聚合的同时,实现了多范围数据统计与分析。

3)安全性证明表明,本方案基于离散对数的困难问题保证了数据的机密性和隐私,同时还可以抵抗合谋攻击,从而保证了用户数据的安全。

4)性能分析表明,与已有的方案相比,本发明在保证用户数据隐私的同时,还具有良好的可行性,在降低开销的同时还节约了带宽。

附图说明

图1是本发明公开的物联网环境下具有有效性验证功能的数据聚合方案的系统结构图;

图2是具有有效性验证功能的数据聚合方案流程示意图;

图3是有效性验证功能具体实现的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

由于无线传感器的迅速发展,带来了医学上一种可穿戴无线传感器技术的成熟,促进了远程医疗的发展,也为人类健康数据分析带来了极大的便利。医疗数据中心mdc为了统计某一地区的某一类健康数据在不同特征范围内的情况,需要用户上传他们的健康数据,这对数据有效性的要求是十分严格的,用户上传数据的过程中存在数据隐私可能泄露的问题。如果用户上传的数据没有在有效的数据范围之内或者上传的数据是伪造的虚假数据,对于医疗数据中心mdc来说,针对数据的统计和分析就会存在很大的问题。同时医疗数据中心需要针对不同属性进行分段统计也是十分必要的,具有很大的实际意义。

本实施例针对以上问题,提出了具有有效性验证功能的一种安全高效的保护用户数据的方案,该方案是基于同态加密技术和滑动窗口技术,实现了数据有效性验证。不但保证了用户数据的隐私,还保证了用户数据的有效性和正确性。而且还具有数据分段功能,可以对不同属性范围内数据的进行聚合。与已有的方案相比,本发明方案在保证用户数据隐私的同时,还具有良好的可行性,同时还能抵抗各种合谋攻击,保证了本方案的安全性,在降低开销的同时还节约了带宽。

下面结合图1对本实施例公开的一种在物联网环境下具有有效性验证功能的数据聚合方法的具体过程进行详细说明。包括如下步骤:

s1、通过系统初始化算法setup(λ),输入安全参数λ和医疗数据中心mdc设置的k对标志位,输出公共参数pp,同时公开公共参数pp。

具体应用中,所述的系统建立算法setup(λ),给定安全参数λ,随机选择一个安全的hash函数h,然后医疗数据中心设置k对标志位(fj,gj),并使(fj,gj)表示相对应子群[aj,aj+1)的标志位,其中j=1,...,k,k表示划分子群的个数。公共参数pp={h,{fj,gj}(j=1,2,...,k)}。

s2、通过密钥生成算法keygen(pp),输入公共参数pp,输出系统的主密钥msk、公钥pk以及私钥sk。

具体应用中,所述的密钥生成算法keygen(pp),密钥分发中心kdc生成主密钥msk,选定p阶有限域f上的一条合适的椭圆曲线e,选p为163位大素数,e(f)表示椭圆曲线e上所有点的集合,其中p为椭圆曲线的基点,阶数为素数q,选择一个随机数x,其中x∈(1,q-1),计算公钥pk。

s3、通过数据分块算法pardata(d),输入用户数据d二进制表示形式,窗口大小t,输出用滑动窗口法之后,对用户数据d进行分组,并输出用户数据d分组的表示形式。

具体应用中,所述数据分块算法pardata(d),给定一个用户数据d,表示成二进制d=(b0,b1,...,bn-1),bi∈{0,1},通过滑动窗口技术,将用户数据d表示为:b=(b0,b1,...,bm-1),其中,t表示窗口大小,窗口数m=n/t。

s4、通过标签生成tokengen(pp,d,msk),输入公共参数pp、用户数据d和主密钥msk,输出标签token。

具体应用中,所述的标签生成tokengen(pp,msk,d),输入公共参数pp、主密钥msk和用户数据d,用户通过计算生成标签其中,用户数据d表示为:b=(b0,b1,...,bm-1)。

医疗数据中心mdc在初始化阶段调用标签生成算法tokengen(pp,d,msk)生成相对应数据范围[rmin,rmax]的标签

s5、通过数据加密算法enc(pp,msk,d),输入公共参数pp、主密钥msk、公钥pk和用户数据d,输出密文cipher。

具体应用中,所述的数据加密算法enc(pp,msk,d),医疗数据中心mdc选择随机数s∈{0,1}λ,利用生成的标签计算数据分块后每一个窗口对应的密文fi′,得到相对应数据范围[rmin,rmax]的密文[crmin,crmax],然后医疗数据中心mdc发送给中间结点sp。

假定用户ni表示每一个子群[ai,ai+1]中用户个数,则i,j=1,2,…k.i≠j,在用户加密数据之前,用户au首先确定属于哪一个子群,假如au∈[aj,aj+1],则用户选择集合[aj,aj+1]相对应的标志位(fj,gj)。

用户首先将明文数据d映射到曲线e上,选择随机数k∈(1,q-1),计算密文c和数据分块后每一个窗口对应的密文fi,然后用户ui发送密文ci=(s,c,(f0,f1,...fm-1))给中间结点sp。

s6、通过数据有效性验证算法ver(pp,cipheri,cipherj,token),输入公共参数pp、两个要比较的密文cipheri和cipherj、以及其中一个密文对应的标签token,两个密文中一个密文是用户上传的密文,另一个是医疗数据中心(mdc)上传的有效范围的边界值,根据比较结果,输出cipheri∈[cr1,cr2]或者若密文在范围内,证明数据有效,若无效,则拒收。

具体应用中,所述的数据有效性验证算法ver(pp,cipheri,cipherj,token),中间结点sp在接收到用户上传的密文ci之后,首先将其与crmin进行比较,然后计算比较数据e,

数据有效性验证算法法根据e的大小判定结果,用cmp表示,即

利用此方法,中间结点sp把用户的数据和crmax进行比较,若(c>crmin)∩(c<crmax),即ci∈[crmin,crmax],则合法,中间结点sp接受上传的数据,否则,不予接受上传的数据。

s7、通过数据聚合算法agg(cipher,n)对输入的n个用户的有效的密文cipher进行聚合,然后输出密文聚合结果c;

具体应用中,所述的数据聚合算法agg(cipher,n),中间结点sp在完成判定用户上传的密文数据是否有效之后,对有效的密文ci进行聚合,聚合结果是然后中间结点sp将聚合结果c上传给医疗数据中心mdc。

s8、通过分段解密算法dec(c,sk,k)对用户有效的密文聚合结果进行解密,输入聚合结果c、私钥sk和分段的个数k,输出相对应范围的的明文结果m和范围内用户的个数n。

具体应用中,所述的数据分段解密算法dec(c,sk,k),医疗数据中心(mdc)接收到中间结点sp上传的聚合结果c之后,先利用私钥sk对其进行解密,计算解密后的聚合结果q,然后通过分离得到每个范围内对应的聚合值mi和用户个数ni,其中,聚合值mi为每一个集合内对应的所有用户数据和,医疗数据中心(mdc)得到上述数据之后,就可以对其进行有效的分析。

在物联网环境下,实现有效性验证的数据聚合方案的具体例子如图1所示。该图由用户(user)、socialspot(sp)、密钥分发中心(kdc)、医疗数据中心(mdc)四个实体组成的。

在无线传感器网络环境中,系统首先进行初始化,密钥分发中心kdc完成系统参数以及对用户数据进行加密以及解密的密钥的生成,通过安全通道,将相应的密钥分发给用户和医疗数据中心mdc,公开公共参数,然后,医疗数据中心mdc选择有效的数据范围[rmin,rmax]并将其转换为相应的二进制代码。同时医疗数据中心mdc使用相同的加密算法对rmin和rmax进行加密,即crmin=enc(bmin)crmax=enc(bmax),然后计算最后,医疗数据中心mdc发送给sp。系统完成初始化过程。初始化完成之后,当用户身上的可穿戴传感器感知到用户的健康数据之后,所有用户使用同态加密算法对自己的健康数据进行加密,并将密文发送给sp站点,sp站点利用具有有效性验证功能的数据聚合方案。在这些密文被聚合之前,sp验证每个密文的有效性,即每个用户健康数据的有效性。若用户上传的密文满足(c>crmin)∩(c<crmax)即ci∈[crmin,crmax]则说用户的数据在医疗数据中心所设定的范围[rmin,rmax]之内,即证明用户上传的数据是有效的,用户数据有效性的验证过程如图3所示。最后,sp将这些有效的密文聚合成单个密文,并将聚合的结果发送给医疗数据中心mdc。然后,医疗数据中心mdc通过它的私钥对聚合的密文进行解密,并获得预先设定好的不同范围内对应的健康数据的总和和每个范围内的用户个数,具体的实现步骤如图2所示。

综上所述,本发明是为了实现在物联网环境下,用户身体上的可穿戴传感器在接收用户的健康数据的同时,保证用户数据的隐私,同时还保证了数据的有效性和正确性。在用户上传自己的加密数据的时候,需要对数据的有效性进行验证,防止非法数据输送导致数据的误差很大,不利于与数据的分析统计,同时本发明在医疗数据中心mdc端实现了数据的分段统计,可以计算出每个子组的数据和以及相应的用户个数,实现了对于每一类数据不同属性进行统计。安全性证明表明,本方案基于离散对数的困难问题保证了数据的机密性和隐私,同时还可以抵抗合谋攻击,从而保证了用户数据的安全。性能分析表明,与已有方案相比,本发明在保证数据正确传输的情况下,明显降低了计算开销,同时节约了传输的带宽。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1