管理非信任应用程序对保护内容的访问权的系统和方法

文档序号:6655817阅读:158来源:国知局
专利名称:管理非信任应用程序对保护内容的访问权的系统和方法
技术领域
本发明通常涉及数字权利管理(DRM)。特别地,本发明涉及用于管理对DRM保护内容的访问权的系统和方法。
背景技术
随着内容日益以数字形式创作和传递,内容分发商转向利用数字权利管理(DRM)方法保护其作品的系统。在这些系统中,分发商可以在使用内容这方面给接收方列举和授予权利。每个系统依赖于使用内容的安全环境,确保服从由权利所授予的许可。该系统和相关联的权利可用于防止对作品进行未授权的复制或修改。在大部分DRM实现方案中,这些权利被表达为“权利对象”,其可以同内容封装在一起,或者可以分立地分发。内容可以以明文(plaintext)或加密的形式传递。
随着工业标准Open Mobile Alliance(开放移动联盟)DRM(v1.0)规范的发布,支持DRM保护内容的蜂窝电话变得更加普遍。DRM内容具有多种方法,用于驻留在设备上。该DRM内容可以在制造时预先装载在电话上、在蜂窝网络中下载到电话、或者可由计算机通过基于缆线的或者无线的连接传输到电话。一旦位于电话上,则DRM内容可以包含在安全环境中,在该安全环境中通过软件安全措施加强随附DRM保护内容的权利。该安全措施防止用户和未授权的应用程序以同授予权利不一致的方式使用保护内容。
对于利用DRM方法的现有系统,使用DRM内容的应用程序必须遵守同该内容相关联的权利,并且不能向非信任的应用程序给予对该内容的直接访问权。具有对该内容的访问权的应用程序被制造商、蜂窝运营商或者其他的权威认为是“信任的”。移动运营系统可以通过多种方法,诸如拥有数字证书或文件令牌,实现和识别软件应用程序的“信任”标示。
然而,对于大部分的应用程序开发商,需要访问DRM内容的“信任”状态是一种障碍。大部分蜂窝电话支持开发商创建可动态装载和执行的软件的手段。所需的是,向这些开发商提供一种在其应用程序中利用驻留DRM保护内容的方法。然而,不能固有地信任这些开发商能够编写遵守DRM内容权利的应用程序,并且所信任的机构(即,制造商或运营商)分析应用程序的DRM服从性以便于给出其信任状态,不总是可行的。
因此,需要一种系统和方法,用于允许非信任的应用程序开发商创建可以以安全和服从的方式利用DRM内容的软件。


