一種移動終端語音通信完整性認證裝置及其方法與流程
2024-03-27 23:57:05 1

本發明涉及音頻信息處理技術,具體涉及一種移動終端語音通信完整性認證裝置及其方法。
背景技術:
信息系統中存在著一類安全問題,即來自發送端的主動攻擊,包括非法用戶的偽造、篡改、刪除、重放等,也包括合法用戶的抵賴與篡改等。
為了防止非法用戶的入侵偽造及其對合法用戶信息的篡改、刪除或重放,在發送端,對合法用戶身份及其發出的信息在密鑰的控制下加上認證標誌,在接收端,接收者以及第三方均可根據認證標誌是否正確,驗證信息發出者的真實身份和信息的完整性。
身份認證是實現信息交換安全的重要機制,信息交換以前,可以通過某種形式的身份驗證機制向對方證明各自的身份,確認身份之後,才能進行信息的交換。信息完整性認證是驗證信息完好的重要手段,信息交換結束以後,可以通過完整性認證確認所交換信息是否完整或被篡改。
技術實現要素:
本發明的目的在於解決現有技術中存在的不足,提供一種移動終端語音通信完整性認證裝置及其方法。本發明考慮到多種信道環境因素,針對認證信息的嵌入部分,提供了兩種完整性認證方案——精確的完整性認證、魯棒的完整性認證。對於沒有信道噪聲的情況,可使用精確的完整性認證,對於信道環境比較複雜的情況,使用魯棒的完整性認證,相比一般的認證方法可以使嵌入的認證信息不易丟失。
為了達到上述的目的,本發明採用以下技術方案實現:一種移動終端語音通信完整性認證裝置,其包括:
認證信息處理模塊,其用於處理認證信息;
認證信息嵌入模塊,其用於將處理後的認證信息嵌入至待嵌入語音中,形成音頻文件;所述認證信息嵌入模塊包括精確篡改檢測子模塊和抗幹擾篡改檢測子模塊;所述精確篡改檢測子模塊用於對於沒有信道噪聲的情況,使用精確的完整性認證:精確的完整性認證用改進的LSB信息隱藏算法隱藏認證信息,將處理後的認證信息嵌入到待嵌入語音的高頻部分;所述抗幹擾篡改檢測子模塊用於對於存在信道噪聲的情況,使用魯棒的完整性認證:魯棒的完整性認證將處理後的認證信息嵌入到待嵌入語音的DWT-DCT域;
認證信息提取模塊,其用於在接收到的音頻文件中提取所述處理後的認證信息,如果提取的信息和所述處理後的認證信息相同,則認為所述音頻文件可信。
作為上述方案的進一步改進,所述認證信息處理模塊首先將用戶輸入的初始認證信息或IMEI碼作為Authentication_Key,加長或減短Authentication_Key使其長度為64比特;其次獲取語音數據的長度為Length_Audio,每M個語音數據分為一組,共可以得到的組數組;接著用處理後的Authentication_Key生成偽隨機比特流Authentication_Codes作為處理後的認證信息,Authentication_Codes的長度為Length_Auth_Codes;之後用處理後的Authentication_Key生成置亂的下標,置亂Authentication_Codes為Permu_Auth_Codes。
進一步地,接收方和發送方的認證信息處理方式相同,接收方輸入初始認證信息後,系統按照同接收方的方式產生處理後的認證信息Authentication_Codes,並將其置亂為Permu_Auth_Codes。
進一步地,所述精確篡改檢測子模塊包括認證信息的嵌入單元和認證信息的提取單元;
認證信息的嵌入單元:藉助Random類,使用Authentication_Key生成0~M-1間的隨機數,確定第x比特認證信息Permu_Auth_Codes[x]在第x組音頻數據Audio[x][]中的嵌入位置為index[x](x=1,2,3…);跳過待嵌入語音頭部;採用改進的LSB信息隱藏方法完成嵌入,形成音頻文件;關閉待嵌入語音;
認證信息的提取單元:藉助Random類,使用Authentication_Key生成0~M-1間的隨機數,確定第x比特認證信息Permu_Auth_Codes[x]在第x組音頻數據Audio[x][]中的提取位置為index[x](x=1,2,3…);跳過音頻文件頭部;根據改進的LSB信息隱藏方法完成提取;比較提取的數據是否與Permu_Auth_Codes[x]相同,關閉音頻文件。
進一步地,所述抗幹擾篡改檢測子模塊包括DWT-DCT域認證信息嵌入單元和DWT-DCT域認證信息提取單元;
所述DWT-DCT域認證信息嵌入單元:跳過音頻文件頭部;讀入第x組音頻數據Audio[x][],將第x比特認證信息Permu_Auth_Codes[x]嵌入在Audio[x][]中的DWT-DCT域,其中x小於等於音頻文件的組數,形成音頻文件;關閉待嵌入語音;
所述DWT-DCT域認證信息提取單元:跳過音頻文件頭部;讀入第x組音頻數據Audio[x][],其中x小於等於音頻文件的組數,在DWT-DCT域提取Data[x];比較Data[x]是否與Permu_Auth_Codes[x]相同;關閉音頻文件。
本發明還提供一種移動終端語音通信完整性認證方法,其包括以下步驟:
(1)認證信息處理;
(2)認證信息嵌入:將處理後的認證信息嵌入至待嵌入語音中,形成音頻文件;認證信息嵌入方法包括精確篡改檢測方法和抗幹擾篡改檢測方法;
所述精確篡改檢測方法:對於沒有信道噪聲的情況,使用精確的完整性認證:精確的完整性認證用改進的LSB信息隱藏算法隱藏認證信息,將處理後的認證信息嵌入到待嵌入語音的高頻部分;
所述抗幹擾篡改檢測方法:對於存在信道噪聲的情況,使用魯棒的完整性認證:魯棒的完整性認證將處理後的認證信息嵌入到待嵌入語音的DWT-DCT域;
(3)認證信息提取:在接收到的音頻文件中提取所述處理後的認證信息,如果提取的信息和所述處理後的認證信息相同,則認為所述音頻文件可信。
作為上述方案的進一步改進,步驟(1)的認證信息處理包括以下步驟:
首先將用戶輸入的初始認證信息或IMEI碼作為Authentication_Key,加長或減短Authentication_Key使其長度為64比特;其次獲取語音數據的長度為Length_Audio,每M個語音數據分為一組,共可以得到的組數組;接著用處理後的Authentication_Key生成偽隨機比特流Authentication_Codes作為處理後的認證信息,Authentication_Codes的長度為Length_Auth_Codes;之後用處理後的Authentication_Key生成置亂的下標,置亂Authentication_Codes為Permu_Auth_Codes。
進一步地,接收方和發送方的認證信息處理方式相同,接收方輸入初始認證信息後,系統按照同接收方的方式產生處理後的認證信息Authentication_Codes,並將其置亂為Permu_Auth_Codes。
進一步地,所述精確篡改檢測方法包括認證信息的嵌入方法和認證信息的提取方法;
認證信息的嵌入方法:藉助Random類,使用Authentication_Key生成0~M-1間的隨機數,確定第x比特認證信息Permu_Auth_Codes[x]在第x組音頻數據Audio[x][]中的嵌入位置為index[x](x=1,2,3…);跳過待嵌入語音頭部;採用改進的LSB信息隱藏方法完成嵌入,形成音頻文件;關閉待嵌入語音;
認證信息的提取方法:藉助Random類,使用Authentication_Key生成0~M-1間的隨機數,確定第x比特認證信息Permu_Auth_Codes[x]在第x組音頻數據Audio[x][]中的提取位置為index[x](x=1,2,3…);跳過音頻文件頭部;根據改進的LSB信息隱藏方法完成提取;比較提取的數據是否與Permu_Auth_Codes[x]相同,關閉音頻文件。
進一步地,所述抗幹擾篡改檢測方法包括DWT-DCT域認證信息嵌入方法和DWT-DCT域認證信息提取方法;
所述DWT-DCT域認證信息嵌入方法:跳過音頻文件頭部;讀入第x組音頻數據Audio[x][],將第x比特認證信息Permu_Auth_Codes[x]嵌入在Audio[x][]中的DWT-DCT域,其中x小於等於音頻文件的組數,形成音頻文件;關閉待嵌入語音;
所述DWT-DCT域認證信息提取方法:跳過音頻文件頭部;讀入第x組音頻數據Audio[x][],其中x小於等於音頻文件的組數,在DWT-DCT域提取Data[x];比較Data[x]是否與Permu_Auth_Codes[x]相同;關閉音頻文件。
利用本發明,可以在移動終端A完成語音的認證信息嵌入,在移動終端B收到語音後提取出信息驗證完整性,若從語音中提取的信息和本端的認證信息相同,則該語音沒有被篡改,進而播放語音;否則,語音不可信,不予播放。
附圖說明
圖1為本發明移動終端語音通信完整性認證方法的流程圖。
圖2為系統錄製語音的屏幕截圖。
圖3為系統結束錄製的屏幕截圖。
圖4為在精確的完整性認證下認證信息輸入提示框的屏幕截圖。
圖5為在魯棒的完整性認證下認證信息輸入提示框的屏幕截圖。
圖6為信息嵌入並完成發送的屏幕截圖。
圖7為接收方提取認證信息的屏幕截圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
本發明的移動終端語音通信完整性認證裝置包括認證信息處理模塊、認證信息嵌入模塊、認證信息提取模塊。
認證信息處理模塊,其用於處理認證信息。所述認證信息處理模塊首先將用戶輸入的初始認證信息或IMEI碼作為Authentication_Key,加長或減短Authentication_Key使其長度為64比特;其次獲取語音數據的長度為Length_Audio,每M個語音數據分為一組,共可以得到的組數組;接著用處理後的Authentication_Key生成偽隨機比特流Authentication_Codes作為處理後的認證信息,Authentication_Codes的長度為Length_Auth_Codes;之後用處理後的Authentication_Key生成置亂的下標,置亂Authentication_Codes為Permu_Auth_Codes。
接收方和發送方的認證信息處理方式相同,接收方輸入初始認證信息後,系統按照同接收方的方式產生處理後的認證信息Authentication_Codes,並將其置亂為Permu_Auth_Codes。
認證信息嵌入模塊,其用於將處理後的認證信息嵌入至待嵌入語音中,形成音頻文件。所述認證信息嵌入模塊包括精確篡改檢測子模塊和抗幹擾篡改檢測子模塊。
所述精確篡改檢測子模塊用於對於沒有信道噪聲的情況,使用精確的完整性認證:精確的完整性認證用改進的LSB信息隱藏算法隱藏認證信息,將處理後的認證信息嵌入到待嵌入語音的高頻部分。所述精確篡改檢測子模塊包括認證信息的嵌入單元和認證信息的提取單元。
認證信息的嵌入單元:藉助Random類,使用Authentication_Key生成0~M-1間的隨機數,確定第x比特認證信息Permu_Auth_Codes[x]在第x組音頻數據Audio[x][]中的嵌入位置為index[x](x=1,2,3…);跳過待嵌入語音頭部;採用改進的LSB信息隱藏方法完成嵌入,形成音頻文件;關閉待嵌入語音。
認證信息的提取單元:藉助Random類,使用Authentication_Key生成0~M-1間的隨機數,確定第x比特認證信息Permu_Auth_Codes[x]在第x組音頻數據Audio[x][]中的提取位置為index[x](x=1,2,3…);跳過音頻文件頭部;根據改進的LSB信息隱藏方法完成提取;比較提取的數據是否與Permu_Auth_Codes[x]相同,關閉音頻文件。
所述抗幹擾篡改檢測子模塊用於對於存在信道噪聲的情況,使用魯棒的完整性認證:魯棒的完整性認證將處理後的認證信息嵌入到待嵌入語音的DWT-DCT域。所述抗幹擾篡改檢測子模塊包括DWT-DCT域認證信息嵌入單元和DWT-DCT域認證信息提取單元。
所述DWT-DCT域認證信息嵌入單元:跳過音頻文件頭部;讀入第x組音頻數據Audio[x][],將第x比特認證信息Permu_Auth_Codes[x]嵌入在Audio[x][]中的DWT-DCT域,其中x小於等於音頻文件的組數,形成音頻文件;關閉待嵌入語音。
所述DWT-DCT域認證信息提取單元:跳過音頻文件頭部;讀入第x組音頻數據Audio[x][],其中x小於等於音頻文件的組數,在DWT-DCT域提取Data[x];比較Data[x]是否與Permu_Auth_Codes[x]相同;關閉音頻文件。
認證信息提取模塊,其用於在接收到的音頻文件中提取信息,如果提取的信息和所述處理後的認證信息相同,則認為所述音頻文件可信。
與移動終端語音通信完整性認證裝置對應的移動終端語音通信完整性認證方法,依次對應包括以下步驟:語音錄製(即認證信息處理),認證信息嵌入,認證信息提取。其中,在認證信息嵌入步驟中,對於沒有信道噪聲的情況,可使用精確的完整性認證:精確的完整性認證用改進的LSB信息隱藏算法隱藏認證信息,將認證信息嵌入到語音的高頻部分,LSB算法對篡改非常敏感,語音被篡改後,認證信息提取出錯的概率較大,可以較精確檢測篡改。對於信道環境比較複雜的情況,常見的噪聲、上下採樣等信號處理不影響語音的內容,但很容易使LSB算法嵌入的信息丟失,此時用戶可以使用魯棒的完整性認證:魯棒的完整性認證將認證信息嵌入到語音信號的DWT-DCT域,對常見的信號處理有一定的魯棒性。
總得來說,本發明的移動終端語音通信完整性認證方法,其包括以下步驟。
步驟(1)認證信息處理。
首先將用戶輸入的初始認證信息或IMEI碼作為Authentication_Key,加長或減短Authentication_Key使其長度為64比特;其次獲取語音數據的長度為Length_Audio,每M個語音數據分為一組,共可以得到的組數組;接著用處理後的Authentication_Key生成偽隨機比特流Authentication_Codes作為處理後的認證信息,Authentication_Codes的長度為Length_Auth_Codes;之後用處理後的Authentication_Key生成置亂的下標,置亂Authentication_Codes為Permu_Auth_Codes。
接收方和發送方的認證信息處理方式相同,接收方輸入初始認證信息後,系統按照同接收方的方式產生處理後的認證信息Authentication_Codes,並將其置亂為Permu_Auth_Codes。
步驟(2)認證信息嵌入:將處理後的認證信息嵌入至待嵌入語音中,形成音頻文件;認證信息嵌入方法包括精確篡改檢測方法和抗幹擾篡改檢測方法。
所述精確篡改檢測方法:對於沒有信道噪聲的情況,使用精確的完整性認證:精確的完整性認證用改進的LSB信息隱藏算法隱藏認證信息,將處理後的認證信息嵌入到待嵌入語音的高頻部分。所述精確篡改檢測方法包括認證信息的嵌入方法和認證信息的提取方法。
認證信息的嵌入方法:藉助Random類,使用Authentication_Key生成0~M-1間的隨機數,確定第x比特認證信息Permu_Auth_Codes[x]在第x組音頻數據Audio[x][]中的嵌入位置為index[x](x=1,2,3…);跳過待嵌入語音頭部;採用改進的LSB信息隱藏方法完成嵌入,形成音頻文件;關閉待嵌入語音;
認證信息的提取方法:藉助Random類,使用Authentication_Key生成0~M-1間的隨機數,確定第x比特認證信息Permu_Auth_Codes[x]在第x組音頻數據Audio[x][]中的提取位置為index[x](x=1,2,3…);跳過音頻文件頭部;根據改進的LSB信息隱藏方法完成提取;比較提取的數據是否與Permu_Auth_Codes[x]相同,關閉音頻文件。
所述抗幹擾篡改檢測方法:對於存在信道噪聲的情況,使用魯棒的完整性認證:魯棒的完整性認證將處理後的認證信息嵌入到待嵌入語音的DWT-DCT域。所述抗幹擾篡改檢測方法包括DWT-DCT域認證信息嵌入方法和DWT-DCT域認證信息提取方法。
所述DWT-DCT域認證信息嵌入方法:跳過音頻文件頭部;讀入第x組音頻數據Audio[x][],將第x比特認證信息Permu_Auth_Codes[x]嵌入在Audio[x][]中的DWT-DCT域,其中x小於等於音頻文件的組數,形成音頻文件;關閉待嵌入語音;
所述DWT-DCT域認證信息提取方法:跳過音頻文件頭部;讀入第x組音頻數據Audio[x][],其中x小於等於音頻文件的組數,在DWT-DCT域提取Data[x];比較Data[x]是否與Permu_Auth_Codes[x]相同;關閉音頻文件。
步驟(3)認證信息提取:在接收到的音頻文件中提取信息,如果提取的信息和所述處理後的認證信息相同,則認為所述音頻文件可信。
請參閱圖1,本發明的移動終端語音通信完整性認證方法屬於電腦程式發明,整個方案已經設計出APP,並已經在移動終端中進行調試,且正在計劃上市中。為了驗證本發明的可行性以及良好的有益效果,特對調試進行了屏幕截圖,如圖2至圖7所示。
實施例1:
1、語音錄製
人工輸入語音,得到待嵌入語音。如圖2及圖3所示。
2、認證信息的嵌入
(1)讀入音頻文件「音樂1.wav」。
(2)計算音頻文件長度Length_Audio為1.319e+006,每256個音頻數據分為一組。
(3)藉助Random類,使用默認認證信息
Authentication_Key=865872021135500
生成二進位比特流Authentication_Codes。
(4)藉助Random類,使用認證信息Authentication_Key生成置亂序列,置亂Authentication_Codes為Permu_Auth_Codes。
(5)藉助Random類,使用Authentication_Key生成0~255間的隨機數,確定第x比特認證信息Permu_Auth_Codes[x]在第x組音頻數據Audio[x][]中的嵌入位置為index[x](x=1,2,3…)。
(6)跳過音頻文件頭部。
(7)置x=0。
(8)讀入第x組音頻數據Audio[x][],
使用改進的LSB信息隱藏方法嵌入,如圖4:
Audio[x][index[x]]=
Audio[x][index[x]]-Audio[x][index[x]]%2+Permu_Auth_Codes[x];
使用魯棒的完整性認證將認證信息嵌入到語音信號的DWT-DCT域,如圖5:
1)將Audio[x][]進行3層』db1』小波分解,獲得低頻分量CA[x][],和高頻分量CD[x][];
2)對得到的低頻分量CA[x][]做DCT變換,獲得變換後的結果X[];
3)以步長Distance=1200量化X[]的直流分量
temp=round(X[0]/Distance)
4)修改X[]的直流分量,嵌入1比特認證信息Data=Permu_Auth_Codes[x]:
5)對修改後的X[]做IDCT變換,獲得修改後的CA[x][];
6)對修改後的CA[x][]和原CD[x][]做IDWT變換,獲得修改後的音頻數據Audio[x][];
(9)將含秘的Audio[x][]寫回音頻文件。
(10)x=x+1。
(11)若已到達文件尾部,則結束嵌入;否則,繼續執行(8)。
(12)關閉音頻文件。
將得到的音頻「音樂2.wav」發送給接收方。
3、認證信息提取
接收方收到消息,如圖6所示。
使用默認認證信息,進行完整性認證,如圖7所示。
(1)讀入音頻文件「音樂2.wav」。
(2)計算音頻文件長度,每256個音頻數據分為一組。
(3)藉助Random類,使用用戶輸入的認證信息Authentication_Key生成二進位比特流Authentication_Codes。
(4)藉助Random類,使用用戶輸入的認證信息Authentication_Key生成置亂序列,置亂Authentication_Codes為Permu_Auth_Codes。
(5)藉助Random類,使用Authentication_Key生成0~255間的隨機數,確定第x比特認證信息Permu_Auth_Codes[x]在第x組音頻數據Audio[x][]中的提取位置為index[x](x=1,2,3…)。
(6)跳過音頻文件頭部。
(7)置x=0。
(8)讀入第x組音頻數據Audio[x][],
精確認證方案的提取方法如下:
Data[x]=Audio[x][index[x]]%2;
DCT-DWT域認證信息提取方法如下:
1)將Audio[x][]進行3層』db1』小波分解,獲得低頻分量CA[x][],和高頻分量CD[x][];
2)對得到的低頻分量CA[x][]做DCT變換,獲得變換後的結果X[];
3)以步長Distance=1200量化X[]的直流分量
temp=round(X[0]/Distance)
4)提取1比特認證信息:
Data[x]=temp%2;
(9)比較Data[x]與Permu_Auth_Codes[x]是否相同,若不相同則返回Error,結束檢測,認證信息檢測結果:音頻不可信。。
(10)x=x+1。
(11)若已到達文件尾部,則結束提取;否則,繼續執行(8)。
(12)認證信息檢測結果:音頻可信。
為進一步說明本發明的認證方法具有高度準確性,表1列出了基於改進的LSB算法的語音完整性認證測試和基於DWT-DCT域的語音完整性認證測試。根據多種不同的檢測內容得到不同的檢測結果驗證語音的可信性。
表1認證準確性測試
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。