• 欢迎访问中国光电光电子行业网! 主办单位:中国光学光电子行业协会
移动多媒体广播业务中的解密算法的研究
发布时间:2008-02-29    来源:原创   阅读次数:1094 分享到:

移动多媒体广播业务中的解密算法的研究

高益,黄俊伟

(重庆邮电大学,移动通信信息产业部重点实验室,重庆400065)

【摘 要】MBMS移动多媒体广播/组播业务,基于广播业务的一对多的特性,为了保证数据传输过程的保密性,流媒体传输过程的安全问题已受到普遍关注。一个具有安全保护功能的RTP协议即SRTP协议系统的实现不仅有利于对抗网络安全攻击,而且能够为用户提供隐私、加密和认证保护。因此,MBMS中如何采用什么样的流媒体数据加密方法就决定了传输是否具有安全保障,而相应的针对该加密数据的解密算法研究就显得非常重要。

【关键词】MBMS业务;RTP协议;SRTP协议;解密;AES;算法

【中图分类号】TN918.7+4【文献标识码】A

Decryption Of Algorithm In MBMS

GaoYi, HuangJunWei

(Department of Communication, Chongqing University Of Posts and Telecommunications, Chongqing, 40065, China)

【Abstract】 MBMS, dure to its one-to-many characteristic, for the purpose of secure transport, the protect in transport is generally attentioned. The RTP possess of protection function is secure real-time transport protocol(SRTP), it is not only in favor of confront the network attack, but also can provide the protect of user’s privacy, encrypt and authentication. So, which encrypt method of media data can be used in the MBMS, that determine whether the transfers have the security ensure, then correspondingly in allusion to that encrypt datas, the research to decrption of algorithm is looking very importance.

【Key words】MBMS; RTP protocol; SRTP protocol; decryption; AES; algorithm

1引言

媒体播放数据实时传输服务采用端到端实时传输协议RTP,机密性是RTP数据流传输所需要的最为关键的安全保障之一,用于确保只有指定的接收端才能够正确解码RTP数据分组,RTP数据分组内容的机密性保护可能通过基于IP网络层数据加密,以及应用层上对整个RTP数据分组或有效载荷部分数据加密处理来实现。本文研究在应用层上实现对整个RTP的加密处理,该处理优势在于其允许RTP头部数据的压缩处理,RTP允许只对有效载荷部分数据加密。因此AES算法作为一种更可靠有效的加密算法被SRTP协议采纳,并用于RTP安全保护策略中。SRTP协议为RTP流提供了加密和认证保护,SRTP协议定义了一系列默认的加密变换算法,并允许在其协议中采用其它新的加密算法。SRTP协议通过对RTP数据分组中的有效载荷部分进行加密,从而实现RTP数据分组的机密保护。SRTP并不对RTP头部或其它任何扩展头部提供加密保护。然而,如果RTP数据分组中使用的有效载荷格式在有效载荷数据内部采用载荷头部,那么载荷头部将会和其后有效载荷数据一起被加密。SRTP数据分组中可选的主密钥标志符用于加密环境中的主密钥识别和密钥更新,并由密钥管理协议进行管理和控制。

2 解密SRTP算法

2.1解密SRTP过程

解密传输定义在SRTP映射到RTP包索引和密钥到一个伪随机密钥流段。每个密钥流段解密一个SRTP包。解密包的过程包含产生相应的包的密钥流段,然后用该密钥流段和SRTP包的有效载荷异或得到RTP包的解密部分。如果有效载荷的大小不是bit尺码大小密码块的整数倍,那么多出的bit尺码的密钥流段就被丢掉。Keystream与SRTP密文异或得到RTP明文,如下图所示,

      图2.1 SRTP解密过程图(KG表示密钥流产生)

初始的每个密钥流段的八位位组可以被保留来用在消息鉴定码上,如果密钥流是用来解密紧接着在最后保留的八位位组的开始。初始的保留八位字节 “Keystream Prefix”被称作“密钥流前缀”,然后剩下的八位位组 “Keystream Suffix ”被称作“密钥流后缀”。密钥流前缀不被用来解密。

密钥流前缀的八位位组的数目用SRTP_PREFIX_LENGTH表示,密钥流前缀用一个正的非零值SRTP_PREFIX_LENGTH指出。这意味着,即使有效载荷不被提供,密钥流产生的输出任可以用来计算包鉴定,因为在这种情况下默认的密钥流产生将被用到。

