網(wǎng)絡視頻流加密技術

因視頻流具有數(shù)據(jù)量大、傳輸比特率高、實時性強等特點,因此傳統(tǒng)的文字加密方法不適合視頻流加密。為此,我們根據(jù)網(wǎng)絡視頻流安全傳榆的要求和MPEG4視頻編碼的特點,提出了一種基于Logiscic混沌映射的視頻加密算法,在編碼過程中利用混沌序列對視頻數(shù)據(jù)在頻域進行加密。

一、Logistic混沌映射

混沌來自于非線性動力系統(tǒng),而動力系統(tǒng)又描述的是任意隨時間變化的過程,這個過程是確定性的、類似隨機的、非周期的、具有收斂性的、并且對于初值具有敏感性,而這些特性正符合序列密碼的要求。 Robert Matthews在Lugistic映射的變形基礎上給出了用于加密的偽隨機數(shù)序列生成函數(shù),其后混沌密碼學及混沌密碼分析等便相繼發(fā)展起來。混沌流密碼系統(tǒng)的設計主要采用以下幾種混沌映射:一維Logistic映射、二維Henon映射、三維Lorenz映射、逐段線性混沌映射、逐段非線性混沌映射等,本文主要討論一維Logistic映射。

一維LogisLic映射從數(shù)學形式上來看是一個非常簡單的混沌映射,早在20世紀50年代,有好幾位生態(tài)學家就利用過這個簡單的差分方程,來描述種群的變化。此系統(tǒng)具有極其復雜的動力學行為,在保密通信領域的應用十分廣泛。

其中μ∈[0*4]被稱為Logistic參數(shù)。研究表明,當X∈[0.1]時,Lngistic映射工作處于混沌狀態(tài),也就是說,初始條件)xo在Logistic映射作用下產生的序列是非周期的、不收斂的,而在此范圍之外,生成的序列必將收斂于某一個特定的值。

從圖2可以看出,在μ的圾值比較靠近4時,迭代生成的值是一種偽隨機分布的狀態(tài),而在其他取值時,在經過一定次數(shù)的迭代之后,生成的值將收斂到一個特定的數(shù)值,因此我們需要選取的Logistic控制參數(shù)應該越接近4越好。

二、視頻流加密算法的設計與實現(xiàn)

1、系統(tǒng)框架設計

視頓加密傳輸系統(tǒng)的方案如圖3所示,在PC機上,系統(tǒng)使用XVID編碼器和混沌序列對視頻文件進行加密編碼,然后通過RTP網(wǎng)絡傳輸至另一臺PC上進行解密解碼顯示。

2、加密算法的實現(xiàn)

本文提出的加密算法是在視頻圖像的變換域中使用混沌序列對數(shù)據(jù)進行加密,由于低頓變化系數(shù)的方塊效應,使計算量大大降低,視頻圖像的變換域由DCT(離散余弦)變換得到。算法具體實現(xiàn)步驟如下:

1)利用公式1生成實數(shù)值序列:即{xk,k=0,1,2,3…},舍棄前1000次的迭代,以保證系統(tǒng)進入混沌狀態(tài);

2)選取小數(shù)點后的3,4,5三位組成二值序列作為混沌加密序列;

3)分別生成用于加密DCT系數(shù)以及運動矢量(MV)的加密序列;

4)采集視頻數(shù)據(jù)使用編碼器進行DCT變換和運動補償,得到變換系數(shù)和運動矢量,并進行量化;

5)根據(jù)相應的加密序列i對宏塊的DCT系數(shù)進行異或加密,對MV系數(shù)通過改變符號進行加密;

6)進行VLC編碼;

解密部分的設計和加密部分的設計足相反的,解碼器將接收到的加密視頻流進行懈壓縮,得到加密的DCT和MV系數(shù),根據(jù)和在加密端完全相同的混沌序列,按照加密的方法進行逆變換,還原DCT和MV系數(shù),然后重構視頻幀,完成僻密解碼。

3、視頻數(shù)據(jù)網(wǎng)絡傳輸

