易小偉 ,馬恒太,鄭剛,鄭昌文
(1. 中國科學院 軟件研究所 天基綜合信息系統重點實驗室,北京100190;2. 中國科學院大學,北京 100049)
隨著多媒體應用技術的迅猛發展和內容分發網絡(CDN, content delivery network)的日益普及,圖像數據的安全傳輸變得越來越重要。圖像完整性和數據源認證等安全問題一直受到了廣泛關注[1,2]。傳統的方法對每個數據分組進行數字簽名需要很大的計算代價和認證數據開銷。另一方面,數據分組發生比特錯誤或丟失將導致整個碼流不能被認證。然而圖像在網絡傳輸過程中誤碼分組丟失是無法避免的,為了保證數據的實時性、降低通信代價通常不能對分組丟失進行重傳。此外,由于CDN網絡具有異構特點,終端應用需要根據圖像質量和碼率需求對認證碼流實現可伸縮驗證。因此,設計一種分組丟失頑健的可伸縮圖像認證算法對圖像數據的安全分發具有重要的研究意義。
近年來,一種基于壓縮流的圖像認證方法取得了迅速的發展[3]。這類方法通過對壓縮后的圖像碼流進行認證,對分組丟失具有很強的頑健性[4],并且具有認證可伸縮性。文獻[5]最早提出利用散列鏈將碼流數據串聯起來,這樣只需要對最后的數據分組做數字簽名就可以完成對整個圖像流的認證。但該方法的分組丟失頑健性不是很強,任意的數據分組丟失將會導致隨后的所有數據分組無法獲得認證。文獻[6]通過構造MHT樹(MHT, merkle hash tree)實現對碼流的認證,該方法雖然彌補了文獻[5]中算法的不足,但是它的認證代價很大。EMSS算法[7]增加每個數據分組散列鏈的數目提高分組丟失頑健性。文獻[8]中通過引入2種不同的散列鏈來增強抵抗突發分組丟失的能力。文獻[9]設計了一種基于蝶形圖的視頻流認證算法。通過建立失真—代價優化模型,文獻[10]提出了一種適用于JPEG-2000圖像流的認證方案。針對無線傳感網絡的特點,文獻[11]和文獻[12]設計了一種基于質量驅動的網絡資源管理架構,并利用該架構提出了一種優化的認證方案。文獻[13]利用IDA編碼方法對認證數據進行糾錯編碼以提高分組丟失頑健性。文獻[14]通過2次運用IDA編碼以減小認證算法的代價。文獻[15]利用FEC碼來認證可伸縮視頻流。為了實現最優的比特資源分配,文獻[16~18]提出了聯合信源—信道—認證的資源分配優化模型。但上述認證算法沒有利用碼流結構特征和編解碼的相關性,因此不能夠獲得最優的端到端質量和最小的認證代價。
為了提供針對壓縮碼流的認證保護,本文首先介紹了CCSDS IDC(consultative committee for space data systems image data compression)編碼器[19~21]的編碼流程以及碼流的組織結構。在此基礎上,進一步分析了CCSDS圖像壓縮碼流的結構特征和碼流的編解碼相關性。然后設計了一種基于位平面編碼的分層組包策略,該組包策略能夠保持編碼流的結構屬性。進而提出了一種可伸縮的流認證算法。最后,本文比較分析了算法的性能。
CCSDS圖像數據壓縮算法的流程如圖1(a)所示,CCSDS IDC編碼器主要包括2個功能模塊:離散小波變換(DWT, discrete wavelet transform)模塊和位平面編碼(BPE, bit-plane encoder)模塊。DWT模塊通過離散小波變換去除輸入圖像數據的相關性,然后BPE模塊對去相關數據進行位平面編碼輸出編碼數據流。編碼后碼流的組織結構如圖1(b)所示。

