一种具有隐私保护功能的数据安全聚合方法与流程

文档序号:18133662发布日期:2019-07-10 10:26阅读:703来源:国知局
一种具有隐私保护功能的数据安全聚合方法与流程

本发明是一种针对大规模无线传感器网络的数据汇聚与融合算法,能够保护敏感数据的隐私性。属于数据安全的技术领域。



背景技术:

物联网中存在着物的信息表示形式多样化和物的信息使用主体理解能力不足之间的矛盾,因此现有的隐私保护方法并不能很好地解决物联网隐私保护问题。

目前传感器网络的数据聚合算法大多采用基于对称密码算法(skc-based)的安全机制,此类安全机制难以解决密钥安全分配和更新,数据来源可信和隐私保护等问题。以目前广泛使用的基于tinyos操作系统的链路层安全机制tinysec为例,该机制在全网中共享唯一的对称密钥,且本身不支持密钥更新,研究表明,采用这样的密钥管理模式tinysec最多支持2个数据包的安全传输,在一些长期观测项目中难以实用,(以大鸭岛为例tinysec仅能保证约45天的安全传输),同时由于全网共享相同的密钥,很容易造成网络安全的单点崩溃。



技术实现要素:

技术问题:本发明的目的是提出一种具有隐私保护功能的数据安全聚合方法,解决数据聚合过程中的隐私性和机密性。

技术方案:目前关于传感器网络密钥安全的分发主要有两类:随机密钥预分配和基于公钥的密钥分配方法。随机密钥预分配的基本思想是在基站端建立一个密钥池,在网络部署之前每个节点预存密钥池中的一个子集,当网络拓扑形成之后,相邻的两个节点检查是否有共享的密钥。此类密钥分配方法的缺点在于密钥存储量大,网络连通性和安全性也较弱。基于公钥的安全机制如tinypbc支持在无公钥基础设施的情况下实现密钥的建立和更新,并在一定程度上支持密钥认证,抵抗中间人攻击,有较强的安全性,但计算量偏高。

本发明是一种具有隐私保护功能的数据安全聚合方法,在数据聚合过程中采用基于身份的带认证密钥协商机制、同态加密机制和聚合签名机制;能够解决数据聚合过程中的隐私性和机密性,在保证系统安全性的前提下同时降低对系统运行效率的影响;其具体方法为:

1)建立基于身份的带认证密钥协商机制:在基站部署基于身份的私钥生成器pkg,基站为每个节点导入公共参数、节点身份id以及节点的私钥s;初始化完成之后,节点通过基于身份的轻量级隐式认证密钥建立算法tinyibak执行密钥协商;

2)建立基于双线性映射的端到端完整性验证协议:构建一种可聚合的签名机制,在该机制中,不同用户对不同消息计算的签名可以聚合成一个签名,能够为传感器网络提供支持网内处理的端到端完整性验证机制;考虑到签名机制涉及到计算较复杂的对运算,结合同态散列函数,进一步降低聚合数据的完整性保护机制;

3)建立基于同态加密的端到端隐私保护算法:选择椭圆曲线加密算法elgamal作为同态隐私保护方案的核心密码算法,在传感器节点操作系统tinyos内置聚合协议tag以及混合能量高效的分布式传感器网络分簇聚合算法heed的基础上,构建基于elgamal的隐私数据聚合方法,保障数据在网内处理和传输过程中的隐私性,优化隐私保护安全聚合算法的性能。

本发明在传感器节点中集成了基于身份的带认证密钥协商机制,在不降低网内数据处理的效率的前提下,保证高混杂场景下端到端数据隐私性、完整性和可用性,提高系统的安全性能。相比于已有同类数据聚合算法,本发明具有如下安全性质:(1)抗毁性(resilience):单个节点被俘获不影响其他对偶节点通信的安全性;(2)可扩展性(scalability):协议开销不随网络规模扩张而显著上升;(3)动态性(dynamic):支持密钥更新和网络拓扑变化;(4)有效性(efficiency):协议开销满足传感器节点的资源限制,且密钥连通性高。同时本发明还建立同态加密机制和聚合签名机制,在保证系统安全性的前提下尽可能降低对系统运行效率的影响。

