交互式媒体环境中的应用程序安全性的制作方法

文档序号:6568046阅读:138来源:国知局

专利名称::交互式媒体环境中的应用程序安全性的制作方法交互式媒体环境中的应用程序安全性相关申请的声明本申请要求于2005年7月1日提交的美国临时专利申请第60/695,944号的优先权,该申请通过引用包含在此。扭旦冃眾某些多媒体回放系统在音频/视频回放期间提供有限的交互式图形。交互式回放系统呈现的能力越强,不法行为机会越大。关键的是针对病毒、间谍软件和其它恶意软件来维护回放系统的安全。恶意软件可使交互式回放系统发生故障或收集并发送用户私人信息。此外,交互式回放系统可连接至网络。软件或用户信息可从该回放系统传播到附连于该网络的其它计算系统。因此,关键的是交互式回放系统包括足够的安全防备。概述提供了交互式多媒体领域中控制未经签署的应用程序的特权的安全系统。交互式多媒体是其中应用程序一般在同步实时、准确到帧的基础上,响应于用户输入事件来管理包括图形、音频和视频的多媒体对象的环境。应用程序此处被称为"iHD"应用程序,因为它们涉及高清晰度DVD(数字多功能盘)介质。然而,所公开的安全系统可适用于其它更一般的交互式多媒体环境。该系统尤其适用于应用程序安全性而非内容安全性,并建立用于应用程序安全性的架构,包括签名系统,并且还提供支持安全性的文件格式。交互式多媒体应用程序运行在经签署或未经签署的交互式回放系统(它被实现为单机硬件设备,或者被实现为例如运行在个人计算机上的软件应用程序)上。允许经签署的应用程序实际上无限的应用。未经签署的应用程序就可访问的内容受到极大的限制。而且,如果经签署和未经签署的应用程序均正在运行,则均仅被给予未经签署的应用程序的安全级别和访问特权。规定未经签署的应用程序允许用丰富的交互式特征来定制家庭自制的盘片,但限制将对例如因特网等网络以及5存储在回放系统内的敏感信息的访问限于授权方。可用特殊文件格式来提供经签署的应用程序,从而允许无需解析整个文件就可判断签名状态。附图简述图1是示出在从磁盘中检测应用程序的签名状态时向应用程序分配特权的方法的流程图。图2是示出在将应用程序加载到回放系统之后检测其签名状态时向应用程序分配特权的方法的流程图。图3是示出创建以作者标识符为关键字(authoridentifier-keyed)的目录的流程图。图4是应用程序文件的示意性描述。详细描述交互式多媒体应用程序是其中应用程序对用户事件作出响应的应用程序。一个示例为在应用程序内实现的由用户访问的菜单,其中用户提交使应用程序改变状态的输入。在这样的情况中,交互活动是用菜单图形,当视频在实时、帧同步的基础上在菜单图形下,例如在2=0层上播放时,呈现该菜单图形。交互活动可导致例如如何显示视频流的改变。例如,底层视频可以是高清晰度电影。图形覆盖物可以是电影导演评论的一部分,它示出例如,覆盖在屏幕本身上的各个照相机位置的示意图。用户可采用遥控器来切换到由那些照相机位置中任一个预想的视图。如上所述,交互式回放系统呈现的能力越强,不法行为的机会越大。恶意软件可使回放系统发生故障或收集并发送用户私人信息。在当前系统中,用于交互式系统的交互式应用程序或为经签署的,或为未经签署的。经签署的应用程序是从可信根授权机构(例如,电影工作室)继承根证书的应用程序,并被认为是安全的。经签署的应用程序给给予高级别访问特权。这种几乎无限制的特权允许访问例如联网、文件1/0、安全和诊断API,且可访问持久存储以存储和检索跨应用程序的调用持久的数据。另一方面,未经签署的应用程序被给予低级别访问特权。拒绝它们访问高级别访问所提供的那种类型的功能。它们可被限于利用标记语言,以及例如来自以下ECMAScript中的示例性API的某些对象XML(不带有I/0功能);全局化;与图形元素相关联的绘制功能;以及用户输入操作。这种级别的功能禁止访问任何联网、安全或文件I/0。调用以上名字空间外的功能或加载来自持久本地存储的资源的任何尝试可导致将终止应用程序的异常。在一个实施例中,例如HD-DVD等介质盘上存在一组应用程序,采用这些应用程序来运行交互式图形和视频应用程序。参考图1,由回放系统接收介质盘(步骤12)。回放系统可以是通用计算机系统或更专用的媒体中心系统,它确定该介质上应用程序的签名状态(步骤14)。如果确定所有应用程序的签名状态均为经签署的(步骤16),则向所有应用程序给予高访问特权(步骤18)。如果任何一个应用程序的签名状态被确定为未经签署的,则所有应用程序被给予低访问特权(步骤22)。即,如果有未经签署的应用程序正在运行,则所有并发的应用程序,无论是经签署的还是未经签署的,均被限于未经签署的应用程序许可级别。这防止未经签署的应用程序利用并发的经签署的应用程序的特权。在另一实施例中,类似方法可直接用于加载到回放系统中的应用程序。参考图2,应用程序可被加载到回放系统中(步骤24)。然后检测该应用程序的签名状态(步骤26)。如果确定签名状态为经签署的(步骤28),则应用程序可在高特权访问级别上运行(步骤32)。然而,如果签名状态被确定为未经签署的(步骤28),则该应用程序在低特权访问级别上运行(步骤34)。在此情况中,从例如盘片等介质上直接运行应用程序(步骤36)。这提供了增强的安全性,因为防止所有未经签署的应用程序运行或加载来自回放系统的本地持久存储的资源。如果加载了附加的应用程序(步骤38),则因其签名状态可对其测试或不测试一般,将向其提供低访问级别(步骤34)。如果应用程序是经签署的且因此被给予高访问特权,然后一稍后的应用程序被加载并且是未经签署的,则高访问特权应用程序被降低至低访问级别。参考图3,对经签署的应用程序,回放系统可包括采用在介质被导入回放系统(步骤42)之后检测到的一组作者标识符(步骤44)。g卩,每一介质或应用程序可与一作者标识符相关联,该标识符唯一标识了内容作者,这对持久存储中的应用程序,即可访问持久存储以存储和检索期望跨调用持久的数据的应用程序的安全性尤其重要。作者标识符然后同与该作者标识符相关联的目录的创建相关联(步骤46)。来自该介质的应用程序仅可访问持久存储中对应于其作者标识符的目录。文件系统如应用程序所视地根植于该目录。尽管应用程序可管理子目录,但它不能越过其根目录看到其它作者的数据。作者标识符可与盘片(包括该盘片上的所有应用程序)或单个应用程序(位于该盘片上、在若干盘片上分散、或以其它方式,例如经由因特网下载而被加载到回放系统)相关联。而且,给定的介质可与单个作者标识符相关联,但给定的作者标识符可在多个介质上找到。另一实施例可以是使用由签署该应用程序的密钥所参考的标识符。假定在单个介质上,可由不同的个人签署不同的应用程序,该实施例将导致更厉害的存储隔离。使用证书链而非最后一个签名将加剧这种情况。应用程序结构现在描述经签署的应用程序的结构。参考图4,经签署的应用程序50可包括清单文件52和至少一个源文件54。使用作者的签名和证书来签署清单文件52,并认证其所引用的所有资源。应用程序可使其自己的清单文件52和所有的资源文件54-58被打包成未经压縮的存档48。存档48的文件格式甚至不需要支持加密。存档文件48实质上是容器,且一般不需被独立签署。清单文件52可引用交互式应用程序的资源文件54-58中的每一个。可指定存档48的体系结构,使得存档48可被高效地流传送,例如经签署的清单文件52可以是存档48内的第一文件,从而允许无需读取整个存档而验证签名。存档格式的后续版本可与先前的版本向后兼容。可通过使用例如由RFC3275定义的XML签名来提供存档48中数据的认证。清单文件格式在一个示例中,经签署的清单文件52的格式可使用由RFC3275定义的XML签名句法和处理的W3C建议(W3CRecommendation)的子集。以此方式,可包括和支持以下元素子集ds:Signature(签名)ds:SignatureValue(签名值)ds:SignatureType(签名类型)ds:Reference(弓|用)ds:Reference/ds:DigestValue(摘要值)其它元素可由系统确定。包括在清单中的每一资源项的摘要值可被列为ds:Reference(弓l用)元素。证书和签名作为示例,所需证书类型可以是例如X.509。如由ds:SignatureMethod定义的签名方法可以是RSA-SHA1。标准化方法可被指定为独家XML标准化1.0(ExclusiveXMLCanonicalization1.0)。摘要方法可以与签名方法相同,即RSA-SHA1。密钥信息可由系统从介质的身份或应用程序正从其运行的本地存储区中推断。证书撤销列表为了提供用于撤销和替换受损的应用程序的机制,每一交互式视频和图形应用程序作者可包括内容撤销列表("CRL"),它列出了被撤销的应用程序的一捆文件摘要值。该CRL可被包括在单独的文件中。该文件包括已经被撤销的一捆签名摘要的列表,以及创作该盘片的内容创建者的签名。假定原始作者对每一撤销的应用程序的签名匹配CRL文件中的签名,则所列出的应用程序摘要可被存储在本地存储上内容提供者的受限区域中,且不再被允许运行。如果CRL被包括在应用程序中,则可对其给予可识别名称,诸如Revocation.xml。应用程序作者可能希望用新版本来替换被撤销的应用程序。这可按照若干不同方式来实现。可使运行在连接因特网的播放器上的标题在其主服务器中检查更新的播放列表或指定新下载的应用程序的一捆交互式视频和图形。或者,撤销应用程序的介质本身也可提供替换。下表描述了存档文件的一种可能的格式,以及描述各域的注释。应注意到,可使用众多其它格式。在此表中,使用縮写来表示各种类型Ui"表示w位无符号整数。例如,Ui8是8位的无符号整数,而Ui32是32位无符号整数。使用方括号指示类型的数组,该数组的长度由这些括号之间的数字指示。如果长度取决于之前的域,则该域的名字、或该域中所指示的较短的名字可用于指示该域的值。使用Oxdd记法来指示十六进制值。所有长度可变串,以及资源名可使用采用Pascal串记法(8位长度后跟各字节)的UTF-8来编码。<table>tableseeoriginaldocumentpage10</column></row><table>某些规则可应用于上述应用程序资源。例如,资源名必须为文件系统名或逻辑URI。可从中提取存档文件的目录在提取期间可被认为是文件系统的根。以此方式,可使所有名字与该目录相关,使得绝对路径可与相对路径同样表现。如果名字导致位于目录外的位置,则该名字和条目可被认为是无效的。下节给出了关于以上示例性存档文件的各个域和部分的更详细信息。存档头幻域这是用于唯一标识存档的"幻数(magicnumber)"。它由被编码为UTF-8、ASCII等的一系列5字符值(即0x69、0x48、0x44、0x61、0x72)的串"iHDar",即iHD存档组成。版本域版本域允许存档读取器读取该存档格式的不同版本。通过査看版本域,可了解在文件的不同部分中可期待什么,因此读取在文件格式的某些版本中不存在的信息。该域的值可以是例如0x01。将来的版本的值可以为0x02到0xff。资源分类和资源条目资源分类包括多个资源条目。每一条目允许同一格式。资源条目长度这是资源条目本身以字节为单位的长度。该值由正读取其版本不为它们所理解的格式的读取器使用。假定由为版本1定制的读取器看到了使用格式的版本2编写的存档,则该读取器可读取它所了解的域并跳至下一资源条目,因为它知道当前条目的长度。资源偏移量这指示该资源在资源数据块中的字节偏移量。第一资源的偏移量为0x0000。资源长度这是资源的以字节为单位的长度。如果资源A和B在存档文件中毗邻,则B的资源偏移量等于A的资源偏移量与资源长度的和。资源校验和这表示如由ISO3309定义的、资源的CRC-32校验和。注意,该校验和仅应被用于通过不可靠介质传输的资源的完整性的简单验证。因为CRC-32校验和既没加密也不是抗冲突的,因此它不应用于认证的目的。如果需要认证资源,则可采用上述签名机制。资源类型这是资源的MIME类型。资源名长度这是资源名以字节为单位的长度。资源名紧接在该域之后。资源名这是资源名本身。资源数据块资源数据块按照资源的所有字节在资源编目中出现的顺序包含该资源的所有字节。在两个资源之间一般没有明确的分离,因为它们的偏移量和长度是公知的数本系统可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。该系统和方法也可以在分布式计算环境中实现,其中任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。执行该方法和系统的指令可被存储在各种计算机可读介质上。计算机可读介质可以是可由计算机访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语"己调制数据信号"指的是这样一种信号,其一个或多个特征以在信号中编码信息的方式被设定或更改。作为示例,而非限制,通信介质包括诸如有线网络或直接线连接的有线介质,以及诸如声学、RF、红外线和其它无线介质的无线介质。上述中任一个的组合也应包括在计算机可读介质的范围之内。尽管结合包括计算机的示例性计算系统环境来描述,但本系统可用于众多其它通用或专用计算系统环境或配置。该计算系统环境不旨在对使用范围或功能提出任何限制。而且,计算系统环境不应被解释为对示例性操作环境中示出的任一组件或其组合有任何依赖性或要求。可适于使用的公知计算系统、环境和/或配置的示例包括但不限于,个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、移动电话、网络PC、小型机、大型机、包括任何以上系统或设备的分布式计算环境等。此处所述的系统和方法可使用软件或硬件或使用本领域公知的技术来实现。除非另有指定,否则此处所示和所述的方法的执行或进行的顺序不是必需的。即,除非另有指明,否则方法的各元素可按照任何顺序执行,且该方法可包括比此处所公开的多或少的元素。当介绍本发明或其实施例的各元素时,冠词"一"、"一个"、"该"和"所述"指的是存在该元素的一个或多个。术语"包括"、"包含"和"含有"旨在为包含性的,并指除所列元素外还可能存在其它元素、因为可对以上构造、产品和方法作出各种改变而不背离本发明的范围,以上描述中所包含的所有方式都旨在被解释为说明性而非限定性的。尽管此处使用了结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的本主题不必限于上述的特定特征或动作。相反,上述的特定特征和动作被公开为实现权利要求的示例形式。1权利要求1.一种用于确保交互式多媒体环境中的应用程序的安全性的方法,包括a.接收实现交互式视频和帧同步图形的应用程序;b.检测所述应用程序的签名状态;c.如果所述签名状态为经签署的,则给予对本地存储源和网络资源的许可访问;d.如果所述签名状态为未经签署的,则拒绝对所述本地存储源和网络资源的许可访问。2.如权利要求l所述的方法,其特征在于,还包括如果所述签名状态为经签署的,则给予对文件I/0以及安全和诊断API的许可访问。3.如权利要求l所述的方法,其特征在于,所述检测包括读取与所述应用程序相关联的清单文件,并确定所述清单是否用作者的签名和证书来签署。4.如权利要求3所述的方法,其特征在于,所述应用程序包含容纳所述清单文件和至少一个资源文件的存档,且所述清单文件是所述存档文件中的第一个文件。5.如权利要求4所述的方法,其特征在于,所述存档具有使得所述存档可被高效流传送的格式。6.如权利要求1所述的方法,其特征在于,还包括如果所述签名状态为经签署的,则所述应用程序包括经签署的根证书、内容撤销列表或作者标识符。7.如权利要求1所述的方法,其特征在于,所述本地存储源是以所述作者标识符为关键字的目录。8.如权利要求l所述的方法,其特征在于,还包括如果所述签名状态为未经签署的,则拒绝对文件I/0以及安全和诊断API的许可访问。9.如权利要求1所述的方法,其特征在于,还包括如果所述签名状态为未经签署的,则给予利用标记语言和利用由不带I/0功能的XML、全局化、绘制功能和用户输入操作组成的对象的许可访问。10.如权利要求1所述的方法,其特征在于,还包括如果所述签名状态为未经签署的,且所述应用程序是从光盘接收的,则仅从所述光盘运行所述应用程序。11.如权利要求l所述的方法,其特征在于,还包括a.接收另一应用程序;b.检测所述另一应用程序的签名状态;C.如果所述应用程序或所述另一应用程序的签名状态为未经签署的,则对这两个应用程序均拒绝对本地存储源和网络资源两者的许可访问;或d.如果所述应用程序和所述另一应用程序的签名状态均为经签署的,则对这两个应用程序均准许对本地存储源和网络资源两者的许可访问。12.—种用于确保媒体盘安全性的方法,包括a.在回放系统中接收媒体盘,所述媒体盘包含一个或多个应用程序,其中所述应用程序实现交互式多媒体环境中的交互式视频帧同步图形;b.检测所述媒体盘上每一应用程序的签名状态;C.如果所有所述应用程序的签名状态均为经签署的,则向每一应用程序给予对本地存储源和网络资源的高许可访问;d.如果所述应用程序中任何一个的签名状态为未经签署的,则向所述应用程序中的任何一个拒绝对本地存储源和网络资源的高许可访问。13.—种用于应用程序的多媒体回放系统,其中所述应用程序实现交互式多媒体环境中的交互式视频帧同步图形,所述系统包括网络资源;本地存储源;接收结合了交互式图形和视频的应用程序的设备;检测所述应用程序的签名状态的处理器;其中如果所述应用程序为经签署的,则向所述应用程序给予对所述本地存储源和所述网络资源的许可访问;以及如果所述应用程序为未经签署的,则向所述应用程序拒绝对所述本地存储源和所述网络资源的许可访问。14.如权利要求13所述的系统,其特征在于,所述处理器通过读取与所述应用程序相关联的清单文件来检测所述应用程序的签名状态。15.如权利要求14所述的系统,其特征在于,所述应用程序包含容纳所述清单文件和至少一个资源文件的存档,且所述清单文件为所述存档中的第一文件。16.如权利要求13所述的系统,其特征在于,如果所述签名状态为经签署的,则所述应用程序包括经签署的根证书、内容撤销列表、或作者标识符。17.如权利要求16所述的系统,其特征在于,所述本地存储源是以所述作者标识符为关键字的目录。18.如权利要求13所述的系统,其特征在于,如果所述签名状态为经签署的,则向所述应用程序给予对文件I/O以及安全和诊断API的许可访问。19.如权利要求13所述的系统,其特征在于,如果所述签名状态为未经签署的,则对所述应用程序a.向其拒绝对文件1/0以及安全和诊断API的许可访问;或b.向其给予对利用标记语言和利用由不带I/0功能的XML、全局化、绘制功能和用户输入操作组成的对象的许可访问。20.如权利要求13所述的系统,其特征在于,所述处理器被配置成检测另一应用程序的签名状态,且其中a.如果所述应用程序或所述另一应用程序的签名状态为未经签署的,则对这两个应用程序均拒绝对本地存储源和网络资源两者的许可访问;或b.如果所述应用程序和所述另一应用程序的签名状态均为经签署的,则对这两个应用程序均准许对本地存储源和网络资源两者的许可访问。21.如权利要求13所述的系统,其特征在于,还包括如果所述应用程序的签名状态为未经签署的,且所述应用程序是从光盘接收的,则仅从所述光盘运行所述应用程序。22.—种创作安全应用程序的方法,包括-开发实现交互式多媒体环境中的视频帧同步图形的应用程序;将所述应用程序转换成具有清单文件和至少一个资源文件的存档文件格式;在所述清单文件内放置包含签名的证书;以及将所述清单文件置于所述存档文件的开始处。23.如权利要求22所述的方法,其特征在于,还包括将所述应用程序刻录或保存到盘片上。全文摘要描述了交互式多媒体领域中控制应用程序对系统资源的访问的安全系统。该系统为应用程序安全性建立了一个框架,包括签名系统,还提供支持安全性的文件格式。向经签署的应用程序提供高访问特权,而向未经签署的应用程序提供低访问特权。例如盘片上经签署和未经签署的应用程序的组合向所有经签署和未经签署的应用程序提供低访问特权。文档编号G06F15/173GK101657805SQ200680024304公开日2010年2月24日申请日期2006年6月22日优先权日2005年7月1日发明者R·K·小休格斯,Y·艾瑞耶申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1