圖1 CCSDS圖像數據壓縮算法的流程與CCSDS IDS碼流的組織結構
在位平面編碼過程中,BPE模塊首先按照光柵掃描順序將小波系數組織成若干個獨立的編碼段(segment),然后依次對每個編碼段進行熵編碼。每個編碼段由多個編碼塊(block)組成,而每個編碼塊包含1個DC系數和63個AC系數,這些系數分布在不同的子代。DC系數集中了圖像的大部分能量和主要內容信息,而AC系數主要包含圖像的紋理信息和細節信息。
每個編碼段除段首部數據外,還包括DC系數編碼數據和AC系數編碼數據。BPE模塊采用Rice編碼算法對量化的DC系數進行編碼,而對AC系數采用位平面編碼算法。最后每個編碼段生成嵌入式的編碼比特流已提供數據的漸進式傳輸。
位平面編碼算法對AC系數按照從最高位平面(MSB)到最低位平面(LSB)的順序依次進行編碼,因此高位平面的編碼數據較低位平面的編碼數據對重構圖像的質量影響較大。
本節首先分析了CCSDS IDC編碼流的特點包括層次化結構、編解碼依賴關系和重要性差異。然后通過聯合散列鏈和ECC(error-correcting code)編碼技術提出了一種低復雜度的實現算法。最后闡述了本文算法如何實現可伸縮認證。
在第2節中介紹了CCSDS IDC的編碼流程和碼流的組織結構,根據位平面編碼過程可以推斷壓縮后的圖像碼流主要體現了如下3個特點。
1) 層次結構。BPE編碼器對小波系數依次按照位平面進行漸進式編碼,生成后的編碼流可以根據位平面劃分為不同的質量層。隨著嵌入式碼流的解碼層數的增加,圖像的質量逐漸增強和圖像的總碼率也變大。
2) 編解碼依賴關系。一方面,各子帶的小波系數按照相對位置被組織成不同的段,每個段內的小波系數進行獨立熵編碼。因此不同段的解碼相互獨立。另一方面,對每個段內的小波系數進行嵌入式位平面編碼。因此在同一編碼段內的不同位平面編碼流是解碼線性依賴的。換言之,低位平面的碼流解碼與它的上層碼流是相關的。如果其上層某個位平面的編碼數據不能被正確解碼,那么當前層的碼流同樣不能被解碼。
3) 重要性差異。由于不同子代的小波系數對重構圖像的質量貢獻度不同,例如低頻的直流系數(DC系數)相比高頻的交流系數(AC系數)更能提高圖像的質量。因此高位平面的編碼數據比較低位平面的編碼數據對圖像質量的提升更重要。
為了保持編碼流的結構屬性,本文采用一種分層的組包策略,如圖2所示。壓縮流依次按照DC系數、AC系數從高位平面到低位平面分別進行碼流打包。分層組包策略具有以下幾個特點。

圖2 基于BPE編碼的分層組包策略
1) 保持了壓縮流的層次化結構。基于可伸縮流的編碼特性,這些信息為支持靈活的可伸縮認證提供了基礎。
2) 維持了碼流間的編解碼相關性。通過這種策略生成的數據分組只包含某個編碼段的數據,不同編碼段的數據不會分在同一個分組。這樣就保證了下一個編碼段能夠被獨立正確地解碼,同時實現了差錯控制。
3) 根據碼流的特征,在同一個編碼段內數據分組的重要度按照碼流輸出順序逐漸減弱。這將為流認證算法實現不平等保護提供依據。
另外,由于CCSDS IDC編碼器對AC系數進行位平面編碼時采用可變長編碼(VLC, variable length coding)算法,因此每個數據分組的大小可以是不一樣大小。通常地,高位平面的數據具有更大相關性,因而能夠實現較大的壓縮比,所以壓縮后比低位平面的數據量要更小。
考慮到信道誤碼分組丟失的影響,數據分組丟失將會導致其他數據分組不能被認證或解碼。在接收方僅當數據分組同時能夠被認證和解碼時,該數據分組才能起到提升圖像質量的作用。為了獲得最優的端到端質量,認證算法需要保證每個可解碼的數據分組能夠被驗證[22]。
基于上述思想,本文通過利用散列鏈和糾錯編碼方法設計了一種快速的流認證算法,該算法能夠獲得近似最優的性能。圖3是針對CCSDS IDC編碼流設計的認證算法,包含N個獨立的編碼段、每個編碼段由1個DC層和K個AC層組成。每一行表示同一質量層的數據分組,每一列表示一個編碼段的數據分組。例如,第n個編碼段的第k個質量層的數據分組記為值得注意的是,在實際情況中,每個編碼段可能包含不同數目的質量層,但這不影響認證算法的執行。因為相同質量層可以包含來自不同位平面的編碼數據分組,這只會改變某個編碼段散列鏈的長度。但是為了算法的描述方便,這里假定每個編碼段都包含K+1個質量層。圖中vECC、vsig分別表示糾錯編碼節點和簽名節點。圖中的有向邊e(Pl,Pm)表示計算Pl的散列值并鏈接到Pm,e(Pn,vECC)表示對Pn做糾錯編碼,e(Pm,vsig)表示對Pm的特征做數字簽名。
認證算法的基本思想主要包含如下兩部分:1)在相同的編碼段內,采用線性散列鏈按照數據分組的編解碼依賴關系進行鏈接;2) 對不同編碼段數據分組的認證信息進行糾錯編碼。具體的認證過程按照如下步驟進行。
step1 對于每個編碼段Sn(n=1,…,N),計算的散列值并且將該散列值鏈接到即其中H(·)是散列函數,“||”表示串接操作。

