首页> 中国专利> 应用于智能电网数据传输安全的数字水印方法

应用于智能电网数据传输安全的数字水印方法

摘要

本发明涉及一种应用于智能电网数据传输安全的数字水印方法,包括水印信息的生成、水印信息的嵌入、水印信息的提取与检测三个部分,其方法是:基于交变电流时刻变化的特性,使用电流来生成水印信息;引入标度参数u,根据电流值得出随机值,所得的随机数能被u整除则置水印信息标志位为1;引入阈值参数P,获取接受到的数据项的水印信息,如果数据包中正确水印信息的数据项的总数目与数据包中含有水印信息的数据项的总数目的比值大于P,表示该数据包可信,则接受该数据包,否则,丢弃该数据包。本发明具有在不增加网络传输数据的负担和不明显地增加能量的损耗的前提下,保证数据传输的安全。

著录项

  • 公开/公告号CN102361480A

    专利类型发明专利

  • 公开/公告日2012-02-22

    原文格式PDF

  • 申请/专利权人 武汉理工大学;

    申请/专利号CN201110178843.7

  • 发明设计人 颜昕;杜加根;吴洋;

    申请日2011-06-29

  • 分类号H04L29/06;H04W84/18;

  • 代理机构武汉开元知识产权代理有限公司;

  • 代理人潘杰

  • 地址 430070 湖北省武汉市洪山区珞狮路122号

  • 入库时间 2023-12-18 04:38:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-17

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20130320 终止日期:20150629 申请日:20110629

    专利权的终止

  • 2013-03-20

    授权

    授权

  • 2012-04-04

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

    实质审查的生效

  • 2012-02-22

    公开

    公开

说明书

技术领域

本发明属于一种数据安全传输领域,特别是一种应用于智能电 网数据传输安全的数字水印方法。

背景技术

智能电网的安全主要包含物理安全、网络安全、数据安全及备 份恢复等方面,其中数据安全主要指的是网络中所传输的数据包的 真实性。目前针对数据安全的研究主要是基于密钥策略。密钥管理 与密钥算法对处理器与存储器都有一定的要求。智能电网的数据传 输包括有线网络与无线传感器网络,后者是由大量的传感器节点构 成,其能量以及存储容量都非常有限,使得密钥策略并不能很好地 应用于智能电网的数据传输安全。数字水印技术是当前信息安全的 常用技术,它主要用于数字产品(如多媒体、文档、软件)的合法 性保护。数字水印的优点是它并不占用额外的存储空间,只要算法 设计得简洁,在无线传感器网络数据安全中将有非常好的应用价 值。

发明内容

本发明目的是提供一种用数字水印技术解决智能电网下无线 传感器网络部分的数据传输的应用于智能电网数据传输安全的数字 水印方法,以克服现有技术的不足。

为了实现上述目的,本发明所采用的技术方案是:

一种应用于智能电网数据传输安全的数字水印方法,包括三个基 本方面:水印信息的生成、水印信息的嵌入、水印信息的提取与检 测,其方法是:

水印信息的生成:基于交变电流时刻变化的特性,使用电流来生 成水印信息,对于要发送的数据包中的每一个数据项,根据事先设定 的密钥Key和采集时刻的正向电流或反向电流I,利用单项哈希函数 hsh[i]=Hash(Key,I)运算,取运算结果hsh[i]的最高有效位上的Num位与 电流I的高Num位进行异或运算,其结果作为数据项的水印信息;

水印信息的生成包括如下步骤:

步骤S1,如果数据项的电流信息为正向电流,则直接采集电流 信息的值,转向步骤S3;若电流信息为反方向的电流,则转向步骤 S2;

步骤S2,将采集到的反方向的电流信息进行处理,例如将电流 取反同时扩大常数倍或者取电流的平方值等(这样可以避免采集到的 电流信息重复,便于生成多样化的水印),得到新的电流信息的值;

步骤S3,根据密钥和采集的电流值,利用单项哈希函数运算, 得出一个哈希值;

步骤S4,利用哈希值的部分最高有效位的二进制位作异或运算, 得出数据项的水印信息;

步骤S5,将数据项的水印信息标志位置0(表示该数据项还未嵌 入水印);

水印的嵌入过程:

