乱序局部敏感哈希音频零水印方案

2019-09-10 10:08滕晓宇桂小林戴慧珺李宗育王志通李发兵
西安交通大学学报 2019年9期
关键词:哈希特征向量音频

滕晓宇,桂小林,戴慧珺,李宗育,王志通,李发兵

(1.西安交通大学电子与信息工程学院,710049,西安;2.西安交通大学陕西省计算机网络重点实验室,710049,西安;3.本钢集团有限公司,117000,辽宁本溪)

信号处理技术的普及使得多媒体作品的复制、篡改操作变得极为容易和隐蔽[1],此类问题在音频信号中尤为严重。数字水印技术作为多媒体安全研究的一个分支[2],以其隐蔽性高、安全性好等优点,已经成为解决此类问题较为简单和通用的方法之一。

音频数字水印按照嵌入方式分为嵌入式水印与零水印。嵌入式水印以牺牲水印信息嵌入量与音频质量为代价,通过更改原始音频的时域或频域信息来嵌入水印[3-4]。零水印算法根据音频信号的特征向量构造水印,并不向原始音频信号中添加任何信息,即对音频信号零更改,因而能够较好地处理数字水印的透明性与鲁棒性之间的关系[5-7]。

目前,针对音频的零水印算法已有不少研究成果,大致可以分为以下3类:①单纯型,该类方法根据单一的音频信号特征如倒谱系数、小波域特征、短时能量、过零率等直接构造水印[8-9],具有良好的时间特性,但构造算法易被破解;②多特征混合型,该类方法结合信号特征与信号处理方法构造音频水印[10-13],提高了水印的鲁棒性但增加了构造算法的复杂度,而且并未考虑到水印信息的安全性;③双水印算法,该类方法将以上2种零水印构造结果相融合,得到最终的水印信息[14-15],在一定程度上降低了暴力破解水印信息的概率,但不能确保一定会增强水印信息的鲁棒性,而且同时增大了算法复杂度。

综上所述,现有的音频零水印算法虽然能满足一般情况下对音频零水印的需求,但仍旧存在以下不足:①高性能的数字音频水印算法总是以牺牲算法复杂度为代价的;②由于未考虑音频信号中每帧信息含量的差异性,导致算法运行过程中存在大量冗余工作;③不能保证水印信息的唯一性;④忽略了水印信息的安全性,即可通过构造出的水印信息破解水印构造算法。

为此,本文在分析总结现有的音频零水印的基础上,从安全性的角度提出了一种针对水印信息的攻击模型,并以此为基准设计了一种基于乱序局部感知哈希的音频零水印方案。

1 分析重构攻击模型及零水印方案设计

1.1 分析重构攻击模型

分析重构攻击模型定义在音频零水印领域,是以水印信息安全性为出发点的一种特殊的攻击,具体表现为当发生水印信息泄漏时,只需通过分析泄漏的水印信息,即可得知构造水印的元素及方法,从而重构水印算法。分析重构攻击模型实质上是水印构造的逆推导过程。

该种攻击的危害主要表现为以下2点:①在微观上,分析重构出水印信息的过程中同时破解了水印的构造算法,攻击者可以根据水印构造算法在不更改版权信息的情况下篡改、复制原始音频;②在宏观上,版权判定中将无法判定版权信息,致使通过水印判定版权的算法失效,甚至导致整个版权保护系统瘫痪。

分析重构攻击的特点可分为以下4类:①水印信息与原始音频信号的基本特征相似度极高,该种情况大多出现在单纯型水印构造算法中,例如水印信息与在某阈值下的短时平均能量一致;②水印信息与经过多种信号处理的原始音频特征相似,例如水印信息与经过小波分解的短时能量相似;③水印信息与音频信号的组合特征比较相似,该种方式常见于多特征混合型零水印构造算法;④结合多种处理方式,处理通过多种音频信号特征生成的特征向量,该种情况较前3种具有较好的抗分析重构性。

设ω={ω1,ω2,…,ωn}表示音频信号的n类处理方式,v={v1,v2,…,vm}表示音频信号的m类特征,则上述4种分析重构类型中的最小时间复杂度为O(1),最大时间复杂度为O(m!n!)。由于常见的信号处理方式与数字音频特征是可穷举的,也就是说可以暴力破解水印构造方法。

