首页> 中国专利> 使用私有集交集(PSI)对敏感数据的安全多重检测

使用私有集交集(PSI)对敏感数据的安全多重检测

摘要

在不要求与云提供者共享数据或云提供者向客户机提供对云中的所有数据的访问的情况下,实现检测客户机的特定敏感数据是否存在于云计算基础架构中的方法、装置和计算机程序产品。代替要求客户端共享其敏感信息的数据库,优选地,客户端执行使用密码协议,即,私有集交集(PSI)的工具,以使得客户端能够检测其敏感信息是否存在于云上。由该工具标识的任何这样的信息随后被用来标记文档或话语、发送警告、和/或编辑敏感数据或将其令牌化。

著录项

说明书

技术领域

本公开总体上涉及识别并防止计算环境中的敏感数据泄露。

背景技术

当使用处理大量文本数据的认知系统时,管制行业(例如,医院、金融机构和其他管制客户)中的用户需要检测敏感数据,诸如个人识别信息(PII)、受保护健康信息(PHI)等之类的是否已被置于在第三方计算环境中实现的计算系统中,诸如网络可访问的云计算基础设施。因此,例如,这些类型的组织拥有其客户端名称和其他敏感信息的决定性列表,但是它们不想将这些列表放入任何云系统中。一种针对此类敏感信息的公开进行保护的方法是使用已知技术,诸如数据丢失防护(DLP)系统,其可存储个人信息的全面数据库并随后监视系统以检测此类信息的潜在泄露。尽管这些类型的系统为了它们的预期目的工作良好,但是它们通常实施起来复杂并且操作起来昂贵。进一步,他们没有解决企业期望来自他们的云提供者保证这样的信息不在云上的要求。

DLP和其他已知的安全工具和方法通常使用复杂的技术来确定这样的敏感数据是否泄漏或以其他方式存在于云上。在一种常见方法中,训练统计分类器(例如,使用机器学习),其中应用结果模型来检测所讨论的敏感数据。但是,这样的检测(事后并且通常发生在云中)不能接近具有对完整客户端数据库的访问的基于本地规则的系统可能提供的准确性(大概在100%或接近100%)。

发明内容

根据本公开,在不要求与云提供商共享数据或云提供商向客户端提供对其在云中的存储的数据的访问(甚至代表客户端)的情况下实现一种用于检测客户端的特定敏感数据是否存在于云计算基础设施中的方法。代替要求客户端共享其敏感信息的数据库,或要求云提供者暴露对其存储在云中的信息语料库的访问,客户端和提供者协作地确定是否在云数据的某个部分(通常是索引)中找到客户端感兴趣的敏感数据。这甚至在将感兴趣的敏感数据保持为对客户端私有并且将索引保持为对云提供者私有的同时做出确定。为此,每一方执行使用密码协议(例如,私有集交集(PSI))的工具,以使得一方(无论是提供者还是客户端,或者可能两者)能够检测客户端的敏感信息是否存在于云上。由该工具标识的信息随后被用来标记文档或话语、发送警告、和/或编辑敏感数据或将其令牌化。

根据更具体的方面,本公开描述了一种保护与云计算环境相关联地执行的数据的方法,所述云计算环境包括其中接收并存储信息语料库的数据存储。该方法开始于识别与信息语料库相关联并且对于云计算环境是私有的的第一数据集。第一数据集可以是信息语料库的索引。在从实体接收到请求时,然后实现检测技术。所述实体具有第二数据集,并且其中所述第二数据集是所述实体感兴趣的并且对于所述实体是私有的。有时,第二数据集被称为实体的“敏感数据”。示例数据集可以是单词或短语的秘密列表。所述第一数据集对所述提供者是私有的,而所述第二数据集对所述实体是私有的;换言之,通常,实体不知道第一数据集且提供者不知道第二数据集。然而,各方协作地执行密码协议以检测实体感兴趣的第二数据集中的任何数据在第一数据集中的存在。通过在不允许实体访问信息语料库或第一私有数据集的情况下评估第一和第二私有数据集上的给定密码功能来执行密码协议。优选地,密码协议是提供者与实体,例如,使用利用遗忘传输密码原语作为给定密码功能实现的乱码电路,协作地执行的私有集交集(PSI)。当在第一数据集中检测到实体感兴趣的第二数据集中的任何数据时,采取给定动作。给定动作通常是以下各项之一:提供警告、标记检测到的信息、将令牌应用于检测到的信息、以及编辑检测到的信息。

从第一方面来看,本发明提供了一种用于保护与云计算环境相关联的数据的方法,所述云计算环境包括其中接收并存储信息语料库的数据存储,包括:标识与所述信息语料库相关联并且对于所述云计算环境是私有的的第一数据集;在从实体接收到请求时,所述实体具有第二数据集,所述第二数据集是所述实体感兴趣的并且对所述实体是私有的,与所述实体执行密码协议以检测所述实体感兴趣的所述第二数据集中的任何数据在所述第一数据集中的存在,其中,通过在不允许所述实体访问所述信息语料库或所述第一私有数据集的情况下评估所述第一和第二私有数据集上的给定密码功能来执行所述密码协议;以及当在第一数据集中检测到实体感兴趣的第二数据集中的任何数据时,采取给定动作。

优选地,本发明提供了一种方法,其中,所述密码协议是与所述实体相关联地协作执行的私有集交集(PSI),并且所述第一数据集是所述信息语料库的索引。

