用于使用基于硬件的信任根以对等方式进行基于策略的内容共享的方法和装置制造方法

文档序号:6485242阅读:151来源:国知局
用于使用基于硬件的信任根以对等方式进行基于策略的内容共享的方法和装置制造方法
【专利摘要】提供了在第一系统和第二系统之间安全共享内容。在第一系统与服务器之间建立基于硬件的信任根。第一系统从服务器接收用户请求的内容以及与该内容相关联的经加密的许可团块。第一系统上的第一代理与第二系统上的第二代理连接。经加密的许可团块和子许可请求从第一代理发送到第一系统上的安全处理器。第一安全处理器解密经加密的许可团块,使子许可请求有效,并且如果允许创建子许可以允许第二系统播放该内容。第一安全处理器将子许可发送给第二系统上的安全处理器。第一系统根据子许可向第二系统提供对内容的访问以供将来回放。
【专利说明】用于使用基于硬件的信任根以对等方式进行基于策略的内容共享的方法和装置
【技术领域】
[0001]本公开一般涉及用于安全地处理数字内容的计算系统架构的领域。更具体地,本发明的一实施例涉及在基于硬件的信任根内共享数字内容。
[0002]背景
[0003]在开放的计算平台上,例如个人计算机(PC)系统,当播放优质内容(诸如从DVD、蓝光等)时,数字版权管理(DRM)处理和密钥管理通常通过媒体播放应用程序在软件中执行。这些方案未受到良好保护,并且已经存在黑客的实例,导致盗版内容和内容所有者的收入损失。当内容被播放时,既使媒体解压缩(诸如H.264、MPEG-2)在硬件中完成,内容明显在系统存储器中,并且能够通过基于软件和/或基于硬件的攻击来盗取。由于这些显著的安全弱点,通常仅较低保真度(诸如标准清晰度(SD))内容或价值较低的高清(HD)内容被分发到开放的计算平台。期望对由开放计算平台(诸如PC)对数据内容进行安全处理的改进。
[0004]为了使用户在开放计算平台之间安全地共享内容,在一些当前系统中,用户被允许创建各个域并且经由基于云的服务将设备添加到域。然而,用户可能想要能够以自组织的方式与朋友和/或家人共享内容而不必针对所有他们的内容来授权新的设备。在一些情形中,用户可能想要允许一个人或设备共享特定内容标题,并且可能甚至仅仅是暂时性的。现有的服务和系统不提供这样的能力。
【专利附图】