圖3 CCSDS IDC編碼流的認證算法
step3 對認證信息(C‖Psig)進行IDA編碼,計算得到F?IDA(C‖Psig,θ)。其中IDA(·)是IDA編碼函數,θ是IDA編碼參數。
通過分析編碼流的編解碼相關性,聯合采用散列鏈和糾錯編碼方法保證了認證關系和編解碼依賴關系的一致性。因此認證算法不會導致額外的圖像質量的下降。此外,實現了對碼流的非平等認證保護(UAP, unequal authentication protection)。一方面,通過利用散列鏈接將不同質量層的數據分組按照重要度鏈接起來,將次重要的數據分組鏈接到較重要的數據分組后面,從而保證了重要度高的數據分組比較低重要度數據分組具有更高的可認證概率。另一方面,通過調節IDA編碼參數θ,使得DC層的數據分組能夠抵抗更強的信道誤碼分組丟失,但是同時也增加了認證代價。
文中提出的流認證算法僅僅需要對整個圖像碼流做一次數字簽名,但是可以有多種不同的認證方式,實現了“一次簽名,可伸縮認證”。該特點對實際中異構的CDN網絡具有重要的意義,服務器只需要對原始圖像數據做一次編碼和認證,而在接收端的應用能夠根據自身需求(例如,圖像質量和分辨率等)和信道帶寬(有線網絡和無線網絡)實現對碼流的可伸縮認證。通過利用這一特性,服務器只需要向網絡中分發一份可信數據,而不需要針對不同的應用終端做多份圖像數據壓縮和認證,極大地節省了服務器開銷和網絡帶寬消耗。
接收方按照如下步驟執行碼流的可伸縮驗證。
注:重復執行step4和step5直到圖像質量或碼率達到預期預置值。
在本文算法中,采用散列鏈、數字簽名和糾錯編碼方法來構建優化認證算法。與已有的流級認證算法一樣,認證算法的安全性可以通過公鑰基礎設施(PKI)得到保證,并且算法的安全性強度依賴于所選擇的密碼學算法[3]。下文分析了本文算法在抵抗一些通常攻擊方面的安全性。
1) 偽裝攻擊。簽名方的密鑰環通過PKI體系進行管理和分發,所有實體(包括驗證方和攻擊者)都能夠獲得簽名方的公鑰pub,但是無法獲知它的私鑰pri。雖然攻擊者可以利用一個假的私鑰pri′偽造一個對整個碼流的簽名,但是驗證方可以通過來判斷簽名是無效的。因此攻擊者無法對流認證算法成功實施偽裝攻擊。

