CN107274331B - 用于数据流的鲁棒水印嵌入方法及装置 - Google Patents

用于数据流的鲁棒水印嵌入方法及装置 Download PDF

Info

Publication number
CN107274331B
CN107274331B CN201710441578.4A CN201710441578A CN107274331B CN 107274331 B CN107274331 B CN 107274331B CN 201710441578 A CN201710441578 A CN 201710441578A CN 107274331 B CN107274331 B CN 107274331B
Authority
CN
China
Prior art keywords
data
watermark
data item
groups
item
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
Application number
CN201710441578.4A
Other languages
English (en)
Other versions
CN107274331A (zh
Inventor
石熙
韦鹏程
朱盈贤
冉维
邹晓兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Education
Original Assignee
Chongqing University of Education
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University of Education filed Critical Chongqing University of Education
Priority to CN201710600765.2A priority Critical patent/CN107369125A/zh
Priority to CN201710441578.4A priority patent/CN107274331B/zh
Publication of CN107274331A publication Critical patent/CN107274331A/zh
Application granted granted Critical
Publication of CN107274331B publication Critical patent/CN107274331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0053Embedding of the watermark in the coding stream, possibly without decoding; Embedding of the watermark in the compressed domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

本发明涉及一种用于数据流的鲁棒水印嵌入方法以及水印检测方法和装置,其中水印嵌入方法包括以下步骤:获取构成数据流的数据项,所述数据项至少包括感知数据以及时间戳,根据时间戳以概率p选取用于承载水印的数据项;采用分组密钥对用于承载水印的数据项中时间戳进行哈希函数计算,根据得到的哈希值将该数据项划入到A组或者B组;分别对A组和B组数据项中的感知数据进行增加或者减少水印修改量的运算,以实现水印的嵌入。本发明根据时间戳来选定承载水印的数据项并对数据项进行分组,而时间戳在水印的嵌入与检测的过程中均不被修改,这也保证了数据流两端能够得到相同的数据分组,确保了水印的成功检测,同时又保障了对攻击的抵抗能力。

Description

用于数据流的鲁棒水印嵌入方法及装置
技术领域
本发明涉及一种水印方法,尤其涉及用于数据流的鲁棒水印嵌入方法及水印检测方法和装置。
背景技术
随着物联网技术的发展,越来越多的小型智能硬件被广泛的使用,例如手环、环境检测装置等。此类设备都能够通过各种传感器采集数据,并将数据缓存或者传输。这些数据往往源源不断的产生,并以数据流的形式传输。在大数据的时代,很多应用场景下采集的数据具备商业价值,因此版权保护是一个必须要解决的问题。然而,此类设备往往具有一个共同的特征,那就是资源有限,具体地说就是计算资源、存储资源以及能量有限。鲁棒的数字水印就非常适合用于解决资源受限环境中的流数据的版权保护。
数字水印根据其鲁棒性的强弱分为脆弱水印和鲁棒水印。脆弱水印对篡改敏感,因此常用来检测水印载体的完整性;鲁棒水印对于攻击有较强的抵抗能力,因此常用来存储版权信息,使其不易被常见的信号处理手段抹去,起到版权保护的作用。
资源受限环境网络中传输的数据流主要是数值型数据,实施鲁棒水印通常可能遭遇以下几种攻击方式:
①截取,即从无尽的数据流中截取部分片段;
②采样,以某种采样率均匀的选取数据流中的数据项形成新的采样数据流;
③删除,数据流在传输过程中因为主动攻击或者网络环境丢失部分数据项;
④注入,在数据流中插入伪造的数据项;
⑤篡改,以各种方式篡改数据项的感知数据或时间戳;
这些攻击的目标是一致的,即在不影响数据使用价值的前提之下破坏其隐藏的水印信息,从而使得版权所有方无法判定数据的版权信息,实现数据盗用的非法目标。
因此,亟待开发一种针对资源受限环境网络中传输的数据流的鲁棒水印嵌入及检测方法,从而提高对攻击的抵抗能力,起到版权保护的作用。
发明内容
本发明要解决的技术问题在于,现有技术中缺乏针对资源受限环境网络中传输的数据流进行有效地鲁棒水印嵌入及检测的方法,提供一种用于数据流的鲁棒水印嵌入方法及水印检测方法和装置。
本发明第一方面,提供了一种用于数据流的鲁棒水印嵌入方法,包括以下步骤:
数据选取步骤,获取构成数据流的数据项si,所述数据项si至少包括感知数据以及时间戳ti,其中i为该数据项在数据流中的序号,选择满足以下公式的数据项为用于承载水印的数据项:
F(p,ti,K1)==1;
其中F为判别函数,K1为选择密钥,p为概率;
数据分组步骤,采用分组密钥K2对用于承载水印的数据项中时间戳进行哈希函数计算,根据得到的哈希值将该数据项划入到A组或者B组;
数值增减步骤,对A组数据项中的感知数据进行增加水印修改量δ的运算,对B组数据项中的感知数据进行减少水印修改量δ的运算,以实现水印的嵌入。
本发明第二方面,提供了一种用于数据流的鲁棒水印检测方法,包括以下步骤:
数据确定步骤,获取构成数据流的数据项,所述数据项至少包括感知数据以及时间戳ti,其中i为该数据项在数据流中的序号,确定满足以下公式的数据项为用于承载水印的数据项:
F(p,ti,K1)==1;
其中F为判别函数,K1为选择密钥,p为概率;
数据缓存步骤,采用分组密钥K2对用于承载水印的数据项中时间戳进行哈希函数计算,根据得到的哈希值将数据项分成A组和B组,并根据所属分组将数据项缓存于对应的两个队列中;
差值检测步骤,计算A组和B组两组数据的感知数据之差的累加值,并在两组数据的数据项个数大于预设数量时,计算两组数据的平均差值,在该平均差值大于预设阈值时判断水印存在,否则认为水印不存在。
本发明第三方面,提供了一种用于数据流的鲁棒水印嵌入装置,包括:
数据选取模块,用于获取构成数据流的数据项si,所述数据项si至少包括感知数据以及时间戳ti,其中i为该数据项在数据流中的序号,选择满足以下公式的数据项为用于承载水印的数据项:
F(p,ti,K1)==1;
其中F为判别函数,K1为选择密钥,p为概率;
数据分组模块,用于采用分组密钥K2对用于承载水印的数据项中时间戳进行哈希函数计算,根据得到的哈希值将该数据项划入到A组或者B组;
数值增减模块,用于对A组数据项中的感知数据进行增加水印修改量δ的运算,对B组数据项中的感知数据进行减少水印修改量δ的运算,以实现水印的嵌入。
本发明第四方面,提供了一种用于数据流的鲁棒水印检测装置,包括:
数据确定模块,用于获取构成数据流的数据项,所述数据项至少包括感知数据以及时间戳ti,其中i为该数据项在数据流中的序号,确定满足以下公式的数据项为用于承载水印的数据项:
F(p,ti,K1)==1;
其中F为判别函数,K1为选择密钥,p为概率;
数据缓存模块,用于采用分组密钥K2对用于承载水印的数据项中时间戳进行哈希函数计算,根据得到的哈希值将数据项分成A组和B组,并根据所属分组将数据项缓存于对应的两个队列中;
差值检测模块,用于计算A组和B组两组数据的感知数据之差的累加值,并在两组数据的数据项个数大于预设数量时,计算两组数据的平均差值,在该平均差值大于预设阈值时判断水印存在,否则认为水印不存在。
实施本发明的,具有以下有益效果:本发明根据时间戳来选定承载水印的数据项,同样根据时间戳来对数据项进行分组,而时间戳在水印的嵌入与检测的过程中均不被修改,这也保证了数据流两端能够得到相同的数据分组,确保了水印的成功检测,能够起到版权保护的作用,同时又保障了对攻击的抵抗能力。
附图说明
图1为根据本发明优选实施例的用于数据流的鲁棒水印嵌入方法流程图;
图2为根据本发明优选实施例的用于数据流的鲁棒水印检测方法流程图;
图3为根据本发明优选实施例的用于数据流的鲁棒水印嵌入装置的模块示意图;
图4为根据本发明优选实施例的用于数据流的鲁棒水印检测装置的模块示意图;
图5为根据本发明优选实施例的用于数据流的鲁棒水印检测装置中差值检测模块的示意图;
图6显示了由传感器采集的一段温度数据流;
图7显示了嵌入水印后的温度数据流;
图8显示了不同统计数量N下的漏检率和虚警率;
图9显示了不同水印嵌入的概率p下的漏检率和虚警率;
图10显示了不同水印修改值下的漏检率与虚警率;
图11显示了不同阈值下的漏检率与虚警率;
图12显示了不同采样率下的水印检测率;
图13显示了不同注入率下的水印检测率;
图14显示了不同修改率下的水印检测率。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出了基于Patchwork的资源受限环境中的1比特鲁棒水印版权保护方案。本发明对应用场景进行简化,首先,采集设备端视作传感器节点采集数据,并嵌入水印,本发明只考虑数值型数据,这也是此类应用的主流。数据通过任意网络进行传输,数据项形成数据流抵达终端,视作汇聚节点,汇集到一定数量的数据项被验证,如有必要原始数据可以在汇聚节点被恢复。这种简化的模型突出了此类设备的资源受限的特征,不考虑中间网络传输则体现了物联网网络传输的多样性,同时仅考虑数据流的源(即采集端)和终端(即汇聚端)大大简化了问题。
本发明假设从传感器节点到汇聚节点的一条无限的数据流S,其数据项si来自于传感器节点的每一次采集,si至少包含感知数据di以及其时间戳ti
请参阅图1,为根据本发明优选实施例的用于数据流的鲁棒水印嵌入方法流程图。如图1所示,该实施例提供的用于数据流的鲁棒水印嵌入方法包括以下步骤:
首先,在步骤S101中,执行数据选取步骤,根据时间戳ti以概率p从数据流中选取用于承载水印的数据项。该步骤包括获取构成数据流S的数据项si,该数据项si至少包括感知数据以及时间戳ti,其中i为该数据项在数据流S中的序号,选择满足以下公式的数据项为用于承载水印的数据项:
F(p,ti,K1)==1;
其中F为判别函数,K1为选择密钥,p为概率,若满足上式则判断需对数据项si进行水印嵌入。其中概率p决定了方案水印添加的强度,若p=1则意味着数据流中所有的数据项皆应添加水印。
判别函数F可以采用任意形式,只需实现数据项si以概率p满足判别函数即可。例如通过K1与ti作为参数控制某种随机数发生器,生成均匀分布于0~1之间的随机数f,若f<p则判别函数F的值为1。
上述步骤S101表明在采集端,当传感器节点每完成一次采样,即数据流中产生一个新的数据项si时,则需根据以上条件判断该数据项si是否为水印载体。
随后,在步骤S102中,执行数据分组步骤,采用分组密钥K2对用于承载水印的数据项中时间戳进行哈希函数计算,根据得到的哈希值将该数据项划入到A组或者B组。
优选地,该数据分组步骤具体包括:
(1)通过以下公式计算哈希值:
ci=H(ti,K2);
其中H为哈希函数,K2为分组密钥,ci为输出的散列值即哈希值,为一个比特串;ti为步骤S101中选择的用于承载水印的数据项的时间戳;
(2)将散列值ci的每一位比特进行异或得到bi,若bi=1,则将该数据项si划入A组,否则划入B组。
最后,在步骤S103中,执行数值增减步骤,对A组数据项中的感知数据进行增加水印修改量δ的运算,对B组数据项中的感知数据进行减少水印修改量δ的运算,以实现水印的嵌入。
优选地,该数值增减步骤具体包括:
(1)通过以下公式对感知数据di进行数值增减运算得到嵌入水印的感知数据d′i
d′i=di+δ,若bi=1
d′i=di-δ,若bi=0;
(2)发送已嵌入水印的数据项si',其中包括嵌入水印的感知数据d′i以及未经修改的时间戳ti
请参阅图2,为根据本发明优选实施例的用于数据流的鲁棒水印检测方法流程图。如图2所示,该实施例提供的用于数据流的鲁棒水印检测方法包括以下步骤:
首先,在步骤S201中,执行数据确定步骤,获取构成数据流的数据项,所述数据项至少包括感知数据以及时间戳ti,其中i为该数据项在数据流中的序号,确定满足以下公式的数据项为用于承载水印的数据项:
F(p,ti,K1)==1;
其中F为判别函数,K1为选择密钥,p为概率;该判别函数F与选择密钥K1和概率p与鲁棒水印嵌入时采用的函数和参数一致。该步骤S201表明在汇聚端,当汇聚节点每接收一个数据项si时,同样根据时间戳ti与选择密钥K1,即上述公式判断其是否为水印载体。
随后,在步骤S202中,执行数据缓存步骤,采用分组密钥K2对用于承载水印的数据项中时间戳进行哈希函数计算,根据得到的哈希值将数据项分成A组和B组,并根据所属分组将数据项缓存于对应的两个队列中。
优选地,该数据缓存步骤具体包括:
(1)通过以下公式计算哈希值:
ci=H(ti,K2);
其中H为哈希函数,K2为分组密钥,ci为输出的散列值,ti为步骤S101中选择的用于承载水印的数据项的时间戳。该分组密钥K2与鲁棒水印嵌入时采用的分组密钥一致。
(2)将散列值ci的每一位比特进行异或得到bi,若bi=1,则将该数据项si划入A组,否则划入B组。根据所属分组将数据项si缓存于队列Qa或Qb中。Qa与Qb为汇聚节点建立的两个队列,分别用于缓存A组和B组的数据,缓存于Qa与Qb中的数据项分别记作saj与sbj
随后,在步骤S203中,执行差值检测步骤,计算A组和B组两组数据的感知数据之差的累加值,并在两组数据的数据项个数大于预设数量时,计算两组数据的平均差值,在该平均差值大于预设阈值时判断水印存在,否则认为水印不存在。
优选地,差值检测步骤包括:
(1)通过以下公式计算A组和B组两组数据的感知数据之差的累加值:
D=D+daj-dbj
其中daj为A组队列的数据项saj的感知数据,dbj为B组队列数据项sbj的感知数据,j为数据对序列。也就是说,只要队列Qa与Qb皆不为空,则两边皆出列数据项并计算其感知数据的差值,累加这个差值记作D。
(2)统计两组队列出列数据项的个数,当差值的数量达到N时,即队列Qa与Qb皆出列N个数据项时,通过以下公式计算两组数据的平均差值α:
其中N的大小为方案定义的,若希望取得较好的水印检测效果,N的值应该较大。若N取值接近正无穷,则
(3)判断是否α>T,其中T为预设阈值,并且T=2δ·θ,0<θ<1,δ为水印修改量;如果是则判断水印存在,否则认为水印不存在。这是因为没有嵌入水印的数据流的平均差值α接近于0。
在本发明更优选的实施例中,用于数据流的鲁棒水印检测方法还包括在完成上述第(1)步的差值累加计算后,可以通过与数值增减步骤S103相反的逆运算恢复原始数据。
请参阅图3,为根据本发明优选实施例的用于数据流的鲁棒水印嵌入装置的模块示意图。如图3所示,该实施例提供的用于数据流的鲁棒水印嵌入装置100包括:数据选取模块110、数据分组模块120和数值增减模块130。优选地,该用于数据流的鲁棒水印嵌入装置100位于数据流的源,即采集端或传感器节点。
其中数据选取模块110用于获取构成数据流S的数据项si,该数据项si至少包括感知数据以及时间戳ti,其中i为该数据项在数据流S中的序号,选择满足以下公式的数据项为用于承载水印的数据项:
F(p,ti,K1)==1;
其中F为判别函数,K1为选择密钥,p为概率。判别函数F可以采用任意形式,只需实现数据项以概率p满足判别函数即可。例如通过K1与ti作为参数控制某种随机数发生器,生成均匀分布于0~1之间的随机数f,若f<p则判别函数F的值为1。
数据分组模块120与数据选取模块110连接,用于采用分组密钥K2对用于承载水印的数据项中时间戳进行哈希函数计算,根据得到的哈希值将该数据项划入到A组或者B组。
优选地,该数据分组模块120用于通过以下公式计算哈希值:
ci=H(ti,K2);
其中H为哈希函数,K2为分组密钥,ci为输出的散列值,ti为步骤S101中选择的用于承载水印的数据项的时间戳;
该数据分组模块120还将散列值ci的每一位比特进行异或得到bi,若bi=1,则将该数据项si划入A组,否则划入B组。
数值增减模块130与数据分组模块120连接,用于对A组数据项中的感知数据进行增加水印修改量δ的运算,对B组数据项中的感知数据进行减少水印修改量δ的运算,以实现水印的嵌入。
优选地,该数值增减模块130通过以下公式对感知数据di进行数值增减运算得到嵌入水印的感知数据d′i
d′i=di+δ,若bi=1
d′i=di-δ,若bi=0;
随后,数值增减模块130发送已嵌入水印的数据项si',其中包括嵌入水印的感知数据d′i以及未经修改的时间戳ti
请参阅图4,为根据本发明优选实施例的用于数据流的鲁棒水印检测装置的模块示意图。如图4所示,该实施例提供的用于数据流的鲁棒水印嵌入装置200包括:数据确定模块210、数据缓存模块220和差值检测模块230。优选地,该用于数据流的鲁棒水印检测装置200位于数据的终端即汇聚端或汇聚节点。
数据确定模块210用于获取构成数据流的数据项,所述数据项至少包括感知数据以及时间戳ti,其中i为该数据项在数据流中的序号,确定满足以下公式的数据项为用于承载水印的数据项:
F(p,ti,K1)==1;
其中F为判别函数,K1为选择密钥,p为概率。该判别函数F与选择密钥K1和概率p与鲁棒水印嵌入时采用的函数和参数一致。
数据缓存模块220与数据确定模块210连接,用于采用分组密钥K2对用于承载水印的数据项中时间戳进行哈希函数计算,根据得到的哈希值将数据项分成A组和B组,并根据所属分组将数据项缓存于对应的两个队列中。
具体地,该数据缓存模块220通过以下公式计算哈希值:
ci=H(ti,K2);
其中H为哈希函数,K2为分组密钥,ci为输出的散列值,ti为步骤S101中选择的用于承载水印的数据项的时间戳。该分组密钥K2与鲁棒水印嵌入时采用的分组密钥一致。
随后,该数据缓存模块220将散列值ci的每一位比特进行异或得到bi,若bi=1,则将该数据项si划入A组,否则划入B组。根据所属分组将数据项si缓存于队列Qa或Qb中。Qa与Qb为汇聚节点建立的两个队列,分别用于缓存A组和B组的数据,缓存于Qa与Qb中的数据项分别记作saj与sbj
差值检测模块230与数据缓存模块220连接,用于计算A组和B组两组数据的感知数据之差的累加值,并在两组数据的数据项个数大于预设数量时,计算两组数据的平均差值,在该平均差值大于预设阈值时判断水印存在,否则认为水印不存在。
请参阅图5,为根据本发明优选实施例的用于数据流的鲁棒水印检测装置中差值检测模块的示意图。如图5所示,该差值检测模块230包括:差值累加单元231、差值平均单元232和阈值判断单元233。
其中,差值累加单元231用于通过以下公式计算A组和B组两组数据的感知数据之差的累加值:
D=D+daj-dbj
其中daj为A组队列的数据项saj的感知数据,dbj为B组队列数据项sbj的感知数据,j为数据对序列。
差值平均单元232与差值累加单元231连接,用于统计两组队列出列数据项的个数,当差值的数量达到N时,通过以下公式计算两组数据的平均差值α:
阈值判断单元233与差值平均单元232连接,用于判断是否α>T,其中T为预设阈值,并且T=2δ·θ,0<θ<1,δ为水印修改量;如果是则判断水印存在,否则认为水印不存在。
下面对本发明的用于数据流的鲁棒水印嵌入及检测方法的效果进行分析及验证。
(一)有效性
本发明提出的简单的1比特鲁棒水印方案的核心思想来源于数字图像中的Patchwork算法。概率p决定了方案水印添加的强度,若p=1则意味着数据流中所有的数据项皆应添加水印。而根据数据项时间戳与分组密钥产生的哈希值来分组,可视作一个随机选取的过程。在数据流中随机选取的A、B两组数据项,其感知数据显然是独立同分布的,两组感知数据差值的期望为0,使得水印嵌入成功。
本发明根据时间戳来选定承载水印的数据项,同样根据时间戳来对数据项进行分组,而时间戳在水印的嵌入与检测的过程中均不被修改,这也保证了数据流两端能够得到相同的数据分组,确保了水印的成功检测。当然本发明不能保证A、B两组中的数据项的个数绝对相等,但随机选择使得两者的数量是基本相当的,只要统计的数量N较大,水印的检测不受影响。
虽然本方案的水印容量仅为1比特,即只能区别数据流是否有嵌入水印。虽然水印容量很小,但对于以版权保护为主要目的鲁棒水印是完全可行的,因为本发明可以有效地检测出流数据中是否含有版权方信息。
(二)鲁棒性
鲁棒性是鲁棒水印方案最重要的一个性能指标,本发明将针对背景技术中列举的常见的攻击方式分析本发明水印的鲁棒性。
(1)截取
若攻击者截取数据流中的一段,数据流中的时间戳并没有被篡改,因此方案仍然可以通过时间戳选取承载水印的数据项,根据时间戳进行分组并计算两组感知数据的差值的均值。显然,截取对本节提出的简单鲁棒水印方案的水印检测过程几乎没有影响。当然,如果截取的数据流过短,差值统计的数量不足,也会导致均值的统计结果有误而无法检测水印的存在。但这种过短的数据流并无太大实际的使用价值,因此截取攻击几乎不能生效。
(2)采样
通过采样,攻击者可以得到一些不连续的独立的数据项,并组合形成新的数据流。同理,采样也不篡改数据项原有的时间戳。而选择数据项进行水印的嵌入是受选择密钥K1保护的,攻击者无法判断哪些数据项为水印承载数据项,采样只能随机进行。随机采样的数据流中,属于A、B两组的数据项分布必然是均匀的,数量也就基本相当。因此,与截取攻击情况类似,只要能得到足够多的水印承载数据项,就能从中检测到水印的存在。
(3)删除
从某种意义上讲,删除与采样是同样的一种攻击方式,只不过通常删除攻击留存的数据项更多,而采样攻击删除的数据项更多。当然除了主动的删除攻击,还存在由网络环境所导致的丢包,但无论何种形式的删除,数据项丢失都是随机的。因此,这与采样类似,只要统计的承载水印的数据项的数量足够多,水印就能被检测。
(4)注入
注入伪造的数据项并不是一个常见的针对的鲁棒水印的攻击手段,因为伪造数据项的注入量不能过大,过多的注入数据项必然会影响原始数据的使用价值。假设伪造数据项的注入率为pI,且pI>0,这意味着每x个数据项就需要注入xpI个数据项,而总的数据项个数为x(1+pI),其中携带水印信息的数据项为xp个。显然,原有的携带水印信息的数据项仍然能够得到正确的统计,但Hash运算使得部分新注入的伪造数据项符合嵌入水印的条件,即有xpIp个数据满足嵌入水印的判别条件。
分组对于注入数据项仍然是均匀的,则A、B两组数据中,携带水印的数据项与伪造数据项的比例为1:pI,则在N值较大时平均差值为
显然,只要满足α>T,即
水印仍然能够被检测,反之则水印检测失败。但前面已经分析,过多的注入数据项会影响原始数据的使用价值,因此,我们可以认为注入攻击对水印方案影响不大。
(5)修改
首先,本方案不能抵抗对时间戳的修改,因为无论是水印承载数据项的选取还是两组的划分都由时间戳决定。其次,对于感知数据的修改将不会影响统计结果。
若感知数据的修改值是固定的,也就是每个数据项的感知数据都加上一个固定值,此时差值的均值仍然为
其中,da′j与db′j为修改后两组数据项的感知数据,dt为固定的修改值。
若修改值是随机的,即每个数据项的修改值都不同,记作dti,此时
写作以下形式
dti是随机的修改值,从中随机选择两组必然是独立同分布的,两组的差值期望也就必然为0。因此,在N足够大时
显然,对感知数据的修改皆不影响水印的检测。
总的说来,只要时间戳不被篡改,本发明提出的鲁棒水印方案都能经受常见的攻击,实现水印的检测。
(三)开销
在计算开销方面,最显著的一项为Hash运算,这比起加密已经是实现安全的最小开销。在存储开销方面,传感器节点除了当前数据项并不缓存其他数据,而汇聚节点则需要建立两个队列缓存两组的数据项。但因为只要两个队列皆不为空就出列数据计算差值,而数据项的分组是随机的,所以尽管汇聚节点比传感器节点的存储开销要大,但大部分时候并不需要缓存太多的数据项。本发明还可以对汇聚节点的队列设置一个上限,如果缓存的数据达到这个上限,下一个应该缓存的数据项就直接恢复原始数据不参加水印的统计。这同样不会影响水印的检测。在通信开销方面,本方案基于水印,不增加额外的通信数据量。总的说来,本方案的开销是完全可接受的。
(四)服务质量
从本发明的鲁棒水印嵌入方法的流程可知,传感器节点不缓存任何数据项,因此发送端的时间延迟全部来自数据计算产生的时间延迟,而这通常是可以忽略的。在汇聚端,汇聚节点需要通过队列缓存数据项,但在存储空间的开销处已经分析,缓存量通常不大,而且本发明使用队列长度的上限来限制缓存的数量,引起的时间延迟与现有方案相比,也是可以接受的。并且,在资源受限的应用场景中,本发明避免了传感器节点的时间延迟,保证了数据采集传输的流畅和数据流的平滑,而通常汇聚端的限制通常不多。
本方案需要对采集数据进行修改,水印修改量δ决定了水印的透明度,并且显然δ值越大水印的效果就越好。首先,本发明嵌入水印后的数据是可以恢复的,因此δ并不影响水印的使用价值。当然,嵌入水印后的数据如果太过突出,在传播途径中仍然会引起攻击者的注意,所以仍然希望水印透明度较高。图6显示了一个由传感器采集的一段温度数据流,图7则显示了水印嵌入后的温度数据流。对于温度数据流,δ的值取为0.01度,而图7的水印方案水印修改值取值为2δ,由图可见,嵌入水印并未对数据流的值产生过多的影响,透明度仍然是可接受的。
(五)模拟实验
(1)实验设置
模拟实验通过Matlab进行,实验所用原始数据流采集自Intel Berkeley研究实验室所部署的传感器,周期性的采集带时间戳的湿度、温度、光照强度以及电压数据。
每次实验的数据流只保留四种采样数据中的一种,而数据流中应包含十万个数据项,每个项目的实验结果都来自一千次的重复,并且每次实验都使用不同的数据流。
对于水印的检测,最重要的两个指标是漏检率和虚警率。对于鲁棒水印而言,漏检,指的是嵌入了水印而汇聚节点却未能检测到;而虚警,则指的是没有嵌入水印而汇聚节点却检测到水印的存在。因此,我们需要首先测试方案在未经任何攻击前提下的漏检率和虚警率,并实验方案性能与几个重要参数的关系。
对鲁棒性的测试则依据前述对鲁棒性的分析来进行。针对鲁棒水印的攻击在于不影响原始数据使用的前提下尽可能的使水印不可检测,因此对水印鲁棒性的测试将集中在不同攻击方式下水印的检测率。本发明首先使用在无攻击实验室中性能相对较好的一组参数来配置方案,再逐一测试各种攻击方式下,水印检测率的变化情况。此外,本发明还应测试随着统计数量N的增加,水印检测率在不同攻击方式下的变化,这有助于确定增加统计数量是否能提高水印的检测率。
对于水印容量为1比特的鲁棒水印方案,每次实验结果只有两种,即检测到水印或者检测不到水印。因此无论是漏检率、虚警率还是检测率都经过上千次实验的重复才能得出。
(2)无攻击实验
对于水印方案性能可能会有影响的参数主要有添加水印的概率p,水印修改量δ,阈值系数θ以及差值统计数量N。其中水印修改量δ为一个相对较小的值,例如对于温度数据,δ的值取为0.01度,若室温平均为25度,则δ的取值仅为原始数据的0.04%,是一个对水印透明度影响不大的数值。因此,本发明用水印修改量δ的倍数来表示这个参数的变化。
图8显示了漏检率和虚警率随统计数量N变化的趋势,其他三个参数的设置为水印嵌入的概率p=0.5,水印修改量取2δ,阈值系数θ=0.8,即阈值为T=1.6δ。从图8可以看出,N对漏检率的影响较大。若N值较小,有较大的概率检测不出水印的存在,但只要N维持在一个较大的值,如2000以上,几乎不会发生漏检。这与之前的分析相同,方案的统计性能就是建立在对大量数据的统计基础之上的。尽管虚警率也随着N的增大而减小了,但虚警率变化幅度较小,且都保持在1%以下,因此统计数量N对虚警率影响不大。
图9显示了为水印嵌入的概率p对漏检率与虚警率的影响,其他三个参数的设置为统计数量N=1000,水印修改量取2δ,阈值系数θ=0.8。从实验结果可知,概率p也对漏检率有着较大的影响,漏检率随着p的增大降低了。原因则仍然与统计相关,p越大则水印载体在数据流中的选择就越密集,作为载体的数据项之间的距离就越近。而流数据是逐渐变化的,相邻越近的数据项之间感知数据的差值就越小,统计效果就越好。而如果p过小,则载体数据项之间在数据流中的距离就越远,统计性能就会降低。尽管虚警率也呈现与漏检率相同的趋势,但虚警率很小,因此我们认为水印嵌入的概率p对虚警率的影响不大。
图10显示了漏检率与虚警率随水印修改量变化的趋势,其他三个参数的设置为水印嵌入的概率p=0.5,统计数量N=1000,阈值系数θ=0.8,水印修改量的变化则由δ一直到5δ,皆为δ的整数倍。实验结果显示水印修改量增大可以使得漏检率与虚警率降低,但需要注意的是,数据的修改值增大,水印的透明度就降低,因此只能维持这个修改值在一个合理的范围,不能盲目增大。
图11则显示了阈值系数θ的影响,其他三个参数的设置为水印嵌入的概率p=0.5,统计数量N=1000,水印修改量取2δ。显然,阈值系数θ需要做一个平衡。阈值系数θ增大,则阈值增大,则水印的漏检率升高,但虚警率会随之下降,可以认为检测水印存在的门槛提高了。但从绝对数值上看,虚警率总维持在较小的范围,因此,我们可以略微降低阈值,提高水印的检测率,使漏检率进一步降低。
由以上四组实验的结果可知,首先,所有参数对于方案虚警率的影响要远远小于对漏检率的影响,因此在配置方案时应优先以降低漏检率为目标。而对于鲁棒水印而言,维持水印的可检测性才是首要目标。其次,水印修改量δ与阈值系数θ都需要一个平衡的取值,维持较低的虚警率与水印的透明度。最后,水印嵌入的概率p以及水印统计数量N都直接与统计性能相关,尤其是对于统计数量N,只要增加数据项的统计数量,对于大部分合理的参数配置下的鲁棒水印方案都能够实现漏检率低于1%的检测。这种特性非常适合于数量较大甚至是无尽的传感器采集的数据流,只要数据不断采集,嵌入的水印就能够被检测。
(3)攻击实验
对常见的鲁棒水印攻击方式,前面已经做出了较为详细的分析。对于截取攻击,我们所有的实验都建立在有限个数据项的统计结果之上,因此对参数水印嵌入的概率p以及统计数量N的实验也就是对截取攻击的实验,结果显示,只要统计数量达到一定的程度,截取攻击并不构成威胁。
就采样攻击和删除攻击而言,可以视作同样的一种攻击方式,当然,采样攻击删除的数据量更大。图12显示了在不同的采样率攻击下,以及不同的统计数量下,水印的检测率的变化趋势。采样率由1/2(即每两个数据项保留一个)降低到1/5,统计数量N由500一直上升到5000,其他参数均为无攻击实验中选择的性能较好的配置。实验结果显示,采样攻击确实降低了水印的检测率,尤其在统计数量较低时较为明显。然而,一旦统计数量增加,方案的检测率将迅速的增加,并最终达到一个较高的水平。
注入攻击并非鲁棒水印常见的攻击形式,因为注入新的数据项会显著的影响原始数据的使用价值。图13显示了水印的检测率在不同注入率下随着统计数量变化的趋势。注入率由10%上升到40%,意味着每10个数据项就要注入4个伪造的数据项,伪造的数据项的感知数据值与其相邻数据项相近。实验结果显示,当注入率较低时,对水印检测率的影响不大。然而注入率上升到30%时,水印的检测率急剧下降,当然随着统计数量的增加水印检测率提高,仍然呈现出可检测的趋势。这显然符合前一节的分析,注入率30%仍然满足公式:
则水印仍然可检测。但注入率上升到40%时,已不再满足上述公式,随着统计数量的增加,水印检测率反而迅速的下降了,水印就变得可检测了。
当然若希望维持数据的可用性,数据的注入率就不能太高。因此,方案对于注入攻击的鲁棒性也是可接受的。
理论分析表明方案对数据修改有着较强的鲁棒性,尤其对于固定值的修改几乎不影响水印的检测,实验也证明这一分析,在此不再累述。图14显示了方案对于随机值的修改攻击的鲁棒性。修改率表示数据流中被修改的数据项的个数,修改值在±4δ之间随机变化,确保不会影响原始数据的使用价值。实验结果显示,当修改率较高时,即数据流中大部分数据都被随机修改时,水印的检测率几乎不受影响。这是因为随机修改值之差的期望为0,因此只要统计的数量足够大,这几乎不影响水印的检测。尽管较低的修改率反而明显降低了水印的检测率,但随着统计数量N的增加,水印的检测率仍然能够上升到一个合理的水平。
总之,对于大部分的鲁棒水印的攻击形式,本本发明均能维持较高的水印检测率。部分攻击随着攻击频率的上升会导致水印检测率的下降,然而一旦增大统计的数量,水印的检测率便会上升,并最终达到一个较高的水准。这是基于统计的方案优势,只要统计的样本足够多,总能检测出水印。
综上所述,本发明在数据源,即传感器节点以概率p在数据流S中选出若干数据项作为水印的载体,入选的数据项根据其时间戳ti与密钥被划分成两个组,记作A与B。A组中每个的数据项其感知数据增加一个较小的数值δ,B组中每个的数据项的感知数据减少相同的数值δ。汇聚节点以同样的方式选取载体数据项,再划分A、B组,并累加两组数据项感知数据的差值。如有必要,数据项在计算差值完成后就可以恢复原始感知数据。当统计的数据项达到一定的数量时,即可通过差值的均值来判断水印是否存在。
应该理解地是,本发明的用于数据流的鲁棒水印嵌入方法以及水印检测方法和装置的实现原理与过程相同,因此对用于数据流的鲁棒水印嵌入方法和检测方法实施例的具体描述也适用于用于数据流的鲁棒水印嵌入装置和水印检测装置。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (4)

1.一种用于数据流的鲁棒水印嵌入方法,其特征在于,包括以下步骤:
数据选取步骤,获取构成数据流的数据项si,所述数据项si至少包括感知数据以及时间戳ti,其中i为该数据项在数据流中的序号,选择满足以下公式的数据项为用于承载水印的数据项:
F(p,ti,K1)==1;
其中F为判别函数,K1为选择密钥,p为概率;
数据分组步骤,采用分组密钥K2对用于承载水印的数据项中时间戳进行哈希函数计算,根据得到的哈希值将该数据项划入到A组或者B组;
数值增减步骤,对A组数据项中的感知数据进行增加水印修改量δ的运算,对B组数据项中的感知数据进行减少水印修改量δ的运算,以实现水印的嵌入;
其中,所述数据分组步骤包括:
(1)通过以下公式计算哈希值:
ci=H(ti,K2);
其中H为哈希函数,K2为分组密钥,ci为输出的散列值;
(2)将散列值ci的每一位比特进行异或得到bi,若bi=1,则将该数据项si划入A组,否则划入B组。
2.根据权利要求1所述的用于数据流的鲁棒水印嵌入方法,其特征在于,所述数值增减步骤包括:
(1)通过以下公式对感知数据di进行数值增减运算得到嵌入水印的感知数据di′:
di′=di+δ,若bi=1
di′=di-δ,若bi=0;
(2)发送已嵌入水印的数据项si',其中包括嵌入水印的感知数据di′以及时间戳ti
3.一种用于数据流的鲁棒水印嵌入装置,其特征在于,包括:
数据选取模块,用于获取构成数据流的数据项si,所述数据项si至少包括感知数据以及时间戳ti,其中i为该数据项在数据流中的序号,选择满足以下公式的数据项为用于承载水印的数据项:
F(p,ti,K1)==1;
其中F为判别函数,K1为选择密钥,p为概率;
数据分组模块,用于采用分组密钥K2对用于承载水印的数据项中时间戳进行哈希函数计算,根据得到的哈希值将该数据项划入到A组或者B组;
数值增减模块,用于对A组数据项中的感知数据进行增加水印修改量δ的运算,对B组数据项中的感知数据进行减少水印修改量δ的运算,以实现水印的嵌入;
其中,所述数据分组模块用于通过以下公式计算哈希值:
ci=H(ti,K2);
其中H为哈希函数,K2为分组密钥,ci为输出的散列值;
所述数据分组模块还用于将散列值ci的每一位比特进行异或得到bi,若bi=1,则将该数据项si划入A组,否则划入B组。
4.根据权利要求3所述的用于数据流的鲁棒水印嵌入装置,其特征在于,所述数值增减模块用于通过以下公式对感知数据di进行数值增减运算得到嵌入水印的感知数据di′:
di′=di+δ,若bi=1
di′=di-δ,若bi=0;
所述数值增减模块还用于发送已嵌入水印的数据项si',其中包括嵌入水印的感知数据di′以及时间戳ti
CN201710441578.4A 2017-06-13 2017-06-13 用于数据流的鲁棒水印嵌入方法及装置 Active CN107274331B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710600765.2A CN107369125A (zh) 2017-06-13 2017-06-13 用于数据流的鲁棒水印检测方法和装置
CN201710441578.4A CN107274331B (zh) 2017-06-13 2017-06-13 用于数据流的鲁棒水印嵌入方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710441578.4A CN107274331B (zh) 2017-06-13 2017-06-13 用于数据流的鲁棒水印嵌入方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710600765.2A Division CN107369125A (zh) 2017-06-13 2017-06-13 用于数据流的鲁棒水印检测方法和装置

Publications (2)

Publication Number Publication Date
CN107274331A CN107274331A (zh) 2017-10-20
CN107274331B true CN107274331B (zh) 2018-03-13

Family

ID=60067510

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710600765.2A Pending CN107369125A (zh) 2017-06-13 2017-06-13 用于数据流的鲁棒水印检测方法和装置
CN201710441578.4A Active CN107274331B (zh) 2017-06-13 2017-06-13 用于数据流的鲁棒水印嵌入方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710600765.2A Pending CN107369125A (zh) 2017-06-13 2017-06-13 用于数据流的鲁棒水印检测方法和装置

Country Status (1)

Country Link
CN (2) CN107369125A (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108494775B (zh) * 2018-03-26 2020-12-15 四川长虹电器股份有限公司 防止利用合法数据或篡改合法数据进行网络攻击的方法
CN109005175B (zh) * 2018-08-07 2020-12-25 腾讯科技(深圳)有限公司 网络防护方法、装置、服务器及存储介质
CN111651735B (zh) * 2020-05-07 2022-03-01 清华四川能源互联网研究院 一种具有时间戳对齐功能的时序数据水印方法
CN113095988B (zh) * 2021-03-29 2022-02-01 贵州大学 基于orc采样和qgpce变换的弥散张量图像鲁棒零水印方法
CN113626802B (zh) * 2021-08-23 2023-05-12 重庆第二师范学院 一种设备密码的登录验证系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3778009B2 (ja) * 2001-06-13 2006-05-24 ソニー株式会社 データ転送システム、データ転送装置、データ記録装置、データ管理方法
GB0317571D0 (en) * 2003-07-26 2003-08-27 Koninkl Philips Electronics Nv Content identification for broadcast media
CN102867286A (zh) * 2011-07-08 2013-01-09 索尼公司 数字水印生成、嵌入、检测方法和装置
CN102646259A (zh) * 2012-02-16 2012-08-22 南京邮电大学 一种抗攻击的鲁棒多倍零水印方法
EP2797333A1 (en) * 2013-04-26 2014-10-29 Nagravision S.A. Method for watermarking media content and system for implementing this method
CN105263024B (zh) * 2015-10-15 2018-06-29 宁波大学 一种抗量化转码的hevc视频流零水印的注册和检测方法

Also Published As

Publication number Publication date
CN107369125A (zh) 2017-11-21
CN107274331A (zh) 2017-10-20

Similar Documents

Publication Publication Date Title
CN107274331B (zh) 用于数据流的鲁棒水印嵌入方法及装置
Gianvecchio et al. Model-based covert timing channels: Automated modeling and evasion
Sultana et al. Secure provenance transmission for streaming data
Zhang et al. Secure data aggregation in wireless sensor networks: a watermark based authentication supportive approach
CN111818103B (zh) 一种网络靶场中基于流量的溯源攻击路径方法
Walls et al. Liquid: A detection-resistant covert timing channel based on IPD shaping
CN108768943A (zh) 一种检测异常账号的方法、装置及服务器
CN104967610B (zh) 一种基于时隙的水印跳变通信方法
CN105407096B (zh) 基于流管理的报文数据检测方法
Luo et al. Robust network covert communications based on TCP and enumerative combinatorics
CN106375157B (zh) 一种基于相空间重构的网络流关联方法
CN104636764B (zh) 一种图像隐写分析方法以及其装置
CN106878314B (zh) 基于可信度的网络恶意行为检测方法
CN107248996A (zh) 一种dns放大攻击的检测与过滤方法
CN106330611A (zh) 一种基于统计特征分类的匿名协议分类方法
CN105429940B (zh) 一种利用信息熵和哈希函数进行网络数据流零水印提取的方法
Lu et al. An HTTP flooding detection method based on browser behavior
CN109583056A (zh) 一种基于仿真平台的网络攻防工具效能评估方法及系统
CN109858510A (zh) 一种针对HTTP协议ETag值隐蔽通信的检测方法
CN106850658A (zh) 实时在线学习的网络恶意行为检测方法
Sur et al. Steganalysis of network packet length based data hiding
Clausen et al. Evading stepping-stone detection with enough chaff
CN104836700B (zh) 基于ipid和概率统计模型的nat主机个数检测方法
Dumitrescu et al. Steganalysis of LSB embedding in multimedia signals
Meng et al. Hidden service publishing flow homology comparison using profile‐hidden markov model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant