低通信开销的无线体域网密钥产生方法与流程

文档序号:15951322发布日期:2018-11-16 20:30阅读:218来源:国知局
低通信开销的无线体域网密钥产生方法与流程

本发明属于无线网络安全技术领域,具体涉及无线体域网的密钥产生方法,可用于无线体域网内两节点之间的信息保密传输。



背景技术:

无线体域网WBAN是一种附着在人体上的小型无线传感器网络,可用于老年人和慢性病患者生命健康状态的远程实时监测,对缓解医疗资源紧缺和助老助残等社会问题具有积极作用。用户个人生理数据在WBAN中传输时,面临着数据遭受恶意窃取引起的个人隐私泄露,以及数据被恶意篡改导致的错误诊疗等问题,因此,保护WBAN的数据安全通信是一项重要的应用需求。安全通信首要解决的问题是WBAN节点之间密钥的安全建立。

由于小型化、低功率的各类传感器是支持WBAN的必要条件,因此,可实用的WBAN节点密钥的产生方法应满足低复杂度、低通信开销、小存储空间的要求。人们发现心电信号的脉冲间距IPI特征可作为WBAN节点之间密钥产生的信息源。为了克服传感器在测量IPI特征时引入的误差,Venkatasubramanian K K,Banerjee A,Gupta S K S.等人提出利用保险箱的PSKA方法,它基于多项式重构的原理,一个节点根据自己的密钥确定特征多项式,并利用测量的IPI特征生成若干个真特征,再掺入一定数量的假特征构成保险箱发送给其他节点,接收节点根据自身的IPI特征与保险箱进行模糊匹配,只有两节点的IPI特征相似度较高它才可以正确重构发送节点的特征多项式,进而得到发送节点的密钥。但是该方法存在一个问题,它的安全性完全依赖于保险箱中掺入假特征的数量,如果发送的假特征的数量过少,则真实特征的安全难以保证,因此,通常需要发送大量的假特征,这造成了大量的通信开销。



技术实现要素:

本发明的目的在于针对上述已有技术的不足,提出一种基于人体心电信号特征的无线体域网密钥产生方法,通过优化假特征的数目降低通信开销。

本发明的技术思路是:对发送节点提取的心电信号特征添加特定的标签,并在进行哈希变换和截断处理的基础上混入假特征,将假特征和真特征随机排序作为保险箱发送给接收节点,接收节点通过对本地的真特征添加不同的标签并进行哈希变换和截断处理,与保险箱中的特征进行匹配,以找到两节点拥有的相同特征来生成密钥。

根据上述技术思路,本发明的实现方案包括如下:

(1)无线体域网中的发送节点A与接收节点B同时对人体的心电信号进行采集,获取发送节点A和接收节点B采集的心电信号XA与XB,两节点分别对各自的心电信号进行特征提取,得到发送节点A和接收节点B的原始特征向量GA与GB;

(2)发送节点A与接收节点B分别对原始特征向量GA与GB进行特征筛选,得到各自的优选特征向量FA与FB,并将各自的优选特征向量进行Q比特的量化得到发送节点A和接收节点B的特征码序列YA和YB,发送节点A将它的特征码序列YA的长度N发送给接收节点B;

(3)发送节点A根据自己的特征码序列YA生成保险箱序列Box:

3a)发送节点A对它的特征码序列YA添加标签得到它的标签特征码序列

其中,表示发送节点A的标签特征码序列的第n个元素,n∈[1,N],标签特征码序列的长度等于N,yA(n)是特征码序列YA的第n个元素,Dec2Bin(n,P)表示将十进制整数n转换为它所对应的长度为P比特的二进制码表示。这里,表示向上取整运算,“|”表示将两个二进制码顺序连接的操作;

3b)发送节点A构造截断码序列TA:

TA=[tA(1),tA(2),…,tA(n),…,tA(N)],

其中,tA(n)是截断码序列TA的第n个元素,n∈[1,N],截断码序列TA的长度等于N,Hash(·)表示哈希运算,表示对哈希值取最高W位比特,W是一个不大于的长度的正整数;

3c)发送节点A用自己的截断码序列TA和所产生的假特征码序列MASK构造保险箱序列Box,并将它发送给接收节点B;

(4)接收节点B根据所接收的保险箱序列Box和特征码序列YA的长度N,对自己的特征码序列YB进行特征匹配检测:

4a)接收节点B分别初始化本地匹配索引序列Z和异地匹配索引序列V为空序列;

4b)接收节点B构建它的候选标签特征码矩阵

其中,是候选标签特征码矩阵的第m行第n列元素,m∈[1,M],n∈[1,N],M为接收节点B的特征码序列YB的长度,yB(m)是接收节点B的特征码序列YB的第m个元素;