优选地,本发明提供了一种方法,其中,给定密码功能是使用遗忘传输密码原语实现的乱码电路。

优选地,本发明提供了一种方法,其中,所述实体是所述第二数据集的源,并且检测所述第二数据集中的任何数据检测从与所述实体相关联的私有系统到所述云计算环境的这种数据的传递。

优选地,本发明提供了一种方法,其中所述实体是第三方政府或私人实体。

优选地,本发明提供一种方法,还包括经由应用编程接口(API)从所述实体接收所述信息语料库。

优选地,本发明提供一种方法,其中在摄入所述信息语料库期间执行所述密码协议。

优选地,本发明提供了一种方法,其中,该给定动作是以下各项之一:提供警报,标记已被确定为存在于所述第一数据集中的所述第二数据集中的任何数据,将令牌应用于已经被确定为存在于所述第一数据集中的所述第二数据集中的任何数据,以及编辑已经被确定为存在于所述第一数据集中的所述第二数据集中的任何数据。

从另一方面来看,本发明提供了一种用于保护与云计算环境相关联的数据的装置,所述云计算环境包括其中接收并存储信息语料库的数据存储,包括:处理器;计算机存储器,其保持由所述处理器执行的计算机程序指令,所述计算机程序指令被配置为:标识与所述信息语料库相关联且对所述云计算环境是私有的第一数据集;在从实体接收到请求时,所述实体具有第二数据集,所述第二数据集是所述实体感兴趣的并且是所述实体私有的,与所述实体执行密码协议以检测所述实体感兴趣的所述第二数据集中的任何数据在所述第一数据集中的存在,其中,通过在不允许所述实体访问所述信息语料库或所述第一私有数据集的情况下评估所述第一和第二私有数据集上的给定密码功能来执行所述密码协议;以及在第一数据集中检测到实体感兴趣的第二数据集中的任何一个时,采取给定动作。

优选地,本发明提供了一种装置,其中,所述密码协议是与所述实体相关联地协作执行的私有集交集(PSI),并且所述第一数据集是所述信息语料库的索引。

优选地,本发明提供了一种装置,其中,所述给定密码功能是乱码电路,并且这些计算机程序指令被配置成用于实现遗忘传输密码原语。

优选地,本发明提供一种装置,其中所述实体是所述第二数据集的源,并且被配置为检测所述第二数据集中的任何数据的所述计算机程序指令检测从与所述实体相关联的私有系统到所述云计算环境的所述数据的传递。

优选地,本发明提供了一种装置,其中所述实体是第三方政府或私人实体。

优选地,本发明提供一种装置,其中所述计算机程序指令还被配置为经由应用编程接口(API)从所述实体接收所述信息语料库。

优选地,本发明提供了一种装置,其中在摄入信息语料库期间执行密码协议。

优选地,本发明提供了一种装置,其中,被配置成用于采取给定动作的计算机程序指令包括提供以下动作之一的计算机程序指令:提供警报,标记已被确定为存在于所述第一数据集中的所述第二数据集中的任何数据,将令牌应用于已经被确定为存在于所述第一数据集中的所述第二数据集中的任何数据,以及编辑已经被确定为存在于所述第一数据集中的所述第二数据集中的任何数集。

从另一方面来看,本发明提供了一种在非暂态计算机可读介质中的计算机程序产品,该计算机程序产品用于在数据处理系统中使用以保护与云计算环境相关联的数据,所述云计算环境包括其中接收并存储信息语料库的数据存储,所述计算机程序产品保存计算机程序指令,当所述计算机程序指令由所述数据处理系统执行时,被配置成:标识与所述信息语料库相关联并且对于所述云计算环境是私有的的第一数据集;在从实体接收到请求时,所述实体具有第二数据集,所述第二数据集是所述实体感兴趣的并且是所述实体私有的,与所述实体执行密码协议以检测所述实体感兴趣的所述第二数据集中的任何数据在所述第一数据集中的存在,其中,通过在不允许所述实体访问所述信息语料库或所述第一私有数据集的情况下评估所述第一和第二私有数据集上的给定密码功能来执行所述密码协议;以及在所述第一数据集中检测到所述实体感兴趣的所述第二数据集中的任何数据时,采取给定动作。

优选地,本发明提供了一种计算机程序产品,其中,所述密码协议是与所述实体相关联地协作执行的私有集交集(PSI),并且所述第一数据集是所述信息语料库的索引。

优选地,本发明提供了一种如权利要求18所述的计算机程序产品,其中,该给定密码功能是乱码电路,并且这些计算机程序指令被配置成用于实现遗忘传输密码原语。

优选地,本发明提供了一种计算机程序产品,其中,所述实体是所述第二数据集的源,并且被配置为检测所述第二数据集中的任何数据的所述计算机程序指令检测从与所述实体相关联的私有系统到所述云计算环境的这样的数据的传递。

优选地,本发明提供了一种计算机程序产品,其中所述实体是第三方政府或私人实体。

优选地,本发明提供一种计算机程序产品,其中所述计算机程序指令还被配置为经由应用编程接口(API)从所述实体接收所述信息语料库。

优选地,本发明提供了一种计算机程序产品,其中,在摄入所属信息语料库期间执行所述密码协议。

