唐金藝 江瑋 楊磊
摘 要:命名數據網絡(NDN)因其路由緩沖和組播特性,在解決高清消費類視頻大數據量、突發式集中請求時有著得天獨厚的優勢。然而,也正是路由緩沖和組播特性為數據的安全性帶來了很多新的挑戰。基于NDN網絡環境,充分研究分析了當前主流的H.264/AVC視頻壓縮編碼標準,制定了以I幀為加密對象,結合祖沖之序列密碼算法(ZUC)進行實時亂數流和視頻幀流同步的加密,并在Consumer-Producer API基礎上研究實現了NDN網絡下視頻點播的加密流程。在ndnSIM仿真得出,同樣的網絡模型下通過提出的設計方案,可以保證安全可控的同時,有效地降低網絡流量開銷,并且可以支持更多的視頻請求者同時訪問。
關鍵詞:NDN;H.264/AVC;視頻加密;訪問控制
中圖分類號:F274;TP311.13 文獻標識碼:A
Abstract: Named Data Networking (NDN) routing includes butter and multicast characters. It has huge advantages on big volume video traffic transferring and high burst traffic. However, due to buffer and multicast characters, it brings huge challenge on the security problem. In this paper, we analyze the standard H.264/AVC and make contribution on treating I frame as the object and sequence combined with ZUC algorithm and the key agreement for real-time random stream and stream video frame synchronization of encryption. Then based on Consumer-Producer API, we also develop Live and Prerecorded Video Streaming of the encryption process. The ndnSIM simulation model under the same network through the scheme proposed in this dissertation can ensure safety control while effectively reduce network traffic overhead, and can support more video simultaneously access request.
Key words: NDN;H.264/AVC;video encryption;access control
1 引言
伴隨著新興網絡參與形式的變革和社交方式的成長,人們對互聯網應用需求正潛移默化的發生變化,隨之而來對傳統的IP網絡架構帶來了新的考驗。根據一份來自思科公司的統計預測:到2019年互聯網在線視頻網絡流量月均開銷會達到105EB,其在線視頻的數據流量開銷將會是2014年的4.16倍,其中消費類在線視頻流量與消費類網絡流量的占比將由目前的64%增長至2019年的80%[1]。這樣的在線視頻網絡請求在當今的社交方式催化下往往會存在很大的突發性,而傳統基于IP架構的網絡是以端到端的傳輸方式進行設計的,以傳輸為最終目的。IP網絡架構下,面對每一次客戶端請求都需要服務端給予一次響應。這樣的網絡架構既增加時延又帶來大量重復傳輸。
NDN網絡使用Contentchunk包替換了IP包,這樣的替換可以明顯的看出對數據內容的路由方式已經由存儲物理地址信息變換為內容信息,請求者只注重從網絡上獲取想要的數據,而不會在意數據具體的存儲物理地址[2]。另外,NDN網絡對網絡的路由節點增加了存儲功能,所有經過路由節點的數據都進行緩存,這樣的設計可以提高網絡響應時間,同時節約了大量的重復傳輸流量。
針對在線視頻數據傳輸體量大的特點,NDN網絡架構天生具備的多播功能,很好地降低了突發式數據請求重復點對點傳輸的流量。NDN網絡的架構設計帶來了各種實惠的同時,也為非授權的用戶帶來了“便捷”,這是因為沒有進行訪問控制的多播功能,使得非授權用戶一樣可以輕易獲取網絡上緩存的數據。所以,在NDN網絡環境下設計一種貼合當今主流網絡在線視頻H.264/AVC壓縮編碼格式[3]的訪問控制手段成為新的需求。
2 現狀分析及相關工作綜述
2.1 現行網絡下的在線視頻安全訪問控制發展現狀分析
目前現行網絡下針對消費類在線視頻的安全訪問控制大方向上主要分為四類:(1)發起協議加密;(2)部分數據加密;(3)全文加密;(4)針對壓縮編碼的過程進行加密。
以上這些方法受制于現行網絡的基礎架構,在數據請求時延和網絡數據流開銷上沒有任何優勢,針對這一問題一些云視頻商給出了CDN技術來解決問題,CDN技術是將完整的視頻文件分發給部署在各地的CDN節點上,用以提高訪問速度[4],但在訪問控制上依然是通過身份驗證這樣等級較低的方法進行控制,并且地域上也受到CDN節點部署位置的限制。
針對現行網絡下各類在線視頻訪問控制的方法進行一下流量開銷、安全性、數據格式變化、附加運算開銷和響應時間這幾個方向進行分析對比如表1所示。
2.2 NDN網絡
NDN網絡與TCP/IP網絡架構相似如圖1所示,NDN也是一個瘦腰的沙漏模型。不同的是NDN使用Contentchunk包替換了IP包,這樣的替換可以明顯的看出對數據內容的路由方式已經由存儲物理地址信息變換為內容信息,請求者只注重從網絡上獲取想要的數據,而不會在意數據具體的存儲物理地址。另外,NDN對網絡的路由節點增加了存儲功能,所有經過路由節點的數據都進行緩存,這樣的設計可以提高網絡響應時間,同時節約了大量的重復傳輸流量。
2.3 H.264/AVC視頻壓縮編碼
H.264/AVC是ISO/IEC(國際標準化組織)和ITU-T(國際電信聯盟)于2003年共同提出制定的視頻壓縮編碼格式標準[5]。H.264/AVC壓縮編碼后的數據就是用I、P、B幀來構成。一組連續的I、P、B幀就可以構成一個GOP(Group of Pictures)畫面組,很多個GOP構成一段完整的視頻文件。
I幀:稱之為關鍵幀,可以將其理解為一張完整描述畫面的數據包,I幀是一個GOP中的第一個幀,通常來說一個GOP中也就只有唯一一個I幀,I幀的壓縮只能是適度的,其壓縮方法是幀內壓縮。
P幀:用來描述這一幀和之前一個I幀或P幀的差別,P幀的壓縮是根據當前幀和之前一個I幀或P幀的運動變化軌跡來進行運算的。解碼時需要結合之前畫面疊加上本幀的差別后進行呈現。
B幀:是更復雜的雙向差別描述,B幀的壓縮需要通過相鄰的前一幀、后一幀和本幀的運動軌跡來進行運算。其壓縮率較高,但CPU編碼開銷會增大。
3 基于I幀的在線視頻訪問控制方案
基于I幀的在線視頻訪問控制方案的研究目標是:在NDN網絡環境下,利用H.264/AVC壓縮編碼標準中幀分類的特性,針對不同用戶數據分級保護傳輸的方法,結合ZUC序列密碼算法和幀號同步計算各幀密鑰,進行差異化數據供給,來實現在線視頻的訪問控制,同時保留NDN網絡響應時間短、網絡流量小的特點。
3.1 典型視頻轉碼數據分析測量
分析測量實驗選擇了三個典型YUV格式視頻類型作為測試用例:Akiyo(基本靜態的新聞播報視頻)、Waterfall(低速變化的風景視頻)、Bus(高速公交車的行進視頻),如圖2所示。測試用例的格式均為CIF (352x288),YUV比例為4:2:0。
利用ffmpeg、x264和libx264,對具有代表性的三類原始視頻YUV格式文件進行H.264/AVC壓縮編碼標準轉碼獲得的各種數據指標如表2所示。通過實驗數據可以看出,對原始YUV視頻文件進行標準的H.264/AVC壓縮編碼轉換后,其中具有代表性的三類視頻中I幀的數據大小占比為20.06%-32.32%之間。
PSNR(Peak Signal Noise Ratio) 峰值信噪比,是作為視頻視覺感知的重要量化標準,使用PSNR數值可以直接表達出一個視頻給體驗者的滿意度[6]。測試方法是分別對三類視頻的I幀進行ZUC算法加密,加密I幀的比例:q分別設置為12.5%、25%、50%和100%,按比例加密I幀時,是以1字節為單位對其中的若干比特進行按比例的加密。
對三類視頻加密前后分別用PSNR進行量化分析,如表3所示。隨著對I幀加密的比例的增加PSNR也是隨之降低的。所以我們可以得出,選擇對視頻流的I幀進行加密,會極大地影響視頻的視覺感知度,I幀的加密具有非常大的視覺感知安全保證。
3.2 基于ZUC序列密碼的訪問控制設計
針對視頻編碼I幀數據安全保護的設計特點,視頻加密系統采用ZUC算法對傳輸的視頻I幀數據進行加密保護。視頻流數據在傳輸協議中拆分為GOP_I、GOP_B、GOP_P 、Audio和Stream_info等幾種數據塊文件,其中GOP_I數據塊通過ZUC_Cipher加密模塊加密處理后送到NDN網絡。
序列密碼ZUC算法是中國人自主設計的高性能序列密碼,它和其他序列密碼一樣具有很好的數據流化特征。又由于其錯誤的傳播性極低,甚至可以說是完全不存在錯誤傳播。所以選擇ZUC算法來進行加密同樣以流形式進行編碼的視頻數據非常合適。
H.264/AVC視頻的壓縮編碼標準是以Gop為單位進行解析播放的,而ZUC序列密碼是連續產生亂數和明文進行加密處理。無論是視頻的直播還是點播視頻的數據文件都是以Gop為單位連續大量傳輸的。一旦點播視頻發生用戶跳播,或者直播視頻發生中間部分Gop單位的數據丟失,序列密碼產生的亂數和視頻流數據的同步將會出現問題。但如果簡單的對每一個Gop簡單的重復使用同一密鑰加密,將會使用到相同的亂數對明文進行加密,攻擊者只要將二組密文進行⊕處理即可獲得兩組明文的⊕結果,非常容易受到攻擊。
3.3 基于I幀的在線視頻訪問控制設計
3.3.1 框架設計
設計是基于NDN項目組提供的Consumer-ProducerAPI以及Gstreamer1.4.3版本庫環境開發。Consumer-ProducerAPI提供了在線視頻的網絡傳輸協議的通用編程接口。關于NDN的網絡協議棧部分是由NFD[7](NDNForwardingDaemon)來完成的,NFD提供了完整的網絡傳輸的支持,目前NFD的最新版本為V2.0。在此傳輸協議基礎上通過API接口將視頻幀組中的I幀在傳輸過程中進行加密處理,同時對加密I幀的包標記為不在網絡上緩存,其他普通視頻流的相關包進行網絡緩存,以提高響應速度和降低傳輸流量,如圖3所示。
3.3.2 流程設計與實現
Consumer-ProducerAPI的傳輸協議棧針對不同類別的數據傳輸需求提供了三種傳輸協議:SDR(SimpleDataRetrieval)、UDR(UnreliableDataRetrieval)和RDR (ReliableDataRetrieval)。其中SDR為簡易數據獲取方式,針對單包數據不大的數據傳輸進行服務;UDR是不可靠的切塊數據獲取方式,一個幀組的數據以一個個小塊的形式分別到達接收端,如果丟失了其中部分數據塊,整個幀組將會被丟棄;RDR是一種可靠的數據獲取方式,協議會保證數據有序的完整到達接收端。
NDN網絡的點播是通過視頻發布者的應用程序和消費者的應用程序通過數據流式傳輸來實現的。首先,視頻發布者需要提供輸出的具體數據內容有:視頻流的I幀加密數據、視頻流其它幀數據、音頻流數據、視頻流信息數據、音頻流信息數據和視頻列表。加密的I幀視頻流和非加密的其他幀以及音頻幀流都是通過RDR協議進行傳輸的,協議會保證數據有序的完整到達接收端。同時,數據的處理上,視頻發布者使用到了Repo模塊,進行數據的本地緩存。
4 實驗驗證與分析
目前NDN網絡環境的構建主要有兩種方法:第一種是在IP網的基礎上以覆蓋網模式運行;第二種是在現有的鏈路層之上通過協議棧直接運行NDN網絡。
NDN網絡系統仿真軟件ndnSIM[8],對網絡報文處理流程已經完整的整合了NFD網絡協議棧,都是通過真實的NDN網絡協議完成報文處理流程,同時最新版本的ndnSIM還提供了AppFace和NetDeviceFace,可以非常方便地進行NDN網絡環境下的程序驗證仿真。
4.1 網絡流量開銷理論推導
不考慮復雜的路由選取情況下,可以構建出一個由單個Producer服務端構成的樹形網絡模型,來進行數據流量開銷的分析。
假設視頻流的文件大小為:d,需要進行加密的I幀占視頻流的比例為:p,其中樹中各個節點的高度為:h1,路由器個數為Rmax。在這樣一個網絡模型下,由以上條件在不考慮Interest包開銷和丟包重傳帶來的額外開銷的情況下,可以得出各授權節點完成一個視頻傳輸的數據流量開銷為S1:
其中當p=1時即是視頻流全文加密的流量開銷,當p=1時也可以用來描述IP網絡下傳輸視頻總的流量開銷S2:
可以得出:當n≥2,0
4.2 仿真分析
在ndnSIM網絡仿真軟件中構建如圖4所示的簡易網絡模型場景,其中三個關系對等的視頻請求者Consumer1、Consumer2和Consumer3以鏈路帶寬10Mbps連接在Router1上,干線的Router1和Router2分得的鏈路帶寬為1Mbps、Router2和視頻發布者Producer1的鏈路帶寬為10Mbps。測試用例視頻流正常播放時的編解碼速率穩定在350Kbps-380Kbps之間,其中I幀數據占視頻文件總數據的25%,網絡中數據分塊大小設置為1024B。
實驗1:視頻請求者Consumer1進行視頻數據全加密通信,向Producer1發起勻速請求,由Consumer1控制Interest包的生成速度,以保證視頻正常播放,整個網絡運行正常。如圖5(a)所示。
實驗2:視頻請求者Consumer1、Consumer2同時進行視頻數據全加密通信,向Producer1發起請求,Consumer1、Consumer2也各自控制自己的Interest 包的生成速度,以保證視頻正常播放,整個網絡運行正常,如圖5(b)所示。
實驗3:視頻請求者Consumer1、Consumer2和Consumer3同時進行視頻數據全加密通信,向Producer1發起請求,Consumer1、Consumer2和Consumer3也各自控制自己的Interest 包的生成速度,由于Router1和Router2分得的鏈路帶寬為1Mbps,Router2向Router1發送的Data包流量已經超過負荷,產生了網絡擁塞,如圖5(c)所示。
實驗4:視頻請求者Consumer1、Consumer2和Consumer3同時以本論文設計方案只對I幀數據進行端端密鑰方式加密通信,向Producer1發起請求,Consumer1、Consumer2和Consumer3也各自控制自己的Interest 包的生成速度,整個網絡運行恢復正常,如圖5(d)所示。
實驗5:視頻請求者擴展為6個終端,同時以本論文設計方案只對I幀數據進行端端密鑰方式加密通信,向Producer發起勻速請求,整個網絡運行依然工作正常。
通過以上在ndnSIM仿真得出的結果可以看到,同樣的網絡模型下通過本論文提出的設計方案只對I幀數據進行加密可以有效的降低網絡流量開銷,并且在相同的網絡環境下,可以支持更多的視頻請求者同時訪問。
5 結束語
本文基于NDN網絡環境,針對NDN網絡路由緩沖和組播特性為數據安全訪問帶來問題的需求,設計提出了基于I幀加密的在線視頻安全訪問控制方案。通過ndnSim網絡仿真實驗結果可以看出,該方案通過加密I幀數據有效控制了視頻的PSNR數值,很好地保證了視覺感知安全,同時很大限度保留了NDN網絡所具備的流量開銷低和請求時延短的優勢。
參考文獻
[1] Cisco. Cisco Visual Networking Index: Forecast and Methodology, 2014–2019.
[2] 閔二龍,陳震,許宏峰,等.內容中心網絡CCN研究進展探析[J].信息網絡安全, 2012(02):6-10.
[3] Schwarz H, Marpe D, Wiegand T. Overview of the Scalable Video Coding Extension of the H.264/AVC Standard[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2007, 17(9):1103-1120.
[4] 王薇薇,李子木.基于CDN的流媒體分發技術研究綜述[J].計算機工程與應用, 2004, 40(8):121-125.
[5] Wiegand T, Sullivan G J, Bjontegaard G, et al. Overview of the H.264/AVC video coding standard[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2003, 13(7):560-576.
[6] 李紅蕾,凌捷,徐少強.關于圖象質量評價指標PSNR的注記[J].廣東工業大學學報, 2004, 21(3):74-78.
[7] A. Afanasyev, J. Shi, B. Zhang, L. Zhang,I. Moiseenko, Y. Yu, W. Shang, Y. Huang, J. P.Abraham, S. DiBenedetto et al., “NFD developers guide,” Technical Report NDN-0021, NDN, Tech.Rep., 2014.
[8] Afanasyev A, Moiseenko I, Zhang L. ndnSIM: NDN simulator for NS-3[J]. University of California, Los Angeles, Tech. Rep, 2012.
作者簡介:
唐金藝(1981-),男,漢族,安徽含山人,清華大學,碩士,中國人民解放軍91977部隊,工程師;主要研究方向和關注領域:網絡信息安全。
江瑋(1980-),女,漢族,湖北武漢人,海軍工程大學,碩士,海軍海洋水文氣象中心,工程師;主要研究方向和關注領域:圖像處理。
楊磊(1981-),男,漢族,北京人,清華大學,碩士,中國人民解放軍91977部隊,工程師;主要研究方向和關注領域:網絡視頻安全。