有益效果:本发明具有以下特征:

协议无关的设计模式:应用层功能设计与底层通信协议完全隔离,具有完整的网络控制和数据显示的功能,以及独立的应用层数据包协议格式,对于主流的传感器网络通信协议(如tinyos和zigbee的通信协议)具有良好的兼容性和扩展性;

支持自唤醒机制的动态能量管理:当节点监听到要消息时紧急唤醒处于休眠状态的无线收发机,从而确保传感器节点无论是否处于休眠状态,都能够接收到重要数据并及时通知网关。该机制能在保证数据采集精度的同时尽可能地降低值守周期,从而降低能耗;

灵活多样的数据采集和网络配置方式:系统提供时间驱动、事件驱动和查询驱动三种数据采集模式,同时提供多种不同粒度的网络配置方式,该系统既可以针对单一节点进行精密控制,如唤醒休眠中的节点,控制节点的值守周期等,也可以针对通信协议进行全局配置,如设置路由发现的启动门限等。

系统状态的实时跟踪与动态显示:提供不同粒度的系统状态监测功能,既可以跟踪单个节点内部运行状态的变化,也可以跟踪全局网络的拓扑,数据流量的变化,同时支持状态的同态显示。用户可以及时捕捉到网络中发生偶发变化,在短时间之内做出应对。

支持数据隐私保护:引入轻量级公钥密码技术,弥补对称密码在密钥分配方面的不足,并结合传感器网络反向多播的数据传输特征,构建支持网内数据处理的隐私数据传输与来源认证的安全解决方案。

附图说明

图1是轻量级密码算法库的构建策略示意图,

图2是跨平台轻量级密码库的构建过程示意图,

图3是tinyibak会话密钥协商过程示意图,

图4是tinyibak软件实现架构示意图,

图5是可聚合签名的原型代码实现框架示意图。

具体实施方式

本发明的一种具有隐私保护功能的数据安全聚合方法为:在数据聚合过程中采用基于身份的带认证密钥协商机制、同态加密机制和聚合签名机制;能够解决数据聚合过程中的隐私性和机密性,在保证系统安全性的前提下同时降低对系统运行效率的影响;其具体方法为:

1)建立基于身份的带认证密钥协商机制:在基站部署基于身份的私钥生成器pkg,基站为每个节点导入公共参数,节点身份id(可以是节点的mac地址),以及节点的私钥s;初始化完成之后,节点通过基于身份的轻量级隐式认证密钥建立算法tinyibak执行密钥协商;

2)建立基于双线性映射的端到端完整性验证协议:构建一种可聚合的签名机制,在该机制中,不同用户对不同消息计算的签名可以聚合成一个签名,能够为传感器网络提供支持网内处理的端到端完整性验证机制;考虑到签名机制涉及到计算较复杂的对运算,结合同态散列函数,进一步降低聚合数据的完整性保护机制;

3)建立基于同态加密的端到端隐私保护算法:选择椭圆曲线密码版的elgamal(ec-eg)作为同态隐私保护方案的核心密码算法,在现有的聚合协议(tinyos内置聚合协议(tag),混合能量高效的分布式传感器网络分簇聚合算法(heed))上构建基于elgamal的隐私数据聚合方法,保障数据在网内处理和传输过程中的隐私性,在不同网络拓扑、不同安全等级下的提高执行效率和降低系统开销,优化隐私保护安全聚合算法的性能。

1.轻量级密码算法与跨平台密码库(lwcrypt)

针对现有开源密码库存在的问题,本发明选择benlynnpbclibrary和openecc作为蓝本,重写应用程序接口(api)函数,修改了原函数库中依赖于linuxgmp和openssh标准库的部分,使其能在资源受限的传感器节点平台上运行。同时在对运算中;引入二进制域上的超奇异椭圆曲线作为基准曲线以加快密码操作的执行速度,减小ram开销;优化代码结构,压缩最终生成的二进制映像体积,以适应节点有限的存储空间,公钥密码技术的轻量化,其策略如图1所示。