优选地,本发明提供了一种计算机程序产品,其中,被配置为采取该给定动作的这些计算机程序指令包括提供以下各项之一的计算机程序指令:警报,标记已被确定为存在于所述第一数据集中的所述第二数据集中的任何数据,将令牌应用于已经被确定为存在于所述第一数据集中的所述第二数据集中的任何数据,以及编辑已经被确定为存在于所述第一数据集中的所述第二数据集中的任何数据。

上文已经概述了该主题的更相关特征中的一些特征。这些特征应被解释为仅是说明性的。通过以不同方式应用所公开的主题或通过修改如将描述的主题,可以获得许多其他有益的结果。

附图说明

为了更完整地理解本发明及其优点,现在参考结合附图进行的以下描述,在附图中:

图1描绘了可以实现说明性实施例的示例性方面的分布式数据处理环境的示例性框图;

图2是可以实现说明性实施例的示例性方面的数据处理系统的示例性框图;

图3示出了可以在其中实现所公开的主题的示例性云计算架构;

图4是可以在其中实现本公开的技术的代表性认知服务计算环境;以及

图5描绘了本公开的基本技术。

具体实施方式

现在参考附图并且具体地参考图1至图2,提供了其中可以实现本公开的说明性实施例的数据处理环境的示例性示图。应当理解,图1-2仅是示例性的,并且不旨在断言或暗示关于可以实施所公开的主题的各方面或实施例的环境的任何限制。在不脱离本发明的范围的情况下,可以对所描绘的环境做出许多修改。

客户端-服务器技术

现在参照附图,图1描绘了可以在其中实现说明性实施例的各方面的示例性分布式数据处理系统的图形表示。分布式数据处理系统100可以包括其中可以实现说明性实施例的各方面的计算机网络。分布式数据处理系统100包含至少一个网络102,该网络102是用于在分布式数据处理系统100内连接在一起的不同设备和计算机之间提供通信链路的介质。网络102可包括连接,诸如有线、无线通信链路或光纤电缆。

在所描绘的实例中,服务器104和服务器106与存储单元108一起连接到网络102。此外,客户端110、112和114也连接到网络102。这些客户端110、112和114可以是例如个人计算机、网络计算机等。在所描绘的示例中,服务器104向客户端110、112和114提供数据,诸如引导文件、操作系统镜像和应用。在所描绘的示例中,客户端110、112和114是服务器104的客户端。分布式数据处理系统100可以包括附加的服务器、客户端和未示出的其他设备。

在所描绘的示例中,分布式数据处理系统100是具有网络102的互联网,其中网络102表示使用传输控制协议/互联网协议(TCP/IP)协议组来彼此通信的网络和网关的全球集合。互联网的核心是主节点或主计算机之间的高速数据通信线路的主干,由成千上万的商业、政府、教育和路由数据和消息的其他计算机系统组成。当然,分布式数据处理系统100还可以被实现为包括许多不同类型的网络,诸如例如内联网、局域网(LAN)、广域网(WAN)等。如上所述,图1意在作为示例,而不是作为公开的主题的不同实施例的架构限制,并且因此,图1中所示的特定元件不应被视为关于其中可实施本发明的说明性实施例的环境的限制。

现在参见图2,示出了可以在其中实现说明性实施例的方面的示例性数据处理系统的框图。数据处理系统200是计算机(诸如图1中的客户端110)的示例,实现本公开的说明性实施例的处理的计算机可用代码或指令可以位于该计算机中。

现在参见图2,示出了可以实现说明性实施例的数据处理系统的框图。数据处理系统200是计算机(诸如图1中的服务器104或客户端110)的示例,对于说明性实施例,实现过程的计算机可用程序代码或指令可以位于该计算机中。在这个说明性示例中,数据处理系统200包括通信结构202,其提供处理器单元204、存储器206、持久存储装置208、通信单元210、输入/输出(I/O)单元212和显示器214之间的通信。

处理器单元204用于执行可以被加载到存储器206中的软件的指令。处理器单元204可以是一组一个或多个处理器或者可以是多处理器核,这取决于特定的实现。此外,处理器单元204可使用一个或一个以上异构处理器系统来实施,其中主处理器与次要处理器一起存在于单个芯片上。作为另一说明性示例,处理器单元204可以是包含相同类型的多个处理器的对称多处理器(SMP)系统。

存储器206和持久存储装置208是存储装置的实例。存储设备是能够临时和/或永久地存储信息的任何硬件。在这些实例中,存储器206可为(例如)随机存取存储器或任何其他合适的易失性或非易失性存储装置。永久性存储器208可以采取不同形式,这取决于特定的实现方式。例如,永久存储器208可以包含一个或多个组件或设备。例如,永久性存储器208可以是硬盘驱动器、闪速存储器、可重写光盘、可重写磁带或上述的某种组合。永久性存储器208使用的介质也可以是可移除的。例如,可移动硬盘驱动器可以用于持久存储装置208。

在这些实例中,通信单元210提供与其他数据处理系统或装置的通信。在这些实例中,通信单元210是网络接口卡。通信单元210可通过使用物理和无线通信链路之一或两者来提供通信。

输入/输出单元212允许与可以连接至数据处理系统200的其他设备进行数据的输入和输出。例如,输入/输出单元212可以通过键盘和鼠标为用户输入提供连接。此外,输入/输出单元212可以向打印机发送输出。显示器214提供向用户显示信息的机制。