表1 認證算法性能比較
2) 重放攻擊。假定攻擊者重放某個或某幾個DC層的數據分組,這將導致所有收到的數據分組都無法通過驗證,除非將所有DC層的數據分組都替換為上一個會話中所使用的包。然而,這個問題可以通過為每個傳輸分組添加一個時間戳或者序號來避免。如果重放AC層的數據分組,這可以通過檢查來發現重放的數據分組。其中包含于中,而是可信的。
3) 篡改攻擊。認證算法通過應用密碼散列函數來保證數據的完整性。即便修改壓縮流散列值的一個比特也將導致該數據分組不能通過完整性驗證。此外,篡改后的碼流數據分組將因為無法被正確解碼而丟棄。
4) DoS攻擊。流認證算法不能很好地抵抗DoS攻擊。例如,攻擊者只需要修改DC層的任何數據分組,整個碼流都無法被驗證,簽名方需要同驗證方重新開啟新的會話。
值得注意的是,在本文提出的認證算法中,可以自由地替換所使用的密碼學算法以實現多等級安全需求。例如,本文仿真實驗使用SHA-1作為散列函數以及RSA算法進行數字簽名和驗證。
下面分析比較了本文算法和其他認證算法在計算代價、通信代價、驗證概率、發送時延和接收時延等方面的性能。性能指標的定義如下。
1) 計算代價cO:發送方/接收方執行散列操作和簽名操作/驗證操作的次數。
2) 通信代價tO:每個數據分組所攜帶的認證信息的平均大小。
3) 驗證概率verP :有效數據分組(同時可驗證和可解碼)數目和可解碼數據分組數目的比值。
4) 發送時延sD:在發送方,第一個數據分組傳輸前需要緩存的數據分組數目。
5) 接收時延rD:在接收方,第一個數據分組驗證前需要緩存的數據分組數目。
表1比較了本文算法與其他8種流認證算法在上述5個性能指標下的性能。表中的結果基于下面一些合理的假設。
1) 圖像編碼流包含N個編碼段,每個編碼段具有1個DC層和K個AC層。
2) 散列值的大小為hbyte,數字簽名的大小為g byte。
3) 對于EMSS算法,每個節點的冗余度為6,并且采用“5-11-17-24-36-39”分組鏈接方案。
4) 對于增強散列鏈算法,發送方的分組緩存大小為p。
5) 對于蝶形圖算法,N等于2K。
6) 對于SDIDA算法、cSAIDA算法和本文算法,c指進行認證信息IDA編碼的計算代價,θ是IDA編碼參數,loss[]Epρ=表示預期分組丟失概率。
通過對表1分析可以得到下述結論。
1) 在計算代價方面,SDIDA算法和cSAIDA算法需要對碼流做N次簽名,而其他算法僅需要簽名一次。認證樹算法相比于其他算法,需要多執行NK次散列操作建立Merkle散列樹。SDIDA算法和cSAIDA算法對每個編碼段的認證信息進行獨立編碼,而本文算法僅需要為整個碼流的認證信息做一次編碼。
2) 簡單散列鏈算法具有非常低的通信代價,但是它的驗證概率最低。相反地,認證樹算法具有完全的驗證概率(等于1),但是它的通信代價很高。這2種算法是極端情況,其他算法實現了兩者間的平衡。EMSS算法、增強散列鏈算法和內容相關算法不能獲得最優的端到到質量,因為散列鏈的斷裂將導致某些可解碼的數據分組無法被驗證。由于需要為每個編碼段生成簽名,因此SDIDA算法和cSAIDA算法具有非常高的通信代價。蝶形圖算法包含很高的認證信息冗余,因為很多數據分組鏈接到編碼無關的數據分組。本文算法保持了認證關系和編碼關系的一致性,因此它能夠獲得最優的端到端質量和最小的認證代價。
3) 在發送時延和接收時延方面,簡單散列鏈算法、認證樹算法、蝶形圖算法和內容相關算法的發送時延都為NK、接收時延都為1。由于接收時延導致無法驗證和解碼同一質量層的數據分組,因此EMSS算法、增強散列鏈算法、SDIDA算法和cSAIDA算法都無法支持圖像碼流的漸進傳輸。雖然本文算法需要接收方緩存DC層的數據分組以實現IDA解碼,但是它同樣支持對圖像碼流的漸進傳輸,因為DC層的數據分組對保證提供基本圖像質量是必不可少的。
仿真實驗測試了12幅不同分辨率下的8位灰度圖像,分析比較了本文算法和其他3種典型的流認證算法。對于CCSDS IDC編碼器,實驗采用了整數DWT變換和基于帶掃描的圖像數據無損壓縮模式。信道仿真采用無記憶分組丟失模型,假定數據分組丟失的概率都等于ρ,并且相互獨立。
圖4顯示了在不同分組丟失率條件下無認證情況和其他4個認證算法重構圖像的PSNR值。從圖中可以發現,本文算法和SAIDA算法的PSNR值等于無認證時重構圖像的PSNR值。而且在任意分組丟失率情況下,本文算法比EMSS算法的PSNR值要高出0.3dB到1dB。事實上,無認證時PSNR值曲線是認證方案的一個理論上界。由于本文算法能夠保證所有可解碼數據分組都通過驗證,因此它能夠獲得理論上的最大值。這個實驗結果可以表明在分組丟失信道條件下本文算法能夠獲得最優的端到端認證圖像質量。