在算法库的构建过程中,我们发现,影响密码计算整体效率的操作为:大整数模(limr)运算,大整数乘法以及幂运算(lims),椭圆曲线点乘运算(ecsm)运算,双线性对运算(bp)。我们分析了这四个操作在传感器网络节点上的具体实现,及其执行时间和系统开销,提出如下优化方案:

(1)大整数模运算(limr)的优化

传感器网络平台上的椭圆曲线使用素数域f作为基域,在加密解密过程中频繁涉及到对大素数p的模运算(每次采用不同的除数m)。传统的limr通常直接采用算术除法来实现,在椭圆曲线密码运算中效率很低。本发明采用berrettreduction算法,将任意整数的模运算转换为两次乘法运算和对2的模运算,保留中间信息,降低模运算的运算成本。

(2)大整数乘法和幂运算(lims)的优化

传统的lims运算需要在数组中存储底数和阶数,无法有效利用传感器节点mcu的寄存器,本发明引入gura设计的面向汇编代码的hybridmultiplication算法,提高mcu寄存器的利用率,减少存储器与寄存器之间的互操作,减少lims的执行时间。

(3)椭圆曲线点乘运算的(ecms)的优化

点乘是ecc密码算法使用最为频繁的操作,有统计表明点乘的执行时间占整个ecc密码算法运行时间的90%左右。椭圆曲线在仿射坐标系上实现点乘运算需要使用代价非常高的模逆(modularinverse)运算,通常将椭圆曲线映射到投影坐标系上,并将模逆运算转换成若干个模乘运算来实现。本发明引入hankson提出的基于投影坐标系的mixpointaddition算法和repeateddoubling算法,提高ecsm的运算效率。

(4)双线性对运算(bp)的优化

选择二进制域f上的超奇异椭圆曲线y+y=x+x实现双线性对运算,能够获得最好的处理速度和最小的内存占用。

在优化关键密码操作的基础上,本发明还实现了密码算法库的跨平台特性。由于目前主流的传感器节点大多使用中低端单片机作为核心微控制器,而只有gcc-make工具链能够同时在多种单片机平台上实现程序的编译、连接、下载,所以本发明选择开源软件cmake,根据用户设置生成特定平台下的自动化编译脚本(例如avr-gcc、msp-gcc、arm-gcc、ppc-gcc的make脚本),以触发源代码中的条件编译语句,从而实现同一源代码在不同架构的节点上的动态配置,其过程如图2所示。

2.基于身份的带认证密钥协商方法

传感器网络缺乏公钥基础设施(pki),无法像传统无线网络(如wifi,wimax)那样提供公钥的授权和发布,在对密钥建立过程中容易受到中间人攻击。为了解决这一问题,本发明引入基于身份的离线密钥部署机制。其主要思想是:在基站部署基于身份的私钥生成器(pkg),在网络部署之前,基站首先完成系统初始化,为每个节点导入公共参数,节点身份id(可以是节点的mac地址),以及节点的私钥s(利用身份密码学的算法计算)。初始化完成之后,需要建立对密钥的节点通过本发明提出的基于身份的轻量级隐式认证密钥建立算法tinyibak执行密钥协商,其过程如图3所示。

其中临时公钥w,w由协议参与者的公钥和随机数时间戳经过安全散列函数生成,保证每次密钥协商都能产生完全不同的共享密钥,利用过去的对密钥无法导出当前的对密钥。由于只有节点a(b)能够计算w(w),因此可将w看作一种“隐式签名”,通过这种方式隐式地认证了交换信息的来源,从而能够抵抗中间人攻击。通过每方只需计算一个双线性对函数值即可得到一个共享的会话密钥,计算量适中。

当节点被基站判定为故障节点或恶意节点时,基站可以通过广播节点私钥的方式执行对节点的密钥撤销。当有新节点加入网络时,网络管理系统执行初始化步骤,给新节点预存节点标识符id,节点私钥d,系统参数;新节点部署后执行tinyiake即可与邻居节点建立共享会话密钥,不影响网内其他节点。