用于操作系统和应用程序或程序的指令位于持久存储装置208上。这些指令可以被加载到存储器206中以便由处理器单元204执行。不同实施例的过程可由处理器单元204使用计算机实现的指令来执行,这些指令可位于存储器(诸如存储器206)中。这些指令被称为可由处理器单元204中的处理器读取和执行的程序代码、计算机可用程序代码或计算机可读程序代码。不同实施例中的程序代码可以体现在不同的物理或有形的计算机可读介质上,诸如存储器206或持久存储装置208。

程序代码216以功能形式位于计算机可读介质218上,所述计算机可读介质218可选择性地移除并且可以加载到或转移到数据处理系统200上以由处理器单元204执行。在这些示例中,程序代码216和计算机可读介质218形成计算机程序产品220。在一个示例中,计算机可读介质218可以是有形形式,诸如例如被插入或放置到驱动器或其他设备中的光盘或磁盘,所述驱动器或其他设备是用于转移到存储设备(诸如作为永久性存储器208的一部分的硬盘驱动器)上的永久性存储器200的一部分。在有形形式中,计算机可读介质218还可采取永久性存储器的形式,诸如连接到数据处理系统200的硬盘驱动器、拇指驱动器或闪存。计算机可读介质218的有形形式也被称为计算机可记录存储介质。在一些实例中,计算机可记录介质218可能不是可移除的。

或者,程序代码216可以通过到通信单元210的通信链路和/或通过到输入/输出单元212的连接从计算机可读介质218传输到数据处理系统200。在说明性实例中,通信链路和/或连接可为物理或无线的。计算机可读介质还可以采取非有形介质的形式,诸如包含程序代码的通信链路或无线传输。为数据处理系统200示出的不同组件不意味着对可以实现不同实施例的方式提供架构限制。可以在数据处理系统中实现不同的说明性实施例,该数据处理系统包括除了数据处理系统200所示出的那些组件之外的组件或代替数据处理系统200所示出的那些组件的组件。图2中所示的其他部件可不同于所示的说明性实例。作为一个示例,数据处理系统200中的存储设备是可存储数据的任何硬件装置。存储器206、永久性存储器208和计算机可读介质218是有形形式的存储设备的示例。

在另一示例中,总线系统可用于实现通信结构202,并且可包括一个或多个总线,诸如系统总线或输入/输出总线。当然,总线系统可以使用任何合适类型的架构来实现,所述架构在附接到总线系统的不同组件或设备之间提供数据传输。另外,通信单元可包括用于发送和接收数据的一个或多个设备,诸如调制解调器或网络适配器。进一步,存储器可以是例如存储器206或例如在可存在于通信结构202中的接口和存储器控制器集线器中找到的高速缓存。

能够以一种或多种程序设计语言的任意组合来编写用于执行本发明的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言--诸如JavaTM、Smalltalk、C++、C#、Objective-C等,还包括常规的过程式程序设计语言。程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。

所属领域的技术人员将了解,图1到2中的硬件可取决于实施例而变化。除了图1-2中描绘的硬件之外或代替图1-2中描绘的硬件,可以使用其他内部硬件或外围设备,诸如闪存、等效非易失性存储器或光盘驱动器等。而且,说明性实施例的处理可以应用于不同于前面提到的SMP系统的多处理器数据处理系统,而不脱离所公开的主题的范围。

如将看到的,在此描述的技术可以结合标准客户端-服务器范例(如图1中所示)内操作,其中,客户端机器与在一个或多个机器的集合上执行的互联网可访问的基于Web的门户通信。终端用户操作能够访问门户并与门户交互的可连接互联网的设备(例如,台式计算机、笔记本计算机、支持互联网的移动设备等)。通常,每个客户端或服务器机器是如图2中所示的包括硬件和软件的数据处理系统,并且这些实体通过网络彼此通信,所述网络诸如互联网、内联网、外联网、专用网络或任何其他通信介质或链路。数据处理系统通常包括一个或多个处理器、操作系统、一个或多个应用程序和一个或多个实用程序。数据处理系统上的应用提供对Web服务的本地支持,包括但不限于对HTTP、SOAP、XML、WSDL、UDDI和WSFL等的支持。关于SOAP、WSDL、UDDI和WSFL的信息可从负责开发和维护这些标准的万维网联盟(W3C)获得;关于HTTP和XML的进一步信息可从互联网工程任务组(IETF)获得。假定熟悉这些标准。

云计算模型

新兴的信息技术(IT)递送模型是云计算,通过该云计算,共享资源、软件和信息通过互联网按需被提供给计算机和其他设备。云计算可以显著地降低IT成本和复杂性,同时改进工作负荷优化和服务递送。通过这种方法,应用实例可被托管并且可从基于互联网的资源获得,所述基于互联网的资源可通过常规Web浏览器通过HTTP来访问。示例应用可以是提供诸如电子邮件、日历、联系人管理和即时消息收发之类的消息收发功能的公共集合的应用。用户然后将直接通过互联网访问服务。使用该服务,企业将把其电子邮件、日历和/或合作基础结构放置在云中,并且终端用户将使用适当的客户端来访问他或她的电子邮件或执行日历操作。

云计算资源通常被容纳在大型服务器群中,该大型服务器群通常使用虚拟化架构来运行一个或多个网络应用程序,其中,应用程序在被映射到数据中心设施中的物理服务器上的虚拟服务器或所谓的“虚拟机”(VM)内部运行。虚拟机通常在管理程序的顶部运行,该管理程序是将物理资源分配给虚拟机的控制程序。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型,所有都如Peter Mell和Tim Grance于2009年10月7日的“NIST云计算工作定义草案(DraftNIST Working Definition of Cloud Computing)”中更具体地描述和定义的。

