采用安全实时协议的加密信息的有效传输的制作方法

文档序号:7946932阅读:114来源:国知局
专利名称:采用安全实时协议的加密信息的有效传输的制作方法
技术领域
本公开文件一般涉及数据处理系统的安全性,特别地,涉及采用安全实时协议的加密信息的有效传输。
背景技术
实时协议(RTPReal Time Protocol)是一种用于多媒体数据实时传输的因特网协议标准。目前,RTP支持大量的多媒体应用,包括,例如,组播和单播网络服务。组播网络服务通常涉及从内容提供商向任意数量的分散用户的多媒体传输。单播网络服务通常涉及从内容提供商向单个用户的多媒体传输。在每种情况下,用户都可以实时观看多媒体数据,或者下载数据以后再看。
随着对多媒体应用的需求的继续增加,对多媒体内容安全传输的需求也变得更为明显。最近,在电信行业中出现了一种称为安全实时协议(SRTPSecure Real Time Protocol)的新标准,以满足这种需求。SRTP可以为RTP业务提供机密性、信息认证和数据完整性。SRTP也可以防御主动式攻击,例如,重放攻击等。
在SRPT中,业务是以包的形式传输的。也就是说,将要传输的数据划分成多个包。每个包包括报头和有效载荷。使用同一会话密钥,有效载荷在发射端被加密并在接收端被解密。会话密钥是周期性变化的短期密钥,典型地,其在单个多媒体广播期间多次变化。主密钥用于以加密的安全方式导出会话密钥。更具体地,将由发射端产生并发送到接收端的短期随机数(SK RAND)应用到发射端和接收端处的、使用主密钥的密钥导出功能块,以产生会话密钥。主密钥通常是长期密钥,其在多媒体用户的预定时期内保持有效。
SRTP也包括叫作主密钥标识符(MKIMaster Key Identifier)的可选字段。这个字段可包含于SRPT报头中。MKI可用于识别导出会话密钥所基于的主密钥,并且可用于其它密钥的管理。在组播网络服务中,例如在广播系统中,MKI承载着SK RAND和其它信息。
但是,SRTP要求随着每一个包都发送MKI信息,或者不随着任何一个包发送MKI信息,从而浪费了有用带宽。因此,需要一种更有效率的和/或更有效的方法以在SRTP中发送MKI。

发明内容
公开了一种利用安全实时协议发射主密钥标识符(MKIMasterKey Identifier)信息的方法。该方法包括将MKI信息划分成多个部分,将MKI信息的一部分附加到数据包,以及发射具有MKI信息的所述附加部分的数据包。
公开了一种利用安全实时协议接收驻密钥标识符(MKI)信息的方法。该方法包括接收多个数据包,每个数据包附加有MKI信息的不同部分,以及基于MKI信息的接收到的多个部分恢复MKI信息。
公开了一种具有安全实时协议功能的设备。该设备包括用于将MKI信息划分成多个部分的装置、用于将MKI信息的一部分附加到数据包的装置以及用于发射具有MKI信息的附加部分的数据包的装置。
公开了另一种具有安全实时协议功能的设备。该设备包括用于接收多个数据包的装置,其中每个数据包附加有MKI信息的不同部分,以及用于基于MKI信息的接收到的多个部分恢复MKI信息的装置。
应当理解,通过以下详细描述,本领域技术人员将会清楚本发明的其它实施例,其中通过实例来示出和描述本发明的各种实施例。可以实现的是,本发明能适用于其它不同的实施例,并且在不脱离本发明的精神和范围的情况下,可对本发明的若干细节进行各种方面的修改。因此,附图和详细描述可从实质上被视作是说明性的,而非限制性的。