4c)接收节点B构建它的候选截断码矩阵

其中,是候选截断码矩阵的第m行第n列元素,m∈[1,M],n∈[1,N],表示对哈希值取最高W位比特;

4d)接收节点B依次对保险箱序列Box中的每个元素进行匹配查询:

若当前被查询的元素与候选截断码矩阵中的一个元素相等,则认为它是一个匹配码,将匹配码在候选截断码矩阵中的位置,即行序号和列序号分别添加到本地匹配索引序列Z和异地匹配索引序列V中;

否则,对本地匹配索引序列Z和异地匹配索引序列V不执行任何操作。

(5)接收节点B将本地匹配索引序列Z的长度UZ与预先设定的门限Thresh进行比较:如果UZ≥Thresh,则接收节点B将异地匹配索引序列V发送给发送节点A,执行步骤(6);否则,接收节点B结束密钥生成,其中,门限Thresh是一个正整数;

(6)发送节点A和接收节点B分别根据异地匹配索引序列V和本地匹配索引序列Z找出各自的共有特征码序列SA和SB,并分别对共有特征码序列SA和SB进行串连哈希处理得到两个相同的密钥KeyA和KeyB。

本发明与现有技术相比具有以下优点:

1)本发明由于在公共信道发送的是标签特征码的哈希值,与现有方法直接发送特征码的方式相比,扩大了攻击者对密钥的搜索空间,增大了密钥的破解难度;

2)本发明由于对真实特征码添加了标签并进行随机置乱,在不降低安全级别的前提下使需要发送的假特征数目小于现有方法,降低了通信开销。

附图说明

图1为本发明的实现流程示意图;

图2为本发明的识别性能曲线;

图3为本发明与现有PSKA方法的通信开销对比图。

具体实施方式

附着在人体的WBAN传感器节点需要将所采集的各种生理信号安全地传递给无线体域网WBAN的数据汇集传感器节点,为了对所传输的数据进行加密,这两个传感器节点同时采集人体的心电信号,使用本发明方法产生了这对节点共享的一对对称密钥,用来对要传输的各种生理信号进行加密。

下面结合图1对本发明作进一步的描述。

步骤1,心电信号采集与特征提取。

1a)无线体域网中的发送节点A与接收节点B同时对人体的心电信号进行采集,并将获取的样本按照时间顺序排列,得到发送节点A和接收节点B采集的心电信号XA与XB;

1b)发送节点A与接收节点B分别对各自的心电信号进行特征提取,得到发送节点A和接收节点B的原始特征向量GA与GB:

现有的心电信号特征提取方法,主要有S.K.Zhou等人提出的基于Hilbert变换的QRS波群检测方法,A.Ruha等人提出的基于匹配滤波的心率变化特征提取方法,Fatemain等人提出的基于小波分解的特征提取法等,本实例采用基于阈值的R波检测方法提取心电信号的脉冲间距特征,其具体步骤如下:

1b1)无线体域网中的发送节点A和接收节点B分别对所采集的人体心电信号XA和XB进行小波变换去噪,得到无噪心电信号

其中,表示无噪心电信号中的第i个值,i∈[1,Num],Num表示无噪心电信号的长度,d=A或B,当d=A时,是发送节点A的无噪心电信号,当d=B时,是接收节点B的无噪心电信号;

1b2)对无噪心电信号采用基于阈值的心电R波检测方法确定每个R波波峰的位置,得到R波的波峰索引序列Indd:

Indd=[indd(1),indd(2),...,indd(j),...,indd(Count)],

其中,indd(j)表示第j个R波的波峰采样点在无噪心电信号中的序号,j∈[1,Count],Count表示无噪心电信号中R波的总个数,当d=A时,Indd是发送节点A的R波的波峰索引序列,当d=B时,Indd是接收节点B的R波的波峰索引序列;

1b3)根据R波的波峰索引序列Indd得到原始特征向量Gd:

Gd=[gd(1),gd(2),...,gd(k),...,gd(Count-1)],

其中,gd(k)表示原始特征向量Gd中第k个元素,它的取值为正整数,gd(k)=indd(k+1)-indd(k),k∈[1,Count-1],原始特征向量Gd的长度等于Count-1。当d=A时,Gd是发送节点A的原始特征向量,当d=B时,Gd是接收节点B的原始特征向量;

步骤2,生成特征码序列。

本步骤采用常规的特征码序列产生方法,其步骤如下:

2a)发送节点A和接收节点B分别对各自的原始特征向量GA、GB进行去重复处理,即将每个向量中取值相同的元素只保留其中的任意1个,得到发送节点A和接收节点B的优选特征向量FA与FB:

