专利名称:用于多媒体内容预加密的加密、验证和密钥管理的制作方法
背景技术:
每天都会有数十万人以电子方式进行交互。例如,人们通过使用电子邮件(e-mail)相互通信和发送信息。为了管理、保护和传送重要的信息,个人与企业都极大依赖于计算机或其他电子设备的网络。此外,每一天都经由银行网络和自动柜员机(ATM)来传递数百万美元。而个人平日则是通过使用蜂窝电话和其他无线个人数字助理(PDA)来进行通信及传送信息的。
因特网是由数百万台相互连接的计算机构成的,它的出现显著促进了电子交互。因特网允许进行几乎即时的通信,实际上它允许在世界上的任何地方传送信息。而万维网(www)则被用于在线商务、数据分发、市场交易、证券交易、在线银行、游戏、科技研发、学习以及种种其他活动。
当各方以面对面方式或是使用纸张之类的物理介质来进行交互时,验证交互各方的凭证是相对容易的。例如,如果某人走进银行并且尝试提款,则银行出纳员可以在交付所要求的资金之前请求并验证他或他的标识。个人在合同上的签字也视为足以保证他或她认可该合同。同样,如果某人走进商店并且使用信用卡来购买物品,则出纳员很容易采取预防措施来合理确认该人即为信用卡的真正所有者。
然而,在电子交互领域中是不能使用这种物理验证手段的。除非个人和公司都觉得电子交互非常安全和保险,否则个人和公司是不会经由因特网来传送资金和购买物品的,此外也不会使用任何电子设备来管理和传送保密信息。因此,在以电子方式传递决策和协定的世界中,需要用于提供验证、安全和隐私的电子技术。
加密技术研究的是可用于保护敏感信息、在通信中保持机密、在事务中验证用户以及在信息传送中执行其他安全措施的技术和应用。密码分析学研究的则是如何损害或消除加密机制。例如,黑客是研究并实践密码分析学的个人。而密码学则是组合了加密技术以及密码分析学的规范。
密码学允许人们将物质世界中建立的置信度延伸到电子世界,由此允许人们以电子方式进行商务活动,而不必过度担心欺诈、机密泄漏或是缺乏安全。以电子方式传送的信息的长期增加也导致了越来越依赖于密码学。
例如,密码学技术有助于保护网站并使电子传输更为可靠。由此允许个人进行在线银行业务、在线贸易以及使用信用卡来进行在线购物,而不用担心危及其帐户信息的安全。对因特网和电子商务的持续增长而言,密码学是非常重要的。
此外,在电话、电视和各种其他公共家庭物品中同样使用了密码学。如果没有密码学,则黑客更容易存取他人的私人电子邮件、监听电话会话、接入电缆公司以及获取免费的电缆服务或是侵占银行帐户。
在密码学中,一个主要的要点包括加密和解密。加密是将数据变换成这样一种格式,其中如果在没有电子密钥(密钥)之类的恰当资料的情况下不能在合理的时间量中进行访问,则所述格式在表面上是无法了解以及极度困难的。以下将对密钥进行说明。加密的目的是通过向任何非预期人员甚至是那些可以访问加密数据的人员隐藏信息来确保隐私。解密则是加密的逆过程。它是将加密数据反向转换成一种可理解的格式。例如,对一个需要确保安全的网站而言,在存储数据与接收数据的计算机之间发送的所有数据都是需要加密的。然后,接收计算机必须能够解密这些数据。
如上所述,成功的加密和解密依赖于某些在理论上只有执行加密和解密的各方才知道的保密资料。这种资料称为密钥。密钥通常是一个随机或伪随机比特序列。因此,没有正确密钥的人是不能发送、接收或解译其他人的敏感信息的。此外,密钥还被用于电子验证、数字签名、数字时戳和其他电子安全目的。
电子通信技术的发展导致产生了借助超文本传输协议(HTTP)、实时协议(RTP)和实时流协议(RTSP)之类的网际协议(IP)网络而在因特网上下载和/或流式传输多媒体内容能力和需要。如果内容是下载的,则在客户查看、使用或收听内容之前已经从内容供应商那里将内容全都下载到了客户设备中。另一方面,如果内容是流式传输的,则客户在查看、使用或收听内容之前不必等待完全下载内容。与此相反,流式内容是作为可以在到达时查看、使用或收听的分组序列来发送的。用户需要一个能够播放流式内容的观察器或播放器应用。可以经由因特网而从内容供应商那里流式传输和/或下载到客户电子设备(例如个人计算机)中的多媒体内容的实例包括视频点播(VOD)、实时影像和音频广播、软件、电子书、电影和音乐。如下文和附加权利要求中所使用的那样,除非以别的方式具体表示,否则将会使用术语“内容”来扩展引用所有那些可以流式传输或下载的数字内容,其中包括但不局限于多媒体内容以及电子文档。
很明显,目前需要的是将内容安全递送到合法客户。因此,内容供应商必须对经由因特网发送的内容进行加密。传统上,在向客户递送内容时,内容供应商是实时加密内容的。然而对内容供应商来说,实时加密内容并不总是合乎需要或是可行。因此在本领域中,与实时加密内容相反,内容供应商需要能在经由因特网传送加密内容之前加密该内容。在为了进行下载或流式传输内容而对内容进行传送之前进行的内容加密称为脱机加密或预加密。预加密会降低那些与实时加密相关联的成本和开销。此外在本领域中还需要进行与预加密相关联的密钥管理和分发。
发明内容
在众多可能实施例中的一个实施例中,本发明提供了一种将内容从内容供应商那里传送到高速缓存服务器的方法。然后,高速缓存服务器将内容分发给一个观察器。所述方法包括在向高速缓存服务器传送内容之前使用一个预加密机应用来加密内容。所述预加密机应用则使用了密钥存储服务提供的子密钥来执行预加密。
本发明的另一个实施例提供了一个网际协议权利管理系统,以便对从内容供应商到高速缓存服务器以及随后从高速缓存服务器到观察器的内容传输进行管理。该系统包括一个在向高速缓存服务器传送内容之前加密所述内容的预加密机应用。此外该系统还包括一个用于产生、存储和分发子密钥的独立密钥存储服务。预加密机应用则使用了子密钥来加密内容。此外,在对内容进行加密并将其传送到高速缓存服务器之后,高速缓存服务器还使用了子密钥来对内容进行解密。
附图描述的是本发明的不同实施例并且构成了说明书的一部分。这里描述的实施例只是本发明的实例,它们并没有对本发明的范围进行限制。
图1是可用于实施本发明实施例的示范性的内容递送架构。
图2描述的是一个将来自内容供应商的内容经由高速缓存服务器安全地流式传输或下载到一个观察器的优选IPRM架构。
图3描述的是一个包含了预加密应用的示范性IPRM架构及其相关的密钥管理和分配系统。
图4是一个详细描述了可用于实施本发明实施例的示范性预加密方法及其相关的密钥管理和分配方法的流程图。
图5是一个描述了高速缓存服务器用以检索与特定的预加密内容相关联的子密钥以便能够解密预加密内容的示范性方法的流程图。
在所有附图中,相同的参考数字表示的是相似但却不一定相同的部件。
具体实施例方式
本说明书描述了一种方法和系统,借助于这种方法和系统,内容供应商可以使用一个单独的预加密机应用而以脱机方式加密内容,其中所述应用并没有与内容供应商的流式和内容文件服务器相结合。本说明书还描述了一种与预加密相关联的密钥管理分发方法和系统。
预加密和密钥管理分发的方法和系统是在一个网际协议权利管理(IPRM)系统中实现的。这个IPRM系统提供了诸如验证、隐私、安全、完整性之类的数字权利管理功能,并且提供了针对任何基于IP协议的多媒体下载或流式传输网络所进行的存取控制。例如,优选的IPRM系统支持视频点播(VoD)之类的点到点递送以及内容的多播递送。并且优选的IPRM系统还包含了永久存取问题。在这里将永久存取定义成存取一个客户已经接收并保存在本地永久存储器(例如硬盘)上的本地内容拷贝。永久权利则包括回放或再现内容、拷贝保护、重新分发给其他用户或设备以及打印权等等。
示范性的IPRM系统是以软件保护为基础的,其中对客户机寄予了有限的信任度。然而,在这里也可以使用可选的硬件安全模块来增强IPRM系统。在某些应用中,这个硬件安全模块可以从需要高安全等级的版权所有者那里强行得到关于高质量内容的权利。
图1是可用于实施本发明一个实施例的示范性内容递送架构。如图1所示,内容供应商(100)将内容经由高速缓存服务器(101)递送到一个观察器(102)。如在下文和附加权利要求中所使用的那样,除非以别的方式具体表示,否则术语“高速缓存服务器”表示的是能够使用任何预期的流式或文件传送协议而将内容递送到观察器的任何类型的服务器,其中不必顾及所述递送借助的是点到点还是多播连接。根据本发明的一个实施例,所述递送既可以采用内容下载形式,也可以采用内容流的形式。优选地,观察器(102)包括一个能够显示、广播和管理所下载的或是流式传输的内容,并且观察器最好在个人计算机(PC)、服务器或其它类型的电子设备之类的主机上运行。优选地,观察器(102)是由用户或客户机来进行操作的。
在图1的示范性架构中,内容供应商(100)可以提供多种多媒体内容服务。举例来说,这些内容可以是VOD、付费点看(PPV)、按时计费(PBT)、按质量计费(PBQ)、流式视频或音频等等。根据本发明的一个实施例,内容供应商(100)对经由高速缓存服务器(101)流式传输到观察器(102)的内容进行预加密。以下将结合图3和图4来对预加密方法及其相关的密钥管理及分发方法进行更详细的说明。
如图1所示,内容供应商(100)优选地将内容提供给一个高速缓存服务器(101),而高速缓存服务器转而将内容递送到观察器(102)。高速缓存服务器(101)则被用于移动那些更接近网络边缘的内容。这样一来就提高了流式传输和下载的性能,并且允许更小的内容供应商在不需要购买用于媒体流传输的昂贵硬件的情况下出售其内容。此外它还允许只在高速缓存服务器(101)上引入IP多播。而多播则是指同时将相同内容递送到一个或多个用户。尽管使用高速缓存服务器(101)是更为优选的,但这并不是必需的。本发明的另一个实施例则是直接将内容从内容供应商(100)那里流式传输到观察器(102)。然而出于说明的目的,本说明书假设存在某种高速缓存服务器(101)。
图1的优选内容递送架构还显示出为所述内容递送系统中的每个部件提供集中服务(103)。优选地,集中服务(103)包含了密钥管理和分发服务。如图1所示,较为优选的是,内容递送系统中的每个部件都能与集中服务(103)进行通信。举例来说,如下文更详细描述的那样,观察器(102)可以通过从集中服务(103)那里请求票证来得到验证并被允许接收来自高速缓存服务器(101)的内容。
图2描述的是一种优选的IPRM架构,该架构提供的是将内容安全地从内容供应商(100)经由高速缓存服务器(101)流式传输或下载到观察器(102)。如图2所示,内容供应商(100)优选包括一个HTTP或RTP服务器(200)。并且较为优选的是,内容供应商(100)还包括一个包含了内容的存储单元(202)。所述存储单元(202)可以是硬盘或是能够存储内容的任何其他设备。优选地,HTTP或RTP服务器(200)可以使用包含了将要传送到观察器(102)的内容的存储单元(202)。所述内容可以是根据本发明一个实施例的暗示内容。暗示内容则包含了提示轨迹的内容,或是能使内容得到流式传输的信息。然而,所述内容也不一定是得到暗示的。
如图2所示,内容供应商的HTTP或RTP服务器(200)、高速缓存服务器(101)以及观察器(102)各自都是通过使用IPRM密钥管理接口而与密钥分发中心(KDC)(201)进行通信并且从中获取票证的,其中所述密钥分发中心优选地是集中服务(103)的一部分。如下文和附加权利要求中所使用的那样,除非以别的方式具体表示,否则KDC指的是任何创建、管理和分发票证的集中服务,其中所述票证包含了允许在内容供应商(100)、高速缓存服务器(101)和观察器(102)之间进行安全通信的密钥。这种安全通信简化了加密内容的传递和解密。在图2中,IPRM密钥管理接口是由相对模糊的箭头来表示的。如图3所示,密钥管理接口(204)是HTTP或RTP服务器(200)与高速缓存服务器(101)之间的密钥管理,其中创建了只有这个接口才具有的密钥并且在每次将内容发送到高速缓存服务器(101)的时候都对内容进行了加密,即使在多次发送同一内容的时候也是如此。密钥管理接口(205)则是高速缓存服务器(101)与观察器(102)之间的密钥管理,它被用于获取那些加密和解密发送到观察器(102)的内容所需要的密钥。
IRPM密钥管理接口需要一个能够扩展到大约数百万用户并且能与KDC(201)之类的集中管理或分布式数据库对接的协议。一种示范而非限制性的协议是电子保密中介(ESBroker)协议。ESBroker协议基于的是Kerberos框架,其中包含了与KDC以及单独的应用服务器所进行的客户机交互,所述应用服务器可以是内容供应商的服务器(200)以及缓存器服务器(101)。优选地,这些交互既使用了公共密钥又使用了对称密钥算法。然而,在这里也可以使用除ESBroker协议之外的其他协议。优选地,ESBroker协议或者所使用的任何其他协议都是通用的协议,这些协议很容易适用于分布式环境中那些需要验证和加密的不同应用。如下文和附加权利要求中所使用的那样,除非以别的方式具体表示,否则将会使用ESBroker协议来引证任何那些可以在IPRM密钥管理接口中使用的可能协议。
如先前所述,KDC(201)对票证进行分发。票证是一个帮助客户向服务器验证其自身的记录。优选的票证包括了客户身份、会话密钥、时戳以及其它信息。所有这些信息都是使用服务器的秘密密钥来封装的。例如,观察器(102)必须通过与KDC(201)进行通信来获取一个票证,随后则将所述票证给予高速缓存服务器(101),以便进行相互验证。如果高速缓存服务器(101)确定该票证是一个有效票证,则可以成功地将内容流式传输到观察器(102)。
根据本发明的一个实施例,票证的使用是ESBroker密钥管理协议的一个中心部分。在图2中,观察器(102)和内容供应商服务器(200)都是高速缓存服务器(101)的客户机。此外,高速缓存服务器(101)可以是用于在高速缓存服务器之间移动内容的其他高速缓存服务器的客户机。因此,较为优选的是,图2中的所有实体都从KDC(201)那里获取票证。
如图2所示,较为优选的是使用ESBroker密钥管理协议(204,205)而在内容供应商的服务器(200)与高速缓存服务器(101)之间以及在高速缓存服务器(101)与观察器(102)之间建立安全会话。在建立了安全会话之后,可以对内容供应商服务器(200)与高速缓存服务器(101)之间以及高速缓存服务器(101)与观察器(102)之间传送的消息进行加密和/或验证。优选地,举例来说,每一个新的安全会话都具有自己的唯一一组密钥,这组密钥只在观察器(102)与高速缓存服务器(101)这样的两个主机之间共享。优选地,即使在相同的两个主机之间存在多个安全户会话,所述密钥也不在这些安全会话之间得到共享。
图2显示的是一个从内容供应商的服务器(200)流向高速缓存服务器(101)以及从高速缓存服务器(101)流向观察器(102)的示范性RTP流。根据本发明的一个实施例,在这里对这些RTP流进行了加密,并且可选地对其进行了验证。图2还显示了关联于高速缓存服务器(101)与观察器(102)之间的RTP流的RTCP和RTSP控制业务量。优选地,这个控制业务量也经过了加密和/或验证,从而为客户提供了保密性,此外还保护客户免受可能导致拒绝服务的协议操作攻击。在图2中还显示了一个从内容供应商的服务器(200)到高速缓存服务器(101)的示范性HTTP下载。这个下载可以是一个从高速缓存服务器(101)到观察器(102)的HTTP下载。优选地,这些HTTP下载也经过了加密和/或验证。
在图2中显示了观察器(102)与内容供应商(100)之间的一个示范性HTTP接口。这个HTTP接口是可选的,举例来说,所述接口可用于内容浏览、选择以及“内容购买”屏幕。优选地,这个HTTP接口还受到加密和/或验证的保护。而为内容提供条件存取并不是必然需要所述保护。但是举例来说,在用户确认购买内容之后,他或她的选择以及相关的内容规则需要以密码形式加以保护,以免受到损害,从而避免客户改变选择或是相关的成本。因此,较为优选的是,内容供应商(100)在一个名为会话权利对象(SRO)的受密码保护的对象中返回用户选择以及内容规则。为保护SRO,并且较为优选的是,尽管内容供应商(100)与选定的高速缓存服务器(101)之间有可能并没有直接交换任何密钥管理信息,但是内容供应商还是获取了一个对应于选定高速缓存服务器(101)的票证。
图2还显示了高速缓存服务器与其数据库(203)之间的一个优选接口。如图2所示,较为优选的是,数据库(203)保存或缓存那些经过加密的内容。并且较为优选的是,在这里对数据库中保存的所有内容都进行了加密。然而如图2所示,缓存在数据库(203)中的所有加密内容最好由高速缓存服务器(101)进行解密,然后则在将内容递送到观察器(102)之前由高速缓存服务器(101)再次对其进行加密。
现在结合图3来描述一种优选的预加密方法以及与之其相关的密钥管理和分发。图3描述的是一个具有预加密能力的示范性IPRM架构。IPRM密钥管理接口是由相对模糊的箭头来表示的。如图3所示,较为优选的是,内容供应商(100)包括一个存储单元(202),其中包含了将要下载或是流式传输到观察器(102)的内容。该内容首先是用预加密机应用(300)来进行加密的,其中较为优选的是,所述应用是由内容供应商(100)来进行操作的。预加密机应用(300)可以位于内容供应商(100)之中,也可以位于一台单独的主机之中。在加密了内容之后,所述内容将会保存在另一个存储单元(302)中。在某些应用中,这个存储单元(302)与用于保存未加密内容的存储单元(202)是相同的。现在如图3所示,存储单元(302)包含了已经经过了预加密机应用(300)加密的内容。而存储单元(302)可以是任何类型的存储单元,例如硬盘。本发明的另一个实施例则提供了一种方法,借助于这种方法,在将内容存入存储单元(302)之前,预加密机应用(300)会加密并提示所述内容。在这种情况下,存储单元(302)包含的是得到提示的加密内容。
图3描述的是预加密机应用(300)与密钥存储服务(KSS)(301)一起优选执行ESBroker密钥管理(303),以便创建和保存那些用于内容预加密的密钥。优选地,KSS(301)是一个负责为特定内容的预加密分配密钥、永久存储这些密钥以及在请求时将其分发给高速缓存服务器(101)的独立组件。然后,高速缓存服务器(101)能够对使用这些密钥进行预加密的内容进行解密。对ESBroker协议而言,用于预加密的密钥来自子密钥。子密钥是一个保密值,它是由服务器在ESBroker密钥应答消息中返回的。在图3的示范性方案中,这个服务器是KSS(301)。Kerberos具有相似的子密钥概念,其中可以在一个Kerberos AP应答消息中导出所述子密钥。如在下文和附加权利要求中所使用的那样,除非以别的方式具体表示,否则术语“预加密子密钥”和“子密钥”是可以互换使用的,由此引用了一个子密钥,其中KSS(301)产生所述子密钥,以便推导出在内容预加密和验证过程中使用的密钥,以及在对这个预加密内容进行解密以及完整性验证的过程中使用的密钥。
KSS(301)位于内容供应商(100)的位置,其中内容是根据一个实施例来进行保存和预加密的。根据另一个实施例,KSS(301)处于图3中未曾显示的中心位置。而另一个实施例则是KSS(301)与预加密机应用(300)处于同一主机。优选地,内容供应商(100)对传送到观察器(102)的SRO中的KSS的位置进行编码,以使高速缓存服务器(101)了解到从何处获取正确的子密钥。
较为优选的是,经过预加密的子密钥保存在KSS(301)的一个关系数据库中。优选地,所述数据库接口是允许进行各种关系数据库引擎的互操作的开放式数据库互接(ODBC)。较为优选的是,在这里使用了与KDC用以加密并验证它所产生和分发的密钥的技术相同的技术来对保存在数据库中的预加密子密钥进行加密和验证的。优选地,数据库为每一个预加密内容都保持了具有下列字段的记录(1)内容标识或标识符(ID),(2)加密的子密钥,(3)选定的加密和验证算法,以及(4)验证器。内容ID是一个为某个KSS(301)所特有的标识符。每个内容都具有自己的内容ID。举例来说,内容ID可以是所述内容的统一资源定位符(URL)也可以是通用资源识别码(URI)。推导内容ID的确切方法则依赖于特定的应用,在这里不再对此进行更详细的描述。根据另一个实施例,除了上述字段之外,在这里可以使用其他字段。
如图3所示,较为优选的是,预加密机应用(300)以及高速缓存服务器(101)从KDC(201)那里请求票证,以便与KSS(301)进行通信。然而,如果预加密机应用(300)和KSS(301)同处于相同的主机,那么根据特定的应用,预加密机应用(300)可能需要也可能不需要为了与KSS(301)进行通信而从KDC(201)那里请求票证。
在例如图3所示的结构中,当从内容供应商(100)那里将预加密内容传送到高速缓存服务器(101)时,除了预加密之外,可以在没有任何附加安全措施的情况下使用一个常规的文件传送协议来传送内容。由于对内容进行了加密,因此高速缓存服务器(101)可以原样保存所述预加密内容。当高速缓存服务器(101)开始与观察器(102)进行一个流式传输或是下载会话时,它会使用ESBroker密钥管理(304)来从KSS(301)那里获取恰当的解密子密钥。非常重要的是,在这里应该注意,高速缓存服务器(101)仍旧与观察器(102)一起执行相同的ESBroker密钥管理(205),以便使用那些为特定客户机和内容所特有的密钥来建立一个安全的流式会话。与结合图2所描述的不进行预加密的情况一样,在与观察器(102)进行的流式会话过程中,高速缓存服务器(101)对缓存的加密内容进行解密,然后则使用一个与观察器(102)建立的安全会话来再次加密所述内容。
如图3所示,在内容供应商的服务器(200)与高速缓存服务器(101)之间有可能存在一个RTP流式会话,与预加密相反,所述会话是在运行时加密的。在同一IPRM架构中,较为优选的是既支持预加密也支持运行时加密。这是因为实况内容之类的某些内容是不能预加密的,并且这些内容必须始终由内容供应商的服务器(200)在运行时进行加密。优选地,内容供应商(100)能够选择预加密内容还是在运行时加密内容。
而另一个实施例则可选地要求使用一个消息验证码(MAC)来验证所述内容。在这里,MAC附加于每一个预加密的内容存储单元。而所述存储单元可以是一个分组或是一个帧。
图4是一个详细描述了可用于实施本发明实施例的示范性预加密方法以及与之相关的密钥管理和分配方法的流程图。在图4的实例中,假设预加密应用已经从KDC那里获取了一个使之能与KSS进行通信的票证。
图4的预加密方法可以将一个提示处理与内容的预加密相结合。稍后则可以将这个方案中创建的预加密和被提示内容下载到高速缓存服务器(101),以便流式传输到观察器(102)。同样,如果只对内容进行预加密,则稍后可以将预加密内容下载到高速缓存服务器。根据本发明的一个实施例,如果要将内容流式传输到观察器(102),则必须对所述内容进行提示。
如图4所示,预加密方法始于预加密机应用向KSS发送一个密钥请求(400)。优选地,所述密钥请求是一个ESBroker密钥请求消息,其中包含了一个“存储”操作命令。所述密钥请求要求产生一个新的预加密子密钥,其中内容加密和验证密钥是从所述新的预加密子密钥中产生的。在这种情况下,由于KSS会产生一个预加密子密钥,然后将子密钥的一个拷贝保存在其数据库中,因此在这里将会使用“存储”操作命令。
然而如上所述,KSS可以与预加密机应用处于同一主机之中。在这种情况下,较为优选的是,密钥请求命令并不是由预加密机应用发送到KSS的,并且主机将会执行远端KSS所要执行的全部功能。然而在图4的实例中,KSS是位于远端的。较为重要的是,在这里应该指出,IPRM系统有可能具有多个KSS。因此,内容供应商优选地对其预加密机应用进行配置,以便能与预期的KSS进行通信。
如图4所示,密钥请求优选地包含所述内容的内容ID。一旦KSS接收到密钥请求,则它首先将所发送的内容ID与已经保存在其数据库中的内容ID进行比较(401)。如果所发送的内容ID不匹配KSS数据库中已经保存的内容ID之一,则KSS产生一个新的子密钥(403)。然后,KSS将新的子密钥连同其相关信息一起保存在其数据库中(404)。优选地,所述相关信息包含了新的内容ID以及选定的加密和验证算法。
然而,如果所发送的内容ID不匹配KSS数据库中已经保存的内容ID之一,则不会产生新的子密钥(402)并且KSS将会拒绝密钥请求。这是因为在将要加密的内容与已经预加密的内容之间假设存在一个命名冲突。如果内容供应商希望改变内容并且随后再次预加密所述内容,则内容供应商可以定义一个新的内容ID(例如包括内容版本号的URL或URI)。作为选择,内容供应商可以使用一个管理接口,以便首先移除KSS数据库内部的一个对应于该内容的现有条目。
如图4所示,当在KSS数据库中保存了新的子密钥及其相关信息之后,KSS会将新的预加密子密钥发送到预加密机应用(405)。优选地,在这个传输中包含了选定的加密和验证算法。较为优选的是,所述传输是通过发送一个ESBroker密钥应答消息而被完成的。
现在,预加密机应用使用了从KSS(406)接收的子密钥来预加密内容。如结合图3所描述的那样,在对内容进行预加密之后,所述内容优选保存在一个存储单元之中(407)。现在,预加密内容则准备使用标准的文件下载协议下载到高速缓存服务器中,而在内容传送过程中则不需要应用任何附加的安全措施。
图4的密钥管理和分发方法的一个优点是所述方法与预加密应用相互分离。这样则顾及了在同一地点进行的内容和加密密钥管理或是加密密钥的远端管理。
本发明的另一个优点在于KSS可以将子密钥永久保存在一个数据库中,以便以后由高速缓存服务器进行检索。图5是描述了一种示范性方法的流程图,借助于所述方法,高速缓存服务器可以检索一个与特定的预加密内容相关联的子密钥,从而对预加密内容进行解密。
图5的示范性方法假设高速缓存服务器已经从内容供应商那里下载了预加密内容。此外在图5的实例中还假设高速缓存服务器已经从KDC那里请求并获得了使之能与KSS进行通信的票证。
图5的方法始于观察器向高速缓存服务器发送一个带有观察器票证以及SRO(会话权利对象)的密钥请求。高速缓存服务器对SRO以及票证进行评估,并且判定准许这个观察器接收所请求的内容。然后,高速缓存服务器产生一个用于对递送给观察器的内容重新加密的新的子密钥,并将所述子密钥返回给观察器(501)。然而,由于预加密了所请求的内容,因此高速缓存服务器当前并不具有相应的预加密子密钥。因此,高速缓存服务器随后向KSS发送一个密钥请求以及与所要解密的预加密内容相关联的内容ID(502)。优选地,高速缓存服务器在本地缓存了预加密密钥,这样一来,在另一个观察器下次请求相同内容的时候,高速缓存服务器已经具有了一个本地存储的预加密子密钥拷贝,并且不需要再次向KSS发送一个密钥请求。优选地,所述密钥请求是一个ESBroker密钥请求消息,其中包含了一个“检索”操作命令。由于高速缓存服务器希望从KSS检索到一个子密钥,因此在这里使用的是“检索”操作命令。
如图5所示,密钥请求优选包含了与预加密内容相关联的内容ID。一旦KSS接收到密钥请求,则它首先将所发送的内容ID与已经保存在其数据库中的内容ID进行比较(503)。如果所发送的内容ID与已经保存在KSS数据库中的内容ID之一不匹配,则不将子密钥发送到高速缓存服务器(504)并且不能成功解密所述预加密内容。
然而,如果所发送的内容ID与已经保存在KSS数据库中的内容ID之一相匹配,则KSS优选将与其数据库中的匹配内容ID相关联的子密钥发送到高速缓存服务器(505)。优选地,这个传输是通过发送一个ESBroker密钥应答消息来完成的。然后,高速缓存服务器使用所获取的子密钥来解密预加密内容(506)。优选地,在这里并未直接使用子密钥来解密预加密内容。取而代之的是,内容解密和验证密钥首先来源于子密钥,然后则被用于解密和验证内容。随后,高速缓存服务器可以重新解密内容并且使用一个来自不同子密钥的内容加密和验证密钥而为消息完整性产生新的消息验证码(MAC)(507)。在这个步骤中使用的子密钥与高速缓存服务器在(501)中发送到观察器的子密钥是同一子密钥。
现在将要描述的是一个示范性方案,在这个方案中,优选的IPRM系统能够执行预加密以及密钥的管理和分发。这个方案将对上述实施例进行描述。此外,它还产生了本发明的几个附加实施例。在这个方案中,客户从一个内容供应商那里请求将要流式传输或是下载到其观察器上的点播内容。优选地,观察器是一台个人计算机或是其他任何能够从因特网中下载内容的电子设备。首先,客户使用一个标准的因特网网络浏览器而与一个搜索引擎取得联系。客户可以使用这个搜索引擎来找出他希望得到的内容。一旦发现了希望得到的内容,则将其观察器重定向到内容供应商。
然后,观察器与所指向的内容供应商取得联系,并且传送其优选的高速缓存服务器列表、预订服务列表、内容支付能力以及特定应用所规定的任何其他相关信息。然后,内容供应商提供经过优化的购买选项的子组,这些选项依赖于特定客户和服务的环境。例如,已经预订了服务的客户可以绕过价格选择屏幕。
然后,内容供应商优选地产生一个封装了客户所选择的购买选项的SRO、一组可选的内容访问规则(例如中断区域)以及一个针对选定内容的引用。随后,内容供应商则将观察器重定向到恰当的高速缓存服务器。
如果观察器先前缓存了相关的高速缓存服务器票证,则它重新检索所述票证。如果它没有缓存票证,则它与一个KDC取得联系并且请求一个使之能与高速缓存服务器进行通信的票证。在某些应用中,观察器是通过向KDC发送一个票证授予票证(TGT)来产生这个票证请求的。所述TGT被用作一个置信令牌,以使观察器适合与票证许可服务(例如KDC)进行交谈,从而获取高速缓存服务器票证。
然后,观察器使用高速缓存服务器票证而向高速缓存服务器验证其自身。在成功验证之后,观察器将它从内容供应商那里获取的SRO转发到高速缓存服务器。然后,高速缓存服务器依靠票证中包含的观察器权利而对来自SRO的存取规则进行检查,如果高速缓存服务器许可观察器请求,则观察器和高速缓存服务器协商产生一个密钥,以便使用ESBroker密钥管理来递送内容。
然后,观察器开始向高速缓存服务器发布RTSP命令,以便获取关于内容的描述(例如它的RTSP URL)并且随后则请求播放该内容。优选地,RTSP命令是经过加密和验证的。然而在某些应用中,RTSP命令的加密和验证是无法进行的。
高速缓存服务器接收RTSP命令,对其进行解码并且返回RTSP响应。如果观察器发送加密形式的RTSP命令,则较为优选的是对高速缓存服务器的RTSP响应进行加密。当RTSP命令请求播放一个具体的URL时,高速缓存服务器将会核实指定的URL即为在SRO中为特定会话所规定的内容。
在接收到播放RTSP URL的请求之后,高速缓存服务器开始发出经过加密的RTP分组,并且高速缓存服务器和观察器周期性地发送RTCP报告分组。优选地,RTCP分组也是经过加密和验证的,但是在某些应用中,这个操作既不能实现也不合乎需要。优选地,所有那些与同一RTSP URL相关联的RTP以及RTCP分组都是使用同一安全会话来进行加密的。
在高速缓存服务器开始向观察器发送带有经过加密的有效负载的RTP分组之前,它需要获取一个对应于相应内容的解密密钥。如果内容供应商的服务器使用运行时加密而将内容传递到高速缓存服务器,则高速缓存服务器将会预先使用本地产生的密钥来对内容进行重新加密,以便进行本地存储。因此,在这种情况下,高速缓存服务器已经拥有了解密内容所需要的解密密钥。
然而,如果内容是由一个预加密机应用进行预加密的,则高速缓存服务器未必具有内容解密密钥。如果出现这种情况,则高速缓存服务器是通过执行以下步骤来获取密钥的。首先,它为预加密内容确定KSS的位置。这个位置可以在先前从观察器得到的SRO中给出,也可以在高速缓存服务器中以手动方式配置。接下来,高速缓存服务器将一个密钥请求消息发送到要求得到用于预加密内容的子密钥的KSS。这个消息包含了内容ID。然后,KSS用一个密钥应答消息来做出响应,其中所述消息包含了预加密子密钥并且优选地包含了用于加密和验证算法的ID,其中所述加密和验证算法将被用于预加密特定内容。此外,较为优选的是,高速缓存服务器为来自相同或其他观察器的针对相同内容的后续请求保存了这个预加密子密钥的一个拷贝。
然后,高速缓存服务器使用子密钥来对每一个从本地存储单元中读入的RTP分组有效负载进行解密。随后,它使用一个不同密钥来对内容重新加密,其中所述密钥是结合观察器而使用ESBroker密钥管理来建立的。之后则将带有重新加密的有效负载的RTP分组发送到观察器。
随后,观察器解密并播放内容。同时,观察器可以发布附加的RTSP命令,这个命令可以通过使用同一安全会话来进行加密。例如,这些附加的RTSP命令可以包括暂停或恢复内容播出的命令。
优选地,高速缓存服务器记录了查看内容的人员,查看内容的时间以及购买内容所依据的机制。然后,这个信息可被用于进行计费或是视为特定应用所必需的其他目的。
先前给出的描述只是说明和描述本发明的实施例。在这里并不意图进行穷举或是将本发明限制在所公开的任何确切形式。根据上述教导,可以进行多种修改和变化。而本发明的范围则是由下列权利要求来进行限定的。
权利要求
1.一种将内容从内容供应商传送到高速缓存服务器的方法,其中所述高速缓存服务器将所述内容分发给观察器,所述方法包括在将所述内容传送到所述高速缓存服务器之前,使用一个预加密机应用来加密所述内容,所述预加密机应用使用密钥存储服务提供的预加密子密钥来执行所述预加密。
2.权利要求1的方法,其中在将所述内容传送到所述高速缓存服务器之前,所述内容供应商以电子形式将使用所述预加密机应用加密的所述内容保存在一个存储单元中。
3.权利要求1的方法,还包括从所述预加密机应用向所述密钥存储服务发送一个密钥请求,所述密钥请求包含与所述内容相关联的内容标识符;以及将所述内容标识符与所述密钥存储服务的数据库中已经存在的内容标识符相比较;其中,如果所述内容标识符不匹配所述密钥存储服务的所述数据库中已经存在的所述内容标识符之一,则所述密钥存储服务产生所述预加密子密钥,将所述预加密子密钥的拷贝以及所述内容标识符存储在所述数据库中,以及将所述预加密子密钥发送到所述预加密机应用,以便在所述内容的所述预加密中使用。
4.权利要求3的方法,其中在将所述内容分发到所述观察器之前,所述高速缓存服务器使用所述预加密子密钥的拷贝来对所述预加密机应用所加密的所述内容进行解密,然后则使用所述高速缓存服务器与所述观察器之间共享的不同子密钥来重新加密所述内容。
5.权利要求4的方法,其中在解密所述内容以及随后将其重新加密并分发到所述观察器之前,所述高速缓存服务器以电子方式将经过预加密的所述内容保存在一个存储单元中。
6.权利要求4的方法,还包括从所述高速缓存服务器向所述密钥存储服务发送一个密钥请求,所述密钥请求包含与所述内容相关联的所述内容标识符;以及将所述内容标识符与所述密钥存储服务的所述数据库中已经存在的所述内容标识符相比较;其中,如果所述内容标识符匹配所述密钥存储服务的所述数据库中已经存在的所述内容标识符之一,则所述密钥存储服务向所述高速缓存服务器发送与所述内容标识符相关联的所述预加密子密钥的拷贝,以便在所述内容的所述解密中使用。
7.权利要求6的方法,其中所述高速缓存服务器将所述预加密子密钥的所述拷贝保存在一个存储单元中用于以后存取和使用。
8.权利要求6的方法,其中所述内容供应商向所述观察器发送一个会话权利对象,所述会话权利对象包含涉及所述密钥存储服务位置的信息。
9.权利要求1的方法,其中所述预加密机应用提示所述内容。
10.权利要求1的方法,其中所述内容供应商、所述高速缓存服务器以及所述观察器各自以电子方式与一个密钥分发中心进行通信以便获取票证,所述票证包含允许在所述内容供应商、所述高速缓存服务器以及所述观察器之间进行安全的电子通信的会话密钥。
11.权利要求10的方法,还包括使用所述会话密钥来加密所述内容供应商、所述高速缓存服务器以及所述观察器之间的所述通信。
12.权利要求1的方法,还包括将所述内容从所述高速缓存服务器流式传输到所述观察器。
13.权利要求1的方法,还包括将所述内容从所述高速缓存服务器下载到所述观察器。
14.权利要求1的方法,还包括将所述内容从所述内容供应商流式传输到所述高速缓存服务器。
15.权利要求1的方法,还包括将所述内容从所述内容供应商下载到所述高速缓存服务器。
16.权利要求1的方法,还包括使用一个附加到所述内容的每一个存储单元的消息验证码来验证所述内容。
17.权利要求4的方法,其中所述观察器包括多个观察器,每一个观察器与所述高速缓存服务器共享所述不同的子密钥。
18.一种用于对从内容供应商到高速缓存服务器以及随后从所述高速缓存服务器到观察器的内容传输进行管理的网际协议权利管理系统,所述系统包括用于在将所述内容传送到所述高速缓存服务器之前加密所述内容的预加密机应用;以及用于产生、存储和分发预加密子密钥的独立的密钥存储服务;其中所述密钥存储服务产生预加密子密钥,所述预加密子密钥由所述预加密机应用用于加密所述内容,并且在对内容进行加密并将其传送到所述高速缓存服务器之后,所述高速缓存服务器使用所述预加密子密钥来解密所述内容。
19.权利要求18的系统,其中所述内容供应商包括用于以电子方式与所述高速缓存服务器以及所述观察器进行通信的服务器;以及用于以电子方式保存使用所述预加密机应用加密的所述内容的存储单元。
20.权利要求19的系统,其中所述存储单元是硬盘驱动器。
21.权利要求19的系统,其中所述预加密机应用向所述密钥存储服务发送密钥请求,所述密钥请求包含与所述内容相关联的内容标识符。
22.权利要求21的系统,其中所述密钥存储服务将所述内容标识符与所述密钥存储服务的数据库中已经存储的内容标识符相比较。
23.权利要求22的系统,其中如果所述内容标识符不匹配所述密钥存储服务的所述数据库中已经存储的所述内容标识符之一,则所述密钥存储服务产生所述预加密子密钥,将所述预加密子密钥的拷贝以及所述内容标识符存储在所述数据库中,以及将所述预加密子密钥发送到所述预加密机应用,以便在所述内容的所述预加密中使用。
24.权利要求18的系统,其中所述高速缓存服务器包括以电子方式保存经过预加密的所述内容的存储单元,并且其中所述预加密子密钥将被用于对所述经过预加密的内容进行解密。
25.权利要求24的系统,其中所述高速缓存服务器使用与所述观察器共享的单独子密钥来重新加密所述内容。
26.权利要求24的系统,其中存储单元是硬盘驱动器。
27.权利要求23的系统,其中所述高速缓存服务器向所述密钥存储服务发送密钥请求,所述密钥请求包含与所述内容相关联的内容标识符。
28.权利要求27的系统,其中所述密钥存储服务将从所述高速缓存服务器发送的所述内容标识符与所述密钥存储服务的数据库中已经存在的内容标识符相比较。
29.权利要求28的系统,其中如果从所述高速缓存服务器发送的所述内容标识符匹配所述密钥存储服务的所述数据库中已经存在的所述内容标识符之一,则所述密钥存储服务向所述高速缓存服务器发送与所述内容标识符相关联的所述预加密子密钥的拷贝,以便在所述内容的所述解密中使用。
30.权利要求29的系统,其中所述高速缓存服务器保存所述预加密子密钥的拷贝。
31.权利要求29的系统,其中所述内容供应商向所述观察器发送会话权利对象,所述会话权利对象包含涉及所述密钥存储服务位置的信息。
32.权利要求18的系统,其中所述预加密机应用提示所述内容。
33.权利要求18的系统,所述系统还包括一个密钥分发中心,用于产生、管理票证并向所述内容供应商、所述高速缓存服务器以及所述观察器分发票证,所述票证包含允许在所述内容供应商、所述高速缓存服务器以及所述观察器之间进行安全的电子通信的会话密钥。
34.权利要求18的系统,其中所述内容传输的所述管理是用电子安全中介协议来实现的。
35.权利要求18的系统,其中所述内容包括视频点播。
36.权利要求18的系统,其中所述内容是多媒体流式内容。
37.权利要求18的系统,其中所述内容是可以下载的内容。
38.权利要求18的系统,其中所述内容供应商和所述高速缓存服务器使用附加到每一个所述内容存储单元的消息验证码来验证所述内容。
39.权利要求38的系统,其中所述存储单元是一个分组。
40.权利要求38的系统,其中所述存储单元是一个帧。
41.权利要求18的系统,其中所述观察器包括能够显示、管理或是使用所述内容的主机。
42.权利要求18的系统,其中所述密钥存储服务位于所述内容供应商的位置。
43.权利要求18的系统,其中所述密钥存储服务位于所述预加密机应用的主机上。
44.权利要求18的系统,其中所述高速缓存服务器包括多个高速缓存服务器,这些高速缓存服务器中的每一个都能从所述内容供应商那里接收内容。
45.权利要求18的系统,其中所述观察器包括多个观察器,这些观察器可以同时以电子方式与所述高速缓存服务器进行通信。
46.一种用于将来自内容供应商的内容传送到将所述内容分发到观察器的高速缓存服务器的系统,所述系统包括在将所述内容传送到所述高速缓存服务器之前借助一个使用预加密子密钥的预加密机应用来加密所述内容的装置;以及结合一个密钥存储服务来产生、存储和分发所述预加密子密钥的装置。
47.权利要求46的系统,还包括在将内容传送到所述高速缓存服务器之前以电子方式存储所述内容的装置,其中使用所述预加密机应用对所述内容进行加密。
48.权利要求46的系统,还包括用于将来自所述预加密机应用的密钥请求发送到所述密钥存储服务的装置,所述密钥请求包含与所述内容相关联的内容标识符;以及用于将所述内容标识符与所述密钥存储服务的数据库中已经存在的内容标识符相比较的装置;其中,如果所述内容标识符不匹配所述密钥存储服务的所述数据库中已经存在的所述内容标识符之一,则所述密钥存储服务产生所述预加密子密钥,将所述预加密子密钥的拷贝以及所述内容标识符存储在所述数据库中,以及将所述预加密子密钥发送到所述预加密机应用,以便在所述内容的所述预加密中使用。
49.权利要求48的系统,还包括使用所述预加密子密钥的拷贝来对所述预加密机应用所加密的所述内容进行解密的装置;以及使用所述高速缓存服务器与所述观察器之间共享的不同子密钥来重新加密所述内容的装置。
50.权利要求49的系统,还包括用于在解密、重新加密所述内容以及将其分发到所述观察器之前将经过预加密的所述内容以电子形式存储在所述高速缓存服务器的存储单元中的装置。
51.权利要求50的系统,还包括用于将来自所述高速缓存服务器的密钥请求发送到所述密钥存储服务的装置,所述密钥请求包括与所述内容相关联的所述内容标识符;以及用于将所述内容标识符与所述密钥存储服务的所述数据库中已经存在的所述内容标识符相比较的装置;其中,如果所述内容标识符匹配所述密钥存储服务的所述数据库中已经存在的所述内容标识符之一,则所述密钥存储服务向所述高速缓存服务器发送与所述内容标识符相关联的所述预加密子密钥的拷贝,以便在所述内容的所述解密中使用。
52.权利要求51的系统,还包括用于将涉及所述密钥存储服务位置的信息从所述内容供应商传送到所述观察器的装置。
53.权利要求46的系统,还包括用于提示所述内容的装置。
54.权利要求46的系统,还包括用于从密钥分发中心获取票证的装置,所述票证包含会话密钥。
55.权利要求46的系统,还包括用于将所述内容从所述高速缓存服务器流式传输到所述观察器的装置。
56.权利要求46的系统,还包括用于将所述内容从所述高速缓存服务器下载到所述观察器的装置。
57.权利要求46的系统,还包括使用附加到每一个所述内容存储单元的消息验证码来验证所述内容的装置。
全文摘要
本发明涉及一种用于从内容供应商向高速缓存服务器以及随后从高速缓存服务器向观察器传送内容的方法和系统。所述方法包括在将所述内容传送到所述高速缓存服务器之前使用预加密机应用来加密所述内容。所述预加密机应用使用密钥存储服务提供的预加密子密钥来执行所述预加密。密钥存储服务是一个独立的系统组件,它产生、存储和分发预加密子密钥。
文档编号H04L29/06GK1703889SQ03803626
公开日2005年11月30日 申请日期2003年1月22日 优先权日2002年1月22日
发明者皮特里·皮特卡, 亚历山大·米德维斯基, 陈光明 申请人:通用仪器公司