传感器节点是能量受限的,嵌入过程要避免繁琐,采取的做法是 只对部分数据项嵌入水印。同时为了最大程度地保证原有数据的真 实性,水印的嵌入位置选择在数据项中核心数据的最低有效位,嵌入 水印后的数据项标志位Flag值为1。

部分数据项的选取依据真实场合中的安全程度的要求,安全性越 高,所要选取数据项的数量越大,反之越小。基于此,引入标度参数 u,它的作用是控制一个数据包中嵌入水印的数据项所占的比例。根 据密钥、数据项中的电流值、核心数据的最低有效位为参数的随机函 数生成随机数rd,只有rd可以被u整除的数据项嵌入水印。u在宏 观上反映一个数据包中含有水印信息的数据项的稀疏程度,u的值越 小,该数据项被嵌入水印的机率越大,反之则越小,当u值为1时, 数据包中所有的数据项都加入水印。

水印信息的嵌入包括如下步骤:

步骤S1,根据水印信息的生成算法产生数据项的水印信息;

步骤S2,取数据项中核心数据的最高有效位;

步骤S3,根据密钥,数据项中包含的电流值以及最高有效位的 值,利用随机函数运算,得出随机值;

步骤S4,如果所得的随机数能被u整除,则转向步骤S5;否则, 转向步骤S6;

步骤S5,选取最低有效位的某些固定为作为嵌入位,嵌入水印 信息,置水印信息标志位为1(表示该数据项已嵌入水印),转向步骤 S6.

步骤S6,读取下一个数据项,转向步骤S1;

水印检测过程:

接收节点检索数据包中的每一个数据项的标志位Flag,如果是1 说明含有水印,因此作水印的提取,提取后作合法性检测,即比较接 受数据项的水印信息与由水印生成算法产生的水印信息是否相等。如 果相等则说明水印在数据传输的过程中没有发生改变,因此该数据项 是安全的。

数据包是众多的数据项组成,网络数据传输安全主要是以数据包 为单位。为了检测数据包的安全,引入阈值参数P,它表示一个数据 包中安全数据项的所占的比例。在概率学上它表示被检测数据包中所 有数据项的真实性程度。P是根据场所要求人为设定,如果数据项检 测合法的概率大于P,说明数据包的安全性符合要求,是合法的,可 以接收并转发,反之丢包。

水印信息的提取和检测具体步骤如下:

步骤S1,检测数据项的水印标志位信息,如果为1,则该数据项 嵌入了水印,则数据包中含有水印信息的数据项的总数目增加1,转 向步骤S2;否则,转向步骤S6,;

步骤S2,获取接受到的数据项的水印信息(即提取数据项中核 心数据的最低有效位);

步骤S3,根据数据项信息和密钥,利用水印信息生成算法,得 出水印信息;

步骤S4,如果接受的数据项的水印信息与利用水印生成算法产 生的水印信息相同,则该数据项的水印信息正确,则数据包中正确水 印信息的数据项的总数目增加1,然后转向步骤S5;否则,直接转向 步骤S5;

步骤S5,如果数据包未检测完,则读取下一个数据项,然后转 向S1;否则转向S6;

步骤S6,如果数据包中正确水印信息的数据项的总数目与数据 包中含有水印信息的数据项的总数目的比值大于P,表示该数据包可 信,则接受该数据包,否则,丢弃该数据包。

与现有技术相比,本发明应用于智能电网数据传输安全的数字水 印方法具有如下优点:

(1)应用于智能电网的数字水印技术,能保证电网中的传感器 接收到的数据是传感器节点发送的原始数据,是没有被恶意篡改的, 保证了数据传输的安全。

(2)数字水印方法利用水印信息置换载体信息中最不重要的数 据部分,只是置换,并不在原有数据基础上额外加入数据,所以数字 水印技术能较好地保持原有网络的吞吐量,并不增加网络传输数据的 负担。

(3)数字水印算法在实现上力求简洁,最多只用了单层循环, 它的复杂度与节点一次性传输的数据项有关,传感器节点在处理水印 的生成、嵌入、提取与检测时,不会明显地增加能量的损耗,因此, 数字水印技术可以较好地适应WSN节点能量受限的制约。

附图说明

图1为本发明的流程图。

图2为本发明数据包格式示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细描述。

