用于实现数字内容中的对象的购买或对于该对象的信息请求的方法和装置制造方法

文档序号:7977806阅读:225来源:国知局
用于实现数字内容中的对象的购买或对于该对象的信息请求的方法和装置制造方法
【专利摘要】客户端计算系统为用户呈现数字内容(例如以电影或TV节目为例)。以用户的兴趣为基础,用户可以在被呈现的数字内容的视频帧序列中的视频帧中选择对象图像。可以将指示对象图像选择的用户输入数据发送到通过网络经由安全通信信道耦接到所述客户端计算系统的服务提供商服务器。所述服务器获得关于与用户选择的对象图像相对应的对象的信息。所述服务器将所述对象信息发送到所述客户端计算系统用于显示给用户。所述对象可以是物理世界中的对象,例如消费类商品。所述对象信息可以包括使得用户能够购买所述对象的信息。
【专利说明】用于实现数字内容中的对象的购买或对于该对象的信息请求的方法和装置
【技术领域】
[0001]本公开通常涉及用于安全地处理数字内容的计算系统架构的领域。更具体地说,本发明的实施例涉及实现由计算系统处理的数字内容中的对象的购买或对于该对象的信息请求。
【背景技术】
[0002]在例如以个人计算机(PC)系统为例的开放式计算平台上,当播放优质内容(例如来自DVD、蓝光光盘等等)时,典型地在软件中由媒体播放器应用程序来执行数字版权管理(DRM)处理和密钥管理。这些方案并没有很好地受到保护,并且存在黑客的实例,导致被盗用的内容和内容所有者的收入的损失。当播放内容时,尽管媒体解压缩(例如H.264、MPEG-2等等)在硬件中完成,但是内容在系统存储器中不受阻碍,并且会由于基于软件和/或基于硬件的攻击而被偷盗。由于这些指出的安全弱点,通常仅将较低保真度(例如标清(SD))内容或不太有价值的高清(HD)内容分配到开放式计算平台。期望开放式计算平台(例如PC)对数字内容的安全处理的改善。
【专利附图】