具体地,以下是典型的特征:

按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。

广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。

资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。

迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。

可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。

服务模型通常如下:

软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。

平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权

部署模型通常如下:

私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。

公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。

混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。代表性云计算节点如以上图2中所示。具体而言,在云计算节点中存在计算机系统/服务器,其可与许多其他通用或专用计算系统环境或配置一起操作。可以适合于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的示例包括,但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统和包括任何上述系统或设备的分布式云计算环境,等等。计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备来执行。在分布式云计算环境中,程序模块可位于包括存储器存储设备的本地和远程计算机系统存储介质两者中。

现在参见图3,通过附加的背景,示出了由云计算环境提供的一组功能抽象层。应预先理解,图3中所示的部件、层和功能旨在仅是说明性的,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:

硬件和软件层300包括硬件和软件组件。硬件组件的示例包括大型机,在一个示例中为

虚拟化层302提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器;虚拟存储;虚拟网络,包括虚拟专用网络;虚拟应用程序和操作系统;以及虚拟客户端。

在一个实例中,管理层304可提供下文所描述的功能。资源供应提供用于在云计算环境内执行任务的计算资源和其他资源的动态获取。计量和定价在云计算环境内利用资源时提供成本跟踪,并针对这些资源的消费进行计费或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及对数据和其他资源的保护。用户门户为消费者和系统管理员提供对云计算环境的访问。服务级别管理提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)计划和履行提供云计算资源的预安排和采购,根据SLA预期该云计算资源的未来要求。

工作负载层306提供可利用云计算环境的功能性的实例。可以从该层提供的工作负荷和功能的示例包括:映射和导航;软件开发和生命周期管理;虚拟教室教育交付;数据分析处理;交易处理;私有云中的企业特定功能;以及根据本公开,安全PSI数据检测技术308。

提前理解的是,尽管本公开包括关于云计算的详细描述,但本文中所叙述的传授内容的实现方式不限于云计算环境。相反,所公开的技术的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。这些包括独立计算环境(例如,现场台式机)、基于客户机-服务器的体系结构等。

因此,代表性云计算环境具有一组高级功能组件,其包括前端身份管理器、业务支持服务(BSS)功能组件、操作支持服务(OSS)功能组件和计算云组件。身份管理器负责与请求客户端对接以提供身份管理,并且该组件可用一个或多个已知系统来实现,诸如可从纽约州阿蒙克的IBM公司获得的Tivoli联合身份管理器(TFIM)。在适当的情况下,TFIM可以用于向其他云组件提供联合单点登录(F-SSO)。业务支持服务组件提供某些管理功能,诸如计费支持。操作支持服务组件用于提供其他云组件(诸如虚拟机(VM)实例)的供应和管理。云组件表示主要计算资源,其通常是用于执行正变得可用于经由云访问的目标应用的多个虚拟机实例。一个或多个数据库用于存储目录、日志和其他工作数据。所有这些组件(包括前端身份管理器)都位于云“内”,但这不是要求。在替换实施例中,身份管理器可在云外部操作。服务提供者还可在云外部操作。

一些云基于非传统的IP网络。由此,例如,云可以基于具有使用MAC地址散列的特殊单层IP路由的两层基于CLOS的网络。本文描述的技术可以在这样的非传统云中使用。

概括而言,云计算基础设施提供虚拟机托管环境,该虚拟机托管环境包括经由网络连接的主机(例如,服务器或类似的物理机器计算设备)和一个或多个管理服务器。通常,物理服务器各自适于使用虚拟化技术(诸如VMware ESX/ESXi)动态地提供一个或多个虚拟机(VM)。可以将多个VM放置到单个主机中,并且共享主机的CPU、存储器和其他资源,从而增加组织的数据中心的利用率。除了其他任务之外,管理服务器监测基础结构并按需自动操纵VM放置,例如通过在主机之间移动虚拟机。

在非限制性实现方式中,代表性平台技术是但不限于具有VMwarevSphere4.1Update 1和5.0的IBM System

