策略引擎以及用于保护数据的方法和系统的制作方法

文档序号:6483853阅读:191来源:国知局
专利名称:策略引擎以及用于保护数据的方法和系统的制作方法
技术领域
本发明涉及以受到信任的方式从各种源中的任何一个向各种宿中的任何一个传递内容为目的建立受保护的媒体路径的体系结构和方法。
背景技术
随着数字数据的可用性、用途和价值的增长,存在对用于保护该数据的改良方法和系统的需求。源是用于传递或‘提供’数据的系统,它可与源内容保护系统相关联。来自源的数据可被呈现以供宿使用,宿是用于接收或‘吸收’数据的系统。宿可与宿内容保护系统相关联,而后者与使用宿处的数据相关联。
源内容保护系统可强加一个或多个条件,诸如获取使用数据的授权等。一旦满足一个或多个条件且获取访问权,源内容保护管理进一步动作的能力以及对数据相关联的内容保护就很有限。甚至在源和宿两者都具有内容保护系统的情况下,在处理环境内源对宿和/或干预事件的监控和授权程度仍是有限的。

发明内容
本文中描述策略引擎以及保护数据的系统和方法。与数据相关联的上游组件可确定与由下游组件对数据的使用相关联的内容策略。上游组件可根据要由下游组件对数据执行的具体动作来提出策略。可具体化为策略引擎的另一个组件可代表上游组件来确定哪些策略受到下游组件支持,协商所支持的策略的实现,和/或在允许下游组件访问数据之前强制实施所支持的策略。