1.2 符号定义

本文涉及的不同符号及其含义如表1所示。

表1 符号对照表

1.3 音频零水印方案

音频零水印方案分成零水印构造与零水印检测2个部分:零水印构造是根据音频信号的特征向量构造水印;零水印检测是当发生版权纠纷时,对待检测的音频进行水印的二次构造,将构造的结果与原始音频的水印通过相似度检测等手段,判断并确定版权的归属。

由于离散小波变换具有多尺度与多分辨率的特性[5],能由粗及细地逐步分析信号特征,将其应用到音频零水印中,能保证水印具有良好的鲁棒性。局部敏感哈希[16-18]的原理是原始相似度较高的两个向量,经过哈希转换之后仍旧具有很高的相似度,而本身不相似的两个向量,经过哈希转换之后同样不相似。将其应用到音频零水印中,能在保证水印结果的准确性的同时增强水印信息的安全性。链表在数据置换过程中可以起到记录置换顺序,即保序的作用,应用到音频零水印构造过程中可以使水印信息达到更好的抗分析重构性以及唯一性。因此,本文结合音频信号的小波特征与局部敏感哈希以及链表,设计并实现了一种乱序局部敏感哈希的音频零水印方案。

本文提出的零水印方案分为零水印构造模型与零水印检测模型。零水印构造模型主要分为3个部分:第1部分为音频信号预处理过程,通过对音频信号进行预加重、补帧以及去静音帧等操作,完成音频帧的筛选,从根源上降低音频帧的处理数量,从而达到降低水印构造算法复杂度的目的;第2部分为水印的构造过程,通过音频信号的小波分解得到特征向量V,根据局部感知哈希族函数H将向量进行映射,最后借助链表将哈希变换所得的值进行置乱,从而得到构造的水印信息Z,在该部分中,为保证水印信息的唯一性,本文利用链表将哈希映射结果进行置乱,以达到降低水印碰撞性的目的;第3部分为水印图像构造,引入水印图像的目的是使得后续水印检测结果更加清晰,该部分借助图像置乱算法将原始图像进行置乱,并与第2部分所构造的水印信息相结合,得到水印图像T。本文提出的音频零水印构造模型如图1所示。

图1 零水印构造模型

预处理部分在改进现有的通用分帧模型的基础上提出了去静音帧模型,其目的为根据音频信号基本特征去掉信号中静音帧及信息含量较低的部分。令max为取数值集合的最大值操作,min为取数值集合的最小值操作,mean为取数值集合的平均值,S为振幅F的方差,E为音频信号短时平均能量,SF为归一化方差,En为归一化短时能量,Zn为SF与En之比,则筛选过程中涉及到的计算式有

(1)

(2)

(3)

由以上分析以及式(1)~(3),可得去静音帧模型如图2所示。

图2 去静音帧模型

水印图像构造阶段主要分为图像二值化、Arnold图像置乱[19]以及水印图像与水印信息结合共3个部分,其模型如图3所示。

图3 水印图像构造模型

与零水印构造模型相对应的是零水印检测模型,检测模型同样主要分为3个部分:第1部分为水印的二次构造,该部分是对待检测的音频片段W1进行水印构造,构造过程中应用到的构造算法与水印构造过程中设计的算法相同(构造过程如图1所示),因此该过程为水印二次构造;第2部分为相似度计算与相似度比对,前者是针对水印信息Z与Z1,后者是针对水印图像T与T1;第3部分是版权判定,根据第2部分的结果判定版权的最终归属。音频零水印的检测模型如图4所示。

图4 音频零水印检测模型

在零水印检测过程中,需要对水印图像进行相似度比对,主体为原始图像、存档的水印图像T以及经过水印二次构造所得到的待检测音频特征向量V1,主要理论依据为两次异或等于原始数值这一逻辑关系,具体处理过程如图5所示。

图5 水印图像比对

2 零水印方案中关键模块算法及设计

由图1与图5可以看出,实现音频零水印方案的关键模块主要由分帧、去静音帧、特征向量生成、乱序局部敏感哈希水印生成、水印图像构造等组成。

2.1 改进的音频分帧算法

预处理部分主要完成音频信号滤波、预加重、分帧、去静音帧等操作,其中滤波与预加重等前期处理技术的研究已较为成熟,此处不再赘述。

对于分帧算法,文献[20]给出了一种0填补分帧方法,该方法提取特征向量时不会影响端点帧的判断。但是,本文设计的零水印构造算法是基于能量值相关的基础运算,现有的分帧方法需改进后方可适用,改进后的音频分帧算法如下:先计算音频段总长度L对于帧长I的余数K,判断K与0的关系;然后统计第1帧与最后1帧中0的数目,分别用N1与N2表示;再根据N1与N2的大小关系进行0填充,最终得到分帧后的语音帧集合NW。本文设计的分帧算法pro-enframe的伪代码如下,文献[20]的原始分帧算法在本文设计的算法中以“分帧操作”字样体现。

PROC pro-enframe(L,I,N1,N2,NW)

INPUT:音频段长度L,分帧长度I

OUTPUT:分帧后音频集合NW

BEGIN

K←L%I;/*取余运算*/

IF (K=0) THEN 分帧操作,得NW;

/*统计采样点数目*/

Fori←0 ToI-1 DO

【IFN[i]=0 THENN1=N1+1;】

Fori←L-I-1 ToL-1 DO

【IFN[i]=0 THENN2=N2+1;】

IF(N1≥N2) THEN

音频最前补帧并分帧操作;

ELSE音频最后补帧并分帧操作;

END

2.2 特征向量生成

该模块主要完成零水印构造中特征向量的生成,简化了文献[21]关于小波能量的算法,过程为:首先对音频进行小波变换得数组D1[1,…,n]、D2[1,…,n]、D3[1,…,n];然后取3个数组中的最大元素作为特征值写入数组V[1,…,n]中。本文设计的特征向量生成算法get-vec的伪代码如下。

PROC get-vec (NW,D1,D2,D3,V)

INPUT:音频信号帧集合NW

OUTPUT:特征向量V

BEGIN

D1,D2,D3←NW/*小波变换*/

Fori←0 ToI-1 DO

【V[i]←MAX(D1[i],D2[i],D3[i])】

END

2.3 乱序局部敏感哈希水印生成

该模块主要由4部分组成。第1部分为哈希映射选择哈希函数族H,此处每一个哈希函数就是一个简单的阈值函数,在对原有特征向量进行降维的同时对数据进行二值化,阈值函数采用动态选取方式,根据数据的平均值并结合随机数函数进行构造。第2部分为局部敏感哈希映射,将每一个特征向量经过哈希映射后的结果组成数组A。由于每一个感知哈希函数hn都对应着一个桶Tn,每个桶都可以用一个一维数组表示,为方便后续水印图像处理,数组长度应与图像数组行(或列)相等。第3部分为提高水印信息的抗分析重构性,对映射数组A进行纵向置乱,并由链表list1记录数组A中每个向量的首元素在A1中位置。第4部分为置乱映射数组,根据第3部分的方法,将数组A1横向置乱,并由链表list2记录每维元素的位置。本文设计的乱序局部敏感哈希水印生成算法ZL-W的伪代码如下。

PROC ZL-W (V,H,A,A1,list1 list2)

INPUT:音频特征向量V

OUTPUT:水印信息Z

BEGIN

Step1:选择哈希函数族H;

/*进行局部感知哈希函数映射,得数组A*/

/*纵向置乱数组A得A1,链表list1记录*/

/*横向置乱数组A1得A2,链表list2记录*/

Step5:输出水印信息Z

END

哈希函数族H生成时,阈值函数是依据待处理数据的平均值来进行选取的。文献[22]表明,阈值选取过程中均值居多,但均值不能较好地满足多峰值信号要求,因此需要引入缩放因子。基于以上分析,本文选取的阈值函数的变化范围为

(4)

链表list1与list2的作用是辅助置乱与记录原始顺序。借鉴文献[23]中的方法,用Di表示第i维特征向量。图6是零水印构造中的纵向置乱示意图。

图6 零水印构造中的纵向置乱示意图