其中,表示优选特征向量FA的第n个元素,它的取值为正整数,n∈[1,N],发送节点A的优选特征向量FA的长度等于N;表示优选特征向量FB的第m个元素,它的取值为正整数,m∈[1,M],接收节点B的优选特征向量FB的长度等于M;

2b)发送节点A和接收节点B分别将各自的优选特征向量FA与FB进行Q比特量化,得到发送节点A和接收节点B的特征码序列YA和YB:

YA=[yA(1),yA(2),...,yA(n),...yA(N)],

YB=[yB(1),yB(2),...,yB(m),...yB(M)],

其中,yA(n)是发送节点A的特征码序列YA的第n个元素,n∈[1,N],N是发送节点A的特征码序列YA的长度,表示对2Q取余的结果,表示将十进制整数转换为它所对应的长度为Q比特的二进制码表示;yB(m)是接收节点B的特征码序列YB的第m个元素,m∈[1,M],M是接收节点B的特征码序列YB的长度,表示对2Q取余的结果,表示将十进制整数转换为它所对应的长度为Q比特的二进制码表示;

2c)发送节点A将它的特征码序列YA的长度N发送给接收节点B。

步骤3,构造保险箱序列Box。

3a)发送节点A对它的特征码序列YA添加标签得到它的标签特征码序列

其中,表示发送节点A的标签特征码序列的第n个元素,n∈[1,N],标签特征码序列的长度等于N,yA(n)是特征码序列YA的第n个元素,Dec2Bin(n,P)表示将十进制整数n转换为它所对应的长度为P比特的二进制码表示,它是为发送节点A的第n个特征码添加的唯一的标签,这里,表示向上取整运算,“|”表示将两个二进制码顺序连接的操作;

3b)发送节点A构造截断码序列TA:

TA=[tA(1),tA(2),…,tA(n),…,tA(N)]

其中,tA(n)是截断码序列TA的第n个元素,n∈[1,N],截断码序列TA的长度等于N,Hash(·)表示哈希运算,表示对哈希值取最高W位比特,W是一个不大于的长度的正整数;

3c)发送节点A产生假特征码序列MASK:

MASK=[mask(1),mask(2),…,mask(l),…,mask(L)],

其中,mask(l)是假特征码序列MASK的第l个元素,它是一个长度为W比特的随机二进制码,并且与截断码序列TA中的任何一个元素都不相等,l∈[1,L],L为假特征码序列MASK的长度;

3d)发送节点A用假特征码序列MASK与它的截断码序列TA中的所有元素构成一个集合Set,Set={tA(1),tA(2),…,tA(N),mask(1),mask(2),…,mask(l),…,mask(L)},对集合Set中的元素进行随机排序得到一个长度为N+L的保险箱序列Box:

Box=RandomSort(Set),

其中,RondomSort(·)表示对集合中的元素进行随机排序的操作;

发送节点A将保险箱序列Box发给接收节点B。

步骤4,特征匹配检测。

接收节点B根据所接收的保险箱序列Box和特征码序列YA的长度N,对自己的特征码序列YB进行特征匹配检测:

4a)接收节点B分别初始化本地匹配索引序列Z和异地匹配索引序列V为空序列;

4b)接收节点B构建它的候选标签特征码矩阵

其中,是候选标签特征码矩阵的第m行第n列元素,m∈[1,M],n∈[1,N],M为接收节点B的特征码序列YB的长度,yB(m)是接收节点B的特征码序列YB的第m个元素,Dec2Bin(n,P)得到的是为接收节点B的第m个特征码添加的第n个候选标签;

4c)接收节点B构建它的候选截断码矩阵

其中,是候选截断码矩阵的第m行第n列元素,m∈[1,M],n∈[1,N],表示对哈希值取最高W位比特;

4d)接收节点B依次对保险箱序列Box中的每个元素进行匹配查询:

若当前被查询的元素与候选截断码矩阵中的一个元素相等,则认为它是一个匹配码,将匹配码在候选截断码矩阵中的位置,即行序号和列序号分别添加到本地匹配索引序列Z和异地匹配索引序列V中;

否则,对本地匹配索引序列Z和异地匹配索引序列V不执行任何操作。

步骤5,识别发送节点身份。

接收节点B将本地匹配索引序列Z的长度UZ与预先设定的门限Thresh进行比较:如果UZ≥Thresh,则接收节点B认为发送节点A是网内节点,并将异地匹配索引序列V发送给发送节点A,执行步骤(6);否则,接收节点B认为发送节点A是网外节点,结束密钥生成,其中,门限Thresh是一个正整数,本地匹配索引序列Z的长度UZ等于发送节点A和接收节点B所具有的相同优选特征的数目,即特征码序列YA与YB的元素所构成的集合的交集所含元素的数目。

