用于数据处理系统内安全性的方法和装置的制作方法

文档序号:7750167阅读:306来源:国知局
专利名称:用于数据处理系统内安全性的方法和装置的制作方法
背景领域本发明一般涉及数据处理系统,尤其涉及用于数据处理系统安全性的方法和装置。
背景数据处理和信息系统(包括通信系统)内的安全性有益于责任性、公平性、准确性、保密性、可操作性以及多种其它期望的标准。加密或密码学一般领域在电子商务、无线通信、广播内都有使用,且其应用范围不受限。在电子商务中,加密被用于防止诈骗行为,以确认参与者的身份。加密以及各种其它安全性措施还被用于防黑客,保护Web网页并防止访问机密文档。
使用密码的系统,通常被称为密码系统,可以被分为对称密码系统和非对称密码系统。对称密码系统使用相同的密钥(即安全性密钥)以对消息加密和解密。而非对称加密系统使用第一密钥(即公共密钥)对消息加密,使用第二不同的密钥(即私钥)对其进行解码。非对称密码系统还被称为公共密钥密码系统。在对称密码系统内存在一个问题,即将密钥从发送者安全地提供给接收者。另外,还存在一个问题即当密钥或其它加密机制频繁经更新时。在数据处理系统内,安全地更新密钥的方法需要附加的处理时间、内存存储以及其它的处理开销。在无线通信系统内,更新密钥使用否则可用于传输的宝贵带宽。
现有技术不提供对大量移动站组更新密钥的方法,以使其能接入加密的广播。因此需要一种在数据处理系统内安全且有效地更新密钥的方法。另外,需要在无线通信系统内安全并有效地更新密钥的方法。
概述在此揭示的实施例通过提供一种用于数据处理系统内的安全性的方法而满足了上述需要。在一方面,用于安全传输的方法包括为要传输的消息确定短期密钥,其中短期密钥有一短期密钥标识符,确定消息的接入密钥,其中接入密钥有接入密钥标识符,用接入密钥对消息进行加密,形成包括短期密钥标识符的因特网协议头部,并发送带有因特网协议头部的加密消息。
在另一方面,在支持广播服务选项的无线通信系统内,基础设施元件包括接收电路、用户标识单元,用于恢复用于对广播消息解密的短期密钥,以及移动设备单元,用于应用短期密钥以对广播消息解密。用户标识单元包括处理单元,用于对密钥信息解密。移动设备单元包括内存存储单元,用于存储多个短期密钥和短期密钥标识符。
在另一方面,数字信号存储设备包括第一指令集合,用于接收传输特定的短期密钥标识符,短期密钥标识符对应短期密钥,第二指令集合用于根据短期密钥标识符确定接入密钥,第三指令集合用于用接入密钥加密短期密钥标识符以恢复短期密钥,以及第四指令集合用于使用短期密钥对传输进行解密。
附图的简要描述