从图6可以看出:根据链表结构可以将特征向量置乱,原始水印特征向量的顺序应为D1、D2、D3,经过置乱之后变成D3、D1、D2,而且置乱为无规律置乱,因此在一定程度上增强了水印信息的抗分析重构性。

设数组A1[]、B[1,…,m][1,…,n]、C[1,…,m][1,…,n]、链表list1分别存储首元素所在位置、置乱前特征向量、置乱后特征向量、纵向置乱顺序。本文设计的纵向置乱算法Ra_Z的伪码如下。

PROC Ra_Z(A1,B,C,list1)

INPUT:置乱前的数据B

OUTPUT:置乱后的数据C,链表list1,首元素存储数组A1

BEGIN

h←d-1;

/*生成d个不同的随机数*/

Fori←oTod-1 Do 【NL[i]←i;】

While (h!=0)

【V3←Random(0,h);

/*在0~h之间随机生成1个整数*/

g←NL[h];NL[h]←V;NL[V3]←g;

/*交换数据*/h←h-1;】

/*根据随机数置乱特征值,并由list1记录*/

p←0;/*用于指示数组值*/

A1←NL[1];

Fori←0 Ton-1 Do

【WL←NL[i];/*取出随机数值*/

C[][i]←B[][p];

list1.data←p;

list1.link←N[i+1];p←p+1;】

END

2.4 水印图像构造

该模块主要完成零水印构造过程中水印图像的构造,由图3水印图像构造模型以及文献[17]图像置乱算法组成,水印信息构造以帧为单位,水印图像的选取是与帧数相对应,以便构造水印图像。设Y为原始图像,r为图像置乱的阶数,Z为水印信息,t为置乱后的图像,T为最终得到的水印图像,本文设计的水印图像构造算法Water-P的伪代码如下。

PROC Water-P (Y,r,Z,t,T)

INPUT:原始图像Y,置乱阶数r,水印信息Z

OUTPUT:水印图像T

BEGIN

/*对原始图像二值化处理,得到图像Y2*/

T←tXORZ;

/*将水印信Z与图像t进行按位异或操作*/

输出水印图像T;

END

3 实验验证及对比分析

由于本文提出的音频零水印方案是针对抗分析重构攻击的,因此方案的分析验证应分为自身可行性验证分析以及与其他方案对比分析共2个部分,前者侧重于验证,后者侧重于对比分析。

3.1 实验数据选取

本文的实验数据主要分为音频数据和水印图像数据2个部分。音频数据分为语音数据与音乐数据,语音数据部分采用的是麻省理工大学的公开数据库TIMIT、以汉语普通话形式录制的男女声发音“0~9”、连续语音“西安交通大学电子与信息工程学院”,而音乐数据主要选用中国古典民族器乐片段。

为增强版权判定结果的可阅读性与直观性,本文引入水印图像,由于单纯的黑体字样图像不能很好地体现细微的图像变化,因此本文在水印图像的选取阶段同时采用印有西安交通大学校徽的图像和印有“西安交大”黑体字样的图像作为原始水印图像,二值化后的水印图像以及3阶置乱后的效果图如图7所示。

(a)校徽二值图像 (b)校徽图置乱效果图 (c)黑体字的二值图像 (d)黑体字图置乱效果图图7 二值水印图像及置乱效果图

3.2 方案验证分析

筛选方案的分析和验证从不可感知性、可行性、有效性等方面展开。

3.2.1 水印的不可感知性 水印是否被感知是指嵌入水印信息前后的音频段是否发生改变,以及这种改变能否被人耳感知。本文采用零水印方式,从音频信号中提取特征用以构造水印,并未向原始音频信号中添加任何信息,即对原始音频信号零改变。图8为采用本文提出的音频水印方案嵌入水印前后的时域波形对比,从图中可以看出,嵌入水印前后信号的差值恒为0,即嵌入水印前后信号完全相同,因此本文方案具有良好的不可感知性。

3.2.2 去静音帧算法有效性验证 为了验证去静音帧算法的有效性,本文选取连续语音“西安交通大学电子与信息工程学院”作为验证对象,此处音频帧的帧长q=256,筛选阈值为-0.35,筛选效果如图9所示。

(a)原始音频信号的时域波形

(b)嵌入水印后信号的时域波形

(c)嵌入水印前后信号的差值图8 嵌入水印前后的音频时域波形对比

