数字内容保护方案的安全提供的制作方法

文档序号:13110010阅读:187来源:国知局
本申请是申请日为2011年12月1日并且申请号为201180027066.4的中国专利申请的分案申请。技术领域本申请涉及数据处理的技术领域,更具体地,涉及与数字内容保护方案的安全提供相关联的方法和装置。

背景技术:
在此提供的背景描述是用于一般地给出本公开的环境的目的。除非在此另有指示,否则在本节中描述的材料不是相对于本申请中的权利要求的现有技术并且包括在本节中并不就被承认为是现有技术。数字内容的安全播放经常需要在数字内容从图形单元发送到显示单元时保护数字内容。已开发了各种方案以保护数字内容在传输过程中免受未授权的复制,例如,可从在俄勒冈州比弗顿的DigitalContentProtection有限责任公司获得的高带宽数字内容保护(HDCP)。进一步的信息参见2009年7月8日发布的HDCP规范1.4版本。当诸如开源操作系统的操作系统易受到损害时,例如HDCP的保护方案可能是易受损害的。随着越来越多的例如移动计算设备(在下文中,简称为移动设备)的计算设备,如个人数字助理、智能电话、平板电脑等,采用开源操作系统,这种暴露可能会不断增加。附图说明本发明的实施例将以在附图中示出的示例性实施例的方式来描述,但这些示例性实施例并非限制,在附图中,相同的标号表示类似的元素,其中:图1示出了示例性的计算设备,其被配置为提供数字内容保护方案的安全提供;图2和图3示出了用于数字内容保护方案的安全提供的方法;图4示出了具有指令的示例性的非瞬态计算机可读存储介质,其中所述指令被配置为实行图2-3中的方法的所有或所选的方面;所有这些均根据本公开的实施例来安排。具体实施方式公开了与安全地提供数字内容保护方案相关联的方法、装置和存储介质。在各种实施例中,方法可以包括在设备的应用执行环境中的媒体应用和该设备的安全控制器之间形成信任关系。应用执行环境可以包括操作系统,并且该操作系统可以控制在该应用执行环境中的资源。此外,安全控制器可以在应用执行环境的外部,使安全控制器的组件被保护而免于受到操作系统组件的影响。进一步的,该方法可以包括安全控制器提供(例如启用和/或配置)用于媒体应用的数字内容保护方案,以提供数字内容给在应用执行环境中启用了数字内容保护的发射机,从而提供给启用了数字内容保护的接收机(直接地或通过一个或多个中间的启用了数字内容保护的中继器)。将使用本领域技术人员普遍采用的术语来描述说明性实施例的各个方面,以向本领域技术人员传达它们工作的实质。但是,对本领域技术人员将显而易见的是,可以仅用所描述的方面中的一些来实践可替代的实施例。出于解释的目的,阐述了具体数字、材料和配置,以便提供对这些说明性实施例的透彻理解。但是,对本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下实践可替代的实施例。在其他实例中,省略或简化了熟知的特征,以免模糊了这些说明性实施例。将以最有助于理解这些说明性实施例的方式把各种操作描述为依次的多个分立操作;但是,所描述的顺序不应解释为意味着这些操作一定是顺序相关的。具体来说,无需按照所说明的顺序来执行这些操作。而且,将操作描述为分离的操作不应解释为要求一定独立地执行这些操作和/或由分离的实体执行这些操作。类似地,将实体和/或模块描述为分离的模块不应解释为要求模块是分离的和/或执行分离的操作。在各种实施例中,图示的和/或描述的操作、实体、数据和/或模块可以被合并、进一步分解成子部分和/或省略。短语“在一个实施例中”或“在实施例中“被反复使用。该短语一般不指相同的实施例;但是它也可以指相同实施例。除非上下文另外规定,否则术语“包括”、“具有”和“包含”是同义词。短语“A/B”意思是“A或B”。短语“A和/或B”意思是“(A)、(B)或(A和B)”。短语“A、B和C中的至少一个”意思是“(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)”。图1示出了根据本公开的各种实施例的示例计算设备,其被配置为提供安全的数字内容保护。如图所示,对于图示的实施例,计算设备100可以包括彼此耦合的应用执行环境(AEE)102和安全控制器132。AEE102可以包括处理器和存储器装置104、图形单元106和显示单元108,所述处理器和存储器装置104被配置为使操作系统(OS)114和媒体应用112运行于其中。安全控制器132可以包括处理器和存储器装置133、验证服务136和HDCP驱动134。如将在下文更详细描述的,OS114和安全控制器132可以与本公开的教导合并以当数字内容从图形单元106传输至显示单元108时,更好地保护数字内容免受未经授权的复制。具体来说,在各种实施例中,图形单元106可以包括HDCP寄存器128和HDCP发射机124,而显示单元108可以与HDCP接收机126合并,所有这些都被配置为根据HDCP安全地播放数字内容。对于这些实施例,OS114和安全控制器132(具体说来是验证服务136和HDCP驱动134)可以进一步与本公开的教导合并以在HDCP方案下更好地保护数字内容免受未授权的复制。在各种实施例中,验证服务136和HDCP驱动134可以实现为安全控制器132的固件。在各种实施例中,一个或多个中间的HDCP中继器(未示出)可以放置在HDCP发射机124和HDCP接收机126之间。而且,显示单元108可以与HDCP中继器合并而不仅是HDCP接收机。因此,除非上下文清楚地另外指示,否则说明书中所有随后对“HDCP接收机”的引用应被理解为“HDCP接收机”或“HDCP中继器”。尽管为了便于理解,将基本上在根据HDCP方案提供更好(例如最优)的安全性来启用/配置对数字内容的保护以免受未授权的复制的环境阐述说明书的剩余部分,但是,本公开不受此限制,而同样可以被实践来根据其他数字内容保护方案提供更好的/最优的安全性来启用/配置对数字内容的保护以免受未授权的复制。在进一步描述这些教导之前,注意在各种实施例中,具有HDCP接收机126的显示单元108可以位于AEE102的外部。此外,AEE102可以包括其他组件,例如永久存储设备、联网接口、照相机、加速计、全球定位设备等。在各种实施例中,如前面描述的,可以配置处理器和存储器装置104以使OS114和一个或多个媒体应用112能够运行于其中,而处理器和存储器装置133可被配置为使验证服务136和HDCP驱动134能够运行于其中。处理器和存储器装置104/133意在代表广泛范围的处理器和存储器装置,包括但不仅限于这样的装置:其具有不同执行速度和功耗的单核或多核处理器,以及各种架构(具有一级或多级高速缓存)和各种类型(动态随机存取、闪速等)的存储器。类似地,媒体应用112可以是其中它的部分操作涉及在显示单元108上播放数字媒体内容的任何应用。在各种实施例中,可以配置图形单元106以提供图形功能给媒体应用112和OS114,而显示单元108可以被配置为显示媒体应用112和OS114的输出。而且,如前面所述,图形单元106可以包括HDCP寄存器128和HDCP发射机124,而显示单元108可以包括HDCP接收机126,其被配置为通过图形单元106提供HDCP给在显示单元108上的由媒体应用112播放的数字内容。在各种实施例中,OS114可以包括各种常规组件,包括用户模式图形驱动116,以及内核模式图形驱动118,其被配置为促进媒体应用112和OS114使用图形单元106提供的图形功能。此外,为了更好地解决图形驱动116和118的潜在安全弱点,OS114还可以包括用户模式HDCP模块120和内核模式HDCP模块122,其被配置为促进媒体应用112通过安全控制器132在显示单元108上播放数字内容,由此当数字内容从图形单元106传输至显示单元108,具体地说,从图形单元106的HDCP发射机124传输到显示单元108的HDCP接收机126时,为数字内容提供了更好的保护。为了促进用户模式HDCP模块120和内核模式HDCP模块122的使用,可以修改用户模式图形驱动116以替代地路由所有HDCP相关的操作至用户模式HDCP模块120。在各种实施例中,安全控制器132可以为验证服务136和HDCP驱动134提供安全的操作环境,隔离或遮蔽验证服务136和HDCP驱动134以免受OS114组件的影响。换句话说,OS114(包括其组件)没有对安全控制器132的执行资源的访问权,并因而没有对验证服务136和HDCP驱动134的访问权。在各种实施例中,可以配置验证服务136以形成与媒体应用112的信任关系,使安全控制器132能够针对媒体应用112将媒体应用112的数字内容路由至HDCP发射机124,并最终至HDCP接收机126。可以配置HDCP驱动134以驱动HDCP发射机124,并控制其与HDCP接收机126的交互,包括根据HDCP方案控制HDCP发射机124执行各种验证。在各种实施例中,可以配置用户模式HDCP模块120和内核模式HDCP模块122以提供对HDCP驱动134的通道访问(passthroughaccess)。因此,借助于安全的操作环境,安全控制器132提供验证服务136和HDCP驱动134,在各种实施例中,OS114可以是开源操作系统。在各种实施例中,可以配置用户模式HDCP模块120以支持对用户模式图形驱动116的多个应用程序接口(API)调用,来将HDCP相关的操作路由至用户模式HDCP模块120。在各种实施例中,API调用可以包括用于启用HDCP的调用、用于禁用HDCP的调用、用于请求HDCP状态的调用、以及用于获得返回HDCP状态的报告的调用。在各种实施例中,这些API调用可以用例如C的任何高级语言,或者处理器和存储器装置104的处理器支持的汇编语言来实现。在各种实施例中,用户模式HDCP模块120和内核模式HDCP模块122采用多个缓冲器来在模块之间传递数据。在各种实施例中,内核模式HDCP模块122包括读文件功能和写文件功能以从安全控制器132读取数据和向安全控制器132写入数据。图2和3根据各种实施例,示出了用于安全提供数字内容保护方案的操作的方法。如图所示,方法200由两部分组成,图2中示出的部分200a和图3中示出的部分200b。对于图示的实施例,方法200可以在框202从以下操作开始:HDCP驱动134通过用户模式HDCP模块120、内核模式HDCP模块122和验证服务136接收来自媒体应用112的HDCP启用请求。过程可以从框202前进到框204,其中验证服务136可以向媒体应用112验证安全控制器132。在验证时,响应于HDCP启用请求,HDCP驱动134可以建立与媒体应用112通信的安全通道,使媒体应用112能够信任在安全控制器132内操作的组件,所述组件具体说来包括HDCP驱动134,以继续进行HDCP操作。在各种实施例中,可以根据保持安全控制器132的隐私的密码标识协议来建立安全通道,所述密码标识协议例如公司开发的增强的隐私标识(EPID)协议。方法200可以从框204前进到框206,其中HDCP驱动134可以检测显示单元108是否被附接。如果显示单元108的存在没有被检测到,则方法200可以从框206前进到框232,然后到框220,其中验证服务136可以解除建立安全通道,并结束方法200。另一方面,如果检测到显示单元108的存在,则方法200可以从框206前进到框208,其中HDCP驱动134可以检测HDCP密钥是否已加载。在检测到HDCP密钥已被加载时,方法200可以前进到框212。但是,如果没有检测到HDCP密钥,则方法200可以前进到框210,其中HDCP驱动134在前进到框212之前,可以加载HDCP密钥。在框212,HDCP驱动134可以从HDCP启用请求(或其他来自媒体应用112的通信)解析系统再生性消息(SRM)数据以用于HDCP操作。方法200可以从框212前进到框214,其中HDCP驱动134可以确定HDCP接收机126的证书是否已被撤销。如果HDCP接收机126的证书已被(HDCP的证书机构)撤销,则方法200可以从框214前进到框232和框220,并终止,如前面所描述的。另一方面,如果HDCP接收机126的证书没有被撤销,则方法200可以前进到框216,其中HDCP驱动134可以驱动HDCP发射机124与HDCP接收机126执行HDCP验证,部分-1。在验证HDCP接收机126失败时,方法200可以从框216前进到框232和框220,并终止,如前面所描述的。但是,在成功验证HDCP接收机126时,方法200可以前进到框222,其中HDCP驱动134可以确定HDCP接收机是否是中继器。在确定HDCP接收机是中继器时,方法200可以前进到框224,其中HDCP驱动134可以驱动HDCP发射机124执行针对中继器的HDCP验证,部分-2。在确定HDCP接收机不是中继器或成功验证HDCP中继器时,方法200可以前进到框226,其中HDCP驱动134可以确定是否有额外的显示单元存在。在确定至少另一额外的显示单元存在时,方法200可以前进到框214以验证额外的显示单元的HDCP接收机(或至额外的显示单元的HDCP接收机的中间中继器),如前面所描述的。在确定所有显示单元的HDCP接收机(包括任何中间中继器)已被验证时,方法200可以前进到框228,其中媒体应用112可以(通过已验证的HDCP发射机和/或中继器)路由数字内容至检测到的显示单元的已验证的HDCP接收机。从HDCP发射机至HDCP接收机的数字内容的路由可以是加密的。在框228,对于视频数字内容,HDCP驱动134也可以驱动HDCP发射机124和HDCP接收机126以执行HDCP验证,部分-3,用于在视频数字内容的垂直消隐间隔期间视频数字内容的加密和解密。方法200可以从框228前进到框230,其中HDCP驱动134可以检测任何的HDCP部分-3验证的失败,或媒体应用112播放数字内容的结束。如果没有检测到这两个条件,方法200可以返回到框228并继续前面所描述的操作。另一方面,如果检测到HDCP部分-3验证失败,或播放结束,则方法200可以前进到框232,其中验证服务136可以解除建立在安全控制器132和媒体应用112之间的安全通道。其后,方法200可以前进到框220,其中方法200可以终止。对于HDCP的进一步信息,参考前面标出的HDCP规范1.4版本。图4根据本公开的各种实施例,示出了具有指令的非瞬态计算机可读存储介质的示例,其中所述指令被配置为实行图2-3的方法所有或所选的方面。如图所示,非瞬态计算机可读存储介质402可以包括多个编程指令404。可以配置编程指令404以使计算设备100能够响应编程指令的执行,而执行前面参考图2-3描述的方法200的验证服务和/或HDCP驱动操作。在可替换的实施例中,编程指令404可以替代地布置在多个非瞬态计算机可读存储介质402上。如前面描述的,在各种实施例中,可以配置编程指令以将验证服务136和HDCP驱动134实现为安全控制器132的固件。返回参考图1,对于一个实施例,处理器和存储器装置133的一个或多个处理器中的至少一个可以与被配置为实行图2-3中的方法的计算逻辑封装在一起。对于一个实施例,处理器和存储器装置133的一个或多个处理器中的至少一个可以与被配置为实行图2-3中的方法的计算逻辑封装在一起以形成封装系统(SiP)。对于一个实施例,处理器和存储器装置133的一个或多个处理器中的至少一个可以与被配置为实行图2-3中的方法的计算逻辑集成到同一管芯上。对于一个实施例,处理器和存储器装置133的一个或多个处理器中的至少一个可以与被配置为实行图2-3中的方法的计算逻辑集成到同一管芯上以形成片上系统(SoC)。对于至少一个实施例,SoC可被用在智能电话、蜂窝电话、平板电脑或其他移动设备中。虽然本文已经说明和描述了特定的实施例,但是本领域的普通技术人员将理解,广泛的各种可替代的和/或等同的实现可以替代示出的和描述的特定实施例,而不偏离本公开的实施例的范围。本申请意图覆盖本文讨论的实施例的任意改变或变型。因此,显然意图是本公开的实施例仅受权利要求及其等同物的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1