图1是根据本发明的无线通信系统的框图。
图2是说明了图1的无线通信系统的通信设备可利用的示例性组件的框图。
图3是说明了图1的无线通信系统的通信设备可利用的示例性系统架构的框图。
图4是说明了图1的无线通信系统可利用的示例性内容格式的框图。
图5是说明了图1的无线通信系统可利用的另一示例性内容格式的框图。
图6是说明了图1的无线通信系统可利用的另一示例性内容格式的框图。
图7是说明了图1的无线通信系统的操作流程图。
具体实施例方式
提供了一种系统和方法,用于向非信任应用程序提供以安全和服从的方式利用数字权利管理(DRM)内容的能力。所述系统和方法利用同保护内容相关联的信任代理服务器以及非信任应用程序同这些信任代理服务器之间的通用接口。所述接口允许映射到内容权利对象中列举的许可的非信任应用程序对内容执行动作。
对于一个方面,存在一种用于管理对保护内容的访问权的通信设备,包括应用程序、信任文件系统服务、信任代理和信任内容呈现器。所述应用程序,诸如非信任应用程序,被配置为请求对于保护内容执行动作。所述信任文件系统服务被配置为,向应用程序确认保护内容。所述信任代理被配置为,向应用程序确认同保护内容相关联的权利。所述信任内容呈现器被配置为,响应于确定应用程序是具有用于执行动作的足够权利的非信任应用程序,执行所述动作。
对于另一方面,存在一种通信设备的方法,用于管理对保护内容的访问权。接收来自应用程序的对保护内容执行动作的请求。然后所述通信设备确定所述应用程序是信任应用程序还是非信任应用程序,并且确认同保护内容相关联的权利。随后,所述通信设备响应于确定所述应用程序是具有用于执行动作的足够权利的非信任应用程序,执行所述动作。另一方面,所述通信设备响应于确定所述应用程序是不具有用于执行动作的足够权利的非信任应用程序,不执行所述动作。
参考图1,提供了根据本发明的无线通信系统100。该系统100包括服务器102以及能够相互通信和/或同服务器通信的一个或多个通信设备104、106、108、110。通信设备104、106、108、110可以经由有线通信网络或无线通信网络同服务器通信。通信网络可以包括一个或多个互通性网络112和用于无线通信的多个无线收发信机114。可由无线通信系统使用的协议的示例包括但不限于,基于蜂窝的通信协议,诸如先进移动电话系统(AMPS)、码分多址(CDMA)、时分多址(TDMA)、全球移动通信系统(GSM)、集成数字增强网络(iDEN)、通用分组无线电服务(GPRS)、增强型数据GSM演进(EDGE)、通用移动通讯系统(UMTS)、宽带码分多址(WCDMA)以及这些协议的变化方案。每个通信设备104、106、108、110和服务器之间的通信不限于有线和无线通信网络,并且因此可以利用其他的通信模式。其他的通信模式的示例包括但不限于,可移除存储介质、局域无线网络,诸如对等网络和自组织网络(例如,Bluetooth和IEEE 802.11)、以及来自PC的线缆下载。
参考图2,其中提供了框图,其表示了可由无线通信系统100的通信设备利用的示例性内部组件200。该示例性实施例包括一个或多个收发信机202、处理器204、存储器部分206、一个或多个输出通信设备208、以及一个或多个输入通信设备210。内部组件200可以进一步包括组件接口212,用于提供同用于附加或增强功能的辅助组件或附件的直接连接。内部组件200优选地包括电源214,诸如电池,用于向其他的内部组件提供电力,同时使通信设备是便携的。
无线通信设备的示例性功能如内部组件200所表示,在接收到无线信号时,内部组件检测通信信号,并且收发信机202解调通信信号,以恢复由无线信号传送的传入信息,诸如语音和/或数据。在接收到来自收发信机202的传入信息之后,处理器204对一个或多个输出通信设备208格式化传入信息。同样地,为了传送无线信号,处理器204格式化传出信息,其可以通过或可以不通过输入通信设备210激活,并且将传出信息输送到收发信机202,用于调制为通信信号。收发信机202将调制信号输送到远端收发信机(未示出)。
内部组件200的输入和输出通信设备208、210可以包括多种可视、音频和/或机械输出。例如,输出通信设备208的可视输出可以包括液晶显示器和/或光发射二极管指示器,输出通信设备的音频输出可以包括扬声器、警报器和/或蜂鸣器,并且输出通信设备的机械输出可以包括振动机构。同样地,作为示例,输入通信设备210的可视输入可以包括光学传感器(诸如相机),输入通信设备的音频输入可以包括麦克风,并且输入通信设备的机械输入可以包括键盘、小键盘、选择按钮、触摸键、触摸屏幕、电容传感器、运动传感器和开关。
内部组件200的存储器部分206可由处理器204使用,用于存储和检索数据。可由存储器部分206存储的数据包括但不限于,操作系统、应用程序和数据。每个操作系统包括可执行代码,其控制通信设备的基本功能,诸如内部组件200的组件之间的交互,经由收发信机202和/或组件接口212的同外部通信设备的通信,以及将应用程序和数据存储到存储器部分206或者从存储器部分206检索应用程序和数据。每个应用程序包括可执行代码,其利用操作系统提供通信设备的更加专用的功能,诸如文件系统服务以及存储在存储器部分206中的保护数据和非保护数据的处理。数据是不可执行代码或信息,其可由操作系统或应用程序参考和/或操纵,用于执行通信设备的功能。
存储器部分206的配置可以以数种不同的实现方案实践,包括但不限于,驻留在通信设备104、106、108、110上的存储器、驻留在通信设备外部可经由有线或无线链路访问的存储器、以及它们的某种组合。存储器部分206可以在处理器204内部和/或外部。处理器外部的存储器可以使用安装在通信设备硬件上的离散存储器集成电路实现,但是也可以采用可经由系统总线接口访问的可移除存储器介质或者可经由有线或无线通信链路访问的远端安置的网络介质的形式。
处理器204可以执行多种操作,用于存储、操纵和检索存储器部分206中的信息。内部组件200的每个组件不限于单一的组件,而是代表可由单一的组件或者多个协同操作的组件执行的功能,诸如结合数字信号处理器以及一个或多个输入/输出处理器操作的中央处理单元。同样地,内部组件200的两个或多个组件可以组合或集成,只要这些组件的功能可由通信设备执行。
图3是说明了可由通信设备利用的示例性系统架构300的框图,该通信设备诸如通信设备104、106、108、110。根据本发明,图3所表示的实施例允许非信任应用程序,诸如由第三方开发商创建的那些应用程序以及下载到通信设备104、106、108、110的那些应用程序,以利用数字权利管理保护(DRM保护)内容。对于该实施例,系统架构300包括一个或多个非信任应用程序302、用于存储一个或多个DRM保护内容306的文件储存器304、以及用于管理非信任应用程序对每个DRM保护内容的访问权的一个或多个信任应用程序308。
文件储存器304可以包括通信设备的存储器部分206中的保护区域310和非保护区域312。因此,文件储存器304可以储存非保护内容314,该非保护内容314可以在没有受到信任应用程序308的DRM保护操作的限制的情况下,由每个非信任应用程序302访问。例如,非保护区域312对于在通信设备104、106、108、110上运行的任何通用软件组件是可访问的,而保护区域310只有经由信任应用程序308授权的进程才能访问。应当理解,这些区域310、312本质上是虚拟的,并且在存储器部分206中可以是或可以不是物理上分立的。通过由信任应用程序308管理的文件组许可和数字签名证书的组合,限制保护区域310。系统级别的进程,诸如那些集成到操作系统的信任进程,可以同可访问权保护区域310的特权组相关联。其他的软件组件通过与证明其信任状态的数字签名证书相关联,可以接收来自信任应用程序308的授权。
信任应用程序308可以包括多种组件。对于图3所表示的实施例,信任应用程序308包括文件系统服务316、DRM代理318、以及一个或多个DRM内容呈现器(render)320。文件系统服务316是信任组件,其控制非信任应用程序302、DRM代理318和/或DRM内容呈现器320分别对保护区域310和非保护区域312中的DRM保护内容306和非保护内容314的访问权。每个非信任应用程序302可以使用信任代理服务器,即DRM代理318,通过接口324发现驻留在保护区域310或文件系统服务器316中的每个DRM保护内容306。每个非信任应用程序302还可以向DRM代理318查询同每个DRM保护内容306相关联的权利和许可。
非信任应用程序302可以发现和请求通信设备104、106、108、110上的DRM内容呈现器320,对DRM保护内容306执行操作。即使通信设备104、106、108、110可以包含用于不同内容类型的若干呈现器,诸如JPEG图像、MPEG4视频、MIDI铃音等等,仍可以将非信任应用程序302和DRM内容呈现器320之间的接口归纳为到特定操作的映射,该特定操作诸如是“播放”、“打印”、“显示”和“执行”。DRM内容呈现器320可以通过DRM代理318验证通信设备104、106、108、110具有足够的许可,用于对所请求的DRM保护内容306执行操作,并且开始该操作。当操作完成时,(一个或多个)DRM内容呈现器320可以向DRM代理通知操作已经完成。DRM代理318可以随后更新文件系统中的带有状态的权利(访问计数器、间隔)。应当注意,文件元数据方案可用于经由内容访问计数器和间隔约束,跟踪带有状态的权利。
只要信任应用程序组308管理每个DRM保护内容306的访问权,则每个非信任应用程序302对每个DRM保护内容的访问权可以在实施例之间变化。例如,每个非信任应用程序302对每个DRM保护内容306的明文访问权可由基于Java的OS架构、文件系统安全措施和信任建立的组合来保护。对于该示例,基于Java的OS架构的Java虚拟机(JVM)可以防止每个非信任应用程序302访问每个DRM保护内容306和信任应用程序308的存储器区域。文件许可和文件系统后台应用程序编程接口(API)防止每个非信任应用程序302访问文件储存器304的DRM保护部分。
图4是说明了可由无线通信系统100利用的示例性报头的权利对象格式和相关联的内容。在储存在保护区域310上之前,DRM保护内容306可以包含具有特定格式的权利对象,该特定格式诸如是XML或WBXML格式。此外,系统架构300可以将对象转换为紧凑二进制格式,该紧凑二进制格式使存储器要求最小并且使处理效率最大。
同最初从未被访问的内容相关联的权利对象包括只读数据。图4和5中示出了只读数据的示例,并且其包括但不限于,公共数据,诸如内容标识、内容解密密钥和许可、以及同每个许可相关联的约束数据,如开始日期、结束日期、计数和间隔。许可由它们的存在或缺失表示(每个许可有一种表示),如果许可存在,则表明授予了关于特定动作的许可,或者如果许可缺失,则许可被拒绝。特定动作的示例包括但不限于,“播放”、“显示”、“执行”和“打印”。一旦首次访问了内容,则取决于是否正在使用特定的许可约束,将附加的读-写区段添加到权利对象。在图6中示出了读-写数据的示例,并且其包括但不限于,同每个许可相关联的附加约束数据,诸如计数剩余值、间隔开始日期和间隔结束日期。
仍然参考图4,每个权利对象储存在记录400中。与相同的内容id相关联的多个权利对象可以储存在相同的文件中,或者作为分立的记录储存在数据库中。每个记录400包括记录报头和权利对象。记录报头的示例包括但不限于,每个记录的版本编号402和按照预定测量类型(诸如字节)的记录大小404。权利对象的示例包括但不限于,权利对象的版本编号406、内容解密密钥值408、内容标识(CID)大小410(其表示按照特定测量类型(诸如字节)的CID数据的长度)、表示具有对应于CID大小的长度的内容标识符的CID数据412、权利信息(下文参考图5描述)和权利数据(下文参考图6描述)。
图5是说明了可由无线通信系统100利用的只读许可的示例性权利对象格式的框图。如上文所述,同最初从未被访问的内容相关联的权利对象包括只读数据。基于每个动作描绘同特定内容对象相关联的权利,诸如“播放”、“显示”、“执行”和“打印”。因此,权利信息500的示例包括播放权利信息502、显示权利信息504、执行权利信息506和打印权利信息508。播放权利信息502可以包括播放权利屏蔽(mask)510、播放开始日期512、播放结束日期514、播放计数516和播放间隔518。显示权利信息504可以包括显示权利屏蔽520、显示开始日期522、显示结束日期524、显示计数526和显示间隔528。执行权利信息506可以包括执行权利屏蔽530、执行开始日期532、执行结束日期534、执行计数536和执行间隔538。打印权利信息508可以包括打印权利屏蔽530、打印开始日期532、打印结束日期534、打印计数536和打印间隔538。
对于每个权利信息502、504、506、508,对应的权利屏蔽510、520、530、540可以具有可变的设定。例如,每个权利屏蔽510、520、530、540可以具有指出授予许可的第一设定、指出存在日期和/或时间约束的第二设定、指出存在计数约束的第三设定、和指出存在间隔约束的第四设定。而且,可以以多种格式提供每个开始日期512、522、532、542和每个结束日期514、524、534、544,诸如年、月、月日、天时、时分和/或分秒。相似地,可以以多种格式提供每个间隔518、528、538、548,诸如年、月、天、时、分和/或秒。而且,可以以多种格式提供每个计数516、526、536、546,但是优选地作为整数值提供。
图6是说明了可由无线通信系统100利用的读写数据的示例性权利对象格式的框图。如上文所描述的,在首次访问了内容之后,取决于是否正在使用特定的许可约束,将附加的读-写区段添加到权利对象。例如,可以对“播放”动作使用计数约束,以限制播放内容对象的次数。一旦首次播放内容,则必须在权利对象中创建计数器,以跟踪播放内容的次数。后继的访问必须使该数目递增,除非计数达到了其规定的最大限制。
权利数据600的示例包括播放权利数据602、显示权利数据604、执行权利数据606和打印权利数据608。播放权利数据602可以包括播放计数剩余值610、播放间隔开始日期612和播放间隔结束日期614。显示权利数据604可以包括显示计数剩余值616、显示间隔开始日期618和显示间隔结束日期620。执行权利数据606可以包括执行计数剩余值622、执行间隔开始日期624和执行间隔结束日期626。打印权利数据608可以包括打印计数剩余值628、打印间隔开始日期630和打印间隔结束日期632。
对于每个权利数据602、604、606、608,可以以多种形式提供对应的计数剩余值610、616、622、628,但是优选地作为整数值提供。而且,可以以多种格式提供每个间隔开始日期612、618、624、630和每个间隔结束日期614、620、626、632,诸如年、月、月日、天时、时分和/或分秒。
图7是说明了图1的无线通信系统的操作700的流程图。特别地,操作700是允许非信任应用程序302访问DRM保护内容306中牵涉的一系列组件和接口。在步骤702中开始之后,在步骤704中,非信任应用程序302发现用于消费的DRM保护内容306。对于一个实施例,该发现采用文件查询API的形式,其可由文件系统服务316直接提供(即通过接口322、324)或者通过用作文件系统服务的代理服务器的DRM代理318间接提供(即通过接口326、328、322)。DRM代理是信任软件组件,其有责任加强和管理授予的权利以及同权利对象和DRM保护内容306相关联的许可。
如果文件系统服务316允许直接查询保护区域310,则保护区域必须仔细地仅允许对DRM保护内容306的读目录访问。例如,可以允许非信任的应用程序302查看保护区域310中的DRM保护内容306的列表,但是不可以对该内容执行任何其他的动作,如读、写和/或删除。一旦非信任应用程序302确认了用于消费的特定DRM保护内容,则在步骤706中,其可以可选地向DRM代理318查询关于该内容(即接口326、328、322)中或用的相关联权利。例如,非信任应用程序302可以将对内容文件或包含文件位置的串的处理传递到DRM代理318。
基于DRM代理318报告的权利和特权,非信任应用程序302可以确定是否消费DRM保护内容306。在步骤708中,如果非信任应用程序302决定访问DRM保护内容306,则其首先必须发现适用于该内容类型的DRM内容呈现器。例如,发现呼叫可以转到管理内容服务的框架内容。每个DRM内容呈现器320是信任的服务,该信任服务通过通信设备104、106、108、110确认其自身同特定的内容类型相关联(诸如关于声音文件的MP3或WAV、关于HTML文档的HTML等等)。例如,每个DRM内容呈现器320可以通过声明MIME类型来指明该关联。在步骤710中,当发现适当的DRM内容呈现器320时,应用程序(通过接口330)向内容呈现器通知其希望访问、以及其希望执行的所需动作。动作对应于权利对象中使用的一个或多个定义的动作(诸如播放、显示、执行和打印)。
在步骤712中,DRM内容呈现器320通过检查DRM代理318(通过接口332、328、322),验证非信任应用程序302具有用于执行该操作的足够权利。应当注意,该步骤同上文的步骤706相似,但是步骤706是代表非信任应用程序302的可选步骤,而用于验证DRM代理318的步骤712是用于加强DRM许可的必需步骤。随后在步骤714中,DRM代理318确定非信任应用程序302是否具有用于执行操作的足够权利。如果DRM代理318(通过接口332)向DRM内容呈现器320报告不存在足够的许可,则在步骤716中,呈现器(通过接口330)向非信任应用程序302报告回错误消息,其引用不足的许可,并且操作700终止于步骤718。
如果DRM代理318(通过接口332)向DRM内容呈现器320报告非信任应用程序302确实具有足够的权利,则在步骤720中,呈现器可以(通过接口334、322)开始操作。一旦完成请求的操作,则在步骤722中,DRM内容320呈现器可以(通过接口330)向非信任应用程序302报告回成功完成,并且操作700终止于步骤718。
对于另一实施例,某些权利对象字段,诸如计数和间隔约束可能需要更新。带有状态的权利字段或约束在执行操作之前、执行操作时或执行操作之后更新。例如,在步骤724中,DRM代理318可以确定是否需要更新任何许可约束。如果权利对象中的某些字段需要更新,则在步骤726中,DRM代理318可以(通过接口328、322)访问权利对象并且更新它们。在更新权利对象中的某些相关字段之后,或者如果在权利对象中不存在需要更新的字段,则在步骤722中,DRM内容呈现器320(通过接口330)向非信任应用程序302报告回成功完成,并且操作700终止于步骤718。
尽管说明和描述了本发明的优选实施例,但是应当理解,本发明不受此限制。在不偏离如随附权利要求限定的本发明的精神和范围的前提下,本领域的技术人员将想到许多修改方案、改变方案、变化方案、替换方案和等效方案。
权利要求
1.一种通信设备的方法,用于管理对保护内容的访问权,包括接收来自非信任应用程序的对所述保护内容执行动作的请求;以及响应于确定所述非信任应用程序具有用于执行所述动作的足够权利,执行所述动作。
2.如权利要求1所述的方法,进一步包括,确认同所述保护内容相关联的权利。
3.如权利要求1所述的方法,进一步包括,响应于确定所述非信任应用程序不具有用于执行所述动作的足够权利,通知所述非信任应用程序。
4.一种用于管理对保护内容的访问权的通信设备,包括应用程序,其被配置为请求对所述保护内容执行动作;信任文件系统服务,其被配置为向所述应用程序确认所述保护内容;信任代理,其被配置为向所述应用程序确认同所述保护内容相关联的权利;和信任内容呈现器,其被配置为,响应于确定所述应用程序是具有用于执行所述动作的足够权利的非信任应用程序,执行所述动作。
5.如权利要求4所述的通信设备,进一步包括文件储存器,其被配置为区分所述保护内容和非保护内容。
6.如权利要求4所述的通信设备,其中所述动作包括播放、显示、执行和打印中的至少一个。
7.如权利要求4所述的通信设备,其中所述信任内容呈现器响应于确定所述应用程序是不具有用于执行所述动作的足够权利的非信任应用程序,向所述应用程序提供错误消息。
8.如权利要求4所述的通信设备,其中使用数字权利管理方案保护所述保护内容。
9.如权利要求4所述的通信设备,其中所述信任内容呈现器向所述信任代理通知所述动作已完成。
10.如权利要求4所述的通信设备,在开始所述动作之后,所述信任代理更新许可约束。
全文摘要
提供了一种通信设备及其一种方法,用于管理对保护内容的访问权。该通信设备包括应用程序(302)、信任文件系统服务(316)、信任代理(318)和信任内容呈现器(320)。应用程序(302)请求对保护内容(306)执行动作。信任文件系统服务(316)向应用程序(302)确认保护内容(306)。信任代理(318)向应用程序(302)确认同保护内容(306)相关联的权利。信任内容呈现器(320)响应于确定应用程序(302)是具有用于执行动作的足够权利的非信任应用程序,执行该动作。
文档编号G06F21/00GK1954579SQ200580015732
公开日2007年4月25日 申请日期2005年4月21日 优先权日2004年5月18日
发明者马克·D·汉森, 理查德·T·周, 凯文·C·莫里, 德怀特·R·史密斯, 詹姆斯·P·瓦登 申请人:摩托罗拉公司(在特拉华州注册的公司)
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1