TCP協(xié)議是面向連接的傳輸協(xié)議,它的重發(fā)機制會引入較大的延時,不適合用于實時的視頻數(shù)據(jù)傳輸,而UDP提供的是非面向 連接的,不可靠的數(shù)據(jù)流傳輸,對數(shù)據(jù)不進行重傳和確認,所以在強調實時性的數(shù)據(jù)傳輸時,例如音視頻數(shù)據(jù),應該選用UDP協(xié)議。

本文采用基于RTP的JRtplib庫將加密視頻數(shù)據(jù)傳送至接收端,RTP即實時傳輸協(xié)議,用于Intemet上針對多媒體數(shù)據(jù)流的傳 輸。它通常使用UDP協(xié)議來傳送數(shù)據(jù),JRtplib是用C++語言封裝好的RTP庫。編寫應用程序,通過調用JRtpljb靜態(tài)庫就可以實現(xiàn)對編碼后的視頻數(shù)據(jù)進行傳輸。

4、密鑰的安全傳輸

為了能夠使客戶端正確的解碼視頻數(shù)據(jù),必須首先將加密數(shù)據(jù)使用的密鑰(即生成混沌序列的初始值和參數(shù))發(fā)送到客戶端,由于密鑰 的數(shù)據(jù)量小,接收方確定,同時具有簽名的特性,所以本文采用基于橢踟曲線密碼算法(ECC)的非對稱密碼體制進行密鑰傳輸。ECC的安全性依籟求解橢圓曲線上離散對數(shù)問題的困難性,與RSA公鑰體制相比,ECC具有更高的單比特安全性。ECC的加密過程如下:

1)用戶A選定一條橢圓曲線Fp(a,b),并取橢圓曲線上的一點,作為基點G;

2)用戶A選定一個私有密鑰k.并生成公開密鑰K=kG;

3)用戶A將Fp(ab)和點K,G傳給用戶B;

4)用戶B接收到信息后,將待傳輸?shù)拿魑木幋a到Ep(a,b)上一點M,并產生一個隨機整數(shù)r(r<n,n為基點G的階);

5)用戶B計算點C1=M+rK;Cz=rG,將C1、C2傳給用戶A;

6)用戶A收到信息后,計算c1=kC2,得到M,再對M解碼就可以得到明文。

三、系統(tǒng)的安全性分析

混沌系統(tǒng)對于初始值和參數(shù)非常敏感,由于混沌的隨機特性能夠使密鑰均勻的分布在密鑰空間中,確保了混沌序列中0和1的分布均勻,可以認為是隨機序列,采用窮盡式密鑰搜索分析進行解密是很困難的。同時在系統(tǒng)中實時的改變混沌序列的參數(shù),增加了解密的困難性。

橢圓曲線離散對數(shù)問題的難解性是所有曲線密碼方案安全性的基礎,它的160位長密鑰安全性強度相當于RSA體制中1024位長的安全強度。從下表可以看出,在相同的安全級別上,ECC所需的密鑰長度比RSA系統(tǒng)需要的密鑰長度更短,一般認為破解時間為MIPS年就代表安全。

系統(tǒng)通過TCP/IP通道經過ECC加密傳輸密鑰,使加密密鑰不容易被竊取,增加了系統(tǒng)密鑰傳輸?shù)目煽啃院桶踩浴?/p>

四、實驗結果分析

本文在PC上將算法應用到XVID編解碼器中,并采用標準測試圖像序列flower_cif.yuv進行測試,圖4是原始圖像序列中的一幀,圖5是加密后的結果。從圖中可以看到,加密后的圖像已經不可理解,本文所提出的加密算法具有很好的加密效果。

混沌加密準備時間非常短,同時由于加密數(shù)據(jù)量比較小,使得加密占用很少的運行時間,具有較快的加密速度,同時能夠達到實時視頻加密傳輸?shù)男Ч?。?是對標準測試序列進行正常編碼和加密編碼的對比。

小知識之視頻流

視頻流是指視頻數(shù)據(jù)的傳輸,例如,它能夠被作為一個穩(wěn)定的和連續(xù)的流通過網(wǎng)絡處理。因為流動,客戶機瀏覽器或插件能夠在整個文件被傳輸完成前顯示多媒體數(shù)據(jù)。視頻流技術基于 2 密鑰技術,視頻譯碼技術和可升級的視頻分發(fā)技術發(fā)展。