专利名称:基于声明的内容名誉服务的制作方法
基于声明的内容名誉服务
背景技术:
为了确保数字数据遵从商业、安全以及其他策略,近些年的趋势是使这些数据满足不断增长的预访问评估过程的数目。这些过程的示例包括健康扫描、过滤、分类以及数据分析。计算上极其密集的操作可包括,例如病毒/间谍软件扫描、垃圾邮件检测、关键词检测、恶意/不正当/禁止的URL检测、预防数据泄露、数据分类,等等。需要对内容进行的扫描/分类技术的数量已经随着时间持续增长。此外,需要扫描的典型内容的大小持续上升,并且没有显示出趋于平稳的迹象。这两个趋势都造成了需要用来执行扫描/分类的计算机资源(CPU、存储器、网络带宽,等等)的量的持续增长。数据在计算机网络中或者跨计算机网络移动时通常需要被各安全和合规性产品重复地重新分析、重新扫描和/或重新分类的事实造成该问题的进ー步恶化。这些产品通常被安装在台式机、笔记本、不同的服务器(例如邮件、文件、协作等)、以及云中的服务。随着数据经过每ー个这些路线点,通常会一次又一次地执行相同的计算密集的操作。这导致系统性能和呑吐量的降低,并且需要安装额外的硬件、软件,等等。在服务的情况下,额外的开销将对服务的收益造成直接的影响。
发明内容
在本发明的一些实施例中,系统可包括数据库以及一个或多个服务器。例如,数据库可存储用于先前评估的数据项的多个内容声明,所述多个内容声明中的每ー个都在数据库中与对应存储的先前评估的数据项的数字指纹相关联。例如,服务器可被配置为从另一网络节点上的客户机设备处接收所确定的数据项的数字指纹,将所确定的数字指纹用作主关键字以向数据库提交查询,以及传输由查询返回至客户机设备的ー个或多个内容声明。在一些实施例中,服务器还可被配置为从另一网络节点上的ー个或多个计算机处接收内容声明以及与其相关联的数字指紋,以及使得接收到的内容声明以及与其相关联的数字指纹被存储在数据库中。在一些实施例中,客户机设备可包括一个或多个计算机,所述计算机被配置为用散列函数处理数据项以确定该数据项的指纹,将包括所确定的该数据项的数字指纹的第一消息发送给服务器,从服务器接收包括由查询返回的内容声明的第二消息,以及基于第二消息中包括的内容声明来对如何进ー步处理该数据项做出决策。在一些实施例中,用于标识数据项的ー个或多个内容声明的方法包括将该数据项的数字指纹与存储的与内容声明相关联的数字指纹比较。如果所确定的数字指纹与存储的数字指纹匹配,则确定ー个或多个内容声明与所确定的该数据项的数字指纹相关联。在一些实施例中,用指令来编码ー个或多个计算机可读存储介质,该指令在由第一网络节点的一个或多个处理器执行时,使得处理器执行用于标识数据项的ー个或多个内容声明的方法,该方法包括以下步骤(a)将所确定的该数据项的数字指纹和与存储的该内容声明相关联的数字指纹比较,以及(b)如果所确定的数字指纹与存储的数字指纹匹配,则确定ー个或多个内容声明与所确定的该数据项的数字指纹相关联。
在一些实施例中,可从另ー网络节点处的ー个或多个计算机接收内容声明以及与其相关联的数字指紋,并且可持久地存储所接收的内容声明以及与其相关联的数字指紋。在一些实施例中,可从另ー网络节点处的ー个或多个计算机接收所确定的数字指纹,并且被确定为与所确定的该数据项的数字指纹相关联的内容声明可被传输到其他网络 节点处的一个或多个计算机。在一些实施例中,可从另ー网络节点处的ー个或多个计算机接收同时包括存储的数字指纹和内容声明的内容证书。除了前面的说明性实施例之外,或者替代前面的说明性实施例,本发明的若干实施例可另外地或另选择呈现或实现ー个或多个下列特性、特征和/或功能·内容健康、过滤、分类和其他内容分析过程的结果可被表示为ー组内容声明。 指纹可用作用于将内容声明与经处理的数据相关联的非侵入的和可靠的机制。·内容名誉服务可接受、聚集以及存储由參与的信任实体提交的内容声明。·可向内容名誉服务查询与特定的某一数据相关联的声明。·当发布这些声明时使用的配置和/或安全策略改变时,可以使现有的内容声明无效。·当预定的时间段过去之后,可以使时间敏感的声明无效并且将其从名誉服务数据库中移除。·内容名誉服务可独立于被保护的数据格式。例如,在计算指纹时,数据可被简单地当做字节流,而不是具体格式的数据,从而系统不需要对数据格式的认知。·内容名誉服务可独立于用于传输数据的传输协议。·内容名誉服务可独立于数据存储的存储类型。 可使用不同的网络协议与内容名誉服务通信(为了提交和请求声明的目的)。 使用内容名誉服务可确保为文件(或其他数字内容)创建的声明与相同文件的所有其他副本相关联。 输出内容声明集以及将其串行化至安全和认证的“内容证书”中可使其被传输到因为某些原因不能直接与名誉服务通信(或者完全不知道它)的感兴趣的实体。例如,系统可利用基于已知和被接受的标准的技术来格式化和保护这ー内容证书。例如,客户机应用能够将内容证书与关于其发布的数据相关联并且读取与这些数据有关的ー个或多个声明。
附图不g在按比例绘制。在附图中,各个附图形中示出的每ー相同或近乎完全相同的组件由同样的附图标记来表示。出于简明的目的,不是每个组件在每张附图中均被标号。在附图中图I是示出其中各客户机可访问内容名誉服务的网络的说明性示例的示图;图2示出客户机可执行以向内容名誉服务提交一个或多个声明的例程的说明性示例;图3示出客户机可执行以获取由内容名誉服务维护的ー个或多个现有声明的例程的说明性示例;图4是对包括用于图像的实际声明数据的声明集的概念表示;
图5示出可由内容名誉服务的服务器执行以处理客户机提交声明的请求的例程的说明性示例;
图6示出可由内容名誉服务的服务器执行以处理客户机检索和返回内容声明的请求的例程的说明性示例;以及图7示出图4所示的声明集如何在被输出为内容证书时出现的说明性示例。
具体实施例方式我们意识到由于在ー个计算机上运行的应用或服务不能利用由其他应用(在相同计算机或ー个或多个不同计算机上运行)在相同内容上产生的結果,因此会发生由现有系统执行的冗余扫描。反病毒应用是ー个好例子。在现有系统中,在组织中移动的文件(以及可能是其相同的副本)通常需要像其在不同的计算机和服务器(电子邮件、文件、协作,等等)之间移动一祥被重复地扫描。我们还意识到,例如通过提供与相同应用或服务的所有实例以及可以利用这些结果的其他感兴趣的实体共享以前的扫描和分类结果的安全方法,可避免这样的重复扫描和分类。在本发明的一些实施例中,以将声明与生成该声明所针对的数据相关联的方式,针对数字内容的扫描、分类或任何其他操作的结果可作为ー组内容声明被保存在可被感兴趣的实体访问的集中式储存库中。例如,在一些实施例中,这可通过使用可通过网络访问的集中式内容名誉服务来实现。这ー机制可允许完全或者至少部分地避免未来对未修改的(或复制的)的重新扫描和/或重新分类。在一些实施例中,可将结果(声明集)与和声明有关的数据分开存储,并且该过程不需要对数据本身的任何修改。这一方案可因而确保任何已发布的声明的完整性和真实性。在一些实施例中,在基于内容的分析/检查/扫描期间执行的基于各种类型内容的健康和/或过滤技术的结果可用作ー组内容声明。例如,信任的服务和应用可将它们的操作结果提交给内容名誉服务以用于和可用作稍后访问这些结果的标识符一起存储。例如,在一些实施例中,经评估的内容的数字指纹可用作这ー标识符。任何參与的实体随后可通过计算主题数据的数字指纹(或以其它方式确定标识符)并且将其作为请求的一部分发送给内容名誉服务来请求给定的数字内容的现有声明。内容名誉服务随后可向请求者返回与该数据相关联的声明(如果存在)。例如,内容名誉服务可在把标识符用作关键词的关系数据库中存储声明。这ー技术可因而允许在将来为了各种目的而重复使用内容声明。一个此类目的可以是当数据经过网络上的计算机而没有改变时避免对数据的重复分析/检查/扫描。另ー个此类目的可以是使数据的客户能够使用内容声明集来做出可验证的信任决策。另ー个目的可以是减少用于跨网络的健康、过滤、分类和其他内容检查的计算机资源的消耗。此外,在一些实施例中,驻留在内容名誉服务的数据库中的对内容声明的分析可提供与数据使用、数据的地理位置迁移、感染的源头等有关的可行的统计信息。图I示出其中内容名誉服务102可通过网络104访问的系统100的说明性实施例。如图I所示,内容名誉服务102可例如包括一个或多个服务器106 (或者其他计算设备),这些服务器具有足够的计算能力来处理来自系统100中的需要访问服务102的所有其他设备的请求。取决于内容名誉服务102部署在其中的系统100的操作需求和規模,内容名誉服务102的计算设备可采用众多形式中的任何ー种,并且本发明不需要使用任何特定类型或配置的计算设备。对于大規模实现,可例如采用传统的缩放和/或负载平衡技术在服务102内部署的各服务器和/或其他计算资源之间分发对请求的处理。数据库108可采用众多形式和配置中的任ー种,并且本发明不限于使用任何特定类型的数据库。例如,在一些实施例中,数据库108可以是存储和访问与使用关键词的特定数字内容相关联的ー个或多个内容声明的关系数据库。在一些实施例中,这些关键词可例如包括数字内容的数字指纹,服务为该数字内容维护ー个或多个内容声明。取决于性能和数据库大小的考虑,可使用各种表格和外部关键词以提闻性能。例如,在一些实施例中,表格可将指纹映射到内部的身份关键词,并且每个这种内部身份关键词可用于访问与其相关联的ー个或多个内容声明。但是,应当明白在其他实施例中,数据库108可包括能够将标识符(例如,指紋)与对应的存储的内容声明相关联的任何其他数据库架构或存储机制。在一些实施例中,甚至可在例如硬盘驱动器或RAM的地址索弓I的存储设备中存储内容声明,并且表格可用来将指纹(或其他标识符)映射到对应的内容声明的存储器地址。如此处所使用的,术语“数据库” g在包括所有这些存储架构。网络104可以是众多网络、或网络组中的任ー个,并且本发明不限于使用任何特定类型的配置的网络。例如,包括104可包括诸如在公司环境内使用的局域网和/或诸如因特网之类的广域网。可在各实施例中使用任何网络架构和/或通信协议。但是合适的网络和协议的ー些示例包括以太网、令牌环、TCP/IP、HTTP、SOAP、REST、RPC、XML-PRC,等等。如图I所示,除了内容名誉服务102自己之外,系统100可另外地包括能够通过网络104与服务102通信的各种客户机。示出了可能是服务的客户机的计算设备的若干示例(例如,由于这些客户机能够向服务102提交内容声明和/或能够访问由服务维护的内容声明)。但是,应当明白可使用那些示出的设备类型之外或者替代它们的设备类型,并且本发明不g在限于使用任何特定类型的设备。在图I的示例中,示出的客户机包括膝上型计算机110、打印机/传真机/扫描仪112、服务器114、台式计算机116、以及手持式计算设备(例如,PDA、智能电话,等等)118。如此处所使用的,“网络节点”指的是在网络上具有或共享唯一的地址或地址组件的设备或设备组。在一些情况下,给定的网络节点可包括一个或多个子节点。在这ー情况下,网络地址的ー个组件可唯一标识网络上的节点,并且该地址的另一组件可唯一标识每个子节点。在图I的示例中,内容名誉服务102、膝上型计算机110、打印机/传真机/扫描仪112、服务器114、台式计算机116、以及手持式计算设备118中的每ー个都位于网络104的不同节点。例如,在一些实施例中,内容名誉服务102可接受、聚集、存储、以及在请求时提供与数字内容(文件或任何其他类型的数据)有关的声明。此外,在一些实施例中,可采取步骤以确保只有受信任的实体被允许向服务102提交声明。在这些实施例中,由未知或不信任的客户机提交的声明将不被接受。在一些实施例中,对哪些用户被允许查找现有声明没有限制。如以上所述,在一些实施例中,声明可通过数字指纹与数据相关联。可用众多方式中的任何ー种来完成对数字指纹的计算,并且本发明不限于任何特定的指纹技术。例如,在一些实施例中,可使用加密的散列函数来计算指纹这ー实现可为生成的指纹提供好的统ー性,并且取决于所使用的散列函数,可显著地最小化碰撞(意外的或有意的)的概率。由于加密的散列是单向函数,由散列值推断出原始的内容(或者甚至其特性)是不可能的。合适的散列函数的示例有SHA1、SHA-256和SHA-512。但是,应当明白,可在某些实施例中另外地或另选地使用其他指纹技术。例如,对于数据安全不是问题的应用,可另外地或另选地使用非加密的散列函数。通常可用最小的计算代价来可靠地确定数字指紋,并且相同的数据段将总是产生相同的数字指紋。因此,在使用数字指纹作为声明标识符的实施例中,对数据的任何修改都将产生不同的指纹并且将自动地打破所有现有声明与该文件修改的副本之间的关联。图2和图3示出客户机在与内容名誉服务102交互时可以如何使用指纹的示例。具体地,图2示出客户机(例如图I所示的计算设备110、112、114、116和118中的ー个)可执行以向内容名誉服务102提交一个或多个声明的例程的说明性示例,而图3示出客户机可执行以获取由服务102维护的ー个或多个现有声明的例程的示例。例如,所示例程可使用存储在计算机可读介质中的指令来实现,该计算机可读介质可由客户机机器的处理器访问和执行。如图2所示,在处理数据之后(例如,执行病毒或恶意软件扫描、分类数据,等等)(步骤202),客户机可创建表达被执行的处理的结果的ー个或多个声明(步骤204)。在创建ー个或多个声明之后,客户机可计算该数据的指纹(步骤206),然后例如通过网络104向服务102发送消息,将所述ー个或多个声明与计算的数据指纹一起提交给内容名誉服务102(步骤208)。如以下进ー步描述的,在一些实施例中,这ー消息可包括由受信任的认证机构签署的客户机端的数字证书,以标识出用于创建ー个或多个声明的产品。例如,这ー技术可帮助防止有意危害数据库108的可能的攻击。如图3所示,在提交资源以评估具体数据的内容(例如,通过执行病毒或恶意软件扫描、分类数据,等等)之前,客户机可计算该数据的指纹(步骤302),并且向内容名誉服务102提交指纹以作为对现有声明的一部分请求(步骤304)。如果名誉服务102标识出与所提交的指纹相关联的任何声明,则可检索和返回那些声明给客户机(步骤306)。然后客户机可对是否和/或如何基于任何返回的声明中所包含的信息来评估数据做出进ー步的决策(308)。在一些实施例中,由内容名誉服务102接收的消息可携帯有效的、可验证的证书,从而允许客户机确认他们正在与受信任的源通信。此外,在一些实施例中,还可数字地签署返回的声明从而进一步提高系统的安全和可靠性。在一些实施例中,无限数量的内容声明可与给定的数据相关联。尽管这些声明可由不同的受信任的发布者创建,但是当它们被发布至相同的数据段(相同的数据段产生相同的指纹值)时,它们都可被数据指纹组合。在某些实现中,当客户机向内容名誉服务102提出返回关于数字内容的声明的请求时,客户机可请求所有现有的声明,或者通过指定其感兴趣的声明的类型(例如,发布者、声明发布的时间、内容断言,等等)来縮小返回的组的范围。如以上所述,在一些实现中,任何对数据的修改将导致不同的计算的指紋。因此,任何对文件的修改将自动地使该文件与所有先前发布的声明分离。表I (下表)示出单个内容声明中可包含的性质/属性的说明性示例。
权利要求
1.一种用于标识数据项的内容声明的方法,包括下列步骤 (a)用位于第一网络节点的至少ー个计算机,将所确定的数据项的数字指纹和与至少ー个内容声明相关联的存储的数字指纹比较;以及 (b)如果确定的数字指纹与存储的数字指纹匹配,则用位于所述第一网络节点的至少一个计算机,确定该至少ー个内容声明与为所确定的数据项的数字指纹相关联。
2.如权利要求I所述的方法,其特征在于,还包括下列步骤 (C)在执行步骤(a)和(b)之前,用所述位于第一网络节点的至少ー个计算机,从位于第二网络节点的至少ー个计算机处接收至少ー个内容声明以及与其相关联的数字指紋;以及 (d)在执行步骤(a)和(b)之前,在位于第一网络节点的至少ー个计算机可访问的存储器中持久地存储接收到的内容声明以及与其相关联的数字指紋。
3.如权利要求2所述的方法,其特征在于,还包括下列步骤 (e)在执行步骤(d)之前,用位于第一网络节点的至少ー个计算机,验证接收到的内容声明由受信任的源生成。
4.如权利要求1-3中的任一项所述的方法,其特征在于,还包括下列步骤 在执行步骤(a)和(b)之前,用位于第一网络节点的至少ー个计算机,从位于第二网络节点的至少ー个计算机处接收所确定的数字指纹;以及 在执行步骤(a)和(b)之后,用位于第一网络节点的至少ー个计算机,将被确定为与所确定的数据项的数字指纹相关联的至少ー个内容声明传输至位于第二网络节点的至少ー个计算机。
5.如权利要求1-4中的任一项所述的方法,其特征在于,还包括下列步骤 用位于第二网络节点的至少ー个计算机,向位于第一网络节点的至少ー个计算机发送第一消息,所述第一消息包括所确定的数据项的数字指紋;以及 在执行步骤(a)之后,用位于第二网络节点的至少ー个计算机,从位于第一网络节点的至少ー个计算机处接收第二消息,所述第二消息包括被位于第一网络节点的至少ー个计算机标识为与所确定的数字指纹相关联的至少ー个内容声明。
6.如权利要求5所述的方法,其特征在于,还包括下列步骤 在发送第一消息以及接收第二消息之前,用位于第二网络节点的至少ー个计算机或者用位于第三网络节点的至少ー个计算机,向位于第一网络节点的至少ー个计算机发送第三消息,所述第三消息包括所确定的数据项的指纹以及与其相关联的至少ー个内容声明;以及 在执行步骤(a)和(b)之前,在位于第一网络节点的至少ー个计算机可访问的存储器中持久地存储第三消息中所包括的数字指纹以及至少ー个内容声明。
7.如权利要求6所述的方法,其特征在于,还包括下列步骤 在发送第三消息之前,用位于第二网络节点的至少ー个计算机或者用位于第三网络节点的至少ー个计算机,评估所述数据项以产生至少ー个内容声明。
8.如权利要求5-7中的任一项所述的方法,其特征在于,还包括下列步骤 在发送第一消息之前,用位于第二网络节点的至少ー个计算机,用加密的散列函数处理所述数据项以确定所述数据项的指紋。
9.如权利要求5-8中的任一项所述的方法,其特征在于,还包括下列步骤 在接收到第二消息之后,用位于第二网络节点的至少ー个计算机,对如何基于第二消息中所包括的至少ー个内容声明来进ー步处理数据做出决策。
10.如权利要求I所述的方法,其特征在于,还包括下列步骤 (C)在执行步骤(a)和(b)之前,用位于第一网络节点的至少ー个计算机,从位于第二网络节点的至少ー个计算机处接收同时包括存储的数字指纹以及至少ー个内容声明的内容证书。
11.如权利要求ι- ο中的任一项所述的方法,其特征在于所述至少ー个内容声明包括病毒或恶意软件扫描的至少ー个結果。
12.用指令编码的至少ー种计算机可读存储介质,所述指令在由ー个或多个处理器执行时可使处理器执行权利要求1-11中的任一项所述的方法。
13.—种系统,包括 存储用于先前评估的数据项的多个内容声明的数据库,所述多个内容声明中的每ー个都在数据库中与对应存储的先前评估的数据项的数字指纹相关联;以及 至少ー个服务器,其被配置为从位于另ー网络节点的客户机设备处接收所确定的数据项的数字指纹,将所确定的数字指纹用作主关键字向数据库提交查询,以及将查询返回的至少ー个内容声明传输至客户机设备。
14.如权利要求13所述的系统,其特征在于,所述至少一个服务器还被配置为从位于另ー网络节点的至少ー个计算机处接收至少ー个内容声明以及与其相关联的数字指纹,并且使该至少ー个接收到的内容声明以及与其相关联的数字指纹被存储在数据库中。
15.如权利要求13或14所述的系统,其特征在于,所述客户机设备包括至少ー个计算机,所述计算机被配置为用散列函数处理所述数据项以确定所述数据项的指纹,将包括所确定的数据项的数字指纹的第一消息发送给至少ー个服务器,从该至少ー个服务器处接收包括由查询返回的至少ー个内容声明的第二消息,以及基于第二消息中所包括的至少ー个内容声明来对如何进ー步处理该数据项做出决策。
全文摘要
在一些实施例中,数据库可存储用于先前评估的数据项的多个内容声明,所述多个内容声明中的每一个都在数据库中与对应存储的先前评估的数据项的数字指纹相关联。一个或多个服务器可被配置为从另一网络节点的客户机设备处接收所确定的数据项的数字指纹,将所确定的数字指纹用作主关键词以向数据库提交查询,并且传输由查询返回至客户机设备的一个或多个内容声明。在一些实施例中,服务器还可被配置为从另一网络节点上的一个或多个计算机处接收内容声明以及与其相关联的数字指纹,以及使得接收到的内容声明以及与其相关联的数字指纹被存储在数据库中。
文档编号G06F17/30GK102918533SQ201180027177
公开日2013年2月6日 申请日期2011年5月17日 优先权日2010年6月1日
发明者R·比索, V·伊斯梅洛夫, L·刘, R·萨科内, M·贝赫 申请人:微软公司