图1A是加密系统图。
图1B是对称加密系统图。
图1C是非对称加密系统图。
图1D是PGP加密系统图。
图1E是PGP解密系统图。
图2是支持多个用户的扩频通信系统图。
图3是支持广播传输的通信系统框图。
图4是无线通信系统内的移动站框图。
图5A和5B说明在移动站内描述控制广播接入的密钥更新的模型。
图6是描述UIM内密码操作的模型。
图7A-7D说明在支持广播传输的无线通信系统内实现安全加密的方法。
图7E是支持广播传输的无线通信系统内安全性选项的密钥更新时段的时序图。
图8A-8D说明在支持广播传输的无线通信系统内安全性加密方法的应用。
图9A说明用于因特网协议传输的IPSec分组的格式。
图9B说明应用于IPSec分组的安全性关联标识符或SPI。
图9C说明用于在移动站内存储SPI信息的内存存储设备。
图9D说明用于在移动站内存储广播接入密钥(BAK)的内存存储设备。
图10和11说明在无线通信系统内提供广播消息的安全性的方法。
图12A说明应用于IPSec分组的安全性关联标识符或SPI。
图12B说明用于在移动站内存储SPI信息的内存存储设备。
图13和14说明在无线通信系统内提供广播消息的安全性的方法。
详细描述“示例”一词在此仅用于指“用作示例、实例或说明”。任何在此作为“示例”描述的实施例不一定被认为是最优或优于其它实施例的。
无线通信系统广泛用于提供多种诸如语音、数据等类型的通信。这些系统可能基于码分多址(CDMA)、时分多址(TDMA)或一些其它的调制技术。CDMA系统提供一些优于其它类型系统的优势,包括增加的系统容量。
CDMA系统可能设计成支持一个或多个CDMA标准,诸如(1)“TIA/EIA-95-BMobile Station-Base Station Compatibility Standard for Dual-ModeWideband Spread Spectrum Cellular System”(IS-95标准),由“3rdGenerationPartnership Project”(3GPP)提供的标准,体现在一组文档内包括Nos.3G TS25.211、3G TS 25.211、3G TS 25.212、3G TS 25.213以及3G TS 25.214(W-CDMA标准),由“3rdGeneration Partnership Project 2”(3GPP2)提供的标准,在此被称为cdma2000标准的TR-45.5,先前被称为IS-2000MC。这些所述标准在此引入作为参考。
每个标准特别定义了从基站到移动的要传输的数据的处理,反之依然。作为示例实施例,以下的讨论考虑符合cdma2000的扩频通信系统。另外的实施例可能包括其它标准/系统。另外的实施例可能对任何类型的使用密码系统的数据处理系统应用在此揭示的安全性方法。
密码系统是一种伪装消息的方法,它使得特定的用户组能获取消息。图1A说明了基本的密码系统10。密码学是建立和使用密码系统的技术。密码分析是破解密码系统的技术,即当你不在允许访问消息的特定用户组内时接收并理解消息。原消息被称为明文消息或明文。加密消息被称为密文,其中加密包括任何将明文转化为密文的方法。解密包括任何将密文转换为明文的方法,即恢复原消息。如图1A所说明的,明文消息经加密以形成密文。密文然后经接收并解密以恢复明文。密文然后经接收和解密以恢复明文。虽然术语明文和密文一般指数据,但加密的概念可以应用到任何数字信息,包括数字形式的音频和视频数据。虽然在此提供的本发明的描述使用与密码学一致的明文和密文术语,但这些术语不排除数字通信的其它形式。
密码系统基于机密。如果在组外的实体不能在没有大量资源情况下获取机密,则称一组实体共享一个机密。
密码系统可能是算法的集合,其中每个算法经标记且这些标记被称为密钥。对称加密系统,经常被称为密码系统,使用相同密钥(即机密密钥)以对消息进行加密和解密。对称加密系统20在图1B内说明,其中加密和解密使用相同的私钥。
相比之下,对称加密系统使用第一密钥(即公共密钥)以对消息进行加密,并使用不同的密钥(例如私钥)对其进行解密。图1C说明非对称加密系统30,其中为加密提供一个密钥,为解密提供第二密钥。非对称密码系统还被称为公共密钥密码系统。公共密钥经公布,且可用于对任何消息加密,然而,只有私钥可以用来对用公共密加密的消息进行解密。
在对称密码系统内存在将机密密钥安全地从发送者提供给接收者的问题。一个解决方案是可能使用信使以提供信息,或更有效并可靠的方法可能是使用公共密钥密码系统,诸如Rivest、Shamir和Adleman(RSA)定义的公共密钥密码系统,以下将描述。RSA系统在被称为相当好私密性(PGP)的流行安全性工具内被使用,这在以下将讨论。例如,原录制密码系统通过将每个字母在字母集内平移n个而改变明文内的字母,其中n是预定的常整数值。在该方案中,“A”用“D”来替换等,其中给定的加密方案可能包括几个不同的n的值。在该加密方案中“n”是密钥。预定的接收者在接收密文前被提供了加密方案。这样,只有知道密钥的任能对密文进行解密以恢复明文。然而,通过已知的加密知识来计算密钥,非意向的接收者可能能截获并对密文进行解密,从而导致了安全性的问题。
更复杂和成熟的密码系统使用策略密钥,它阻止了来自非意向方的截获和解密。经典的密码系统使用加密函数E和解密函数D,诸如D_K(E_K(P))=P,for any plaintext P(1)在公共密码系统内,E_K可以很简单地从已知的“公共密钥”Y中计算得到,该Y依次是从K计算而得得。公共密钥是公开的,故任何人都可加密消息。解密函数D_K从公共密钥Y计算而得,但只是在知道私钥K的情况下。在不知道私钥K的情况下,非意向的接收者可能不能对如此生成的密文解密。这样,只有生成K的接收者能对消息解密。
RSA是Rivest、Shamir和Adleman定义的公共密钥密码系统,其中例如,明文考虑多达2512的正整数。密钥是四元组(p,q,e,d),其中p作为256为质数给出,q作为258位的质数给出,d和e是(de-1)可被(p-1)(q-1)整除的大数。。另外,定义加密函数为E_K(P)=Pemod pq,D_K(C)=Cdmod pq (2)然而,E_K很简单地能从对(pq,e)计算得到,没有已知的简单的方法可以从对(pq,e)计算D_K。因此,生成K的接收者能公布(pq,e)。可能发送机密消息到接收者,因为他是能读消息的人。
PGP组合了对称和非对称加密的特点。图1D和1E说明PGP系统50,其中明文消息经加密并经恢复。在图1D内,明文消息经压缩以节省调制器传输时间和磁盘空间。压缩增强了加密安全性,因为这在加密和解密过程上加入了另一层转换。大多数密码分析技术使用在明文内发现的模式而破解密码。压缩减少了明文内的模式,从而增强了抗密码分析性。值得注意的是一个实施例不压缩明文或其它太短而不能压缩的消息或是压缩不好的消息。
PGP然后建立对话密钥,它是一次有效的机密密钥。该密钥是可能从任何随机事件生成的随机数,诸如在打字时计算机鼠标和键盘的随机移动。对话密钥与安全加密算法一起作用对明文进行加密,产生密文。一旦数据经加密,对话密钥然后被加密为接收者的公共密钥。公共密钥加密对话密钥连同密文一起发送给接收者。
为了解密,如图1E说明的,PGP的接收者拷贝使用私钥恢复临时的对话密钥,PGP然后使用该密钥对常规加密的密文进行解密。加密方法的组合利用了公共密钥加密的方便性和对称加密的速度。对称加密一般要比公共密钥加密快很多。公共密钥加密反过来提供了密钥发布和数据传输问题的解。组合起来,性能和密钥发布经改善而不牺牲安全性。
密钥是与密码算法一起使用的值以生成特定密文。密钥一般是很大的数字。密钥大小使用比特衡量的。在公共密钥加密内,安全性随着密钥大小增加而增加,然而,公共密钥大小和对称加密私钥大小一般不相关。虽然公共和私有密钥在数学上相关,在只有公共密钥的情况下,会有导出私钥的困难。在给出足够的时间和计算能力的情况下可能导出私钥,这使得密钥大小的选择是很重要的安全性问题。最优目标是为了最大化密钥的大小,考虑到安全性的考虑,而同时最小化密钥大小以方便快速处理。较大的密钥在较长时间上是密码安全的。附加的考虑是可能的截获者,特别是1)对于第三方而言,什么是消息的重要性;以及2)第三方有多少资源用以对消息进行解密。
值得注意的是密钥以加密形式被存储。PGP尤其将密钥存储在两个文件内一个用于公共密钥,一个用于私钥。这些文件被称为密钥环。在应用中,PGP加密系统将目标接收者的公共密钥加入到发送者的公共密钥环上。发送者的私钥被存储在发送者的私有密钥环上。
如在上述给出的示例中讨论的,发布用于加密和解密的密钥的方法可以很复杂。“密钥交换问题”涉及到首先保证密钥被交换,使得发送者和接收者可以实现相应的加密和解密,且对于双向通信而言,使得发送者和接收者可以同时对消息进行加密和解密。另外,希望密钥交换的实现使得能排除第三方和非意向方的截获。
最后,附加的考虑是验证,提供给接收机以保证,即消息是由预定发送方加密而不是第三方加密的。在私钥交换系统中,密钥经秘密交换,成功地密钥交换以及合法验证之后提供了改善的安全性。值得注意的是私钥加密方案隐式提供了验证。私钥密码系统内所基于的假设是只有预定的发送方有能对发送到预定接收方消息进行加密的密钥。而公共密钥加密方法解决了“密钥交换问题”很关键的一方面,尤其是在密钥交换时有被动偷听的抗分析性,然而,它们还是没有解决与密钥交换相关的所有问题。特别是,由于密钥被认为是“公共信息”(特别是RSA情况中),需要一些其它的机制提供验证。验证指示需要作为单独拥有密钥,而足以对消息加密,验证不是发送者的特定唯一身份,也不是自己拥有对应的解密密钥足以建立接收者的身份。
一个解决方案就是研发一种密钥发布机制,它保证了列出的密钥实际上是给定的实体的密钥,有时被称为可信任实体、证书实体或第三方签约代理。授权方一般实际上不生成密钥,但保证为发送方和接收方保存并用作参考的密钥列表与相关的身份标识是正确且未被受损害。另一方法依靠用户发布,且相互跟踪对方的密钥,是一种不正式、分发式的信托。在RSA中,如果用户希望除加密消息外还发送其身份信息,则用密钥对签名加密。接收者可以使用RSA算法反过来确定信息解密,使得只有发送方可以通过使用秘密密钥而对明文加密。一般加密的“签名”是“消息摘要”,它包括机密消息的唯一数学“概述”(如果签名在多个消息上是固定的,则一旦被知道则先前的接收者会非法地使用它)。这样,理论上,只有消息的发送方会生成为该消息的合法签名,从而为接收者验证它。
消息摘要常使用加密哈希函数而被计算。加密哈希函数从任何输入计算一值(带有固定的比特数),而不管输入的长度。加密哈希函数的一个特性如下给定输出值,计算上非常难确定导致该输出的输入。加密哈希函数的一个示例是在“Secure Hash Standard”内描述的SHA-1,FIPS PUB 180-1,由联邦信息处理标准公布颁布(FIP PUBS)并由国家标准和技术局发布。
图2作为支持多个用户并能实现至少本发明一些方面和实施例的通信系统100的示例。任何一种算法和方法可以被用于在系统100内进行调度安排。系统100提供多个小区102A到102G的通信,每个都由对应的基站104A和104G相应地提供服务。在示例实施例中,一些基站104有多个接收天线,其它只有一个接收天线。类似地,一些基站104有多个发射天线,而其它只有单个发射天线。在发射天线和接收天线的组合上没有任何限制。因此,对于基站而言,可能有多个发射天线,一个接收天线,或有多个接收天线和一个发射天线,或都只有单个或同时有多个发射和接收天线。
覆盖区域内的终端106可能是固定(即静止的)或移动的。如图2所示,个终端106散布在系统内。每个终端106与至少一个且可能多个基站104在下行链路和上行链路在任何给定时刻通信,这取决于是否使用软切换,或终端是否被设计成并被用于(进发地或顺序地)接收来自多个基站的多个传输。CDMA内的软切换在领域内是众知的,在美国专利号5101501内有详细描述,题为“Method and systemfor providing a Soft Handoff in a CDMA Cellular Telephone System”,它被转让给本发明的受让人。
下行链路是指从基站到终端的传输,上行链路是指从终端到基站的传输。在示例实施例中,一些终端106有多个接收天线,其它只有一个接收天线。在图2内,基站104A在下行链路上将数据发送到终端106A和106J,基站104B将数据发送到终端106B和106J,基站104C将数据发送到终端106C等。
对于无线数据传输增长的需要和通过无线通信技术可用的服务的扩展导致了特定数据服务的发展。一种该项服务被称为高数据率(HDR)。示例HDR服务在“EIA/TIA-IS856 cdma2000 High Rate Packet Data Air Interface Specification”内被提出,称为“HDR规范”。HDR服务一般覆盖预定通信系统,它提供了在无线通信系统内有效地发送数据分组的方法。由于发送的数据量增加,而且传输数目增加,可用于无线电传输的有限带宽成为关键资源。因此需要一种在通信系统内有效并公平地调度传输的方法,它能最优化可用带宽的使用。在示例实施例中,图2内说明的系统100符合带有HDR服务的CDMA类型系统。
根据一实施例,系统100支持高速多媒体广播服务,被称为高速广播服务(HSBS)。HSBS的一示例应用是电影、体育事件的视频流等。HSBS服务是根据因特网协议(IP)的分组数据服务。根据示例实施例,服务提供商指明该种高速广播服务对用户的可用性。需要HSBS服务的用户预订接收服务并可能通过广告、短管理系统(SMS),无线应用协议(WAP)等发现广播服务安排。移动用户被称为移动站(MS)。基站(BS)在附加开销内发送HSBS相关的参数。当MS需要接收广播对话时,MS读取附加开销并获悉合适的配置。MS然后调谐到包含HSBS信道的频率,并接收广播服务的内容。
考虑的服务是高速多媒体广播服务。该服务在本文档内被称为高速广播服务(HSBS)。一种该示例是电影、体育事件等的视频流。该服务可能是基于因特网协议(IP)的分组数据服务。
服务提供商指明该种高速广播服务对用户的可用性。需要该项服务的移动站用户预订接收服务并可能通过广告、SMS,WAP等发现广播服务安排。基站在附加开销内发送广播服务相关的参数。需要收听广播对话的移动会读取这些消息并确定合适的配置,调谐到包含高速广播信道的频率,并开始接收广播服务的内容。
有几种可能的HSBS服务的订户/收入模型,包括免费接入、控制接入和部分控制接入。对于免费接入,不需要预订以接收服务。BS广播未经加密的内容,感兴趣的移动可以接收该内容。服务提供商的收入可以通过在广播信道上发送的广告获得。例如,到来的电影片段可以为付钱给服务提供商的电影摄制棚而发送。
对于控制的接入,MS用户预订服务,且支付对应的费用以接收广播服务。未经预订的用户不能接收HSBS服务。控制的接入可以通过对HSBS传输/内容加密而实现,使得只有预订的用户能对内容解密。这可以使用空中密钥交换过程。该方案提供了很强的安全性并防止服务被偷窃。
混合接入方案,又被称为部分控制的接入,提供了作为加密的基于预订的HSBS服务,它断断续续地有不加密的广告传输。这些广告可能用于增加对加密HSBS服务的预订。这些未经加密的分段的调度可以通过外部装置为MS所知。
无线通信系统200在图3内被说明,其中视频和音频信息由内容服务器(CS)201提供给分组化数据服务网络(PDSN)202。视频和音频信息可能来自电视节目或无线电传输。信息被提供为分组化数据,诸如在IP分组内。PDSN 202处理IP分组用于在接入网络(AN)内发布。如说明的,AN被定义为包括与多个MS 206通信的BS 204的系统部分。PDSN 202耦合到BS 204。对于HSBS服务,BS 204接收来自PDSN 202的信息流,并在指定信道上将信息提供给系统200内的订户。为了控制接入,内容由CS 201在提供给PDSN 202前经加密。订户用户被提供了解密密钥,使得能对IP分组进行解密。
图4详细说明了MS 300,类似于图3的MS 206。MS 300有耦合到接收电路304的天线302。MS 300接收来自类似于图3的BS 204的BS(未示出)的传输。MS 300包括用户标识模块(UIM)308和移动设备(ME)306。接收电路耦合到UIM308和ME 306。UIM 308为HSBS传输的安全性提供确认过程,并提供各种密钥给ME 306。ME 306可能耦合到处理单元312。ME 306实现实质性的处理,包括但不限于HSBS内容流的解密。ME 306包括内存存储单元MEM 310。在示例实施例中,ME 306处理单元内的数据(未示出)以及ME内存存储单元内的数据,MEM 310可以简单地通过使用有限的资源由非订户访问,因此ME 306被称为是不安全的。任何传递到ME 306的信息或由ME 306处理的信息保持短时间的安全保密。因此需要经常改变与ME 306共享的任何机密信息,诸如密钥。
UIM 308是可信任的,它存储并处理机密信息(诸如加密密钥),它可以保持机密较长时间。由于UIM 308是一个安全单元,在此存储的机密不一定需要系统经常改变机密信息。UIM 308包括处理单元,被称为安全UIM处理单元(SUPU)316和内存存储单元,被称为安全UIM存储单元(SUMU)314,它被信任是安全的。在UIM 308内,SUMU 314存储机密信息的方式使得对信息未授权的访问很难实现。如果机密信息是从UIM 308被获得的,则访问会需要大量资源。而且在UIM 308内,SUPU 316实现可能对UIM 308是外部和/或对UIM 308是内部的值上的计算。计算的结果可能被存储在SUMU 314内或传递到ME 306。用SUPU 316实现的计算值可以从UIM 308由带有大量资源的实体获得。类似地,来自SUPU 316的输出被指定存储在SUMU 314内(但不输出到ME 306),这些输出的设计使得需要大量资源才能进行未授权的截获。在一实施例中,UIM 308是MS 300内的静止单元。值得注意的是除了UIM 308内的安全存储和处理外,UIM 308还可能包括非安全存储器和处理(未示出)用于存储包括电话号码、电子邮件地址信息、Web网页或URL地址信息和/或调度功能等的信息。
另外的实施例可能提供可移动和/或可重新编程UIM。在示例实施例中,SUPU316对于在安全性和密钥处理之上的功能没有很大的处理功能,其中安全性和密钥过程一般可能被用于能对HSBS的广播内容进行加密。其它的实施例可能实现带有更强处理功能的UIM。
UIM 308与特定的用户相关,并首先被用于确认MS 300享有用户的特权,诸如接入移动电话网络。因此,用户与UIM 308相关而不是MS 300。同一用户可能与多个UIM 308相关。
广播服务面临一个问题,即确定如何将密钥发布给订户。为了在特定时间对广播内容解密,ME必须知道当前的解密密钥。为了避免偷窃服务,解密密钥应经常被改变,例如,一个服务每分钟改变密钥。这些解密密钥被称为短期密钥(SK)。SK用于对广播内容在短时间内解密,所以SK被假设对于用户有一定量的固有费用值。例如,内在币值可能是注册费用的一部分。假设非订户从订户的内存存储单元MEM 310获得SK的费用超过SK的固有费用值。即非法获得SK的费用超过报酬,则导致没有净收益。结果是,减少了保护内存存储单元MEM 310内的SK的需要。然而,如果机密密钥的寿命长于SK的寿命,则非法获得该机密密钥的费用可能少于报酬。在该情况下,非法从内存存储单元MEM 310获得该密钥有净收益。因此,理想化情况下,内存存储单元MEM 310不会存储寿命长于SK的机密。
CS用于将SK发布到各个订户单元的信道被假设为不安全的。换而言之,最优设计会假设信号是不安全的,并相应地设计SK。因此,当发布给定的SK时,CS希望使用一种技术,不让非订户用户知道SK的值。另外,CS将SK发布到潜在的大量订户用于在相对较短的时间帧内在相应的ME内进行处理。密钥传输的已知安全方法一般较慢,且需要大量的密钥传输。密钥传输方法一般对于需要的安全性和有效性组合的准则不可行。示例实施例时可行的将解密密钥在短时间帧内发布到大订户集合的可行方法,使得非订户不能获得解密密钥。
示例实施例被描述为在因特网协议兼容的分组内发送信息,诸如以下描述的“IPSec”分组,因此,以下的描述提供了在与IPSec相关联的术语的简介。该术语在描述示例实施例时是有用的,但使用该术语不意味着将示例实施例限于使用IPSec的通信。
IPSec的建立在RFC 1825、RFC 1826和RFC 1827内有规定,分别题为“SecurityArchitecture for the Internet Protocol”,R.Atkinson,1995年8月;“IPAuthentication Header”,R.Atkinson,1995年8月以及“IP EncapsulatingSecurity Payload(ESP)”,R.Atkinson,1995年8月。验证头部是一种提供IP数据报完整性的机制,其中IP数据报一般是有用信息(被称为有效负荷)和网络控制信息和IP头部的组合。网络路由器使用IP头部以引导分组到合适的网络节点。在一些情况下,验证头部可能还提供对IP数据报的验证。ESP是用于提供IP数据报的机密性和完整性的机制,且可能与验证头部一起使用。IPSec使用“安全相关”以描述参数,诸如加密密钥和加密算法,用于对实体组间的通信进行加密和/或验证。值得注意的是安全相关的概念应用在不基于IPSec的密码系统上是也是合适的。
IPSec分组包括被称为安全参数索引(SPI)的32为参数,它与目的地地址一起用于标识用于对IP数据报内容加密和/或验证的安全相关联。实体可能在安全性关联数据库内存储安全性关联以及根据目的地地址和SPI对安全性关联进行索引。IPSec分组的加密内容被称为有效负荷。
在示例实施例中,MS 300支持无线通信系统内的HSBS。为了获得到HSBS的接入,用户必须注册,然后预订服务。一旦启用了注册,根据需要更新各个密钥。在注册过程中,CS和UIM 308协商安全性关联,并在注册密钥(RK)和其它为了用户和CS间的安全性关联需要的参数上取得一致。CS然后可能将进一步的用RK加密的机密信息发送到UIM 308。RK在UIM 308内被保持为机密,而其它参数可能保存在ME 306内。RK对于给定的UIM 308是唯一的,即每个用户被分配以不同的RK。单独的注册过程不给予用户到HSBS的接入。
如上所述,在注册后,用户预订服务。在预订过程中,CS将公共广播接入密钥(BAK)的值发送到UIM 308。值得注意的是RK是对于UIM 308特定的,BAK用于对到多个用户的广播消息加密。CS将使用对UIM 308唯一的RK加密的BAK值发送到MS 300,尤其是UIM 308。UIM 308能使用RK从加密的版本恢复原BAK的值。BAK以及其它参数,形成了CS和订户用户组间的安全性关联。BAK在UIM 308内被保留为机密,而其它的安全性关联参数可能被保留在ME 306内。CS然后广播被称为SK信息(SKI)的数据,该信息在UIM 308内与BAK组合以导出SK。UIM 308然后将SK传递到ME 306。这样,CS可以有效地将SK的新值发布到订户用户的ME。以下表示的是如果从SKI导出SK的示例,以及SKI采取的形式。注册和预订过程在描述SKI和SK之后详细讨论。
关于注册,当用户用给定的CS注册,UIM 308和CS(未示出)建立安全性关联。即UIM 308和CS在机密注册密钥RK上取得一致。RK对于每个UIM 308是唯一的,虽然如果用户有多个UIM,则这些UIM可能共享同一个取决于CS政策的RK。该注册可发生在当用户预订由CS提供的广播信道时或可能发生在预订前。单个CS可能提供多个广播信道。CS可能选择将用户与对所有信道相同的RAK相关联,或需要用户为每个信道注册,并将同一用户与不同信道上的不同RK相关联。多个CS可能选择使用相同的注册密钥或要求用户注册并为每个CS获得不同的RK。
三种为设立该安全性关联的情况包括1)用于3GPP系统的验证密钥协定(AKA)方法;2)用于在IPSec内的因特网密钥交换(IKE)方法;以及3)Over-The-Air-Service-Provisioning(OTASP)。在两种情况下,UIM存储单元SUMU 314包含在此被称为A密钥的机密密钥。例如,使用AKA方法,A密钥是只有UIM和被信任第三方(TTP)知道的机密,其中TTP可能包括多于一个实体。TTP一般是用户与其进行注册的移动服务提供商。CS和TTP间的所有通信是安全的,CS相信TTP不会帮助对未经授权的广播服务的访问。当用户注册时,CS通知TTP,用户希望注册服务,且提供用户请求的确认。TTP使用一个类似于加密哈希函数的函数以计算来自A密钥的RK,以及被称为注册密钥信息(RKI)的附加数据。TTP将RK和/或RKI在安全信道上与其它数据一起传递到CS。CS将RKI发送到MS 300。接收机电路304将RKI传递到UIM 308并将RKI传递到ME 306。UIM 308从RKI计算RK,以及存储在UIM内存单元SUMU 314内的A密钥。RK被存储在UIM内存单元SUMU 314内,且不直接被提供给ME 306。另外的实施例可能使用IKE情况,或一些其它的方法以建立RK。CS和UIM 308间的安全性关联的其它参数必须也经协商。RK被在UIM 308内保持为机密,而安全性关联的其它参数可能被保留在ME 306内。在示例实施例中,其中BAK被作为使用RK加密的IPSec分组发送回UIM 308,CS和MS 300协商用于对安全性关联进行索引的SPI值,且该SPI被标记为SPI_RK。
在AKA方法中,RK是在CS、UIM和TTP间共享的机密。因此,如在此使用的,AKA方法暗示CS和UIM间的任何安全性相关隐含包括TTP。在任何安全性相关内包括TTP不被认为违反安全性,因为CS相信TTP不会帮助对广播信道未经授权的访问。如上所述,如果与ME 306一起共享密钥,需要经常改变密钥。这是因为有非订户访问存储在内存存储单元MEM 310内的信息的风险,这样会导致访问控制或部分控制的服务。ME 306在内存存储单元MEM 310内存储SK即用于对广播内容解密的密钥信息。CS发送预订的用户的充分的信息以计算SK。如果预订的用户的ME 306可以从该信息计算SK,则计算SK需要的附加信息就不是机密了。在该情况下,假设非预订用户的ME 306还能从该信息计算SK。因此,该SK值必须在SUPU 316内使用CS和SUMU 314共享的机密密钥而经计算。CS和SUMU 314共享RK值,然而每个用户有唯一的RK值。对于CS而言,没有充分的时间用每个RK值对SK加密,并将这些加密的值发送到每个预订的用户。
关于预订,为了保证安全性信息SK的有效发布,CS周期性地将公共广播接入密钥(BAK)发送到每个订户UIM 308。对于每个订户,CS使用对应的RK对BAK加密以获得称为BAKI信息(BAKI)的值。CS将对应的BAKI发送到预订用户的MS 300。例如,BAK可能作为使用对应每个MS的RK加密的IP分组而经发送。在示例实施例中,BAKI是包含使用RK作为密钥而加密的BAK的IPSec分组。由于RK是每个用户的密钥,CS必须单独将BAK发送到每个订户;因此BAK不在广播信道上被发送。MS 300将BAKI传递到UIM 308。SUPU 316使用存储在SUMU 314内的RK值和BAKI值计算BAK。BAK值然后被存储在SUMU内。在示例实施例中,BAKI包含被标为SPI_SK的SPI值,它对应包含RK的安全性关联。当IPSec分组是根据该安全性关联而经加密的时候,MS 300知道UIM 308可以对有效负荷解密。结果是,当MS 300接收到根据该安全性关联加密的IPSec分组时,MS 300将BAKI传递到UIM 308,并指示UIM 308使用RAK以对有效负荷进行解密。
更新BAK的周期需要足够长,使得CS能单独地将BAK发送到每个订户而没有大量的附加开销。由于ME 306不被信任保持长时间的机密,UIM 308不向ME 306提供BAK。CS和订户组间的安全性关联的其它参数也必须经协商。在一实施例中,这些参数是固定的,而在另一实施例中,这些参数可能作为BAKI的一部分被发送到MS。在BAKI在ME 306内被保留机密的同时,安全性关联的其它参数也可能保留在ME 306内。在一实施例中,其中SK被作为使用BAK加密的IPSec分组被发送到MS 300,CS提供给订户用于对安全性关联建立索引的SPI,该SPI被标明为SPI_BAK。
以下讨论在成功预订过程后如何更新SK。在用于更新BAK的每个时段内,在SK在广播信道上被发布期间提供了短期间隔。CS使用加密函数以确定两个值SK和SKI(SK信息),使得SK可以从BAK和SKI而经确定。例如,SKI可能是将BAK作为密钥的SK的加密。在一示例实施例中,SKI是IPSec分组,其中有效负荷包含使用BAK作为密钥加密的SK值。或者,SK可能是对模块SKI和BAK的串接应用加密哈希函数的结果。CS理想地保证SK的值不会预先被预测。如果SK可以预先被预测,则攻击者即非法访问实体能向非预订用户发送预测的SK值。
作为一例,假设N个SK的值在24小时时段上被使用。如果SK被百分之百准确预测,则攻击者只需要要求UIM计算N个密钥。攻击者然后使得N个密钥对于非预订用户可用。非预订用户可以在每天开始时下载密钥,并不花钱且很方便地接入HSBS服务。如果攻击者只能以50%的准确性预测SK,则攻击者需要发送大致2N个密钥。随着预测的准确性减少,攻击者要生成的密钥数要增加。如果生成、存储和发布预测的费用超过提供非法接入的好处,则攻击者会放弃发布对SK的预测。如果保证攻击者的预测准确性很小,则攻击者会有放弃的可能,从而增加密钥数目,攻击者会生成的密钥数是提供非法接入的费用超过好处的临界点。结果是任何生成SK的方案理想地保证了攻击者的最佳预测的准确性足够小。即,SK的计算应包括一些只能预先以小准确性预测的一些随机值。
在示例实施例中,其中SK是以加密的形式,CS可以使用随机或伪随机函数选择SK。在另外实施例中,其中SK通过对SKI和BAK应用加密函数而导出,CS在形成SKI时引入不可预测值。SKI的一些部分是可预测的。例如,SKI的部分可以在该SKI有效期间从系统时间导出。该部分被记为SKI_PREDICT,作为广播服务的部分可能不被发送到MS 300。SKI、SKI_RANDOM的余数可能不可预测。即SK_RANDOM是以很小的准确性而被预测。SKI_RANDOM作为广播服务的部分被发送到MS 300。MS 300从SKI_PREDICT和SKI_RANDOM重建SKI,并将SKI提供给UIM 308。SKI可能在UIM 308内被重建。SKI的值为每个新的SK而改变。因此,在计算新的SK时或是SKI_PREDICT和/或SKI_RANDOM改变。
CS为广播传输将SKI_RANDOM发送到BS。BS广播SKI_RANDOM,这由天线302检测到,并传递到接收电路304。接收电路304将SKI_RANDOM提供给MS 300,其中MS 300重建SKI。MS 300将SKI提供给UIM 308,其中UIM 308使用存储在SUMU314内的BAK获得SK。SK然后由UIM 308提供给ME 306。ME 306将SK存储在内存存储单元MEM 310中。ME 306使用SK对从CS接收到的广播传输解密。
CS和BS在对何时SKI_RANDOM要被发送的一些准则上达成一致。CS可能需要通过经常改变SK而减少每个SK的固有费用。在该情况下,改变SKI_RANDOM数据的需要与最优化可用带宽间要进行平衡。在一些示例实施例中,SKI_RANDOM与加密的内容一起被发送。这使得MS 300能生成SK并立即开始解密。在许多情况下,这会浪费带宽。一个例外是SKI_RANDOM作为通信参数被发送的方案。例如,IPSec内的SPI值被允许改变,且可以被用于包括SKI_RANDOM值,如在以下将详述的。
在其它实施例中,SKI_RANDOM与加密内容被分开发送。SKI_RANDOM可能甚至在信道而不是广播信道上被发送。当用户“调谐到”广播信道上,接收电路304获得用于从“控制信道”定位广播信道的信息。当用户“调谐到”广播信道时可能需要快速接入。这需要ME 306在较短的时间内获得SKI。ME 306可能已经知道SKI_PREDICT,然而,BS将SKI_RANDOM在该短时间内提供给ME 300。例如,BS可能经常在控制信道上发送SKI_RANDOM,以及用于定位广播信道的信息,或频繁地在广播信道上发送SKI_RANDOM。BS“刷新”SKI_RANDOM的值频率越高,MS 300就可以越快地接入广播消息。刷新SKI_RANDOM数据的需要与最优化可用带宽间进行平衡,由于过于频繁地发送SKI_RANDOM数据可能使用在控制信道或广播信道内不可接受的带宽量。
在一些情况中,CS可能选择使用SKI_PREDICT和SKI_RANDOM的值,其中这两个对于每次生成的SK值而改变。在其它情况中,CS可能希望减少SKI_RANDOM改变的次数,使得MS 300不需要经常获得SKI_RANDOM。例如,如果用户在多个HSBS信道间经常改变,则如果SKI_RANDOM值在用户调到另一信道上时的五分钟内不改变会更好。如果SKI_RANDOM改变,则用户必须要等到新的SKI_RANDOM值被广播,说明如果SKI_RANDOM尽可能地保持恒定的方案会对用户更加友好。CS可能希望在SKI_RANDOM值的生存期间使用多个SK值,这是通过使用在任何CS希望改变SK的时候会改变的SKI_PREDICT的值。一个示例使用系统时间;然而,使用系统时间引入附加的涉及同步的问题。
关于广播内容的加密和传输,CS使用当前SK对广播内容进行加密。示例实施例使用加密算法,诸如高级加密标准(AES)密码算法。在示例实施例中,加密内容然后由IPSec分组根据封装安全性有效负荷(ESP)传输模式而进行传输,如下将讨论。IPSec分组还包含一SPI值,它指示ME 306使用当前SK以对接收到的广播内容进行解密。加密的内容通过广播信道被发送。
接收电路304将RKI和BAKI直接提供给UIM 308。另外,如果CS从SKI_RANDOM和SKI_PREDICT值计算得到SK,则接收电路304将SKI_RANDOM提供给MS 300合适的部分,在那儿它与SKI_PREDICT组合以获得SKI。在一实施例中,SKI被附加到加密的消息上,并为ME 306抽取。SKI由MS 300相关的部分被提供给UIM 308。UIM 308从RKI和A密钥计算RK,使用RK对BAKI解密以获得BAK,并使用SKI和BAK计算SK,以生成由ME 306使用的SK。ME 306使用SK对广播内容解密。示例实施例的UIM 308可能不足以强大以实时对广播内容进行解密,因此SK被传递到ME 306以对广播解密。
根据一示例实施例,图5B说明密钥的传输和处理,包括RK、BAK和SK。如说明的,在注册时,MS 300接收RK信息(RKI)并将其传递到UIM 308,其中SUPU 316使用RKI和A密钥计算RK,并将RK存储在UIM内存存储SUMU 314内。MS 300周期性地接收BAK信息(BAKI),它包括使用对UIM 308特定的RK值加密的BAK。加密的BAKI使用SUPU 316解密以恢复BAK,它被存储在UIM内存存储SUMU 314内。MS 300还周期性地获得SKI。在示例实施例中,MS 300接收SKI_RANDOM,它与SKI_PREDICT一起组合形成SKI。SUPU 316从SKI和BAK计算SK。SK被提供给ME 306,用于对广播内容解密。
在示例实施例中,CS密钥不一定经加密并发送到MS;CS可能使用其它的方法。由CS生成的要传递到每个MS的密钥信息提供了足够的信息,使得MS能计算密钥。如图6的系统350内说明的,RK由CS生成,但RK信息(RKI)被发送到MS。CS发送足以使UIM能导出RK的信息,其中预定的函数用于从来自CS的发送信息中导出RAK。RKI包含足够的信息用于使得MS确定来自A密钥和其它值(诸如系统时间)的原始RK,使用预定的公共函数,被标为d1,其中RK=d1(A-key,RKI) (3)在示例实施例中,函数d1定义了加密类型函数。根据一实施例,RK被确定为RK=SHA’(A-key||RKI), (4)其中“||”表示包含A密钥和RKI的模块的串接,而SHA’(X)表示给出输入X,安全哈希算法SHA-1的输出的最后128位。在另一实施例中,RK被确定为RK=AES(A-key,RKI) (5)其中AES(X,Y)表示使用128位A密钥对128位模块RKI的加密。在根据AKA协议的进一步实施例中,RK被确定位3GPP密钥生成函数f3的输出,其中RKI包括RAND的值以及标准定义的AMF和SQN的合适的值。
BAK的处理方式不同,因为带有RK不同值的多个用户必须计算BAK的相同值。CS可能使用任何技术以确定BAK。然而,与特定UIM 308相关联的BAKI的值必须是BAK在与该UIM 308相关联的唯一RK下的加密。SUPU 316使用存储在SUMU 314内的RK对BAKI进行解密,这是根据被标为d2的函数,根据BAK=d2(BAKI,RK). (6)在另一实施例中,CS可能通过使用RK对BAK应用解密过程而计算BAKI,且SUPU 316通过使用RK对BAKI应用加密过程而获得BAK。这被认为是与CS加密BAK和SUPU 316对BAKI解密等价。其它的实施例可能在图6说明的位置或附加地实现多个密钥的组合。
SK以与RK类似的方式进行处理。在一些实施例中,SKI首先从SKI_PREDICT和SKI_RANDOM导出,其中SKI_RANDOM是从CS发送到MS的信息。然后被标为d3的预定函数被用于从SKI和BAK(存储在SUMU 314内)导出SK,根据
SK=d3(BAK,SKI).(7)在一实施例中,函数d3定义加密类型函数。在示例实施例中,SK被计算为SK=SHA(BAK||SKI), (8)其中在另一实施例中,SK被计算为SK=AES(BAK,SKI)(9)为广播消息提供安全性的方法在图7A-7D内说明。图7A说明注册过程400,其中订户与CS在步骤402处进行注册协商。在步骤404处的注册提供给UIM一个唯一的RK。UIM在步骤406处将RK存储在安全内存单元(SUMU)。图7B说明CS和MS间的预订过程。在步骤422,CS为BAK时间段T1生成BAK。BAK在整个BAK时间段T1期间是合法的,其中BAK经周期性更新。在步骤424,CS授权UIM在BAK计时器时段T1期间接入广播内容(BC)。在步骤426处,CS使用每个订户的单个RK对BAK进行加密。加密的BAK被称为BAKI。在步骤428,CS然后将BAKI发送到UIM。在步骤430,UIM接收BAKI并使用RAK实现解密。解密后的BAKI导致原始生成的BAK。UIM在步骤432将BAK存储在SUMU内。
当用户在特定BAK更新时段内预订广播时,CS发送合适的信息BAKI,其中BAKI对应用RK加密的BAK。这一般发生在该BAK更新时段开始前或当MS第一次在该BAK更新时段间调谐到广播信道上。这可能根据各种准则由MS或CS初始。多个BAKI可能被同时发送和解密。
值得注意的是当BAK更新时段快要过期时,MS可能请求来自CS的更新的BAK,如果MS已经预订了下一BAK更新时段。在另一实施例中,第一计时器t1为CS使用,其中在计时器超时时,即满足了BAK更新时段时,CS发送BAK。CS可能在比预先计划好的时间前改变BAK的值。如果例如公开公布了当前的BAK值时这可能是需要的。
值得注意的是,对于用户而言,可能在BAK更新时段期间接收BAK,其中例如当BAK更新是每个月进行一次,而订户在月中时加入服务。另外,BAK和SK更新的时段可能被同步,使得所有的订户在给定时间被更新。
图8A说明根据示例实施例的无线通信系统500的注册过程。CS 502与每个订户协商,即MS 512,以生成对每个订户特定的RK。RK被提供给每个MS的UIM内的SUMU单元。如说明的,CS 502生成存储在UIM1的SUMU1510内的RK1。类似地,CS 502相应生成存储在UIM2的SUMU2510内和UIMN的SUMUN510内的RK2的RKN。
图8B说明系统500内的订户过程。CS 502进一步包括多个编码器504。每个编码器504接收一个唯一的RK和在CS 502内生成的BAK值。每个编码器504的输出时为订户特别编码的BAKI。BAKI在每个MS的UIM处被接收到,诸如UIM1512。每个UIM包括SUPU和SUMU,诸如UIM1的SUPU1514和SUMU1510。SUPU包括解码器,诸如解码器516,它通过应用UIM的RAK而恢复BAK。过程在每个订户处经重复。
图8D说明在注册和预订后的BC的处理。CS 502包括使用当前SK对BC编码以生成EBC的编码器560。EBC然后被发送到订户。每个MS包括编码器,诸如编码器544,它使用SK从EBC抽取BC。
以下的描述考虑四个示例实施例,它可能被用于更新SK并广播内容。在第一示例实施例中,SK从在包含广播内容的IPSec分组的头部内的BAK和SPI值导出。在第二示例实施例中,SK从BAK表、在包含广播内容的IPSec分组的头部内被标为RAND和SPI值的广播随机值导出。在第三示例实施例中,SK从BAK、系统时间和标为SK_RAND的广播随机值导出。在第四示例实施例中,SK作为BAK加密的IPSec分组被发送。其它的实施例可能提供SK作为上述的实施例的组合,或使用其它机制以经常提供SK给MS,迫使放弃对广播服务的未授权接入。
由于短期密钥(SK)用于对广播内容进行加密和解密,且被存储在易被非法访问的存储器内,其中SK一般经常改变。存在如何经常改变SK而同时平衡以下四个目标的问题1)对于刚调谐到广播的移动站最小化SK更新等待时间或中断时段;2)最小化用于更新SK值的带宽量;3)增加安全性等级;以及4)增加SK与IPSec合并的容易性。频繁的更新可能减少中断时段,但其代价为需要更多的带宽以发送频繁的更新。
一个解决方案提供了一种方法,不使用附加的带宽而提供用于在每个加密的广播内容分组内实现SK更新的足够的信息。因此,中断时段可能不一定需要附加的带宽而最小化。在此揭示的四个示例实施例,用于实现SK更新,有各种优势和劣势。所有的四个实施例提供了足够安全的方法。第一实施例去除了终断时段,并不使用附加的带宽以更新SK值。其它的实施例可能在高度使用时段有中断时期。第一实施例很简单地能与IPSec合并。
根据用于实现SK更新的第一实施例,上述的问题的解决是通过定义SK,它作为广播接入密钥(BAK)和ESP头部内的SPI的函数对给定的IPSec分组进行加密。这样,不是在分开的流内提供SK,SK从内容流中计算得到。假设MS已经如上所述接收到了BAK,则MS能立即为每个内容分组计算SK,而不需要等待附加的SK更新信息。这有效地去除了任何SK用于新广播接收的更新等待时间。一旦MS接收到内容分组,则MS可以立即确定SK并对内容解密。
足以在MS处计算SK的信息在IPSec分组内被提供。IPSec分组使用IP封装安全性有效负荷(ESP)且在RFC 1827内有所规定,题为“IP Encapsulating SecurityPayload(ESP)”,R.Atkinson,1995年8月,如上所述。ESP是一种提供IP数据报完整性和机密性的机制。在一些情况下,它还可以提供IP数据报的验证。图9A根据一实施例说明一IPSec分组600,包括IP头部602、ESP头部604和有效负荷606。封装安全性有效负荷(ESP)可能出现在IP头部后和最后传输层协议前的任何位置。一般,ESP包括后接封装数据的未加密头部。
ESP头部字段604包括安全性关联标识符,被称为SPI。根据上述的第一实施例,包含广播内容的IPSec分组包括与SK相关的SPI,被称为SPI_SK。图9B说明对应的32位SPI_SK 610的格式。SPI_SK 610被分解为两个部分SPI_RAND 612和BAK_ID 614。SPI_RAND 612是统计随机的随机数,且还用于计算用于对对应的广播内容或有效负荷加密或解密的SK。SPI_RAND参数允许内容服务器(CS)经常通过改变SPI_RAND值改变内容的有效的SK值,从而向MS提供了立即计算SK值需要的参数。另外,SPI_RAND实现了SKI_RANDOM的角色,如上所述。SPI_RAND的随机性保证了攻击者不能以较高的准确性预测SK的值。由于SPI已经是IPSec加密分组内的标准参数,即为ESP规定的,本实施例不会需要一般与将SK作为分开的流发送相关联的附加带宽。BAK_ID指明哪个BAK值用于计算SK值。在一实施例中,BAK_ID是一个四位标记,其中每个标记与BAK值相关联。当MS实现预订时,MS在内存存储单元内存储每个接收到的BAK_ID以及对应的BAK值。根据一实施例,MS包括用于存储与每个对应BAK_ID标识的BAK值的查询表(LUT)。BAK LUT包含在UIM内的安全存储器内。
图9D说明BAK LUT 630。LUT 630内的每项标识了BAK_ID、对应的BAK值和组合的有效期的超时。引入超时是因为BAK_ID的小数值。另外的实施例可能避免在BAK LUT内使用超时值。在一实施例中,只使用BAK_ID的16个值。如果每个月发布一个新的BAK,则BAK_ID的值可能在16个月后重复。在那时,可能会有所混淆哪个BAK值时有效的。超时提供了暂停时间,在这时间后新的项替代过期项。一个原因是因为CS可能希望在它们成为有效之前将BAK值发送到MS。另外,CS可能希望有多个同时有效的BAK值,其中不同的BAK值可能用于计算不同的BAK值。如果BAK LUT不包含对应BAK_ID的当前BAK,则MS可能执行获取有效BAK的预订。
在从SPI_SK抽取了SPI_RAND和BAK_ID后并获取了对应BAK_ID的BAK后,UIM使用密码函数g从BAK和SPI_RAND计算SK的值SK=g(BAK,SPI_RAND) (10)在一实施例中,函数g(BAK,SPI_RAND)对应用零填充到128位的SPI_RAND的加密,它使用带有作为密钥的BAK的AES加密算法SK=AES(BAK,SPI_RAND) (11)在另一实施例中,函数g(BAK,SPI_RAND)对应计算应用到BAK和SPI_RAND连接的SHA-1的输出的128个最不重要比特SK=SHA(BAK,SPI_RAND). (12)这样,UIM不需要为MS接收到的每个分组计算SK的值。MS将每个SPI_SK值与对应的SK值存储在内存存储单元内,诸如查询表(LUT)内。MS可能将SPI_SK和SK值作为安全性关联数据库(SAD)内的安全性关联存储,SAD是一LUT,其中MS存储其它应用需要的一般安全性关联。安全性关联根据目的地地址和SPI经索引。当新的SK从SPI_SK的新值生成时,旧的安全性关联由包含新的SPI_SK和SK值的安全性关联替换。或者,MS可能在SK_LUT内存储SPI_SK和SK值,分配给每个广播信道一个SK_LUT。图9C说明SK LUT 620。LUT 620内的每个项标识SPI_SK以及对应的SK值。当MS接收到广播内容分组时,ME首先检查SAD和SK LUT以了解该表格是否包含等于接收到的分组的SPI的SPI_SK值。如果表格包含该值,则ME使用该值,否则UIM计算SK的新值。CS可能还有BAK LUT、SAD或SK_LUT。
图10和11说明用于实现SK更新的一实施例。图10说明CS的操作方法700。对于每个IP分组,CS确定用于导出SK的BAK,并在步骤702确定对应BAK的BAK_ID。BAK_ID可能是任何类型的标识符,它能区别多个BAK值。CS在步骤706处通过实现预订将BAK和BAK_ID发送到单个用户处。用户可能在预订时段之前或期间的不同时间实现预订。步骤702和706可能发生在预订时段开始前。在步骤710,CS为SPI_RAND值选择一个随机值。如果BAK_ID使用b位表示,则SPI_RAND使用(32-b)位表示。SPI_RAND值不应在一个BAK时段期间重复。在步骤712处,一旦SPI_RAND和BAK_ID是已知的,CS将它们组合(例如将BAK_ID与SPI_RAND串接)以形成SPI_SK。在步骤714处,CS通过使用加密函数将SPI_RAND与对应BAK_ID的BAK组合以形成SK而形成SK。CS然后在步骤716用SK对广播消息或消息的部分加密,然后在步骤718处发送加密的消息。值得注意的是加密的广播消息是包括IP头部和ESP头部的IP分组的部分。ESP头部包括SPI_SK。在判决菱形720处,CS决定是否要改变SK。如果CS决定不改变SK,则CS进行到步骤716。如果CS决定改变SK,则CS进行到判决菱形724,在此CS决定是否改变BAK。如果CS决定不改变BAK,则CS进行到步骤710。如果CS决定改变BAK,则CS进行到步骤702。
图11说明在接收机处对应的操作,诸如MS处。方法750在步骤752处开始,当接收机接收到包含在ESP头部内的SPI_SK的IP分组时。值得注意的是接收机从IP分组抽取SPI_SK信息。在接收到SPI_SK时,接收机首先检查对应接收到的SPT_SK值的SK是否被存储在存储器内。
在一实施例中,SPI_SK被存储在图4的ME 306单元内存储的SK LUT内,在另一实施例中,SPI_SK被存储在安全性关联数据库内这两个表格在图11内由SPI表格标明。在判决菱形754处实现SPI表格的检查。如果SK值在接收机处被存储在存储器内,接收机能在步骤756处使用存储的SK值对内容分组的有效负荷解码。如果接收机没有存储在存储器内的SK值,则接收机在步骤758从SPI_SK抽取BAK_ID和SPI_RAND。在步骤760,接收机然后检查BAK LUT是否有对应BAK_ID的有效BAK项。如果BAK LUT没有对应BAK_ID的有效BAK,则接收机选择该值并进行到步骤764。如果BAK LUT没有对应BAK_ID的有效BAK,诸如当用户希望预订该时段,则接收机实现预订以获得有效的BAK,如步骤762示出。新的BAK与BAK_ID一起被存储在BAK_LUT内,且接收机进行到步骤764。在步骤764,接收机将对应BAK_ID值的BAK(即接收到的SPT_SK内的BAK_ID)与SPI_RAND值组合以计算新的SK。接收机然后使用新的SK值以在步骤766对内容分组的有效负荷解密。接收机还将由对应SPI_SK索引的该SK值以及可能IPSec分组的目的地地址。
SK直接从BAK和内容分组内的SPI_SK值计算而得。BAK改变没有SK改变这么频繁,例如BAK可能一个月改变一次。因此,接收机能立即从内容分组确定SK值,而没有附加延时,且不需要更多的带宽以发送SK更新。
根据一实施例,SK计算给出为SK=f(SPI_SK,BAK), (13)其中函数被定义为使用BAK的SPI_SK的加密。由于SPT_SK由SPI_RAND和BAK_ID组成,则等式(13)可能给出为SK=f(SPI_RAND,BAK_ID) (14)用于实现SK更新的第二示例实施例引入对SK计算附加的随机性方面,其中SK被定义为BAK、SPI_RAND和附加参数RAND的函数。RAND参数对几个SK值保持恒定。RAND使得更多不同的SK值能通过改变SPI_SK和RAND从单个BAK值中导出。如果没有使用RAND,则最多有232的SK值可以通过改变SPI从单个BAK中导出。然而,如果使用96位的RAND,则可以有多达2218个SK值从单个BAK中通过改变SPI_RAND和RAND而导出。(这些数字不计及用于表示BAK_ID的SPI的位)。现在,不是SPI_SK只标识BAK,SPI_SK必须还包含标识RAND的信息。为了实现RAND值,SPI_SK形成有三个部分1)BAK_ID标识要使用的BAK值;2)RAND_ID标识要使用的RAND;以及3)SPI_RAND值提供在SPI_SK内频繁改变的随机性。
图12说明IP分组的SPI_SK 800部分,包括SPI_RAND 802、BAK_ID 804和RAND_ID 806。SPI_RAND 802和BAK_ID 804如上所述。为了维持SPI_SK在预定或特定的位长,SPI_RAND 802可能使用比图9B内允许RAND_ID 806使用的SPI_RAND612少的位数。RAND_ID 806对应于用于计算SK的RAND值,且可能是四位标记或其它标识符。RAND_ID和对应的RAND值被存储在接收机处的LUT内。图12B说明RAND LUT 820。RAND LUT 820包括每个RAND值的项,列出RAND_ID和与RAND值相关的超时。
图13说明CS的操作。对于每个IP分组,发射机确定用于导出SK的BAK,并在步骤902确定对应BAK的BAK_ID。BAK_ID可能是任何类型的标识符,它能区别多个BAK值。CS通过在步骤904处实现预订而将BAK和BAK_ID发送到单个用户。用户可能在预订时段前或期间的不同时刻实现预订。步骤902和904可能在预订时段开始前发生。在步骤906,发射机选择RAND值,并确定对应的RAND_ID。CS可能将RAND和RAND_ID单独发送到MS或将RAND和RAND_ID发送到广播信道上进行广播。RAND值不需要是机密的,所以它不用被加密。如果广播RAND和RAND_ID,则不应在重发间有许多时间,使得MS在获得RAND值前不需要等待很长时间。广播RAND和RAND_ID会在时间上使用很大带宽。然而,如果有大量用户调谐到信道,则需要大量带宽将RAND单独发送到每个用户。结果是,如果有大量用户调谐到该信道,则RAND和RAND_ID只能被广播。在步骤910,CS选择SPI_RAND的随机值。
一旦SPI_RAND、BAK_ID和RAND_ID已知,在步骤912,发送机将其组合(例如将RAND_ID和BAK_ID串接为SPI_RAND)以形成SPI_SK。CS使用密码函数以组合SPI_RAND、BAK(用BAK_ID标识)和RAND(以RAND_ID标识)以形成SK。CS然后在步骤916用SK对广播消息或消息部分加密,并在步骤918发送加密的消息。值得注意的是加密的广播消息是IP分组的一部分,IP分组包括IP头部和ESP头部。ESP头部包括SPI_SK。在判决菱形920处,CS决定是否要改变SK。如果CS决定不改变SK,则CS进行到步骤916。如果CS决定改变SK,则CS进行到判决菱形922,在此CS决定是否改变RAND。如果CS决定不改变RAND,则CS进行到步骤910。如果CS决定改变RAND,则CS进行到判决菱形924,在此CS决定是否改变BAK。如果CS决定不改变BAK,则CS进行到步骤906。如果CS决定改变BAK,则CS回到步骤902。
图14说明在接收机处的对应操作,诸如MS处。方法950开始于当接收机在步骤952处接收到包含在ESP头部内的SPI_SK的IP分组时。值得注意的是接收机从IP分组抽取SPI_SK信息。在接收到SPI_SK时,在判决菱形952处,接收机首先检查是否对应接收到的SPI_SK值的SK被存储在内存内。在一实施例中,SPI_SK被存储在SK LUT,该LUT存储于图4的ME单元306内,在另一实施例中,SPI_SK被存储在安全性相关数据库内,这些表格在图14内被标为SPI表格。检查SK LUT是在判决菱形954处实现的。如果SK值在接收机处存储在内存内,则在步骤956处,接收机能使用存储的SK值对内容分组的有效负荷解密。如果接收机没有SK值存储在内存内,则接收机在步骤958从SPI_SK抽取BAK_ID和SPI_RAND。在步骤960,接收机然后检查BAK LUT是否有对应BAK_ID的合法的BAK项。如果BAK LUT没有对应BAK_ID的合法的RAND,则接收机选择该值,并进行到步骤964。如果BAKLUT没有对应BAK_ID的合法BAK,则(假如用户希望预订该时段)接收机实现预订以获得合法的BAK,如步骤962示出。新的BAK于BAK_ID存储在BAK_LUT内,且接收机进行到步骤864。在步骤964,接收然后检查RAND LUT是否有对应RAND_Id的合法RAND项。如果RAND LUT没有对应RAND_ID的合法BAK,则接收机选择该值并进行到步骤964。如果RAND LUT没有对应RAND_ID的合法RAND,则接收机获得RAND和RAND_ID,要么通过从CS请求该值,要么从广播请求该值,如步骤966示出。新的RAND值于RAND_ID存储在RAND_LUT内,接收机进行到步骤968。接收机组合对应BAK_ID值的BAK、对应RAND_ID值的RAND(即在接收到的SPI_SK内的RAND_ID)和SPI_RAND值(也在接收到的SPI_SK内)以在步骤968处形成新的SK。在步骤970处,接收机然后使用新的SK值以对内容分组的有效负荷解密。接收机还存储该由对应SPI_SK索引的SK值和可能的IPSec分组的目的地地址。
RAND的改变的频度没有SPI_RAND高。RAND值对于所有监听广播的移动站一样。因此,RAND可能被广播到所有移动站,且不一定是按每接收者特别加密的。因此,如果有足够的移动站收听广播流,则让空中接口几次向所有移动站广播RAND值会比需要每个移动站单独从CS请求RAND值更有效。
根据一实施例,SK计算给出如下SK=f(SPI_SK,BAK,RAND), (15)其中函数被定义为使用BAK对SPI_SK加密。由于SPI_SK是由SPI_RAND、BAK_ID和RAND_ID组成的。等式(15)还可以给出为SK=f(SPI_RAND,BAK_ID,RAND_ID,RAND) (16)值得注意的是使用RAND值可能引入一些“中断时段”,因为接收机需要在改变时接收RAND值。然而,这些时段比SK在分开的流上更新以及接收机等待周期性更新的频度要低。RAND被设计成比SK值的改变要慢,因此对RAND的更新不那么频繁地被发送。当MS由于丢失信号、调谐到另一信道或响应中断(诸如电话呼叫)而停止收听信道时,CS会希望减少产生的“中断”的概率。中断最可能发生在RAND值的生存期的开始。为了解决这点,CS可能在新RAND成为合法时更频繁地重新广播新的RAND值。在RAND的生存期结束时,可能必须广播当前RAND值和下一RAND值。RAND值不应是可预测的,且CS应能在RAND成为合法的前短时间开始发送RAND。
如上所述,根据第三示例实施例,SK从BAK、系统时间和被称为SK_RAND的广播随机值导出。图7C说明了在支持广播服务的无线通信系统内更新用于安全性加密的密钥的方法。该方法440实现如图7E给出的时间段。BAK以时间周期T1周期性地被更新。在BAK经计算且在T1超时时开始计时器t1。使用变量计算被称为SK_RAND的SK,它以时间周期T2被周期性更新。当SK_RAND经生成,且T2处超时时,计时器t2开始。在一实施例中,SK进一步以时间周期T3的周期性地被更新。当每个SK经生成且在时间T3超时时开始计时器t3。SK_RAND在CS处经生成,且被周期性地提供给MS。MS和CS使用SK_RAND以生成SK,如下将详述。
当更新可应用的BAK值时第一计时器t1被重设。在两个BAK更新间的时间长度是BAK的更新时段。在示例实施例中,BAK更新时段是一个月,然而,其它的实施例可能实现系统的最优操作需要的任何时间周期,或满足各种系统准则。
继续图7C,方法440在步骤442处开始计时器t2以开始SK_REG时间段T2。在步骤444处,CS生成SK_RAND并将该值提供给发射电路以在整个系统内传输。计时器t3在步骤446处开始,以开始SK时段T3。在步骤448,CS然后使用当前SK对BC加密。加密的积是EBC,其中CS提供ECB给发射电路用于在系统内传输。如果计时器t2在判决菱形450处超时,则处理回到步骤442。在t2小于T2时,如果计时器t3在判决菱形452处超时,则处理回到步骤446,否则处理回到450。
图7D说明MS接入广播服务的操作。方法460首先在步骤462处用CS处值使计时器t2和t3同步。在步骤464处,MS的UIM接收CS生成的SK_RAND。在步骤466处,UIM使用SK_RAND、BAK和一时间测量生成SK。UIM将SK传递到MS的ME。在步骤468,UIM然后使用SK对接收到的EBC解密以抽取原始的BC。当计时器t2在步骤470超时时,处理回到步骤462。当计时器t2小于T2时,如果计时器t3在步骤472超时,则计时器t3在步骤474处开始并回到466。
密钥管理和更新在图8C内说明,其中CS应用函数508以生成SK_RAND值,该值是CS和MS使用的中间值以计算SK。尤其是,函数508应用BAK值、SK_RAND和时间因子。虽然图8C内的实施例应用计时器以确定何时更新SK,其它的实施例可以使用其它的措施以提供周期性更新,例如错误或其它事件的发生。CS提供给每个订户SK_RAND值,其中驻留在每个UIM内的函数518应用如CS的函数508相同的函数。函数518对SK_RAND、BAK和计时器值进行操作以生成存储在ME内的内存位置内的SK,诸如ME1540的MEM1542。
如上所述,根据第四示例实施例,SK使用BAK经加密以形成SKI,SKI被发送到MS。在示例实施例中,SK在使用BAK加密的IPSec分组内被发送。CS还可能广播可以用于标识用SK加密的数据对应的SPI。该实施例不需要进一步讨论。
在上述的示例实施例中,CS可能选择如CS期望的那样更新SK。SK改变越频繁,CS越能防止攻击者发布SK值。有时攻击者可能会比其它时间更考虑发布SK值的好处。这源于广播的内容的性质。例如,在重大时间发生时,未预订的用户会对接收HSBS上的新闻更感兴趣,因此,会比其它时间更愿意支付非法接入费用。在这些时候,CS可能通过比正常更频繁地改变SK而增加费用和不便性以阻止攻击者和未预订用户。CS必须知道,这限于UIM的处理能力。如果CS太频繁地改变SK,则UIM会不能实时计算SK值,则用户会不能实时对内容进行解密。
本领域内的技术人员可以理解信息和信号可能使用各种不同的科技和技术表示。例如,上述说明中可能涉及的数据、指令、命令、信息、信号、比特、码元和码片最好由电压、电路、电磁波、磁场或其粒子、光场或其粒子、或它们的任意组合来表示。
本领域的技术人员还可以理解,这里揭示的结合这里描述的实施例所描述的各种说明性的逻辑框、模块、电路和算法步骤可以用电子硬件、计算机软件或两者的组合来实现。为清楚地说明硬件和软件的可互换性,各种说明性的组件、方框、模块、电路和步骤一般按照其功能性进行阐述。这些功能性究竟作为硬件或软件来实现取决于整个系统所采用的特定的应用程序和设计约束。技术人员可以以多种方式对每个特定的应用实现描述的功能,但该种实现决定不应引起任何从本发明范围的偏离。
各种用在此的说明性实施例揭示的逻辑框、模块和电路的实现或执行可以用通用处理器、数字信号处理器(DSP)或其它处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件或任何以上的组合以实现在此描述的功能。通用处理器最好是微处理器,然而或者,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器可以实现为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、一个或多个结合DSP内核的微处理器或任何该种配置。
在此用实施例揭示的方法步骤或算法可能直接在硬件内、处理器执行的软件模块或两者的组合内执行。软件模块可以驻留于RAM存储器、快闪(flash)存储器、ROM存储器、EPROM存储器、SPI_SKPROM存储器、寄存器、硬盘、移动盘、CD-ROM、或本领域中已知的其它任意形式的存储媒体中。一示范处理器最好耦合到处理器使处理器能够从存储介质读取写入信息。或者,存储介质可能整合到处理器。处理器和存储介质可驻留于专用集成电路ASIC中。ASIC可以驻留于用户终端内。或者,处理器和存储介质可以驻留于用户终端的离散元件中。
上述优选实施例的描述使本领域的技术人员能制造或使用本发明。这些实施例的各种修改对于本领域的技术人员来说是显而易见的,这里定义的一般原理可以被应用于其它实施例中而不使用创造能力。因此,本发明并不限于这里示出的实施例,而要符合与这里揭示的原理和新颖特征一致的最宽泛的范围。
权利要求
1.一种用于安全传输的方法,其特征在于包括为要传输的消息确定短期密钥,短期密钥具有一短期密钥标识符;确定消息的接入密钥,接入密钥具有一接入密钥标识符;用接入密钥对消息进行加密;形成包括短期密钥标识符的因特网协议头部;以及用因特网协议头部发送加密后的消息。
2.如权利要求1所述的方法,其特征在于短期密钥标识符包括接入密钥标识符。
3.如权利要求2所述的方法,其特征在于短期密钥标识符进一步包括一安全性参数索引值。
4.如权利要求3所述的方法,其特征在于安全性参数索引值是一随机数。
5.如权利要求1所述的方法,其特征在于短期密钥作为短期密钥标识符和接入密钥的函数被计算。
6.如权利要求5所述的方法,其特征在于短期密钥标识符通过用接入密钥对短期密钥标识符进行加密而被计算。
7.如权利要求1所述的方法,其特征在于因特网协议头部是ESP头部的一部分。
8.如权利要求7所述的方法,其特征在于因特网协议头部还包括一第二随机数,第二随机数具有一随机数标识符。
9.如权利要求8所述的方法,其特征在于短期密钥标识符包括接入密钥标识符和随机数标识符。
10.如权利要求9所述的方法,其特征在于短期密钥标识符进一步包括一安全性参数索引值。
11.如权利要求10所述的方法,其特征在于安全性参数索引值是随机数。
12.如权利要求8所述的方法,其特征在于短期密钥被作为短期密钥标识符、第二随机数以及接入密钥的函数而被计算。
13.如权利要求12所述的方法,其特征在于短期密钥标识符通过用接入密钥对短期密钥标识符和第二随机数进行加密而被计算。
14.一种用于传输的安全接收的方法,其特征在于该方法包括接收对传输特定的短期密钥标识符,所述短期密钥标识符对应一短期密钥;根据短期密钥标识符确定一接入密钥;用接入密钥对短期密钥标识符进行加密以恢复短期密钥;以及使用短期密钥对传输进行解密。
15.如权利要求14所述的方法,其特征在于还包括在内存存储单元内存储短期密钥标识符和短期密钥。
16.如权利要求14所述的方法,其特征在于短期密钥标识符包括一随机数和与接入密钥相关的一接入密钥标识符。
17.如权利要求14所述的方法,其特征在于对短期密钥标识符加密还包括用接入密钥对该短期密钥标识符和一随机数加密以恢复短期密钥。
18.在支持广播服务选项的无线通信系统内,一基础设施元件其特征在于包括接收电路;用户标识单元,用于恢复一短期密钥,用于对广播消息解密,所述单元包括处理单元,用于对密钥信息进行解密;以及移动设备单元,用于应用短期密钥以对广播消息进行解密,所述单元包括内存存储单元,用于存储多个短期密钥和短期密钥标识符。
19.如权利要求15所述的基础设施元件,其特征在于用户标识单元还包括一第二内存存储单元,用于存储多个接入密钥和接入密钥标识符。
20.如权利要求15所述的基础设施元件,其特征在于内存存储单元是一安全内存存储单元。
21.一种无线通信系统的基础设施元件,其特征在于包括装置,用于接收对传输特定的一短期密钥标识符,短期密钥标识符对应一短期密钥;装置,用于根据短期密钥标识符确定一接入密钥;装置,用于用接入密钥对短期密钥标识符进行加密以恢复短期密钥;以及装置,用于使用短期密钥对传输解密。
22.一种数字信号存储设备,其特征在于包括第一指令集合,用于接收对传输特定的一短期密钥标识符,所述短期密钥标识符对应一短期密钥;第二指令集合,用于根据短期密钥标识符确定接入密钥;第三指令集合,用于用接入密钥对短期密钥标识符加密以恢复短期密钥;以及第四指令集合,用于使用短期密钥对传输进行解密。
23.一种在载波上发送的通信信号,其特征在于包括第一部分,对应一短期密钥标识符,所述短期密钥标识符具有一对应的短期密钥;以及第二部分,对应使用短期密钥加密的传输有效负荷。
24.如权利要求23所述的通信信号,其特征在于所述短期密钥标识符包括一随机数部分;以及对应一接入密钥的一接入密钥标识符。
全文摘要
一种用于安全传输的方法和装置。每个用户被提供了一个注册密钥。长时间更新的广播密钥使用注册密钥经加密并被周期性地提供给用户。短期更新的密钥使用广播密钥经加密。短期密钥在每个广播消息上都有,其中在广播内容前的因特网协议头部内提供了用于计算短期密钥的充分的信息。广播然后使用短期密钥经加密,其中用户使用短期密钥对广播消息进行解密。
文档编号H04L9/08GK1633778SQ02823862
公开日2005年6月29日 申请日期2002年10月8日 优先权日2001年10月9日
发明者P·豪基斯, N·K·N·利恩, G·G·罗斯 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1