首页> 中国专利> 基于声明的内容名誉服务

基于声明的内容名誉服务

摘要

在一些实施例中,数据库可存储用于先前评估的数据项的多个内容声明,所述多个内容声明中的每一个都在数据库中与对应存储的先前评估的数据项的数字指纹相关联。一个或多个服务器可被配置为从另一网络节点的客户机设备处接收所确定的数据项的数字指纹,将所确定的数字指纹用作主关键词以向数据库提交查询,并且传输由查询返回至客户机设备的一个或多个内容声明。在一些实施例中,服务器还可被配置为从另一网络节点上的一个或多个计算机处接收内容声明以及与其相关联的数字指纹,以及使得接收到的内容声明以及与其相关联的数字指纹被存储在数据库中。

著录项

  • 公开/公告号CN102918533A

    专利类型发明专利

  • 公开/公告日2013-02-06

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201180027177.5

  • 申请日2011-05-17

  • 分类号G06F17/30;G06F17/00;G06F15/16;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人蔡悦

  • 地址 美国华盛顿州

  • 入库时间 2024-02-19 17:52:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-03

    授权

    授权

  • 2015-08-12

    专利申请权的转移 IPC(主分类):G06F17/30 变更前: 变更后: 登记生效日:20150724 申请日:20110517

    专利申请权、专利权的转移

  • 2013-03-20

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20110517

    实质审查的生效

  • 2013-02-06

    公开

    公开

说明书

背景技术

为了确保数字数据遵从商业、安全以及其他策略,近些年的趋势是使这些 数据满足不断增长的预访问评估过程的数目。这些过程的示例包括健康扫描、 过滤、分类以及数据分析。计算上极其密集的操作可包括,例如病毒/间谍软件 扫描、垃圾邮件检测、关键词检测、恶意/不正当/禁止的URL检测、预防数据 泄露、数据分类,等等。

需要对内容进行的扫描/分类技术的数量已经随着时间持续增长。此外,需 要扫描的典型内容的大小持续上升,并且没有显示出趋于平稳的迹象。这两个 趋势都造成了需要用来执行扫描/分类的计算机资源(CPU、存储器、网络带宽, 等等)的量的持续增长。

数据在计算机网络中或者跨计算机网络移动时通常需要被各安全和合规性 产品重复地重新分析、重新扫描和/或重新分类的事实造成该问题的进一步恶 化。这些产品通常被安装在台式机、笔记本、不同的服务器(例如邮件、文件、 协作等)、以及云中的服务。随着数据经过每一个这些路线点,通常会一次又 一次地执行相同的计算密集的操作。这导致系统性能和吞吐量的降低,并且需 要安装额外的硬件、软件,等等。在服务的情况下,额外的开销将对服务的收 益造成直接的影响。

发明内容

在本发明的一些实施例中,系统可包括数据库以及一个或多个服务器。例 如,数据库可存储用于先前评估的数据项的多个内容声明,所述多个内容声明 中的每一个都在数据库中与对应存储的先前评估的数据项的数字指纹相关联。 例如,服务器可被配置为从另一网络节点上的客户机设备处接收所确定的数据 项的数字指纹,将所确定的数字指纹用作主关键字以向数据库提交查询,以及 传输由查询返回至客户机设备的一个或多个内容声明。

在一些实施例中,服务器还可被配置为从另一网络节点上的一个或多个计 算机处接收内容声明以及与其相关联的数字指纹,以及使得接收到的内容声明 以及与其相关联的数字指纹被存储在数据库中。

在一些实施例中,客户机设备可包括一个或多个计算机,所述计算机被配 置为用散列函数处理数据项以确定该数据项的指纹,将包括所确定的该数据项 的数字指纹的第一消息发送给服务器,从服务器接收包括由查询返回的内容声 明的第二消息,以及基于第二消息中包括的内容声明来对如何进一步处理该数 据项做出决策。

在一些实施例中,用于标识数据项的一个或多个内容声明的方法包括将该 数据项的数字指纹与存储的与内容声明相关联的数字指纹比较。如果所确定的 数字指纹与存储的数字指纹匹配,则确定一个或多个内容声明与所确定的该数 据项的数字指纹相关联。