本发明利用交变电流生成水印信息,交变电流物理学上是一个 矢量,它有两个关键的属性:大小与方向,电流I是时间T的单值 函数,即在一个周期内电流是唯一的;发送节点将水印嵌入采集的 数据项中,然后存储在节点的存储器Buffer,当Buffer满时,也 即一个数据包产生,将其在网络中传输;接收节点根据规定的密钥 与相关参数对数据包进行水印的提取以及合法性检测。水印提取方 法是检索采集的数据项的Flag,若为真则提取水印,否者不做任何 操作。水印检测方法是比较提取数据项的水印信息与生成的水印信 息是否一致,如果一致,此数据项认为合法,当一定数量的数据项 都合法时,此数据包即为有效,进而可以转发,反之则认为是非法 数据包,做丢弃处理。

本发明包括三个基本方面:水印信息的生成、水印信息的嵌入、 水印信息的提取与检测:

水印信息的生成:基于交变电流时刻变化的特性,使用电流来 生成水印信息,鉴于电流的周期性特点(不同时刻的电流虽然方向不 同,但数值上有可能相等),为了使水印具有多样化,在水印生成前 可对反向电流进行特殊处理,比如数值扩大一个倍数,然后再减去一 个常数。

水印生成的具体过程描述为:对于要发送的数据包中的每一个数 据项,根据密钥和采集时刻的正向电流(或者处理后的反向电流), 利用单项哈希函数运算,得到运算结果哈希值,从哈希值的最高有效 位上取部分二进制位作异或运算,其结果作为数据项的水印信息;

水印信息的生成包括如下步骤:

步骤S1,如果数据项的电流信息为正向电流,则直接采集电流 信息的值,转向步骤S3;若电流信息为反方向的电流,则转向步骤 S2;

步骤S2,将采集到的反方向的电流信息进行处理(避免采集到的 电流信息重复,便于生成多样化的水印),得到新的电流信息的值;

步骤S3,根据密钥和采集的电流值,利用单项哈希函数运算, 得出一个哈希值;

步骤S4,利用哈希值的部分最高有效位的二进制位作异或运算, 得出数据项的水印信息;

步骤S5,将数据项的水印信息标志位置0(表示该数据项还未嵌 入水印)。

(1)水印的嵌入过程

传感器节点是能量受限的,嵌入过程要避免繁琐,采取的做法是 只对部分数据项嵌入水印。同时为了最大程度地保证原有数据的真实 性,水印的嵌入位置选择在数据项中核心数据的最低有效位,嵌入水 印后的数据项标志位Flag值为1。

部分数据项的选取依据真实场合中的安全程度的要求,安全性越 高,所要选取数据项的数量越大,反之越小。基于此,算法引入标度 参数u,它的作用是控制一个数据包中嵌入水印的数据项所占的比例。 根据密钥、数据项中的电流值、核心数据的最低有效位为参数的随机 函数生成随机数rd,只有rd可以被u整除的数据项嵌入水印。u在 宏观上反映一个数据包中含有水印信息的数据项的稀疏程度,u的值 越小,该数据项被嵌入水印的机率越大,反之则越小,当u值为1时, 数据包中所有的数据项都加入水印。

水印信息的嵌入包括如下步骤:

步骤S1,根据水印信息的生成算法产生数据项的水印信息;

步骤S2,取数据项中核心数据的最高有效位;

步骤S3,根据密钥,数据项中包含的电流值以及最高有效位的 值,利用随机函数运算,得出随机值;

步骤S4,如果所得的随机数能被u整除,则转向步骤S5;否则, 转向步骤S6;

步骤S5,选取最低有效位的某些固定为作为嵌入位,嵌入水印 信息,置水印信息标志位为1(表示该数据项已嵌入水印),转向步骤 S6.

步骤S6,读取下一个数据项,转向步骤S1;

(2)水印检测过程

水印检测过程是这样的:接收节点检索数据包中的每一个数据项 的标志位Flag,如果是1说明含有水印,因此作水印的提取,提取 后作合法性检测,即比较接受数据项的水印信息与由水印生成算法产 生的水印信息是否相等。如果相等则说明水印在数据传输的过程中没 有发生改变,因此该数据项是安全的。

数据包是众多的数据项组成,网络数据传输安全主要是以数据包 为单位。为了检测数据包的安全,引入阈值参数P,它表示一个数据 包中安全数据项的所占的比例。在概率学上它表示被检测数据包中所 有数据项的真实性程度。P是根据场所要求人为设定,如果数据项检 测合法的概率大于P,说明数据包的安全性符合要求,是合法的,可 以接收并转发,反之丢包。

