因特网上用于安全内容递送的密钥管理协议与认证系统的制作方法

文档序号:7748927阅读:269来源:国知局
专利名称:因特网上用于安全内容递送的密钥管理协议与认证系统的制作方法
相关申请交叉引用本申请要求于2001年11月15日提交、题为“KEY MANAGEMENTPROTOCOL AND AUTHENTICATION SYSTEM FOR SECUREINTERNET PROTOCOL RIGHTS MANAGEMENT ARCHITECTURE(用于安全网际协议权利管理架构的密钥管理协议与认证系统)”、申请号为60/334,721的美国临时专利申请,以及于2001年9月26日提交、题为“UNIQUE ON-LINE PROVISIONING OF USER SYSTEMSALLOWING USER AUTHENTICATION(允许用户认证的用户系统的独特的在线供应)”、申请号为09/966,552的美国专利申请的权益;在这里通过引用将其结合进来,如其在本文中一样,以用于所有目的。本申请涉及下列美国非临时申请于2001年__提交、题为“KEYMANAGEMENT INTERFACE TO MULTIPLE AND SIMULTANEOUSPROTOCOLS(同时多协议的密钥管理界面)”、申请号为__的美国专利申请;于2001年__提交、题为“ACCESS CONTROLAND KEY MANAGEMENT SYSTEM FOR STREAMING MEDIA(流媒体的接入控制与密钥管理系统)”、申请号为__的美国专利申请;于2001年__提交、题为“ENCRYPTION OF STREAMINGCONTROL PROTOCOLS SUCH AS RTCP AND RTSP AND THEIRHEADERS TO PRESERVE ADDRESS POINTERS TO CONTENT ANDPREVENT DENIAL OF SERVICE(加密流控制协议,例如RTCP与RTSP,及其报头,以保护内容的地址指针,并防止拒绝服务)”、申请号为__的美国专利申请;以及于2001年__提交、题为“ASSOCIATION OF SECURITY PARAMETERS FOR ACOLLECTION OF RELATED STREAMING PROTOCOLSRTP,RTSP,RTCP(用于一组相关流传输协议RTP、RTSP、RTCP的安全参数关联)”、申请号为__的美国专利申请;在这里通过引用将其结合进来,如其在本文中一样,以用于所有目的。
背景技术
一般地,本发明涉及数据通信领域,更特别地,涉及数字权利管理功能,其用于在网络组件间安全地传输内容。
传统的用于保障通过通信网络(例如因特网)传输的内容的安全性的数字权利管理系统正变得众所周知。由于内容提供商面临的一个基本问题是如何防止数字内容的未授权的使用与分发,需要权利管理系统。内容提供商关心从他们的内容取得报酬,并从未授权的消费者那里剥夺这些内容。
典型地,许多数字权利管理方案使用数字内容的“加密/解密”来实现。加密是将数据转换到难以理解的形式,例如密文,其难以为未授权的客户端所理解。解密是将被加密的内容转换回其原始形式,使其变得可以理解的过程。简单的加密包括字母表内的字母旋转,以字母代替数字,以及通过转化边带频率对话音信号进行“扰动”。更复杂的加密按照复杂的计算机算法工作,这些算法重新安排数字信息内容内的数据比特。
为了容易地恢复被加密的信息内容,需要正确的解码密钥。该密钥是加密和解密算法的参数,其中在加密与解密过程中,密钥的不同值产生不可预测的不同的结果。密钥的大小越大,在不知道密钥时就更难猜中密钥的值并从而对通信进行解码。一般地,存在两种类型的用于加密/解密系统的密钥方案,也就是(1)PKS(公钥系统)或非对称系统,其利用两个不同的密钥,一个用于加密,或者签名,一个用于解密,或者验证;和(2)非公钥系统,也称为对称或密钥系统,在该系统中,典型地,加密和解密密钥是相同的。在公钥与密钥系统中,使用密钥管理来分发密钥并恰当地认证接收密钥的各方。
一种在MIT开发的相关技术的密钥管理系统称为Kerberos协议。Kerberos是一种密钥管理协议,其允许一方与不同的网络服务建立共享的会话密钥,其通过使用KDC(密钥分发中心)与票据的概念。票据被用于将会话密钥连同客户端(该票据即为该客户端发出)的标识安全地传递到服务器。票据可防止篡改,并可被客户端安全地存储,从而允许服务器保持无状态(stateless)(服务器可在每次客户端向其传递票据时重学会话密钥)。这样,在可支持客户端数量方面,票据的概念改进了服务器的可扩展性。不利地,Kerberos相对地复杂,并包括很多不同的选项,其并不总适用于特定应用。此外,修改这样一个复杂系统不是一种选择,这是因为这样的对不熟悉的系统的修改增加了引入额外错误的风险。Kerberos的另一个缺点是它不确定一旦获取票据,在客户端与服务器之间进行密钥管理的细节(只提供一些基本的构造部件)。
对在网际协议(IP)网络上多媒体内容的流分发的日益增长的兴趣导致对密钥管理系统的日益增长的需要。一种这样的流分发系统是加利福尼亚州圣地亚哥的Aerocast公司开发的Aerocast网络TM。如参照图1讨论的那样,尽管现有的第一期Aerocast网络便利了内容的递送,但它缺乏安全性和用于该网络的密钥管理系统。
图1是(Aerocast的)网络100的框图,该网络用于便利通信网络上的内容的流传送。除其它组件之外,网络100包括内容提供商102,其生成针对消费者116的内容,因特网114,内容通过其流传送,以及中央服务器104,内容提供商102向其发布内容。中央服务器104包含数据库108,其用于存储内容信息,以及搜索引擎110,其用于搜索数据库108。网络100进一步包括供应中心106,以及缓存服务器112、113和115。
在操作中,希望访问内容提供商102的内容的消费者116,从最近的缓存服务器(在此情形中,缓存服务器115)流传送内容。在没有缓存服务器的传统系统中,需要这样的内容流的消费者116直接从内容提供商102获取内容。这不仅导致糟糕的内容质量,还可能导致与不充分的带宽相关联的延时。通过使用缓存服务器,网络100避免了与直接从内容提供商202流传送数字内容相关联的缺点。例如,缓存服务器112、113与115可以是本地DSL(数字用户线)提供商。
网络100提供了进一步的优点。当搜索内容时,消费者116无需搜索因特网114上的任何和所有数据库。所有网络100上的内容提供商(包括内容提供商102)向单独的中央数据库108发布它们的内容描述。例如,对于视频内容,该描述可包括电影名称、演员等等。通过这种方式,当想要内容时,消费者116使用搜索引擎110搜索数据库108。当找到内容时,数据库108其后提供到具有所要内容的内容提供商202的链接。之后,消费者116访问内容提供商102,以查看更详细的描述和其它与该内容相关联的元数据。
提供一种机制,由此消费者116将最靠近它的缓存服务器的列表提供给内容提供商102。作为对消费者116的请求的响应,内容提供商102选择合适的最靠近消费者116的缓存服务器,以流传送内容。然而,应该观察到,在今天的Aerocast网络中,内容为网络100透明地(in the clear)流传送。不利地,由于未受保护,内容可能为未授权的消费者截取,导致内容提供商与消费者的实质损失。
网络100的其它不利之处包括缺乏认证、隐私、消息完整性与持续保护。
因此,存在对解决上述问题的需求,本发明满足了这一需求。