(a)原始音频时域波形

(b)去静音帧算法执行后的音频能量图9 去静音帧算法的效果验证

由于图9a时域波形较为密集,因此仅选出2个具有代表性的区域,对去静音帧效果进行说明。图9b中①②区域对应图9a中静音或者带有部分噪声的区域①②,可以看出,在图9a中区域①②所对应的时域波形几乎聚集在0附近,即所对应的数据帧为静音帧或者信息含量低,所以对应在图9b①②中为0。因此,本文的去静音帧算法是有效的并且合理的。

3.2.3 零水印构造方案验证 以连续女声发音“西安交通大学电子与信息工程学院”为验证用例来验证零水印构造方案是否可以有效执行,水印构造前后效果具体如图10所示。

(d)水印图像2 (e)存档图像2 (f)二次构造的水印图像2图10 水印构造前后效果图

(a)水印图像1 (b)水印图像2图11 加入强背景音乐后二次构造的水印图像

根据本文提出的零水印构造方案可知,在待检测语音的特征向量与原始语音的特征向量相似度较高的情况下,可以完全恢复无噪声水印图像。从图10b、10c与图10e、10f可以看出,从待检测音频可还原清晰可见的原始水印图像。当加入强背景音乐后,二次构造的水印图像如图11所示,可以看出,2幅水印图像几乎已经无法辨别校徽与黑体汉字。因此,本文所提出的音频水印方案是可行的。

3.3 方案对比分析

为了进一步验证本文提出的音频零水印方案的有效性,从可行性、鲁棒性与抗分析重构性这几个方面与相关研究进行对比分析。

3.3.1 抗分析重构性 文献[1]是基于特征的双水印,采用混沌方式将水印图像进行置乱,使得水印信息无法从图像中读出,但未对水印特征向量采取保护措施,一旦秘钥泄漏,水印图像以及水印信息将被成功解密。本文与其设计思路不同,通过置乱水印特征信息来增强抗分析重构性。

设m为音频信号特征的种类数量,n表示处理方式种类数,R表示需要构造特征矩阵的行数与列数,并且n

从表2可以看出,本文提出的乱序局部敏感哈希零水印方案的抗分析重构性明显高于文献[5,8-9]的算法,具有良好的抗分析重构性。

3.3.2 鲁棒性 为方便对比分析,采用归一化相关系数CN作为算法鲁棒性的评价指标,计算公式为

(5)

式中:L1表示水印每维向量的大小;L2表示水印向量的维数。L1×L2即为水印信息的大小。CN越大表示鲁棒性越好。

本文从抗噪声攻击、抗MP3压缩攻击、抗多种比例裁剪攻击这3方面进行方案鲁棒性的分析比对。

(1)抗高斯噪声攻击。对原始音频信号分别添加均值为、标准方差为0.000 3与均值为、标准方差为0.000 5的高斯白噪声,并分别与文献[1](嵌入水印)、文献[5]、文献[24]进行比对分析,结果如表3所示。

表3 不同方案在不同攻击强度下的鲁棒性评价

由表3可知:本文提出的音频零水印方案在2种攻击强度下的CN明显大于文献[24]的结果,略大于文献[1]的结果,由于本文与文献[5]都采用了小波变换,因此在抗噪性方面与文献[5]处于几乎持平状态。综上可知,本文提出的零水印构造方案有较好的抗噪声攻击性。

(2)抗MP3压缩攻击。MP3压缩是指通过一定的速率将原始文件压缩成较小的文件,在这个过程中,器乐相对于语音较为敏感。对原始器乐《凤凰于飞》片段分别进行速率为96、128、160 kb/s的压缩攻击,并与文献[5]和文献[24]进行对比分析,结果如下:由于本文与文献[5]、文献[24]都涉及离散小波变化,所以在抗MP3压缩攻击上性能差异不大,CN几乎持平;3种方案在不同的压缩速率下,CN都能保持在0.9以上,都在压缩速率为128 kb/s时达到最大值,此时CN≥0.98;由于压缩速率为96 kb/s时采用的是低频压缩,原始器乐的高频段的一部分丢失,水印构造产生会受到影响,3种方案的抗MP3压缩攻击性都不太好。因此,本文所提出的音频零水印构造方案具有一定的抗MP3压缩攻击能力。

