数字版权保护中视频加解密算法的优化设计*
2020-12-23赵云辉
赵云辉
(北京江南天安科技有限公司,北京 100088)
0 引言
随着广电行业信息化和网络化的发展,过去的盘带拍摄、制作以及播出已全面数字化,同时4K高清逐渐成为主流。伴随着融合媒体和云计算的出现,广电行业全面进入了数字时代,并由此对数字内容的保护需求日益强烈。
移动互联网技术的迅猛发展,带动了智能终端设备快速更替,其中以终端设备为最大受众群体的视频产业得到了巨大发展。互联网视频、OTT 以及IPTV 等各类视频推广渠道在获得大量流量进入的同时,也迎来了残酷的竞争,促使视频内容成为获取关注的唯一焦点。因此,针对视频内容的保护已迫在眉睫。
在国内,2019 年影视作品盗版监测显示侵权率100%。据统计,2018 年网络视频盗版侵权带来的会员费及收视费用的损失约300 亿元。盗版对正版的品牌价值、广告投入、版权付费以及带宽消耗4个方面造成了直接损害,严重影响视频产业的健康发展。
版权保护是基于密码技术为视频内容提供安全保障,保障传播信息来源的真实性、内容的完整性以及内容传播通道的安全,同时实现数字版权内容在流通过程中的权益转移。
1 DRM 简介
数字版权管理(Digital Rights Management,DRM)是数字内容生产方用来控制数字内容使用权的保护技术。数字化内容包括但不限于书籍、软件、音乐以及影视剧等。保护技术包括但不限于使用专用硬件、密码技术以及授权技术等。版权保护就是通过保护技术进行控制和限制数字化媒体内容在电子设备上的使用权,目的是保护数字媒体的版权,从技术上防止数字媒体的非法复制,或者在一定程度上增加复制的困难,使用户必须得到授权才能使用数字媒体。
2018 年10 月,国家广播电视总局颁布了中国的数字版权技术规范《视音频内容分发数字版权管理技术规范》。在这部标准中,基于数字内容生产和运营过程,将版权保护分成3 个部分,即密钥管理与内容加密、密钥分发和认证授权以及视频解密及播放,明确了采用SM2 算法、SM3 算法、SM4 算法并基于许可证机制进行版权保护的模式。
这部标准中最大的亮点是将密钥分发环节分为密钥交换和内容授权许可证两部分来实现,最大限度保护了数字内容生产方的权益,同时极大地方便了运营方与众多内容生产商之间的业务对接。
2 DRM 视频加解密算法简介
视频文件为适应不同的传输方式产生了多种协议格式,因此DRM 体系中对视频数据加密的方式也有多种,较多采用的是CENC 方式。通用加密格式CENC 是基于ISO/IEC 14496-12 的一种加密格式,在模式中定义了使用AES 算法进行加密计算。实际应用中,基于HTTP 协议的动态自适应流媒体DASH 和Apple 公司推出的动态码率自适应技术HLS 都使用了AES 加密算法。目前,国际上比较流行的版权管理系统有widewine 和fairplay。在这些体系中,一般使用AES 算法进行视频加解密[1]。
《视音频内容分发数字版权管理技术规范》标准中规定了视频数据加解密使用的算法是我国自主研发的对称密码算法SM4。
SM4 算法是国家密码管理局于2012 年3 月21日发布的对称密码算法,算法公开,分组长度与密钥长度均为128 bit。加密算法与密钥扩展算法都采用32 轮非线性迭代结构,S 盒为固定的8 bit 输入和8 bit 输出[2]。SM4 算法主要用于数据加解密应用。SM4 算法的安全性很好,能够抵抗针对分组密码算法的各种攻击方法,包括穷举搜索攻击、差分攻击以及线性攻击等。
3 加解密模式介绍
对称密码算法因其便利性和高效性,广泛应用于数据加解密和身份认证等领域。根据不同的特性分组密码的工作模式,它可以分为加密模式、认证模式和认证加密模式等。对称加密算法能够提供的加密模式有ECB、CBC、OFB、CFB、CTR 和XTS 等,认证模式有HMAC、CMAC 和GMAC 等。基于分组密码加密和认证特性,将其组合起来形成加密认证模式,主要有CCM、GCM、CWC、EAX、IAPM 和OCB 等。这些算法模式有各自适应的应用领域,如ECB 模式强调加密性能快,CMAC 强调数据完整性等[3]。
在版权保护领域主要应用了加密特性,因此国际版权保护体系常用AES-CBC 模式和AES-CTR 模式。
《视音频内容分发数字版权管理技术规范》标准中规定了视频内容加密使用SM4-CBC 模式,支持全部加密和样本加密(10%加密)两种形式。
CBC 模式的全称是Cipher Block Chaining 模式(密文分组链接模式),因为密文分组像链条一样相互连接在一起。
在CBC 模式中,先使用初始化向量与明文分组进行异或运算,然后使用128 bit 的密钥对其进行加密运算得到第一个密文分组,再将此密文分与第二个明文分组进行异或运算,使用128 bit 的密钥对其进行加密运算得到第二个密文分组,并重复上述操作直到所有的明文分组完成运算[4]。
CBC 模式加解密过程如图1 所示。
图1 CBC 模式运算过程
CBC模式是最常用的加密运算模式,安全性好,明文的排列情况不会反映在密文中。但是,CBC 模式也存在只能链式进行而不能并行计算、有误差传导等缺点。
4 加解密性能对比及分析
在进行CBC 模式性能分析前介绍加密模式OFB。
OFB 模式的全称是Output-Feedback 模式(输出反馈模式)。在OFB 模式中,密码算法的输出会反馈到密码算法的输入中[5]。
OFB 模式不是通过密码算法对明文直接加密,而是通过将明文分组和密码算法的输出进行XOR来产生密文分组。OFB 运算流程如图2 所示。
图2 OFB 模式运算流程
不难看出,OFB 模式更接近流密码运算模式。流密码(Stream Cipher)也称为序列密码,是对称密码算法的一种。流密码具有实现简单、便于硬件实施、加解密处理速度快以及没有或只有有限的误差传播等特点,广泛应用于通信行业以及需要对连续数据加密的情形下。流密码算法主要是RC4 和A5/1,国内常用的是ZUC。流密码算法使用前需要进行调度过程。基于对算法的通用性及使用的便利性考虑,版权保护领域没有采用流密码算法。
在网络上传输的视频内容根据不同的视频传输协议,会以流(流也是以块的形式传输)或小块文件的方式传输。因此,这种连续传输模式也很适合采用CTR/OFB 加密模式。CTR 模式相对于OFB 具有更好的随机性和安全性,但运算模式复杂,而OFB 模式更易于实现。下面采用同一硬件平台、同一算法对CBC 和OFB 模式的加密性能进行对比。
系统配置如下:CPU为intel(R) Core(TM) i5-8265U 1.6 GHz;内存16 GB;硬盘为512 GB PLEXTOR PX-512M9PeGN。
分别对100 MB 长度的数据进行多次加密测试(此模式下加解密性能相同,本次测试性能仅代表所使用的软算法在本机平台的性能),将测得的两种模式的计算耗时数据进行比较,如图3 所示。
图3 OFB 与CBC 性能比较
通过图3 可以明显看出,OFB 模式性能全面优于CBC 模式,在处理100 MB 的数据时,OFB 模式平均耗时较CBC 模式少68.6 ms。
5 加解密算法应用模式的优化设计
同一算法下OFB 模式的运算性能更高,原因是OFB 的流式处理效率明显高于CBC 模下的链式处理。OFB 模式可以预先生成密钥流,对于流式数据可以采用并发形式同时生成密钥流和对数据的加解密计算;而CBC 模式因加密过程使用的密钥与前一段加密输出结果相关,所以无法形成并发处理,只能链式连续操作。因此,对同一段数据加密OFB模式的速度更快。
对于数字版权应用中,视频加解密算法通过使用SM4-OFB 模式可以明显提升性能。基于OFB 模式的设计思想,还可以对CBC 模式进行优化设计。
根据所使用的传输协议不同,视频数据在网络中的传输可以以流式和分块文件方式传输。例如:点播场景常用的HLS 协议就是将视频文件分为5~10 s 一个文件,接收端最先获取的是视频的m3u8 文件,播放器根据m3u8 文件内容及用户的拖拉动作,选择指定时间点的视频文件进行拉取;直播场景常用的DASH 协议通过对视频流切片生成MPD 文件和视频流文件(.m4s 或.mp4),是以流的方式进行传输;客户端加载视频时,按照当前的网速和支持的编码,加载相应的视频片段进行播放[6]。因此,在视频数据的加密处理上,基于视频切片(或称分块)的大小采用降低链式处理频度,增加并发处理从而提升CBC 模式加密性能,是一个比较易于实现的方式。
视频数据本身是按数据帧格式组织的。4K 高清视频码率一般大于30 Mb/s,每帧(以25 帧标准计算)的数据量约为1.2 Mb,也就是说每帧数据要在40 ms 以内完成解密、解码才能保证视频流畅的播出。HLS 方式传输时一般是10 s 为一个文件,即一个视频切片文件是300 Mb(37.5 MB)。按DRM标准中全部加密方式改进CBC 加密模式,按1 Mb(128 kB)进行分块,将10 s 的视频文件分为300段,每段采用相同的计算参数进行加密运算,并将计算结果拼接在一起形成完整视频,以并发的形式进行加解密,可以同时处理1 s 或几秒的视频数据,以降低视频延迟。
由图4 可以看出,对1 Mb 数据的加密运算,OFB 的耗时小于CBC 模式。数据分块越小,OFB与CBC 的处理速度越接近。
图4 帧加密耗时情况
此视频不做分段,以一个整体进行CBC 模式计算,并与OFB 和CBC 分块并发模式进行对比,结果如图5 所示。
图5 10 s 视频加解密耗时情况
由图5 可以看出,CBC(并发)较CBC(整段)可节省时间,虽然性能仍弱于OFB 模式,但已有了一定的改善。
由于目前视频终端一般为嵌入式系统,如果采用专用的密码算法芯片(一般具备每秒SM4 吞吐量>80 Mb/s),那么事实上无论采用哪种算法模式都可满足视频解密流畅播放的需求。硬件上没有集成专用算法芯片,只能使用软算法的终端设备(目前市场上有数以亿计的此类设备),采用CBC 分段加密,有效提高视频播出的流畅性。
出于视频播放中有时移的要求,每次移动到一个新的时间点,如果采用整段(10 s)CBC 处理,那么理想情况下需要增加有0.2 s 左右的延时(网络下载及延迟不计),而采用CBC(并发)方式,那么延时仅为解密一个分段的时间,按帧分段计算,时间不超过0.002 s 延时。
6 结语
广播电视一直以来都是人们获取新闻资讯和进行生活娱乐的重要途径。随着网络技术的发展,互联网视频产业获得了极大发展,尤其是短视频产业,随之而来的盗版侵权问题越来越严重。基于密码技术的数字版权保护无疑是最安全的保护方式,同时能保护内容生产商的利益,也能保证使用者的权益。版权保护的核心技术是对视频数据的加密和对解密密钥的安全分发。优化的加解密技术能够降低版权保护给视频播放带来的影响,提升用户的观看体验,直到解密耗时对用户无感,这将是数字版权保护最理想的发展目标。