本發(fā)明屬于數(shù)據(jù)安全技術(shù)領(lǐng)域,具體涉及一種基于網(wǎng)絡(luò)編碼的可分級視頻流加密方法。
背景技術(shù):
可分級視頻編碼能有效適用于當(dāng)前異構(gòu)網(wǎng)絡(luò)中的視頻流高效傳輸業(yè)務(wù),它能極大地滿足多種異構(gòu)終端用戶的不同實(shí)時(shí)業(yè)務(wù)需求。優(yōu)先編碼傳輸pet(priorityencodingtransmission)是實(shí)現(xiàn)可分級視頻流傳輸?shù)囊环N非常重要的技術(shù)。在這類技術(shù)中,基于網(wǎng)絡(luò)編碼的pet已經(jīng)被認(rèn)為是一種更有效的無比率編碼方式。與傳統(tǒng)的pet不同,網(wǎng)絡(luò)編碼允許網(wǎng)絡(luò)中各中間節(jié)點(diǎn)傳輸前可對接收到的信息進(jìn)行線性或非線性的組合變換,而基于網(wǎng)絡(luò)編碼的pet可以顯著提高在刪除信道傳輸?shù)恼w視頻質(zhì)量。
雖然基于網(wǎng)絡(luò)編碼的pet能有效增強(qiáng)傳輸健壯性和可靠性,可以提供很好的信道適應(yīng)性服務(wù),但當(dāng)下的應(yīng)用中卻沒有解決其安全應(yīng)用中一個(gè)潛在的可擴(kuò)展性問題:根據(jù)終端用戶的不同訂閱等級,為其提供不同質(zhì)量的視頻數(shù)據(jù)。這個(gè)問題的解決顯然需要開發(fā)具有低復(fù)雜度特性的多層級安全加密方案以保證不同訂閱級別的數(shù)據(jù)安全。
當(dāng)前,視頻數(shù)據(jù)可擴(kuò)展性機(jī)密性保護(hù)都是通過傳統(tǒng)的加密方式來實(shí)現(xiàn),但是當(dāng)數(shù)據(jù)流量大幅增加時(shí),這種方式的安全性的擴(kuò)展效率將非常低下。具體來說,這些解決方案都是通過隱藏關(guān)鍵視頻數(shù)據(jù)(如空域,dct系數(shù))來降低編解碼的復(fù)雜度。然而,這種方法在加密算法選擇不合適的情況下,仍會給安全系統(tǒng)帶來與完全加密相當(dāng)?shù)挠?jì)算開銷。其根本原因在于這類方案實(shí)現(xiàn)的安全強(qiáng)度難以量化,安全性能擴(kuò)展性較差。當(dāng)前,在網(wǎng)絡(luò)抽象層上進(jìn)行分層加密方式在傳統(tǒng)網(wǎng)絡(luò)中被認(rèn)為是很有效的,但它并不適合基于網(wǎng)絡(luò)編碼的pet。基于網(wǎng)絡(luò)編碼的可分級視頻流傳輸?shù)陌踩詥栴}是當(dāng)前應(yīng)用中尚未解決的一個(gè)關(guān)鍵問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于網(wǎng)絡(luò)編碼的可分級視頻流加密方法,解決了現(xiàn)有可分級視頻流安全性差的問題。
本發(fā)明所采用的技術(shù)方案是:基于網(wǎng)絡(luò)編碼的可分級視頻流加密方法,具體按照以下步驟實(shí)施:
步驟1:信源為各數(shù)據(jù)層配置不同的保護(hù)密鑰,并且給第c層視頻質(zhì)量的訂閱用戶接收端分發(fā)第1層至第c層的保護(hù)密鑰k1,k2,…,kc,其中1≤c≤l,其中l(wèi)為數(shù)據(jù)層的總層數(shù);
步驟2:信源視頻數(shù)據(jù)被分割編碼為一個(gè)圖像組gop序列,每個(gè)gop被分割為多個(gè)數(shù)據(jù)層,每層中空余位填充相應(yīng)的冗余零數(shù)據(jù)塊;
步驟3:對于每個(gè)gop,信源利用步驟1中的保護(hù)密鑰生成各層編碼信息,分別對每個(gè)gop中各層進(jìn)行安全編碼;
步驟4:信源將步驟3編碼后的gop數(shù)據(jù)包利用網(wǎng)絡(luò)編碼傳輸?shù)姆椒òl(fā)送到接收端;
步驟5:根據(jù)訂閱的視頻質(zhì)量服務(wù)等級,接收端利用網(wǎng)絡(luò)編碼解碼規(guī)則對收到的gop數(shù)據(jù)包進(jìn)行譯碼,盡可能多連續(xù)地恢復(fù)步驟4中封裝的從基礎(chǔ)層到訂閱質(zhì)量層數(shù)據(jù),進(jìn)而執(zhí)行逐層逆迭代和層隨機(jī)化逆操作來完成不同用戶訂購數(shù)據(jù)層的解密。
本發(fā)明的特點(diǎn)還在于:
步驟2中:
每個(gè)gop被編碼為l層,第1層為基礎(chǔ)層、其余l(xiāng)-1層為增強(qiáng)層;從第1層到第l層,各層數(shù)據(jù)的傳輸優(yōu)先級逐層降低;
每個(gè)gop中第j層視頻數(shù)據(jù)量由rj表示,第j層視頻數(shù)據(jù)被分為lj塊,則每塊包含nj=rj/qlj個(gè)編碼域fq上的字符,除了lj個(gè)數(shù)據(jù)塊之外,第j層空余位需填充ll-lj個(gè)冗余零數(shù)據(jù)塊,其中,j=1,2,…,l;
每個(gè)gop中各層數(shù)據(jù)塊數(shù)量滿足l1<l2<...<ll且l1>1;
各層數(shù)據(jù)將根據(jù)傳輸優(yōu)先等級從第1層至最高層第l層按列降序排列,組成初始編碼數(shù)據(jù)結(jié)構(gòu)。
步驟3具體為:
步驟3.1:層塊部分隨機(jī)化:對于第i層,i依次取1,2,…,l,第i層的信源消息字符被分割編碼成li個(gè)數(shù)據(jù)塊,這些數(shù)據(jù)塊組成編碼域fq上維數(shù)為li×ni的矩陣mi,對該層的數(shù)據(jù)塊部分隨機(jī)化過程如下:
步驟3.1.1:利用第i層保護(hù)密鑰ki和隨機(jī)數(shù)生成器g1產(chǎn)生ti×ni個(gè)域fq上的隨機(jī)數(shù),其中ti<li,構(gòu)造維數(shù)為ti×ni的隨機(jī)矩陣hi和維數(shù)為li×ni的矩陣ni,其中ni的前ti行取自矩陣hi,后li-ti行元素均為零;
步驟3.1.2:計(jì)算數(shù)據(jù)隨機(jī)化結(jié)果di=mi+ni;
步驟3.2:逐層迭代編碼:從最高層到基礎(chǔ)層,按逆序進(jìn)行迭代變換,依次對相鄰的兩個(gè)層進(jìn)行域fq上的線性隨機(jī)組合,具體為:
步驟3.2.1:對最高層,利用第l層保護(hù)密鑰kl和隨機(jī)數(shù)生成器g2產(chǎn)生ll2個(gè)域fq上的非零隨機(jī)數(shù),排列構(gòu)造ll階滿秩矩陣rl,然后計(jì)算cl=rl·dl;
步驟3.2.2:對第i層,其中,i依次取l-1,l-2,…,1,信源利用第i層保護(hù)密鑰ki和隨機(jī)數(shù)生成器g2產(chǎn)生
步驟4具體為:
步驟4.1:信源將步驟3中經(jīng)過編碼的各行數(shù)據(jù)分別添加包頭信息,并封裝成gop數(shù)據(jù)包;
步驟4.2:信源將封裝后的gop中的行數(shù)據(jù)添加包頭信息,將封裝后的數(shù)據(jù)包發(fā)送到通信信道中;網(wǎng)絡(luò)中的每個(gè)中間傳輸節(jié)點(diǎn)將收到的數(shù)據(jù)包儲存在接收緩存中;當(dāng)一個(gè)發(fā)送時(shí)隙來臨時(shí),中間結(jié)點(diǎn)將隨機(jī)組合緩存區(qū)中儲存的包,然后將結(jié)果轉(zhuǎn)發(fā)至下一個(gè)節(jié)點(diǎn),直至這些數(shù)據(jù)包送達(dá)至接收端。
步驟5中對于訂購了第c層視頻質(zhì)量且收到τ個(gè)線性獨(dú)立數(shù)據(jù)包的接收者,其數(shù)據(jù)包譯碼和解密情況如下:
a、τ<l1
當(dāng)前gop中的數(shù)據(jù)包無法進(jìn)行即時(shí)網(wǎng)絡(luò)解碼或者該gop將被跳過,除非在緩存數(shù)據(jù)超時(shí)前有包含新信息的基礎(chǔ)層的數(shù)據(jù)包進(jìn)入緩存區(qū);
b、lk-1≤τ<lk
①2≤k≤c:第1層到第k-1層的數(shù)據(jù)信息能被譯碼,進(jìn)而可以執(zhí)行逐層逆迭代和層隨機(jī)化的逆操作完成解密;
②c<k≤l:第1層到第k-1層的數(shù)據(jù)包可以被網(wǎng)絡(luò)譯碼,但由于用戶訂閱權(quán)限的限制,僅有第1層到第c層的數(shù)據(jù)信息可以執(zhí)行逐層逆迭代和層隨機(jī)化逆操作,從而能被正確解密。
本發(fā)明的有益效果是:本發(fā)明基于網(wǎng)絡(luò)編碼的可分級視頻流加密方法首先在原始消息中引入了隨機(jī)變量,其次又實(shí)施了線性隨機(jī)變換,完成了原始消息的隨機(jī)化安全加密功能,可以合理有效地對安全編碼實(shí)現(xiàn)的安全強(qiáng)度進(jìn)行度量或量化;本發(fā)明基于網(wǎng)絡(luò)編碼的可分級視頻流加密方法實(shí)現(xiàn)了安全性和分級傳輸兩方面的可伸縮編譯碼功能。這不僅保證了高優(yōu)先級層的高安全強(qiáng)度和優(yōu)先傳輸,而且實(shí)現(xiàn)了對低優(yōu)先級層的可擴(kuò)展性增量編譯碼;本發(fā)明基于網(wǎng)絡(luò)編碼的可分級視頻流加密方法,實(shí)現(xiàn)了不同安全需求的應(yīng)用中數(shù)據(jù)保密度及視頻傳輸編譯碼的靈活性,計(jì)算復(fù)雜度小,加密效率高。
附圖說明
圖1是本發(fā)明可分級視頻流加密方法的流程圖;
圖2是本發(fā)明可分級視頻流加密方法中信源初始gop單元構(gòu)造示例圖;
圖3是本發(fā)明可分級視頻流加密方法中層塊部分隨機(jī)化和逐層迭代編碼操作示意圖;
圖4是本發(fā)明可分級視頻流加密方法中針對不同的gop大小與傳統(tǒng)分組加密方法之間的加密運(yùn)算量比較圖示。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明進(jìn)行詳細(xì)說明。
本發(fā)明基于網(wǎng)絡(luò)編碼的可分級視頻流加密方法,如圖1所示,具體按照以下步驟實(shí)施:
步驟1:信源為各數(shù)據(jù)層配置不同的保護(hù)密鑰,并且給第c層視頻質(zhì)量的訂閱用戶接收端分發(fā)第1層至第c層的保護(hù)密鑰k1,k2,…,kc,其中1≤c≤l,其中l(wèi)為數(shù)據(jù)層的總層數(shù);
步驟2:如圖2所示,信源視頻數(shù)據(jù)被分割編碼為一個(gè)圖像組gop(groupofpictures,圖像組)序列,每個(gè)gop被分割為多個(gè)數(shù)據(jù)層,每層中空余位填充相應(yīng)的冗余零數(shù)據(jù)塊;圖2中以ld-ld-1=1為例,其中d=2,3,…,l;
每個(gè)gop被編碼為l層,第1層為基礎(chǔ)層、其余l(xiāng)-1層為增強(qiáng)層;從第1層到第l層,各層數(shù)據(jù)的傳輸優(yōu)先級逐層降低;
每個(gè)gop中第j層視頻數(shù)據(jù)量由rj表示,第j層視頻數(shù)據(jù)被分為lj塊,則每塊包含nj=rj/qlj個(gè)編碼域fq上的字符,除了lj個(gè)數(shù)據(jù)塊之外,第j層空余位需填充ll-lj個(gè)冗余零數(shù)據(jù)塊,其中,j=1,2,…,l;
每個(gè)gop中各層數(shù)據(jù)塊數(shù)量滿足l1<l2<...<ll且l1>1;
各層數(shù)據(jù)將根據(jù)傳輸優(yōu)先等級從第1層至最高層第l層按列降序排列,組成初始編碼數(shù)據(jù)結(jié)構(gòu)。
步驟3:如圖3所示,對于每個(gè)gop,信源利用步驟1中的保護(hù)密鑰生成各層編碼信息,分別對每個(gè)gop中各層進(jìn)行安全編碼,具體為:
步驟3.1:層塊部分隨機(jī)化:對于第i層,i依次取1,2,…,l,第i層的信源消息字符被分割編碼成li個(gè)數(shù)據(jù)塊,這些數(shù)據(jù)塊組成編碼域fq上維數(shù)為li×ni的矩陣mi,對該層的數(shù)據(jù)塊部分隨機(jī)化過程如下:
步驟3.1.1:利用第i層保護(hù)密鑰ki和隨機(jī)數(shù)生成器g1產(chǎn)生ti×ni個(gè)域fq上的隨機(jī)數(shù),其中ti<li,構(gòu)造維數(shù)為ti×ni的隨機(jī)矩陣hi和維數(shù)為li×ni的矩陣ni,其中ni的前ti行取自矩陣hi,后li-ti行元素均為零;
步驟3.1.2:計(jì)算數(shù)據(jù)隨機(jī)化結(jié)果di=mi+ni;
步驟3.2:逐層迭代編碼:從最高層到基礎(chǔ)層,按逆序進(jìn)行迭代變換,依次對相鄰的兩個(gè)層進(jìn)行域fq上的線性隨機(jī)組合,具體為:
步驟3.2.1:對最高層,利用第l層保護(hù)密鑰kl和隨機(jī)數(shù)生成器g2產(chǎn)生
步驟3.2.2:對第i層,其中,i依次取l-1,l-2,…,1,信源利用第i層保護(hù)密鑰ki和隨機(jī)數(shù)生成器g2產(chǎn)生
步驟4:如圖2所示,信源將步驟3編碼后的gop數(shù)據(jù)包利用網(wǎng)絡(luò)編碼傳輸?shù)姆椒òl(fā)送到接收端,具體為:
步驟4.1:如圖2所示,信源將步驟3中經(jīng)過編碼的各行數(shù)據(jù)分別添加包頭信息,并封裝成gop數(shù)據(jù)包;
步驟4.2:信源將封裝后的gop中的行數(shù)據(jù)添加包頭信息,將封裝后的數(shù)據(jù)包發(fā)送到通信信道中;網(wǎng)絡(luò)中的每個(gè)中間傳輸節(jié)點(diǎn)將收到的數(shù)據(jù)包儲存在接收緩存中;當(dāng)一個(gè)發(fā)送時(shí)隙來臨時(shí),中間結(jié)點(diǎn)將隨機(jī)組合緩存區(qū)中儲存的包,然后將結(jié)果轉(zhuǎn)發(fā)至下一個(gè)節(jié)點(diǎn),直至這些數(shù)據(jù)包送達(dá)至接收端。
步驟5:根據(jù)訂閱的視頻質(zhì)量服務(wù)等級,接收端利用網(wǎng)絡(luò)編碼解碼規(guī)則對收到的gop數(shù)據(jù)包進(jìn)行譯碼,盡可能多連續(xù)地恢復(fù)步驟4.1中封裝的從基礎(chǔ)層到訂閱質(zhì)量層數(shù)據(jù),進(jìn)而執(zhí)行逐層逆迭代和層隨機(jī)化逆操作來完成不同用戶訂購數(shù)據(jù)層的解密。
步驟5中對于訂購了第c層視頻質(zhì)量且收到τ個(gè)線性獨(dú)立數(shù)據(jù)包的接收者,其數(shù)據(jù)包譯碼和解密情況如下:
a、τ<l1
當(dāng)前gop中的數(shù)據(jù)包無法進(jìn)行即時(shí)網(wǎng)絡(luò)解碼或者該gop將被跳過,除非在緩存數(shù)據(jù)超時(shí)前有包含新信息的基礎(chǔ)層的數(shù)據(jù)包進(jìn)入緩存區(qū);
b、lk-1≤τ<lk
①2≤k≤c:第1層到第k-1層的數(shù)據(jù)信息能被譯碼,進(jìn)而可以執(zhí)行逐層逆迭代和層隨機(jī)化的逆操作完成解密;
②c<k≤l:第1層到第k-1層的數(shù)據(jù)包可以被網(wǎng)絡(luò)譯碼,但由于用戶訂閱權(quán)限的限制,僅有第1層到第c層的數(shù)據(jù)信息可以執(zhí)行逐層逆迭代和層隨機(jī)化逆操作,從而能被正確解密。
本發(fā)明的實(shí)際性能可以通過以下的實(shí)驗(yàn)比較進(jìn)一步說明:
實(shí)驗(yàn)規(guī)定每一層的數(shù)據(jù)塊都有相同的大小,且lk+1-lk=5(k=1,2,...,l-1)。針對不同的gop大小,將本發(fā)明與傳統(tǒng)分組加密方法之間的加密運(yùn)算量進(jìn)行比較,如圖4所示。結(jié)果顯示,本發(fā)明顯著減少了gop中需要加密的數(shù)據(jù)量。當(dāng)gop序列規(guī)模逐漸增大時(shí),本發(fā)明具有顯著的性能優(yōu)勢。