流媒体传输加密技术研究
2017-01-17黄沓锋
黄沓锋
摘 要:本文主要研究的方向是流媒体网络传输过程中数据的加密保护的算法。在AES加密算法(高级加密标准Advanced Encryption Standard)的基础上针对变换方法进行优化,从而开发出新的算法逻辑。该算法逻辑利用高复杂读的算法实现了高可靠性的数据传输。并且能够通过算法逻辑解决加密过程中由于转发解扰字导致的数据泄露问题。同时一定程度上对算法逻辑的执行效率进行优化,实现与数据下载同步的实时解密,并保证在连续性数据传播的过程中可以不间断的完成加解密任务。最终根据加密算法的特点对执行效率和适用范围进行初步分析。
关键词:流媒体;加密技术;变换方法
中图分类号: TP309.7 文献标识码: A 文章编号: 1673-1069(2016)36-189-2
0 引言
流媒体是网络中传输的可以实时获取实时解析的一种媒体格式。这种类型的媒体文件可以实现上传、下载与播放的同步。目前传统有线电视的直播功能就是应用的这种媒体格式实现的。随着网络功能不断进步,网络资源与有线资源的竞争不断恶化,近年内已经发生多起数据盗窃转发案件。为了保证数据安全,维护网络秩序,优秀的数据加密技术成为其中的关键因素。
1 加密与破解
目前我国在密码加密技术的应用研究方面与国外还有一定的差距,实际应用方面与国外的差距较大,还没有自己的算法、标准和体系[1]。国际最通用的加密技术是AES加密技术。AES加密技术是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一[2]。目前主要有2种加密体系:对称密钥加密和非对称密钥加密[3]。AES属于对称加密技术,这种加密技术不仅可以保证数据的安全,还可以通过硬件实现快速的数据加解密。
将网络传输中的流式媒体信息进行加密的目的是使非授权阅读人员无法读取该信息,并为该信息在网络上的实时传输提供高度的机密性、完整性、非否定性和真实性。即使攻击者中途截获,也不能攻击和破译[4]。但是人们往往能从一项技术中找出漏洞。
由于加密技术的运算方法是固定的。转发解扰字的方法就可以在已知加密方法的情况下破解绝大多数的加密方式。无论采用的加密算法多么复杂,一但方法被知道,解扰字被知道,就很难对数据再进行保护。而要实现数据的安全,唯有算法本身的运算方式也在不断变换,而且这种变化是没有规律的才能高强度的保护数据。
流媒体的数据长度可以是无限的。在加密时不可能将一个文件整个都加密完成再进行传输。加密通常都是针对一小段等长数据的,每段数据称为一组。在一个分组内,总的变换结果是有限的。假设分组长度为Nk,即分组数有2进制Nk位。如果把每一个数的位置关系计算在内,那么变换的最终结果有Nk!×2Nk种。AES的位置变换关系是固定的,因此AES相当于只是取了其中的2Nk种变换。如果能将Nk!×2Nk种变换无规律的替换,数据保护强度将会进一步增加。
2 变换方式参考量
分组变换方式有Nk!×2Nk种,那么表示一个分组长度变换的2进制位数为log2Nk!×2Nk。假设Nk=128,那么表示分组变换种类的2进制位数为845位。把这个数据作为变换方式参考量。这是一个相当大的数。为了使得这845位2进制数能清晰的表示每一种变换。可以将数据分为128位和717位两个部分。128位表示参数本身是否发生变化,717位表示参数移动的位置。根据移动位置的特性,一个数占据了这个位置则另一个数不能与之占用同一个位置则有:
3 参考量的同步
授权用户解密时变换方式参考量必须与加密时所用的一致。而这个同步可以分两次进行。第一次同步在用户授权的同时,服务器与客户端完成参数移动的位置部分的同步。第二次同步在加密数据发送的同时,服务器与客户端完成数据变换参数部分的同步。这样数据变换参数部分可以在短期内变换多次。同时数据变换参数可以使用如下传送方式保证解密的连续性。
在密文R1传递的前半段,可以收到S0、S1两个解密参数。S0用于上一密文文件解密S1用于当前文件解密,当密文传输过半时S0被S2替换准备下一段密文S2的解密进入到R2接收阶段后S1并不消失而是等到R2过半时换成S3准备R3密文的解密。这样的传输方式可以保证在解密前已经有解密参数传递到客户端,并完成解密的准备工作。
如此交替变换的方式可以保证正在解密的参数在异或参数变换时不受影响,同时可以保证客户端提前预知下各时刻的参数,保证解密的连续性,同时还可以保证授权用户在任意时刻开始接收都能获取到正确的明文数据。
4 加解密时的逆变换方法
已知变换方式参考量之后,加密变换时明文分组数据与变换参数进行异或运算。运算完毕的数据依照位移参数依次进行按位移动,即可形成密文数据。但是位移运算的方式并不是依照正序变换最为快捷。位移变换如果从末尾开始排列则计算机会节省更多寻址时间。即将末尾数据先填入密文空间,再根据倒数第二个参数Cx的大小决定倒数第二个数据的位置,之后的数据依次往后移动一个数据位。
密文数据进行逆变换时则需根据位移参数将原始数据位移回原来的位置。则密文数据需要按位移参数的运算值Cx依次计算出原始数据移动到的位置再还原出原始数据。由于没办法知道最后一个数据所在位置,所以只能依次运算还原。
由于变换算法逻辑复杂,在变换算法的一个周期内,系统并不直接存贮变换参数或者变换的运算值Cx,而是直接将变换的位图保存起来。当需要加解密变换时直接根据位图重新调整参数的位置从而实现高效的加解密流程。
同时由于在变换过程中只更改变换参数,位置参数短期内并不会改变。未授权用户无法通过变换参数来还原明文文件,使得该算法在非高安硬件上也具备相当高的可靠性。
5 算法初步测评
这种变换算法解决了目前加密方法解扰字容易被转发导致数据泄露的问题。但是这种数据非对称性算法,同时加解密位移方式较为复杂,不像AES能够用单纯的更改线序的方式来完成,很难用硬件实现。但是对于保密等级比较高,不要求加解密速度的文件,可以采用以上方式来进行加解密。这种加解密方式也可以用在其他数据的传输保护当中。但是对于没有用户授权机制的数据保护并不能起到由于AES等加密方式的保护作用,并且还会延缓加解密效率,在此时不建议使用。
参 考 文 献
[1] 登国国内外信息安全研究现状及发展趋势[J].世界科技研究与发展,2000,22(2):2-8.
[2] http://baike.baidu.com/link?url=3rVA7mGbxfOcJP6CQnb6Q2_i0EqIAdjKO2uF-P775ygAmLo7vwEYm8O7QXiCl51aFedQN8MPJ5dMWNCDj-ujpK.
[3] Bruce Schneier.应用密码学[M].吴世忠,祝世雄,张文政,等译.北京:机械工业出版社,2000.
[4] 毕厚杰.多媒体信息的传输与处理[M].北京:人民邮电出版社,1999.