在一个实施例中,本公开的技术与支持认知服务的云计算基础设施(IBM云)(诸如

在该方法中,企业通过使用图形环境配置工作区来实现对话(与沃森)。在该过程期间,企业建立用于会话的训练数据和对话。训练数据通常包括伪像(artifacts),即,意图(用户在与服务交互时具有的目标)和实体(提供意图的上下文的术语或对象)。随着训练数据被添加,自然语言分类器被自动添加到工作区,并且其被训练以理解服务应当监听并响应的请求的类型。使用对话工具,企业可以构建包括意图和实体的对话流。通常,对话流在工具中以图形方式表示为树。一旦被配置,通过将其连接到前端用户界面、社交媒体或消息信道来部署工作区。

上述商业实现方式不旨在被限制,而是仅仅是云计算环境中支持的客户端应用的一个代表性实施例并且其与认知服务交互。

私有集交集

私有集交集(PSI)协议使得各自具有私有数据集的两方能够安全地计算其数据集的交集。这种类型的协议允许相互不信任方联合地计算其私有输入集的交集。大多数PSI方案是单输出的,意味着一方接收交交集的输出,而另一方不接收交集的输出;其他PSI方案是相互的,其中交集被输出到双方。PSI协议已经在各种使用情况下被实现,诸如在线推荐服务。

代表性PSI协议实现可基于一个或多个密码协议。这些包括但不限于Yao-构建的乱码电路(Yao-construct Garbled circuits)和部分同态加密(Partially HomomorphicEncryption)。

使用加密PSI协议的安全规定数据保护

以上述为背景,现在描述本公开的主题。

如上所述,本公开描述了一种用于保护与云计算环境相关联地执行的数据的方法和系统,所述云计算环境包括其中接收并存储信息语料库的数据存储。该方法开始于识别与信息语料库相关联并且对于云计算环境是私有的第一数据集。识别的概念应被宽泛地解释为生成、接收、获得或以其他方式构建第一数据集。可以响应于给定事件(诸如请求的接收)而提前或即时地生成第一数据集。根据该方法,并且在接收到来自实体的请求时,随后实现检测技术。所述实体具有第二数据集,并且其中所述第二数据集是所述实体感兴趣的并且对于所述实体是私有的。有时,第二数据集被称为实体的“敏感数据”。示例数据集可以是单词或短语的秘密列表。所述第一数据集对所述提供者是私有的,而所述第二数据集对所述实体是私有的;换言之,通常,实体不知道第一数据集且提供者不知道第二数据集。然而,各方协作地执行密码协议以在第一数据集中检测实体感兴趣的第二数据集中的任何一个的存在。通过在不允许实体访问信息语料库或第一私有数据集的情况下评估第一和第二私有数据集上的给定密码功能来执行密码协议。优选地,密码协议是提供者与实体协作地执行的私有集交集(PSI),例如,使用不经意传输密码原语作为给定密码功能实现的乱码电路。当在第一数据集中检测到实体感兴趣的第二数据集中的任何一个时,采取给定动作。给定动作通常是以下各项之一:提供警告、标记检测到的信息、将令牌应用于检测到的信息、以及编辑检测到的信息。

图5描绘了本公开的基本技术。在该示例性实施例中,云计算基础设施500包括托管通常具有访问控制的语料库库的数据存储502。云提供者执行与响应服务506相关联的云提供者私有集交集(PSI)工具504,该响应服务506提供响应动作,诸如提醒、编辑、令牌化、标记、沙箱化等中的一个或多个。优选地,如将描述的,数据存储502存储整组内容(信息),尽管工具504本身仅对该组内容的索引进行操作。通常托管在企业私有网络中的企业计算环境508包括敏感数据(例如,PII、PHI等)的数据库510,以及PSI工具512和响应服务514两者的实例。基于企业的资源经由基于客户端-服务器的通信与基于云提供者的资源进行通信,如以上在图1中所描述的。通信链路的每一侧实施于一个或一个以上数据处理系统中,例如图2中所描述和描绘。云计算基础结构可以如图3中所描述的那样实现,并且它可以以图4中所描述的方式利用一个或多个服务,诸如沃森助手。客户端PSI工具(504和512)使用基于云的工具评估存储在云数据存储中的内容集的索引彼此互操作以实现PSI协议交换。响应服务506和514通常作为在硬件或虚拟机中执行的软件(一个或多个计算机系统、程序、过程等)来执行。

如上所述,私有集交集协议是安全多方计算(MPC)的形式,其使双方(一方面是云提供者,另一方面是企业)能够获知它们是否具有一条共同的信息,并且任一方不必向另一方揭示所比较的信息。利用该方法,检查云计算环境500中任意大的语料库502的索引,优选地,以自动方式,并且响应服务506和514标记或编辑在客户端中大量的任何事物,敏感数据的确定列表510(例如,患者姓名和记录编号,或客户端认为敏感的任何其他信息片段)而不向服务提供者透露尚未存在于云上的任何新信息。实际上,该方法因此提供关于敏感数据是否存在于云上(换言之,在索引中)的基于“零知识”的证明,所有这些都没有公开这样的信息以促进评估过程本身。

在该方法中,优选地,敏感数据从不离开客户端驻地508;相反,包含敏感数据的数据库510连接到客户端代理512,客户端代理512与云支持的PSI代理504交互地执行私有集交集(PSI)(如上所述,PSI代理504优选地检查其存储在云中的信息的索引,而不是检查整个信息集合本身),从而检测例如敏感数据字段或企业用户通过来自客户端数据库510的客户端应用(未示出)填充的任何API字段是否存在于云提供者被许可或允许访问的任何文档或其他对象中。

在优选实施例中,云提供者PSI工具(代理)504连接到包含索引的语料库的语料库502。然后对索引的内容执行PSI协议。此操作可以仅包括特定于特定客户端的语料库,或客户端能够访问以用于敏感信息检测的更宽泛语料库。这个实施例允许客户端确定它们的敏感信息是否存在,甚至在它们没有完全(或甚至任何)访问的语料库中、提供者拥有的或有组织的语料库中。如关于图4所描述的,在本实施例中,优选地,基于云提供者的PSI代理504直接与认知服务API集成,与客户端的PSI代理实时地执行PSI,以在信息进入系统时检测文本字段中的敏感信息的传递。该实施例因此允许API(例如,认知服务API)提供敏感数据的明显输入的实时指示,使得客户端应用可以使用响应服务506(等)来警告客户端或最终用户和/或在数据存储在云上之前编辑数据。

在可替换的实施例中,PSI交互在云提供者和可信的第三方(例如,执法、智能机构、协约安全组织、公司审核者、授权伙伴等)之间执行,其中,所述可信第三方在检测某些敏感信息的存在时具有合法兴趣,例如,在认知系统中,通常代表客户端。在该场景中,优选地,第三方不被授予对语料库或API的完全访问,但是仍然对检测例如认知系统中的某些敏感数据(例如,感兴趣的人的名称)具有合法的兴趣。由此,如本文所使用的,储存库上的访问控制可以改变并且将取决于访问限制的性质。访问控制可以是基于角色的、基于用户的或以其他方式。

在一个特定实施例中,每一侧(即,云上和实体处)上的PSI工具实施称为乱码电路的密码协议。乱码电路提供了一种将程序编译成各自包括大量逻辑门的一对程序的方式。这两个程序被配置成例如通过网络彼此连接,并且协作地计算以生成输出(应答)。通常,使用密码原语(诸如遗忘传输)来形成构成程序的门,密码原语可以使用非对称密码学(例如Rivest Shamir Adelman(RSA)密码系统)来构建。在密码学中,遗忘传输(OT)协议是一种类型的协议,其中,发送者将可能许多条信息中的一条传送到接收者,但是发送者保持遗忘关于已经传送了哪条(如果有的话)。在代表性实现方式中,每个乱码电路程序在计算系统的存储器中(即,在云中的第一计算系统(图5,500)中)和在与私有实体相关联的第二计算系统(图5,508))中执行。使用这种方法,最终结果是同时以两半执行的总体程序,并且以此方式使得再怎么查看任一计算系统上的存储器内容也不允许确定在任何时刻程序正在使用哪个逻辑路径或数据值,直到程序向一个或两个方输出最终答案。