图1是示出通信系统中的发射和接收终端的实例的功能框图;图2是示出通信系统中的发射和接收终端的实例的更详细功能框图;图3是示出加密模块的操作的流程图;图4是示出解密模块的操作的流程图;图5是示出利用安全实时协议发射MKI信息的方法的流程图;以及图6是示出利用安全实时协议接收MKI信息的方法的流程图。
具体实施例方式
以下结合附图提供的详细描述旨在说明本发明的各种实施例,并非代表可实现本发明的唯一实施例。详细描述包括用于提供对本发明的全面理解的具体细节。但是,本领域技术人员应当清楚,本发明可在不具备这些具体细节的情况下实现。在一些例子中,为避免难以理解本发明的概念,以框图形式示出了已知的结构和组件。
图1是示出通信系统中发射和接收终端的实例的功能框图。发射和接收终端102、104可以是能够支持SRTP多媒体应用的任何合适的设备,包括有线和无线电话、计算机、笔记本电脑、个人数字助理(PDAPersonal Digital Assistants)、广播设备、视频会议设备等。例如,发射终端102是多媒体内容提供商,接收终端104是多媒体服务用户,该用户享有从发射终端102接收多媒体内容的权利。
如图所示,发射终端102具有加密模块106,接收终端104具有解密模块108。加密模块106可用于生成SRTP包。SRTP包包括加密的载荷。SRTP报头可附加到SRTP包。SRTP报头包括例如载荷类型、序列号、时间戳等信息。加密功能块110可用于利用会话密钥对载荷进行加密。载荷包含有将要提供给接收终端108的数据,例如,多媒体内容。可选的带密钥的(keyed)hash(散列)功能块113可应用于SRTP包和SRTP报头。通过hash功能块113产生可被附加在包的尾部的消息认证码(MACMessage Authentication Code)。然后,使用适当的发射机115,通过通信链路114,将该包与SRTP报头和MAC一起发射到接收终端104。
通信链路114可以是任何适当的有线或无线链路,或者二者的结合。例如,终端102和104中的一个或两个可以利用码分多址(CDMACode Division Multiple Access)技术与网络接入点进行无线通信。CDMA是基于扩频通信的调制和多址方案,其在本领域内是公知的。网络接入点可以是基站收发机,其服务于特定地理区域,并能通过网关提供对有线网络(例如,因特网)的接入。
SRTP包与SRTP报头和MAC一起通过通信链路114发向接收终端104中的接收机117。接收终端104可以用MAC来校验SRTP包的可靠性和完整性。该操作可通过将SRTP报头和加密载荷应用到在发射终端102中使用的相同带密钥的hash功能块116来实现。然后,经由比较器118,将由带密钥的hash功能块116产生的MAC与所发射的MAC进行比较。如果由带密钥的hash功能块116产生的MAC与所发射的MAC相一致,则可将解密功能块120用于恢复载荷。
加密和解密模块106、108可以是实现为独立组件,或者分布在其各自终端内的一个或多个组件上。加密和解密模块106、108可以实现为硬件、固件、软件或者其任意组合。为了解释方便,将会从功能性方面来描述加密和解密模块106、108。这两个模块的实现方式取决于具体应用和施加于整个系统的设计要求。本领域技术人员将认识到在这些情况下的硬件、固件和软件配置的互换性,以及怎样针对每个具体应用最好地实现所述功能。
在双向的组播通信中,例如在视频会议、电话会议等中,每一方既进行发射也进行接收。因此,在这些应用中,每个终端都需要加密和解密模块。在这些应用中,加密和解密模块可以是分立组件、集成为单一组件或者分布在其各自终端内的多个组件上。在以下详细描述中,将描述发射和接收终端102、104,以及通信链路114一端的加密模块106和另一端的解密模块108。本领域技术人员将认识到如何将本公开文件中的概念延伸至双向通信。
图2是示出通信系统中发射和接收终端的实例的更详细功能框图。进行安全的多媒体通信的能力取决于加密和解密模块106、108都获知的共享根密钥。最初,根密钥是以配置功能块的形式建立的。也就是,配置管理器或网络管理器负责分发将被装载到各个发射和接收终端102、104的存储器中的根密钥。该操作可以手工进行,或者通过某些形式的安全密钥分发方案来进行。
发射终端102可利用根密钥将加密的主密钥分发给各个接收终端。例如,作为多媒体内容提供商的发射终端可以将加密的主密钥分发给其服务的用户。主密钥可以通过在发射终端102中利用随机数生成器202来生成。在通过通信链路114将主密钥发送到接收终端104之前,可对主密钥应用根密钥加密功能块204。接收终端104能够通过解密功能块206而使用其根密钥恢复主密钥。
为了实现安全的加密通信,发射和接收终端102、104都会使用主密钥来导出会话密钥。发射终端中的比特流生成器208可用于生成比特流,例如,在本领域通常被称为SK RAND的随机数。密钥导出功能块210使用比特流和主密钥作为输入,以生成会话密钥。密钥导出功能块210为单向加密,例如hash功能块等。然后,可以按照以上详细描述的方式,将由密钥导出功能块210生成的会话密钥用于对载荷进行加密。
比特流也可被提供给用于生成报头的处理单元211。例如,处理单元211可用于生成将插入到SRTP报头的MKI字段的信息。该信息中所包含的就是比特流。如以上详细描述的,SRTP报头与MAC一起附加到SRTP包,并通过通信链路114发送。在接收端,比特流可以从SRTP报头的MKI字段中恢复,并和主密钥一起输入到密钥导出功能块214。密钥导出功能块214执行与发射终端102相同的加密功能。通过密钥导出功能块214产生会话密钥,会话密钥可被解密功能块120用于恢复载荷。
通过在多个包中发送MKI字段的信息,处理单元211可减少与SRTP报头相关的开销。例如,处理单元211可用于通过将需要发送的信息的总比特长度(Li)除以协议所允许的MKI字段的最小比特长度(Lmki),确定发送信息所需要的包的数量(N)。如果在MKI字段中需要发送到接收终端104的信息长度是24比特,即Li=24,并且MKI字段的最小比特长度是8比特,即Lmki=8(如在SRTP中的情况),则可用利三个包将该信息发送到接收终端104。如果信息长度是20比特,即Li=20,则仍可使用三个包,但是在将信息划分成三个包之前,需要向该信息中填充4个比特。可选地,可以首先在三(3)个包之间划分信息,然后可以填充一个或更多SRTP报头中的MKI字段。在任何一种情况中,信息可被分成为N个信息部分,其中,N等于Li除以Lmki后上舍入的最接近整数。每个信息部分被插入到一个包的SRTP报头的MKI字段中,并通过通信链路114与加密的载荷和MAC一起发射到接收终端104。
在接收终端104处,组合器(assembler)215可基于N个连续包的MKI字段恢复上述信息。若其中一个包的MKI字段中的信息是被填充的,则该填充区段不会被组合器215用于从N个包的MKI字段中恢复该信息。可选地,如果所恢复的信息是填充的,则组合器215会丢弃该填充区段的信息。在任何情况下,一旦恢复了信息,就将比特流提供给密钥导出功能块214,以生成用于对载荷进行解密的会话密钥。
图3是示出加密模块的操作的流程图。在步骤302中,加密模块可生成比特流。在步骤304中,比特流可用于导出会话密钥,在步骤306中,会话密钥可用于对数据进行加密。在步骤308中,比特流可被包括作为在SRTP报头的MKI字段中发射的信息的一部分。可选地,比特流可被包括作为在SRTP报头中发射的任意信息的一部分。在以下情况中,如果MKI信息的长度不能被协议允许的MKI字段的最小长度整除,则在步骤308中向MKI字段添加填充位。在任何情况下,在步骤310中,可将一部分信息附加到具有加密数据的数据包。如果MKI信息部分的长度小于协议允许的MKI字段的最小长度,则在步骤310中添加填充位。在步骤312中,发射具有附加信息部分的数据包。回到步骤310,一旦该部分信息附加到数据包,则在步骤306中对增加的数据进行加密以便为下一数据包传输作准备。在一些应用中,比特流可以是在多个数据包上被划分并发射的、SRTP包头中的唯一信息。
图4是示出解密模块的操作的流程图。在步骤402中,接收多个数据包。将一部分信息附加到每个数据包。如上所述,该信息可来自SRTP报头的MKI字段,或者SRTP报头的任何其它部分。可选地,该信息可能仅由该比特流构成。在任何情况下,在步骤404中,可以通过组合附加到数据包的信息部分而恢复比特流。如果附加到一个数据包的信息部分是被填充的,则在恢复信息时不使用该填充区段。当恢复信息后,如果该信息是被填充的,则可丢弃该填充区段的信息。在步骤406中,比特流可用于导出会话密钥,在步骤408中,会话密钥可用于对数据包中的数据进行解密。
图5是示出利用安全实时协议发射MKI信息的方法的流程图。在步骤502中,将MKI信息划分成多个部分。在步骤504中,将一部分MKI信息附加到数据包,在步骤506中,发射具有MKI信息的附加部分的数据包。
图6是示出利用安全实时协议接收MKI信息的方法的流程图。在步骤602中,接收多个数据包,每个数据包附加有MKI信息的不同部分。在步骤604中,基于MKI信息的多个接收的部分来恢复MKI信息。
例如,假设MKI信息被划分为较小的部分或块,并在N个包中发射。通过汇集N个连续的MKI包并将其重新组合成信息来恢复MKI信息。因此,如果利用各个第N个包发射MKI信息,则可用相同的方式将MKI信息处理成其本来的形式。还需要说明的是,信息会随着时间而改变,但是对一行中的多个数据包而言信息会保持不变。
实际上,通过将开销中待发送的信息划分成多个部分并对其进行发射,开销是在各个第N个包上发送的,而非在每个包上发送。由此,显著减少了发送MKI的开销。
尽管流程图将加密和解密模块的操作描述成连续过程,一些操作也可以平行或同时执行。此外,操作的顺序也可以调整。在一些实施例中,根据具体应用和总体设计要求,可以省略某些步骤或者增加额外的步骤。
可以利用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件或者设计用于执行本文所述功能的任意组合,实现或执行结合本文所公开的实施例描述的各种说明性逻辑块、模块、电路、单元和/或与组件。通用处理器可以是微处理器,但是可选地,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以通过计算组件的组合来实现,例如,DSP和微处理器的组合、多个微处理器的组合、一个或多个微处理器与DSP内核的组合或者任何其它这样的配置。
结合本文所公开实施例描述的方法和算法可以直接实现于硬件、由处理器执行的软件模块或者两者的结合中。软件模块可存储在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域内公知的其它存储介质形式。可以将存储介质连接到处理器,以便处理器可以从存储介质中读取信息,并向存储介质写入信息。可选地,存储介质可以集成到处理器上。
提供对所公开实施例的以上描述,以便使本领域技术人员能够实现或利用本发明。这些实施例的各种修改对本领域技术人员来讲是显而易见的,在不脱离本发明的精神和范围的情况下,可将本文定义的一般原理运用到其它实施例上。因此,本发明并非仅限于在此列举的实施例,而应给与和权利要求一致的全部范围,其中,除非特别声明,对单个单元的引用并非意味着“一个或只有一个”,而应是“一个或多个”。本公开文件描述的各种实施例的单元的、本领域技术人员已经公知或即将公知的全部结构和功能等效物都通过参考而在本文中援引,并包含在权利要求中。此外,在不考虑本文所公开的内容是否明确地在权利要求中阐述的情况下,不能将公开内容应用于公众。没有任何权项受到35 U.S.C.§112,第六段的限制,除非该项以语句“用于...的方法”来表述,或者在方法权利要求中,该项以“用于...的步骤”来表述。
权利要求
1.一种利用安全实时协议发射主密钥标识符(MKI)信息的方法,包括将MKI信息划分成多个部分;将所述MKI信息的一部分附加到数据包;以及发射具有所述MKI信息的所述附加部分的所述数据包。
2.根据权利要求1所述的方法,还包括对附加到所述数据包的所述MKI信息的所述部分进行填充。
3.根据权利要求1所述的方法,还包括填充所述MKI信息。
4.根据权利要求1所述的方法,其中,所述MKI信息包括用于导出会话密钥的比特流。
5.根据权利要求4所述的方法,其中,所述比特流包括短期随机数。
6.一种利用安全实时协议的通信方法,包括基于比特流导出会话密钥;利用所述会话密钥对数据进行加密;将信息划分成多个部分;以及发射附加到数据包的所述信息的一部分,所述数据包具有所述加密的数据,所述信息包括所述比特流。
7.一种利用安全实时协议接收主密钥标识符(MKI)信息的方法,包括接收多个数据包,每个数据包附加有MKI信息的一部分;以及基于所述MKI信息的接收到的多个部分恢复所述MKI信息。
8.根据权利要求7所述的方法,其中当恢复所述MKI信息时,不使用所述MKI信息的所述多个部分之一的一个区段。
9.根据权利要求8所述的方法,还包括丢弃所述恢复的MKI信息的一个区段。
10.根据权利要求7所述的方法,其中所述恢复的MKI信息包括用于导出会话密钥的比特流。
11.根据权利要求10所述的方法,其中所述比特流包括短期随机数。
12.一种利用安全实时协议的通信方法,包括,接收多个数据包,每个数据包附加有一部分信息,该信息包括比特流;基于所述信息的接收到的多个部分恢复所述比特流;以及利用基于所述比特流导出的会话密钥对来自所述数据包的数据进行解密。
13.具有安全实时协议功能的设备,包括加密模块,配置为将MKI信息划分成多个部分,并将所述MKI信息的一部分附加到数据包;以及发射机,配置为发射具有所述MKI信息的所述附加部分的所述数据包。
14.一种具有安全实时协议功能的设备,包括加密模块,具有密钥导出功能块和加密功能块,所述密钥导出功能块配置为基于比特流导出会话密钥,所述加密功能块配置为利用所述会话密钥对数据进行加密,所述加密模块还配置为将信息划分成多个部分;以及发射机,配置为发射附加到数据包的所述信息的一部分,所述数据包具有所述加密的数据,所述信息包括所述比特流。
15.一种具有安全实时协议功能的设备,包括接收机,配置为接收多个数据包,每个数据包附加有MKI信息的一部分;以及解密模块,配置为基于所述MKI信息的接收到的多个部分恢复所述MKI信息。
16.一种具有安全实时协议功能的设备,包括接收机,配置为接收多个数据包,每个数据包附加有一部分信息,该信息包括比特流;以及解密模块,配置为基于所述信息的接收到的多个部分恢复所述比特流,所述解密模块包括密钥导出功能块和解密功能块,所述密钥导出功能块配置为基于所述比特流导出会话密钥,所述解密功能块配置为利用所述会话密钥对来自所述数据包的数据进行解密。
17.一种具有安全实时协议的设备,包括用于将MKI信息划分成多个部分的装置;用于将所述MKI信息的一部分附加到数据包的装置;以及用于发射具有所述MKI信息的所述附加部分的所述数据包的装置。
18.根据权利要求17所述的设备,还包括用于对所述MKI信息中附加到所述数据包的部分进行填充的装置。
19.根据权利要求17所述的设备,还包括用于填充所述MKI信息的装置。
20.一种具有安全实时协议功能的设备,包括用于接收多个数据包的装置,每个数据包附加有所述MKI信息的一部分;以及用于基于所述MKI信息的接收到的多个部分恢复所述MKI信息的装置。
21.根据权利要求20所述的设备,其中,当恢复所述MKI信息时,不使用所述MKI信息的所述多个部分之一的一个区段。
22.根据权利要求20所述的设备,还包括用于丢弃所述恢复的MKI信息的一个区段的装置。
23.包含可由处理器执行的指令的程序的计算机可读介质,处理器通过执行该程序而实现一种利用安全实时协议发射主密钥标识符(MKI)的方法,该方法包括将MKI信息划分成多个部分;将所述MKI信息的一部分附加到数据包;以及发射具有所述MKI信息的所述附加部分的所述数据包。
24.根据权利要求23所述的计算机可读介质,其中,所述方法还包括对所述MKI信息中附加到所述数据包的所述部分进行填充。
25.根据权利要求23所述的计算机可读介质,其中,所述方法还包括填充所述MKI信息。
26.包含可由处理器执行的指令的程序的计算机可读介质,处理器通过执行该程序而实现一种通信方法,该方法包括基于比特流导出会话密钥;利用所述会话密钥对数据进行加密;将信息划分成多个部分;以及发射附加到数据包的所述信息的一部分,所述数据包具有所述加密的数据,所述信息包括所述比特流。
27.根据权利要求26所述的计算机可读介质,其中,所述数据包包括具有所述信息的所述部分的未加密的报头。
28.根据权利要求27所述的计算机可读介质,其中,未加密的报头包括具有所述信息的所述部分的主密钥标识符(MKI)字段。
29.包含可由处理器执行的指令的程序的计算机可读介质,处理器通过执行该程序而实现一种利用安全实时协议接收主密钥标识符(MKI)信息的方法,该方法包括接收多个数据包,每个数据包附加有所述MKI信息的一部分;以及基于所述MKI信息的接收到的多个部分恢复所述MKI信息。
30.根据权利要求29所述的计算机可读介质,其中,当恢复所述MKI信息时,不使用所述多个MKI信息部分之一的一个区段。
31.根据权利要求29所述的计算机可读介质,还包括丢弃所述恢复的MKI信息的一个区段。
32.包含可由处理器执行的指令的程序的计算机可读介质,处理器通过执行该程序而实现一种利用安全实时协议进行通信的方法,该方法包括接收多个数据包,每个数据包附加有一部分信息,该信息包括比特流;基于所述信息的接收到的多个部分恢复所述比特流;利用基于所述比特流导出的会话密钥对来自所述数据包的数据进行解密。
33.根据权利要求32所述的计算机可读介质,其中,所述多个数据包中的每一个都包括未加密的报头,该报头具有所述信息的所述接收到的多个部分中的一个部分。
34.根据权利要求33所述的计算机可读介质,其中,所述多个报头中的每一个都包括主密钥标识符(MKI)字段,该主密钥标识符字段具有所述信息的所述接收到的多个部分中的一个部分。
全文摘要
采用安全实时协议的加密信息的高效传输。发射终端可利用基于比特流导出的会话密钥对数据进行加密。上述比特流可与报头信息一起发送到接收终端。为了节省带宽,将信息划分成多个部分,将每个部分与加密的数据包一起进行发射。接收终端可用于基于包报头中的信息部分恢复比特流,并利用该比特流导出会话密钥。会话密钥可用于对数据进行加密。
文档编号H04L29/06GK1973479SQ200580015695
公开日2007年5月30日 申请日期2005年3月17日 优先权日2004年3月18日
发明者格雷戈里·戈登·罗斯, 徐大生 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1