在tinyos-2.x上实现了tinyibak算法,该算法建立在本发明提出的轻量级跨平台公钥密码算法库(lwcrypt)的基础上。算法的实现架构如图4所示,整个算法由三个tinyos组件构成:keyagree组件负责生成临时公钥并计算共享秘密;identityverify组件使用hmac算法计算并验证用户双方id和临时公钥的认证标签;secprimitives组件封装来自lwcrypt密码函数库的基本安全原语,并为其他组件提供访问接口。同时tinyibak还使用tinyos系统内置的timer和random接口(分别由timerc和randomlfsr组件提供)来处理密钥协商过程中的随机时延。当接收到来自密钥协商会话发起方的请求,节点启动定时器随机延迟一段时间之后发送数据,防止信道阻塞。

3.基于双线性映射的端到端完整性验证协议

gdh(gapdiffie-hellman)群在该群上解决cdh(computationaldiffie-hellman)问题困难,而解决ddh(decisiondiffie-hellman)问题容易。本发明利用gdh群的这一特殊性质,构建一种可聚合的签名机制。在该机制中,不同用户对不同消息计算的签名可以聚合成一个签名,能够为传感器网络提供支持网内处理的端到端完整性验证机制。其基本思想是利用weil对和tate对从特定的椭圆曲线(超椭圆曲线)中构建gdh群对,并据此构建可聚合的签名机制。

考虑到签名机制涉及到计算较复杂的对运算,本发明结合同态散列函数,进一步降低了聚合数据的完整性保护机制,系统的实现架构如图5所示。

4.基于同态加密的端到端隐私保护算法

本发明从研究椭圆曲线密码的同态性质入手、分析各算法加密、解密的计算开销,由明文产生密文的比特扩张规模等;然后根据不同网络应用环境与拓扑结构,筛选适合的加密算法,并以此为基础构建相应的同态隐私保护机制。

为了满足传感器网络的应用需求,同态加密算法必须满足以下四项要求:

(1)加密算法具有同态性质,支持加密数据的网内数据处理;

(2)加密算法产生的密文要相对短,由加密带来的数据位数的增加不能太多;

(3)加密算法的计算量要相对小,在传感器节点执行的加密操作开销不能太大;

(4)加密算法能抵抗节点俘获攻击,节点中无需存储敏感的密钥,部分节点被俘不会泄露聚合数据。

根据这四项要求,我们筛选出ec-ou、ec-ns、ec-p和ec-eg四种具有同态性质的椭圆曲线密码的派生算法,通过比较计算开销、密文长度等指标,我们选择椭圆曲线密码版的elgamal(ec-eg)作为同态隐私保护方案的核心密码算法,该算法在执行加密聚合时只需要两个点加操作,对网内处理的效率影响很小。

以ec-eg同态加密算法为核心,可以构建支持网内处理同态隐私保护方法,该方法由四个概率多项式算法构成:

(1)密钥产生(kg):运行kg(1)产生基站的公私钥对(pk,sk)。各节点以pk加密消息,基站以sk解密消息;

(2)加密(e):对于给定的明文m,投掷随机硬币r,执行加密函数e输出密文c=e(m;r),设置头部hdr=φ,输出(hdr,c);

(3)聚合(a):对于密文(hdr,c)和(hdr,c),利用ec-eg的同态性质,产生聚合值c=a(c,c)和hdr=hdr∪hdr,输出聚合值(hdr,c);

(4)解密(d):对于接收的加密聚合值c和其头部hdr,基站利用私钥sk执行解密函数d解密c,输出x=d(c)作为明文聚合值。其中,集合hdr中的元素为参与聚合节点的id。

本发明在现有的聚合协议(tag,heed)上构建基于ec-eg的隐私数据聚合方法,保障数据在网内处理和传输过程中的隐私性。在此基础上,分析了上述隐私保护安全聚合方案在不同网络拓扑、不同安全等级下的执行效率和系统开销,并进一步优化算法的性能。

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