本公开的技术提供了显著的优点。如已经描述的,本文的方法提供了检测客户端的特定敏感数据是否存在于云计算基础架构中而不需要与云提供者共享该数据、或云提供者向客户端提供对云中的所有(或甚至任何)数据的访问。该方法实现了不需要企业中支持DLP或其他复杂系统,也不需要统计分类器的训练的敏感数据检测。基于PSI的方法是高度安全的、计算高效的,并且确保相对于具有访问客户端数据库以进行数据检测的授权权限的那些实体来促进敏感数据检测。为此,并且如已经描述的,通信的每一端优选地执行PSI代理(工具),PSI代理(工具)在软件中容易地实现。

如本文中所使用,PSI代理通常实施于软件中,例如,实施为由一个或多个硬件处理器执行的一组计算机程序指令。特定工具可以包括任意数量的程序、进程、执行线程等,以及适当的接口和数据库,以支持该工具使用或创建的数据。工具可以通过命令行等与基于web的前端一起配置或管理。该工具可以包括以编程方式实现的、或经由应用编程接口(API)与其他计算实体或软件系统互操作的、或任何方便的请求-响应协议的一个或多个功能。

如上所述,优选地,本文的方法结合不同高级服务(例如,认知服务)来实现。代表性认知服务是IBM Watson,如已经描述的。概括而言,这种类型的认知服务通常使用问答(Q&A)系统(诸如基于自然语言处理(NLP)的人工智能(AI)学习机器)来提供非结构化数据源的处理。这种类型的机器可组合自然语言处理、机器学习以及假设生成和评估;其接收查询并且提供对那些查询的直接的基于置信度的响应。Q&A解决方案(如IBM Watson)可以是基于云的,其中Q&A功能被传递“即服务”(SaaS),其接收基于NLP的查询并返回适当的答案。

一种代表性Q&A系统,如在美国.专利号8,275,803提供基于任何数据语料库的问题的答案。这里描述的方法便于从回答输入查询的语料库中生成多个候选段落,并且通过从多个段落收集支持证据来找到正确的结果回答。通过并行分析所有检索的段落和该段落的元数据,基于分析步骤生成包括候选答案的输出多个数据结构。然后,由多个并行操作模块中的每一个对所述候选答案集执行支持段落检索操作;对于每个候选答案,遍历数据语料库以找到除了查询词语之外还具有候选答案的那些段落。所有候选答案由多个评分模块自动评分,导致支持段落,每个评分模块产生模块评分。所述模块评分被处理以确定一个或多个查询答案;以及基于所述一个或多个查询答案生成查询响应以递送给用户。

在替代性实施例中,可以使用IBM LanguageWare(一种允许应用处理自然语言文本的自然语言处理技术)来实现Q&A系统。LanguageWare包括一组Java库,其提供不同NLP功能,诸如语言识别、文本分割和令牌化、标准化、实体和关系提取以及语义分析。

所描述的方法优选地是基于web或基于云的,从而避免通常伴随DLP系统的传统安装和部署问题。该技术提供轻量级工具(基于客户端-服务器的PSI工具)以与语料库(基于云的)和数据库(基于客户端的)交互以检测潜在的敏感数据泄露。该方法因此促进具有足够隐私的简单且有效的跨组织协作以减轻或改善安全问题。

如所指出的,本文对一个或多个商业产品或服务的引用是示例性的并且不应被视为限制所公开的技术,该所公开的技术可以在具有已经描述的一般特征和操作功能的任何系统、设备、电器(或更一般地,机器)上实现。

本主题可以被实现为服务。如前所述,并且没有限制,本主题可以在云部署平台系统或设备内或与云部署平台系统或设备关联地实现,或者使用任何其他类型的部署系统、产品、设备、程序或过程来实现。如已经描述的,PSI工具和相关的响应系统功能可以作为独立功能来提供,或者它可以利用来自其他产品和服务的功能。