发明内容
本发明涉及一种数字权利管理架构,其用于向授权消费者安全地递送内容,并用于在各种网络组件之间安全地传输数据。
根据本发明的第一方面,该架构包括消费者系统,其通过IP(网际协议)通信网络连接到内容提供商。架构进一步包括KDC(密钥分发中心)和缓存服务器,其也连接到通信网络。授权用户可能希望访问来自内容提供商的内容。用户采用消费者系统,比方说,以从内容提供商URL选择想要的内容。依次地,内容提供商向消费者系统提供会话权利对象,该会话权利对象用于访问请求的内容。会话权利对象可包含用户选择的购买选项。或者,它可包含内容访问规则。购买选项刻画内容的特征,也就是它是否是免费的,还是仅供订阅的,按查看次数付费的,等等。内容访问规则的一个例子是指定地理位置之外的区域不能进行内容访问。
在接收到会话权利对象之后,用户被重定向到缓存服务器。从该缓存服务器,请求的内容被流传送到用户。注意用户可能先前已从KDC获得缓存服务器票据。票据是认证令牌(token),它可包括客户端、服务器名、会话密钥等等。票据进一步包含授权数据,其指示订阅的服务、用户支付方式等等。其后,将该票据和会话权利对象呈现给缓存服务器,其将会话权利对象内的用户选择和/或内容访问规则与来自票据的授权数据进行比较。如果信息匹配,内容被流传送到用户。以这种方式,提供了一种架构,其向授权用户安全地提供内容,而拒绝未授权用户的访问。
根据本发明的另一方面,教导了一种权利管理架构,其用于向授权用户安全地递送内容。架构包括内容提供商与从内容提供商请求内容消费者系统。内容提供商生成会话权利对象,其具有消费者选择的购买选项。KDC其后向消费者系统提供授权数据。另外,提供缓存服务器,其用于比较购买选项与授权数据。如果购买选项匹配授权数据,缓存服务器将请求的内容转发给消费者系统。注意缓存服务器采用实时流来安全地发送加密的内容,并且请求的内容被加密,以发送给消费者系统。进一步地,缓存服务器与消费者系统交换加密的(并且是被认证的)控制消息,以支持传输请求的内容。以这种方式,组件之间的所有接口受到加密保护和/或认证。
根据本发明的另一方面,使用了一种权利管理方法,其用于在缓存服务器上安全地预布置内容。该方法包括提供内容提供商、缓存服务器与密钥管理协议的步骤。该协议采用多种消息,以安全地传输内容。一种消息是密钥请求消息,其由内容提供商发送到缓存服务器。该消息用于初始化密钥管理的目的。作为对其的响应,密钥应答消息由缓存服务器发送到内容提供商。在交换密钥请求/密钥应答消息之后,建立起一套密钥,其用于建立从内容提供商向缓存服务器的安全内容递送。
根据本发明的另一方面,公开了一种协议,其用于在通信网络的组件之间保护数据传输安全。协议包括提供具有数据库的中央服务器的步骤。接着,从内容提供商向中央服务器公布内容。进一步地,协议包括提供记账中心服务器的步骤,并从缓存服务器向记账中心服务器报告记账信息。另外,提供供应数据库,其中数据库使用消费者信息来更新。其后,协议使用一种密钥管理协议,以保护公布到中央服务器的数据的安全。另外,当报告记账信息和更新供应数据库时,数据安全受到保护。
有利地,本发明混合公钥技术与对称密钥方案,在快速获得时间与最小的代码复杂度的限制下,获得了用于内容分发的最好的“软件”实现的安全性。而且,在本架构下,网络与服务提供商相互独立,并且有能力简便地与特定网络集成。


图1是网络的框图,该网络用于便利通信网络上的内容的流传送。
图2是IPRM(网际协议权利管理)系统的框图,该系统集成ESBrokerTM协议,以将密钥管理与安全性应用到图1的网络,其遵照本发明的一个示例性的实施例。
图3是当消费者(客户端)向缓存服务器(服务器)发起密钥管理时,安全性与密钥管理协议的高层流图,其遵照本发明的一个示例性的实施例。
图4是当缓存服务器(服务器)向内容提供商(客户端)发起密钥管理时,安全性与密钥管理协议的高层流图,其遵照本发明的一个示例性的实施例。
图5是框图,其描述消费者的初始注册与内容的接收,其遵照本发明的一个示例性的实施例。
通过参照说明书的余下部分与附图,可实现对本发明的本性与优点的进一步理解。对本发明的“步骤”的引用不应被理解为限于“步骤加功能”方法,并且无意指代实现本发明的特定次序。下面参照所附的附图详细地描述本发明的进一步的特性与优点,以及本发明的各种实施例的结构和操作。在附图中,相同的引用编号指示同样的或功能上类似的组件。
具体实施例方式
图2是IPRM(网际协议权利管理)系统200的框图,该系统集成ESBrokerTM协议,以将密钥管理与安全性应用到图1的网络100,其遵照本发明的一个示例性的实施例。
除其它组件之外,IPRM系统200包括内容提供商202,消费者216,因特网214,供应中心206,中央服务器205(其包含数据库208与搜索引擎210),缓存服务器212、213与215,所有上述组件的功能与图1中的对应组件相似。另外,IPRM系统200包括KDC(密钥分发中心)204,其包含AS(认证服务器)207(其用于向消费者206发布TGT(票据授予票据)),TGS(票据授予服务器)209(其用于提供服务器票据,以访问特定服务器),供应服务器220,以及记账中心211。KDC 204、记账中心211、供应中心206与中央服务器205均位于中央单元218之内,以便利IPRM系统200内的服务的供应。
进一步地,IPRM系统200包含IPRM代理202A(其用于为内容提供商202管理权利管理),会话权利对象202B(其用于包含用户选择与内容规则),IPRM代理212A(其用于为缓存服务器212管理权利管理),IPRM代理213A(其用于为缓存服务器213管理权利管理),IPRM代理215A(其用于为缓存服务器215管理权利管理),IPRM代理216A(其用于为消费者216管理权利管理),以及查看器(未显示)(其位于消费者216之内,用于接收想要的内容)。尽管未显示,前述组件可以位于其相关联的组件之内。例如,IPRM代理202A可以位于内容提供商202之内,而不是之外,如所显示的那样。
如所注解的那样,IPRM系统200一般用于便利内容以安全的方式流传送到消费者216,其使用缓存服务器212、213与215。内容提供商202仅提供内容一次,其后它可被移动到缓存服务器之间。缓存服务器的目的是将内容移动到离IPRM系统200的边沿更近的地方。这改善了流传送的性能,并且允许更小的内容提供商销售它们的内容,而无需购买用于流媒体的昂贵的硬件。这也允许仅在缓存服务器引入IP组播(在网络上的单个发送者与多个接收者之间进行通信)。在目前的技术下,将IP组播限制在局域网要比在因特网上进行IP组播更容易。
遵照第一实施例的本发明通过KDC 204,IPRM代理202A、212A、213A、215A与216A向IPRM系统200提供安全性。IPRM代理和KDC204与供应中心206向IPRM系统200的所有方面提供认证、隐私、完整性与访问控制工具。例如,在消费者能够利用系统来流传送内容之前,必须进行注册过程。IPRM系统200向消费者提供安全注册。这样,在注册过程中,其它人不可能通过截取消费者216与KDC 204之间的消息来复制消费者216的标识。KDC 204是受信任的实体,并向网络组件提供密钥分发,其使用对称与非对称算法的混合。这些算法可使用一种或多种软件指令来实现。或者,它们可在安全加密硬件中提供。
本系统的另一个提供安全性的方面是当内容在节点之间传输时,缓存服务器与内容提供商202之间的接口。其它提供安全性的方面是缓存服务器的安装,内容从内容提供商到缓存服务器的递送,在缓存服务器之间移动内容,使用数据的报告,记账,消费者资料更新,内容公布;以及初始消费者签约。尽管没有指示,本领域普通技术人员将意识到,还可以保护其它方面的安全,其与本发明的精神与范围相一致。
KDC 204与IPRM组件可以是纯软件保护,其对于消费者216给于有限信任,或者可以是硬件安全模块,对于从要求高安全级别的权利所有者获取高质量内容的权利,其可以是强制性的,或者可以是软件与硬件的组合。IPRM使用一种认证密钥管理协议,其具有高可扩展性,可以扩展到以百万计的用户。该密钥管理协议称为ESBrokerTM(电子安全性经纪人),是加利福尼亚州圣地亚哥Motorola公司的产品,为本说明书全篇所引用。
ESBrokerTM协议部分地基于Kerberos框架,其包括客户端与集中式的密钥分发中心(KDC 204)以及各个应用服务器的交互。KDC客户端是任何主机,其能够向KDC发送请求。在IPRM系统之内,这包括消费者、缓存服务器与其它IPRM系统组件。应用服务器是任何在KDC上注册的服务器,客户端可以要求用于该服务器的服务票据(例如缓存服务器、记账中心等等)。
如这里所使用的,票据是由KDC给予客户端的认证令牌。除其它信息之外,票据包含客户端的名字、特定服务器的名字与会话密钥(对称加密密钥)。客户端名字与会话密钥需要保密,并用另一个称为服务密钥的密钥加密。服务密钥是保密密钥,其仅为KDC和票据内指定的服务器所知。因为客户端也并不拥有该服务密钥,它没有能力解密该票据并改变其内容。正常地,客户端还需要知道会话密钥,并且由于它不能从票据中取得它,KDC向该客户端发送同一会话密钥的单独的副本。
为了认证带有票据(例如ESBroker密钥请求消息)的消息,客户端在该消息内包括票据和用于票据内的会话密钥的校验和的值。注意票据内的会话密钥被用服务器的服务密钥加密。当票据内指定的服务器从客户端接收到该消息,它能够用它的服务密钥解密票据,验证客户端名字并取得会话密钥。其后,使用会话密钥来验证加密的校验和,从而认证整个消息。
这种基于票据的认证是Kerberos IETF(因特网工程任务组)标准(RFC 1510)的一部分,并且也为ESBroker协议利用。本领域技术人员也理解,可以采用基于其它标准的其它认证技术。票据可以有其它信息,包括有效期(开始时间与过期时间)、各种标记、客户授权数据等等。授权数据字段可包含订阅的服务、地理位置、用户支付方式以及与用户授权相关的其它数据。
同一主机在同一时间可以既是KDC客户端,又是应用服务器。对于IPRM系统200,协议采用了一系列消息,以实现系统的客户端与服务器接口之间的密钥管理。该密钥管理协议被设计为通用于建立安全会话,而不是局限于IPRM系统。这些消息列于下面的表1,并在题为IPRM协议消息的小节中进一步地描述。
表1