在一些实施例中,用指令来编码一个或多个计算机可读存储介质,该指令 在由第一网络节点的一个或多个处理器执行时,使得处理器执行用于标识数据 项的一个或多个内容声明的方法,该方法包括以下步骤:(a)将所确定的该 数据项的数字指纹和与存储的该内容声明相关联的数字指纹比较,以及(b) 如果所确定的数字指纹与存储的数字指纹匹配,则确定一个或多个内容声明与 所确定的该数据项的数字指纹相关联。

在一些实施例中,可从另一网络节点处的一个或多个计算机接收内容声明 以及与其相关联的数字指纹,并且可持久地存储所接收的内容声明以及与其相 关联的数字指纹。

在一些实施例中,可从另一网络节点处的一个或多个计算机接收所确定的 数字指纹,并且被确定为与所确定的该数据项的数字指纹相关联的内容声明可 被传输到其他网络节点处的一个或多个计算机。

在一些实施例中,可从另一网络节点处的一个或多个计算机接收同时包括 存储的数字指纹和内容声明的内容证书。

除了前面的说明性实施例之外,或者替代前面的说明性实施例,本发明的 若干实施例可另外地或另选择呈现或实现一个或多个下列特性、特征和/或功 能:

·内容健康、过滤、分类和其他内容分析过程的结果可被表示为一组内容声 明。

·指纹可用作用于将内容声明与经处理的数据相关联的非侵入的和可靠的 机制。

·内容名誉服务可接受、聚集以及存储由参与的信任实体提交的内容声明。

·可向内容名誉服务查询与特定的某一数据相关联的声明。

·当发布这些声明时使用的配置和/或安全策略改变时,可以使现有的内容 声明无效。

·当预定的时间段过去之后,可以使时间敏感的声明无效并且将其从名誉服 务数据库中移除。

·内容名誉服务可独立于被保护的数据格式。例如,在计算指纹时,数据可 被简单地当做字节流,而不是具体格式的数据,从而系统不需要对数据格 式的认知。

·内容名誉服务可独立于用于传输数据的传输协议。

·内容名誉服务可独立于数据存储的存储类型。

·可使用不同的网络协议与内容名誉服务通信(为了提交和请求声明的目 的)。

·使用内容名誉服务可确保为文件(或其他数字内容)创建的声明与相同文 件的所有其他副本相关联。

·输出内容声明集以及将其串行化至安全和认证的“内容证书”中可使其被 传输到因为某些原因不能直接与名誉服务通信(或者完全不知道它)的感 兴趣的实体。例如,系统可利用基于已知和被接受的标准的技术来格式化 和保护这一内容证书。例如,客户机应用能够将内容证书与关于其发布的 数据相关联并且读取与这些数据有关的一个或多个声明。

附图说明

附图不旨在按比例绘制。在附图中,各个附图形中示出的每一相同或近乎 完全相同的组件由同样的附图标记来表示。出于简明的目的,不是每个组件在 每张附图中均被标号。在附图中:

图1是示出其中各客户机可访问内容名誉服务的网络的说明性示例的示 图;

图2示出客户机可执行以向内容名誉服务提交一个或多个声明的例程的说 明性示例;

图3示出客户机可执行以获取由内容名誉服务维护的一个或多个现有声明 的例程的说明性示例;

图4是对包括用于图像的实际声明数据的声明集的概念表示;

图5示出可由内容名誉服务的服务器执行以处理客户机提交声明的请求的 例程的说明性示例;

图6示出可由内容名誉服务的服务器执行以处理客户机检索和返回内容声 明的请求的例程的说明性示例;以及

图7示出图4所示的声明集如何在被输出为内容证书时出现的说明性示例。

具体实施方式

我们意识到由于在一个计算机上运行的应用或服务不能利用由其他应用 (在相同计算机或一个或多个不同计算机上运行)在相同内容上产生的结果, 因此会发生由现有系统执行的冗余扫描。反病毒应用是一个好例子。在现有系 统中,在组织中移动的文件(以及可能是其相同的副本)通常需要像其在不同 的计算机和服务器(电子邮件、文件、协作,等等)之间移动一样被重复地扫 描。我们还意识到,例如通过提供与相同应用或服务的所有实例以及可以利用 这些结果的其他感兴趣的实体共享以前的扫描和分类结果的安全方法,可避免 这样的重复扫描和分类。

