首页> 中国专利> 一种基于数字水印的无线传感器网络数据安全保护方法

一种基于数字水印的无线传感器网络数据安全保护方法

摘要

本发明公开了一种基于数字水印的无线传感器网络数据安全保护方法,通过源节点处感知数据并转为二进制数,再划分处理块;利用哈希函数得水印基数,计算水印信息;利用哈希函数生成水印嵌入位置基数,计算水印存储位置;根据二进制数、水印信息和水印存储位置,利用水印嵌入算法得到嵌入水印二进制数;利用安全字符变换算法将嵌入水印二进制数生成字符串并发送。基站节点收到数据后,通过逆向过程获得原始二进制数和嵌入的水印信息,再计算水印信息,若能与嵌入的水印依次等同,则可知原数据正确完整,否则将丢弃该包。本发明能根据原数据的长度嵌入适长的水印信息,可减少不必要的通信量,通过安全字符变换,提高了网络的安全性。

著录项

  • 公开/公告号CN104486304A

    专利类型发明专利

  • 公开/公告日2015-04-01

    原文格式PDF

  • 申请/专利权人 湖南科技大学;

    申请/专利号CN201410727938.3

  • 发明设计人 易昌;朱更明;张丹丹;王志强;

    申请日2014-12-04

  • 分类号H04L29/06(20060101);H04W12/02(20060101);

  • 代理机构贵阳天圣知识产权代理有限公司;

  • 代理人杜胜雄

  • 地址 411201 湖南省湘潭市桃园路湖南科技大学

  • 入库时间 2023-12-17 04:48:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-08-22

    专利权的转移 IPC(主分类):H04L29/06 专利号:ZL2014107279383 登记生效日:20230807 变更事项:专利权人 变更前权利人:湖南科技大学 变更后权利人:陕西雅高科技有限公司 变更事项:地址 变更前权利人:411201 湖南省湘潭市桃园路湖南科技大学 变更后权利人:710000 陕西省西安市莲湖区红庙坡永新苑永福花园第12幢4单元1层1号房

    专利申请权、专利权的转移

  • 2017-08-04

    授权

    授权

  • 2015-07-08

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20141204

    实质审查的生效

  • 2015-04-01

    公开

    公开

说明书

技术领域

本发明涉及无线传感器网络数据安全领域,具体是一种基于数字水印的无线传感器网 络数据安全保护方法。

背景技术

无线传感器网络(Wireless Sensor Network,WSN)是由部署在监测区域内大量的 廉价微型传感器节点组成,其目的是协作地感知、采集、处理和传输,网络覆盖区域内采 集对象的监测信息,并报告给控制中心。无线传感器网络主要以数据为中心,实时采集监 控数据,用于对监控区域的分析判断。数据的准确和安全与否将直接影响是否做出正确决 策。如何保证任务执行的机密性、数据产生的可靠性、数据融合的高效性以及数据传输的 安全性,是无线传感器网络安全问题需要全面考虑的内容。

针对无线传感器网络所具有的安全问题,现有的技术主要有以下几种方案:

Hu L,Evans D.Secure aggregation for wireless networks[C]//Applications and  the Internet Workshops,2003.Proceedings.2003Symposium on.IEEE,2003:384-391. 提出有汇聚节点通过加密其子节点的汇聚数据产生消息验证码的方法,并且在数据包中还 携带子节点生成的消息验证码,能在一定程度上解决数据伪造和数据完整性问题,但由于 产生的MAC数据量较大,增加了额外通信开销。

Chan H,Perrig A,Song D.Random key predistribution schemes for sensor  networks[C]//Security and Privacy,2003.Proceedings.2003Symposium on.IEEE, 2003:197-213.针对大型的分布式传感网络,提出了一种灵活的分组随机密钥分布方案。 该方案把所有的节点划分为组单位,并使用单向哈希函数来产生组到组的成对密钥来增加 密钥的连通性。

Zhu S,Setia S,Jajodia S.LEAP+:Efficient security mechanisms for large-scale  distributed sensor networks[J].ACM Transactions on Sensor Networks(TOSN),2006, 2(4):500-528.提出了能量有效的基于模式码的安全数据汇聚协议。具有相同模式码的不 同传感器节点集合只需传送其中之一的原始数据到簇头。簇头根据模式码选择数据,然后 采用加密形式传送到基站,在传输过程中任何中间节点均不需要解密。

