唐金艺 江玮 杨磊
摘 要:命名数据网络(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部队,工程师;主要研究方向和关注领域:网络视频安全。