1. 引言
??? 隨著網絡的發展和以電子商務為代表的網絡經濟的興起,Java技術的應用越來越廣泛,特別是在網絡傳輸方面,Java以其跨平臺的通用性和程序實現的簡單性逐漸成為計算機網絡方向的主導技術之一,然而由于其通用性的限制,使得Java在諸如 語音載體的樣本采集,編解碼等領域中很少被應用,這對于純Java技術的發展而言無疑是一個需要迫切解決的問題。
??? 另外,網絡的發展也使信息安全問題日益突出,采取有效的技術實現信息的安全傳輸成為當前網絡安全的主要研究課題。把保密信息嵌入到圖片、文本、音頻、視頻等媒體數據中的信息隱藏技術的研究正好迎合了網絡信息安全發展的要求。
??? 傳統保密通信的方式主要是加密解密技術,利用密鑰把信息變換成密文使外部不可理解,通過公開信道發送到接收端,沒有密鑰的非法用戶無法進行解密,也就無法正確使用保密信息。加密解密技術經歷了經典的加密解密(DES)技術,公開密鑰加密解密(RSA)技術,橢圓曲線加密解密(EEC)技術三個發展階段。雖然技術不斷提高,但算法復雜度高、容易被截取、攻擊的缺點一直沒有解決。
??? 本文提出通過Java來實現攜帶隱藏信息的實時語音傳輸新方案。該方案利用純Java技術在實時采集的語音數據中隱藏信息,然后實現了在IP網上的實時傳輸。不但解決了傳統加密技術易被獲取,易受攻擊的問題,也避免了目前很多實時語音傳輸中大量與操作系統相關而造成的通用性差的缺點。
??? 本文結構如下:第2節概述了系統的設計思路和要求,第3節介紹如何使用Java進行前端語音的采集播放,壓縮與解壓,同步信息的嵌入檢測,隱藏信息的嵌入提取的過程。第4節介紹實時語音在IP網的傳輸及網絡信息反饋、壓縮碼率的自適應調整過程。第5節介紹系統軟件的Java控制實現。第6,7節介紹系統的實驗結果和結論。
2.?系統的設計思路和要求
2.1 系統的設計思路
??? 系統的設計思路如圖1所示:虛線框內為系統傳輸前端的處理,包括語音的采集播放,隱藏信息的嵌入提取,語音的壓縮解壓。虛線框外是實時語音的傳輸和控制部分,包括發送方語音數據RTP封包、發送,網絡狀況信息反饋及發送碼率自適應調整,以及接收方的相應部分。
???????????????????????????????????? 圖 1 IP網信息隱藏傳輸系統的設計框圖
2.2系統前端的處理要求
????由于IP網是一個有限帶寬、變動,時延,抖動,丟包率隨時間變化的通道,網絡帶寬總是處于一個變動的狀態,在某個時段無法滿足語音壓縮速率的要求時,就會出現丟包的現象。解決該問題的方法之一是降低語音數據的發送速率,因此,語音編碼器的壓縮比必須是可調節的。
??? 隱藏信息的嵌入策略還必須具備:(1)不可察覺性:要提高系統的偽裝性,就必須保證人耳聽覺特性無法識別嵌入保密信息語音與原始語音播放時的不同。(2)較強的魯棒性:語音信息是在干擾信道中傳輸的,嵌入在語音數據中的保密信息要完整的傳送到接收方就必須有較強的抗噪聲、壓縮的攻擊。(3)抗強裁剪攻擊的性能:網絡擁塞造成的丟包現象將使接收方接收到的數據不完整,同步信息也將隨之丟失,這將意味者無法提取隱藏信息。因此隱藏信息的嵌入策略就必須能夠抵抗強裁剪的攻擊。(4)較低的運算復雜度和時間復雜度:隱藏信息的嵌入處理需要損耗一定的時間,為減少語音延時,隱藏信息的嵌入算法要盡可能降低處理時間。
??? 同步信息的魯棒性較隱藏信息更高:接收方要能提取出隱藏信息必須準確的檢測出同步信息,同步信息必須滿足比隱藏信息更強的魯棒性才能檢測出隱藏信息的嵌入位置。
2.3系統語音傳輸的處理要求
??? IP網有限帶寬、變動,時延,抖動,丟包率隨時間變化的信道特點無法預先得知,它依賴于網絡上其他連接的狀態。IP網上實現語音數據的傳輸和Qos控制有更多需要考慮和解決的地方:
??? 在多媒體數據傳輸中對實時性有一定的要求,相比之下語音傳輸對實時性要求更高,必須采用UDP協議傳輸實時語音數據包。但是這會引起丟包,導致隱藏信息傳輸的不完整。因此,語音傳輸的實時性和隱藏信息的傳輸的完整性之間存在無法協調的矛盾。
??? IP網上數據包是以不同路徑到達目的地,后發的包可能會先到。因此每個數據包在發送前必須標記一個序號。接收方將收到的數據包先存放到緩存中,排序后再播放。
??? 語音數據包在傳輸中遭遇網絡擁塞將會丟包嚴重,這不僅會影響正常的通話過程,隱藏信息也將隨之丟失。因此必須采取相應措施。可行的辦法是利用Java的server監控平臺實時監控網絡狀況,針對當前網絡狀況自適應的調整語音數據包的發送速率。
3?系統前端的的設計實現
3.1 語音的采集和播放
??? 語音的采集和播放的實現是應用Java Sound 的API函數。采樣頻率根據需要可以選擇8 KHz,11.025KHz,22.05KHz,44.1KHz;樣本的量化位數可以是8bit或16bit;聲道可為單聲道或雙聲道。采樣前將先打開采樣設備(計算機聲卡),獲得采樣設備句柄,指定采樣格式(采樣頻率,量化位數),分配若干用于保存采樣數據的內存(內存的大小和數量將進一步分析)。開始采樣時,所有內存塊都被提交給采樣設備,采樣設備將依次把語音數據寫入內存,當一塊內存寫滿后,采樣設備就會發消息通知程序作相應的處理,然后把該內存返還給采樣設備進行下次采樣,這樣就形成一個循環的采樣過程。結束采樣時釋放所有內存塊,關閉采樣設備。
3.2? 語音壓縮與解壓
系統中語音的采樣率是11.025KHz,量化精度是8 bits,每秒采集的數據量是88.2 kbit,Modem的最高傳輸速率只有56kbit通常低于38kbit。 因此數據在傳輸前必須進行壓縮處理,且壓縮比大于3:1尚可保證通信的暢通。語音的壓縮和解壓的編解碼器采用自己用Java API直接編程的Java.audio.realspeech來實現。Java.audio.realspeech實現了G.729.1的語音壓縮標準。其特點是:1基音分析采用開環基音分析和自適應碼本搜索相結合,降低了運算量,減少了基音的量化比特數,提高了基音預測的準確度;2代數碼本算法簡單,不需要存儲碼本,恢復音質清晰,8Kb/s碼率下合成音質不低于32kb/sADPCM的水平;3算法延時15ms,適合于語音的實時傳輸;4語音壓縮比達到10:1。
3.3隱藏信息的嵌入和提取
??? 隱藏信息嵌入法可分為空域嵌入法和變換域嵌入法。權衡各種信息嵌入方法及系統的要求,采用離散小波變換法來嵌入和提取隱藏信息是由于小波變換有許多優點: 1具有時頻局部性;2具有更多的靈活性,可選擇不同的分解層數,分解層數越多隱藏信息越魯棒;3計算量小,設音頻樣本的長為N,DCT的計算量為O(N*N), 則FFT的計算量為O(log2(N)*N),而小波變換的計算復雜度為O(L*N),其中L是小波基的長度
??? 隱藏信息是要嵌入到語音載體中的字符串,而字符串是以字節方式存儲的,參照[15]為待嵌入和檢測的隱藏字符串設計了一個(r,8)形式的BCH碼,其中r表示BCH碼長。用一個具有256個BCH碼字的信號集,Sm, ,來表示一個字節的256個不同的值。
??? 接收方對同步信息的準確識別是隱藏信息被提取出的關鍵。可以將同步信息嵌入到時域 或頻域中。時域算法的好處是搜索時計算量較小,但嵌入強度受到限制,抗攻擊能力較差。嵌入到DCT,DFT域中可以得到較好的健壯性,缺點是搜索困難,計算量較大。DWT有良好的時頻局部分解特性[16],如同步信號嵌入到DWT域可保證在較小的搜索計算量前提下,有效地提高同步信號的抗攻擊性能。設 是原始信號,對于緊支撐的小波可導出:對于 層小波分解, 每發生 位平移,相應的低頻系數將發生一位平移。這樣對于 層小波分解,音頻信號段 與 的低頻系數中除去邊界幾個系數外絕大部分系數只是相對地發生了一位的平移。在逐位搜索同步信號時可以節約大量的計算量,從而提高同步信號的搜索效率。
??? 將原始的音頻數據分段并對每一數據段作若干層的小波分解,在低頻系數部分嵌入信息序列 ,嵌入過程如圖2所示:
???????????????????????????????????????????? 圖2 隱藏信息嵌入工作流程
??? 提取隱藏信息時,將待檢測的音頻分段并作相應層數的小波分解,同步信號確定后,就可以提取其后的水印信息。提取過程如圖3所示:
??????????????????????????????????????????????? 圖 3 信息的提取工作流程
4. 語音的傳輸及Qos控制的實現
??? 實時傳輸協議RTP是IETF專門為聲音、視頻等實時數據提供的端到端的的傳輸服務而設計的。利用RTP幀格式中的Sequence(序列號)和RealTime(時間戳)字段可實現端到端的媒體流內和流間同步機制。網絡帶寬充足的的情況下,RTP具有一定的帶寬調控能力,保證多媒體流傳輸的暢通。
網絡狀況信息反饋的實現是參照RTCP的協議標準來完成,RTCP協議是RTP協議的重要組成部分,通過RTCP協議的發送者報告SR 和接收者報告RR來傳送網絡狀況反饋信息,直接用于語音壓縮碼率的自適應調整。
??? RTCP報文的傳送是消耗系統帶寬資源的,如果該報文收發過于頻繁,則影響正常的語音數據報傳送。一般來說,該報文發送對帶寬消耗不超過5%為宜。即RTCP報文的傳送應是周期性的。
??? 實際的操作中,我們利用JMF2.0中的javax.media.rtp.rtcp的類來實現,將網絡的負載情況分為正常和過載兩種狀態。發送端根據RTCP報文所反饋的網絡狀況信息和域值 進行比較,如果大于 ,則認為是當前網絡處于過載狀態,就要提高語音的編碼率,如下圖4所示:
???????????????????????????????????? 圖4系統網絡狀況反饋和帶寬調整框圖
5?系統的軟件設計實現
??? 系統是利用編程實現實時語音進行收發工作,發送方要經過語音的采集、隱藏信息的嵌入、語音數據的壓縮和發送的環節。接收方也要經過語音數據接收、解壓、播放和隱藏信息提取的環節。為減少語音數據在多個環節處理中的延時,軟件的設計采用多線程的流水線工作方式。
??? 信息的發送方通過創建Java.lang.Thread類的子類并重載run()來生成三個工作線程和一個輔助線程。分別是語音采集線程、信息嵌入線程、壓縮打包及發送線程、網絡監控和調整線程。在內存開辟兩個內存隊列:原始語音數據隊列、嵌入信息的語音數據隊列。語音采集線程采集滿定長的語音數據后置入原始語音數據隊列(隊列沒有溢出時);信息嵌入線程一經啟動就始終監控原始語音數據隊列,當對不空時,取出數據嵌入隱藏信息,后置入嵌入信息的語音數據隊列;壓縮打包發送線程一經啟動就便從嵌入信息的語音數據隊列取出數據進行壓縮、封裝成RTP包和發送,語音編碼器的壓縮比是可調的,在網絡監控和調整線程的控制下隨時調整將要發送語音數據的壓縮比;而網絡監控和調整線程在定時器的控制下定時發送SR包,同時接收RR包,分析當前網絡狀況,根據需要調整語音發送碼率。
??? 信息的接收方同時啟動四個工作線程和一個輔助線程,即接收及包處理線程,語音解壓線程,信息提取線程,語音播放線程和網絡狀況反饋線程。開辟四個內存隊列:兩個數據緩沖線性隊列,一個語音播放數據循環隊列、一個信息提取數據循環隊列。接收及包處理線程一經啟動就開始從網絡接口接收RTP語音數據壓縮包,按照RTP包中的序列號將拆包后的語音壓縮包重新排序,置入數據緩沖隊列1的相應位置,緩沖數據隊列1滿時,按相同的方法將數據置入從緩沖數據隊列2的相應位置。語音解壓縮線程觸發后先從數據緩沖隊列1開始獲取語音壓縮數據并解壓,之后分別存入信息提取數據隊列和語音播放數據隊列。當數據隊列1空后,便從數據隊列2獲取數據完成相同的操作。信息提取線程和語音播放線程一經啟動便監控對應的兩個循環數據隊列,不為空時,便從隊列中取出數據分別進行隱藏信息的提取和語音的播放。網絡狀況反饋線程在定時器的控制下,根據當前接收RTP語音數據壓縮包的情況和接收到SR包的情況生成RR包,通過網絡接口發送出去。
6?試驗結果
??? 系統經過測試運行,結果良好,能夠在接收方提取出嵌入的隱藏信息和聽到清晰的語音,網絡狀況良好丟包率不大的情況下,隱藏信息的準確識別率能達到90%以上。系統能達到的性能指標有1隱藏的信息量為24bits每秒。2穩健性好,能抵抗語音壓縮,信道噪聲的攻擊。3隱藏信息的同步性能較好,具有自同步能力。4系統具有良好的偽裝性,在當前的信息嵌入量和嵌入強度的情況下,很難用人耳辨別出嵌入信息的語音同原始語音的區別。
7?結論
??? 本文的主要貢獻是:1提出了一種新的涉密傳輸系統原型并編程實現;2經驗證該系統具有良好的偽裝性和抗攻擊性能,克服了傳統加密傳輸技術和隱寫術的不足;3為信息的隱密傳輸技術的研究開辟了新的思路。
參考文獻
[1]?黃繼武.自適應圖象壓縮編碼和圖象水印技術的研究.博士學位論文.中國科學院自動化研究.1998:72-73
[2]?黃繼武.Yun Q. Shi, Yi Shi. Embedding image watermarks in DC components. IEEE Trans. on Circuits and Systems for Video Technology. 2000, 10(6): 974-979
[3]?黃繼武.Shi Yun Q. An adaptive image watermarking scheme based on visual masking. Electronics Letters, 1998,34(8):748-750
[4]?R. G. Van Schyndel, A.Z. Tirkel, C.F. Osborne. A digital watermark.Proc.of 1994 IEEE Int. Conf. Image Processing.Vol.2: 86-89
[5]?Cox, Ingemar J, Linnartz, Jean-Paul M.G.Public watermarks and resistance to tampering. Proc. of IEEE Int. Conf. O Image Processing,1997
[6]?J.Cox,J.Kilian,T.Leighton,T.Shamoon.Secure spread spectrum watermarking for multimedia.IEEE Trans. on Image Processing,6(12): 1673-1687,Dec.1997
[7]?丁瑋, 齊東旭.數字圖象變換及信息隱藏與偽裝技術.計算機學報,1998.21(9):838-843
[8]?劉振華,尹萍.信息隱藏技術及其應用.北京:科學出版社,2002.2
[9]?Stefan Katazenbeisser,Fabien A.P.Petitcolas編.吳秋新,鈕心忻譯.信息隱藏技術-隱寫術和數字水印.北京.人民郵電出版社,2001
[10]?(美)William Stallings.密碼學和網絡安全:原理與實踐.北京:電子工業出版社,2001
[11]?岳軍巧,鈕心忻,楊義先. 語音保密通信中的信息隱藏技術.北京郵電大學學報,2002,25(1):79-82.
[12]?王泳.快速重同步的有意義音頻水印盲檢測算法.計算機研究與發展,2003,40(2):215-221.
[13]?Java Sound API Home Page, java.sun.com/products/java-media/sound
[14]?JMF 2.0 API (03/10/01): Class SourceDescription
java.sun.com/products/java-media/jmf/2.1.1/apidocs/ javax/media/rtp/rtcp/SourceDescription.html