发明名称 低通信开销的无线体域网密钥产生方法
摘要 本发明公开了低通信开销的无线体域网密钥产生方法,主要解决现有技术的密钥安全完全依赖假特征数目的问题,其主要实现步骤为:1.采集人体心电信号并进行特征提取;2.用提取出的特征生成各节点的特征码;3.发送节点对特征码添加标签后进行哈希运算和截断处理,并与假特征码进行随机排序得到保险箱发送给接收节点;4.接收节点用自己的特征码与保险箱进行匹配特征检测,查找两节点所共有的特征码;5.接收节点根据共有特征码的数量对发送节点的身份进行识别;6.接收节点与通过识别的发送节点用它们共有的特征码产生密钥。本发明减少了需要发送的假特征数目,降低了通信开销,提高了密钥破解的难度,可用于无线体域网中一对节点之间信息的保密传输。
申请公布号 CN105516971A 申请公布日期 2016.04.20
申请号 CN201510938131.9 申请日期 2015.12.15
申请人 西安电子科技大学 发明人 吴莉莉;同鸣;宋晓青;姚有哲
分类号 H04W12/04(2009.01)I;H04L9/32(2006.01)I 主分类号 H04W12/04(2009.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;韦全生
主权项 一种低通信开销的无线体域网密钥产生方法,包括:(1)无线体域网中的发送节点A与接收节点B同时对人体的心电信号进行采集,获取发送节点A和接收节点B采集的心电信号X<sub>A</sub>与X<sub>B</sub>,两节点分别对各自的心电信号进行特征提取,得到发送节点A和接收节点B的原始特征向量G<sub>A</sub>与G<sub>B</sub>;(2)发送节点A与接收节点B分别对原始特征向量G<sub>A</sub>与G<sub>B</sub>进行特征筛选,得到各自的优选特征向量F<sub>A</sub>与F<sub>B</sub>,并将各自的优选特征向量进行Q比特的量化得到发送节点A和接收节点B的特征码序列Y<sub>A</sub>和Y<sub>B</sub>,发送节点A将它的特征码序列Y<sub>A</sub>的长度N发送给接收节点B;(3)发送节点A根据自己的特征码序列Y<sub>A</sub>生成保险箱序列Box:3a)发送节点A对它的特征码序列Y<sub>A</sub>添加标签得到它的标签特征码序列<img file="FDA0000877995660000011.GIF" wi="79" he="79" /><math><![CDATA[<mrow><msub><mover><mi>Y</mi><mo>~</mo></mover><mi>A</mi></msub><mo>=</mo><mo>&lsqb;</mo><msub><mover><mi>y</mi><mo>~</mo></mover><mi>A</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msub><mover><mi>y</mi><mo>~</mo></mover><mi>A</mi></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mo>...</mo><mo>,</mo><msub><mover><mi>y</mi><mo>~</mo></mover><mi>A</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo><mo>...</mo><mo>,</mo><msub><mover><mi>y</mi><mo>~</mo></mover><mi>A</mi></msub><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow><mo>&rsqb;</mo><mo>,</mo></mrow>]]></math><img file="FDA0000877995660000012.GIF" wi="813" he="79" /></maths>其中,<img file="FDA0000877995660000013.GIF" wi="125" he="70" />表示发送节点A的标签特征码序列<img file="FDA0000877995660000014.GIF" wi="55" he="79" />的第n个元素,n∈[1,N],标签特征码序列<img file="FDA0000877995660000015.GIF" wi="61" he="79" />的长度等于N,<img file="FDA0000877995660000016.GIF" wi="646" he="71" />y<sub>A</sub>(n)是特征码序列Y<sub>A</sub>的第n个元素,Dec2Bin(n,P)表示将十进制整数n转换为它所对应的长度为P比特的二进制码表示。这里,<img file="FDA0000877995660000017.GIF" wi="278" he="79" /><img file="FDA0000877995660000018.GIF" wi="157" he="79" />表示向上取整运算,“|”表示将两个二进制码顺序连接的操作;3b)发送节点A构造截断码序列T<sub>A</sub>:T<sub>A</sub>=[t<sub>A</sub>(1),t<sub>A</sub>(2),…,t<sub>A</sub>(n),…,t<sub>A</sub>(N)],其中,t<sub>A</sub>(n)是截断码序列T<sub>A</sub>的第n个元素,n∈[1,N],截断码序列T<sub>A</sub>的长度等于N,<math><![CDATA[<mrow><msub><mi>t</mi><mi>A</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mi>M</mi><mi>S</mi><mi>B</mi><mrow><mo>(</mo><mi>H</mi><mi>a</mi><mi>s</mi><mi>h</mi><mo>(</mo><mrow><msub><mover><mi>y</mi><mo>~</mo></mover><mi>A</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow><mo>)</mo><mo>,</mo><mi>W</mi><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000877995660000019.GIF" wi="638" he="71" /></maths>Hash(·)表示哈希运算,<img file="FDA00008779956600000110.GIF" wi="462" he="71" />表示对哈希值<img file="FDA00008779956600000111.GIF" wi="264" he="71" />取最高W位比特,W是一个不大于<img file="FDA00008779956600000112.GIF" wi="263" he="71" />的长度的正整数;3c)发送节点A用自己的截断码序列T<sub>A</sub>和所产生的假特征码序列MASK构造保险箱序列Box,并将它发送给接收节点B;(4)接收节点B根据所接收的保险箱序列Box和特征码序列Y<sub>A</sub>的长度N,对自己的特征码序列Y<sub>B</sub>进行特征匹配检测:4a)接收节点B分别初始化本地匹配索引序列Z和异地匹配索引序列V为空序列;4b)接收节点B构建它的候选标签特征码矩阵<img file="FDA00008779956600000113.GIF" wi="85" he="79" /><img file="FDA0000877995660000021.GIF" wi="1142" he="462" />其中,<img file="FDA0000877995660000022.GIF" wi="181" he="71" />是候选标签特征码矩阵<img file="FDA0000877995660000023.GIF" wi="59" he="79" />的第m行第n列元素,m∈[1,M],n∈[1,N],M为接收节点B的特征码序列Y<sub>B</sub>的长度,<img file="FDA0000877995660000024.GIF" wi="710" he="71" />y<sub>B</sub>(m)是接收节点B的特征码序列Y<sub>B</sub>的第m个元素;4c)接收节点B构建它的候选截断码矩阵<img file="FDA0000877995660000025.GIF" wi="85" he="78" /><img file="FDA0000877995660000026.GIF" wi="1094" he="462" />其中,<img file="FDA0000877995660000027.GIF" wi="166" he="77" />是候选截断码矩阵<img file="FDA0000877995660000028.GIF" wi="58" he="78" />的第m行第n列元素,m∈[1,M],n∈[1,N],<math><![CDATA[<mrow><msub><mover><mi>t</mi><mo>~</mo></mover><mi>B</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mi>M</mi><mi>S</mi><mi>B</mi><mrow><mo>(</mo><mi>H</mi><mi>a</mi><mi>s</mi><mi>h</mi><mo>(</mo><mrow><msub><mover><mi>y</mi><mo>~</mo></mover><mi>B</mi></msub><mrow><mo>(</mo><mrow><mi>m</mi><mo>,</mo><mi>n</mi></mrow><mo>)</mo></mrow></mrow><mo>)</mo><mo>,</mo><mi>W</mi><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000877995660000029.GIF" wi="790" he="71" /></maths><img file="FDA00008779956600000210.GIF" wi="523" he="71" />表示对哈希值<img file="FDA00008779956600000211.GIF" wi="317" he="70" />取最高W位比特;4d)接收节点B依次对保险箱序列Box中的每个元素进行匹配查询:若当前被查询的元素与候选截断码矩阵<img file="FDA00008779956600000212.GIF" wi="70" he="79" />中的一个元素相等,则认为它是一个匹配码,将匹配码在候选截断码矩阵<img file="FDA00008779956600000213.GIF" wi="53" he="79" />中的位置,即行序号和列序号分别添加到本地匹配索引序列Z和异地匹配索引序列V中;否则,对本地匹配索引序列Z和异地匹配索引序列V不执行任何操作。(5)接收节点B将本地匹配索引序列Z的长度U<sub>Z</sub>与预先设定的门限Thresh进行比较:如果U<sub>Z</sub>≥Thresh,则接收节点B将异地匹配索引序列V发送给发送节点A,执行步骤(6);否则,接收节点B结束密钥生成,其中,门限Thresh是一个正整数;(6)发送节点A和接收节点B分别根据异地匹配索引序列V和本地匹配索引序列Z找出各自的共有特征码序列S<sub>A</sub>和S<sub>B</sub>,并分别对共有特征码序列S<sub>A</sub>和S<sub>B</sub>进行串连哈希处理得到两个相同的密钥Key<sub>A</sub>和Key<sub>B</sub>。
地址 710071 陕西省西安市太白南路2号