在本发明的一些实施例中,以将声明与生成该声明所针对的数据相关联的 方式,针对数字内容的扫描、分类或任何其他操作的结果可作为一组内容声明 被保存在可被感兴趣的实体访问的集中式储存库中。例如,在一些实施例中, 这可通过使用可通过网络访问的集中式内容名誉服务来实现。这一机制可允许 完全或者至少部分地避免未来对未修改的(或复制的)的重新扫描和/或重新分 类。在一些实施例中,可将结果(声明集)与和声明有关的数据分开存储,并 且该过程不需要对数据本身的任何修改。这一方案可因而确保任何已发布的声 明的完整性和真实性。

在一些实施例中,在基于内容的分析/检查/扫描期间执行的基于各种类型内 容的健康和/或过滤技术的结果可用作一组内容声明。例如,信任的服务和应用 可将它们的操作结果提交给内容名誉服务以用于和可用作稍后访问这些结果 的标识符一起存储。例如,在一些实施例中,经评估的内容的数字指纹可用作 这一标识符。任何参与的实体随后可通过计算主题数据的数字指纹(或以其它 方式确定标识符)并且将其作为请求的一部分发送给内容名誉服务来请求给定 的数字内容的现有声明。内容名誉服务随后可向请求者返回与该数据相关联的 声明(如果存在)。例如,内容名誉服务可在把标识符用作关键词的关系数据 库中存储声明。

这一技术可因而允许在将来为了各种目的而重复使用内容声明。一个此类 目的可以是当数据经过网络上的计算机而没有改变时避免对数据的重复分析/ 检查/扫描。另一个此类目的可以是使数据的客户能够使用内容声明集来做出可 验证的信任决策。另一个目的可以是减少用于跨网络的健康、过滤、分类和其 他内容检查的计算机资源的消耗。此外,在一些实施例中,驻留在内容名誉服 务的数据库中的对内容声明的分析可提供与数据使用、数据的地理位置迁移、 感染的源头等有关的可行的统计信息。

图1示出其中内容名誉服务102可通过网络104访问的系统100的说明性 实施例。如图1所示,内容名誉服务102可例如包括一个或多个服务器106(或 者其他计算设备),这些服务器具有足够的计算能力来处理来自系统100中的 需要访问服务102的所有其他设备的请求。取决于内容名誉服务102部署在其 中的系统100的操作需求和规模,内容名誉服务102的计算设备可采用众多形 式中的任何一种,并且本发明不需要使用任何特定类型或配置的计算设备。对 于大规模实现,可例如采用传统的缩放和/或负载平衡技术在服务102内部署的 各服务器和/或其他计算资源之间分发对请求的处理。

数据库108可采用众多形式和配置中的任一种,并且本发明不限于使用任 何特定类型的数据库。例如,在一些实施例中,数据库108可以是存储和访问 与使用关键词的特定数字内容相关联的一个或多个内容声明的关系数据库。在 一些实施例中,这些关键词可例如包括数字内容的数字指纹,服务为该数字内 容维护一个或多个内容声明。取决于性能和数据库大小的考虑,可使用各种表 格和外部关键词以提高性能。例如,在一些实施例中,表格可将指纹映射到内 部的身份关键词,并且每个这种内部身份关键词可用于访问与其相关联的一个 或多个内容声明。但是,应当明白在其他实施例中,数据库108可包括能够将 标识符(例如,指纹)与对应的存储的内容声明相关联的任何其他数据库架构 或存储机制。在一些实施例中,甚至可在例如硬盘驱动器或RAM的地址索引 的存储设备中存储内容声明,并且表格可用来将指纹(或其他标识符)映射到 对应的内容声明的存储器地址。如此处所使用的,术语“数据库”旨在包括所有 这些存储架构。

网络104可以是众多网络、或网络组中的任一个,并且本发明不限于使用 任何特定类型的配置的网络。例如,包括104可包括诸如在公司环境内使用的 局域网和/或诸如因特网之类的广域网。可在各实施例中使用任何网络架构和/ 或通信协议。但是合适的网络和协议的一些示例包括以太网、令牌环、TCP/IP、 HTTP、SOAP、REST、RPC、XML-PRC,等等。

