一种用于物联网中安全通信的数字签名方法与流程

文档序号:16462939发布日期:2019-01-02 22:39阅读:660来源:国知局

本发明属于通信技术领域,涉及一种用于安全物联网中传感器网络通信的授权数字签名方案,在适应传感节点的数据处理能力下保障物联网中的数据安全及传感器数据传输的控制,提高物联网数据通信的安全性。



背景技术:

随着传感网络通信的飞速发展,物联网(internetofthings,简称iot)概念始终处于一个动态的、不断拓展的过程。物联网成为继计算机、互联网之后世界信息产业发展的第三次浪潮。在物联网的发展下,人类出行,工作,生活乃至政府企业之间的交互都越来越多地应用到了传感器网络和iot。但是,由于物联网数据处理的特点和对数据质量的要求,保证数据来源可查,数据传输安全,数据有效性可区分以及数据传输的调度控制就显得尤为重要。另外,数据安全还受限于传感器网络(wsns)的节点处理能力有限和监控覆盖广的特点。

数字签名提供了一种解决上述问题的方向,通过数字签名进行节点标记,可打开的签名能保证数据来源信息的完整性。其中双线性配对在密码学中得到了广泛的应用,并表现出可以平衡安全性和效率的优异性能。同时,随着物联网的迅速发展,如何在适应传感节点的数据处理能力下保障物联网中的数据安全及传感器数据传输的控制是对物联网技术发展提出的一个新的挑战。本发明根据这一问题,基于双线性对的无证书签名方案给出了一个解决方法。



技术实现要素:

本发明的目的是在适应传感节点的数据处理能力下保障物联网中的数据安全及传感器数据传输的控制,通过采用授权签名的方式,控制数据发送进程,合理调度签名数据,对签名条件进行限制。同时进行私钥拆分,使得本方案更适于物联网中节点计算能力、存储空间以及能源储备方面的限制。并且本方案使用了时间戳,解决重放攻击的同时也便于数据传送之后的条件筛查,确定数据的正确性。

本发明的技术方案:

一种用于安全物联网中传感器网络通信的授权数字签名方法,步骤如下:

1)参数选取:选择安全参数k,并由参数生成器生成q阶加法循环群(g1,+)和q阶乘法循环群(g1,*),选取p为g1的随机生成元,选取双线性函数e;随机选取s∈zq*作为系统私钥,计算系统公钥。并选取两个安全的哈希函数。

2)签名系统初始化:管理节点向密钥生成中心(kgc)发送其idmn,确定其真实身份后由kgc计算qmn、dmn。选取xmn作为管理节点私密值。并计算私钥和公钥。

3)节点添加:待添加节点ni将其idi发送至管理节点,管理节点随机选取注册值mi∈zq*,将其储存在注册列表lm中,计算mi′=xmn-mi∈zq*,将(mi′,idi)存储在节点列表ln中。

4)部分私钥生成:新添加的节点将其idi发送给kgc确认身份,由kgc同上计算qi=h1(idi)∈g1,di=sqi∈g1。同时节点选取随机值xi作为其私密值保存在本地。节点要进行签名时发送其xi到管理节点,管理节点计算签名节点的部分私钥ski=xiqi+di,计算签名节点的部分公钥pki=xip∈g1。管理节点计算出ski后立即删除该节点私密值xi。

5)完全私钥生成:主服务器从注册列表lm中找到签名节点的注册值mi,结合部分私钥ski及待签名节点的qi,计算完全私钥si=miqi+ski;

6)添加时间戳:节点将待上传的数据消息m进行hash摘要处理后向tts提出时间戳请求。tts时间戳服务器对数据消息m的哈希值和—个日期时间记录进行签名,将生成时间戳、时间戳数据和数据消息m绑定生成m′后返还给节点。

7)签名生成:签名节点ni随机选取ri1∈zq*,计算ri1=ri1p∈g1,将(ri1,idi)发送至管理节点授权进行签名操作请求并随机选取ri2∈zq*,计算ri2=ri2p∈g1,ri=ri1+ri2。将ri发送给节点ni,节点ni计算hi=h2(m′,ri)∈zq*,将(hi,idi)发送给管理节点,管理节点计算qi=h1(idi),σi′=hi(mi′+ri2)qi∈g1。管理节点签名节点的公钥pki,计算σi=hi(si+ri1qi)∈g1。管理节点验证e(p,σi+σi′)=e(pkmn+pki+ppub+ri,hiqi)是否成立,否则拒绝授权进行签名。管理节点随机选取fi∈zq*,计算:

fi=fip∈g1

ηi=fihiqi

ξi=fi+pki+ri

σn=σi+σi′+ηi

σ′n=r2σn

ti=ri2hiqi

管理节点将(idi,hi,ri2,fi)存储在签名跟踪队列lfo中,得到签名后的信息进行传输和发送。

本发明的有益效果:本发明的授权数字签名方法基于双线性对问题,保证方案的安全性和签名效率。同时进行私钥拆分,使得本方案更适于物联网中节点计算能力、存储空间以及能源储备方面的限制。并且本方案使用了时间戳,解决重放攻击的同时也便于数据传送之后的条件筛查,确定数据的正确性。

附图说明

图1为节点添加过程图。

图2为签名节点的部分私钥生成流程图。

图3为签名生成过程示意图。

具体实施方式

以下结合附图和技术方案,进一步说明本发明的具体实施方式。

