



多媒体内容(如视频、图像等)在互联网中传输时,从互联网协议的网络层来看,是先将多媒体内容分解为网络数据包进行传输,然后视频接收端将这些网络数据包组合起来,重构原来的多媒体内容。而互联网的开放性决定了互联网上传输的网络数据包不是绝对安全的,因此有必要从网络数据包角度研究多媒体内容传输的安全性。对于多媒体内容的接收者来说,采用多媒体流认证时,不需要下载或存储全部多媒体内容,就可对接收到的多媒体内容的安全性进行判定,因此该方法在实时性要求较高的场景中使用较广,如视频会议、视频组播服务。目前,已有许多研究围绕着多媒体流认证技术展开,主要分为基于图结构的多媒体流认证和基于编解码方法的认证 [1-2] 。
在基于图结构的多媒体流认证方面,Gennaro等人提出的基于哈希链的多媒体流认证 [3] 的基本思想是多媒体数据块采用环环相扣的方法实现认证,如图2-1所示。将第 i +1个多媒体数据包的哈希值(如消息摘要MD5)附加在第 i 个多媒体数据包上,依此类推, i 从1取值到 N -1;并对第1个多媒体数据包P 1 进行签名,生成签名数据包P sig 。该方法的缺点是在存在多媒体数据包丢弃的网络中可能无法实现认证。
图2-1 基于哈希链的多媒体流认证
此后,出现了一些哈希链的改进方法。Wong等人提出了基于树状结构的多媒体流认证方法 [4] ,即先将多媒体数据包的哈希值以树状结构组织起来,再对树的根节点进行签名。如图2-2所示,四个叶节点P 1 、P 2 、P 3 、P 4 是待传输的多媒体数据包,先将每两个叶节点的哈希值进行组合,生成哈希值构成其前驱节点,依次进行组合,直到形成树的根节点H 1-4 ,再对根节点进行签名,生成签名数据包P sig 。Park等人 [5] 对基于树状结构的多媒体流认证方法进行了改进,采用子树集合构成签名节点、叶节点随机附在中间节点的方法,提高了接收端多媒体数据包的认证概率。
针对基于哈希链的多媒体流认证效率低的问题,Perrig等人提出了基于多条链路(Efficient Multi-chained Stream Signature,EMSS)结构的多媒体流认证方法 [6] 。该方法为每个多媒体数据包节点增添了两条额外的冗余边,指向其他后续节点。该方法对存在随机丢包的网络具有一定的适用性,但需要接收端缓存所有发送的多媒体数据包,且无法适用于由突发错误引起丢包的网络。
图2-2 基于树状结构的多媒体流认证
Golle等人也对哈希链进行了改进,在计算时间复杂度和认证的效率上进行权衡,提出了一种增广型哈希链结构 [7] 。其在待发送的任意两个多媒体数据包节点间插入一些由哈希值构成的节点,这在一定程度上可以应对由突发错误引起的丢包,但通信负载较大。
不同于哈希链,Zhang等人 [8] 则提出了较为复杂的、基于蝴蝶型结构的多媒体流认证方法。如图2-3所示,其对多媒体数据进行分块,并对各块分别进行签名认证,各块中多媒体数据包的完整性哈希值以附加连接方式构成蝴蝶型,如第 i +1级多媒体数据包的完整性哈希值附着在第 i 级多媒体数据包的内容上, i 取值为0到2。该多媒体流认证方法的特点是对于网络丢包的鲁棒性强,但通信负载较大。
图2-3 基于蝴蝶型结构的多媒体流认证
在基于编解码方法的多媒体流认证方面,Zhang等人 [9] 提出了基于“信息率+失真+认证”的多媒体流认证方法。该方法的创新之处在于提出了接收端对获得的多媒体数据包进行认证时的认证概率这一指标,并且建立了最大化认证概率的目标优化函数。Zhang等人 [10] 又针对基于蝴蝶型结构的多媒体流认证方法进行了改进,提出了一般化的蝴蝶型认证方法。该方法考虑到了不同视频流具有不同的权值,并利用之前提出的“信息率+失真+认证”方法对H.264/AVC(Advanced Video Coding)视频流进行了一般化的蝴蝶型图形认证。该方法的不足之处在于没有考虑到视频流数据包之间相互编解码的关系,认证概率有待提高。
在H.264视频流认证方面,有较多的研究工作。Ueda等人 [11] 针对AVC提出了一种基于NAL(Network Abstraction Layer,网络抽象层)的流认证方法,该方法考虑了不同NAL数据的解码关系,但却没有研究不同AVC数据单元对视频帧恢复质量的影响差异。Mokhtarian等人 [12] 针对H.264/SVC视频流提出了基于FEC(Forward Error Correction,前向纠错)的认证方法,在时域较高层次上的帧采用前向纠错码对某一时域层上的哈希连接值进行编码,将其附着在较低一层的所有帧内容上。该方法的优点在于考虑到了视频流在时域上的帧相关特性,缺点在于对时域层之间的认证仍然采用链式结构。Wei等人 [13] 提出基于加密方法和鲁棒哈希方法对SVC视频流实现认证,该方法分别对SVC视频流中的基础层、增强层数据提取特征,对基础层提取消息摘要码,对增强层数据的视频帧采用两次NMF(Nonnegative Matrix Factorization,非负矩阵分解)方法提取哈希值向量,并将其与随机向量进行内积计算得到特征。
与Zhang等人提出的“信息率+失真+认证”方法类似,Zhu等人 [14] 提出了采用“信源信道自适应”的H.264/AVC流认证方法,将认证与视频编码结合起来。该方法虽然在认证效率上得到了提高,但认证过程的计算复杂度大,且修改了原来视频流的编解码结构。
针对无线传感网络视频流传输,Wang等人设计了基于“恢复质量+非均等安全保护”的多媒体流认证策略 [15] 。该策略针对JPEG 2000图像编解码结构采用层次化的认证方法。认证方法基于贪婪式认证过程,与基于哈希链的多媒体流认证过程类似,从底层图像数据至高层图像数据依次进行认证。易小伟等人 [16] 针对JPEG 2000图像压缩编码流传输提出了基于“哈希链和纠错码”方法进行认证,该方法实现了对图像恢复质量中具有不同重要性的编码信息进行不同等级的安全认证,具有较高的认证效率。
此外,Zhao等人针对H.264/AVC视频流提出了基于“加密算法+纠删码”(ECC)的视频流认证方法 [17] ,该认证方法充分考虑了视频流中帧信息在时空域上的特点,采用的认证方式与编解码过程紧密结合,但没有分析信道中丢包情况对视频内容的影响。
由上面的分析可以看出,基于网络数据层的多媒体流认证由于考虑到互联网中数据包传输过程的特性,接收端能够对用于恢复多媒体信息的数据单元进行有效验证,因此重构后的多媒体信息具有来源与内容可信的特点。但网络丢包率、网络带宽、多媒体内容编解码结构、接收端恢复的多媒体内容质量、数据包的认证比等因素共同影响着多媒体流的认证效果。因此,研究与多媒体流编解码相关的认证方法,并且寻找具有最小化负载的认证策略,是多媒体流认证的重要研究方向。
若多媒体内容,特别是实时视频内容想要在互联网中正确传输,则需要将多媒体内容转换成可在互联网信道中传输的信息,通常需要对多媒体内容进行编码、数据流打包等操作,如图2-4所示。原多媒体内容中时域或空域的冗余较大,为提高通信有效性,需要对其进行压缩、编码,从而形成编码后的流。为了适应互联网信道中的信息传输格式,如基于RTP(Real-time Transport Protocol,实时传输协议)/RTCP(Real-time Transport Control Protocol,实时传输控制协议)的流媒体协议,需要对流进行进一步封装,形成以网络数据包为单位的多媒体数据流。
图2-4 基于数据包的多媒体流认证流程
众所周知,互联网是一个开放的、不安全的通信环境,在其中传输的网络数据包极易遭受来自网络上的威胁,如攻击者对网络数据包内容进行篡改、恶意添加信息等,接收端恢复出的多媒体内容完整性极易遭受破坏。因此,针对接收端从网络上获得的数据包,需要能够有效地验证其内容是否遭到攻击、是否具有可信性。
本章从视频流的安全认证角度出发,分析视频流在互联网中传输时内容的完整性,其优点在于接收端在恢复视频帧序列之前,就能对接收到的视频内容完整性进行判断。本章提出的视频流认证方法能够用于具有实时传输要求的视频服务,如常见的H.264/AVC、H.264/SVC服务。
在图2-4中,网络数据包中的 H 表示添加在视频流中的哈希值,而P sig 为发送端添加的签名数据包。通常在视频流认证中,若接收端要实现对一连串视频流的安全认证,则需要一个认证起点,即签名数据包。该签名数据包中包含后续视频逻辑单元的哈希值,而后续视频逻辑单元的内容中又包含其后续视频逻辑单元的哈希值,依此类推,即可实现对整个视频流的认证。
本章将对H.264/SVC可伸缩视频流进行认证。此处研究的视频流认证对应本书提出的可信内容标引,主要围绕其底层语义信息的可信开展,高层语义信息的可信则可由发送端在签名数据包中指定。底层语义信息认证时的鲁棒性体现在从认证后的视频流中提取的任何子流仍然具有可认证性,此时提取不同码率的子流通常是为了适应不同带宽的子信道,选取不同时空域或质量域层数的数据单元构成视频流。