步骤6,密钥产生。

6a)接收节点B根据本地匹配索引序列Z在特征码序列YB中依次找出对应的特征码,将这些特征码顺序排列,得到接收节点B的共有特征码序列SB:

SB=[YB(z(1)),YB(z(2)),...,YB(z(u)),...,YB(z(UZ))],

其中,z(u)是本地匹配索引序列Z中的第u个元素,u∈[1,UZ],UZ是本地匹配索引序列Z的长度,它等于接收节点B的共有特征码序列SB的长度,YB(z(u))表示接收节点B特征码序列YB中的第z(u)个元素;

6b)发送节点A根据异地匹配索引序列V在特征码序列YA中依次找出对应的特征码,将这些特征码顺序排列,得到发送节点A的共有特征码序列SA:

SA=[YA(v(1)),YA(v(2)),...,YA(v(u')),...,YA(v(UV))],

其中,v(u')是异地匹配索引序列V中的第u'个元素,u'∈[1,UV],UV是异地匹配索引序列V的长度,它等于发送节点A的共有特征码序列SA的长度,YA(v(u'))表示发送节点A的特征码序列YA中的第v(u')个元素;

上述发送节点A的共有特征码序列SA和接收节点B的共有特征码序列SB相等,即这两个序列长度相等,UZ=UV,并且在两序列中具有相同序号的元素也相等,即

6c)发送节点A将其共有特征码序列SA中的所有元素依次顺序连接,并进行哈希运算得到发送节点A的密钥KeyA;

6d)接收节点B将其共有特征码序列SB中的所有元素依次顺序连接,并进行哈希运算得到接收节点B的密钥KeyB;

由于上述发送节点A的共有特征码序列SA和接收节点B的共有特征码序列SB相等,所以,发送节点A的密钥KeyA和接收节点B的密钥KeyB是一对相等的二进制码。

本发明的效果可通过以下仿真做进一步说明。

1.仿真条件

仿真使用了两组公开的心电信号数据库MGH/MF Waveform Database和QT Database,随机地从MGH/MF数据库、QT数据库中挑选30、31个人体的心电数据作为实验的输入。仿真实验是在Intel Core(TM)i5-2410M 2.3GHz CPU、内存2GB的计算机上进行。在仿真中,心电信号的脉冲间隔IPI被量化为8比特,哈希运算采用MD5函数,对哈希值进行截断时取其最高20位比特,发送节点A和接收节点B的优选特征向量FA与FB长度均为30。

2.仿真内容

仿真1:识别性能分析

安全的WBAN密钥产生方法应具有良好的网内、网外节点的识别性能,两个网内节点建立密钥失败的概率被称作错误拒绝概率FRR,错误接收概率FAR是来自两个不同的WBAN的节点成功建立密钥的概率。实验分别采用MGH/MF和QT数据库的数据作为输入信号,采用本发明方法对这两种输入信号进行密钥产生,并统计密钥产生过程中的错误拒绝概率FRR和错误接收概率FAR,结果如图2,其中图2(a)为对MGH/MF数据库的统计结果,图2(b)为对QT数据库的统计结果。

由图2可以看出,将MGH/MF和QT Database的数据作为输入信号时,门限分别取18和14时FAR与FRR约为4%。这表明本发明的识别错误概率很低,具有良好的识别性能。

仿真2:密钥安全性分析

密钥的安全性用密钥有效长度度量,它表示攻击者对密钥进行暴力破解时搜索空间的维度。实验模拟了发送节点A与接收节点B均为WBAN网内节点进行密钥生成的场景,在两个节点具有相同的优选特征数目UZ分别是15~22,在所产生的保险箱长度相同的条件下,用本发明与现有的PSKA方法产生密钥,密钥有效长度如表1所示。

从表1可见,与PSKA方法相比,本发明方法在不同的实验条件下均取得了密钥有效长度的增加,最小的增量已达到43.37%,证明本发明方法所产生的密钥安全性更高。

仿真3:通信开销分析

密钥产生过程中两节点之间的信息交互产生了通信开销,实验模拟了发送节点A与接收节点B均为WBAN网内节点进行密钥生成的场景,分别用本发明与现有的PSKA方法进行密钥生成,对密钥产生过程中带来的通信开销进行统计。统计结果如图3。从图3可见,本发明方法的通信开销远小于现有的PSKA方法。

以上实验结果证明本发明的方法具有良好的识别性能,与现有方法相比,它能有效地降低密钥产生过程中的通信开销,且具有更高的安全性。

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