(3)抗剪裁攻击。抗剪裁攻击是指将原始音频的部分信息裁剪掉后,仍可以进行版权判定,是水印信息鲁棒性的一个重要体现。选取汉语连续语音“西安交通大学电子与信息工程学院”以及单音男女发音“0~9”进行剪裁攻击实验,并与文献[1]、文献[5]、文献[24]进行对比。

剪裁攻击选取的帧数为

(6)

攻击中需要剪裁的帧序号为

AN=rand(C,Lnum)

(7)

式中:AN为需要剪裁的帧序号;rand为随机数生成函数。

在式(7)生成随机数的过程中,如果随机生成所得的静音帧比例高于一定阈值,则需要重新进行生成。由于语音段中静音帧的比例较高,阈值通常先选为50%,再根据具体语音进行调整。器乐段中静音帧比例较低,通常选为67%(2/3)。

在实验对比之前首先对本文提出的零水印方案进行剪裁攻击,效果如图12所示。

(a)原始水印图像 (b)1%剪裁 (c)1%剪裁单音

(d)3%剪裁 (e)5%剪裁 (f)10%剪裁图12 本文方案剪裁攻击后二次构造的水印图像

图12a为原始水印图像;图12b为连续语音(女)在攻击强度为1%时二次构造的水印图像;图12c为单语音在攻击强度为1%时二次构造的水印图像;图12d为英语语音在攻击强度为3%时二次构造的水印图像,英语语音为TIMIT数据库中任取的1条语音;图12e为中国古典民族器乐《凤凰于飞》片段在攻击5%时二次构造的水印图像;图12f为连续语音(男)在攻击强度为10%时二次构造的水印图像。从图中可以看出:本文提出的方案在攻击强度为5%时才出现明显的噪声,如图12e所示;在强度为10%时,虽然噪声已经很明显,但是水印图像信息仍旧清晰,如图12f所示。

选取汉语男女发音语音为用例进行剪裁攻击实验,并与文献[1]、文献[5]以及文献[24]进行比对分析,由于本文采用一定比例的随机剪裁,相同比例下对应的剪裁的位置是不一样的,所以每种剪裁比例分别对应5组实验,其平均CN如图13所示。

图13 不同方案在不同攻击强度下的CN

由图13可知:当攻击强度小于3%时,4种方案相差不大;随着攻击强度的增大,4种方案都存在下降趋势,文献[1]为嵌入水印,因此下降最快,而本文方案下降较慢,略好于其他方案。因此,本文方案具有较好的抗剪裁攻击性。

4 结 论

本文通过对音频零水印技术的现状进行分析,从安全角度入手,提出了一种分析重构水印攻击模型,并依据此攻击模型提出了一种基于乱序局部敏感哈希音频零水印方案。该方案主要分为两大模块:零水印构造和零水印检测。零水印构造过程中主要借助局部敏感哈希以及链表增强水印信息的抗分析重构性。在零水印构造模块中:在预处理阶段根据音频信号的特点设计了去静音帧模型,从源头降低了水印构造算法的时间复杂度;在水印构造过程中,结合链表、局部敏感哈希以及小波变换共同设计构造模型,并将水印信息与水印图像相结合。在零水印检测模块中,对待检测音频依据本文提出的水印构造算法进行水印的二次构造,之后经过相似度计算和与水印图像的相似度比对判定版权的归属。理论分析与对比实验表明,本文提出的零水印方案能在保持较低计算复杂度的情况下仍具有良好的抗分析重构性与鲁棒性。但是,本文的特征提取仅从小波分析入手,特征单一,在一定程度上会造成版权判定过程中准确度下降、抗噪性差。与此同时,局敏感哈希与链表结合会造成复杂度高、可读性差。这都是下一步需要改进的地方。

猜你喜欢
哈希特征向量音频
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
基于特征选择的局部敏感哈希位选择算法
哈希值处理 功能全面更易用
文件哈希值处理一条龙
一类三阶矩阵特征向量的特殊求法
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
基于Daubechies(dbN)的飞行器音频特征提取
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
音频分析仪中低失真音频信号的发生方法