在操作中,客户端与服务器之间的密钥管理过程分为两个阶段(1)通用阶段,其中客户端与KDC 204保持联系,以获取服务器票据访问服务器;和(2)非通用阶段,其中客户端使用服务器票据,以形成给服务器的KEY_REQ(密钥请求)消息。在非通用阶段中,DOI(解释域)对象包含信息,其特定于通用ESBroker密钥管理协议的特定应用(例如特定于IPRM系统)。例如,在消费者216(客户端)与缓存服务器215(服务器)之间的密钥管理过程中,通用阶段涉及消费者216从KDC 204获取服务器票据,以访问缓存服务器215。非通用过程涉及使用服务器票据来生成KEY_REQ消息,以访问缓存服务器215,其中KEY_REQ包含DOI对象,其包含会话权利,会话权利包含用户选择以及(可选地)内容规则。典型地,比如说,内容规则可以是对特定地理区域的限制。需要注意的是,内容规则一般适用于所有用户。进一步地,协议中使用哪个消息取决于密钥管理由客户端还是服务器发起。如果服务器发起,则除其它消息之外,还可以采用TKT_CHALLENGE(票据询问)消息,如参照图4所更清晰地显示的那样。
图3是当消费者216(客户端)向缓存服务器215(服务器)发起密钥管理时,安全性与密钥管理协议的高层流图,其遵照本发明的一个示例性的实施例。
如所显示的那样,希望从缓存服务器215以安全的方式流传送内容的消费者216发起密钥管理过程。这通过向KDC 204发送AS_REQ消息,以获取用于TGS服务器209的TGT(票据授予票据)来做到。AS_REQ消息包含消费者216的标识,KDC 204的标识,更特定地,KDC领域或管理域,以及不重性(nonce),以将其与响应联系起来。它还可包含对称加密算法列表,其为消费者216所支持。当然,做出了这样的假设,消费者216与缓存服务器215均已通过KDC 204注册,KDC 204作为受信任的认证者,能够验证两个节点的标识。
如所显示的那样,作为对AS_REQ消息的响应,KDC 204验证TGT请求,与供应服务器220检查消费者216的有效性,并在其后响应以包含TGT的AS_REP消息。需要注意的是,TGT的私密部分被用KDC204的服务密钥加密,该密钥仅为KDC 204所知。同一KDC 204服务密钥也被用于认证包含加密的哈希值的TGT。由于消费者216不知道KDC 204服务密钥,它不能修改它,也不能读取票据的私密部分。因为消费者216在其后到KDC 204的认证中仍然需要知道会话密钥,使用密钥协议算法(例如,椭圆曲线Diffie-Hellman)向消费者216递送会话密钥的另一份副本。
在接收和存储TGT之后,消费者216准备开始请求网络上的流内容。向KDC 204(TGS服务器209)发送包含TGT的TGS_REQ消息,以从缓存服务器215请求票据。需要注意的是,消费者216可以进行额外的供应行动,例如订制特定的内容提供商。另外,消费者216可以创建偏好的缓存服务器的列表。
作为对TGS_REQ消息的响应,从KDC 204向消费者216发送TGS_REP消息,其具有缓存服务器票据。如果存在另外的偏好的缓存服务器,消费者216可使用TGT来联系KDC 204,以获取用于偏好的缓存服务器的缓存服务器票据。这些缓存服务器票据之后可被缓存,以备将来之用。否则,在从适当的缓存服务器请求内容时获取缓存服务器票据。
对于一些消费者而言,在发布缓存服务器票据之前,KDC 204首先需要向供应服务器220查询订阅者授权数据。这通过在KDC 204和供应服务器220之间交换AUTH_DATA_REQ/AUTH_DATA_REP来完成。用户授权数据可插入到票据。缓存服务器票据具有与TGT相同的格式,它包括会话密钥,用于到缓存服务器215的认证。票据的私密部分被用缓存服务器215的服务密钥加密,该密钥仅为它和KDC 204所知。票据也用哈希值认证,该哈希值使用同一服务密钥加密。如TGT的情形那样,消费者216不能修改该票据。消费者216需要来自缓存服务器票据的会话密钥,以向服务器认证自己。该会话密钥的一份副本被递送给消费者216,其被用TGT会话密钥加密。
从AS_REQ消息开始到TGS_REP消息的过程对应于上面标注的通用阶段,其中客户端与KDC 204联系,以获取服务器票据,以访问服务器。因为它是通用的,同一过程被用于保护其它接口,包括从内容提供商到缓存服务器的内容递送;使用报告;记账,等等。进一步地,这导致更安全的IPRM系统,而无需不必要的或复杂的选项。而且,由于复杂度的减小,问题被迅速地鉴别和矫正。
在接收包含缓存服务器票据的TGS_REP消息时,向缓存服务器215发送包含该票据的KEY_REQ消息。除缓存服务器票据之外,KEY_REQ消息包含消息的MAC(消息认证代码),DOI(解释域)对象与时间戳。DOI对象用于携带与该安全会话相关联的应用特定的信息。在本实施例中,DOI对象包含用于消费者216的会话权利信息。会话权利由内容提供商202提供。将会话权利封装到DOI对象的原因在于会话权利特定于(包含缓存服务器的)本特定内容递送架构,而ESBroker协议提供通用密钥管理服务。ESBroker可以应用到其它类型的安全会话,其应用特定的信息也封装在DOI对象之中。
当缓存服务器215接收到通用KEY_REQ消息时,它提取出非通用的DOI对象。缓存服务器215之后检查,比如说,用于流传送的应用特定的代码,验证DOI对象和授权信息。如果会话权利匹配票据内的授权数据,则向消费者216转发包含会话密钥的KEY_REP消息。注意,授权数据来自票据,且会话权利对象包含用户选择和/或内容规则。将用户选择与授权数据和内容规则进行比较。如果内容规则不在会话权利对象之内,缓存服务器必然是业已使用某种其它方法从内容提供商取得它们。进一步地,可能有一些内容规则来自其它来源,例如电缆提供商。
当会话权利匹配授权数据时,从这一点开始,两边都具有协议密钥,并且能够开始加密它们的最终消息,例如流内容。如果授权失败,则向消费者转发错误消息。需要注意的是,在一些实例中,KEY_REP消息包含通用DOI对象,其中缓存服务器215需要向消费者216返回某些应用特定的信息。例如,在IPRM系统中,当缓存服务器向内容提供商发送票据询问,以请求安全会话时,会话ID在晚些时候由缓存服务器提供于KEY_REP消息内的DOI对象之内。票据询问消息是未经认证的,因此不包含DOI对象。
此阶段(KEY_REQ/KEY_REP)对应于非通用阶段,其中客户端使用服务器票据来形成给服务器的密钥请求。此阶段是非通用的,这是因为DOI对象随受保护的接口而变化。例如,涉及自内容提供商向缓存服务器递送内容的DOI对象与用于从缓存服务器向订阅者递送同一内容的DOI对象不同。
图4是当缓存服务器215(服务器)向内容提供商202(客户端)发起密钥管理时,安全性与一种可能的密钥管理协议的高层流图,其遵照本发明的一个示例性的实施例。注意,缓存服务器也可以使用密钥请求消息来与内容提供商发起密钥管理,如图3所示。图4所示的方法提供了对服务器发起的密钥管理的优化,消除了服务器获取然后缓存潜在大量的客户端票据的需要。
当接收到对内容的请求,并且缓存服务器215没有所请求的内容时,缓存服务器215发起密钥管理。如所显示的那样,可通过从缓存服务器215向内容提供商202发送TKT_CHALLENGE(票据询问)消息来发起密钥管理。TKT_CHALLENGE供服务器使用,以引导客户发起密钥管理。
在决定框224,如果内容提供商202有先前获得的缓存服务器票据,它向缓存服务器215转发包含该票据的KEY_REQ消息。作为响应,缓存服务器215发送KEY_REP消息,如上面先前所讨论的那样。另一方面,返回决定框224,如果内容提供商202没有缓存服务器票据,也没有TGT,它向KDC 204发送AS_REQ消息,KDC 204答复以AS_REP消息。如果内容提供商有其TGT,则跳过AS_REQ/REP。
其后,内容提供商202向KDC 204发送TGS_REQ消息,并接收包含缓存服务器票据的TGS_REP消息。当得到缓存票据时,内容提供商202发送KEY_REQ消息,在此情形中,其不含DOI对象。会话ID可以在应答或请求或两者之内;会话权利不适用,因为内容提供商202与缓存服务器215都不是消费者。一旦建立起共享密钥,内容提供商202向缓存服务器215发送SEC_ESTABLISHED消息(未显示)。由于服务器发起密钥管理,SEC_ESTABLISHED消息通知服务器安全性已建立。
有利地,应该观察到的是,同样的消息,也就是TKT_CHALLENGE、AS_REQ/AS_REP、TGS_REQ/TGS_REP、KEY_REQ/KEY_REP、SECURITY_ESTABLISHED,被用在多个协议与场景内,其取决于由客户端还是服务器发起密钥管理。如果服务器请求密钥管理,则可以使用所有消息,包括TKT_CHALLENGE消息。反之,如果客户端发起密钥管理,则采用除TKT_CHALLENGE之外的所有消息。应该观察到的是,当客户端发起密钥管理时,也常常跳过安全性建立消息。有利地,由于在所有接口上利用单个密钥管理协议,更易于分析系统是否安全。另外,系统使用同样的密钥管理来保护流内容与非流内容,包括记账数据,仅对DOI对象字段有所变化。
图5是框图,其描述消费者216的初始注册与内容的接收,其遵照本发明的一个示例性的实施例。
希望从缓存服务器215接收内容的新消费者216可以与中央单元218初始地签约。
在框502,消费者216使用网页浏览器来访问中央单元218提供的网站(未显示)。消费者216来到初始签约与软件下载页面,下载并安装查看器应用程序,包括任何IPRM组件。作为另一种可供选择的方案,查看器应用程序与IPRM组件可以使用可移除式介质,例如CD-ROM,分发给消费者。
在框504,消费者216启动查看器,以发起到供应服务器220的SSL(安全套接字层)会话。使用中央单元218证书(未显示)来发起会话。证书是消费者216先前获取的签名的中央单元218的公钥。在SSL会话开始后,消费者216填写初始签约表单,其包括用于用户ID的表单。或者,用户ID可由中央单元自动分配。消费者216接着确定本地主机标识符,并将它以及其它信息发送给供应服务器220。(这由查看器透明地完成)。
在框506,供应服务器220提取出用户ID,并将其转换为ESBrokerTM当事人名字。当事人名字是唯一地命名的消费者或服务器实例,其参与IPRM系统200。在此情形中,查看器当事人名字与分配给该查看器的订阅者ID相同。在将用户ID转换为ESBrokerTM当事人名字之后,供应服务器220向KDC 204发送命令,以在KDC 204数据库(未显示)中生成新的ESBrokerTM当事人。该命令也包括消费者主机标识符。
在框508,KDC 204为消费者216生成包含供应密钥(会话密钥)的供应票据。在本发明的一个实施例中,供应密钥可以是对称密钥。KDC 204使用供应密钥来认证其自身与消费者216之间的消息。其后,将供应票据以及SKS(会话密钥种子)返回给供应服务器220。由于消费者216不能访问供应密钥(其被使用KDC 204密钥加密),消费者216使用SKS来重构位于供应票据之内的供应密钥。
在框510,除供应票据之外,消费者216下载配置参数,包括用户ID、票据过期时间(已包含在票据的未加密部分)、KDC 204名字和/或地址等等,以及(可选地)软件组件,包括ESBrokerTM守护进程。应该观察到的是,软件组件可能已在本注册过程之前下载,如Aerocast网络中的情形那样。之后,SSL连接被终止。
在框512,ESBrokerTM守护进程被使用下载的配置参数初始化。
在框514,生成公钥/私钥对,用于认证消费者216与KDC 204之间的AS_REQ消息。公钥从消费者216转发到KDC 204。这通过使用CLIENT_ENROLL_REQ消息来实现。该消息包含公钥,消费者216使用派生自SKS的供应密钥对其(对称地)签名。由于不能访问供应票据内的供应密钥,消费者216使用单向函数从SFS派生出供应密钥。向软件客户端分发票据与供应密钥的问题在于软件客户端可能拷贝票据与密钥,以转发给未授权的软件客户端。为解决这一问题,消费者216接收SKS,而不是实际的供应密钥。联合SKS与独特的主机标识符使用单向方程生成供应密钥。SKS特定于特定主机,不能用于其它任何地方。在本实施例中,消费者216执行下面的函数来重新产生供应密钥Provisioning key=SKGen-1(Host ID,SKS)其中SKGen-1()是单向函数;SKGen-1()不可能在合理的时间之内(例如在小于票据生命期的时间内)计算出来。
在框516,当接收到CLIENT_ENROLL_REQ消息时,KDC 204在其本地数据库内查找消费者216,以验证该请求。如果请求有效,KDC 204将公钥存储到客户端数据库内,其可以位于KDC本地,或者存储到可安全访问的某个其它的远程位置。作为另一种可供选择的方案,KDC 204可使用公钥生成证书,以转发给消费者216。之后,向消费者216转发CLIENT_ENROL_REP消息,其确认密钥已被存储(或者,作为另一种可供选择的方案,其包含客户端证书)。
在框518,消费者216现已登记,并且可以联系网站(未显示),网站包含数据库208,具有一系列来自各个提供商(包括内容提供商202)的内容。当查找到想要的内容时,消费者216被重定向到内容提供商202。
在框520,消费者216然后联系被重定向到的内容提供商202,并传送其偏好的缓存服务器列表、订阅服务列表、其支付内容的能力等等。
在框522,内容提供商202提供购买选项的优化子集,其依赖于特定消费者与服务的前后关系。例如,对于已订阅该服务的消费者,可以绕过价格选择屏幕。
在框524,内容提供商202生成会话权利对象,其封装消费者216选择的购买选项,可选的内容访问规则(例如管制区域)的集合和对所选内容的引用。例如,当消费者216从内容提供商请求这些会话权利时,消费者216生成的会话ID,其为随机数。会话权利对象可能具有结束时间(在该时间之后,这些会话权利不再有效),提供商ID,等等。可选地,会话权利对象可包含内容规则。作为另一种可供选择的方案,这些规则可使用某种带外方法递送给缓存服务器。
在框526,内容提供商202将消费者216重定向到适当的缓存服务器。在此情形中,内容将流传送自离消费者216最近的缓存服务器215。如果签约时消费者216先前已缓存用于缓存服务器215的缓存服务器票据,则它重新得到该票据。如果没有缓存的票据,它使用TGT联系KDC 204,以获取正确的缓存服务器票据。
在框528,消费者216使用缓存服务器票据向缓存服务器215认证自己,同时(在同一KEY_REQ消息内)向缓存服务器215转发自内容提供商202获取的会话权利对象。消费者216与缓存服务器215之间的通信使用上述KEY_REQ/KEY_REP消息来完成。
在框530,缓存服务器215将会话权利对象内的访问规则与票据内包含的消费者216的权利以及会话权利对象内的用户选择(消费者选择的购买选项)进行核对。权利基本上是特定于消费者216的授权数据,其允许对内容的访问。内容访问规则集是可选的,这是因为它可以与内容一起直接递送到缓存服务器215。进一步地,缓存服务器215能够可选地从多个来源收集额外的内容访问规则。例如,接入网络提供商(例如电缆系统运营商)可能对通过其网络的递送施加某些限制。
在框532,如果访问被批准,消费者216与缓存服务器215协商内容加密密钥(CEK),其用于内容的递送。
在框534,消费者216开始向缓存服务器215发布加密的RTSP命令,以取得内容的描述(RTSP URL),并于其后请求播放该内容。
在框536,缓存服务器215接收RTSP命令,将其解码并返回加密的RTSP响应。当RTSP命令请求播放特定URL时,缓存服务器215验证该特定URL是会话权利对象为该安全会话(由会话ID标识)所指定者。
在框538,在接收到播放RTSP URL的请求之后,缓存服务器215开始发送加密的RTP分组,并且缓存服务器215与消费者216均周期性地发送加密的RTCP报告分组。与同一RTSP URL相关联的全部RTP与RTCP分组使用同一会话ID加密,该会话ID在缓存服务器215开始从消费者216接收加密的RTSP消息时录制。
在框540,消费者216解密并播放内容。同时,消费者216可发布额外的RTSP命令(例如暂停或恢复播放内容),其仍使用同一会话ID加密。缓存服务器215保持跟踪谁查看了内容,内容被查看了多长时间,内容以何种机制被购买。该信息之后被用于记帐目的,无论其被引导到消费者216还是广告者。有利地,本系统允许在来自各个提供商的多个内容之间容易地转换,而只需输入一次记账信息,例如信用卡号。当请求内容时,关于消费者的信息被透明地传输给内容提供商。消费者体验是相对地容易的,这是由于无需记住多个访问代码。
公布内容当内容提供商202想要将内容公布到中央服务器205时,使用与上面所述相同的协议步骤。例如,中央服务器205建立与内容提供商202的安全联系,向它发送KEY_REQ消息,继之以KEY_REP,如上面所描述的那样。
在缓存服务器之间递送内容要求内容的缓存服务器通过提供源缓存服务器票据来发起认证与密钥递送过程。如果它尚未处理该票据,它使用其TGT从KDC 204请求它。
报告记账数据当KDC 204发布消费者216用于缓存服务器(也就是缓存服务器215)的服务票据时,它向该票据添加消费者授权数据,例如订阅数据与许可的购买选项。基于消费者216授权数据和由内容提供商202生成并由消费者216转发的安全对象,缓存服务器215将向消费者216授予对内容的访问权限,并记录使用与购买信息。周期性地,缓存服务器将联系记账中心211,以报告记账信息。缓存服务器将使用记账中心票据向记账中心认证自己。一旦完成认证,缓存服务器将记录的记账信息安全地传输给记账中心211。记账中心211可从供应中心维护的消费者数据库重新得到消费者数据(记账地址、信用卡等等)。中央单元218可通过协同定位的记账系统来记账,或者与居于本地网络运营商或内容提供商站点的记账系统协调。
缓存服务器的初始安装一般地,缓存服务器215使用与上面所述相类似的机制取得供应,除了SERVICE_KEY_REQ/SERVICE_KEY_REQ之外,其用于初始地获取以及其后更新它的服务密钥。这允许自动地按时间表更新服务密钥,从而降低了特定服务密钥受到危害的机会。
流内容与非流内容有两种基本类型的受保护内容流内容与非流内容。使用下面的协议来递送实际的流内容或与该内容相关的信息流内容RTP(实时协议)/RTCP(实时控制协议)、RTSP(实时流协议)。内容在服务器之间的非流传输流描述包含SDP(会话描述协议)的RTSP。其它非流内容HTTP(供应,发布到目录的内容);基于TCP(传输控制协议)或UDP(用户数据报协议)的定制协议(内容使用报告)。流内容。在基于标准的系统中,典型地,流内容使用RTP递送。本IPRM系统中还可保护另外的专有流协议,例如Real与Microsoft的WindowsMedia。
RTP安全服务实现了认证、加密与消息完整性,以确保未授权方不能查看付费内容。
RTP加密机制每个媒体RTP分组均被加密,以保证隐私。两个端点有能力协商出特定的加密算法,如由系统配置定义并由服务器控制的那样。加密适用于分组的有效载荷。RTP报头具有RFC-1889格式。头十二个字节出现于每个RTP分组,而CSRC标识符列表仅在被混合器插入时才出现。
RTP分组编码可使用下面的过程编码每个分组发送方为该分组查找会话ID。查找可基于SSRC(RTP同步源)或目的IP地址与UDP端口。(在点到点递送的情形中,会话ID为随机数,在该连接的两个端点上均唯一)。依次地,会话ID标识用于加密该分组的安全参数集。这些参数是(1)EKRTP加密密钥。该加密密钥仅用于加密一个方向上的通信(例如总是从缓存服务器到其消费者216)。在IPRM系统中,存在双向RTP会话,因此每个会话仅有一个RTP加密密钥。(2)16字节初始化矢量(IV)。在第一方面,分组主体(不包括RTP报头)使用所选的CBC模式中的块密码来加密。在一个实施例中,使用AES(高级加密标准)密码。AES操作于128比特块。如果最后的块比它短,可使用特殊处理来加密它,称为RBT(残留块终止)。
RTP分组解码使用下面的过程解码每个分组接收方为该分组查找会话ID。查找可基于SSRC(RTP同步源)或源IP地址与UDP端口。(在点到点递送的情形中,会话ID为随机数,在该连接的两个端点上均唯一)。依次地,会话ID标识用于解密该分组的安全参数集。这些参数是EKRTP加密密钥;初始化矢量(IV),其使用单向函数自RTP分组报头派生。应该观察到的是,由于每个RTP分组报头包含不同的序列号或时间戳,导致每个分组有唯一的IV。
RTCP分组编码编码的RTCP分组包含原始的加密的RTCP分组加上一些另外的字段●安全会话标识符●分组序列号●IV(初始化矢量),仅在所选加密算法是CBC模式(密码块链)的块密码时需要●MAC消息认证代码,以提供消息完整性使用下面的过程编码每个分组使用源IP地址与UDP端口来为该分组查找会话ID。(在点到点递送的情形中,会话ID为随机数,在该连接的两个端点上均唯一)。依次地,会话ID标识用于加密该分组的安全参数集。这些参数是EK媒体流加密密钥(与RTP相同),KMAC消息认证密钥。
接着,确定序列号。对于第一个使用当前安全参数发送的RTCP消息,它是0,此后递增1。接着,生成随机初始化矢量(IV),其大小与密码块大小相同。接着,使用所选的CBC模式的块密码来加密RTCP消息。目前,可使用AES密码。AES操作于128比特块。如果最后的块比它短,可使用特殊处理来加密它,称为RBT(残留块终止)。其后,装配除MAC之外的编码的RTCP消息,并且计算RTCP消息的MAC,并将其添加到相同的消息。
RTCP分组解码使用下面的过程解码每个分组使用报头内的会话ID来查找安全参数集,以解密该分组。这些参数是EK媒体流加密密钥(与RTP相同)KMAC消息认证密钥。计算编码消息的MAC,不包括MAC字段自身。验证计算出的MAC与编码消息内的值匹配。如果它们不匹配,中止进一步的解码并报告错误。验证序列号,如下面的子节中指定的那样。如果验证失败,消息被作为重播而拒绝。使用所选的CBC模式的块密码来解密加密的RTCP消息。用于该消息的IV被包含在编码消息之中。
序列号验证有两种情形的序列号验证当消息通过UDP接收时和当它通过TCP接收时。尽管RTCP消息始终通过UDP发送,同样的消息解码规则适用于RTCP之外的协议。
对通过TCP发送的应用消息的序列号验证接收的消息的序列号比先前接收的消息的序列号大。当序列号比先前的消息增加超过一时,接收者接受消息。(如果接收者的内部缓冲区上溢,丢失某些尚未处理的进来的消息,这一情况就可能发生。)对通过UDP发送的应用消息的序列号验证使用滑动窗口协议来验证序列号滑动窗口的大小W取决于UDP传输的可靠性,并在每个端点本地配置。参数W可以是32或64。滑动窗口的最有效率的实现是使用比特掩码与比特移位操作。在接收者处理来自安全会话的UDP流内的第一分组之前,滑动窗口内的第一序列号被初始化为0,最后一个为W-1。所有窗口之内的序列号在第一次(出现)时被接收,但在重复时被拒绝。所有比窗口的“左”边沿更小的序列号被拒绝。当接收到的受认证的分组的序列号比窗口的“右”边沿更大时,接受该序列号,并且以该序列号替代窗口的“右”边沿。更新窗口的“左”边沿,以维持同样的窗口大小。当对于窗口(SRIGHT-W+1,SRIGHT),接收到序列号SNEW,并且SNEW>SRIGHT,则新窗口变为(SNEW-WRTCP+1,SNEW)RTSP编码如果编码的RTSP消息直接为代理接收,其立刻解码它们,则它们可以以二进制格式编码。然而,如果RTSP消息由某个中间HTTP接力代理转发,它们可以以可打印的ASCII编码。RTSP消息的二进制编码与RTCP消息的编码相同。在要求可打印的ASCII编码的情形中,然后对RTSP的二进制编码进行基-64(base-64)编码。以如下方式编码RTSP分组使用与RTCP分组相同的过程来创建二进制编码。如果要求可打印的ASCII,对二进制编码进行基-64编码。在基-64编码的每80个字符后插入<CR><LF>。如果最后一行少于80个字符长,在末尾添加另一个<CR><LF>。
RTSP消息解码以如下方式解码每个编码的RTSP消息如果RTSP消息是基-64编码,首先去处<CR><LF>字符,并将ASCII消息基-64解码为二进制编码。解码二进制编码,其与上面用于RTCP分组的(过程)完全相同。在某些情形中,要求客户端(例如查看器)获取会话权利,以从第三方(原始服务器)接收该内容。在这些情形中,客户可将其对于该内容的会话权利置于密钥请求消息内的DOI对象之内来传递。对于点到点的递送,一般使用RTSP协议自身来请求以RTSP URL标识的特定内容的流传送。RTSP客户端软件应该验证以安全RTSP消息请求的RTSP URL确实对应于与该安全会话(其以会话ID标识)相关联的会话权利内的RTSP URL。
IPRM协议消息下面是对表1内列出的协议消息的进一步讨论。
消息AS_REQ消息AS_REQ被发送到ESBrokerTM认证服务器(KDC 204),以获取票据授予票据,KDC客户端使用其来从服务器请求票据。消息包含客户端的标识、服务器的标识以及该客户端支持的对称加密算法的列表。为了核对重播,该消息也包含时间戳。提供签名,以保证消息的完整性。签名可以是加密的校验和(例如HMAC)或者数字签名。数字证书可选地可以包括在该消息中,并且可以替代保存的公钥,在后面的阶段中验证数字签名。用于验证加密的校验和的客户端的永久对称密钥可保存于同一用户数据库内。消息也包括公钥信息,其为密钥协定所必需(例如椭圆曲线Diffie-Hellman参数)。
消息AS_REPAS_REP由KDC 204生成,以响应AS_REQ。KDC 204在数据库内查找服务器与客户端的密钥,并生成会话密钥,以用于KDC 204其后的认证。KDC 204生成票据授予票据,其具有明文与加密部分。TGT内的服务器的标识必须始终是‘KDC’(无引号),并且KDC领域在AS_REQ消息的服务器领域(Srealm)字段中单独列出。服务器的标识与票据有效期在发出的票据内的明文中提供。票据的加密部分包含客户端的名字、会话密钥以及任何其它必须保密的数据。票据也提供KDC 204支持的加密类型与校验和类型的列表。票据的加密部分使用KDC 204的私密密钥加密。消息由KDC 204签名,其使用与客户端在AS_REQ内指定的公钥相对应的私钥,并使用AS_REQ内指定的签名算法。公钥信息是密钥协定参数的KDC 204的公开部分,并指示与客户端所选相同的密钥协定算法。用以验证KDC 204的数字签名的公钥可由其客户端在供应期间获取。
AS REP的加密部分消息的加密部分包含与票据内同样的信息,使得客户可以访问自己的授权数据。它也包含客户端的标识,以验证该应答最初由KDC 204为此特定客户端创建。数据使用自密钥协定算法派生的对称密钥加密。然而,AS_REP的加密部分内的密钥与票据内的会话密钥不同。作为替代,它是SKS会话密钥种子,客户端将使用其组合自己的主机ID来产生实际的会话密钥。
TGS_REQ消息当希望获取用于给定服务器的认证证书时,客户端发起客户端与票据授予服务器之间的TGS交换。客户端可能已经使用AS交换取得了用于票据授予服务的票据。TGS交换的消息格式与AS交换的相似。主要的差别是TGS交换内的加密与解密不在密钥协定算法下进行。作为替代,使用来自票据授予票据的会话密钥。该消息由客户端发送给票据授予服务器,以获取缓存服务器票据(其可以用于KEY_REQ内)。客户端将自AS_REP获得的TGT作为消息的一部分。消息指定服务器的标识和客户端的标识(其在TGT内)。由于其标识在TGT内被加密,客户端隐私受到保护(在IPRM系统内该特性对于消费者216是有用的)。窥探者不能检测用户正在请求何种服务。服务器使用客户端的时间戳来检测重播。TGT内的会话密钥被用于计算消息的校验和。
消息TGS REPTGS_REP消息由KDC 204生成,以响应TGS_REQ。它包含端服务票据(由KDC 204发给,当必须请求服务时,客户将其呈现给服务器)。服务器的标识与票据有效期在发出的票据内的明文中提供。票据的加密部分包含客户端的领域、客户端的名字以及使用为服务器和KDC 204所共享的密钥加密的会话密钥。任何其它必须为私有的客户端数据被包括作为票据的加密部分的一部分。消息的加密部分包括SKS(在会话密钥字段内),客户端可使用其(以及主机ID)来生成实际的会话密钥,其可用于认证到特定的应用服务器。消息的加密部分还可包括要被呈现给服务器的客户端授权数据。KDC 204使用TGT会话密钥以加密的校验和对消息进行签名。IPRM系统2000目前利用发给消费者216的票据内的授权数据。
消息票据询问无论何时想要发起密钥管理,服务器利用票据询问消息。该消息是不受认证的,但它确实在其报头内包含STID()。如这里所使用的那样,STID(源交易标识符)是由密钥管理消息的发起者选择的唯一的随机值。
客户端的响应将在应答的DTID报头字段内包括该STID的值。甚至在没有认证的情况下,这防止了拒绝服务攻击,其中敌手能够触发不希望的密钥管理交换。该消息也包含服务器领域与当事人名字,客户端使用其来查找或获取用于该服务器的正确的票据。在IPRM系统2000之内,应用服务器以票据询问在内容提供商(客户端)与缓存服务器(应用服务器)之间的接口上发起密钥管理。票据询问消息还包括如下字段●目标协议的标识符,密钥即为该协议建立●应用角色标识特定应用程序,密钥即为该应用程序建立。当密钥管理器进程从另一主机接收到建立密钥的请求时,它将使用应用角色来查找本地应用程序,建立的密钥将交给其,且其将验证DOI对象的内容。
●应用服务器名字与领域消息密钥请求密钥请求由客户发送,以建立新的安全参数集。无论何时客户端接收到票据询问消息,它可应之以密钥请求。客户端也可使用此消息来周期性地建立与服务器的新密钥。客户端开始时具有有效票据,其先前自TGS应答中获取。服务器开始时具有其服务密钥,它可使用其来解密和验证票据。密钥请求包括客户票据与加密的校验和,其为认证客户端所需要。消息也包含时间戳(以防止重播攻击)。消息包括以下字段●目标协议的标识符,密钥即为该协议建立。
●应用角色标识特定应用程序,密钥即为该应用程序建立。
●客户端的主机的当前时间●自TGS_REP获取的服务票据,其用于标识客户端。
●客户端支持的加密算法(密码套件)的列表。
●DOI数据,其为协议特定的、应用特定的,并且可以是加密的。
●认证符,其验证DOI数据的内容,其中该认证符由第三方(例如,内容提供商)生成。
●客户端生成的MAC,其用于提供消息完整性。
密钥应答密钥应答消息由服务器发送,以响应密钥请求消息。密钥应答可包括随机地生成的子密钥,其使用客户端与服务器之间共享的会话密钥加密。子密钥的长度是DOI特定的。密钥应答包括某些额外的信息,其为建立安全参数所需要。密钥应答消息包括以下字段●目标协议的标识符,密钥即为该协议建立。
●应用角色标识特定应用程序,密钥即为该应用程序建立。
●加密的子密钥,其用于派生密钥,以保护目标协议或对象的安全。
●加密与认证算法,其应被用于保护目标协议或对象。
●加密的DOI对象,其包含某些应用特定的或协议特定的参数。
●子密钥有效的期限。
●标志,其指示新的子密钥是否应在旧的到期之前自动地协商。
●标志,其指示此消息的接收者是否应该应之以安全性建立消息。
●MAC,其用于提供消息完整性。
安全性建立安全性建立消息由客户端发送给服务器,以确认它已接收到密钥应答并成功地建立起新的安全参数。仅当密钥应答内的ACK_REQ标志被设定时,发送此消息。在服务器以票据询问发起密钥管理的情形中,它可能想看到此确认,因此可能请求它,在密钥应答内设置要求的ACK标志。此消息包括以下字段●目标协议的标识符,密钥即为该协议建立。
●应用角色标识特定应用程序,密钥即为该应用程序建立。
●MAC,其覆盖此消息与前面的密钥应答消息。
消息CLIENT_ENROLL_REQ消息CLIENT_ENROLL_REQ由客户端发送给KDC 204,该客户端希望更新其公钥,或者指定新的公钥,其尚不在KDC 204数据库内,并且不具有相应的数字证书。此消息可用供应票据与校验和进行认证,该校验和用供应密钥(供应票据内的会话密钥)加密。供应服务器可代表某个ESBrokerTM当事人使用INIT_PRINCIPAL_REQ消息获取供应票据。供应服务器之后将使用一种带外方法,以将供应票据与相应的供应密钥转发给客户端,其之后将生成此CLIENT_ENROLL_REQ。客户端也可以指定它将接受哪种类型的KDC204证书(在AS_REP消息内)。如果相应的属性(KDC 204证书类型)不存在,此客户端不支持任何类型的KDC 204证书。在接收到此消息时,KDC 204将基于其政策来决定它是否应该存储公钥,向客户发布证书,或者进行这两者。KDC 204也将决定发布哪种类型的证书。客户端不关心KDC 204将发布哪种类型的证书,因为它无需解析自己的证书。当客户端被发布证书时,它必须将其作为不透明块。客户端仅负责存储自己的证书,并将它包含在AS_REQ消息内。
消息CLIENT_ENROLL_REP此消息是对CLIENT_ENROLL_REQ的应答。它确认客户端公钥已被更新,或者为公钥指定新的客户端证书,或者进行这两者。KDC 204在发送此消息之前采取的行动基于其配置的政策。此消息用加密的校验和认证,其使用与认证请求相同的供应密钥。尽管未显示,本领域普通技术人员将认识到可使用与本发明的精神与范围相一致的各种其它消息。
媒体流密钥管理媒体流密钥管理是特定于IPRM的协议,如在票据询问、KEY_REQ、KEY_REP与安全性建立消息内使用的DOI_ID属性标识的那样。
可选地,这些消息可携带对应于DOI对象的第三方认证符。在DOI对象的生成者不是密钥管理消息的发送者,而是某个其它的第三方的情形中,该认证符是有用的。对于媒体流安全性,在某些情形中,这样的认证符是必需的,而在其它情形中则不是。
IPRM DOI对象包含会话权利对象或会话ID一个随机数,其唯一地标识点到点安全会话。会话ID的生成不要求强随机数生成器,任何基于软件的伪随机数生成器即已足够。当端点之一生成会话ID时,它确保它对于该主机是唯一的。无论何时检测到会话ID冲突,发生冲突的端点可返回应用错误代码,生成此会话ID的端点将生成另一个随机值并且重试。注意,正常地,DOI对象在KEY_REQ或KEY_REP消息之内被加密。
媒体流DOI对象有多种类型的IPRM DOI对象可用于媒体流密钥管理中●会话权利
●会话ID会话权利DOI对象正常地,当消费者216希望自缓存服务器请求安全会话以观看节目时,会话权利同KEY_REQ消息一起被发送。会话权利由消费者216自内容提供商202获取。消费者216(查看器软件)之后将此DOI对象置于KEY_REQ消息之内,该消息之后由适当的缓存服务器验证。会话权利由第三方认证符伴随,使得缓存服务器可以验证是内容提供商202生成了会话权利与此认证符。
会话权利包括会话ID,其标识特定内容流或者分发会话,以及过期时间,其用于这些会话权利。会话权利也包括用户选择,比如说,其包括●消费者216选择的购买选项。例如,购买选项可指示内容是免费的,基于订阅选择,按查看次数付费,或者按时间付费(价格依据观看了多少内容而变化)。
●内容的购买价格同样的会话权利还可包括内容规则,例如●限制将此内容分发到特定国家●限制将此内容分发到特定地理区域●服务ID列表,此内容在这些服务ID下被提供,以供订阅大体上,这些规则与选择可以是任意地复杂,并可用不同的格式表达,这些格式包括TLV(类型—长度—值)编码、XML、等等。
会话ID DOI对象会话ID DOI对象用于KEY_REQ和KEY_REP消息。当缓存服务器从另一台缓存服务器请求内容时,会话ID DOI对象将被包括到自请求缓存服务器发出的KEY_REQ消息中。当缓存服务器从内容提供商202请求内容时,会话ID DOI对象被作为KEY_REP消息的一部分发送。在此情形中,缓存服务器使用TKT_CHALLENGE消息发起密钥管理交换,并且没有机会指定会话ID,直到它发送KEY_REP消息。由于此类型的DOI对象不是由第三方创建,它不要求额外的第三方认证符。
密钥派生此密钥派生过程特定于IPRM DOI_ID值,并且适用于媒体流以及处于同一DOI_ID之下的其它目标协议。在目标应用秘密(TAS)(会话密钥与子密钥的连接)已同密钥管理一起建立时,它被用于以指定次序派生如下的密钥集。客户端派生出EK,用于输出消息的内容加密密钥。长度取决于选择的密码。
出KMAC,MAC(消息认证代码)密钥,其用于生成MAC,以认证输出消息。密钥长度取决于选择的消息认证算法。
入EK,用于输入消息的内容加密密钥。
入KMAC,MAC密钥,其用于认证输入消息。
应用服务器派生入EK入KMAC出EK出KMAC注意,入与出密钥在客户端与服务器上的派生次序是相反的,这是因为在一边用于加密出通信的密钥在另一边被用于解密入通信。类似地,在一边用于为出消息生成MAC的MAC密钥在另一边用于验证入消息的MAC值。
另外,应该观察到的是,不是所有的密钥都被用于每个协议。例如,RTP仅使用EK,加密密钥,并且仅用于一个方向上的流量,这是因为在IPRM内,没有双向的RTP会话(客户端不向流服务器回发RTP分组)。密钥派生函数是单向函数。给定一个派生的密钥,确定TAS(目标应用秘密)的值是不可行的。
尽管上面是对本发明的示例性的特定实施例的完全描述,另外的实施例也是可能的。因此,不应当将上面的描述看作是对本发明的范围的限制,该范围由所附的权利要求书连同其等同物的全部范围确定。
权利要求
1.一种权利管理架构,其用于向授权的消费者安全地递送内容,所述架构包括内容提供商;消费者系统,其从所述内容提供商请求内容;所述内容提供商生成会话权利对象,其用于访问所述内容;KDC(密钥分发中心),其向所述消费者系统提供授权数据,所述授权数据用于访问所述内容;缓存服务器,其将所述会话权利对象内的信息与所述授权数据进行比较;和如果所述信息匹配所述授权数据,所述缓存服务器将所述的请求的内容转发给所述消费者系统。
2.如权利要求1所述的架构,其中所述消费者系统被重定向到所述缓存服务器,以接收所述的请求的内容。
3.如权利要求1所述的架构,其中,所述缓存服务器与所述内容提供商组合为单个被标识的系统。
4.如权利要求1所述的架构,其中所述缓存服务器采用实时流传送,以安全地转发所述的加密的内容。
5.如权利要求1所述的架构,其中所述的请求的内容被加密,以转发到所述消费者系统。
6.如权利要求4所述的架构,其中所述缓存服务器与所述消费者系统交换控制消息,以支持所述的请求的内容的传输。
7.如权利要求6所述的架构,其中,所述控制消息被加密与认证。
8.如权利要求5所述的架构,其中所述缓存服务器包括一个或多个缓存盘,以存储加密的内容。
9.如权利要求5所述的架构,其中所述KDC分发密码密钥,所述KDC采用对称与公开算法的混合,以分发所述密码密钥。
10.如权利要求5所述的架构,其进一步包括密钥管理协议,其用于在所述缓存服务器与所述消费者系统之间建立密钥。
11.如权利要求10所述的架构,其中,所述密钥管理协议包括密钥请求消息,其用于从所述缓存服务器请求会话密钥;和作为对其响应的密钥应答消息,其用于向所述消费者系统提供所述会话密钥。
12.如权利要求11所述的架构,其中所述会话权利对象与所述授权数据被包括于所述密钥请求消息内;其中,所述缓存服务器将所述会话权利对象内的信息与所述授权数据进行比较;和如果所述信息匹配所述授权数据,则向所述消费者系统提供所述会话密钥。
13.如权利要求12所述的架构,其中所述内容提供商生成所述会话权利对象,其指定所述用户对所述内容的访问权限。
14.一种权利管理方法,其用于在从缓存服务器请求时安全地递送内容,所述方法包括提供内容提供商,其可通信地连接到所述缓存服务器;提供密钥管理协议,其包括如下步骤,从所述缓存服务器向所述内容提供商转发票据询问消息,所述询问消息用于发起密钥管理;作为对其的响应,从所述内容提供商向所述缓存服务器发送密钥请求消息;作为对其的响应,从所述缓存服务器向所述内容提供商发送密钥应答消息;作为对其的响应,从所述内容提供商向所述缓存服务器发送安全性建立消息;和作为对其的响应,从所述内容提供商向所述缓存服务器发送安全性建立消息;和建立密钥集,其用于从所述内容提供商向所述缓存服务器安全地递送内容。
15.如权利要求14所述的方法,其进一步包括提供消费者系统,其从所述缓存服务器流传送内容。
16.如权利要求14所述的方法,其进一步包括提供密钥分发中心,其用于在所述缓存服务器与所述内容提供商之间建立信任。
17.一种权利管理方法,其用于在缓存服务器上安全地预布置内容,所述方法包括提供内容提供商,其可通信地连接到所述缓存服务器;提供密钥管理协议,其包括如下步骤,从所述内容提供商向所述缓存服务器转发密钥请求消息,所述密钥请求消息用于发起密钥管理;作为对其的响应,从所述缓存服务器向所述内容提供商发送密钥应答消息;和建立密钥集,其用于从所述内容提供商向所述缓存服务器安全地递送内容。
18.如权利要求17所述的方法,其进一步包括提供消费者系统,其从所述缓存服务器流传送内容。
19.如权利要求17所述的方法,其进一步包括提供密钥分发中心,其用于在所述缓存服务器与所述内容提供商之间建立信任。
20.一种认证系统,其允许认证的用户从计算网络内的缓存服务器流传送内容,所述系统包括内容提供商,其向所述缓存服务器提供所述内容,以供所述用户访问;密钥分发中心,其从所述内容提供商接收第一请求,其请求访问所述缓存服务器,并且如果被认证,所述内容提供商向所述缓存服务器递送所述内容;和所述密钥分发中心从所述用户接收第二请求,其请求访问所述缓存服务器,并且如果被认证,所述用户被允许从所述缓存服务器流传送所述内容。
21.如权利要求20所述的认证系统,其中,所述第二请求用于缓存服务器票据,以访问所述缓存服务器。
22.一种用于保护通信网络的组件之间的数据传输安全的协议a)提供中央服务器,其具有数据库;b)从内容提供商向所述中央服务器公布内容元数据;c)提供记账中心服务器,其可通信地连接到所述中央服务器;d)从缓存服务器向所述记账中心服务器报告记账信息;e)提供供应数据库,其连接到所述中央服务器;f)以消费者信息更新所述供应数据库;和g)使用密钥管理协议,以在步骤b)、步骤d)与步骤f)的任何一个或多个的期间安全地传输数据。
23.如权利要求22所述的协议,其中所述密钥管理协议包括转发密钥请求消息,所述密钥请求消息用于请求会话密钥;和接收密钥应答消息,所述密钥应答消息用于提供会话密钥。
全文摘要
本发明公开一种数字权利管理架构,其用于向授权的消费者安全地递送内容。所述架构包括内容提供商(202)和从内容提供商请求内容的消费者系统(216)。内容提供商生成会话权利对象(202B),其具有消费者选择的购买选项。KDC(204)其后向消费者系统提供授权数据。同时,提供缓存服务器(215),用于比较购买选项和授权数据。如果购买选项匹配授权数据,缓存服务器(215)将请求的内容转发给消费者系统(216)。注意缓存(215)服务器采用实时流来安全地转发加密的内容,并且请求的内容被加密,以转发给消费者系统(216)。进一步地,缓存服务器(215)与消费者系统(216)交换加密的(并且是被认证的)控制消息,以支持传输请求的内容。以这种方式,组件之间的所有接口受到加密保护和/或认证。
文档编号H04L9/08GK1631000SQ02822760
公开日2005年6月22日 申请日期2002年11月15日 优先权日2001年11月15日
发明者亚历山大·麦德文斯基, 彼得·彼得卡, 保罗·莫罗尼, 埃里克·斯普龙克 申请人:通用仪表公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1