可以利用其实现该技术的代表性云应用平台包括但不限于任何云支持的应用框架、产品或服务。

概括而言,本文的技术可以被实现为管理解决方案、服务、产品、电器、设备、过程、程序、执行线程等。通常,所述技术在软件中实施为在硬件处理元件中执行的与存储在例如问题数据库等一个或一个以上数据源中的数据相关联的一个或一个以上计算机程序。所描述的一些或所有处理步骤可以是自动化的并且与其他系统相关联地自主地操作。自动化可以是完全或部分的,并且操作(全部或部分)可以是同步的或异步的、基于需求的或以其他方式。

这些上述部件典型地各自被实施为软件,即,被实施为在一个或多个硬件处理器中执行的一组计算机程序指令。这些部件被示出为不同的,但这不是必须的,因为这些部件也可以整体或部分地彼此集成。所述组件中的一者或一者以上可在专用位置中执行,或远离彼此执行。一个或多个组件可具有一起执行以提供功能的子组件。不要求生成器服务的特定功能由如上所述的特定组件执行,因为本文中的功能(或其任何方面)可在其他或系统中实现。

该工具和响应功能可以与安全分析系统或服务交互或互操作。

如已经描述的,以上所描述的功能可以被实现为独立的方法,例如,由一个或多个硬件处理器执行的一个或多个基于软件的功能,或它可以作为受管理服务(包括作为经由SOAP/XML接口的web服务)是可用的。本文所描述的特定硬件和软件实现细节仅用于说明性目的,并不意味着限制所描述的主题的范围。

更一般地,在所公开的主题的背景下的计算设备各自是包括硬件和软件的数据处理系统(如图2中所示),并且这些实体通过网络(如互联网、内联网、外联网、私有网络或任何其他通信介质或链路)彼此通信。数据处理系统上的应用提供对Web和其他已知服务和协议的本地支持,包括但不限于对HTTP、FTP、SMTP、SOAP、XML、WSDL、UDDI和WSFL等的支持。关于SOAP、WSDL、UDDI和WSFL的信息可从负责开发和维护这些标准的万维网联盟(W3C)获得;关于HTTP、FTP、SMTP和XML的进一步信息可从互联网工程任务组(IETF)获得。

如所指出的,并且除了基于云的环境之外,本文描述的技术可以在包括简单n层架构、web门户、联合系统等的不同服务器侧架构中或结合不同服务器侧架构来实现。

仍更一般地,本文描述的主题可以采取完全硬件实施例、完全软件实施例或包含硬件和软件元件两者的实施例的形式。在优选实施例中,敏感数据检测服务(或其任何组件)在软件中实现,该软件包括但不限于固件、常驻软件、微代码等。此外,下载和删除接口和功能可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,所述计算机可用或计算机可读介质提供用于由计算机或任何指令执行系统使用或结合计算机或任何指令执行系统使用的程序代码。出于本说明书的目的,计算机可用或计算机可读介质可以是能够包含或存储程序的任何装置,该程序由指令执行系统、装置或设备使用或结合指令执行系统、装置或设备使用。该介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)。计算机可读介质的实例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前示例包括致密盘-只读存储器(CD-ROM)、致密盘-读/写(CD-R/W)和DVD。计算机可读介质是有形的、非暂态物品。

计算机程序产品可以是具有用于实现所描述的功能中的一个或多个功能的程序指令(或程序代码)的产品。这些指令或代码在通过网络从远程数据处理系统下载之后,可以存储在数据处理系统中的计算机可读存储介质中。或者,这些指令或代码可以存储在服务器数据处理系统中的计算机可读存储介质中,并且适于通过网络下载到远程数据处理系统,以便在远程系统内的计算机可读存储介质中使用。

在代表性实施例中,在专用计算平台中、优选地在由一个或多个处理器执行的软件中实现这些技术。该软件被维护在与一个或多个处理器相关联的一个或多个数据存储或存储器中,并且软件可被实现为一个或多个计算机程序。共同地,此专用硬件和软件包括上述功能。

虽然以上描述了由本发明的某些实施例执行的操作的具体顺序,但是应当理解的是,这种顺序是示例性的,因为替代性实施例可以按不同顺序执行操作、组合某些操作、重叠某些操作等。说明书中对给定实施例的引用指示所描述的实施例可包括特定特征、结构或特性,但是每个实施例可能不一定包括该特定特征、结构或特性。

最后,虽然已经单独地描述了系统的给定部件,但普通技术人员将认识到,可以在给定指令、程序序列、代码部分等中组合或共享一些功能。

如在此所描述的乱码电路协议(例如,使用遗忘传输)不旨在是限制性的。可使用实现两方安全计算的任何密码协议,其中两个潜在不信任方可共同地评估其私有输入上的功能而不存在可信第三方。

进一步地,私有集交集仅是代表性密码协议。作为替代,可以使用私有搜索协议。在该实施例中,在云上索引语料库,并且执行检查以确定发出请求的客户端感兴趣的一个或多个词语是否在索引中。

本文的技术提供了对另一种技术或技术领域(即,数据检测安全分析工具和系统以及基于云的系统)的改进,以及对自动化敏感数据检测工具和方法的功能的改进。

已经描述了我们的发明,权利要求如下。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号