如图1所示,除了内容名誉服务102自己之外,系统100可另外地包括能 够通过网络104与服务102通信的各种客户机。示出了可能是服务的客户机的 计算设备的若干示例(例如,由于这些客户机能够向服务102提交内容声明和 /或能够访问由服务维护的内容声明)。但是,应当明白可使用那些示出的设备 类型之外或者替代它们的设备类型,并且本发明不旨在限于使用任何特定类型 的设备。在图1的示例中,示出的客户机包括膝上型计算机110、打印机/传真 机/扫描仪112、服务器114、台式计算机116、以及手持式计算设备(例如, PDA、智能电话,等等)118。

如此处所使用的,“网络节点”指的是在网络上具有或共享唯一的地址或地 址组件的设备或设备组。在一些情况下,给定的网络节点可包括一个或多个子 节点。在这一情况下,网络地址的一个组件可唯一标识网络上的节点,并且该 地址的另一组件可唯一标识每个子节点。在图1的示例中,内容名誉服务102、 膝上型计算机110、打印机/传真机/扫描仪112、服务器114、台式计算机116、 以及手持式计算设备118中的每一个都位于网络104的不同节点。

例如,在一些实施例中,内容名誉服务102可接受、聚集、存储、以及在 请求时提供与数字内容(文件或任何其他类型的数据)有关的声明。此外,在 一些实施例中,可采取步骤以确保只有受信任的实体被允许向服务102提交声 明。在这些实施例中,由未知或不信任的客户机提交的声明将不被接受。在一 些实施例中,对哪些用户被允许查找现有声明没有限制。

如以上所述,在一些实施例中,声明可通过数字指纹与数据相关联。可用 众多方式中的任何一种来完成对数字指纹的计算,并且本发明不限于任何特定 的指纹技术。例如,在一些实施例中,可使用加密的散列函数来计算指纹这一 实现可为生成的指纹提供好的统一性,并且取决于所使用的散列函数,可显著 地最小化碰撞(意外的或有意的)的概率。由于加密的散列是单向函数,由散 列值推断出原始的内容(或者甚至其特性)是不可能的。合适的散列函数的示 例有SHA1、SHA-256和SHA-512。但是,应当明白,可在某些实施例中另外 地或另选地使用其他指纹技术。例如,对于数据安全不是问题的应用,可另外 地或另选地使用非加密的散列函数。

通常可用最小的计算代价来可靠地确定数字指纹,并且相同的数据段将总 是产生相同的数字指纹。因此,在使用数字指纹作为声明标识符的实施例中, 对数据的任何修改都将产生不同的指纹并且将自动地打破所有现有声明与该 文件修改的副本之间的关联。