Boyle P,Newe T.A Survey of Authentication Mechanisms:Authentication for  Ad-Hoc Wireless Sensor Networks[C]//Sensors Applications Symposium,2007.SAS'07. IEEE.IEEE,2007:1-6.等提出了在无线传感器网络中基于身份的多用户广播认证协议。 他们认为所有的基于公钥算法都不能同时解决安全性、可测量性和稳定性,但他们提出的 IMBAS算法可以实现这些性能。

Sun X,Su J,Wang B,et al.Digital Watermarking Method for Data Integrity  Protection in Wireless Sensor Networks[J].International Journal of Security & Its Applications,2013,7(4).提出了一种新的数据完整性保护战略基于数字水印的技 术。源节点使用单向哈希函数收集到的数据来创建水印信息,然后与嵌入的目标字节冗余 空间中的数据进行关联,在基站提取印算法的目的是提取水印信息,相较于其他的数字水 印方法,该算法不增加额外的数据存储空间,并保持数据的准确性,具有更多的应用价值。

上述方法可以有效地保证数据的安全,提高网络的安全性,但在实际运用中很难做到 低消耗和数字水印的灵活性。

发明内容

本发明的目的在于提供一种基于数字水印的无线传感器网络数据安全保护方法,能判 断出在任何情况下的数据是否丢失或窜改,从而保证完整数据的安全性;水印信息根据数 据包的长度进行适长嵌入,能起到节约耗能的作用;水印嵌入位置由哈希函数产生,散列 性强,提高了水印的安全。

为实现上述目的,本发明提供如下技术方案:

一种基于数字水印的无线传感器网络数据安全保护方法,包括前提、定义和步骤;

所述前提如下:

1)基站节点是安全的;

2)在未知区域有N个源节点{S1,S2,...,SN},每个源节点有唯一ID号,节点间互不相 关,节点能独立确定感知数据;

3)源节点{S1,S2,...,SN}都预存一个密钥,分别为{K1,K2,...,KN};

4)基站节点预存所有节点密钥,即{K1,K2,...,KN};

所述定义如下:

1)采集的数据发送消息的格式:

源地址 采集时间 采集数据

其中源地址用10位存储;采集时间格式为月日时分秒,用26位存储;采集数据根据 实际数据长度存储;

2)设定水印嵌入位置基数为

wm_position_base=(wm_position_base0,wm_position_base1,...,wm_position_baseblocks-1)

3)设定水印嵌入位置为

wm_position=(wm_position0,wm_position1,...,wm_positionblocks-1);

所述步骤如下:

一、采集数据转换步骤:

1)每个节点向其周围进行数据采集,获取采集时间和采集数据;

2)根据定义1)中消息格式将采集数据转换为二进制数binary_str,其中源地址占10 位,采集时间占26位,其中月占4位、日占5位、时占5位、分占6位及秒占6位,采 集数据占其字节长度*8位;

二、水印嵌入步骤:

1)根据步骤一中转换成的二进制数binary_str,利用哈希函数F(binary_str)可得32 字节的水印基数wm_base,由水印生成公式计算出32字节的水印信息wm_info,所述水 印生成公式如下:对于有

wmi=bi mod2+'0'

其中水印基数wm_base=(b1,b2,...,b32);水印信息wm_info=(wm1,wm2,...,wm32);

2)根据步骤一中转换成的二进制数binary_str,不考虑其前10字节,再对其每256 字节分块,不满256字节也算一个处理块,最后得出处理块数blocks;

3)根据节点编号X获取预存的密钥KX,对于处理块号blocknum,有 满足blocknum,利用哈希函数F(KX+blocknum),可依次生成相 应blocknum块的32字节水印嵌入位置基数wm_position_baseblocknum,进而得到水印嵌入 位置基数wm_position_base;

4)根据水印嵌入位置基数wm_position_base,利用水印位置生成公式计算出水印存 储位置wm_position,对于满足i和blocknum,所述水 印位置生成公式:

pblocknum,i=pbimod9+10+8*(i-1)+blocknum*256

其中pblocknum,i表示水印在相应blocknum块中的第i个存储位置;pbi表示水印在相应 blocknum块中的第i个位置基数;wm_position_baseblocknum=(pb1,pb2,...,pb32); wm_positionblocknum=(pblocknum,1,pblocknum,2,...,pblocknum,32);

5)根据步骤一中转换的二进制数binary_str、水印信息wm_info及水印存储位置 wm_position,利用水印嵌入算法,可得嵌入水印的二进制数wm_binary_str,所述水印 嵌入算法如下:

三、字符安全变换步骤:

1)根据步骤二中获取嵌入水印的二进制数wm_binary_str,对其每6个字符分割成块, 若分割块不足6字符,将对其补充字符0;