水印信息的提取和检测具体步骤如下:

步骤S1,检测数据项的水印标志位信息,如果为1,则该数据项 嵌入了水印,则数据包中含有水印信息的数据项的总数目增加1,转 向步骤S2;否则,转向步骤S6,;

步骤S2,获取接受到的数据项的水印信息(即提取数据项中核 心数据的最低有效位);

步骤S3,根据数据项信息和密钥,利用水印信息生成算法,得 出水印信息;

步骤S4,如果接受的数据项的水印信息与利用水印生成算法产 生的水印信息相同,则该数据项的水印信息正确,则数据包中正确水 印信息的数据项的总数目增加1,然后转向步骤S5;否则,直接转向 步骤S5;

步骤S5,如果数据包未检测完,则读取下一个数据项,然后转 向S1;否则转向S6;

步骤S6,如果数据包中正确水印信息的数据项的总数目与数据 包中含有水印信息的数据项的总数目的比值大于P,表示该数据包可 信,则接受该数据包,否则,丢弃该数据包。

本发明的详细流程为:

(1)本发明的数据包的格式如图2所示

对数据包的格式说明如下:

Packet=(Head,Send-Data)

Head:数据包的头部,包含路由、数据类型、数据包长度等固定 信息。

Send-Data:是采集节点一次要发送的数据内容,也是Buffer装 满时的数据内容

Send-Data的格式如下:

Send-Data=(Data[1],Data[2]...Data[m]),Data[i](i=1...m)

表示传感节点一个或多个周期内所采集的数据项。

Data[i]的格式抽象如下:

Typedef struct Data_info

I:一数据项采集的时刻的电流,是矢量,既有大小,又有方向;

Kernal_data:核心数据,也即受保护数据;

Flag:Bool值,表示此数据项是否有水印,有则为1,否则0;

(2)水印信息生成算法

水印的生成过程是基于Send-Data中的单个数据项来进行的,生 成算法要用到两个关键的参数:密钥Key以及数据项采集时刻的电流 I,利用在密码学以及通信领域中广泛有着广泛应用的Hash函数对 Key和I进行运算hsh[i]=Hash(Key,Data[i].I),接着从得到的结果 hsh[i]中求最高有效位,然后取最高有效位的部分二进制位与电流值 作异或运算,从而生成Data[i]的水印信息w[i],最后初始化数据项 的水印状态标志位Flag为0。

(3)水印信息的嵌入算法

出于最小程度地改变数据的目的,只对数据最低有效位嵌入水 印。利用水印生成算法生成的相应的水印,只对数据项的最低有效位 的固定位嵌入水印,嵌入水印后的数据项标志位Flag值为1。

最低有效位的选取依据真实场合中的安全程度的要求,安全性越 高,所要选取数据项的数量越大,反之越小。基于此,引入标度参数u, 它的作用是控制一个数据包中嵌入水印的数据项所占的比例。根据密 钥Key、数据项中的电流I、最低有效位Msb-Data为参数的随机函数 生成随机数rd,只有rd可以被u整除的数据项嵌入水印。u在宏观 上反映一个数据包中含有水印信息的数据项的稀疏程度,u的值越小, 该数据项被嵌入水印的机率越大,反之则越小,当u值为1时,数据 包中所有的数据项都加入水印。

(4)水印检测算法

网络上接收节点的数据包与发送节点的数据包具有一致的结构, 出于方便阐述的目的,用Packet-R=(Head,Receive-Data)表示节点 接收到的数据包,Receive-Data结构同于Send-Data,也是由众多的 数据项构成,包括嵌入水印信息的数据项与未嵌入水印信息的数据 项。水印检测的机制是这样的:接收节点循环读取Receive-Data的 每一个数据项,同时检索每一个数据项的Flag值,将其与1作比较, 若Flag等于0,说明此数据项不含水印信息,因此也不作水印的提 取与检测;若Flag等于1,表示此数据项含有水印信息,进而从该 数据项中提取水印信息WM`,将其与WM= Generate-W(Receive-Data[i],Key,Num)作比较,若是相等关系, 则说明该数据项传输过程中未遭受污染,是安全的。

本说明书中未作详细描述的内容属于本领域专业技术人员公知 的现有技术。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号