圖4 不同分組丟失率下圖像質量
端到端的R-D曲線能夠綜合評估認證算法的性能,包括認證圖像的端到端質量和認證碼率。在實驗中設定IDA編碼參數θ的值等于0.5,實驗結果如圖5所示。圖5(a)顯示了在信道分組丟失率等于1%的條件下認證算法的總碼率和圖像PSNR值之間的關系。從圖中可以看出,在相同碼率下本文算法的PSNR值要高于其他3種認證算法,而且與無認證時的性能很接近。在另一個方面,為了獲得預置的端到端認證質量,本文算法相比于其他3種認證算法所需要的認證代價更小。圖5(b)比較了在信道分組丟失率為5%的條件認證算法的綜合性能。與圖5(a)有類似的結果,本文算法的R-D曲線一直優于EMSS算法、蝶形圖算法和SAIDA算法,并且隨著分組丟失率的增大,本文算法的性能幾乎達到理論值上界(無認證時)。這一實驗結果表明了本文算法能夠實現端到端質量和認證代價之間的更優權衡。

圖5 端到端的R-D曲線

圖6 不同θ下端到端R-D曲線(ρ =2%)
實驗測試了不同IDA編碼參數θ對本文算法性能的影響。實驗設置信道分組丟失率等于2%,仿真結果如圖6所示。通過對θ等于0.05、0.2和0.8時R-D曲線的比較發現,當θ等于0.2時算法的性能最好。因為當θ等于0.05(小于ρ)時算法不能保證獲得最優的認證質量,而當θ等于0.8(大于ρ)時增加認證代價不能帶來更高的認證質量提升。可以通過利用領域搜索的方式求解最優的θ值,實驗結果表明最優的θ值比ρ稍大。通過實驗可以發現盡管當θ等于0.8時算法的性能不是最優,但是與θ等于0.8時的性能相比相差不大。
本文通過聯合散列鏈和糾錯編碼技術,提出了一種可伸縮的流認證算法,該算法對信道分組丟失具有更強的頑健性。為了獲得優化的端到端質量,分析并利用CCSDS IDC編碼流的層次結構特點和編解碼相關性,進而實現對壓縮流的非平等認證保護。性能分析和實驗結果表明,本文算法的端到端R-D曲線比其他流認證算法更優。值得進一步研究的工作包括建立聯合信源信道編碼的認證優化模型、設計信道自適應的認證優化方法。
[1] LEI J, HAN Z, VáZQUEZ-CASTRO M A, etal. Secure satellite communication systems design with individual secrecy rate constraints[J]. IEEE Transactions on Information Forensics and Security,2011, 6(3):661-671.
[2] 文昌辭, 王沁, 黃付敏等. JPEG彩色圖像自適應加密算法[J]. 計算機輔助設計與圖形學學報, 2012, 24(4): 500-505.WEN C C, WANG Q, HUANG F M, etal. Self-adaptive encryption for JPEG color images[J]. Journal of Computer-Aided Design &Computer Graphics, 2012, 24(4): 500-505.
[3] SUN Q, APOSTOLOPOULOS J, CHEN C W, etal. Quality-optimized and secure end-to-end authentication for media delivery[J]. Proceedings of the IEEE, 2008, 96(1): 97-111.
[4] HEFEEDA M, MOKHTARIAN K. Authentication schemes for multimedia streams: quantitative analysis and comparison[J]. ACM Transactions on Multimedia Computing, Communications and Applications, 2010, 6(1):1-24.
[5] GENNARO R, ROHATGI P. How to sign digital streams[A]. Proceedings of the Advances in Cryptology[C]. Springer, 1997. 180-197.
[6] WONG C K, LAM S S. Digital signatures for flows and multicasts[A].Proceedings of the IEEE International Conference on Network Protocols[C].1998. 198-209.
[7] PERRIG A, CANETTI R, TYGAR J, etal. Efficient authentication and signing of multicast streams over lossy channels[A]. Proceedings of the IEEE Symposium on Security and Privacy[C]. 2000.56-73.
[8] GOLLE P, MODADUGU N. Authenticating streamed data in the presence of random packet loss[A]. Proceedings of the Network and Distributed Systems Security Symposium[C]. 2001.13-22.
[9] ZHANG Z, SUN Q, APOSTOLOPOULOS J, etal. Generalized butterfly graph and its application to video stream authentication[J]. IEEE Transactions on Circuits Systems for Video Technology, 2009, 19(7):965-977.
[10] ZHANG Z, SUN Q, WONG W C, etal. An optimized content-aware authentication scheme for streaming JPEG-2000 images over lossy networks[J]. IEEE Transactions on Multimedia, 2007, 9(2): 320-331.
[11] WANG W, PENG D, WANG H, etal. A multimedia quality-driven network resource management architecture for wireless sensor networks with stream authentication[J]. IEEE Transactions on Multimedia, 2010, 12(5): 439-447.
[12] WANG W, WANG H, HUA K, etal. Quality-optimized energy neutrality with link layer resource allocation for zero-power harvesting wireless communications[A]. Proceedings of the Global Telecommunications Conference[C]. 2011.
[13] PARK J, CHONG E, SIEGEL H. Efficient multicast stream authentication using erasure codes[J]. ACM Transactions on Information and System Security, 2003, 6(2): 258-285.
[14] PANNETRAT A, MOLVA R. Efficient multicast packet authentication[A]. Proceedings of the Network and Distributed Systems Security Symp[C]. 2003.
[15] HEFEEDA M, MOKHTARIAN K. Authentication of scalable video streams with low communication overhead[J]. IEEE Transactions on Multimedia, 2010, 12(7):730-742.
[16] LI Z, SUN Q, LIAN Y, etal. Joint source-channel-authentication resource allocation and unequal authenticity protection for multimedia over wireless networks[J]. IEEE Transactions on Multimedia, 2007,9(4): 837-850.
[17] ZHOU L, ZHENG B, WEI A, etal. A scalable information security technique: joint authentication-coding mechanism for multimedia over heterogeneous wireless networks[J]. Wireless Personal Communications, 2009, 51: 5-16.
[18] ZHU X, ZHANG Z, CHEN C W. A joint layered coding scheme for unified reliable and secure media transmission with implementation on JPEG 2000 images[A]. Proceedings of the IEEE International Conference on Multimedia & Expo[C]. 2009.710-717.
[19] LI L, ZHOU G, FIETHE B, etal. Efficient implementation of the CCSDS 122.0-B-1 compression standard on a space-qualified field programmable gate array[J]. Journal of Applied Remote Sensing, 2013,3(1):033543.
[20] Image Data Compression[S]. CCSDS Recommendation for Space Data System Standards 1220-B-1 Issue 1 Cor 2, 2008.
[21] 雷震霖. 空間圖像CCSDS壓縮算法研究與FPGA實現[D]. 大連:大連理工大學, 2007.LEI Z L. Study on CCSDS Space Image Compression Algorithm and FPGA Implementation[D]. Dalian: Dalian University of Technology, 2007.
[22] YI X, LI M, ZHENG G, etal. Quality-optimized authentication of scalable media streams with flexible transcoding over wireless networks[A]. Proceedings of the 3rd FTRA International Conference Mobile, Ubiquitous, and Intelligent Computing[C]. 2012.148-153.