2)获得分割块后,在每块前面添加字符0,在每块后面添加字符1;

3)合并所有分割块转换为安全二进制数safe_binary_str;

4)先将安全二进制数safe_binary_str每8个字符分割成块,计算出分割块数segment, 然后依次以分割块为单位进行字符转换,即每个分割块转换为一个字符,即对 满足s,

char_strs=safe_binary_strs

最后得到安全字符串char_str=(char_str0,char_str1,...,char_strs);

四、水印及数据提取步骤:

1)基站节点获取每个节点转发的安全字符串char_str,将其转换为接收二进制数 receive_binary_str;

2)对接收二进制数receive_binary_str每8个字符分割成块,并去处每块首位和末位 字符;

3)合并所有分割块转换为嵌入水印接收二进制数reveive_wm_binary_str;

4)根据嵌入水印接收二进制数reveive_wm_binary_str,解析前10位字符为无符号 长整型数,即为源节点ID号reveive_node;

5)根据嵌入水印接收二进制数reveive_wm_binary_str,不考虑其前10字节,再对 其每256字节分块,不满256字节也算一个处理块,最后得出处理块数reveive_blocks;

6)根据源节点ID号reveive_node获取预存的密钥Kreveive_node,对于 满足reveive_blocknum,利用哈希函数 F(Kreveive_node+reveive_blocknum),可依次生成相应reveive_blocknum块的32字节水印嵌 入位置基数reveive_wm_position_basereveive_blocknum,进而得到水印嵌入位置基数 reveive_wm_position_base;

7)根据水印嵌入位置基数reveive_wm_position_base,同步骤二中第4)步,解析出 水印存储位置reveive_wm_position;

8)根据接收二进制数串receive_binary_str、水印存储位置reveive_wm_position, 利用水印提取算法,可得去除水印的二进制数remove_wm_binary_str和嵌入水印信息 extract_wm_info,其中水印嵌入算法如下:

9)根据去除水印二进制数remove_wm_binary_str,利用哈希函数 F(remove_wm_binary_str)可得32字节的接收水印基数reveive_wm_base;

10)根据接收水印基数reveive_wm_base,同步骤二中第1)步,计算出接收水印信 息reveive_wm_info;

11)根据提取的水印信息extract_wm_info,对于 依次对比extract_wm_inforeveive_blocknum和 reveive_wm_info,若extract_wm_inforeveive_blocknum中的每位数据都能依次等同于 reveive_wm_info的数据,则接收数据是正确可靠的,否则将不可信;

12)若接收数据是正确可靠的,则对去除水印二进制数remove_wm_binary_str依次 每八位进行提取,并转换成字符,即为原始数据;否则丢弃此接收数据。

与现有技术相比,本发明的有益效果是:本发明主要针对无线传感器网络中的数据完 整性安全和信息隐藏,提出了一个基于数字水印技术的数据安全方法。本发明将数字水印 技术和无线传感器网络所固有的特性相结合,形成一个高效的数据安全保障算法,能判断 出在任何情况下的数据是否丢失或窜改,从而保证完整数据的安全性;本发明的水印信息 根据数据包的长度进行适长嵌入,具有一定的随机性,减小了通信量,能起到节约耗能的 作用;本发明的水印嵌入位置由哈希函数产生,散列性强,提高了水印的安全。从总体上 看,本发明提高了网络的安全性。

附图说明

图1是基于数字水印的无线传感器网络数据安全保护方法示意图;

图2是基于数字水印的无线传感器网络数据安全保护方法的源节点采集数据及嵌入水 印过程示意图;

图3是基于数字水印的无线传感器网络数据安全保护方法的基站获得数据及提取水印 过程示意图。

具体实施方式

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

请参阅图1,本发明实施例中,一种基于数字水印的无线传感器网络数据安全保护方 法,包括前提、定义和步骤。

前提如下:

1)基站节点是安全的;

2)在未知区域有N个源节点{S1,S2,...,SN},每个源节点有唯一ID号,节点间互不相 关(节点能独立确定感知数据);

3)源节点{S1,S2,...,SN}都预存一个密钥,分别为{K1,K2,...,KN};

4)基站节点预存所有节点密钥,即{K1,K2,...,KN}。

定义如下:

2)采集的数据发送消息的格式:

源地址 采集时间 采集数据

其中源地址用10位存储;采集时间格式为月日时分秒,用26位存储;采集数据 根据实际数据长度存储;

2)设定水印嵌入位置基数为

wm_position_base=(wm_position_base0,wm_position_base1,...,wm_position_baseblocks-1)

