软件应用验证的制作方法

文档序号:7909501阅读:176来源:国知局
专利名称:软件应用验证的制作方法
软件应用验证数字权限管理(DRM)允许内容所有者和分发者不仅能够阻止对内容的不需要的复制,还能够控制如何使用该内容。例如,DRM允许内容所有者控制对于例如音频或视频媒体数据的特定内容允许多少次查看、对该内容可制作多少副本、什么设备可以接收所拥有的内容等等。当前,受DRM保护的内容与机器相关联,即PC、便携式设备、蜂窝电话等等。这允许一旦某台机器被DRM系统授权访问,该机器上的多个应用就可以访问受保护的内容。不幸的是,恶意用户可以规避该DRM方法,并且访问他们未被授权访问的内容、改变回放内容的
方式等等。以非故意的方式利用内容的一个例子涉及富互联网应用(RIA)的应用欺骗。可创建对于服务器来说看起来像是被批准访问、播放、存储等受保护的内容的应用的欺骗应用。 因此,该应用可以从该服务器接收该内容并以内容所有者并不想要的方式使用它。一个例子是广告赞助的视频,其中内容所有者或分发者可能想要用户观看预滚动广告、填隙式广告或是叠加式广告等以便观看优质内容。欺骗应用企图不播放广告仅播放视频内容,导致至少一方的收益损失。在线银行提供了应用欺骗的另一个例子,其中允许明显被批准的RIA 以内容所有者、银行等并不预期的方式使用受保护的内容是有损害的。MM相应地,软件应用验证的各种实施例在下面的详细描述中描述。软件应用验证将数字权限管理应用于在回放设备上运行受保护的内容的应用。通过这种方式,受保护的内容可以提供给被批准的应用并被阻止提供给还未被批准来运行受保护的内容的应用。各实施例包括客户端软件应用验证、服务器端软件应用验证、分布式软件应用验证等等。—个客户端示例实施例包括请求受保护的内容的回放、向数字权限管理服务器发送许可证质询、从数字权限管理服务器接收许可证响应,该许可证响应包括公钥、验证该应用是否是使用所述公钥签名的、以及如果该应用是使用该公钥签名的,则向该应用提供该受保护的内容供回放。一个服务器端示例实施例包括从回放设备接收许可证质询,该许可证质询包括诸如以应用二进制代码计算的值(例如散列值)之类的应用身份、将该应用身份与被批准的应用的列表作比较,即被允许运行受保护的内容的应用的应用身份的列表、以及向回放设备提供包含许可证的许可证响应,该许可证要被用于授权该回放设备上的应用接收该受保护的内容。提供本概述以便以一种简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不意图标识所要求保护的主题的关键特征或必要特征,也不意图被用于限制所要求保护的主题的范围。而且,所要求保护的主题也不局限于解决本公开文本的任何部分中所标注的任何或所有缺点的实现。附图简述