默认的密钥流产生用到的解密算法是Advanced Encryption Standard (AES) ,目前有两种AES运行模式,一个是段整数计数模式即AES-CM,一个是AES f8-mode。

在MBMS中所采用的密钥段生成模式是AES-CM。

AES-CM模式由解密连续的整数组成。实际的定义是比较复杂的,每个数据分组都是由唯一的密钥流片进行解密。目的是完全打乱整数开始的顺序。每个信息包解密一个截然不同的密钥流段,计算如下:

一个密钥流片应该是128-bit的AES解密输出块串联,用密钥k=k_e, 该块索引是按顺序递增。每个密钥流片如下所示:

E(k, IV) || E(k, IV + 1 mod 2^128) || E(k, IV + 2 mod 2^128) ...

128-bit 整数值IV应该在SSRC中定义,SRTP 包索引i 和SRTP session salting 密钥k_s,如下所示:

IV = (k_s * 2^16) XOR (SSRC * 2^64) XOR (i * 2^16)

上面的3个进行异或操作的值,每个都需要用多余的0填补使操作被很好的定义,构成128-bit值。其中会话流的同步源SSRC允许在相同的SRTP会话中用相同的密钥来保护截然不同的RTP密钥流。在SRTCP中,SSRC的第一个头混合i被用到,i 应该是31-bit SRTCP索引和k_e, k_s应该被SRTCP解密会话密钥和salt替代。

注意初始值,IV是被每个包固定的,并且在最后重要的比特位预留16个0 目的是为了计数。密钥流片产生任意固定的IV的大小为不能超出2^16以避免密钥流的重用。AES块大小为128 bits,所以2^16 输出块是足够来产生解密最大可能的SRTP包的2^23 bits的密钥流。这个在被解密包中的最大bit-size限制用来控制可能的攻击来确保解密的安全。

3 AES算法

3.1 AES算法思想

Advanced Encryption Standard AES 是一个新的可以用于保护电子数据的加密算法。明确地说,AES是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations)和替换(substitutions)输入数据。AES算法输入128位数据,密钥长度也是128位。用Nr表示对一个数据分组加密的轮数。每一轮都需要一个与输入分组具有相同长度的扩展密钥Expandedkey(i)的参与。由于外部输入的加密密钥K长度有限,所以在算法中要用一个密钥扩展程序把外部密钥K扩展成更长的比特串,以生成各轮的加密密钥。

AES每一个圈变换由以下三个层组成:

非线性层——进行Subbyte变换;

线行混合层——进行ShiftRow和MixColumn运算;

密钥加层——进行AddRoundKey运算。

密钥扩展, AES算法利用外部输入密钥K(密钥串的字数为Nk),通过密钥的扩展程序得到共计4(Nr+1)字的扩展密钥。它涉及如下三个模块:

①     位置变换(rotword)——把一个4字节的序列[A,B,C,D]变化成[B,C,D,A];

②     S盒变换(subword)——对一个4字节进行S盒代替;

③     变换Rcon[i]——Rcon[i]表示32位比特字[xi-1,00,00,00]。这里的x是(02);

④     扩展密钥的生成:扩展密钥的前Nk个字就是外部密钥K;以后的字W[[i]]等于它前一个字W[[i-1]]与前第Nk个字W[[i-Nk]]的“异或”,W[[i]]=W[[i-1]],W[[i- Nk]]。但是若i为Nk的倍数,则W[i]=W[i-Nk]?Subword(Rotword(W[[i-1]]))?Rcon[i/Nk]

4 密钥产生

4.1 密钥产生算法

不考虑加密或者消息鉴定传输被使用,能共同操作的SRTP执行必须用SRTP密钥引用来生成会话密钥。一旦 key derivation rate 在会话的开始被指定,就没有必要进行额外的SRTP密钥引用交互。


图4.1  SRTP Key Derivation

至少有一个初始的密钥引出应该是由SRTP产生,例如:第一个密钥引用是需要的。密钥引用的进一步的应用可能,通过密文中的"key_derivation_rate"值被执行。密钥引用函数被调用在第一个包之前,当r>0时一个密钥引用产生时索引模r 等于0。这可以被认为是更新会话密钥。在主密钥生存期间"key_derivation_rate"的值必须被固定保持。

