基于数字水印和模式恢复的语音认证系统
2020-03-05黄文超葛琳琳李易霖
黄文超,张 威,葛琳琳,李易霖
(1.辽宁石油化工大学,辽宁抚顺113001;2.大连海洋大学,辽宁 大连116023)
随着数字存储设备的快速发展,录音作为证据在法庭上广泛应用,而语音容易受到攻击,故其认证工作非常重要。存储的语音可靠性的保证可以通过限制访问内容适当提高其安全性,加密是保存数字信息的一种方法,然而该方法不能完全保护信号处理级别的数字伪造,如替代、插入和删除信号的数字伪造很难通过人们听觉检测出来,需要可靠的信号分析方法和先进的验证工具来检测。数据隐藏和提取技术是数字水印对数字版权保护的一种方式,可用于语音认证[1]。
利用音频水印进行数据隐藏是人类听觉系统的非关键频带中信号修改的一种方式,一些不能被人类听觉系统听到的信号被删除或插入[2]。第一种应用于数字音频水印技术是扩频技术,该方法加入由心理声学模型或线性预测滤波器模型掩盖的随机信号,通过互相关完成水印的检测[3-5],该技术的局限性在于通过数字滤波可以消除水印信息;回声隐藏是另一种音频水印标记技术,利用原始信号和回声信号的时间间隔很短时,人类听不到回声信号的理论[6],使用倒频谱分析方法提取语音信号,易于开发,该技术对数字压缩信号具有鲁棒性,但是该音频水印很容易被发现和删除,用全通滤波器的数字滤波方法嵌入水印信息,通过简单的信号处理,可以很容易地删除水印标记信息,从而改变相位信息[7]。现有的一些方法用高度重复的信号作为数字水印,该数字水印可以通过原始信号的简单修改产生[8]。本文提出了一种基于数字音频水印和模式恢复技术提高语音信号鲁棒性和有效性的方法。本文所提的方法解决了语音认证水印方法存在的问题。在语音信号中嵌入循环模式,与其他现有的方法相比,提取的模式不需要同步,如果语音内容被修改,则必然修改嵌入模式。采用扩频水印方法作为嵌入方案,通过循环模式的扭曲来测量修改的区域,在伪造检测分析阶段,采用曲线优化的平滑技术增强了认证系统的鲁棒性。
1 提出的方法
所提方法的执行过程如图1所示。
图1 语音认证系统的处理流程
该过程从原始语音信号的输入开始,用脉冲编码调制(Pulse Code Modulation,PCM)格式存储;水印的预检测是为了避免冗余,如果预检测没有发现任何水印,则在语音信号中嵌入水印,嵌入水印的语音信号可以用压缩或原始的格式存储;为了检测语音内容是否被伪造或对语音内容进行认证,必须进一步处理,语音信号应该由MP3、WMA等存储格式转换为PCM信号;水印图像的恢复需要对图像进行位信息提取和预处理,通过对模式退化程度的分析,可以检测出含有水印的语音信号是否被伪造。实验中使用的语音数据是在一个普通的室内环境中用6个设备记录的(3个PDA、DVR,耳机和纽扣麦克风),并按8 kHz的速率采样,16 bit的分辨率量化,语音的持续时间大约为60 s。为评估伪造检测的准确性,在随机点上替换、插入和删除语音片段,并测试修改后的语音的完整性及抵抗MP3和CELP语音压缩的鲁棒性。
2 嵌入水印
2.1 DFT(离散傅里叶变换)域扩频
从根本上说,水印嵌入可以在时域和频域中,水印技术关键在于隐藏扩频序列,通过相关性技术不能检测出该隐藏的扩频序列。本文利用初始种子产生的伪随机序列对频谱的幅度进行了修正,这些序列的循环移位变换可以用来表示一个特定的随机序列的多个信息,水印幅度向量由y=m+w计算得出。其中,m为原始幅度,水印w定义为Δb,随机位序列b由b(i)组成,i=1,2,…,N,参数Δ表示嵌入强度。频域嵌入水印方案如图2所示。
图2 频域嵌入水印方案
DFT的块变换存在块回声,该回声在水印应用中会引起可听到的噪声,当水印强度变强时,块回声更突出。使用重叠相加(OLA)方法合成语音块,可以减少块回声,重叠相加(OLA)方法如图3所示。最终嵌入水印的帧2(F2)由式(1)计算得出。
式中,S'1为帧1和帧2的加窗信号和水印信号;S'2为帧2和帧3的加窗信号和水印信号;N为帧大小;W为窗口信号,如hamming窗口。
图3 重叠相加(OLA)方法
2.2 水印模式架构
在不考虑同步的情况下,对水印使用循环模式来检测伪造,通过检测模式的变化来测试伪造的存在。然而,需要在鲁棒性和时间分辨率精度之间进行权衡,时间分辨率精度由时间长度(T)和水印信息的数量确定,水印信息的折中值如图4所示。较长的时间长度和更多的水印信息能获得更高的鲁棒性,但是降低了时间分辨率的精度,本文确定T值为 0.6 s,水印信息为 0,1,2,3,4。
图4 水印信息的折中值
相同的水印信息被嵌入到整个区域中,这些区域通过移位随机比特序列形成,含有时间长度和水印信息。水印信息的循环模式如图5所示。
图5 水印信息的循环模式
2.3 嵌入水印的预检测
为了避免水印信息被错误地重新嵌入,设计了一种预检测方案,在预检测阶段通过进行简单的相关运算来预先检查水印,加水印和无水印信号的扫描宽度如图6所示。从图6可以看出,加水印的信号比无水印的信号显示更大的峰值,如果峰值大于20,则内容被视为水印信号。
图6 加水印和无水印信号的扫描宽度
3 水印提取与模式恢复
水印提取采用互相关法,水印信息的提取过程如图7所示。利用水印信息的时间变化来恢复语音信号,并通过检测水印图形的退化程度来识别语音信号是否被伪造。
图7 水印信息的提取过程
3.1 语音片段DFT幅度的积累
将水印信号分为原始信号和噪声信号两类,信号片段幅值的叠加提高信噪比(SNR),当嵌入的水印强度越弱时,SNR越高,水印检测越困难。为了避免不同水印信号片段的积累,累加片段的大小应该小于用于嵌入的时间长度。
3.2 倒频谱滤波
语音信号可以作为隐藏信息的载体,因此语音信号的方差直接影响水印的检测结果,具有共振峰规范的语音信号会产生较大的方差,所以应用倒频谱滤波(CF)作为滤化信号的方法,CF通过以下步骤去除语音信号的频谱形状。
步骤1 通过离散余弦变换(DCT)计算DFT向量幅度的近似倒频谱z=DCT(y)。
步骤2 倒频谱系数是过滤掉的第一部分,设zi=0,i=0,1,…,9。
步骤3 通过逆DCT重构频谱y͂=IDCT(z)。
3.3 水印信息互相关检测
通常,水印检测由定义的互相关函数来完成:
式中,r(i)为位移幅度;∘为互相关函数。
如果͂(i)=0,则p(i)=1。互相关函数如图8所示。根据随机比特的位移幅度,必须在特定位置有较大的相关值,水印信息可以用0到N-1的峰值范围索引来提取。
图8 互相关函数
3.4 提取水印信息的时间模式
为了提高提取模式的鲁棒性,采用下面两个预处理步骤。
步骤1 向右信息趋近的估计。由于音频压缩和不稳定的嵌入技术,使水印信息的时间变化存在一些意想不到的错误,t帧的水印值(V(t))为0~4,其他值都是错误的,这些错误值可以用最临近的正确值替换。
步骤2 曲线优化(平滑)。v(t)的时间变量的正确结果类似于0,1,2,3,2,1,0,1,2,……,然而,由于一些无法避免的错误,存在一些非连续的值,可以应用曲线优化技术恢复v(t)的时间变量。如果v(t)的长度为N,可以定义为(N-2)×(N-2)的矩阵B和(N-2)×N的矩阵D。
用式(4)和式(5)表示平滑模式(F)。
式中,V为大小为N×1中水印信息的时间变量;η是平滑参数;F为平滑模式;A为平滑模式F的中间矩阵。
原始图像和平滑图像水印信息的提取模式如图9所示。
图9 水印信息的提取模式
3.5 利用局部峰之间长度的伪造检测
基于局部峰之间长度(L)检测伪造区域提出的方法可以检测的伪造区域三种伪造信号为:类型I,插入没有加入水印的语音信号;类型II,插入加入水印的语音信号;类型III,删除语音信号。假设局部峰的长度为L,并且在最大峰值(最大峰值为4)中存在3个局部峰值,局部峰之间长度检测语音信息伪造的结果如图10所示。
图10 局部峰之间长度检测语音信息伪造的结果
在图10(b)的类型I伪造中,有意插入一些信号,局部峰的长度大于L;在图10(c)的类型II伪造中,由于添加了一些加入水印的信号,导致局部峰的长度变长或变短,最大峰之间的局部峰数可能大于3个;图10(d)的类型III伪造可以通过观察局部峰较短的长度检测到,最大峰之间的局部峰数可能小于3个。
4 实验方法及结果
4.1 实验方法
实验使用6个录音装置(PDA(H)、PDA(C1)、PDA(C2)、数字录音机 、内 置 MIC+PC、外联MIC+PC)来对语音信号进行记录,语音数据采用8 kHz的采样率和16 bit分辨率量化,语音记录的长度为60 s,录音分别在安静和嘈杂的办公室内进行,使用奔腾663 MHz的PC机对语音信号进行水印的嵌入和检测,帧由256个样本组成,T为0.6 s,水印在DFT域的600~3 800 Hz频带内进行嵌入,嵌入时间为时播放时间的9%。
4.2 嵌入水印所产生的信噪比
采用了两种嵌入强度(Δ)来测试对两种语音压缩(MP3和CELP)的鲁棒性。水印嵌入的SNR结果如表1所示。3 dB是MP3压缩格式(16 kbps)中完美伪造检测的最小强度;10 dB是CELP压缩格式(11.5 kbps)中完美伪造检测的最小强度。由于环境噪声和设备噪声的掺杂,很难通过仔细聆听来区分原始语音和水印语音(3 dB强度)。强度为10 dB时,水印噪声是可听的,但一般语音的失真较小。
4.3 检测结果
本文对原始语音在随机点使用三类伪造进行修改来检测所提的方法,修改的长度为1 s,在每个语音数据伪造测试中,对每个类型进行32个不同类型的伪造测试,测试过程为:通过检测L(正常值为3.6 s),无论比正常值长或短都可检测到伪造,阈值为0.4 s,如果在局部峰之间存在伪造点,则不存在倾斜误差;否则,用最近的峰与伪造点之间的差值来估计倾斜误差,平滑参数(g)为300,检测时间为播放时间的50%。16 kbps的MP3压缩格式的鲁棒性测试结果如表2所示。
表1 水印嵌入的SNR结果
表2 16 kbps的MP3压缩格式的鲁棒性测试结果
共测试了576个伪造样本,所有的伪造都能够成功地被检测到,可以明显地看到误差;在测试中还对很难恢复的8 kbps的MP3压缩格式的水印模式进行了检测。为了保持语音质量,16 kbps的压缩是最小压缩级别,所以本文所提的方法在实际应用中是有效的。当语音信号用MP3压缩时,在8 kHz的采样率下,在原始信号前添加56个样本,这种添加是一种插入语音片段的伪造,并导致图10中L的长度略微增加,但是在实际应用中这种增加不认为是伪造,因为0.07 s不足以对语音内容进行有意义的伪造。11.5 kbps的CELP压缩格式的鲁棒性测试结果如表3所示。该测试除了嵌入强度以外与MP3压缩格式的测试实验方法相同,并且所有伪造检测也与MP3压缩格式的测试相同。
不同方法对语音信号的压缩结果如表4所示。多光谱分析、特征提取、脆弱水印、本文方法的压缩结果分别使用自然语音、比较加密特性、比较原始位和提取位、检查恢复模式的变化方法进行检测。从表4可以看出,与其他现有数字水印方法相比,该方法具有两个优点,不需要再同步,并且使用模式恢复的容错能力更强。
5 结 论
采用嵌入循环模式解决同步问题和模式恢复问题,提高了算法的鲁棒性。模式恢复采用预处理和曲线拟合相结合技术,为避免冗余水印,采用快速预检测方法。该方法可以检测各种语音信号的伪造,并通过实际实验验证了该方法的有效性,在曲线逼近的过程中有可能产生误差,当在接近局部峰值的地方进行伪造时,会产生倾斜误差。针对这一问题,今后将对模式进行直接分析,使该技术不断完善。
表3 11.5 kbps的CELP压缩格式的鲁棒性测试结果
表4 不同方法对语音信号的压缩结果