图1示出了用于计算设备上的应用的软件应用验证的实施例系统的例子。
图2示出了描绘用于客户端软件应用验证的方法的实施例的过程流。图3示出了用于客户端软件应用验证的方法的一个实施例的信号图。图4示出了描绘用于服务器端软件应用验证的方法的实施例的过程流。图5示出了用于服务器端软件应用验证的方法的一个实施例的信号图。详细描述图1示出了用于计算设备110上的应用140的软件应用验证的实施例系统100的例子。系统100还包括服务器180,该服务器180包括具有有效签名列表183的媒体服务器 182和可包含许可证以授权计算设备110上的应用播放受保护的内容190的数字权限管理服务器186。在一个实施例中,计算设备110被配置成将受保护的内容的回放限制给内容提供者、内容分发者等批准的应用。通过将DRM技术扩展到播放受保护的内容的应用,内容所有者对于如何播放受保护内容、提高安全性、实施对广告的限制以及因此增加基于广告的收益等具有更多的控制。现在我们在接下来的各段中更详细地描述示例实施例系统100。在所示的实施例中,计算设备110包括处理器115、存储器120、至少一个计算机程序130、以及媒体呈现器160,媒体呈现器可以是软件或硬件的。计算设备110还包括应用主机运行时和数字权限管理系统客户端运行时,应用主机运行时也被称作应用140,它被配置成播放受保护的内容,数字权限管理系统客户端运行时也被称作数字权限管理模块150, 它与该应用140通信。响应于来自应用140的播放受保护的内容的请求142,数字权限管理模块150被配置成向数字权限管理服务器186发送许可证质询152,以及接收包括具有公钥的许可证187 的许可证响应,该公钥授权该应用140播放该受保护的内容190,其中一旦使用该公钥验证巧4该应用,该数字权限管理模块150就允许该应用140播放受保护的内容190。例如,数字权限管理模块150可以被配置成防止受保护的内容在欺骗应用上播放、在应用上实施回放规则等。其他实施例可以利用除了公钥之外的其他标识信息或安全方法。例如,其他合适的方法可以不使用公钥密码而使用标识信息来授权应用播放受保护的内容。在一些实施例中,回放规则可实施预滚动广告、填隙式广告或叠加式广告中的至少一个,但是其他实施例不限于此。在一些实施例中,数字权限管理模块150可以被配置成存储许可证187用于应用 140的离线验证,其中应用140在没有与数字权限管理服务器186通信的时候可以被授权播放受保护的内容190。在一些实施例中,在许可证质询152被发送给数字权限管理服务器 186之前,授权应用140播放受保护的内容190的公钥也可能已被用来对该应用140签名。 例如,如果许可证187中的公钥与用来对该应用签名的私钥相匹配,则该应用140可得到验证。但是其他实施例不限于此,且可以利用不使用公钥的应用验证方法,作为一非限制性示例例如包括声明允许哪些应用访问受保护的内容的策略的代码。一些实施例可提供服务端验证,例如在发布播放受保护的内容的许可证之前数字权限管理服务器检查应用身份的情况。实施例服务器端方法在以下参照图4-图5更详细地描述。继续看附图,图2示出了用于客户端软件应用验证的方法200的实施例的流程图。 首先,如块210所指示的,方法200包括请求受保护的内容的回放。如块220所指示的,方法200还包括向数字权限管理服务器发送许可证质询。以这种方式,包括应用身份的许可证质询可首先被发送到媒体服务器,该媒体服务器可以查阅被允许播放受保护的内容的应用的应用身份的有效列表。如果应用被批准播放受保护的内容,该媒体服务器可以转发包括对该数字权限管理服务器的请求的该许可证质询,该数字权限管理服务器于是可在批准签名列表中放置与应用相应的公钥。在一个实施例中,服务器可包括媒体或信息服务器以及数字权限管理服务器两者。接下来,如230所指示的,方法200包括从该数字权限管理服务器接收许可证响应,该许可证响应包括具有可被用来验证应用是否被授权播放受保护的内容的公钥的许可证。在一些实施例中,在该许可证质询之前,与曾被用于应用验证和授权的公钥相匹配的私钥可能已被用来对该应用签名。另外,方法200还可以包括存储该许可证用于该应用的离线验证。如块240所指示的,方法200还包括使用该公钥验证该应用是否是被正确签名的。 这种验证可包括但不限于验证该应用是否被签名、验证该签名是否正确、以及验证用于对该应用签名的私钥是否与该许可证中的公钥相匹配。接下来,如250所指示的,方法200包括向应用提供该受保护的内容供回放。在一些实施例中,向应用提供该受保护的内容供回放还包括防止该受保护的内容在欺骗应用上播放。另外,方法200还可以包括对播放该受保护的内容的应用实施回放规则。在一个示例中,实施回放规则可以包括实施预滚动广告、填隙式广告或叠加式广告的回放中的至少一个。如参考图2 —般地介绍的,图3示出了用于客户端软件应用验证的方法的详细实施例的信号图300。信号图300包括客服端上可操作的运行时与服务器功能之间的通信, 运行时包括也被称为应用140的应用运行时以及也被称为数字权限管理模块150的DRM系统客户端运行时,服务器功能包括媒体服务器182和数字权限管理服务器186。媒体服务器182和数字权限管理服务器186可以作为分开的程序在一个服务器上操作,可以在分开的服务器上操作,可以分布在多个服务器之间等等。在305,信号图300以回放请求从应用140被发送到数字权限管理模块150开始。 在一个示例中,用户可能希望在应用140中运行受保护的内容,且响应于来自该用户的输入,该回放请求被发送到该数字权限管理模块150。然后,数字权限管理模块150在310产生许可证质询,并在315将其通过应用140发送给媒体服务器182。媒体服务器182之后可以查阅该媒体服务器182上的配置模块以在320确定哪一个公钥要放进对该受保护的内容的许可证中,其中该配置模块存储哪些应用被允许播放受保护的内容。接下来,信号图300包括在325媒体服务器182将该许可证质询转发到该数字权限管理服务器186,并且请求该数字权限管理服务器186在响应中将应用签名公钥包括在许可证中。然后,数字权限管理服务器186创建包括该许可证和该应用签名公钥的许可证响应,并在330将该许可证响应发送给媒体服务器182。媒体服务器182之后在335将该许可证响应转发到应用140,应用接着在340将该许可证响应转发到数字权限管理模块150。 通过这种方式,当应用140在345请求播放受保护的内容时,在350,数字权限管理模块150 可以使用该许可证响应中的许可证来验证应用140,且在355,如果应用140被授权播放该受保护的内容,该数字权限管理模块150将该受保护的内容授予该应用。继续到图4,示出了用于服务器端软件应用验证的方法400的实施例的流程图。首
6先,如块410所指示的,方法400包括从回放设备接收许可证质询,该许可证质询包括以应用二进制代码计算的签名的应用身份。一些实施例还可以包括以应用二进制代码计算该应用身份,以及用该回放设备上的数字权限管理客户端的公钥对该应用身份签名。如块420所指示的,方法400还包括将该签名的应用身份与应用身份的列表比较, 即被允许运行受保护的内容的应用的应用身份的列表。接下来,如430所指示的,方法400 包括验证该签名的应用身份。接下来,如440所指示的,方法400包括向回放设备提供包含许可证的许可证响应,该许可证要被用于授权该回放设备上的应用接收该受保护的内容。在一些实施例中,许可证可以被提供给回放设备以防止受保护的内容在欺骗应用上被播放。另外,许可证可以被提供给该回放设备以在播放该受保护的内容的应用上实施回放规则。通过这种方式,该许可证可以被用于指定什么是对内容的可允许的使用、哪些应用可以访问内容,包括回放内容、导出内容、复制内容、转移内容等。一些实施例还可以包括该回放设备之后存储该许可证用于播放该受保护的内容的后续请求。如参考图4 一般地介绍的,图5示出了用于服务器端软件应用验证的方法的一个实施例的信号图500。信号图500包括在客户端上可操作的运行时与服务器功能之间的通信,运行时包括也被称为应用140的应用运行时以及也被称为数字权限管理模块150的DRM 系统客户端运行时,服务器功能包括媒体服务器182和数字权限管理服务器186。该媒体服务器182和数字权限管理服务器186可以作为分开的程序在一个服务器上操作,可以在分开的服务器上操作,可以分布在多个服务器之间等等。在505,信号图500以回放请求从应用140被发送到数字权限管理模块150开始。 在这个示例中,数字权限管理模块150然后产生许可证质询,计算该应用的二进制代码的应用身份,以及将该应用身份添加到该许可证质询中。然后在510,数字权限管理模块150 将该许可证质询返回给应用140。应用140之后在515将该许可证质询发送到媒体服务器 182,媒体服务器182接着在520查阅有效签名列表以查看该应用身份是否被包括在用于所请求的受保护的内容的有效签名列表中。如果该应用身份不在该有效签名列表中,则该应用验证失败。如果该应用身份在该有效签名列表中,在525,媒体服务器182将该完整的许可证质询转发到数字权限管理服务器186,并要求数字权限管理服务器验证该签名。在一些实施例中,媒体服务器182可以提供签名验证。数字权限管理服务器186之后在530验证该应用身份上的签名,在535,将包含该许可证的许可证响应发送给媒体服务器。媒体服务器 182之后在540将该许可证响应转发给该应用140,该应用140接着在545将该许可证响应转发给该数字权限管理模块150。通过这种方式,当应用140请求播放受保护的内容时,它在550发送请求给数字权限管理模块150,该数字权限管理模块150在550可以验证该应用是否被授权播放该受保护的内容。可以理解到这里所描述的该实施例可以通过存储在计算机可读存储介质上并由计算设备执行的诸如程序之类的计算机可执行指令或代码来实现。一般而言,程序包括执行特定任务或者实现特定抽象数据类型的例程、对象、组件、数据结构等。如此处所使用的, 术语“程序”可意味着单个程序或多个协同作用的程序,并可用来表示应用、服务或任何其他类型或类的程序。同样地,这里所使用的术语“计算机”和“计算设备”包括电子地执行一个或多个程序的任意设备,包括但不限于媒体回放设备及诸如个人计算机、服务器、膝上型计算机、手持设备、蜂窝电话、基于微处理器的可编程消费电子产品及其他受保护的内容的回放设备等任何其他合适的设备。还将认识到这里所描述的配置和/或方法实际上是示例性的,且这些具体实施例或示例不应被认为是限制意义的,因为可能有许多变型。这里所描述的具体例程或方法可以代表任意数量的处理策略中的一个或多个。如此,所示的各种动作可以以所示的顺序、以其他的顺序、以并行的顺序被执行,或在某些情况下被省略。同样地,上述过程中的任何过程的顺序对于实现这里所描述的实施例的该特征和/或结果来说并非必须,但出于便于说明和描述的目的而被提供。本公开的主题包括这里所公开的各种过程、系统和配置、及其他特征、功能、动作和/或特性,及其任何或所有等价物的所有新颖且非显而易见的组合和子组合。
权利要求
1 一种向被授权的应用提供受保护的内容(190)的方法,所述方法包括请求受保护的内容(190)的回放;向数字权限管理服务器(186)发送许可证质询(152);从所述数字权限管理服务器(186)接收许可证响应(185),所述许可证响应(18 包括具有授权应用播放所述受保护的内容(190)的公钥的许可证(187);验证(154)所述应用是使用所述公钥被签名的;向所述应用提供所述受保护的内容(190)供回放。
2.如权利要求1所述的方法,其特征在于,向所述应用提供所述受保护的内容供回放还包括方式所述受保护的内容在欺骗应用上播放。
3.如权利要求1所述的方法,其特征在于,向所述应用提供所述受保护的内容供回放还包括在播放所述受保护的内容的应用上实施回放规则。
4.如权利要求3所述的方法,其特征在于,实施回放规则还包括以下至少一个实施预滚动广告、填隙式式广告、叠加式广告,或实施购买、订阅或租借规则。
5.如权利要求1所述的方法,其特征在于,授权应用播放所述受保护的内容的公钥在所述许可证质询之前曾被用于对所述应用签名。
6.如权利要求5所述的方法,其特征在于,还包括存储所述许可证用于所述应用的离线验证。
7.如权利要求5所述的方法,其特征在于,验证所述应用是使用所述公钥签名的还包括验证所述应用被签名;验证所述应用的签名是正确的;验证用于对所述应用签名的私钥与所述许可证中的公钥相匹配。
8.一种向被批准的应用提供受保护的内容(190)的方法,所述方法包括从回放设备接收许可证请求(152),该许可证请求包括以应用二进制代码计算的签名的应用身份(184);将所述签名的应用身份(184)与应用身份的列表作比较,所述列表是被允许运行受保护的内容(190)的应用的应用身份的列表;验证所述签名的应用身份(184);向所述回放设备提供包含许可证(187)的许可证响应(185),所述许可证(187)要被用于授权所述回放设备上的应用接收所述受保护的内容(190)。
9.如权利要求8所述的方法,其特征在于,所述许可证要在所述回放设备上被用于防止所述受保护的内容在欺骗应用上播放。
10.如权利要求8所述的方法,其特征在于,所述许可证要在所述回放设备上被用于在播放所述受保护的内容的应用上实施规则。
11.如权利要求10所述的方法,其特征在于,实施规则包括以下至少一个实施预滚动广告、填隙式广告、叠加式广告,或实施购买、订阅或租借规则。
12.如权利要求8所述的方法,其特征在于,还包括以实施应用二进制代码计算实施应用身份,以及用实施回放设备上的数字权限管理客户端的私钥对所述应用签名。
13.如权利要求8所述的方法,其特征在于,所述应用身份是签名的散列值。
14.一种用于在被批准的应用中播放受保护的内容(190)的计算设备(110),所述计算设备包括配置成播放受保护的内容(190)的应用(140);与所述应用通信的数字权限管理模块(150),所述数字权限管理模块被配置成向数字权限管理服务器(186)发送许可证质询(152)以及接收许可证响应(185),其中,一旦应用身份(184)被验证,所述数字权限管理模块允许所述应用(140)播放所述受保护的内容。
15.如权利要求14所述的计算设备,其特征在于,所述数字权限管理模块被配置成防止所述受保护的内容在欺骗应用上播放。
全文摘要
公开了软件应用验证的各种实施例。软件应用验证将数字权限管理应用于在回放设备上运行受保护的内容的应用。通过这种方式,受保护的内容可以被提供给被批准的应用,并被阻止提供给还未被批准运行该受保护的内容的应用。
文档编号H04L9/30GK102301641SQ201080006315
公开日2011年12月28日 申请日期2010年1月12日 优先权日2009年1月28日
发明者G·科扎姆, H·法拉歌, J·A·博恰罗夫, K·A·杜巴施, K·库马 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1