3)设定水印嵌入位置为

wm_position=(wm_position0,wm_position1,...,wm_positionblocks-1);

步骤如下:

一、采集数据转换步骤:

1)每个节点向其周围进行数据采集,获取采集时间和采集数据;

2)根据定义1)中消息格式将采集数据转换为二进制数binary_str,其中源地址占10 位,采集时间占26位(月占4位、日占5位、时占5位、分占6位及秒占6位),采集 数据占其字节长度*8位。

二、水印嵌入步骤:

1)根据步骤一中转换成的二进制数binary_str,利用哈希函数F(binary_str)可得32 字节的水印基数wm_base,由水印生成公式计算出32字节的水印信息wm_info,水印生 成公式如下:对于有

wmi=bimod2+'0'

其中水印基数wm_base=(b1,b2,...,b32);水印信息wm_info=(wm1,wm2,...,wm32);

2)根据步骤一中转换成的二进制数binary_str,不考虑其前10字节,再对其每256 字节分块,不满256字节也算一个处理块,最后得出处理块数blocks;

3)根据节点编号X获取预存的密钥KX,对于处理块号blocknum,有 满足blocknum,利用哈希函数F(KX+blocknum),可依次生成相 应blocknum块的32字节水印嵌入位置基数wm_position_baseblocknum,进而得到水印嵌入 位置基数wm_position_base;

4)根据水印嵌入位置基数wm_position_base,利用水印位置生成公式计算出水印存 储位置wm_position,对于满足i和blocknum,水印位 置生成公式:

pblocknum,i=pbimod9+10+8*(i-1)+blocknum*256

其中pblocknum,i表示水印在相应blocknum块中的第i个存储位置;pbi表示水印在相应 blocknum块中的第i个位置基数;wm_position_baseblocknum=(pb1,pb2,...,pb32); wm_positionblocknum=(pblocknum,1,pblocknum,2,...,pblocknum,32);

5)根据步骤一中转换的二进制数binary_str、水印信息wm_info及水印存储位置 wm_position,利用水印嵌入算法,可得嵌入水印的二进制数wm_binary_str,水印嵌入 算法如下:

三、字符安全变换步骤:

1)根据步骤二中获取嵌入水印的二进制数wm_binary_str,对其每6个字符分割成块, 若分割块不足6字符,将对其补充字符0;

2)获得分割块后,在每块前面添加字符0,在每块后面添加字符1;

3)合并所有分割块转换为安全二进制数safe_binary_str;

4)先将安全二进制数safe_binary_str每8个字符分割成块,计算出分割块数segment, 然后依次以分割块为单位进行字符转换,即每个分割块转换为一个字符,即对 满足s,

char_strs=safe_binary_strs

最后得到安全字符串char_str=(char_str0,char_str1,...,char_strs)。

四、水印及数据提取步骤:

1)基站节点获取每个节点转发的安全字符串char_str,将其转换为接收二进制数 receive_binary_str;

2)对接收二进制数receive_binary_str每8个字符分割成块,并去处每块首位和末位 字符;

3)合并所有分割块转换为嵌入水印接收二进制数reveive_wm_binary_str;

4)根据嵌入水印接收二进制数reveive_wm_binary_str,解析前10位字符为无符号 长整型数,即为源节点ID号reveive_node;

5)根据嵌入水印接收二进制数reveive_wm_binary_str,不考虑其前10字节,再对 其每256字节分块,不满256字节也算一个处理块,最后得出处理块数reveive_blocks;

6)根据源节点ID号reveive_node获取预存的密钥Kreveive_node,对于 满足reveive_blocknum,利用哈希函数 F(Kreveive_node+reveive_blocknum),可依次生成相应reveive_blocknum块的32字节水印嵌 入位置基数reveive_wm_position_basereveive_blocknum,进而得到水印嵌入位置基数 reveive_wm_position_base;

7)根据水印嵌入位置基数reveive_wm_position_base,同步骤二中第4)步,解析出 水印存储位置reveive_wm_position;

8)根据接收二进制数串receive_binary_str、水印存储位置reveive_wm_position, 利用水印提取算法,可得去除水印的二进制数remove_wm_binary_str和嵌入水印信息 extract_wm_info,其中水印嵌入算法如下:

9)根据去除水印二进制数remove_wm_binary_str,利用哈希函数 F(remove_wm_binary_str)可得32字节的接收水印基数reveive_wm_base;

10)根据接收水印基数reveive_wm_base,同步骤二中第1)步,计算出接收水印信 息reveive_wm_info;