【附图说明】
[0003]参考附图来提供详细描述。不同附图中相同附图标记的使用指示类似或相同的项。
[0004]图1是根据本发明实施例的安全内容处理流水线的图。
[0005]图2是根据本发明实施例的服务提供商服务器和安全服务基础设施的图。
[0006]图3是根据本发明实施例的客户端计算系统的图。
[0007]图4是根据本发明实施例的安全内容处理的流图。
[0008]图5是根据本发明实施例的安全内容处理系统的图。
[0009]图6是根据本发明实施例的对象信息处理的流图。
[0010]图7是根据本发明实施例的服务提供商服务器上的对象信息处理部件的图。【具体实施方式】
[0011]本发明的实施例包括提供用于支持优质数字内容的分配和重放的基于硬件的信任根(HW R0T)解决方案的系统架构。在实施例中,对于数字内容和服务的HW ROT是一种解决方案,其中出于安全目的的信任的基础植根于客户端计算系统中的硬件和固件机制,而不是软件。根据这一信任根,客户端计算系统构造对于内容授权和重放受保护的整个媒体处理流水线。在本发明的实施例中,用于内容处理的客户端计算系统的安全不取决于操作系统(OS)、基本输入/输出系统(BIOS)、媒体播放器应用或其它主机软件。为了损害系统,人们将需要损害硬件和/或固件机制,这与攻击在OS之上运行的软件相反。
[0012]本发明的实施例提供用于对在由客户端计算系统处理的数字内容中在显示的图像中示出的对象进行购买或对于所述对象的信息请求的服务。
[0013]在下面的描述中,阐述了许多具体细节,以便提供各种实施例的全面理解。然而,可以在没有这些具体细节的情况下来实践本发明的各种实施例。在其它实例中,没有详细地描述公知的方法、过程、部件和电路,以便不会混淆本发明的特定实施例。进而,可以使用诸如集成半导体电路(“硬件”)、被组织为存储在计算机可读存储介质上的一个或多个程序的计算机可读指令(“软件”)、或硬件和软件的某种组合的各种手段来执行本发明实施例的各个方面。出于这一公开的目的,对“逻辑”的提及应该意味着硬件、软件(例如包括控制处理器的操作的微代码)、固件或其某种组合。
[0014]本发明的实施例通过使用客户端计算系统101的CPU、芯片集和集成图形/媒体引擎中的固件和硬件来保护内容保护处理、密钥管理处理和内容重放,以执行这些功能。当由计算系统内的部件处理内容时,本发明的实施例提供所述内容的端到端保护。图1是根据本发明实施例的安全内容处理流水线100的图。内容102可以由服务提供商(SP)服务器104访问。内容102可以是诸如音频、视频或音频/视频数据、图像、文本、书籍、杂志、游戏或应用程序的任何数字信息。服务提供商服务器104可以包括用于通过任何电信信道(例如互联网、蜂窝网络、有线或无线网络等等)向客户端计算系统提供内容的一个或多个服务器。在将内容存储在SP服务器中时并且在向客户端计算系统101的传递期间,可以通过任何已知的内容保护技术106 (例如,数字版权管理(DRM)技术、加密技术等等)来保护该内容。在一个实施例中,可以通过如本文讨论的增强的私密ID (EPID)签名验证协议来保护内容。在一个实施例中,可以使用高级的加密标准(AES)密码处理以CTR模式来加密视频数据。客户端计算系统101可以是PC、膝上型电脑、上网本、平板计算机、手持计算机、智能电话、个人数字助理(PDA)、机顶盒、消费类电子设备或者能够接收、存储和呈现内容的任何其它计算设备。
[0015]在客户端计算系统内,可以由安全处理器108执行内容保护处理110。在一个实施例中,安全处理器可以在客户端计算系统的芯片集内。在实施例中,芯片集包括平台控制集线器(PCH)。在另一实施例中,安全处理器可以在客户端计算系统的CPU内。在具有片上系统(SOC)配置的另一实施例中,安全处理器可以与单个芯片上的其它系统部件成为一体。在一个实施例中,安全处理器包括管理性引擎(ME)。在其它实施例中,可以使用其它类型的安全处理器。安全处理器是在硬件和固件中实现的子系统,该子系统与客户端计算系统的其它部件交互。安全处理器通过从受保护的闪存区加载固件代码并且在受保护的存储器中执行该固件代码来进行操作。由于在安全处理器内的硬件和固件中执行内容保护处理,因此,与基于软件的系统相比较,可以改善内容的保护。
[0016]可以通过受保护的芯片间互连112将密码秘钥信息从安全处理器发送到包含中央处理单元(CPU)和集成图形(GFX)/媒体引擎的部件。在实施例中,受保护的芯片间互连112包括到CPU/GFX部件的安全直接媒体接口(DMI)通信链路。DMI包括具有并行数据业务的两个单向线道以及具有改善的服务质量的同步传输的芯片间互连。可以通过已知的密码处理技术来保护通过DMI链路传输的数据。在实施例中,芯片间安全链路可以用于通过DMI传递加密的标题密钥。安全以在PCH和CPU之间的共享的秘密为基础。这一共享的秘密可以在每一个功率周期上建立,并且可以根据需要在产品系列、几代和随机分组之间改变,以确保共享的秘密的保护和完整性。DMI机制独立于OS、BIOS和在CPU上运行的软件。DMI机制可以用于创建安全处理器(在PCH中)和CPU之间的信任关系。
[0017]GFX引擎114可以包括内容保护处理以对内容进行解密。GFX引擎还包括解码器逻辑121以对解密的音频/视频内容进行处理/解码并将该音频/视频内容作为媒体块传递到GFX引擎114内的图形处理单元(GPU)。GPU包括安全技术,包括使用编码器逻辑123,以在存储器中的处理期间保护该媒体块。GFX引擎114还包括合成逻辑125以合成要在显示器118上示出的图像数据。随着在PCH中的安全处理器和CPU/GFX部件中的GFX引擎内以及在该PCH中的安全处理器和该CPU/GFX部件中的GFX弓丨擎之间处理内容,该内容可以由硬件保护的数据路径116保护。在实施例中,硬件保护的数据路径包括受保护的音频视频路径(PAVP)以维持内容的安全。PAVP还支持系统部件之间的加密连接状态。通过使用PAVP,该系统可以进一步在系统部件之间和存储器内的传输期间保护内容。
[0018]可以由受保护的有线/无线显示链路120来实现GFX引擎、PCH和显示器118之间的接口。在一个实施例中,可以由高带宽数字内容保护(HDCP)内容保护方案来保护从GFX弓I擎经由存储器经过PCH发送到显示器的显示数据。HDCP规范提供用于将数字娱乐内容传输到一致的数字显示器并接收该数字娱乐内容的稳健的、成本有效的和透明的方法。在实施例中,可以根据从数字内容保护LLC可用的HDCP规范修订版2.0或随后的版本来实现有线链路。当数据通过DisplayPort、数字视觉接口(DVI)、高清多媒体接口(HDMI)、千兆比特视频接口(GVIF)或统一显示接口(UDI)连接行进时,可以采用HDCP来阻止显示数据的拷贝。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保护的接口流动。
[0019]HDCP内容保护机制包括三个要素:1)HDCP接收机到其最接近的上游连接(到HDCP发射机)的认证。认证协议是一种机制,HDCP发射机经过该机制来验证给定的HDCP接收机被许可接收HDCP。2)由DCP确定为无效的HDCP接收机的废除。3)通过HDCP发射机和其下游HDCP接收机之间的HDCP保护的接口对视听内容的HDCP加密。HDCP接收机可以按照音频和视觉的形式呈现HDCP内容用于人们消费。HDCP接收机可以是用作下游HDCP发射机的HDCP转发器,该下游HDCP发射机将HDCP内容进一步发出到一个或多个额外的HDCP接收机的下游。在一个实施例中,可以使用802.1ln无线局域网(WLAN)技术通过受保护的无线显示(WiDi)链路127发送被发送到显示器118的显示数据。
[0020]从图1可以看出,在本发明的实施例中,从自服务提供商服务器104接收到内容的时间起直到在显示器118上显示该内容为止,没有密码密钥或内容以未加密的形式对于在计算系统上运行的任何软件或未授权的硬件可用。进而,通过在贯穿解密、解码/编码、合成和显示流水线的整个链来提供对于视频数据的存储器保护。在不损害整体系统性能的情况下,在全存储器带宽处提供这一能力。
[0021]图2是根据本发明实施例的服务提供商服务器104和安全服务部件202的图。在实施例中,安全服务部件202可以包括一个或多个服务器和/或部件。在实施例中,可以由客户端计算系统的一个或多个部件的制造商来操作安全服务部件。安全服务部件提供用于在现场控制客户端计算系统的能力。安全服务部件包括制造部件和部署部件。制造部件包括证书发行部件218、密钥生成(Key Gen)部件220和熔丝编程(Fuse Prog)部件222。证书发行218生成公共密钥证书并将该公共密钥证书发行到每一个客户端计算平台。KeyGen220负责根据需要生成私密和公共密钥对用于嵌入到客户端计算平台中。熔丝编程222负责以稳健而安全的方式利用合适的值对制造底板上的熔丝进行编程。这些值将由客户端计算平台使用以在安全处理器内构建信任锚和密钥梯。
[0022]部署部件包括证书发行部件204、密钥生成(Key Gen)部件206和废除管理器208。证书(Cert)发行部件204对于SP服务器和客户端部件发行数字证书,给它们授权以与这样的客户端系统进行交互用于服务部署。密钥生成(Key Gen)部件206生成密码签名密钥对、根秘钥对、数字证书和组公共密钥,并且对每一个组的组公共密钥进行签名。废除管理器208确定要被添加到废除列表(RL)的客户端计算系统的标识符和签名、更新RL并且分配更新的RL。
[0023]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中未示出)来保护这一私密密钥以及使用这一私密密钥完成的所有操作。
[0024]在实施例中,用于使用SP服务器来认证客户端计算系统的密码方案包括以零知识证据的使用为基础来保护用户的私密的密码认证协议。在实施例中,密码认证协议包括增强的私密ID (EPID)方案、具有增强的废除能力的直接匿名证据(DAA)方案。EPID减轻公共Rivest、Shamir、Adleman (RSA)的私密问题——公共密钥基础设施(PKI)安全实现,其中对于每一个交易唯一地识别每一个个体。代替地,EPID提供远程证明的能力,但是仅将客户端计算系统识别为具有来自特定的技术代的部件(例如芯片集)。EPID是组签名方案,其中一个组的公共密钥对应于多个私密密钥,并且私密密钥生成由组公共密钥验证的组签名。EPID提供匿名和不可链接的安全属性一给定两个签名,人们不能够确定该签名是否根据一个或两个私密密钥生成。EPID也提供不可忘记的安全属性——没有私密密钥,人们不能够创建有效的签名。
[0025]通常,可以按照下面来实现建立具有EPID的安全通信信道。第一方(例如客户端计算系统)将EPID证书发送到第二方(例如服务提供商服务器)。从来不知道第一方的身份并且仅知道该第一方是具有可信的安全处理器的计算平台,第二方认证该第一方。该第一方然后使用第二方的公共密钥证书来认证第二方。由于第二方不要求隐私,第二方的公共密钥证书可以不是EPID证书(但是也可以是)。这两方然后可以进入Diffie-Hellman(DH)秘钥交换协定。
[0026]本文以引用的方式并入的下面的同族专利申请中描述了 DAA和EPID的各种适当的实施例:Ernest F.Brickell和Jingtao Li于2007年7月7日递交的序列号为11/778, 804 的 “An Apparatus and Method of Direct Anonymous Attestation fromBilinear Maps”;Ernest F.Brickell 和 Jingtao Li 于 2008 年 9 月 11 日递交的序列号为12/208,989的“An Apparatus and Method for a Direct Anonymous Attestation Schemefrom Short-Group Signatures” ;以及 Ernest F.Brickell 和 Jingtao Li 于 2008 年 9月 29 日递交的序列号为 12/286,303 的 “Direct Anonymous Attestation Scheme withOutsourcing Capability,,。
[0027]客户端计算系统至少包括三个主要部件一主机软件、芯片集硬件/固件和CPU/GFX/媒体引擎。在本发明的实施例中假设主机软件不被信任。即使主机软件遭到攻击,也不会有秘密被损害。主机软件负责到SP服务器104的网络连接,并且从内容服务器216下载媒体。主机软件用作各种SP服务器和芯片集硬件/固件之间的代理。在芯片集硬件/固件完成了标题密钥解开和到CPU/GFX部件中的注入之后,主机软件将加密的内容直接发送到图形硬件。
[0028]芯片集硬件/固件负责所有受保护的处理,起着受保护的设备的作用用于内容保护处理。在实施例中,芯片集硬件/固件使用DMI机制来将受保护的标题密钥发送到图形硬件。
[0029]CPU/GFX部件负责最终的流解密、解码和显示。GFX引擎是无源设备,不做出策略决定。当被要求时,GFX引擎简单地对内容进行解密,然后对提交的视频片段进行解码。在实施例中,GFX引擎(具有受保护的媒体编码器)对显示内容重新加密,用于通过HDMI和无线(例如,WiDi)显示器的HDCP输出保护。
[0030]受保护的客户端计算系统必须在发送高度敏感的信息之前由服务提供商远程地识别。用于识别该平台的机制必须不侵犯用户隐私。本发明的实施例为服务提供商提供受保护的机制以通过网络验证服务提供商服务器正在通信到适当的客户端计算系统,并将标题密钥和其它机密材料传输到该客户端计算系统。在一个实施例中,用于在服务提供商服务器和客户端计算系统之间建立受保护的会话的协议是EPID。EPID允许单个公共密钥匿名地验证由被称为EPID组的组中的N个私密密钥生成的签名。为了实现EPID,每一个芯片集包含在硅制造期间被吹入平台控制集线器(PCH)熔丝中的唯一私密密钥。在实施例中,芯片集制造商将1,000,000个私密密钥放置在单个组中,并且对于每一个生产的芯片集产生400个组。为了用作EPID验证器,向每一个服务器提供商提供这些400个公共密钥。
[0031]一旦建立了受保护的EPID会话,服务提供商服务器就与受保护的客户端计算系统自由地交换受保护的机密信息。对于内容流式传输,可以将受保护的标题密钥从SP服务器传递到芯片集中的安全处理器。安全处理器将受保护的标题密钥发送到图形和音频硬件。此时,能够将加密的视频和音频内容从内容服务器216直接发送到对该内容进行解密、解码和显示的客户端计算系统图形和音频硬件。为了下载内容,安全处理器使用唯一的平台存储密钥来将标题密钥绑定到客户端计算系统(在制造期间再次烧入PCH熔丝中),并将绑定的密钥返回到媒体播放器软件。当期望重放时,将绑定的标题密钥重新提交到安全处理器,该安全处理器以受保护的方式对其进行解绑定并且将其发送到图形和音频硬件。
[0032]图3是根据本发明实施例的客户端计算系统101的图。服务提供商(SP)播放器/媒体浏览器软件应用302可以包括在软件堆栈中以通过诸如互联网的网络201与SP服务器104接口。SP播放器/媒体浏览器302允许用户浏览服务提供商的内容提供,并选择内容以将其从SP服务器传送到客户端计算系统。SP播放器/媒体浏览器提供用户接口控制,用于用户管理内容库并控制内容的选择、下载和重放。SP播放器/媒体浏览器与服务代理304交互。根据本发明的实施例,服务代理304包括由服务提供商提供的软件应用,该服务提供商被授权访问支持端到端内容保护的客户端计算系统的特征。服务代理与各种SP播放器/媒体浏览器应用编程接口(API)(图2中未示出)进行接口。服务代理304包括媒体播放器部件306。媒体播放器提供内容播放器功能(例如,控制重放)。
[0033]SP客户端应用308使得SP播放器/媒体浏览器302和服务代理304能够访问位于客户端计算系统的硬件和固件上并且用于将消息转发到服务提供商服务器104的内容保护特征。在实施例中,SP客户端应用包括主机代理软件开发套件(SDK),该主机代理软件开发套件包括内容保护API。在实施例中,SP客户端应用与芯片集的平台控制集线器(PCH)312中的安全处理器314通信。
[0034]音频驱动器311提供媒体播放器和音频解密硬件316之间的接口。类似地,图形(GFX)驱动器310提供媒体播放器和GFX引擎320之间的接口。在实施例中,PCH312包括安全处理器314,其执行固件以提供内容保护功能,连同其它公知的系统功能。在实施例中,可以由管理性引擎(ME)来实现安全处理器。当由PCH312和GFX引擎320处理内容时,该内容可以至少部分地由分别位于PCH硬件/固件和GFX引擎硬件中的受保护的音频视频路径(PAVP)部件318、322进行保护。
[0035]图4是根据本发明实施例的安全内容处理的流图。在方框402处,客户端计算系统的用户使用SP播放器/媒体浏览器302来浏览、发现和购买来自一个或多个服务提供商的内容。在方框404处,执行SP服务器104和客户端计算平台101的共同认证。建立认证的会话。提供对于内容的给定集具有使用权限的密钥块。将该密钥块绑定到客户端计算系统以确保该系统在必要时受到机密性和完整性保护。
[0036]客户端计算系统然后在方框406处通过网络201从内容服务器216 (对于流式传输操作)或从客户端计算系统上的本地存储器(对于先前购买、下载和存储的内容)得到加密的内容。该系统准备对视频片段(例如,子帧)进行操作。结果,一经提交了数据的第一片段,硬件就可以处理该数据。
[0037]在方框408处,用户使用SP播放器/媒体浏览器302来发起选择的内容的重放。将密钥块提交到安全处理器314用于对标题密钥进行解包和提取。当完成这一动作时,安全处理器将该标题密钥装载到图形硬件320中用于解密。在方框410处,SP播放器/媒体浏览器将加密的内容提交到GFX引擎320内的媒体处理引擎。GFX引擎使用该标题密钥对内容进行解密,并且使用本地受保护的密钥对该内容进行重新加密。可以将重新加密的数据存储在受保护的本地或系统存储器中。随后在方框414处,获得、解密和解压缩该重新加密的内容。首先执行解密。一旦数据被解密,就对该数据进行解码/解压缩。一旦数据被解压缩,就对该数据进行重新加密并且经由系统存储器将其传递到合成引擎。一旦完成合成,就使用系统存储器将该数据再次保护并且传递到显示引擎。在实施例中,每一个部件自始至终都具有在必要时解密、处理和重新加密的能力。
[0038]在方框416处,GFX引擎使用HDCP技术对媒体内容进行重新加密(在实施例中)并将该内容传送到显示器用于由用户观看。在该处理的每一个步骤处,该内容从来不是不受阻碍的,其中在客户端计算系统上运行的软件或未授权的硬件部件可访问该内容。
[0039]图5是根据本发明实施例的安全内容处理系统的图。SP服务器104通过网络201与客户端计算系统101交互。客户端计算系统包括第一部件500和第二部件502。在实施例中,第一部件包括CPU和GFX部件,并且第二部件包括平台控制集线器(PCH)。在另一实施例中,可以在片上系统(SOC)实现中将第一部件和第二部件组合为单个部件。第一部件500包括多个处理器核心504和GFX引擎320。处理器核心504执行主机软件(SW)506 (如在图3中描述的)、客户端证书508、熔丝521和共享的秘密519的各种部件。主机SW读取数据,该数据包括先前从SP服务器或有形介质(例如DVD、蓝光光盘或其它存储技术)、从硬盘驱动(HDD) /固态驱动(SSD) 510获得的加密的内容。在实施例中,主机SW至少包括SP播放器/媒体浏览器应用302、服务代理304和SP客户端应用308。
[0040]GFX引擎320包括多个部件。媒体加密/解密引擎520包括用于对内容进行加密和解密的逻辑。媒体编码/解码引擎522包括用于对内容进行编码和解码的逻辑。GFX合成(Comp)引擎524包括用于构造显示图像的逻辑。显示引擎526包括用于将合成的显示图像传递到显示器的逻辑。显示加密/解密引擎528包括用于在通过受保护的链路527将显示数据发送到显示器538之前对该显示数据进行加密和解密的逻辑。存储器加密/解密引擎530包括用于对存储在存储器536中的受保护的中间表面534中的数据进行加密和解密的逻辑。存储器536还包括用于实现机密性和完整性受保护的存储器操作532的逻辑。
[0041]第二部件502包括多个部件,其中一些部件未示出,以便简化图5。第二部件包括安全处理器314。安全处理器包括用于对于客户端计算系统提供证明、提供密钥管理和输出控制操作516的固件和/或硬件逻辑。安全处理器还包括熔丝517、共享的秘密519和信任锚518,用于支持诸如验证密钥和密钥等级信息的PKI。在芯片集的制造期间使用用于EPID用途的密钥材料将熔丝521、517编程到第一部件和第二部件的硬件中。当制造客户端计算系统时,根据被编程到制造底板上的熔丝中的信息来构建硬件信任根。这确保了每一个单独的客户端计算系统是唯一的,然而是被隐私保护的。在芯片集和CPU/GFX部件的制造期间将共享的秘密519硬编码到第一部件和第二部件的硬件中。在实施例中,可以通过DMI链路538在建立安全的芯片间通信信道时使用共享的秘密。
[0042]客户端计算系统还包括用于提供安全时钟服务的受保护的实时时钟513、显示器538和非易失性存储器(NVM)512。在实施例中,受保护的实时时钟可以由第三方提供,并且可以对于多个服务提供商进行虚拟化。NVM可用于存储对于第二部件的固件图像,以及存储用于安全处理器处理操作的临时数据(例如完整性和状态信息)。
[0043]在实施例中,可以按照下面来描述处理流。SP播放器/媒体浏览器302向用户显现用户界面。用户去往服务提供商的网站以浏览可用的内容。SP网站具有自动检测能力以确定该用户的客户端计算系统是否在其内集成了使用SP服务器104认证的能力。如果集成了这一能力,则允许用户选择内容。该内容可以被购买、租用或订阅,或者可以被流式传输。用户为该内容付费。SP播放器/媒体浏览器302调用安全处理器316以使用SP服务器认证客户端计算系统101。在实施例中,该认证使用EPID技术。至少部分地通过使SP服务器104验证客户端计算系统的证书508、执行废除检查并且验证到证书管理机构的证书路径(在一个实施例中使用EPID协议)来认证客户端计算系统101。在一个实施例中,当客户端计算系统101和SP服务器104都被认证时,可以以EPID协议为基础来建立安全通信信道。在实施例中,一旦建立了安全通信信道,就可以使用命令集用于端到端内容保护能力。
[0044]SP服务器104向客户端计算系统提供加密的标题密钥,具有对内容的使用的约束(例如,时间)。SP服务器通过安全信道将加密的标题密钥发送到安全处理器314。安全处理器314使用它自己的密钥等级对加密的标题密钥进行解密。安全处理器314使用存储密钥来对新解密的标题密钥进行重新加密以形成密钥块。将该密钥块在规定的时间段内绑定到客户端计算系统。安全处理器314将该密钥块发送到在CPU核心中运行的SP播放器/媒体浏览器302。SP播放器/媒体浏览器302将该密钥块存储在HDD/SDD510中。SP服务器/媒体浏览器302然后下载用户选择的加密的内容。在一个实施例中,可以将下载的加密的内容存储在HDD/SSD510中。
[0045]当用户想要播放该内容时,SP播放器/媒体浏览器302将该密钥块提交回到安全处理器314。安全处理器验证该密钥块的签名,并且检查例如以时间为例的使用约束。安全处理器314通过加密的信道(例如,DMI链路538)将加密的标题密钥发送到GFX引擎320的媒体加密/解密部件520。安全处理器向SP播放器/媒体浏览器指示GFX/媒体引擎准备处理加密的内容。SP播放器/媒体浏览器302从HDD/SDD510读取加密的内容,或者通过网络201从SP服务器104获得加密的内容(用于流式传输应用),并将该加密的内容逐片段地发送到GFX引擎。
[0046]GFX引擎320以逐片段的方式处理加密的内容。对于每一个片段,SP播放器/媒体浏览器不受阻碍地读取片段头部。片段的剩余部分被加密,以使得SP播放器/媒体浏览器不能够访问内容。SP播放器/媒体浏览器使用初始化向量来跟踪重放状态信息。在对从安全处理器接收到的加密的标题秘钥进行解密之后,媒体加密/解密引擎520使用该标题密钥对内容进行解密。在一个实施例中,仍然根据公知的H.264编码方案来对媒体加密/解密引擎的输出数据进行压缩。在其它实施例中,可以使用其它编码方案。媒体编码/解码引擎522使用存储器加密/解密530对每一个片段进行解码并且然后对该片段进行重新加密。将重新加密的内容片段存储在存储器536中的受保护的中间表面534中。GFX合成引擎524控制要在显示器上显示的图像的合成,包括前景和背景图像、窗口等等。GFX合成引擎从存储器536中的受保护的中间表面534获得重新加密的内容片段以生成合成图像。GFX合成引擎524将合成图像数据发送到显示引擎526。
[0047]显示引擎使用显示加密/解密引擎528以对来自用于将内容片段存储在存储器536中的加密的合成图像进行解密。在一个实施例中,显示引擎526使用显示加密/解密引擎以根据HDCP技术对合成的图像数据进行重新加密。GFX引擎320通过受保护的芯片间数据接口(例如DMI链路)538将加密的合成的图像数据发送到第二部件502,用于通过受保护的显示接口链路527传输到显示器538。
[0048]在实施例中,可以存在由客户端计算系统处理的任何数量的同时存在的独立内容流。每一个内容流具有其自己的密码上下文,以便不干扰其它流。这也允许客户端计算系统确保一个流上的任何种类的攻击或损害不影响其它内容流。[0049]本发明的实施例提供用于购买与在由客户端计算系统呈现的数字内容中表示的对象有关的商品和/或服务,和/或获得对于所述对象的信息的能力。图6是根据本发明实施例的对象信息处理的流图。在方框602处,SP播放器/媒体浏览器302对于用户显示数字内容。在用户听到并看到该内容时,该用户可能对该内容中的某些事物感兴趣。在实施例中,数字内容包括例如以电影或TV节目为例的视频。例如,用户可以看到在内容的视频帧序列中的至少一个视频帧中显示的至少一个对象的图像。通常,该至少一个对象图像可以是将由照相机捕捉的物理世界对象表示为该视频帧的至少一部分的任何图像。例如,对象图像可以是在人物、植物或动物、车辆、家庭物品、建筑物、风景特征、消费类商品品等等的视频帧中的图像。在另一示例中,对象图像可以是添加到视频帧以代表例如正在播放的歌曲的数字内容的音频部分的光标、符号或者其它代表性图像。在另一示例中,该对象可以不物理地存在于物理世界中,并且可以是添加到视频帧的计算机生成的、手工绘制的或动画的图像。用户还可能在消费内容时对多个对象感兴趣。在一个说明性示例中,用户可能正在观看电影,其中演员正穿着外套并沿着特定城市中的著名街道驾驶汽车,并且此时电影原声带包括歌曲。在这一示例中,用户可能对得到关于下列对象中的一个或多个的信息(在适当和可用的场合,包括购买信息)感兴趣:演员、外套、汽车、街道、城市和歌曲。
[0050]在实施例中,当用户对得到关于感兴趣的对象的信息或者也许购买该对象感兴趣时,用户使用对于客户端计算系统可用的用户输入机制来选择对象图像。在本发明的实施例中,可用的用户输入机制可以包括现在已知的或将来开发的任何用户输入设备,例如计算机鼠标、键盘、远程控制设备、游戏控制器、触摸屏、检测到的用户手势等等。在实施例中,用户可以暂停内容的重放,以便在选择的对象图像上提供用户输入,并且然后在进行用户输入选择时重新开始重放。在其它实施例中,可以不执行暂停内容的重放。
[0051]在方框604处,SP播放器/媒体浏览器从用户接受选择在显示器上的视频帧序列中的至少一个视频帧中呈现的至少一个对象图像的输入选择。在实施例中,用户输入数据可以包括自内容的显示开始逝去的时间和视频帧中的位置中的至少一个。例如,用户可以选择在逝去的时间t的重放期间出现的视频帧中的特定位置(x,y)处显示的对象图像。在实施例中,可以将时间指定为自显示的内容开始以来的小时、分钟、秒和毫秒。在另一实施例中,可以将时间指定为从显示内容开始的计数器(例如,帧计数或其它计数器)。在另一实施例中,仅逝去的时间可以由用户指示。在又一实施例中,仅位置可以由用户指示。
[0052]当用户消费内容并且进行对象图像的一个或多个选择时,在一个实施例中,在方框606处,SP播放器/媒体浏览器存储用户输入。在一个实施例中,SP播放器/媒体浏览器使用安全处理器314和DMI链路538安全地通信用户输入并将该用户输入存储在NVM512中的安全存储位置中。这有助于为用户提供关于消费的内容和相关联的信息请求以及购买交易的隐私。在实施例中,可以将每一个单独的用户输入存储为单独的操作。在另一实施例中,可以在内容消费处理结束时在单个存储操作中对来自特定数字内容标题(或其部分)的消费的用户输入进行存储。即使当客户端计算系统101没有连接到网络201时,也会发生方框602、604和606的处理。
[0053]在实施例中,一旦消费了内容并且将客户端计算系统连接到网络,SP播放器/媒体浏览器就使用服务代理304、SP客户端应用308和安全处理器314来从NVM512获得存储的用户输入,并且使用上面讨论的方法来将用户输入安全地传输到SP服务器104上的SP服务器应用212。在另一实施例中,如果当消费内容时将客户端计算系统连接到网络,并且如果用户选择了他或她想要关于信息请求的立即反馈,则SP播放器/媒体浏览器可以将每一个单独的用户输入实时地发送到服务提供商服务器上的SP服务器应用,用于处理。在一个实施例中,与是否批处理或单独处理用户输入无关,在方框610处,SP服务器应用将每一个用户输入与内容对象信息数据库中的条目进行比较。在实施例中,该比较可以涉及试图将来自用户输入的时间和位置信息匹配到关于内容的音频和视频部分的已知信息。
[0054]图7是根据本发明实施例的服务提供商服务器上的对象信息处理部件的图。SP服务器应用212通过网络从客户端计算系统安全地接收一个或多个用户输入702。SP服务器应用访问内容102。在一个实施例中,例如以SP服务器应用为例的SP服务器的一个或多个部件可以用于以内容的静态分析为基础来生成内容对象信息数据库704。也就是说,在将内容分配到任何客户端计算系统之前,可以分析该内容用于对象图像。内容对象信息数据库包括对于由用于以信息请求为基础向用户提供信息的服务提供商支持的内容中的每一个对象图像的条目。在实施例中,可以由服务提供商构建对于每一个支持的内容标题的内容对象信息数据库。
[0055]在实施例中,在分配内容和/或支持对象信息请求之前,服务提供商人员分析该内容的音频和视频部分,识别对象图像,并且创建对于支持的识别的对象的数据库条目。在实施例中,可以以内容提供商、服务提供商和/或另一实体的当前广告和/或销售战略为基础来选择要被支持的识别的对象。在一个实施例中,可以获得与被支持的对象相关联的相关信息并且将该相关信息存储在内容对象信息数据库中。在另一实施例中,可以存在到相关信息的链接,并且可以根据需要从任何信息源(例如,互联网、其它数据结构、其它数据库等等)获得该信息。在再一实施例中,由于诸如改变的市场条件,广告战略改变,例如天气、运动分数、新项目等等的当前事件,一天的时间、一年的时间等等的事情,服务提供商可以在任何时间对于任何选择的被支持的对象来动态地改变内容对象信息数据库中的信息。
[0056]可以将从内容对象信息数据库704或者从与选择的对象相关联的其它源获得的信息识别为对象信息710。例如,当对象是消费类商品时,该对象信息可包括商标、制造商、型号、标题、价格、可用性、特征等等中的一个或多个。例如,当对象是诸如男演员或女演员的人物时,该对象信息可以包括人物的传记信息、电影简历、影迷俱乐部信息、到网站的链接等等中的一个或多个。例如,当对象是城市或路标时,该对象信息可以包括关于参观该城市或路标的信息。例如,当对象图像代表歌曲时,该对象信息可以包括歌曲标题、艺术家、专辑标题、唱片公司和购买信息中的一个或多个。通常,对象信息包括与该对象有关的任何信息。在一个实施例中,对象信息包括关于购买该对象或者相关的商品和/或服务的信息。
[0057]在实施例中,SP服务器应用可以在服务提供商服务器上安全地维持用户的用户配置文件706。用户配置文件包括用户的偏好和兴趣中的至少一个。在实施例中,SP服务器应用可以至少部分地以用户配置文件为基础来选择和/或修改对象信息。在一个实施例中,用户可以通过用户使用SP播放器/媒体浏览器的确认动作来输入或选择他或她的偏好和/或兴趣。在另一实施例中,SP服务器应用可以至少部分地以传送到用户的客户端计算系统的内容和/或由服务提供商服务器随着时间接收到的用户输入为基础来开发并维护用户配置文件。在实施例中,偏好可以包括用户对什么类型的信息感兴趣、用户想要如何、何时并且以什么格式接收该信息。在实施例中,偏好可以包括购买参数,例如对于购买的财务限制、购买通知和批准等等。也可以指定其它偏好。在实施例中,兴趣可以包括用户作为兴趣(例如,运动、爱好、电视、电影和音乐风格等等)选择的事物以及通过分析例如接收到的用户输入以及传送和/或消费的内容为例的过去的行为而确定的兴趣。在实施例中,可以将用户输入存储为用户配置文件的一部分。
[0058]返回到图6,在方框612处,当在比较选择的对象的用户输入(由对象图像表示)和内容对象信息数据库中的条目时出现匹配时,在一个实施例中,SP服务器应用获得关于与选择的对象图像相对应的对象的信息并且将该信息存储在用户配置文件中。在另一实施例中,可以将到相关信息的链接存储在用户配置文件中,并且可以根据需要从任何信息源(例如,互联网、其它数据结构、其它数据库等等)获得该信息。在方框614处,在请求时,服务提供商服务器上的SP服务器应用将来自用户配置文件的对象信息(或者根据需要从另一源获得该对象信息)发送到客户端计算系统上的SP播放器/媒体。在一个实施例中,这可以在用户登录到由服务提供商操作的网站并请求一个或多个对象信息时发生。在方框616处,SP播放器/媒体浏览器向用户显示请求的对象信息。在实施例中,对象信息可以包括允许用户完成对对象的购买交易的购买信息。在实施例中,可以实时地执行方框608、610、612和614,而不等待用户登录到网站来请求对象信息。在实施例中,用户可以暂停内容的重放以浏览请求的对象信息。
[0059]回来参考图7,在一个实施例中,可以由SP服务器应用对内容执行动态分析708,代替静态分析,产生存储的内容对象信息数据库条目。动态分析部件708可以至少部分地以接收到的用户输入702为基础来分析内容102的音频部分和视频帧。当正在客户端计算系统上消费内容时,动态分析部件可以使用已知的音频识别、图像识别和/或面部识别处理技术来分析由用户输入指示的音频部分和视频帧中的一个或多个以试图确定在服务提供商服务器上的内容拷贝中的一个或多个选择的对象图像或声音。例如,如果正在将内容流式传输到客户端计算系统,则当通过网络流式传输该内容时,可以分析服务器上的内容以确定在当前内容部分中的对象。SP服务器应用接受用户输入,并将它们与当前流式传输的内容部分相关联。当通过这样的动态分析识别对象时,SP服务器应用获得与识别的对象有关的对象信息710,并且继续方框612、614和616。
[0060]与将预定的热点添加到视频帧中相比较,本发明的实施例以更加广泛和灵活的方式捕获用户对对象的兴趣。在本发明的实施例中,服务提供商服务器可以动态地确定在内容部分中是否存在用户感兴趣的任何事物,并且独立地采取动作,或者在不同的时间对相同的用户输入采取不同的动作。
[0061]在说明书中对“一个实施例”或“实施例”的提及意味着可以至少在实现中包括结合该实施例描述的特定特征、结构或特性。短语“在一个实施例中”在说明书中不同位置的出现可以或者不可以全部指代相同实施例。
[0062]并且,在说明书和权利要求中,可以使用术语“耦接”和“连接”连同其派生词。在本发明的一些实施例中,“连接”可以用于指示两个或更多个元件彼此直接物理或电接触。“耦接”可以意味着两个或更多个元件处于直接物理或电接触中。然而,“耦接”也可以意味着两个或更多个元件可以不彼此直接接触,但是仍然可以彼此协作或交互。
[0063]因而,尽管以对于结构特征和/或方法动作特定的语言描述了本发明的实施例,但是应该理解,请求保护的主题可以不局限于描述的特定的特征或动作。更确切地,公开该特定的特征和动作作为实现请求保护的主题的示范形式。
【权利要求】
1.一种在客户端计算系统上处理数字内容的方法,包括:由所述客户端计算系统呈现数字内容;从用户接受在被呈现的所述数字内容的视频帧序列中的至少一个视频帧中选择至少一个对象图像的用户输入数据;将所述用户输入数据发送到通过网络经由安全通信信道耦接到所述客户端计算系统的服务器;从所述服务器接收关于与选择的对象图像相对应的对象的信息;并且在所述客户端计算系统上显示对象信息。
2.如权利要求1所述的方法,其中,选择的至少一个对象图像包括由照相机捕获的作为所述视频帧中的至少一个的至少一部分的对象的图像。
3.如权利要求1所述的方法,其中,所述用户输入数据包括以下中的至少一个:选择的至少一个对象图像在示出在所述客户端计算系统的显示器上的所述至少一个视频帧中的位置,以及从所述视频帧的呈现开始逝去的时间。
4.如权利要求2所述的方法,其中,捕获的对象包括物理世界对象。
5.如权利要求4所述的方法,其中,所述捕获的对象包括消费类商品。
6.如权利要求1所述的方法,其中,所述对象信息包括用于使得所述用户能够购买所述对象的信息。
7.一种用于处理数字内容的客户端计算系统,包括:`用户输入装置,用于输入用户输入数据;显不器;以及处理器,适于呈现数字内容,经由所述用户输入装置从用户接受用户输入数据以在被呈现的所述数字内容的视频帧序列中的至少一个视频帧中选择至少一个对象图像,将所述用户输入数据发送到通过网络经由安全通信信道耦接到所述客户端计算系统的服务器,从所述服务器接收关于与选择的对象图像相对应的对象的信息,并且使所述对象信息显示在所述显示器上。
8.如权利要求7所述的客户端计算系统,其中,选择的至少一个对象图像包括由照相机捕获的作为所述视频帧中的至少一个的至少一部分的对象的图像。
9.如权利要求7所述的客户端计算系统,其中,所述用户输入数据包括以下中的至少一个:选择的至少一个对象图像在示出在所述客户端计算系统的所述显示器上的所述至少一个视频帧中的位置,以及从所述视频帧的呈现开始逝去的时间。
10.如权利要求8所述的客户端计算系统,其中,捕获的对象包括物理世界对象。
11.如权利要求10所述的客户端计算系统,其中,所述捕获的对象包括消费类商品。
12.如权利要求7所述的客户端计算系统,其中,所述对象信息包括用于使得所述用户能够购买所述对象的信息。
13.—种包括一个或多个指令的计算机可读介质,当在客户端计算系统的处理器上执行时,所述指令配置所述处理器以通过下列操作来处理数字内容:呈现数字内容;从用户接受在被呈现的所述数字内容的视频帧序列中的至少一个视频帧中选择至少一个对象图像的用户输入数据;将所述用户输入数据发送到通过网络经由安全通信信道耦接到所述客户端计算系统的服务器;从所述服务器接收关于与选择的对象图像相对应的对象的信息;并且使所述对象信息显示在所述客户端计算系统的显示器上。
14.如权利要求13所述的计算机可读介质,其中,选择的至少一个对象图像包括由照相机捕获的作为所述视频帧中的至少一个的至少一部分的对象的图像。
15.如权利要求13所述的计算机可读介质,其中,所述用户输入数据包括以下中的至少一个:选择的至少一个对象图像在示出在所述客户端计算系统的显示器上的所述至少一个视频帧中的位置,以及从所述视频帧的呈现开始逝去的时间。
16.如权利要求14所述的计算机可读介质,其中,捕获的对象包括物理世界对象。
17.如权利要求16所述的计算机可读介质,其中,所述捕获的对象包括消费类商品。
18.如权利要求14所述的计算机可读介质,其中,所述对象信息包括用于使得所述用户能够购买所述对象的信息。
19.一种处理数字内容的方法,包括:由第一应用在客户端计算系统上呈现数字内容;由所述第一应用从用户 接受在被呈现的所述数字内容的视频帧序列中的至少一个视频帧中选择至少一个对象图像的用户输入数据;将所述用户输入数据存储在所述客户端计算系统内的安全存储器中;将所述用户输入数据发送到通过网络经由安全通信信道耦接到所述客户端计算系统的服务器上的第二应用;由所述第二应用将所述用户输入数据与所述服务器上的内容对象信息数据库中的条目进行比较;当所述用户输入数据匹配到所述内容对象信息数据库中的条目时,由所述第二应用获得并存储关于与选择的对象信息相对应的对象的信息;由所述第二应用通过所述安全通信信道将所述对象信息发送到所述第一应用;以及由所述第一应用在所述客户端计算系统上显示所述对象信息。
20.如权利要求19所述的方法,其中,选择的至少一个对象图像包括由照相机捕获的作为所述视频帧中的至少一个的至少一部分的对象的图像。
21.如权利要求19所述的方法,其中,所述用户输入数据包括以下中的至少一个:选择的至少一个对象图像在示出在所述客户端计算系统的显示器上的所述至少一个视频帧中的位置,以及从所述视频帧的呈现开始逝去的时间。
22.如权利要求20所述的方法,其中,捕获的对象包括物理世界对象。
23.如权利要求22所述的方法,其中,所述捕获的对象包括消费类商品。
24.如权利要求22所述的方法,其中,所述捕获的对象包括人物。
25.如权利要求19所述的方法,其中,选择的对象图像代表歌曲。
26.如权利要求19所述的方法,其中,所述对象信息包括用于使得所述用户能够购买所述对象的信息。
27.如权利要求19所述的方法,其中,所述内容信息数据库包括对于在被支持用于向所述用户提供对象信息的所述内容中的每一个对象图像的条目。
28.如权利要求27所述的方法,进一步包括分析所述内容的音频和视频部分,识别对象图像,并且在分配所述内容之前,对于识别的对象图像,在所述内容信息数据库中创建条目。
29.如权利要求27所述的方法,进一步包括至少部分地以所述用户输入数据为基础来分析所述内容的音频和视频部分,识别对象图像,并且当在所述客户端计算系统上消费所述内容时,对于识别的对象图像在所述内容信息数据库中创建条目。
30.如权利要求27所述的方法,进一步包括动态地改变所述内容信息数据库中的所述对象信息。
31.如权利要求19所述的方法,其中,由所述第二应用存储关于与选择的对象图像相对应的对象的信息包括:将所述对象信息存储在所述服务器上的用户配置文件中,并且至少部分地以所述用户配置文件为基础来修改要发送到所述客户端计算设备的对象信息。
32.如权利要求31所述的方法,进一步包括至少部分地以传送到所述客户端计算系统的内容和用户输入为基础来确定所述用户的兴趣,并且将所述用户的兴趣存储在所述用户配置文件中。
33.一种系统,包括:客户端计算系统,用于呈现数字内容,从用户接受在被呈现的所述数字内容的视频帧序列中的至少一个视频帧中选择至少一个对象图像的用户输入数据,并且将所述用户输入数据存储在所述客户端计算系统内的安全存储器中;以及服务器,通过网络经由安全通信信道耦接到所述客户端计算系统,用于从所述客户端计算系统接收所述用户输入数据,将所述用户输入数据与所述服务器上的内容对象信息数据库中的条目进行比较,当所述用户输入数据匹配到所述内容对象信息数据库中的条目时,获得并存储关于与选择的对象图像相对应的对象的信息,并且通过所述安全通信信道将所述对象信息发送到所述客户端计算系统;其中,所述客户端计算系统用于向所述用户显示所述对象信息。
34.如权利要求33所述的系统,其中,选择的至少一个对象图像包括由照相机捕获的作为所述视频帧中的至少一个的至少一部分的对象的图像,并且所述用户输入数据包括以下中的至少一个:所述选择的至少一个对象图像在示出在所述客户端计算系统的显示器上的所述至少一个视频帧中的位置,以及从所述视频帧的呈现开始逝去的时间。
35.如权利要求34所述的系统,其中,捕获的对象包括物理世界对象。
36.如权利要求33所述的系统,其中,所述对象信息包括用于使得所述用户能够购买所述对象的信息。
【文档编号】H04N21/4627GK103460708SQ201180069649
【公开日】2013年12月18日 申请日期:2011年12月21日 优先权日:2011年3月11日
【发明者】M·米拉什拉斐, M·M·哈斯拉, R·彭达库尔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1