【附图说明】
[0005]参照附图提供详细描述。在不同附图中使用相同的附图标记表示相似或相同的项目。
[0006]图1是根据本发明的实施例的安全内容处理流水线的图。
[0007]图2是根据本发明的实施例的服务提供商服务器和安全服务架构的图。
[0008]图3是根据本发明的实施例的客户计算系统的图。
[0009]图4是根据本发明的实施例的安全内容处理的流程图。
[0010]图5是根据本发明的实施例的安全内容处理系统的图。
[0011]图6是根据本发明的实施例的对等客户计算系统的图。
[0012]图7和8是根据本发明的实施例的内容共享处理的流程图。
【具体实施方式】
[0013]本发明的实施例包括提供基于硬件的信任根(HW R0T)方案以支持优质数字内容的分发和回放的系统架构.在实施例中,用于数字内容和服务的HW ROT是一种方案,其中用于安全目的的信任基础在客户计算系统中的硬件和固件机制而非软件中生成根(root)。从该信任根,客户计算系统构造针对内容授权和回放受到保护的整个媒体处理流水线。在本发明的实施例中,客户计算系统关于内容处理的安全性不依赖于操作系统、基本输入/输出系统(BIOS)、媒体播放应用或其它主机软件。为了破坏系统,他需要破坏硬件和/或软件机制,这与攻击运行在OS之上的软件是不同的。
[0014]本发明的各实施例允许内容提供者将一组灵活的内容共享策略与消费者承租或购买的内容相关联。只要客户计算系统遵循和实施内容共享策略,就没有必要联系基于云的服务来获得用于共享内容的许可。不必将客户计算系统添加到指定域。相反,内容许可包含共享策略。本发明的各实施例提供使用基于硬件的信任根进行内容的对等子许可来基于内容提供者策略将内容的使用绑定到接收客户计算系统。本发明的各实施例还实施回放权利。
[0015]在以下描述中,阐述众多具体细节以提供对各实施例的透彻理解。然而,本发明的各个实施例在没有这些具体细节的情况下也可实践。在其他情形中,众所周知的方法、过程、组件和电路并未进行详细描述以免混淆本发明的特定实施例。此外,可利用诸如集成半导体电路(“硬件”)、被组织成存储在计算机可读存储介质上的一个或多个程序的计算机可读指令(“软件”)、或硬件和软件的一些组合来执行本发明的实施例的各个方面。出于本公开的目的,对“逻辑”的引用应当意指硬件、软件(包括例如控制处理器的操作的微代码)、固件、或它们的一些组合。
[0016]本发明的实施例通过使用CPU中的固件和硬件、客户计算系统101的芯片组和集成图形/媒体引擎执行功能来保护内容保护处理、密钥管理处理和内容回放。本发明的实施例提供在通过计算系统内的组件处理内容时对该内容的端对端保护。图1是根据本发明的实施例的安全内容处理流水线100的图。内容102可由服务提供商(SP)服务器104访问。内容102可以是任何数字信息,诸如音频、视频或音频/视频数据、图形、文本、书、杂志、游戏或应用程序。服务提供商服务器104可包括用于通过任何电信信道(诸如因特网、蜂窝网络、有线或无线网络等)向客户计算系统提供内容的一个或更多个服务器。在内容存储在SP服务器中时且在传送到客户计算系统101期间,内容可受到任何已知的内容保护技术106保护(例如,数字版权管理(DRM)技术、加密技术等)。在一个实施例中,可通过如本文所讨论的增强隐私ID(EPID)签名验证协议来保护内容。在一个实施例中,可利用具有CTR模式的高级加密标准(AES)密码处理来加密视频数据。客户计算系统101可以是PC、膝上型、笔记本、平板计算机、手持计算机、智能电话、个人数字助理(PDA)、机顶盒、消费者电子设备或能够接收、存储和呈现内容的任何其它计算设备。
[0017]在客户计算系统内,可由安全处理器108执行内容保护处理110。在一个实施例中,安全处理器可在客户计算系统的芯片组内。在实施例中,芯片组包括平台控制中枢(PCH)。在另一个实施例中,安全处理器可在客户计算系统的CPU内。在具有芯片上系统配置的另一个实施例中,安全处理器可与单个芯片上的其它系统组件成为整体。在一个实施例中,安全处理器包括可管理引擎(ME)。在其它实施例中,可使用其它类型的安全处理器。安全处理器是实现在硬件和固件中的与客户计算系统的其它组件交互的子系统。安全处理器通过从受保护的闪存区域加载固件代码并且在受保护的存储器中执行固件代码来操作。由于在安全处理器内的硬件和固件中执行内容保护处理,所以可在基于软件的系统上改进内容的保护。
[0018]密码密钥信息可通过受保护的芯片至芯片互连112从安全处理器发送到包含中央处理单元(CPU)和集成图形(GFX)/媒体引擎的组件。在实施例中,受保护的芯片至芯片互连112包括至CPU/GFX组件的安全直接媒体接口(DMI)通信链路。DMI包括具有两个并发数据通信量的单向通道的芯片至芯片互连,以及具有改进的服务质量的同步传送。可通过已知的密码处理技术保护在DMI链路上传送的数据。在实施例中,可将芯片至芯片安全链路用于在DMI上传递经加密的标题密钥。安全基于PCH和CPU之间的共享秘密。该共享秘密在每个功率循环上建立,并且可根据需要在产品族、代和随机分组之间不同以确保共享秘密的保护和完整性。DMI机制独立于OS、BIOS以及运行在CPU上的软件。DMI机制可用于在安全处理器(在PCH中)和CPU之间创建信任关系。
[0019]GFX引擎114可包括内容保护处理以解密内容。GFX引擎还包括解码器逻辑121以处理/解码经加密的音频/视频内容并将音频/视频内容作为媒体块传递到GFX引擎114内的图形处理单元(GPU)。GPU包括安全技术,包括使用编码器逻辑123,以在处理期间保护存储器中的媒体块。GFX引擎114还包括组合逻辑125,用于组合将在显示器118上显示的图形数据。当在PCH中的安全处理器和CPU/GFX组件中GFX引擎内和之间处理内容时,该内容可受到硬件保护数据路径116的保护。在一实施例中,硬件保护数据路径包括受保护的音频视频路径(PAVP)以维持内容的安全性。PAVP还支持系统组件之间的经加密的连接状态。通过利用PAVP,系统还可在系统组件之间的传送期间以及在存储器内保护内容。
[0020]GFX引擎、PCH和显示器118之间的接口可由受保护的有线/无线显示链路120实现。在一个实施例中,从GFX引擎经由存储器通过PCH发送至显示器的显示数据可通过高带宽数字内容保护(HDCP)内容保护方案来保护。HDCP规范提供了一种稳健、有成本效率且透明的方法,用于向适应的数字显示器发射和接收数字娱乐内容。在实施例中,可根据从数字内容保护有限责任公司(Digital Content Protection, LLC)获得的HDCP规范版本
2.0或后续版本,实现有线链路。HDCP可用于阻止在数字传播通过显示端口、数字视觉接口(DVI)、高清多媒体接口(HDMI)、千兆位视频接口(GVIF)或统一显示接口(UDI)连接时对显示数据的复制。HDCP版本2.0规范致力于显现的使用模型,该模型使终端用户经由类似TCP/IP、USB、W1-Fi和无线HD的标准协议和接口方便地连接显示器、设备和家庭影院系统。HDCP版本2.0规范使用基于标准的RSA公钥和高级加密标准(AES) 128位加密以供强健的内容保护。在HDCP系统中,两个或更多个HDCP设备通过HDCP保护接口互连。受HDCP保护的视听内容从上游内容控制功能流入最上游的HDCP发射器处的HDCP系统。自此,由HDCP系统加密的HDCP内容通过HDCP保护接口流过HDCP接收器的树形拓扑。
[0021 ] HDCP内容保护机制包括三个元素:I) HDCP接收器对其紧邻上游连接(至HDCP发射器)的认证。认证协议是一种机制,通过该机制HDCP发射器验证给定的HDCP接收器许可接收HDCP。2)被DCP确定为无效的HDCP接收器的撤销。3)在HDCP发射器和其下游HDCP接收器之间的HDCP保护接口上视听内容的HDCP加密。HDCP接收器可按听觉和视觉形式呈现HDCP内容以供人类消费。HDCP接收器可以是HDCP中继器,该中继器用作将HDCP内容进一步向下游发射到一个或多个附加的HDCP接收器的下游HDCP发射器。在一个实施例中,发送到显示器118的显示数据可利用802.1ln无线局域网(WLAN)技术通过受保护的无线显示(WiDi)链路127发送。
[0022]如从图1所看见的,在本发明的实施例中,从在服务提供商服务器104接收内容的时间直到在显示器118上显示内容,没有密码密钥或内容以非加密形式可用于计算系统上运行的任何软件或非授权硬件。此外,在解密、解码/编码、组合和显示流水线的整个链上提供对视频数据的存储器保护。这种能力在全存储器带宽上提供,且不损坏整个系统性能。
[0023]图2是根据本发明的实施例的服务提供商服务器104和安全服务组件202的图。在实施例中,安全服务组件202可包括一个或多个服务器和/或组件。在实施例中,安全服务组件可由客户计算系统的一个或多个组件的制造商操作。在本领域中,安全服务组件提供用于控制客户计算系统的能力。安全服务组件包括制造组件和部署组件。制造组件包括证书发行组件218、密钥生成(Key Gen)组件220和熔丝编程(Fuse Prog)组件222。证书发行218生成并且向客户计算平台中的每一个发行公钥证书。密钥生成220负责根据需要生成私钥和公钥对,以供嵌入客户计算平台。熔丝编程222负责以稳健且安全的方式用适当的值编程制造层上的熔丝。这些值可由客户计算平台用于构造安全处理器内的信任锚和密钥梯。
[0024]部署组件包括证书发行组件204、密钥生成(Key Gen)组件206和撤销管理器208。证书(Cert)发行组件204发行用于SP服务器和客户组件的数字证书,从而授权它们与这些客户系统交互以便服务部署。密钥生成(Key Gen)组件206生成密码签名的密钥对、根密钥对、数字证书和组公钥,并且为每个组签名组公钥。撤销管理器208确定将要增加到撤销列表(RL)的客户计算系统的标识符和签名,更新RL并且分发经更新的RL。
[0025]SP服务器104通过网络201 (诸如因特网)与客户计算系统通信。服务提供商服务器包括SP服务器应用212和SP服务器代理210。SP服务器应用提供内容浏览能力。SP服务器代理210控制客户专用消息的发送,管理密码密钥和授权的用户令牌,并且维持内容传递服务状态(出于部署目的,212和210可以是物理上不同被防火墙保护和分离的服务器)。内容加密器214接受内容102并加密该内容用于安全传送到客户计算系统。内容服务器216将经加密的内容发送到客户。密钥服务器226负责在经认证的会话内将标题密钥提供给客户计算系统。服务器证书224由SP服务器代理使用以参与与客户计算系统的相互认证和经认证的会话的建立。SP服务器代理210、密钥服务器226和内容服务器216之间的通信链路通过良好接受的信息安全实施来保护。密钥服务器具有最高的网络和访问保护以确保仅授权方能够获得它,并且由密钥服务器管理的密钥与来自外部网络实体的攻击者隔离开且受防火墙保护。SP服务器代理或密钥服务器有权访问与服务器证书224相关联的私钥。在实施例中,该私钥以及关于该私钥完成的所有操作利用服务器上的硬件安全模块(HSM)(图2中未示出)来保护。
[0026]在实施例中,用于利用SP服务器认证客户计算系统的密码方案包括基于使用零知识证明保护用户隐私的密码认证协议。在实施例中,密码认证协议包括具有增强的撤销能力的直接匿名证明(DAA)方案、增强隐私ID(EPID)方案。EPID减轻常见的Rivest、Shamir, Adleman(RSA)公钥基础结构(PKI)安全实现的隐私问题,其中针对每个事务唯一地表示每个个体。相反,EPID提供远程证明的能力,但仅将客户计算系统标识为具有来自特定技术代的组件(诸如芯片组)。EPID是组签名方案,其中一个组的公钥对应于多个私钥,且私钥生成由组公钥验证的组签名。EPID提供匿名且不可链接的安全性能一给出两个签名,人们不能确定签名是从一个私钥生成还是从两个私钥生成。EPID还提供难忘的安全性——在没有私钥的情况下,人们不能创建有效签名。
[0027]—般而言,可如下完成设置与EPID的安全通信信道。第一方(诸如客户计算系统)将EPID证书发送到第二方(诸如服务提供商服务器)。决不知道第一方的身份且仅知道第一方是具有受信安全处理器的计算平台,第二方认证第一方。第一方然后使用第二方的公钥证书认证第二方。因为第二方不需要隐私,所以第二方的公钥证书可能不是EPID证书(但也可能是)。这些方然后可进入DifTie-Hellman (笛福-霍夫曼DH)密钥交换协议。
[0028]在以下的联合专利申请中描述了 DAA和EPID的各适当实施例,它们通过引用结合于此:2007 年 7 月 7 日提交的 Ernest F.Brickell 和 Jingtao Li 的 “An Apparatus andMethod of Direct Anonymous Attestation from Bilinear Maps (根据双线性映射的直接匿名证明的装置和方法)”S/Nll/778,804 ;2008年9月11日提交的Ernest F.Brickell^PJingtao Li 的“An Apparatus and Method for a Direct Anonymous Attestation Schemefrom Short-Group Signatures (根据短组签名的直接匿名证明方案的装置和方法)” S/N12/208, 989 ;2008 年 9 月 29 日提交的 Ernest F.Brickell 和 Jingtao Li 的 “DirectAnonymous Attestation Scheme with Outsourcing Capability(具有外购能力的直接匿名证明方案)” S/N12/286,303。在其它实施例中,还可使用其它认证和证明方案。
[0029]客户计算系统包括至少三个主要组件一主机软件、芯片组硬件/固件以及CPU/GFX/媒体引擎。假设在本发明的实施例中主机软件是不可信的。既使主机软件受到攻击,没有秘密受到影响。主机软件负责至SP服务器104的网络连接以及从内容服务器216下载媒体。主机软件充当各SP服务器和芯片组硬件/固件之间的代理。在芯片组硬件/固件已经完成标题密钥解开并注入到CPU/GFX组件之后,主机软件将经加密的内容直接发送到图形硬件。
[0030]芯片组硬件/固件负责所有受保护的处理,扮演用于内容保护处理的受保护设备的角色。在实施例中,芯片组硬件/固件利用DMI机制将受保护的标题密钥发送到图形硬件。
[0031]CPU/GFX组件负责最终的流解密、解码和显示。GFX引擎是被动设备,不进行策略判定。当被要求时,GFX引擎仅解密该内容,然后解码所提交的视频段。在实施例中,GFX引擎(具有受保护的媒体编码器)再次加密显示内容,用于在HDMI和无线(例如,WiDi)显示器上的HDCP输出保护。
[0032]在发送高度敏感信息之前,受保护客户计算系统必须通过服务提供商来远程标识。用于标识平台的机制必须不违反用户隐私。本发明的实施例提供受保护的机制,以供服务提供商在网络上验证该服务提供商服务器正与适当的客户计算系统通信并且向该客户计算系统传送标题密钥和其它机密材料。在一个实施例中,用于在服务提供商服务器和客户计算系统之间建立受保护会话的协议是EPID。EPID允许单个公钥匿名验证由N私钥生成的签名,其中称为EPID组。为了实现EPID,每个芯片组包含在硅制造期间吹入平台控制中枢(PCH)熔丝的唯一私钥。在实施例中,芯片组制造者将1000000个私钥置于单个组中并且为每一个生产的芯片组生产400组。为了充当EPID验证器,将向每个服务提供商供应这400个公钥。
[0033]一旦受保护的EPID会话已经完成,则服务提供商服务器即可与受保护的客户计算系统自由交换受保护的机密信息。对于内容流,受保护的标题密钥可从SP服务器传递到芯片组中的安全处理器。安全处理器将受保护的标题密钥发送到图形和音频硬件。在这一点,经加密的视频和音频内容可直接从内容服务器216发送到客户计算系统图形和音频硬件,该硬件解密、解码并显示该内容。对于下载的内容,安全处理器利用唯一的平台存储密钥(再次在制造期间被烧入PCH熔丝)将标题密钥绑定到客户计算系统并且将边界密钥返回到媒体播放器软件。当需要回放时,边界标题密钥被再次提交到安全处理器,该处理器解开并以不受保护的方式将它们发送到图形和音频硬件。
[0034]图3是根据本发明的实施例的客户计算系统101的图。服务提供商(SP)播放器/媒体浏览器软件应用302可被包含在软件栈中,以在诸如因特网之类的网络201上与SP服务器104对接。SP播放器/媒体浏览器302允许用户浏览服务提供商的内容提供,并且选择从SP服务器至客户计算系统传递的内容。SP播放器/媒体浏览器为用户提供用户界面控制以管理内容库并控制内容的选择、下载和回放。SP播放器/媒体浏览器与服务代理304交互。服务代理304包括由服务提供商提供的软件应用,该服务提供商被授权访问根据本发明的实施例的支持端对端内容保护的客户计算系统的特征。服务代理与各个SP播放器/媒体浏览器应用编程接口(API)(图2中未示出)接口。服务代理304包括媒体播放器组件306。媒体播放器提供内容播放器功能(例如,控制回放)。
[0035]SP客户应用308使SP播放器/媒体浏览器302和服务代理304能访问客户计算系统的硬件和固件上的内容保护特征并且用于将消息传送到服务提供商服务器104。在实施例中,SP客户应用包括主机代理软件开发包(SDK),其包含内容保护API。在实施例中,SP客户应用与芯片组的平台控制中枢(PCH) 312中的安全处理器314通信。
[0036]音频驱动器311提供媒体播放器和音频解码硬件316之间的接口。类似地,图形(GFX)驱动器310提供媒体播放器和GFX引擎320之间的接口。在实施例中,PCH312包括安全处理器314,其执行固件以提供内容保护功能以及其它已知的系统功能。在一个实施例中,安全处理器可由可管理引擎(ME)实现。当内容由PCH312和GFX引擎320处理时,内容可至少部分地分别通过PCH硬件/固件和GFX引擎硬件中的受保护的音频视频路径(PAVP)组件318、322来保护。
[0037]图4是根据本发明的实施例的安全内容处理的流程图。在框402,客户计算系统的用户使用SP播放器/媒体浏览器302浏览、发现和购买来自一个或多个服务提供商的内容。在框404,执行SP服务器104和客户计算平台101的相互认证。建立经认证的会话。提供具有对给定一组内容的使用权的密钥团块(key blob)。密钥团块被绑定到客户计算系统以确保按需要机密且完整地保护系统。
[0038]然后在框406,客户计算系统通过网络201从内容服务器216 (对于流化操作)或者从客户计算系统的本地存储(对于先前购买、下载和存储的内容)获取经加密的内容。使系统准备视频片段(slice)(例如,子帧)上工作。结果,一提交数据的第一片段,硬件就可处理该数据。
[0039]在框408,用户利用SP播放器/媒体浏览器302发起所选内容的回放。密钥团块被提交给安全处理器314用于标题密钥的解开和提取。当这完成时,标题密钥由安全处理器加载到图形硬件320用于解密。在框410,SP播放器/媒体浏览器将经加密的内容提交给GFX引擎320内的媒体处理引擎。GFX引擎利用标题密钥解密该内容并且利用本地保护的密钥再次加密该内容。可将再次加密的数据存储在受保护的本地或系统存储器中。随后在框414,获取、解密和解压缩该再次加密的内容。首先执行解密。一旦数据被解密,则数据被解码/解压缩。一旦数据被解压缩,则数据被再次加密并经由系统存储器传递到组合引擎。一旦组合完成,则数据再次受到保护并且利用系统存储器传送到显示引擎。在实施例中,沿路径的每个组件有能力根据需要解密、处理和再次加密。
[0040]在框416,GFX引擎利用HDCP技术(在实施例中)再次加密媒体内容,并且将内容传递到显示器以便由用户查看。在过程的每个步骤,内容永远不是明显的,其中它可由运行在客户计算系统上的软件或授权硬件组件访问。
[0041]图5是根据本发明的实施例的安全内容处理系统的示图。SP服务器104通过网络201与客户计算系统101交互。客户计算系统包括第一组件500和第二组件502。在实施例中,第一组件包括CPU和GFX组件,且第二组件包括平台控制中枢(PCH)。在另一个实施例中,第一和第二组件可组合成片上系统(SOC)实现中的单个组件。第一组件500包括多个处理器核504和GFX引擎320。处理器核504执行主机软件(SW) 506 (如图3所述)、客户证书508、熔丝521和共享秘密519的各个组件。主机SW从硬盘驱动(HDD) /固态驱动(SSD) 510读取数据,其包括先前从SP服务器或易失性媒体(诸如DVD、蓝光或其它存储技术)获取的经加密的内容。在实施例中,主机SW包括至少SP播放器/媒体浏览器应用302、服务代理304和SP客户应用308。在一实施例中,HDD/SSD包括一个或多个用户简档511。
[0042]GFX引擎320包括多个组件。媒体加密/解密引擎520包括用于加密和解密内容的逻辑。媒体加密/解密引擎522包括用于加密和解密内容的逻辑。GFX组合(Comp)引擎524包括用于构造显示图像的逻辑。显示引擎526包括用于将组合的显示图像传递到显示器的逻辑。显示加密/解密引擎528包括用于在通过受保护的链路527将显示数据发送到显示器538之前加密和解密显示数据的逻辑。存储器加密/解密引擎530包括用于加密和解密存储在存储器536中的受保护中间表面534中的数据的逻辑。存储器536还包括用于实现机密性和完整性受保护的存储器操作532的逻辑。
[0043]第二组件502包括多个组件,其中的一些未被示出以便简化图5。第二组件包括安全处理器314。安全处理器包括用于为客户计算系统提供证明、提供密钥管理、输出控制和ad匹配操作516的固件和/或硬件逻辑。安全处理器还包括熔丝517、共享秘密519和信任锚518用于支持PKI,诸如验证密钥和密钥层次信息。熔丝521、517在芯片组的制造期间被编程为第一和第二组件的硬件,且密钥材料用于EPID使用。当制造客户计算系统时,根据编程在制造层上的熔丝中的信息构造硬件的信任根。这确保每个客户计算系统是唯一的,但受隐私保护。在芯片组和CPU/GFX组件的制造期间,共享秘密519被硬编码到第一和第二组件的硬件中。在实施例中,在设置DMI链路538上的安全芯片至芯片通信信道时,可使用共享的秘密。
[0044]客户计算系统还包括用于提供安全时钟服务的受保护的实时时钟513、显示器538和非易失性存储器(NVM)512。在实施例中,受保护的实时时钟可由第三方作为根源(seed),且可被虚拟化用于多个服务提供商。NVM可用于存储用于第二组件的固件图像,以及存储用于安全处理器处理操作的临时数据(诸如完整性和状态信息)。
[0045]在实施例中,处理流程可描述为如下。SP播放器/媒体浏览器302向用户呈现用户界面。用户进入服务提供商的网站以浏览可用内容。SP网站具有自动检测能力,以确定用户的客户计算系统是否在其中集成有利用SP服务器104进行认证的能力。如果能够,则允许用户选择内容。该内容可被购买、租赁或订购,或者可被流水化。用户对该内容进行支付。SP播放器/媒体浏览器302调用安全处理器316以利用SP服务器104认证客户计算系统101。在实施例中,认证使用EPID技术。至少部分地通过使SP服务器104验证客户计算系统的证书508、执行撤销检查并验证至证书颁发机构的证书路径(在一个实施例中利用EPID协议)来认证客户计算系统101。当客户计算系统101和SP服务器104 二者均被认证时,在一个实施例中可基于EPID协议设置安全通信信道。在实施例中,一旦安全通信信道被设置,则可将命令集用于端对端保护能力。
[0046]SP服务器104将经加密的标题密钥提供给客户计算系统,带有对内容使用的限制(例如,时间)。SP服务器在安全信道上将经加密的标题密钥发送到安全处理器314。安全处理器314利用其自身的密钥层次对经加密的标题密钥进行解密。安全处理器314使用存储密钥再次加密新解密的标题密钥以形成密钥团块。密钥团块被绑定到客户计算系统达规定的时间段。安全处理器314将密钥团块发送到CPU核上运行的SP播放器/媒体浏览器302。SP播放器/媒体浏览器302将密钥团块存储在HDD/SSD510中。SP播放器/媒体浏览器302然后下载用户选择的经加密的内容。在一个实施例中,可将下载的经加密的内容存储在HDD/SSD510中的内容高速缓存552中。
[0047]当用户想要播放内容时,SP播放器/媒体浏览器302将密钥团块提交回安全处理器314。例如,理器验证密钥团块的签名,并且检查诸如时间之类的使用限制。安全处理器314通过经加密的信道(例如,DMI链路538)将经加密的标题密钥发送到GFX引擎320的媒体加密/解密组件520。安全处理器向SP播放器/媒体浏览器指令GFX/媒体引擎准备好处理经加密的内容。在一实施例中,SP播放器/媒体浏览器302从HDD/SDD510中的内容高速缓存552读取经加密的内容,或者通过网络201从SP服务器104获取经加密的内容(用于流化应用),并将经加密的内容按段发送到GFX引擎。
[0048]GFX引擎320以逐片段方式处理经加密的内容。对于每个片段,SP播放器/媒体浏览器不受阻碍地读取片段头部。加密片段的其余部分,使得SP播放器/媒体浏览器不能访问该内容。SP播放器/媒体浏览器利用初始化向量跟踪回放状态信息。媒体加密/解密引擎520在解密从安全处理器接收的加密标题密钥之后利用标题密钥解密该内容。在一个实施例中,仍根据已知的H.264编码方案压缩媒体加密/解密引擎的输出数据。在其它实施例中,可使用其它编码方案。媒体编码/解码引擎522解码每个片段,然后利用存储器加密/解码530再次加密该片段。再次加密的内容片段被存储在存储器536中的受保护的中间表面534中。GFX组合引擎524控制要在显示器上显示的图像的组合,包括前景和背景图像、窗口等。GFX组合引擎从存储器536中的受保护中间表面534获取经重新加密的内容片段以生成组合的图像。GFX组合引擎524将组合图像数据发送到显示引擎526。
[0049]显示引擎使用显示加密/解密引擎528来解密来自用于在存储器536中存储内容片段的加密的组合图像。在一个实施例中,显示引擎526使用显示加密/解密引擎来根据HDCP技术再次加密组合的图像数据。经加密的组合图像数据通过受保护的芯片至芯片接口(例如,DMI链路)538由GFX引擎320发送到第二组件502,以便在受保护的显示接口链路527上传送到显示器538。
[0050]在实施例中,可存在任何数量的由客户计算系统处理的并发的独立内容流。每个组件流具有其自身的密码内容以免干扰其它流。这还允许客户计算系统确保在一个流上的任何类型的攻击或损坏不会影响其它内容流。[0051]在一实施例中,HDD/SDD510包括至少一个用户简档511和ad高速缓存550,这两者将在下文进一步讨论。在一实施例中,客户计算系统包括耦合到第二组件502的一个或多个传感器554。传感器感测客户计算系统周围的环境,并且将传感器信息报告给安全处理器314以供基于证明、供应密钥管理、输出控制以及动态上下文的ad匹配组件516使用。在一实施例中,传感器可包括GPS系统、加速度计、罗盘、振动检测器、和/或其他传感器。
[0052]本发明的各实施例使用上述安全能力来支持以对等的方式进行内容的安全共享以及经由子许可来解释与共享内容相关联的策略。
[0053]图6是根据本发明的实施例的对等客户计算系统的图。客户计算系统A602和客户计算系统B604可如图5所述地配置成用于客户计算系统101。客户计算系统A602可通过网络201与服务提供者(SP)服务器104通信以获取内容608来在客户计算系统A上回放。客户计算系统A602还可通过本地网络606与客户计算系统B604通信。本地网络606可包括各设备之间的任何通信手段,诸如无线(例如,WiFi)、有线、蓝牙、近场通信(NFC)、红外(IR)等等。本地网络606还可耦合到网络201.在一实施例中,网络201和本地网络606可以是相同的网络。在一实施例中,当客户计算系统A获取内容608时,客户计算系统A还获取伴随该内容的许可团块610。该许可团块可指定客户计算系统A和/或其他设备对内容的使用策略。该许可团块可由SP服务器104在将该许可团块递送到客户计算系统A之前加密以防止篡改。该许可团块可由客户计算系统A内的安全处理器618解密和读取。
[0054]客户计算系统A包括共享代理A614。共享代理可以是以对等的方式与其他客户计算系统上的一个或多个共享代理安全交互的组件。在一实施例中,共享代理可以是独立软件程序,或者可被集成到在客户计算系统上运行的应用程序(诸如举例来说SP播放器/媒体浏览器302)内。在一实施例中,共享代理可被实施在主机软件506中。客户计算系统B604包括共享代理B616。在一实施例中,共享代理A和B使用内容共享协议来通信。客户计算系统A包括安全处理器A618,而客户计算系统B包括安全处理器B620。如上所讨论的,安全处理器可用固件、硬件、或者固件与硬件的组合来实现。安全处理器A和安全处理器B交互以在彼此之间创建逻辑上私有的且安全的连接。在一实施例中,这一连接可用于将子许可612从安全处理器A安全地传送到安全处理器B。逻辑连接可以通过网络201、本地网络606、或者使用共享代理的客户计算系统之间直接对等。
[0055]安全处理器A618至少部分地基于内容608的许可团块610来创建子许可612,并且可将该子许可发送给其他设备。该子许可定义了客户计算系统B604 (接收该子许可和内容的对等设备)对内容608的可接受使用的策略。换言之,该子许可包括定义了对在客户计算系统之间共享内容的限制的策略。
[0056]在本发明的各实施例中,从SP服务器104接收的该许可团块可以指定子许可策略。例如,子许可策略可包括以下各项中的任意一个或多个:
[0057]给出-最大-计数——去往其他设备的永久副本的数目。
[0058]借贷-最大-计数——借贷的数目。
[0059]借贷-最大-历时——借贷有效的时间长度。
[0060]杳看-最大-历时——该内容(诸如电影)在首次播放之后可被查看的时间长度。
[0061]借贷-最大-跳跃~经子许可的内容(诸如电影)可被借贷的次数。最大-播放-计数——借贷的内容(诸如电影)可被播放的次数。[0062]活跃-之后-借贷(Active-After-Loan)~内容在被借贷给另一设备之后是否在借出设备上保持活跃?
[0063]活跃-之后-给予(Active-After-Give)-内容在被给予另一设备之后是否在
给予者设备上保持活跃?
[0064]给出-最大-质暈——内容被给予另一设备时内容的最大质量(例如,每秒分辨率或帧)。
[0065]借贷-最大-质暈——内容被借贷给另一设备时内容的最大质量(例如,每秒分辨率或帧)。
[0066]还可定义其他子许可策略。
[0067]图7和8是根据本发明的实施例的内容共享处理的流程图。在图7的框702,用户可以为客户计算系统A订购内容。在一实施例中,该内容可被购买。在另一实施例中,内容可在不收费但有某些许可权限附连到该内容的情况下被获取。在另一实施例中,内容可经由借贷并且有某些许可权限附连到该内容的情况下被获取。在一实施例中,用户使用SP播放器/媒体浏览器组件302经由来自另一计算设备的数字下载来获取内容。在一实施例中,可从SP服务器104获取该内容。在其它实施例中,可使用其它分发机制。
[0068]在一实施例中,SP播放器/媒体浏览器可被定向到例如电影店面网站,并且用户使用已知的用户界面技术来购买电影。在一示例中,内容提供者可允许用户以可选策略借贷(即,子许可)内容五次,其中的一次可向另一设备提供永久借贷,而其余四次子许可可被设置为在自从内容第一次播放起最多24小时内期满,并且借贷的内容可以在自从递送起的最多一个星期内开始回放。在各种场景中,内容提供者(即,许可持有者)可进一步限制这些值和策略。内容提供者可以定义该内容的借贷副本无法进一步被借出者(即,借贷-跳转-计数可以为零)借贷。可通过本发明的各实施例的许可和子许可来定义许多使用和传送场景。
[0069]在框704,SP服务器104将子许可信息编码成被称为许可团块的数据结构。例如,内容是被表示为Ml的电影的子许可信息可包括始发者-1D、给出-最大-计数=1、借贷-最大-计数=4、借贷-最大-历时=I星期、查看-最大-历时=24小时、借贷-最大-跳转=O等等。该子许可信息还可包括内容回放所要求的其他信息,诸如解密密钥、第一许可策略等等。在一实施例中,许可团块可被加密。
[0070]在框706,在一个实施例中,SP服务器104将所请求的内容和相关联的许可团块安全地传送到客户计算系统A602。客户计算系统A随后可至少部分地基于许可610中定义的许可策略来使用该内容,该许可策略可从接收到的许可团块中提取。在某一时间点,内容的用户可能想要将该内容与另一设备共享。例如,用户可能决定将该内容的副本给予具有另一设备的某人。在框708,客户计算系统A上的共享代理A614连接到客户计算系统B604上的共享代理B616以共享该内容的子许可(被包含在经加密的许可团块610中)。在框710,共享代理A将许可团块与子许可请求一起发送给安全处理器A618。在框712,共享代理A614和共享代理B616在安全处理器A618与安全处理器B620之间创建安全通信会话以促进许可团块从客户计算系统A到客户计算系统B的传送。在一实施例中,创建安全通信会话使用EPID。处理在图8继续。
[0071]在图8的框802,安全处理器A解密接收到的许可团块610,提取回放信息,使子许可请求有效,并且如果被允许则创建子许可612以允许客户计算系统B播放该内容。在一实施例中,子许可可定义客户计算系统B具有该内容的所有权,但不具有传送权限。在框804,安全处理器A使用安全通信会话、共享代理A和共享代理B将子许可612发送给安全处理器B。如果子许可传送成功,则在框806,安全处理器A修改许可团块610以反映当前共享事务,重新加密许可团块,并且将该许可团块返回至共享代理A。在框808,安全处理器B用其自己的唯一密钥来加密子许可,并且将经加密的子许可发送到共享代理B。在框810,共享代理B将子许可存储在客户计算系统B的存储器中。
[0072]在框812,客户计算系统A向客户计算系统B提供对内容的访问。在一实施例中,这可以使用共享代理A和共享代理B直接彼此通信以将内容的完整副本从客户计算系统A发送到客户计算系统B来实现。在另一实施例中,内容可以在各部分中从客户计算系统A流传输到客户计算系统B,被包含在客户计算系统互相可访问的共享文件中、被渐进地下载(这可允许尽快地开始回放)、或者被存储在网络文件服务器上。此外,客户计算系统A可以重新编码或重新加密该内容以适应客户计算系统B的能力或信任水平,或者在子许可策略要求重新编码/重新加密的情况下。
[0073]在框814,客户计算系统B可以根据子许可中指定的权限开始内容的回放。
[0074]说明书中对“一个实施例”或“实施例”的引述意味着结合该实施例描述的具体特征、结构或特性可被包含于至少一种实现中。本说明书中各处出现的短语“在一个实施例中”可以或可以并非全部指代同一实施例。
[0075]另外,在本描述和权利要求中,可使用术语“耦合”和“连接”连同其派生词。在本发明的一些实施例中,可使用术语“连接”来指示两个或多个元件彼此直接物理或电气接触。“耦合的”可表示两个或更多个元件直接物理或电接触。然而,“耦合”也可意味着两个或多个元件可能彼此并未直接接触,但是仍然彼此协作或交互。
[0076]由此,尽管已经用结构特征和/或方法动作专用的语言描述了本发明的实施例,但是应该理解所要求保护的主题可并不被限定于所描述的具体特征或动作。相反,这些具体特征和动作是作为实现所要求保护的主题的样本形式而公开的。
【权利要求】
1.一种在第一客户计算系统和第二客户计算系统之间安全地共享内容的方法,包括 在第一客户计算系统和服务提供商服务器之间建立基于硬件的信任根; 由所述第一客户计算系统从所述服务提供商服务器接收用户请求的内容以及与所述内容相关联的经加密的许可团块; 将所述第一客户计算系统上的第一共享代理与所述第二客户计算系统上的第二共享代理连接; 将所述经加密的许可团块和子许可请求从所述第一共享代理发送到所述第一客户计算系统上的第一安全处理器; 由所述第一安全处理器解密所述经加密的许可团块,使所述子许可请求有效,并且在被允许的情况下创建子许可以允许所述第二客户计算系统播放所述内容; 由所述第一安全处理将所述子许可发送到所述第二客户计算系统上的第二安全处理器;以及 由所述第一客户计算系统向所述第二客户计算系统提供对所述内容的访问。
2.如权利要求1所述的方法,其特征在于,所述经加密的许可团块包括子许可信息,所述子许可信息包括定义对在所述客户计算系统之间共享内容的限制的策略。
3.如权利要求1所述的方法,其特征在于,还包括由所述第一共享代理和所述第二共享代理在发送所述子许 可之前在所述第一安全处理器和所述第二安全处理器之间创建安全通信会话。
4.如权利要求3所述的方法,其特征在于,创建所述安全通信会话包括使用增强隐私ID(EPID)签名验证协议。
5.如权利要求1所述的方法,其特征在于,还包括由所述第一安全处理器修改所述许可团块以反映对所述内容的共享,重新加密所述许可团块,以及当所述子许可传送成功时由所述第一安全处理器将经重新加密的许可团块返回至所述第一共享代理。
6.如权利要求1所述的方法,其特征在于,还包括: 由所述第二安全处理器加密接收到的子许可并且将经加密的子许可发送给所述第二共享代理;以及 由所述第二共享代理将经加密的子许可存储在所述第二客户计算系统的存储器中。
7.如权利要求1所述的方法,其特征在于,还包括由所述第二客户计算系统根据所述子许可来播放所述内容。
8.一种用于与第二客户计算系统安全地共享内容的第一客户计算系统,包括: 第一组件,用于在所述第一客户计算系统与服务提供商服务器之间建立基于硬件的信任根,以及用于从所述服务提供商服务器接收用户请求的内容以及与所述内容相关联的经加密的许可团块; 第一安全处理器;以及 第一共享代理,用于与所述第二客户计算系统上的第二共享代理连接,以及用于将所述经加密的许可团块和子许可请求发送给所述第一安全处理器; 其中所述第一安全处理器用于解密所述经加密的许可团块,使所述子许可请求有效,以及在被允许的情况下创建子许可以允许所述第二客户计算系统播放所述内容,以及用于将所述子许可发送给所述第二客户计算系统上的第二安全处理器;以及其中所述第一组件用于向所述第二客户计算系统提供对所述内容的访问。
9.如权利要求8所述的第一客户计算系统,其特征在于,所述经加密的许可团块包括子许可信息,所述子许可信息包括定义对在所述客户计算系统之间共享内容的限制的策略。
10.如权利要求8所述的第一客户计算系统,其特征在于,所述第一共享代理用于在发送所述子许可之前在所述第一安全处理器和所述第二安全处理器之间创建安全通信会话。
11.如权利要求10所述的第一客户计算系统,其特征在于,所述第一共享代理用于使用增强隐私ID(EPID)签名验证协议来创建所述安全通信会话。
12.如权利要求8所述的第一客户计算系统,其特征在于,所述第一安全处理器用于修改所述许可团块以反映对所述内容的共享,重新加密所述许可团块,以及在所述子许可传送成功时将经重新加密的许可团块返回至所述第一共享代理。
13.—种包括一个或多个指令的计算机可读存储介质,所述指令在由第一客户计算系统的处理器执行时将所述客户计算系统配置成通过以下步骤与第二客户计算系统安全地共享内容,包括: 在所述第一客户计算系统和服务提供商服务器之间建立基于硬件的信任根; 从所述服务提供商服务器接收用户请求的内容以及与所述内容相关联的经加密的许可团块; 将所述第一客户计算系统上的第一共享代理与所述第二客户计算系统上的第二共享代理连接; 将所述经加密的许可团块和子许可请求从所述第一共享代理发送到所述第一客户计算系统上的第一安全处理器; 致使所述第一安全处理器解密所述经加密的许可团块,使所述子许可请求有效,以及在被允许的情况下创建子许可以允许所述第二客户计算系统播放所述内容,并且致使由所述第一安全处理器将所述子许可发送给所述第二客户计算系统上的第二安全处理器;以及 向所述第二客户计算系统提供对所述内容的访问。
14.如权利要求13所述的计算机可读存储介质,其特征在于,所述经加密的许可团块包括子许可信息,所述子许可信息包括定义对在所述客户计算系统之间共享内容的限制的策略。
15.如权利要求13所述的计算机可读存储介质,其特征在于,还包括用于在发送所述子许可之前在所述第一安全处理器和所述第二安全处理器之间创建安全通信会话的指令。
16.一种用于安全共享内容的系统,包括: 第一客户计算系统,包括: 第一组件,用于在所述第一客户计算系统与服务提供商服务器之间建立基于硬件的信任根,以及用于从所述服务提供商服务器接收用户请求的内容以及与所述内容相关联的经加密的许可团块; 第一安全处理器;以及 第一共享代理,用于与第二客户计算系统上的第二共享代理连接,以及用于将所述经加密的许可团块和子许可请求发送给所述第一安全处理器; 其中所述第一安全处理器被适配成解密所述经加密的许可团块,使所述子许可请求有效,以及在被允许的情况下创建子许可以允许所述第二客户计算系统播放所述内容,以及被适配成将所述子许可发送给所述第二客户计算系统上的第二安全处理器;以及 其中所述第一组件被适配成向所述第二客户计算系统提供对所述内容的访问;以及 第二客户计算系统,包括: 存储器; 第二共享代理;以及 第二安全处理器; 其中所述第二安全处理器被适配成从所述第一安全处理器接收所述子许可,解密接收到的子许可,以及将经加密的子许可发送给所述第二共享代理; 其中所述第二共享代理被适配成将所述经加密的子许可存储在所述存储器中。
17.如权利要求16所述的系统,其特征在于,所述第二客户计算系统还包括用于根据所述子许可来播放所述内容的第二组件。
18.如权利要求16所述的系统,其特征在于,所述经加密的许可团块包括子许可信息,所述子许可信息包括定义对在 所述客户计算系统之间共享内容的限制的策略。
19.如权利要求16所述的系统,其特征在于,所述第一共享代理和所述第二共享代理被适配成在发送所述子许可之前在所述第一安全处理器和所述第二安全处理器之间创建安全通信会话。
20.如权利要求19所述的系统,其特征在于,所述安全通信会话使用增强隐私ID(EPID)签名验证协议。
21.如权利要求16所述的系统,其特征在于,所述第一安全处理器被适配成修改所述许可团块以反映对所述内容的共享,重新加密所述许可团块,以及在所述子许可传送成功时将经重新加密的许可团块返回至所述第一共享代理。
【文档编号】G06F21/10GK103975332SQ201180075335
【公开日】2014年8月6日 申请日期:2011年12月8日 优先权日:2011年12月8日
【发明者】M·M·米拉沙菲, M·M·哈兹拉, R·潘达科, D·涅米罗夫 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1