11)根据提取的水印信息extract_wm_info,对于 依次对比extract_wm_inforeveive_blocknum和 reveive_wm_info,若extract_wm_inforeveive_blocknum中的每位数据都能依次等同于 reveive_wm_info的数据,则接收数据是正确可靠的,否则将不可信;

12)若接收数据是正确可靠的,则对去除水印二进制数remove_wm_binary_str依次 每八位进行提取,并转换成字符,即为原始数据;否则丢弃此接收数据。

请参阅图2,本发明实施例中,源节点采集数据及嵌入水印过程,具体步骤为:

1)源节点ID号为87,用十位二进制数表示为0001010111;采集时间为09月27日 16时07分37秒,用26位二进制数表示为1001 11011 10000 000111 100101;采集数据 为WSN,用二进制数表示为01010111 01010011 01001110;三者合并构成二进制数 binary_str(0001010111 1001 11011 10000000111 100101 01010111 01010011 01001110);

2)根据二进制数binary_str生成水印基数wm_base (E6E3EE2D395D46563BE1B4505201461F),进而生成水印信息wm_info (10111100111000101011001010010010);根据源节点ID号87和块号0,生成32字节水 印嵌入位置基数wm_position_base(22FB0CEE7E1F3BDE58293DE743871417),进而生成 水印存储位置信息wm_position(15 23 33 37 45 54 64 72 75 88 94 105 112 117 127 136 146 148 159 165 176 183 192 195 209 216 220 227 238 249 254 259);

3)根据二进制数binary_str、水印信息wm_info及水印存储位置wm_position生成 嵌入水印二进制数wm_binary_str (000101011110011110111000000001111001101011010111011010011011001110);

4)根据嵌入水印二进制数wm_binary_str进行安全字符变换,生成安全二进制数 safe_binary_str (000010110011110100111101011100010000001101110011010101110010111100110101001 1011100011101);

5)根据安全二进制数safe_binary_str将其转换为安全字符串char_str(♂ ==q sW/57);

6)源节点将安全字符串进行发送。

请参阅图3,本发明实施例中,基站获得数据及提取水印过程,具体步骤为:

1)基站接收到数据为♂==q sW/57,将其转化为接收二进制数receive_binary_str (000010110011110100111101011100010000001101110011010101110010111100110101001 1011100011101);

2)根据接收二进制数receive_binary_str,去安全字符变换,得到嵌入水印接收二进 制数reveive_wm_binary_str (000101011110011110011000000001011001001011010111011010011011001110);

3)根据嵌入水印接收二进制数reveive_wm_binary_str,解析前10位字符可得源节 点ID号reveive_node(0001010111B=87D);获得块号为0;

4)根据源节点ID号87和块号0,根据源节点ID号87和块号0,生成32字节水印 嵌入位置基数reveive_wm_position_base(22FB0CEE7E1F3BDE58293DE743871417),进而 生成水印存储位置信息reveive_wm_position(15 23 33 37 45 54 64 72 75 88 94 105 112 117 127 136 146 148 159 165 176 183 192 195 209 216 220 227 238 249 254 259);

5)根据嵌入水印接收二进制数reveive_wm_binary_str和水印存储位置信息 reveive_wm_position,提取水印信息extract_wm_info(101111),并得到去除水印二 进制数remove_wm_binary_str (000101011110011100110000000101100001010101110101001101001110);

6)根据去除水印二进制数remove_wm_binary_str,生成接收水印基数 reveive_wm_base(E6E3EE2D395D46563BE1B4505201461F),进而生成接收水印信息 reveive_wm_info(10111100111000101011001010010010);

7)根据比较提取水印信息extract_wm_info和接收水印信息reveive_wm_info可知 此包正确可靠,并解析出数据为采集节点ID:87,采集时间:9月25日16:05:33,采集 数据:WSN。

本发明主要针对无线传感器网络中的数据完整性安全和信息隐藏,提出了一个基于数 字水印技术的数据安全方法。本发明将数字水印技术和无线传感器网络所固有的特性相结 合,形成一个高效的数据安全保障算法,能判断出在任何情况下的数据是否丢失或窜改, 从而保证完整数据的安全性;本发明的水印信息根据数据包的长度进行适长嵌入,具有一 定的随机性,减小了通信量,能起到节约耗能的作用;本发明的水印嵌入位置由哈希函数 产生,散列性强,提高了水印的安全。从总体上看,本发明提高了网络的安全性。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背 离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从 哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权 利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有 变化囊括在本发明内。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含 一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将 说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可 以理解的其他实施方式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号