针对如何在适应传感节点的数据处理能力下保障物联网中的数据安全及传感器数据传输的控制问题。其中节点的身份信息为节点的特殊标识,解决了证书存储和管理的开销问题。考虑到wsns的节点处理能力,本发明将边缘节点的计算量降低,同时将私钥进行拆分,节点处储存私密值,以减小节点处的数据存储量,降低节点的添加和删除复杂度。传感器获得的海量数据具有实时性,按一定的频率周期性的采集环境信息,不断更新数据。这样的特点就要求对节点进行控制和调度。整个签名过程由管理节点进行跟踪和配合,在签名过程中进行签名条件的比对。当大量节点需要对不同数据进行签名时,可由管理节点进行授权调配,保证签名的有序进行。或当节点在进行发送数据前进行签名的时间需要进行把控时,管理节点可以通过授权进行信息签名收发的调控。本发明将签名时间写入数据,以此确定数据的有效性。

本方案基于双线性对问题,通过管理节点的授权实现签名条件下的签名过程控制。设计并实现了由七个阶段组成的方案,包括:参数选取、签名系统初始化、节点添加、部分私钥生成、完全私钥生成、时间戳加盖、签名生成。

参数选取:首先应选择安全参数k,并由参数生成器生成q阶加法循环群(g1,+)和q阶乘法循环群(g1,*)。接下来选取的参数p为g1的随机生成元,选取双线性函数e:g1×g2→g2;随机选取s∈zq*作为系统私钥保留在管理节点中,计算ppub=sp作为系统公钥。并选取两个安全的哈希函数h1:{0,1}*→g1及h2:{0,1}*×g1→zq*

签名系统初始化:首先由管理节点向密钥生成中心(kgc)发送其idmn,确定其真实身份后由kgc计算qmn、dmn,qmn=h(1)idmn∈g1,dmn=sqmn∈g1。随机选取xmn作为管理节点私密值。计算私钥为skmn=xmnqmn+dmn,计算其公钥为pkmn=xmnp∈g1。

节点添加:首先待添加节点ni将其idi发送至管理节点,由管理节点随机选取注册值mi∈zq*,将其储存在注册列表lm中,同时,每次添加节点并选取注册值时都查询注册列表lm,保证其中的值互不相同,若有重复,则重新选取mi∈zq*,直到无重复。计算mi′=xmn-mi∈zq*,将(mi′,idi)存储在节点列表ln中,具体流程如图1所示。

部分私钥生成:在生成节点部分私钥之前,新添加的节点将其idi发送给kgc确认身份,由kgc同上计算di=sqi∈g1,其中di同qi一起由管理节点保存。同时节点选取随机值xi作为其私密值保存在本地。节点每次进行要进行数据传送并签名的时候发送其xi到管理节点,管理节点计算签名节点的部分私钥ski=xiqi+di,计算签名节点的部分公钥pki=xip∈g1,并将其存储在公钥列表lpub中并公开公钥。管理节点计算出ski后立即删除该节点私密值xi,保存本次签名的部分私钥进行后续签名部分,具体过程如图2所示。

完全私钥生成:主服务器从注册列表lm中找到签名节点的注册值mi,结合部分私钥ski及待签名节点的qi,计算完全私钥si=miqi+ski。

添加时间戳:节点将待上传的数据消息m进行hash摘要处理后向tts提出时间戳请求。tts时间戳服务器对数据消息m的哈希值和—个日期时间记录进行签名,将生成时间戳、时间戳数据和数据消息m绑定生成m′后返还给节点。

签名生成:签名节点ni随机选取ri1∈zq*,计算ri1=ri1p∈g1,将(ri1,idi)发送至管理节点进行身份验证及签名请求。管理节点查询节点列表ln确认其真实身份,并检查是否符合签名时间,签名节点标识等签名条件限制,符合条件,则同意签名,授权进行签名操作请求并随机选取ri2∈zq*,计算ri2=ri2p∈g1,ri=ri1+ri2。将ri发送给节点ni,节点ni收到ri后计算hi=h2(m′,ri)∈zq*,将(hi,idi)发送给管理节点,管理节点接收(hi,idi)后计算qi=h1(idi),σi′=hi(mi′+ri2)qi∈g1。管理节点验证idi后查询公钥列表lpub,得到签名节点的公钥pki,并计算σi=hi(si+ri1qi)∈g1。

管理节点验证e(p,σi+σi′)=e(pkmn+pki+ppub+ri,hiqi)是否成立,若成立,则部分签名正确,可以进行后续签名步骤,否则拒绝授权进行签名。验证正确后由管理节点随机选取fi∈zq*,计算:

fi=fip∈g1

ηi=fihiqi

ξi=fi+pki+ri

σn=σi+σi′+ηi

σ′n=r2σn

ti=ri2hiqi

管理节点将(idi,hi,ri2,fi)存储在签名跟踪队列lfo中,以便需要时对数据的签名节点进行身份标识验证。得到签名后的信息进行传输和发送,具体流程如图3所示。

面向物联网对数据传输的时间要求和计算能力的限制,本发明的效率和性能与其他方法相比有较大的优越性。物联网传感节点体积小,成本低,但是计算能力有限。由以上过程可以看出,本发明的公钥私钥生成算法大幅减小。节点添加的资源开销也相应减少,对于物联网中的海量节点布置具有优势,也便于后期产生大量死亡节点时补充添加新的节点,充分减小了边缘的传感节点的计算量,将计算量集中在具有强大计算技术和存储平台支持的管理层。由于物联网节点存储和能量有限,所以其对签名长度和各种密钥的长度具有一定的要求。本发明在减少计算量,确保高安全性的前提下保持了公钥长度不变,签名长度也未发生改变,由于节点处存储拆分后的部分私钥,所以在节点本地的私密值也相应减小,适应了传感器网络中节点的存储限制。

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