CN104486304B - 一种基于数字水印的无线传感器网络数据安全保护方法 - Google Patents
一种基于数字水印的无线传感器网络数据安全保护方法 Download PDFInfo
- Publication number
- CN104486304B CN104486304B CN201410727938.3A CN201410727938A CN104486304B CN 104486304 B CN104486304 B CN 104486304B CN 201410727938 A CN201410727938 A CN 201410727938A CN 104486304 B CN104486304 B CN 104486304B
- Authority
- CN
- China
- Prior art keywords
- watermark
- binary
- str
- reveive
- blocknum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于数字水印的无线传感器网络数据安全保护方法,通过源节点处感知数据并转为二进制数,再划分处理块;利用哈希函数得水印基数,计算水印信息;利用哈希函数生成水印嵌入位置基数,计算水印存储位置;根据二进制数、水印信息和水印存储位置,利用水印嵌入算法得到嵌入水印二进制数;利用安全字符变换算法将嵌入水印二进制数生成字符串并发送。基站节点收到数据后,通过逆向过程获得原始二进制数和嵌入的水印信息,再计算水印信息,若能与嵌入的水印依次等同,则可知原数据正确完整,否则将丢弃该包。本发明能根据原数据的长度嵌入适长的水印信息,可减少不必要的通信量,通过安全字符变换,提高了网络的安全性。
Description
技术领域
本发明涉及无线传感器网络数据安全领域,具体是一种基于数字水印的无线传感器网络数据安全保护方法。
背景技术
无线传感器网络(Wireless Sensor Network,WSN)是由部署在监测区域内大量的廉价微型传感器节点组成,其目的是协作地感知、采集、处理和传输,网络覆盖区域内采集对象的监测信息,并报告给控制中心。无线传感器网络主要以数据为中心,实时采集监控数据,用于对监控区域的分析判断。数据的准确和安全与否将直接影响是否做出正确决策。如何保证任务执行的机密性、数据产生的可靠性、数据融合的高效性以及数据传输的安全性,是无线传感器网络安全问题需要全面考虑的内容。
针对无线传感器网络所具有的安全问题,现有的技术主要有以下几种方案:
Hu L,Evans D.Secure aggregation for wireless networks[C]//Applications and the Internet Workshops,2003.Proceedings.2003 Symposiumon.IEEE,2003:384-391.提出有汇聚节点通过加密其子节点的汇聚数据产生消息验证码的方法,并且在数据包中还携带子节点生成的消息验证码,能在一定程度上解决数据伪造和数据完整性问题,但由于产生的MAC数据量较大,增加了额外通信开销。
Chan H,Perrig A,Song D.Random key predistribution schemes for sensornetworks[C]//Security and Privacy,2003.Proceedings.2003 Symposium on.IEEE,2003:197-213.针对大型的分布式传感网络,提出了一种灵活的分组随机密钥分布方案。该方案把所有的节点划分为组单位,并使用单向哈希函数来产生组到组的成对密钥来增加密钥的连通性。
Zhu S,Setia S,Jajodia S.LEAP+:Efficient security mechanisms forlarge-scale distributed sensor networks[J].ACM Transactions on SensorNetworks(TOSN),2006,2(4):500-528.提出了能量有效的基于模式码的安全数据汇聚协议。具有相同模式码的不同传感器节点集合只需传送其中之一的原始数据到簇头。簇头根据模式码选择数据,然后采用加密形式传送到基站,在传输过程中任何中间节点均不需要解密。
Boyle P,Newe T.A Survey of Authentication Mechanisms:Authenticationfor 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 DataIntegrity Protection in Wireless Sensor Networks[J].International Journal ofSecurity&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=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_strsegment-1;
四、水印及数据提取步骤:
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,对于满足rev_ebilvoeck,n利um用哈希函数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,_strsegment-1);
四、水印及数据提取步骤:
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,n利um用哈希函数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 10000 000111 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 146148 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
(0000101100111101001111010111000100000011011100110101011100101111001101010011011100011101);
5)根据安全二进制数safe_binary_str将其转换为安全字符串char_str(♂==qsW/57);
6)源节点将安全字符串进行发送。
请参阅图3,本发明实施例中,基站获得数据及提取水印过程,具体步骤为:
1)基站接收到数据为♂==qsW/57,将其转化为接收二进制数receive_binary_str(0000101100111101001111010111000100000011011100110101011100101111001101010011011100011101);
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 112117 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。
本发明主要针对无线传感器网络中的数据完整性安全和信息隐藏,提出了一个基于数字水印技术的数据安全方法。本发明将数字水印技术和无线传感器网络所固有的特性相结合,形成一个高效的数据安全保障算法,能判断出在任何情况下的数据是否丢失或窜改,从而保证完整数据的安全性;本发明的水印信息根据数据包的长度进行适长嵌入,具有一定的随机性,减小了通信量,能起到节约耗能的作用;本发明的水印嵌入位置由哈希函数产生,散列性强,提高了水印的安全。从总体上看,本发明提高了网络的安全性。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (1)
1.一种基于数字水印的无线传感器网络数据安全保护方法,其特征在于,包括前提、定义和步骤;
所述前提如下:
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=bimod 2+'0'
其中水印基数wm_base=(b1,b2,...,b32);水印信息wm_inf o=(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,所述水印嵌入算法如下:
输入:二进制数串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_strsegment-1);
四、水印及数据提取步骤:
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,其中水印提取算法如下:
输入:接收二进制数串receive_binary_str及水印存储位置receive_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_inf oreveive_blocknum和reveive_wm_info,若extract_wm_inforeveive_blocknum中的每位数据都能依次等同于reveive_wm_info的数据,则接收数据是正确可靠的,否则将不可信;
12)若接收数据是正确可靠的,则对去除水印二进制数remove_wm_binary_str依次每八位进行提取,并转换成字符,即为原始数据;否则丢弃此接收数据 。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410727938.3A CN104486304B (zh) | 2014-12-04 | 2014-12-04 | 一种基于数字水印的无线传感器网络数据安全保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410727938.3A CN104486304B (zh) | 2014-12-04 | 2014-12-04 | 一种基于数字水印的无线传感器网络数据安全保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104486304A CN104486304A (zh) | 2015-04-01 |
CN104486304B true CN104486304B (zh) | 2017-08-04 |
Family
ID=52760808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410727938.3A Active CN104486304B (zh) | 2014-12-04 | 2014-12-04 | 一种基于数字水印的无线传感器网络数据安全保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104486304B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106686006A (zh) * | 2017-03-01 | 2017-05-17 | 湖南财政经济学院 | 一种基于互联网网络安全的大数据实施控制系统 |
CN107249188B (zh) * | 2017-05-09 | 2020-05-22 | 西安电子科技大学 | 一种基于数字水印与能量均衡的无线传感器网络路由方法 |
CN108055119B (zh) * | 2017-12-11 | 2021-07-20 | 北方工业大学 | 一种群智感知应用中基于区块链的安全激励方法和系统 |
WO2020000486A1 (zh) * | 2018-06-30 | 2020-01-02 | 华为技术有限公司 | 数据处理方法及装置 |
CN111985006A (zh) * | 2020-08-18 | 2020-11-24 | 深圳中兴网信科技有限公司 | 基于区块链的数据同步方法、系统和计算机可读存储介质 |
CN112667576A (zh) * | 2020-12-22 | 2021-04-16 | 珠海豹趣科技有限公司 | 水印内容处理方法、装置、电子设备及存储介质 |
CN113395170B (zh) * | 2021-04-29 | 2022-08-23 | 国网浙江省电力有限公司嘉兴供电公司 | 一种基于线性拓扑传输的智能机器人数据传输方法 |
CN114501454A (zh) * | 2021-12-27 | 2022-05-13 | 南京信息工程大学 | 一种基于双水印的WSNs数据完整性认证方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102361480A (zh) * | 2011-06-29 | 2012-02-22 | 武汉理工大学 | 应用于智能电网数据传输安全的数字水印方法 |
CN102497636A (zh) * | 2011-12-12 | 2012-06-13 | 湖南科技大学 | 一种基于嵌入水印的无线传感器网络安全定位系统及方法 |
CN102811440A (zh) * | 2011-06-03 | 2012-12-05 | 苏州两江科技有限公司 | 一种基于水印技术的无线传感网安全传输的方法 |
CN103401687A (zh) * | 2013-08-01 | 2013-11-20 | 广州大学 | 一种实现无线传感网络节点数据认证的系统及方法 |
-
2014
- 2014-12-04 CN CN201410727938.3A patent/CN104486304B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102811440A (zh) * | 2011-06-03 | 2012-12-05 | 苏州两江科技有限公司 | 一种基于水印技术的无线传感网安全传输的方法 |
CN102361480A (zh) * | 2011-06-29 | 2012-02-22 | 武汉理工大学 | 应用于智能电网数据传输安全的数字水印方法 |
CN102497636A (zh) * | 2011-12-12 | 2012-06-13 | 湖南科技大学 | 一种基于嵌入水印的无线传感器网络安全定位系统及方法 |
CN103401687A (zh) * | 2013-08-01 | 2013-11-20 | 广州大学 | 一种实现无线传感网络节点数据认证的系统及方法 |
Non-Patent Citations (2)
Title |
---|
Digital Watermarking Method for Data Integrity Protection in Wireless Sensor Networks;Xingming Sun;《International Journal of Security and Its Applications》;20130731;第7卷(第4期);全文 * |
适用于无线传感器网络的数字水印技术;董晓梅;《武汉大学学报(理学版)》;20090228;第55卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104486304A (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104486304B (zh) | 一种基于数字水印的无线传感器网络数据安全保护方法 | |
Panah et al. | On the properties of non-media digital watermarking: a review of state of the art techniques | |
Wang et al. | A Dual-Chaining Watermark Scheme for Data Integrity Protection in Internet of Things. | |
CN104486073B (zh) | 一种字符型数据的加密、解密方法 | |
CN105530263B (zh) | 一种基于标签id的超轻量级rfid双向认证方法 | |
CN103595525B (zh) | 一种抗去同步化的轻量级rfid双向认证方法 | |
CN103795529A (zh) | 基于密钥向量的无线传感器网络数据安全融合方法 | |
CN103326822B (zh) | 基于数据分片的参与式感知系统隐私保护方法及系统 | |
CN104717644B (zh) | 一种可验证隐私保护的两层传感器网络范围查询方法 | |
CN102196429A (zh) | 一种无线传感器网络中加密数据的融合方法 | |
CN103457722A (zh) | 一种基于Shamir门限的提供双向身份认证和数据安全传输的体域网安全方法 | |
CN113312608B (zh) | 一种基于时间戳的电力计量终端身份认证方法及系统 | |
CN106506453A (zh) | 基于快速匹配和完整性检测的电力大数据传输方法及系统 | |
CN105187265A (zh) | 一种面向流量测试的网络流水印标记和溯源方法 | |
CN103825725B (zh) | 一种基于矢量量化的高效随机物理层密钥产生方法 | |
CN103746770A (zh) | 基于消息认证码和概率密钥分发的防污染网络编码方法 | |
CN105072618A (zh) | 无线传感器网络中基于校验码的数据可靠性保护方法 | |
CN104618098B (zh) | 一种集合成员关系判定的密码学构造方法及系统 | |
CN102811440A (zh) | 一种基于水印技术的无线传感网安全传输的方法 | |
CN107231628A (zh) | 一种适用于多应用场景的安全数据融合方法 | |
CN102223229A (zh) | 公网上数据安全传输方法 | |
Zhou et al. | A secure data transmission scheme for wireless sensor networks based on digital watermarking | |
Wang et al. | A copyright protection method for wireless sensor networks based on digital watermarking | |
Ding et al. | A reversible watermarking scheme based on difference expansion for wireless sensor networks | |
Albath et al. | Practical algorithm for data security (PADS) in wireless sensor networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230807 Address after: 710000 Room 1, 1st Floor, Unit 4, Building 12, Yongfu Garden, Yongxin Garden, Hongmiaopo, Lianhu District, Xi'an City, Shaanxi Province Patentee after: Shaanxi Yagao Technology Co.,Ltd. Address before: 411201 Hunan University of science and technology, Taoyuan Road, Xiangtan City, Hunan Province Patentee before: HUNAN University OF SCIENCE AND TECHNOLOGY |
|
TR01 | Transfer of patent right |