能共同操作的SRTP执行可能也源自会话salting密钥加密传输,就跟在预定义传输一样。让m和n 为正整数,一个伪随机函数家族是一套加密函数{PRF_n(k,x)}其中随机密钥k,由m比特的x产生,PRF_n(k,x)是一个n 比特的串,计算不能区别的随机n比特串。为了SRTP中的密钥引用,一个安全的PRF中m=128必须被用到。

"a DIV t"表示整数a除以t ,并且规定"a DIV 0 = 0"无论a 是多少。同时也规定"a DIV t"结果为一个和a相同长度的比特串,并且这个 "a DIV 0 "通常将为0。

密钥引用将被根据 <label>定义,一个8 比特常数,master_salt 和key_derivation_rate在密文中指定,而索引,包索引(如SRTP的48-bit ROC||SEQ)如下所示:

r = index DIV key_derivation_rate (DIV 已经在上面定义)

key_id = <label> || r

x = key_id XOR master_salt,这个key_id and master_salt

<label>对每种引用的密钥类型必须是唯一的,定义<label>从0x00到0x05,以后的扩展可能指定新的值在0x06到0xff范围内用于其它用途。这个包的的n-bit SRTP密钥将从master key引用, k_master 定义如下:

      PRF_n(k_master, x)

会话密钥和salt应该起源于:

   - k_e (SRTP 加密):<label> = 0x00, n = n_e

   - k_a (SRTP 消息鉴权): <label> = 0x01, n = n_a

   - k_s (SRTP salting key):<label> = 0x02, n = n_s

   其中n_e、 n_s和 n_a 是来自密文

这个master key和master salt必须是随机的,但是master salt是公用的。注意一个key_derivation_rate 为 0,在密钥引用的应用只应该发生一次。

上面 DIV 的定义只是为了符号方便,在一套可用的key derivation rates 中t是非零的,"a DIV t" 会被作为基于2的对数的t 次方右移被执行。如果rates是从256的幂选出的那么引用操作将会更加便利,但是间隔尺寸太粗糙而不能满足这个规格的需要。

结束语

本文主要介绍了RTP协议的扩展协议SRTP,以及SRTP协议中采用的AES-CM解密模式进行了深入研究,分析,并结合解密模式提出了针对MBMS业务中流媒体数据实时安全传输的解密算法。MBMS技术能极大的提高网络资源利用率,尤其是宝贵的空中接口资源,是非常有前途的增长运营收益,它可以提供非常高的频谱利用率,为3G发展提供更好的业务前景,是 3G网络中最吸引人们目光的业务之一。

参考文献

1.  Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. Norrman, "The Secure Real Time Transport Protocol", RFC 3711, March 2004.

2.  Dworkin, M., NIST Special Publication 800-38A, "Recommendation for Block Cipher ModesofOperation:MethodsandTechniques",2001.ttp://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf.

3.  Schulzrinne, H. and S. Casner, "RTP Profile for Audio and Video Conferences with Minimal Control", RFC 3551, July 2003.

4.  NIST.advanced encryption standard(AES)[S].Federal information Processing Standard, FIPS-197,2001.

5.  Arrko, J., et al., "Key Management Extensions for Session Description Protocol (SDP) and Real Time Streaming Protocol (RTSP)",

 Work in Progress.Dworkin, M., NIST Special Publication 800-38A, "Recommendation for Block Cipher Modes of Operation: Methods and Techniques",2001.

基金项目:国家“863”课题资助项目“TD-SCDMA手机关键技术的研究与应用”(2004AA001390),国家“火炬计划”项目(1409)

作者简介:高益(1983-),硕士研究生,研究方向:第三代移动通信;黄俊伟(1969-),副教授,研究生导师,研究方向为通信与信息系统。

免责声明:来源标记为网络的文章其原创性及文中陈述文字和内容未经协会证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺请读者仅作参考并请自行核实相关内容。

非线性光学材料简介

非线性光学性质也被称为强光作用下的光学性质,主要因为这些性质....

01-21

大口径光学反射镜的制造过程

如果把光学望远镜比作人类的“千里眼”,那么光学望远镜中的主反....

07-30
行业分析
光电新闻
中国光学光电子行业协会版权所有@2025
010-84321456/1457
coema@coema.org.cn
北京市朝阳区酒仙桥路四号中国电科十一所园区