師春靈,錢 清
(1.信陽學院 大數(shù)據(jù)與人工智能學院,河南 信陽 464000;2.貴州財經大學 信息學院,貴州 貴陽 550025)
數(shù)字音頻內容真實性和完整性取證問題已成為當前多媒體信息安全領域的研究熱點[1]。用于取證的水印技術發(fā)展至今已取得了豐碩的研究成果[2-6]。文獻[7]提出了一種精確篡改定位的數(shù)字語音取證算法。文中定義了一種保密的語音特征——能量比,并給出了基于能量比的水印嵌入的理論依據(jù),進一步通過實驗分析了該特征的魯棒性和水印的抗信號處理能力。然而隨著應用的深入,對語音信號處理的方式趨于多樣化,文獻[7]的算法對于傳統(tǒng)信號處理具有一定的魯棒性,然而對于其它信號處理,比如添加回聲等操作,則魯棒性不能滿足實際需求。對于另外一部分采用公開特征進行水印嵌入的算法[8,9],由于特征易被攻擊者獲取,導致嵌入的水印存在安全隱患。
5G的大帶寬使高清信號的實時傳輸成為可能,必將帶來語音信號采樣頻率的提高。對于采樣頻率較高的語音信號而言,采用傳統(tǒng)的水印技術來進行取證,或多或少地存在一些針對性不強的問題[10-12]。從實際需求出發(fā),以數(shù)字語音信號為載體,提出了一種魯棒的水印取證算法。定義了語音信號FDCR(frequency domain coefficient residuals)特征,并分析了此特征對信號處理的魯棒性以及對惡意攻擊的脆弱性。本文將語音信號分幀,將各幀幀號映射為二進制的水印序列。然后,將各幀分段,并提取各段信號的FDCR特征。依據(jù)嵌入信息的不同來量化FDCR特征,進一步通過修改對應的DCT系數(shù)來完成水印的嵌入。提取端,通過提取二進制水印信息,并將其轉換成幀號來進行內容取證,以及必要時候的篡改定位。最后實驗分析了本算法的綜合性能,表明本文所提算法具有較好的不可聽性,對信號處理操作具有較好的魯棒性,同時提高了水印系統(tǒng)的安全性,以及對惡意攻擊的篡改定位能力。
對于含有N個樣本的音頻信號A={an|1≤n≤N},由式(1)計算其DCT系數(shù),記為C={cn|1≤n≤N}
(1)
從DCT系數(shù)C中選低頻和中頻系數(shù)(長度均為M),分別記為Clow和Cmed。由式(2)計算低頻系數(shù)Clow的對數(shù)和Dlow
(2)
式中:α>0,λ>max(|Clow|,|Cmed|),α和λ作為本文水印系統(tǒng)的密鑰。同樣,計算中頻系數(shù)Cmed的對數(shù)和Dmed。由式(3)計算信號A的FDCR特征
R=|Dlow-Dmed|
(3)
對音頻信號而言,一方面,高頻部分更多表征信號的細節(jié)部分,而能量主要集中在低頻和中頻部分。另一方面,不同內容的信號,低頻和中頻之間的關系存在差異;而對于表達內容相同的信號(如經過一定信號處理前后的信號),低頻和中頻之間的關系具有一定的穩(wěn)定性。基于此,本文提出了如式(3)所示的音頻信號FDCR特征。下面測試FDCR特征在信號處理后的改變程度。
隨機選取一段長為L,采樣頻率為44.1 kHz的語音信號,記為A,如圖1所示。下面實驗分析FDCR在信號處理后的改變程度。
圖1 原始語音信號
(1)將A分為P幀,第i幀記為Ai,每幀長為N。
(2)對Ai進行DCT,計算其FDCR特征,記為Ri。
(3)對語音信號A進行信號處理操作,包括壓縮率為64 kbps的MP3壓縮、由44.1 kHz采樣頻率下降到22.05 kHz的重采樣、截至頻率為8 kHz的低通濾波操作。圖2給出了語音信號進行信號處理前后各幀的FDCR特征。
圖2 語音信號進行處理前后各幀的FDCR特征
(4)對語音信號A進行惡意攻擊(從其它信號中選取一段內容,對A進行替換攻擊),攻擊后的信號如圖3所示。圖4給出了原始信號A各幀的FDCR特征和替換攻擊后各幀的FDCR特征。
圖3 替換攻擊后的語音信號
圖4 替換攻擊前后語音信號的FDCR特征
為了測試不同類型信號FDCR特征對信號處理的魯棒性,從樣本庫隨機選取200段不同類型的語音信號,包括男聲和女聲,錄制環(huán)境有安靜的室內、討論會現(xiàn)場、空曠的野外。然后對選取的測試信號進行信號處理操作(64 kbps的MP3壓縮、由44.1 kHz采樣頻率下降到22.05 kHz的重采樣、截至頻率為8 kHz的低通濾波)。將原信號和信號處理后的信號分幀(這里等分為40幀),分別計算200段信號處理前后各幀的FDCR特征統(tǒng)計均值,如圖5所示。由測試結果可得不同類型語音信號FDCR特征信號處理前后幾乎保持不變,具有較好的魯棒性。若采用量化FDCR特征的方法來嵌入水印,可以保證含水印信號在信號處理后,以較高的概率正確地提取嵌入的信息。
圖5 200段不同類型的語音信號處理前后FDCR特征變化統(tǒng)計均值
從以上測試結果表明,本文提出的FDCR特征對信號處理具有一定的魯棒性,對惡意攻擊(改變音頻表達內容)具有一定的脆弱性。下面我們分析FDCR特征和DCT系數(shù)之間的關系,為將FDCR特征作為嵌入域的水印嵌入提供量化方法。
由語音信號DCT系數(shù)構造了FDCR特征,實驗驗證了FDCR特征對信號處理的魯棒性和惡意攻擊的脆弱性?;贔DCR特征的性質,本文將FDCR作為嵌入域來嵌入水印信息。下面給出DCT系數(shù)和FDCR特征之間的關系,為本文通過量化DCT系數(shù)來修改FDCR特征值,實現(xiàn)水印的嵌入提供依據(jù)。假設Dlow>Dmed(對于Dlow≤Dmed的情況類似),且通過修改低頻系數(shù)Clow來量化FDCR特征。R和R′分別表示量化前后的FDCR特征,Clow和C′low分別表示量化前后的DCT低頻系數(shù)。式(4)給出了量化前后的DCT低頻系數(shù)之間的關系,表明本文嵌入水印可以采用式(4)的方法來量化DCT低頻系數(shù)完成水印的嵌入。其中c′n∈C′low
(4)
本文提出的取證水印算法,首先將語音信號分幀,記錄各幀幀號,并將幀號映射為水印信息,嵌入在對應的語音幀中。當含水印信號被惡意攻擊后,被攻擊語音幀中的水印將很難被準確地提取。然而,卻能夠從攻擊語音幀前后相鄰的沒有被攻擊的幀中提取準確的水印信息。將提取的水印信息映射為幀號,前后幀號中不連續(xù)的部分即為被攻擊的內容,以此來取證并進行篡改定位,詳細的水印方案如下。
取語音信號A={al|1≤l≤L},al表示第l個樣本點,L表示信號A的長度。
(1)將語音信號A等分為P幀,第i幀記為Ai,每幀長為N,N=L/P。
(2)由式(5)將Ai的幀號i映射為二進制序列Bi={bt|1≤t≤T}
i=b1×2T-1+b2×2T-2+…+bT-1×2+bT
(5)
(3)將Ai等分為2T段,第t段記為Ai,t,1≤t≤2T,將Bi分別嵌入Ai的前后兩段中。對Ai,t進行DCT,并取DCT系數(shù)的低頻和中頻系數(shù),由式(2)和式(3)計算Ai,t的FDCR特征,記為Ri,t。
(4)根據(jù)bt來量化Ri,t,如式(6),其中Δ表示量化步長,R′i,t表示量化后的FDCR特征
(6)
(5)根據(jù)量化前后的FDCR特征Ri,t和R′i,t,由式(4)對第i幀第t段的DCT低頻系數(shù)幅值進行量化,然后逆DCT生成含水印的第i幀第t段的信號。
重復上述方法,完成各幀水印的嵌入,得到的含水印信號記為A′i。嵌入過程如圖6所示。
圖6 水印嵌入過程框架
將含水印信號記為A*,長度為L*,水印提取和內容取證過程如下:
(7)
(5)若檢測到第1幀的內容是真實的,則將第1幀后面的樣本依照上述方法進行分幀并驗證其真實性;若檢測到第1幀的內容是被攻擊的,移動樣本重新分幀,檢測新的分幀內容的真實性,直到檢測到內容真實的語音幀為止。不能被準確提取的語音幀的幀號(缺失的幀號)即為篡改定位的結果。水印提取和內容的取證流程如圖7所示。
圖7 水印提取和內容取證過程框架
值得一提的是,水印提取端一般情況下并不了解待提取信號是經歷了何種攻擊(如剪切、替換等),部分攻擊會導致含水印信號的長度和原始信號有所不同。此種情況下,若將含水印信號等分為P幀,存在分幀長度和原始信號相差較大的情況(如遠大于或小于N)。為了避免此類問題的出現(xiàn),也為了提高水印提取的正確率,從含水印信號起始位置,以和N接近的長度進行分幀(如90%×N、N、110%×N),以能夠通過驗證為目的。下面,我們通過實驗來測試本文算法的綜合性能。
為了測試本文算法對不同類型信號的綜合性能,選取300段語音信號作為測試樣本庫,包括150段不同環(huán)境下的男聲語音信號(安靜的辦公室、討論會現(xiàn)場、火車站候車大廳各50段),150段相同環(huán)境下的女聲語音信號。測試信號采樣頻率為44.1 kHz,16位量化的單聲道語音信號。在Window10操作系統(tǒng),Matlab2018a的軟件環(huán)境下,根據(jù)本文算法,生成300段含水印的語音信號,其中所用參數(shù)為L=441 000,N=4410,P=10,α=0.001,T=5,λ=11。然后結合GoldWave工具對含水印信號進行信號處理操作,以及惡意攻擊操作,綜合實驗結果如下。
通常水印的嵌入會對原始音頻信號造成改變,如果改變程度較大,會影響原始信號的聽覺質量。水印嵌入對原始音頻信號改變程度可用水印不可聽性來衡量,主要有主觀和客觀兩種評價方式。主觀評價方法常見的為主觀區(qū)分度(subjective difference grades,SDG),客觀評價方法常見的為信噪比(signal to noise ratio,SNR)。主觀區(qū)分度是將原始信號和含水印信號給聽眾現(xiàn)場試聽,并依據(jù)主觀區(qū)分度評價標準來打分,打分的平均值作為SDG值。主觀區(qū)分度評價標準見表1??陀^評價方法信噪比,是將嵌入的水印看作在原始信號中添加的噪聲,其計算方法如式(8)所示,其中a(l)和a′(l)分別表示原始信號和含水印信號的第l個樣本點。通常來講,SDG和SNR值越大,說明含水印信號的聽覺質量越好
表1 SDG值和ODG值的評分標準
(8)
本文對300段測試信號分別計算SDG值和SNR值。SDG值由15位聽眾打分所得;SNR值由式(8)計算所得。表2給出了SDG值和SNR值的最大值、最小值,以及300段測試信號的平均值。由表2所示結果可得,SDG值和SNR值均大于評價系統(tǒng)所要求的最小值(SDG>-1,SNR>20),表明本所提算法滿足水印不可聽性的要求。
表2 含水印信號的SNR值和SDG值
對于音頻信號而言,攻擊類型可以簡單地分為兩種,第一種為不改變表達內容的攻擊(信號處理操作),如格式轉換、壓縮等;第二種為改變表達含義的惡意攻擊,如刪除、替換攻擊。由于信號處理操作不改變原信號的表達含義,信號處理后的信號本文將其視為真實的信號。對于惡意攻擊,本文將對其進行檢測,并篡改定位。下面首先測試本文算法的魯棒性,然后給出對惡意攻擊的取證以及篡改定位結果。
這里采用誤碼率(BER)來測試水印提取的準確率。BER值率越小,說明提取水印的錯誤率越低,正確率越高,算法魯棒性越強。BER的定義如式(9)所示
(9)
式中:2T×P表示嵌入水印的長度,b(t)和b*(t)分別表示原始水印信息和提取的水印信息,⊕表示異或操作。
為了測試算法的魯棒性,本文將測試樣本進行MP3壓縮、添加回聲、低通濾波等信號處理,然后提取信號處理后信號中的水印信息,并依據(jù)式(9)計算水印提取的BER值。表3給出了300段測試信號BER值的平均值。
表3所列結果表明,本文算法在經過128 kbps的MP3壓縮后,可以從壓縮信號中完整無誤地提取水印信息。經過壓縮率為64 kbps的MP3壓縮之后,BER值相比壓縮率為128 kbps的情況有所增加,但增加的幅度非常小,水印提取準確率也達到了99%。不可否認文獻[7]也有不錯的抗MP3壓縮的能力,不過本文水印提取準確率更好,表明具有更好的魯棒性。對于回聲(40%)和高斯噪聲(20 dB)而言,本文算法同樣具有比較高的水印提取準確率。尤其是對于截至頻率為8 kHz的低通濾波而言,本文算法能夠以99%準確率提取水印信息。通常而言,8 kHz采樣頻率的語音信號已能滿足通信和交流的需要。于是和音頻信號(如歌曲)相比,8 kHz的低通濾波處理更為常見。從測試結果來看,和文獻[7]相比,對于8 kHz的低通濾波處理本文水印提取正確率提高的最多。表明本文算法相比文獻[7]算法具有更強的容忍信號處理的能力,為高清音頻低通濾波后水印的提取提供保障。
表3 本文算法和文獻[7]算法在不同信號處理后水印提取的BER(%)值
對語音信號的惡意攻擊能夠改變原信號的表達含義。若被攻擊的內容被認為是真實的,則會對說話人以及聽眾帶來難以估量的損失。對語音信號進行取證,并給出篡改定位結果,能夠給聽眾以警示,減少由于語音內容被攻擊而帶來的損失。下面從樣本庫中隨機選取一段語音信號(如圖8所示),對該信號進行刪除、插入和替換攻擊,并給出相應的篡改定位結果。
圖8 含水印語音信號
(1)刪除攻擊
本文提到的刪除攻擊指的是,選擇部分含水印的音頻信號樣本進行刪除,來改變原含水印信號的表達含義,達到攻擊者希望達到的目的。為了測試本文算法對刪除攻擊的檢測能力,我們選擇如圖8所示的含水印信號,刪除其中的部分樣本實施刪除攻擊(這里選擇含水印語音信號第110 001到第154 100個樣本點之間的內容)。刪除攻擊的信號如圖9所示。
圖9 刪除攻擊的含水印語音信號
依據(jù)本文提出的取證算法對圖9所示的經過刪除攻擊的音頻信號進行篡改檢測,步驟簡述為:
步驟1 對圖9所示的音頻信號從第一個樣本開始,取長為N的樣本,作為第一幀的音頻內容。
步驟2 將第一幀的內容分為2T段,計算各段的FDCR特征,并由式(7)得到每段提取的二進制水印信息。
步驟3 將提取的2T比特的水印信息分為前后兩部分。①若前、后兩部分的T比特的水印信息相同,則認為該幀是真實的,并由T比特的水印重構幀號;②若前、后兩部分的T比特的水印信息不相同,則表明該幀的內容是被攻擊的部分。對于被攻擊的音頻幀,由于前、后兩部分T比特的水印信息不同,依據(jù)算法,該幀的幀號不能重構。所以,能重構幀號的音頻幀被認為是真實的內容,不能被重構幀號的音頻幀將被檢測為存在攻擊的內容。
根據(jù)上述步驟,對圖9所示的音頻信號各幀幀號重構結果如圖10所示,其中TL=1對應的幀表示幀號能夠被重構,TL=0的幀表示幀號不能能夠被重構(TL的含義適用于插入和替換攻擊的檢測結果)。于是,對于刪除攻擊的信號,第3、第4幀的內容是被攻擊的部分。
圖10 對刪除攻擊的篡改定位結果
(2)插入攻擊
本文提到的插入攻擊指的是,在音頻信號中插入部分樣本點,來改變音頻信號的表達含義,達到攻擊的目的。為了測試本文算法對插入攻擊的檢測能力,我們選擇如圖8所示的含水印信號進行攻擊,選取其它語音內容插入到如圖8含水印信號的第270 000個樣本的位置。攻擊后的信號如圖11所示。
圖11 插入攻擊的含水印語音信號
采用和刪除攻擊相似的方法,對插入攻擊的音頻信號進行篡改檢測。依據(jù)本算法,能重構幀號的音頻幀為真實的內容,不能被重構幀號的內容為被攻擊的部分。幀號重構結果(即篡改檢測結果)如圖12所示。由圖12所示結果易得,圖11所示的含水印信號第7、第8幀的內容是被攻擊的部分。
圖12 對插入攻擊的篡改定位結果
(3)替換攻擊
本文提到的替換攻擊指的是,選擇要攻擊的音頻樣本,用表達含義不同的樣本來替換要攻擊的內容。為了測試本文算法對替換攻擊的檢測能力,相似地選擇如圖8所示的含水印信號進行攻擊,選取其它語音內容替換含水印信號第220 501個樣本到第264 601個樣本之間的內容。替換攻擊后的內容如圖13所示。
圖13 替換攻擊的含水印語音信號
和刪除、插入攻擊類似,采用相似的方法對替換攻擊的音頻信號進行篡改檢測。能重構幀號的音頻幀為真實的內容,不能被重構音頻幀的內容為被攻擊的部分。幀號重構結果(即篡改檢測結果)如圖14所示。由圖14所示結果可得,第6幀的幀號不能被重構(依據(jù)TL=0的含義),故第6幀為檢測到的被攻擊的內容。
圖14 對替換攻擊的篡改定位結果
以上對不同攻擊的取證結果可以看出,篡改定位結果和實際被攻擊的位置一致。表明對于含水印的語音信號,本文算法能夠驗證其真?zhèn)危诖嘶A上,對于惡意攻擊內容,文本算法能夠較為精確地定位被攻擊的語音幀。
對于水印系統(tǒng)而言,若用來嵌入水印的特征是公開的(可以輕易地被攻擊者獲取),則該水印系統(tǒng)會存在較大的安全隱患。比如,攻擊者可以計算嵌入水印的特征,搜索找到表達含義不同而對應的特征和該水印段特征相同的音頻段,并替換含水印的內容。因為替換后內容的特征和替換前相同,驗證端可以從被攻擊內容中提取準確的水印信息,致使該攻擊能夠逃過驗證段的檢測。下面用一實例來詳細給出此類攻擊的攻擊方法,這里假設嵌入水印的特征為信號的能量。
(1)水印嵌入
假設原始音頻信號為A,Ai為對A分幀后第i幀的內容,wi為要嵌入到Ai中的水印信息。常用的嵌入方法如下:
步驟1 計算信號Ai的能量,如式(10)所示
(10)
式中:Ei為計算所得能量,Ai(l)為第i段信號的第l個樣本點。
步驟2 依據(jù)wi的不同,來量化能量Ei,量化后的能量記為E′i,方法如下
wi=0時
(11)
wi=1時
(12)
其中,Δ為嵌入水印選擇的量化步長。
步驟3 依據(jù)能量特征和音頻信號樣本點的線性關系,通過縮放樣本值的方法來得到含水印的信號,記為A′i,方法如式(13)所示,其中A′i(l)表示含水印第i段信號的第l個樣本點
(13)
(2)攻擊方法
一般情況下,含水印信號是通過公共網(wǎng)絡傳播,含水印信號A′i對攻擊者而言是已知的,下面給出對A′i的攻擊方法。
步驟1 攻擊者由式(10)從A′i中提取能量E′i。
步驟3 攻擊者選取其它的長度和A′i相同的音頻段Bi,計算其能量EBi,并根據(jù)式(11)和式(12)的方法量化EBi為EB′i,然后將水印wi嵌入到音頻段Bi中,得到含水印的音頻段B′i。用B′i替換原含水印信號第i段A′i的內容。
由于從B′i中提取的水印和A′i中提取的水印相同,所以驗證端很難發(fā)現(xiàn)攻擊的存在。以上分析表明,基于公開特征的水印嵌入方法[8,9]存在安全隱患。
(3)本文算法抗替換攻擊的能力
本文算法提出的FDCR特征,在特征獲取時首先需要密鑰α、λ和K。在密鑰不確定的情況下,很難直接提取信號特征。文中首先將音頻信號分幀,每幀分為2T段。通過量化各段的FDCR特征,將長為T的水印信息分別嵌入到前后T段信號中。提取端用同樣的方法對含水印信號分幀、分段,計算水印信號各段的FDCR特征,提取每幀的長為2T的水印信息。將提取的水印信息分為兩段,判斷前后兩段水印信息的異同來驗證該幀內容的真實性。
依據(jù)水印嵌入方案,若隨機選取其它內容的音頻信號來攻擊一幀含水印的信號,則攻擊成功的可能性為1/2T。于是,本文算法抵抗替換攻擊的能力R可由式(14)得到
R=1-1/2T
(14)
表4列出了本文算法和部分常見的水印嵌入方法[5,8,9]抵抗替換攻擊能力的對比,其中Y表示能夠抵抗替換攻擊,N表示不具有抵抗替換攻擊的能力。
表4 本文算法與部分水印算法安全性對比
綜上實驗分析結果,本文算法水印的嵌入不影響原始信號的聽覺質量,具有一定的容忍信號處理的能力,對于惡意攻擊能夠定位被攻擊的內容,同時提高了整個水印系統(tǒng)的安全性。
為了提高數(shù)字語音信號的可信度和認可度,提出了一種魯棒的數(shù)字語音取證算法。給出了語音信號FDCR特征,實驗分析了該特征對部分信號處理操作的魯棒性和惡意攻擊的脆弱性。將載體信號分幀,幀號映射為水印序列,采用量化FDCR特征的方法將水印進行嵌入。提取端通過對幀號的提取進行取證以及必要的篡改定位。實驗結果驗證了本文算法具有良好的不可聽性,對信號處理的魯棒性,以及對惡意攻擊的篡改定位能力,提高了水印系統(tǒng)的安全性,為新時代數(shù)字語音信號的安全性提供了一定的技術支持。