图2和图3示出客户机在与内容名誉服务102交互时可以如何使用指纹的 示例。具体地,图2示出客户机(例如图1所示的计算设备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提出返回关于数字内容的声 明的请求时,客户机可请求所有现有的声明,或者通过指定其感兴趣的声明的 类型(例如,发布者、声明发布的时间、内容断言,等等)来缩小返回的组的 范围。

如以上所述,在一些实现中,任何对数据的修改将导致不同的计算的指纹。 因此,任何对文件的修改将自动地使该文件与所有先前发布的声明分离。

表1(下表)示出单个内容声明中可包含的性质/属性的说明性示例。

表1

如以上所指出的,在一些实施例中,由不同实体发布的多个声明可存在于 内容名誉服务102的数据库108中。当被请求时,这些声明可作为“声明集”被 返回。

表2(下表)示出如何安排这一声明集的格式的说明性示例。

  声明集   指纹算法   指纹值   声明1   声明2   声明…   声明N

表2

图4是对包括实际声明数据(在这一例子中,用于图像)的声明集的概念 表示。

在一些实施例中,取决于用来与内容名誉服务102通信的协议,可用不同 的格式返回不同的声明集。例如,客户机可使用SOAP消息(web服务)或者 支持基于连接或分组/消息的安全的其他网络协议(例如,REST、HTTP、RPC、 XML-PRC等)以与服务通信。在一些实施例中,服务的实现还可支持多个绑 定和/或能够在同一时间使用不同的协议通信。内容名誉服务可被安装在屋内、 云中,或两者。

如以上所述,在一些实施例中,为了防止数据库中毒以及遭到其他类型的 攻击,仅允许受信任的应用提交内容声明。例如,出于此目的,受信任的机制 可使用广泛使用的工业标准,诸如WS-信任以及服务器和客户机端证书等。

在一些实施例中,不管用来与内容名誉服务102通信的协议如何,所有内 容声明可与用作主关键词的指纹一起被存储在集中式的关系数据库108中。

图5和图6示出内容名誉服务102如何可以处理从客户机处接收的提交和 检索内容声明的请求。具体地,图5示出内容名誉服务102的一个或多个服务 器106可与数据库108一起执行以处理提交一个或多个声明的客户机请求的例 程的说明性示例,而图6示出这些服务器可与数据库一起执行以处理检索和返 回一个或多个内容声明的客户机请求的例程的示例。例如,可使用在一种或多 种计算机可读介质中存储的指令来实现所示的例程,该计算机可读介质可由一 个或多个服务器106的处理器和/或数据库108的控制器访问和执行。

如图5所示,在接收到提交一个或多个声明给服务102的客户机请求后(步 骤502),如果相同的声明(例如,相同的声明类型和断言)还不在数据库108 中(见步骤503),则服务器106可对接收到的声明格式化并且使用接收到的 作为用于查询数据库条目的主关键词的指纹来将声明写入数据库108(步骤 504)。如以上所述,在一些实施例中,服务器106可拒绝接受不是由受信任 的证书机构签名或者无法标识用于创建声明的产品的任何新声明提交。

在一些实施例中,如果对提交的数字指纹有相同的声明被发现已经在数据 库108中(见步骤503),则内容名誉服务102可依据现有声明的内容评估新 声明的内容并且基于该评估来更新声明中的部分或者全部信息(步骤505)。

例如,内容名誉服务102可更新现有声明的信息的场景的一个示例是,新 提交的声明包含比与相同的数字指纹相关联的现有声明的病毒签名版本更新 的病毒签名版本。例如,这一场景可发生在由于客户机具有比现有声明所反映 的病毒签名版本更新的病毒签名版本,客户机决定尽管存在文件的现有声明但 还是扫描文件的时候。例如,在使用更新的病毒签名版本执行扫描之后,这一 场景中的客户机可向内容名誉服务102提交病毒声明(反映曾用于扫描的病毒 签名版本)。

例如,当内容名誉服务102接收到这一声明时,它可确定具有相同断言的 相同类型(并且甚至可能来自相同的发布者)的声明已经存在。例如,内容名 誉服务102然后可比较病毒签名版本以及各个声明的创建日期和时间,并且用 其确定为声明的最新和最可靠的信息来更新数据库108中的条目(例如,数据 库列)。例如,在更新病毒签名版本的示例中,现有声明的更新的条目可包括 病毒扫描的日期和时间以及用于扫描的病毒签名版本。

如图6所示,在接收到检索现有声明的客户机请求后(步骤602),服务 器106可使用作为主关键词被包括在客户机请求中的指纹来制定数据库查询。 如果数据库108中存在匹配的指纹(步骤606),则服务器106可检索与指纹 相关联的声明(步骤608),根据客户机指定的任何准则来过滤那些声明(步 骤609),以及返回经过滤的声明数据(如果不使用过滤或者客户机没有指定 过滤准则,则可以为检索的声明数据的子集或整个声明集)至请求的客户机(步 骤610)。如果匹配的指纹不在数据库中(步骤606),则服务器106可通知 客户机没有发现匹配的声明(步骤612)。内容名誉服务102从而可通过将数 据的经计算的指纹(从客户机处接收)与存储在数据库中的与被查询的数据的 声明相关联的指纹比较以标识与给定数据相关联的任何声明。

实际上,可在系统100中的数据第一次满足特定类型的分析时创建内容声 明。此后,当数据在系统内传输并且需要被访问时,可使用以前发布的声明以 获取关于数据的必要信息,而不要再次重新分析该数据。在一些实施例中,可 当在数据上执行新类型的扫描时添加关于数据的另外的声明,从而用新信息扩 展了声明集。

以下实际示例示出内容名誉服务102可如何用来最小化需要用来检查具体 数据的内容的资源。首先,考虑文档文件(例如,微软文档)被附加 至发送到组织中某人的电子邮件的常见情况。在接收到具有附件的电子邮件 后,该组织的边缘服务器可扫描该附件,确定它没有病毒、间谍软件以及恶意 URL,并且用内容名誉服务102来创建三个声明。例如,接收者然后可接收文 件并且将其上传至组织内部的站点。(假设在这一 站点上执行的安全策略需要为所有文件扫描病毒、间谍软件、 恶意URL、以及DLP。)在上传期间,该站点的安全扫描器 可计算该文件的指纹并且向内容名誉服务102发送请求。然后可返回包括三个 先前创建的声明的声明集。因此,安全扫描器可确定仅需在文件上执行DLP 扫描,并且在执行扫描后可向内容名誉服务发布另外的DLP声明。例如,此 后如果相同的文件被上传到组织内的另一个站点,则该 站点的安全扫描器可确定不需执行其他扫描,因为该扫描器向 内容名誉服务的请求将返回所有必要的声明。

重要的是,在大多数情况下,由与内容名誉服务102交互造成的开销要显 著低于实际扫描或其他数据评估过程的开销。还需注意,在一些实施例中,包 括另外的数据检查过程(该检查过程增加扫描/评估时间)将不会对声明提交和 检查时间造成不良影响。

在某些实施例中,内容名誉服务102可将内容声明或声明集输出为经过数 字签名的文件,例如XML文件。例如,这一“内容证书”可在具有或不具有(如 果接收者已经具有该数据)对应数据的情况下被传递至因为某些原因无法访问 内容名誉服务以及不能直接与内容名誉服务直接通信的实体。尽管有这一事 实,但是接收者可以可靠地验证内容证书的有效性,并且如果有效,可决定信 任部分或者全部所包括的内容声明

图7示出图4所示的声明集如何在被输出为内容证书时出现的示例。例如, 可使用包围的XML数字签名来对这一XML文件签名。这一文件的接收者可 首先验证数字签名以确保XML的完整性未被破坏。例如,如果签名有效,则 接收者可使用在XML中指定的算法来计算数据的指纹。如果生成值与XML 中的指纹匹配,则接收者可确定这一XML中的所有声明与该数据有关并且是 可信任的。因此,在一些实施例中,通过将数据经计算的指纹与同样包含声明 的内容证书中所包括的指纹比较,这一内容证书的接收者能够标识与给定数据 相关联的一个或多个声明。在一些实施例中,可提供对这些内容证书的自动验 证的验证工具。

尽管在至少某些情况下可能是不需要的,但是在一些实施例中,内容证书 可另外地或另选地被直接附加至或嵌入它所关于的文件中。其中可能有这一实 现的文件类型的一个示例是电子邮件。例如,内容证书可被放置在电子邮件的 头部空间,而不影响该邮件其余的内容。某些文件格式,例如微软文件,也允许可存储另外的有效负载的可扩展性。另外地,在一些实施例中, 可使用同时存储源文件以及内容证书的通用文件包装封套。例如,可出于此目 的使用微软的通用文件保护(GFP)文件包装器。

在数据项自身已经被修改时,使用数据项的内容证书(无论作为分别的文 件还是作为被附加至或者嵌入这些项的信息)还可提供一些额外的灵活性。例 如,在一些实施例中,可通过使用分类技术避免至少某些对内容的重新分类(例 如,PII、HBI,等等),该分类技术生成可用于确定文档与原始文档有多相近 的“软散列”。在这些实施例中,如果结果在容限内,则可避免整个重新分类过 程。

至此描述了本发明的至少一个实施例的若干方面,可以理解,本领域的技 术人员可容易地想到各种更改、修改和改进。

这样的更改、修改和改进旨在是本发明的一部分,并且旨在处于本发明的 精神和范围内。从而,上述描述和附图仅用作示例。

可以用多种方式中的任一种来实现本发明的上述实施例。例如,可使用硬 件、软件或其组合来实现各实施例。当使用软件实现时,该软件代码可在无论 是在单个计算机中提供的还是在多个计算机之间分布的任何合适的处理器或 处理器的集合上执行。该处理器可被实现为集成电路,集成电路组件中具有一 个或多个处理器。然而,可按照任何适合的方式使用电路实现处理器。

此外,应当理解,计算机可以用多种形式中的任一种来具体化,诸如机架 式计算机、台式计算机、膝上型计算机、或图形输入板计算机。另外,计算机 可以具体化在通常不被认为是计算机但具有合适的处理能力的设备中,包括个 人数字助理(PDA)、智能电话、或任何其他适合的便携式或固定电子设备。

同样,计算机可以具有一个或多个输入和输出设备。这些设备主要可被用 来呈现用户界面。可被用来提供用户界面的输出设备的示例包括用于可视地呈 现输出的打印机或显示屏和用于可听地呈现输出的扬声器或其他声音生成设 备。可被用于用户界面的输入设备的示例包括键盘和诸如鼠标、触摸板和数字 化输入板等定点设备。作为另一示例,计算机可以通过语音识别或以其他可听 格式来接收输入信息。

这些计算机可以通过任何合适形式的一个或多个网络来互连,包括作为局 域网或广域网,如企业网络或因特网。这些网络可以基于任何合适的技术并可 以根据任何合适的协议来操作,并且可以包括无线网络、有线网络或光纤网络。

而且,此处略述的各种方法或过程可被编码为可在采用各种操作系统或平 台中任何一种的一个或多个处理器上执行的软件。另外,这样的软件可使用多 种合适的程序设计语言和/或程序设计或脚本工具中的任何一种来编写,而且还 可被编译为可执行机器语言代码或在框架或虚拟机上执行的中间代码。

就此,本发明可被具体化为用一个或多个程序编码的一种计算机可读介质 (或多种计算机可读介质)(例如,计算机存储器、一个或多个软盘、紧致盘 (CD)、光盘、数字视频盘(DVD)、磁带、闪存、现场可编程门阵列或其 他半导体器件中的电路配置、或其他非瞬态的有形计算机存储介质),当这些 程序在一个或多个计算机或其他处理器上执行时,它们执行实现本发明的上述 各个实施例的方法。这一种或多种计算机可读介质可以是可移植的,使得其上 存储的一个或多个程序可被加载到一个或多个不同的计算机或其他处理器上 以便实现本发明上述的各个方面。如此处所使用的,术语“非瞬态计算机可读 存储介质”只包含可被认为是制品或机器的计算机可读介质。

此处以一般的意义使用术语“程序”或“软件”来指可被用来对计算机或其他 处理器编程以实现本发明上述的各个方面的任何类型的计算机代码或计算机 可执行指令集。另外,应当理解,根据本实施例的一个方面,当被执行时实现 本发明的方法的一个或多个计算机程序不必驻留在单个计算机或处理器上,而 是可以按模块化的方式分布在多个不同的计算机或处理器之间以实现本发明 的各方面。

计算机可执行指令可以具有可由一个或多个计算机或其他设备执行的各种 形式,诸如程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象 数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可 以按需在各个实施例中进行组合或分布。

而且,数据结构能以任何适合的形式存储在计算机可读介质上。为简化说 明,数据结构可被示为具有通过该数据结构中的位置而相关的字段。这些关系 同样可以通过对各字段的存储分配传达各字段之间的关系的计算机可读介质 中的位置来得到。然而,可以使用任何适合的机制来在数据结构的各字段中的 信息之间建立关系,例如通过使用指针、标签、或在数据元素之间建立关系的 其他机制。

本发明的各个方面可单独、组合或以未在前述实施例中特别讨论的各种安 排来使用,从而并不将其应用限于前述描述中所述或附图中所示的组件的细节 和安排。例如,可使用任何方式将一个实施例中描述的各方面与其他实施例中 描述的各方面组合。

同样,本发明可被具体化为方法,其示例已经提供。作为该方法的一部分 所执行的动作可以按任何适合的方式来排序。因此,可以构建各个实施例,其 中各动作以与所示的次序所不同的次序执行,不同的次序可包括同时执行某些 动作,即使这些动作在各说明性实施例中被示为顺序动作。

在权利要求书中使用诸如“第一”、“第二”、“第三”等序数词来修饰权利要求 元素本身并不意味着一个权利要求元素较之另一个权利要求元素的优先级、先 后次序或顺序、或者方法的各动作执行的时间顺序,而仅用作将具有某一名字 的一个权利要求元素与(若不是使用序数词则)具有同一名字的另一元素区分 开的标签以区分各权利要求元素。

同样,此处所使用的短语和术语是出于描述的目的而不应被认为是限制。 此处对“包括”、“包含”、或“具有”、“含有”、“涉及”及其变型的使用旨在包括 其后所列的项目及其等效物以及其他项目。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号