贯穿所有附图使用相同标号在任何可行处引用相似的特征或组件。
图1根据一个实施例示出一种系统的框图。
图2是根据另一个实施例的一种系统的框图。
图3是根据一个实施例描述一种方法中的各个步骤的流程图。
图4示出可在其中实现数据保护的环境中的示例性计算系统、设备和组件。
具体实施例方式
概述在以下所描述的各种实施例中,在媒体系统的上下文中提供在源和宿之间协调策略并沿媒体路径维护信任的内容保护。该系统可包括诸如策略引擎等组件,它可代表源来与宿协商策略考虑事项。策略引擎可确定要由宿执行的动作,并允许源基于该动作来确定策略。然后策略引擎可确保在允许宿访问源数据以前,所选择的策略由宿实现。替换地或另外地,策略引擎可担当策略强加器。
示例性实施例图1根据一个实施例示出一系统100的高级框图。在一个或多个实施例中,系统100是在软件中实现的。在其它实施例中,系统100可结合任何合适的软件、固件、硬件和/或其组合来实现。
在系统100中,应用程序102与媒体引擎104交互。在受保护的媒体路径或受保护环境110内操作的是媒体会话112、媒体处理器114、源信任授权机构116、宿信任授权机构118、和策略引擎120。数据可从源124进入受保护环境110,并被提供给宿126。源124可以是包含或可访问源数据的任何类型的系统。宿126可以是能对源数据或其衍生数据执行动作的任何系统。
一旦应用程序已选择了源以及相关联的数据和/或要由宿执行的相关联的动作,该应用程序除了可能提供诸如开始、停止、重复、倒退、快进等再现控制命令以外,不再涉及通过受保护环境110对数据的再现。
受保护环境110允许从源124向宿126传递数据或内容,同时使该内容能以受保护的方式被相应处理。源124可与用于保护与源相关联的数据(即,源数据)的一个或多个源内容保护系统相关联。例如,源124的每个流可与诸如数字权限管理或权限管理系统等若干内容保护系统中的任意一个相关联,且/或可与诸如CGMS-A或条件访问系统等有限内容保护相关联。源可以有与源数据的各种使用相关联的不同源内容保护系统。或者源124可以不与任何内容保护系统相关联。
与源类似,宿126可与一个或多个宿内容保护系统相关联。此外,宿可为其能执行的不同动作支持不同的宿内容保护系统。例如,宿可为其基于源数据可执行的第一动作与第一组内容保护系统相关联,并为其基于该数据可执行的第二动作与第二组内容保护系统相关联。特别在一个例子中,宿126可同时包括用于接收要被传递到扬声器的音频的音频系统,和用于接收要被传递到显示器的视频的视频系统。这些功能中的每一个都可与一个或多个内容保护系统相关联。在一些实例中,宿126可不与宿内容保护系统相关联。在这一实例中,策略引擎120可允许宿对数据的条件访问,如以下将讨论的那样。关于示例性受保护环境或受保护媒体路径的其它细节包含在题为“Protected Media Path and Refusal Response Enabler”(受保护的媒体路径和拒绝响应启用器),于2003年10月23日提交的美国临时专利申请第60/513,831号中,其内容通过被引用而包含于此。
就于受保护环境110内使用源124的数据而言,策略引擎120可代表源124行动。策略引擎还可要求宿126实现宿内容保护系统以访问源124的数据。特定的宿内容保护系统如何被选择将在以下更详细地讨论。
策略引擎120可驻留在媒体会话112内,并可与源信任授权机构(SOTA)116和宿信任授权机构(SITA)118通信。SOTA 116表示受保护环境110中的对应源124。在所描述的实施例中,源信任授权机构是与源124相关联的源内容保护系统的软件代理。类似地,每个宿信任授权机构SITA 118是宿内容保护系统的软件代理,并表示受保护环境110中的对应宿124。
SOTA可用于提供对源124的数据进行解密的解密功能。此外,在一些实现中,SOTA可用于将策略从本机格式转变为符合策略引擎的格式。替换地或另外地,SOTA还可将与数据相关联的策略转变为策略引擎和/或SITA 118所接受的策略。同样,SOTA可将源策略转变为具体的输出策略。此外,在一些实现中,SOTA可向策略引擎提供排除信息。例如,SOTA可向策略引擎提供组件排除列表或全局撤消要求。
SITA 118可用于提供在适当处对要被传递给宿126的数据进行加密的加密功能。因此,宿126接收数据和对应的策略,必要的话对所接收的数据进行解密,并基于所接收的策略再现数据。注意到SITA 118同样可代理宿126,尤其是就涉及信任、策略和权限的问题而言。
源策略通常是以前述的专属于特定源的本机格式来阐述的,并且可能具有任意的复杂性。例如,策略可被表达为设为开或关的一系列比特,可包括以预定义语言程序设置的要被执行的逻辑,和/或甚至可包括或指代可执行的机器代码。一般而言,策略可表达诸如关于对应数据可采取的动作、必需存在的动作的先决条件、必需采取的动作的后续事件、就数据而言要被呈现或不能被呈现的元素、此类元素的条件、要随所传递的内容发送的策略等信息。
在所示和所述实施例中,策略引擎120行使受保护环境体系结构的心脏的功能,并负责代表每个SOTA 116实施策略。因此,如以下将更详细阐述的那样,策略引擎120协商每个适用源124和每个适用宿126之间的策略,包括所请求的宿内容保护系统、宿内容保护系统上的输出(outbound)策略、以及媒体路径组件包含与排除。如以上所提及那样,策略引擎120可分别经由SOTA 116和SITA 118间接与源和宿协同作用。在这一实例中,策略引擎啮合SOTA或SITA,而SOTA和SITA分别啮合源或宿。策略引擎120还提供受保护的环境,在该环境中,能以保护数据不被恶意实体窃取的保证等级来处理源124的数据。
策略引擎图2示出包括多个源和多个宿的另一示例性系统100a的框图。策略引擎120a监督内容从源124a-124c传到受保护环境110a进行处理,然后传出到宿126a-126b的转移。策略引擎的监督角色可包括各种方面,以下将通过示例的方式对其进行解释。
在以下示例中,策略引擎120a学习要由一个或多个宿126a-126b对与源124a-124c中的一个相关联的数据执行的一个或多个所提议的动作。策略引擎可根据系统配置,以各种方式来学习所提议的动作。例如,一些实现可被配置以使宿对源数据仅有的访问权由策略引擎控制。在这种配置中,没有策略引擎的批准,宿不能访问数据。
取决于实现方式,以下所描述的步骤中的一部分可在策略引擎学习所提议的动作之前发生,且/或步骤中的一部分可在策略引擎学习所提议的动作之后发生。对源数据的访问权作为其监督角色的一个方面,策略引擎120a对受保护环境110a中所允许的组件、同样对哪些组件有对特定源的数据的访问权可具有排它性的控制。仅那些为某个信任的根基所信任的组件被允许进入该过程。
一些实现利用包含诸如想要插入到受保护环境110中的宿或SITA等任何组件的动态连接库(DLL)所用的证明机制来建立信任。仅当组件具有此证明时,结合受保护环境110的策略引擎才会允许这些组件被加载。在各种实施例中,除了其它配置以外,此类证明可由操作系统发放。在一些实现中,证明将由可受操作系统供应商或某些第三方监视的组织向开发者/公司发放。然后开发者可将证明附到其所有软件上。在这些实现中的一部分中,组件的证明一旦被验证,该组件即被允许在受保护环境中被加载;且策略引擎信任该组件兑现其所声明支持的任何事物。如果稍后发现某一组件有意或无意地违反此信任,那么它将被添加到全局排除列表或从SOTA获得的源专属排除列表中。
特别在一个实现中,当策略引擎120a初始化时,它联络所有当前可用的源,在此实例中为源124a-124c。策略引擎注册与个体源有关的一个或多个SOTA116a-116c。
一些示例性实现可包括SOTA用于确保标识其自身为策略引擎的组件的确是策略引擎的机制。一个此类实现用以下方法在SOTA和策略引擎之间建立信任。策略引擎调用SOTA对象IMFSourceTrustAuthority∷EstablishTrust(IMF源信任授权机构∷建立信任),并将一个指针传递给IMFTrustHost(IMF信任主机)接口。SOTA调用IMFTrustHost∷GetCertificate(IMF信任主机∷获取证明)来从策略引擎请求证明。该证明被用操作系统私钥签署。SOTA确认该证明,生成一随机数,然后调用IMFTrustHost∷SignChallenge(IMF信任主机∷签署询问)。策略引擎用私钥签署该随机数。然后SOTA使用来自该证明的公钥来验证该签名。这只是一个实现;本领域技术人员应当认识到其它配置。
一旦注册SOTA,策略引擎即可接收关于与每个源的数据和/或涉及使用该数据的其它策略信息相关联的任何源内容保护系统的信息。策略信息可包括来自每个SOTA的排除列表。排除列表可涉及哪些组件被或不被允许访问源数据。例如,排除列表可排除不具有经批准的代码的任何组件访问源数据。
策略引擎120a可从给定的SOTA接收各种排除性策略。例如,SOTA 118a可提交要被拒绝加载到受保护环境中的组件的列表。如以下将详细讨论的那样,策略引擎利用此策略信息,且/或可添加其它排除条件。例如,在一些实现中,策略引擎可在代码被允许进入受保护环境之前要求证明或其它建立信任的手段。在这种配置中,SOTA不需要请求此类措施,因为策略引擎自动实现这些措施。
策略引擎120a还可从不直接与任何源相关联的不同组件获取经批准的/排除的组件的列表。在此所示和所述实现中,该不同组件或全局组件206包含全局排除列表210。特别在一个实现中,全局排除列表可由诸如由Microsoft公司许可的Windows操作系统等操作系统提供。除了其它配置以外,全局排除列表还可以是从操作系统下载的已签署并加时间戳的列表。来自SOTA和全局组件的排除条件还可相互强加条件。例如,SOTA的排除条件可要求全局排除列表必需在诸如30天等给定时间段内对照服务器被验证。
策略引擎120a可合并或集合从两个组件获得的排除列表,并制定随源数据使用的将不受信任的组件排除在受保护环境110a之外的排除列表。例如,策略引擎可集合来自全局组件和每一个SOTA的列表。策略引擎可仅加载诸如已被认为是由DRM授权机构信任的组件等受信任的组件。在源不具有任何源内容保护系统和/或不具有与其相关联的排除策略的事件中,那么排除策略基于全局排除列表210。
策略引擎120a一旦聚集了可用的排除信息,它即可通过按照排除信息拒绝或允许组件对受保护环境的访问来强制排除信息。在一些实现中,策略引擎扮演此允许和排除组件的“门卫”角色。
在一些实现中,排除信息从策略引擎被传递到第三方组件,由后者进行实际的强制功能或门卫角色。在此实例中,第三方组件可包括组件创建器214。组件创建器处理此过程内所有组件的创建,并且它将处理必要的验证,诸如确定仅受信任的组件是被允许的组件。在此实例中,策略引擎120a接收关于与源124a相关联的SOTA 118a的策略信息。策略引擎还从全局组件206接收全局排除列表210形式的策略信息。策略引擎将来自各个源的排除信息转发到组件创建器214,后者可处理在以下将详细描述的排除功能。
在一些实现中,排除信息从SOTA直接传到实施实际强制功能的第三方组件。例如,策略引擎120a可从各个SOTA请求排除信息。SOTA随即将信息直接传递给组件创建器214。
在一个替换实现中,策略引擎120a控制到受保护环境110a的入口,同样控制对数据的访问。在一个此类实例中,策略引擎学习要对来自给定源的数据执行的动作,然后仅允许有关组件进入受保护环境以访问该数据。例如,源124a被配置成访问来自数字多功能盘(DVD)的数据,且策略引擎习知用户想要播放该数据。在此实例中,宿126a包括可在屏幕上从源数据生成可视化图像并可在扬声器上从源数据生成可听的声音的系统。然后策略引擎可从SOTA 116a和/或全局排除列表210探知排除信息,以确定宿126a是否将被允许访问受保护环境110a中的数据。然后策略引擎120a可仅协同这些有关组件进行它的其余功能。策略引擎可同时实现和管理许多此类动作专属的受保护环境。然后一旦完成某一动作,策略引擎即停止个体的受保护环境。在以上示例中,是就策略引擎对源和宿的角色来对其进行描述的,策略引擎还可监视诸如变换等可访问数据的其它组件。
以上各示例基于受源和/或第三方排除和/或策略列表允许的动作。其它动作可能完全不受允许,因此策略引擎120a不聚集相关联的排除信息。例如,再次回到图2,SITA 118b可请求从源124c复制数据。如果SOTA 116c不允许该动作,则策略引擎120a和/或组件创建器214可行动以阻塞对数据进行访问而不进行其它步骤。此外其它动作可被有条件地排除。例如,动作可被禁止或排除,直至用户获得以期望方式使用数据的许可。同样,在获得许可以前,可禁止宿进入受保护环境。其它示例在以下各段中讨论。
注册与源数据相关联的内容策略策略引擎120a可聚集与要对与某一源相关联的数据执行的动作相关联的内容保护策略。此类动作的例子包括,但不限于,播放、复制、导出、备份。至少此内容策略中的一部分可涉及源要为利用源数据的给定动作使用什么类型的宿或输出内容保护策略。特别在一个配置中,策略引擎学习要由给定宿对源数据执行的动作。例如,策略引擎120a可接收对宿126a在屏幕上从与源124a相关联的源数据生成可视化图像,并在扬声器上从与源124a相关联的源数据生成可听的声音的请求。策略引擎可询问SOTA 116a以确定源对这些动作要求什么宿保护策略。策略引擎可能从源接收零个、一个或多个保护策略。例如,在不受保护内容的情形中,策略引擎可能不会获得与数据直接相关联的任何策略。在其它实例中,SOTA可提供多个策略。在此例中,SOTA可提供与利用数据来创建可视化图像相关联的第一组策略。例如,源策略可能要求宿支持高带宽数字内容保护(HDCP)或宏视觉(Macrovision)协议。类似地,SOTA可提供与利用数据来创建声音相关联的第二组策略。例如,此类策略可包括数字传输控制协议(DCTP)。
在其它实例中,SOTA策略可涉及与动作相关联的各种参数。例如,如果满足某个条件,策略可仅允许对源内容的复制。在此例中,如果动作是进行复制,则SOTA可有仅当副本在30天后过期才可发生该动作的策略。在一个实现中,SOTA可在宿内容保护策略中包括此类条件,这些条件由策略引擎向SITA传达。在另一个实现中,SOTA可将此类条件翻译成策略引擎所理解的一般语言,策略引擎进而可向SITA传达该信息。在这两种情形中,SITA都负责兑现那些条件。
在另一示例中,在一些配置中,源策略可允许动作在宿不支持任何保护系统之处无论如何都继续进行。例如,宿可要求创建可视化显示,但可能不支持任何相关联的宿内容保护系统。如果满足某个条件,源可经由策略引擎允许该动作继续进行。例如,源可能要可视化信号降低质量,以相对于源数据的可能量(potential)来降低输出分辨率。策略引擎可决定是要在本地强制该条件还是将其委托给另一个组件,但无论作出哪个选择,确定该条件被执行是策略引擎的任务。因此策略引擎可降低分辨率,或者它可认识到宿可在内部执行此任务并命令宿依此执行。同样,策略引擎可代表源来行动,以确保如以下将详细描述的一致性。
在一些实现中,除了询问媒体源以外,策略引擎还向至少一个不与源数据直接相关联的组件(例如,第三方组件)询问涉及所提议的动作的策略。在所示实现中,第三方组件是全局组件206,它控制全局策略列表216。
然后策略引擎可将来自两个策略源的策略列表聚集成单个列表或数组。如果有一个以上动作要由宿执行,则策略引擎可聚集各个动作的策略列表。例如,如果动作是‘播放数据’,则策略引擎可编译涉及创建可视化图像的已聚集的数组,以及涉及创建声音的单独列表。每个列表或数组可由策略引擎基于某些准则来分级。在所示和所述实现中,策略引擎按偏好(preference)顺序对已聚集的列表进行分级。策略引擎可从SOTA获得偏好顺序,或内部确定偏好顺序。在此特定实例中,偏好顺序基于安全,即,策略引擎从最安全到最不安全来对策略进行分级。
或者,策略引擎可首先询问SITA关于其为宿的所提议的动作支持哪个宿或输出保护策略。然后策略引擎可向适当源的SOTA和/或全局策略组件提供SITA的输出保护信息,以供选择所支持的策略中的一个。
在另一个配置中,一旦初始化,策略引擎即询问所有源和所有宿。对于每个源,策略引擎接收涉及其源数据的策略信息。对于可对源数据执行的每个动作,源可提供其要求的包括一个或多个策略的列表。如果源对给定动作允许各种策略,则那些策略可按已分级的偏好顺序被提供。策略引擎从每个宿接收关于该宿可执行的动作以及该宿可为该动作支持的相关联的输出保护策略的信息。同样,策略引擎创建可对包含在各个源中的数据执行的动作以及与允许个体动作相关联的策略的主列表。在这一配置中,当策略引擎学习到要由宿执行的动作时,它已从源和/或宿积累了信息。
代表宿进行协商策略引擎120a一旦有了内容策略列表,策略引擎即代表SOTA 116a-116c行动,来与SITA 118a-118b协商列表。策略引擎可询问SITA以找出SITA支持来自列表中的哪些内容策略。在列表从最安全到最不安全分级的一些实施例中,策略引擎可询问SITA它是否支持从最安全到最不安全的顺序的各种策略。
策略引擎120a可指示SITA 118a-118b实现其支持的最高等级(最安全)的策略。在其它实现中,策略引擎可找出SITA支持哪些策略,然后回到SOTA和/或第三方策略组件,并让SOTA和/或第三方策略组件选择所支持的策略中的一个。例如,策略引擎可询问SITA关于其所支持的策略,而SITA可响应其支持“a、b和c”。然后策略引擎回到SOTA并询问要实现“a、b、c”中的哪一个。因此在此例中,SOTA实际上要从宿所支持的输出保护系统的列表中选择要使用哪个策略。
策略引擎可代表给定源参加并行协商。例如,策略引擎120a可能同时协商从与源124a相关联的数据输出视频和输出音频的策略。替换地或另外地,策略引擎可代表两个SOTA 116a-116b就单个宿的事宜进行协商。例如,第一个源124a可被配置成支持来自包括影片的DVD的数据。第一个源可能要求在允许宿访问数据以生成可视化图像之前实现Windows媒体DRM,并要求一不同的用于生成音频的策略。同时,第二个源124b可被配置成供应宿126a可利用以在图片显示中生成图片的电缆电视内容。提供电缆数据的第二个源124b可能要求在允许对其数据进行访问之前实现电缆的有条件的访问。策略引擎可代表两个源124a、124b中的每一个进行协商并确定宿126a实现所有这三个策略。
一旦为宿或其相关联的SITA作出策略选择,策略引擎即可对SITA上的配置信息起作用。例如,如果系统有与其相关联的载荷和配置数据,则策略引擎可在SITA上设置这些内容。
对所选择的策略的强制策略引擎120a可代表SOTA 116a-116c执行各种强制功能。此类强制功能可包括确保宿被例如用DRM证书正确地授权。在一些实现中,策略引擎可将来自SOTA的其它策略/条件传递给SITA。就诸如变换等其它被加载到受保护环境中的组件而言,策略引擎可类似地运作。
在其它实现中,策略引擎可具有其它强制能力。在所提议的动作被SOTA禁止的一些实现中,强制功能可确保宿126a-126b不访问数据。这些实现中,在受到宿支持的策略已被选择,且SITA已被指示实现所支持的策略的一部分实现中,策略引擎可确保在允许宿访问数据之前策略的确已被实现。随后当宿具有对数据的访问权的同时,策略引擎可重新检查以确保该策略仍处于已实现的状态。
示例性方法图3根据一个实施例示出一种示例性方法中的各个步骤。该方法可结合任何适当的硬件、软件、固件或其组合来实现。在一个实施例中,可结合诸如以下关于图4所描述的计算机系统,使用诸如以上所描述等示例性软件体系结构来实现该方法。但是,应当意识到并理解,可利用其它软件体系结构和计算机系统,而不会偏离所要求保护的主题的精神和范围。此外,应当理解,此图中所描述的一部分动作无须按照其在流程图中出现的顺序发生。
步骤300确定要对从数据源获得的数据执行的动作。在上述例子中,动作可包括许多不同的功能,包括但不限于,录制、播放、创建可视化图像、以及创建声音。在一些实现中,该方法可从将执行该动作的组件来确定动作。这一组件可包括数据宿或与数据宿相关联的SITA。在一些实现中,该方法可从请求动作的用户输入或从其它手段来确定动作。
步骤302确定与动作相关联的一个或多个条件。这些条件可涉及要被用来保护数据的输出保护系统。特别在一个实现中,该方法可从与源和/或与源相关联的SOTA和/或从至少一个不与源直接相关联的其它组件检索与动作相关联的条件。在一个实现中,不直接与源有关的组件可包括全局策略列表。
步骤304按有序的顺序对各条件进行分级。在一个实现中,这些条件被按照从最安全到最不安全进行分级。一些其它实现可从源和至少一个其它组件聚集条件,并对所聚集的列表进行分级。
步骤306确定将执行动作的组件支持哪些条件(如果有的话)。除了其它条件以外,这些条件还可包括宿内容保护系统。一些实现随即回到数据源以允许数据源选择所支持的条件中的一个。其它实现可询问该组件它是否支持来自列表的条件。一些实现从最高等级的条件开始沿列表往下询问组件,直至一个受到支持的条件被标识出来。如果该组件不支持所列出的条件中的任何一个,则可禁止该组件访问数据。
步骤308指导组件实现所支持的条件。在一些实现中,可进行进一步的强制检查,以在允许该组件访问数据之前验证该组件的确已实现了所支持的条件。如果执行该动作的组件不支持这些条件中的任何一个,则对数据的访问可被阻塞。替换地或另外地,可为该动作对数据的使用强加其它条件。这些其它条件可包括减少数据的至少一个属性。例如,源可要求将视频信号的分辨率从高分辨率减少到低分辨率。
示例性计算机体系结构图4示出可完全或部分地实现本文中所描述的内容保护系统以及计算、网络和系统体系结构的示例性计算环境400。示例性计算环境400只是计算系统的一个例子,并不试图对该体系结构的使用范围或功能提出任何限制。也不应将计算环境400解释为有涉及在示例性计算环境400中所示的任一组件或其组合的任何依赖性或要求。
计算环境400中的计算机和网络体系结构可用许多其它通用或专用计算系统环境或配置来实现。可能适用的公知计算系统、环境和/或配置的例子包括,但不限于,个人计算机、服务器计算机、客户机设备、手持式或膝上设备、基于微处理器的系统、多处理器系统、机顶盒、可编程消费者电子设备、网络PC、小型计算机、大型计算机、游戏控制台、包括以上系统或设备中的任何一个的分布式计算环境等等。
计算环境400包括计算设备402行使的通用计算系统。计算设备402的组件可包括,但不限于,一个或多个处理器404(例如,任何微处理器、控制器、等等)、系统存储器406、以及耦合各种系统组件的系统总线408。一个或多个处理器404处理各种计算机可执行指令以控制计算设备402的操作,并与其它电子和计算设备通信。设备总线408标识若干类型的总线结构中的任意多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、使用各种总线体系结构中的任何一种的处理器或局部总线。
计算环境400包括各种计算机可读介质,它们可以是可由计算设备402访问的任何介质,并包括易失性和非易失性介质、可移动和不可移动介质。系统存储器406包括诸如随机存取存储器(RAM)410等易失性存储器、和/或诸如只读存储器(ROM)412等非易失性存储器等行使的计算机可读介质。维护诸如在启动时便于在计算设备402内部各组件之间传输信息的基本例程的基本输入/输出系统(BIOS)414存储在ROM 412中。RAM 410通常包含可由处理器404中的一个或多个即时访问和/或正在由其操作的数据和/或程序模块。
计算设备402可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。作为示例,读或写不可移动、非易失性磁介质(未示出)的硬盘驱动器416,读或写可移动、非易失性磁盘420(例如,“软盘”)的磁盘驱动器418,以及读和/或写诸如CD-ROM、数字多功能盘(DVD)或任何其它类型的光介质等可移动、非易失性光盘424的光盘驱动器422每一个都通过一个或多个数据媒体接口426连接到系统总线408。各磁盘驱动器及其相关联的计算机可读介质为计算设备402提供计算机可读指令、数据结构、程序模块以及其它数据的非易失性存储。
任何数量的程序模块可被存储在硬盘416、磁盘420、光盘424、ROM 412和/或RAM 410上,作为示例,包括操作系统426、一个或多个应用程序428、其它程序模块430以及程序数据432。这些操作系统426、一个或多个应用程序428、其它程序模块430以及程序数据432中的每一个(或其某种组合)可包括本文中所描述的系统和方法的一个实施例。
计算设备402可包括被标识为通信介质的各种计算机可读介质。通信介质通常在诸如载波或其它传输介质等已调制数据信号中将计算机可读指令、数据结构、程序模块或其它数据具体化,并且包括任何信息传递介质。术语“已调制数据信号”指以在信号中将信息编码的方式设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直接连线连接等有线介质、诸如声学、RF、红外其它无线介质等无线介质、及其任意组合。
用户可经由诸如键盘434和定位设备436(例如“鼠标”)等任何数量的不同输入设备与计算设备402相接。其它输入设备438(未具体示出)可包括话筒、操纵杆、游戏垫、控制器、圆盘式卫星天线、串行端口、扫描仪和/或其它。这些及其它输入设备经由耦合到系统总线408的输入/输出接口440连接到处理器404,但也可通过诸如串行端口、游戏端口和/或通用串行总线(USB)等其它接口和总线结构连接。
监视器442或其它类型的显示设备可经由诸如视频适配器444等接口连接到系统总线408。除了监视器442以外,其它输出外围设备可包括诸如扬声器(未示出)和打印机446等可经由输入/输出接口440连接到计算设备402的组件。
计算设备402可适用到诸如远程计算设备448等一个或多个远程计算机的逻辑连接在联网环境中操作。作为示例,远程计算设备448可以是个人计算机、便携式计算机、服务器、路由器、网络计算机、对等设备或其它普通网络节点、等等。远程计算设备448被示为可包括本文中相对于计算设备402所描述的许多或所有元件和特征的便携式计算机。
计算设备402和远程计算设备448之间的逻辑连接被描绘为局域网(LAN)450和一般广域网(WAN)452。此类网络环境常见于办公室、企业范围的计算机网络、内联网以及因特网。当在LAN网络环境中实现时,计算设备402经由网络接口或适配器454连接到局域网450。当在WAN网络环境中实现时,计算设备402一般包括调制解调器456或用于通过广域网452建立通信的其它装置。可为内置或外置的调制解调器4565可经由输入/输出接口440或其它适当机制连接到系统总线408。所示网络连接是示例性的,且可使用在计算设备402和448之间建立通信链路的其它装置。
在诸如以计算环境440所示等联网环境中,相对于计算设备402所描绘的程序模块或其部分可被存储在远程记忆存储设备中。作为示例,远程应用程序458是用远程计算设备448的存储器设备来维护的。出于说明的目的,应用程序及诸如操作系统426等其它可执行程序组件在本文中被示为离散的框,尽管认识到此类程序和组件在各个事件驻留在计算设备402的不同存储组件中,并由计算设备的处理器404执行。
结论以上所描述的各个实施例可提供数据安全,在其中与数据相关联的上游组件可被允许确定与下游组件对数据的使用相关联的内容策略。上游组件可根据要由下游组件对数据执行的具体动作来提出策略。可被具体化为策略引擎的另一个组件可代表上游组件行动,以确定哪些内容受下游组件支持,协商所支持策略的实现,以及在允许下游组件访问数据之前强制所支持策略的实现。
尽管是以专属于结构化特征和/或方法性步骤的语言描述了这些发明性概念,应当理解,所附权利要求书中的这些发明性概念不限于所描述的具体特征或步骤。相反,是将这些具体特征和步骤作为实现这些发明性概念的形式来揭示的。
权利要求
1.一种方法,包括确定要对从数据源获得的数据执行的动作;检索与所述动作相关联的内容策略;按照已分级的顺序对所述策略进行分级;查询个体策略是否受到数据宿的支持;以及指导所述数据宿实现所述数据宿所支持的已分级策略中的一个。
2.如权利要求1所述的方法,其特征在于,还包括强制实施个体策略。
3.如权利要求1所述的方法,其特征在于,还包括在所述数据源和执行所述指导动作的组件之间建立信任。
4.如权利要求1所述的方法,其特征在于,还包括验证所述数据宿已实现所述一个策略,然后允许所述数据宿访问所述数据以执行所述动作。
5.如权利要求1所述的方法,其特征在于,所述确定动作包括从与所述数据宿相关联的宿信任授权机构确定要执行的动作。
6.如权利要求1所述的方法,其特征在于,所述检索动作包括从所述数据源检索内容策略,并从至少一个其它组件检索内容策略。
7.如权利要求6所述的方法,其特征在于,所述从至少一个其它组件检索内容策略的动作包括从全局策略列表检索内容策略。
8.如权利要求7所述的方法,其特征在于,所述分级动作包括至少部分地基于安全准则,创建将所述策略按从最高优先级到最低优先级进行分级的数组。
9.如权利要求1所述的方法,其特征在于,所述检索动作包括从源信任授权机构检索内容策略,并从至少一个其它组件检索内容策略。
10.如权利要求1所述的方法,其特征在于,所述分级动作包括至少部分地基于安全准则将所述策略按从最高优先级到最低优先级进行分级。
11.如权利要求1所述的方法,其特征在于,所述查询动作包括查询宿信任授权机构。
12.如权利要求1所述的方法,其特征在于,还包括在所述查询动作以后,如果所述数据宿不支持所述策略中的至少一个,则阻塞所述动作。
13.如权利要求1所述的方法,其特征在于,还包括在所述查询动作之后,如果所述数据宿不支持所述策略中的至少一个,则为所述动作对所述数据强加额外条件。
14.如权利要求13所述的方法,其特征在于,所述强加动作包括减少所述数据的至少一个属性。
15.如权利要求1所述的方法,其特征在于,所述指导动作包括指导宿信任授权机构使所述数据宿实现所述已分级策略中的一个。
16.如权利要求1所述的方法,其特征在于,还包括在所述指导动作以后,如果所述已分级策略中没有一个被所述宿实现,则阻塞所述动作。
17.如权利要求16所述的方法,其特征在于,所述阻塞动作包括防止所述数据到达所述宿。
18.一个或多个具有当被执行时实现如权利要求1所述的方法的计算机可读指令的计算机可读介质。
19.一种包含在计算机可读介质上的软件体系结构,所述软件体系结构包含被配置成实现如权利要求1所述的方法的策略引擎。
20.一种方法,包括确定要对从数据源获得的数据执行的动作;向所述数据源通知所述动作;以及确定是否允许所述动作被执行。
21.一种方法,包括确定要对与第一组件相关联的数据执行的至少一个动作;决定与所述动作相关联的若干条件;以及确认将执行所述动作的第二组件被配置成支持所述条件中的至少一个。
22.如权利要求2所述的方法,其特征在于,还包括确保所述第二组件在访问所述数据之前实现所述条件中的至少一个。
23.如权利要求2所述的方法,其特征在于,所述确定、决定、确认和确保动作中至少一个不是由所述第一和第二组件中的任何一个执行的。
24.如权利要求2所述的方法,其特征在于,所述决定动作包括从所述第一组件和第三组件获得所述条件。
25.如权利要求2所述的方法,其特征在于,还包括在允许所述第二组件进入受保护环境以访问与所述第一组件相关联的数据之前,建立所述第二组件的信任。
26.一个或多个具有当被执行时实现如权利要求2所述的方法的计算机可读指令的计算机可读介质。
27.一种包含在计算机可读介质上的软件体系结构,所述软件体系结构包括被配置成实现如权利要求2所述的方法的策略引擎。
28.一种方法,包括至少部分地基于从上游组件获得的策略与下游组件建立信任;确定要由所述下游组件对从所述上游组件得到的数据执行的动作;以及从所述上游组件和全局组件接收与允许所述下游组件访问所述数据相关联的若干条件。
29.如权利要求9所述的方法,其特征在于,所述决定动作包括将来自所述上游组件的条件和来自所述全局组件的条件聚集成已分级数组。
30.如权利要求9所述的方法,其特征在于,所述建立、确定和决定动作是由一策略组件执行的。
31.如权利要求9所述的方法,其特征在于,还包括在所述上游组件和一策略组件之间建立信任。
32.如权利要求9所述的方法,其特征在于,还包括查询所述下游组件是否支持所述条件中的任何一个。
33.如权利要求13所述的方法,其特征在于,还包括在授权所述下游组件访问所述数据之前指导所述下游组件实现所支持的条件。
34.如权利要求14所述的方法,其特征在于,还包括在所述指导动作之后并在授权之前,验证所述下游组件已实现所支持的条件。
35.一个或多个具有当被执行时实现如权利要求9所述的方法的计算机可读指令的计算机可读介质。
36.一种包含在计算机可读介质上的软件体系结构,所述软件体系结构包括被配置成实现如权利要求9所述的方法的策略引擎。
37.一种包含在计算机可读介质上的系统,所述系统包括与可对其执行动作的数据相关联的第一组件;被配置成对所述数据执行所述动作的第二组件;以及被配置成确定所述动作,并根据所述动作决定在允许所述第二组件访问所述数据之前要实现的至少一个策略的第三组件。
38.如权利要求18所述的系统,其特征在于,所述第三组件被配置成代表所述第一组件与所述第二组件协商所述至少一个策略的实现。
39.如权利要求19所述的系统,其特征在于,所述第三组件被配置成拒绝所述第二组件对所述数据的访问,直至所述第二组件实现所述至少一个策略。
40.如权利要求18所述的系统,其特征在于,所述第三组件被配置成在允许所述第二组件进入其中可发生对所述数据的处理的受保护环境之前建立信任;根据从所述第一组件所获得的第一排除列表、以及从第四全局组件获得的第二排除列表形成已聚集的排除列表,所述第四全局组件不直接与所述第一组件相关联且不直接与所述第二组件相关联;以及至少利用所述已聚集的排除列表,加载被允许进入所述受保护环境的组件列表。
41.如权利要求21所述的系统,其特征在于,所述第三组件被配置成决定要由所述第二组件对所述数据执行的动作;确定与对来自所述第一组件的数据的使用相关联的条件,其中,所述条件是按照已分级顺序排列的;决定所述第二组件是否支持所述条件中的任何一个;以及指示所述第二组件实现对应于所述已分级顺序的所支持的条件。
42.一种系统,包括用于确定要对从数据源获得的数据执行的动作和检索与所述动作相关联的内容策略的装置;用于按已分级顺序对所述策略进行分级并查询个体策略是否受数据宿支持的装置;以及用于指导所述数据宿实现所述数据宿所支持的已分级策略中的一个的装置。
43.如权利要求23所述的系统,其特征在于,所有所述装置都包括包含在计算机可读介质上的计算机可执行指令。
44.如权利要求23所述的系统,其特征在于,所有所述装置都包含在策略引擎中,其中所述策略引擎包含在计算机可读介质上。
全文摘要
所描述的各实施例涉及数据安全。一个示例性系统包括与对其可执行动作的数据相关联的第一组件,和被配置成对数据执行该动作的第二组件。该系统还包括第三组件,它被配置成确定动作并根据该动作来决定在允许第二组件访问数据之前要实现的至少一个策略。
文档编号G06F21/00GK1784852SQ200480012375
公开日2006年6月7日 申请日期2004年7月22日 优先权日2004年5月3日
发明者J·M·阿科弗, K·A·德比奎, A·V·格里格罗维齐, W·C·鲍威尔, J·R·麦克坤 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1