用于在保护隐私的同时预防数据丢失的系统和方法与流程

文档序号:15203699发布日期:2018-08-21 06:03阅读:355来源:国知局

领域

在此讨论的主题总体上涉及预防数据丢失的同时还保护隐私的方法和系统,并且更具体地,涉及在外部主机和企业之间以保护私密信息的方式进行预防数据丢失的协议。

相关技术

在相关技术中,企业必须采用技术来预防敏感数据的泄漏,丢失或过度分享。相关方法包括数据丢失预防或检测(“dlp”)系统,其中企业实施检测和预防数据丢失的算法。相关技术算法包括直接或情境感知模式匹配方法。例如,企业a可能希望保护诸如账户名称,号码或其他私密信息的数据的隐私。因此,对于企业的任何传出数据(例如,电子邮件,下载,导出),企业a运行包含该算法的软件以试图确定是否发生了数据丢失(例如,发送了账号,名称等)。

然而,相关技术方法具有各种问题和缺点。例如,相关技术的模式匹配算法不能确定哪些数据是被受保护的实体(例如,企业本身或企业中的用户)认为是敏感的。因此,相关技术的方法导致漏检和高水平的噪声。在上述示例中,存在企业a可能未能检测数据丢失的候选者,或者可能会将传出数据表征为数据丢失,但实际上并非数据丢失的风险。在一种情况下,企业a的成员可能拥有似乎与企业a所拥有的信息相似的私密信息(例如,与企业a无关的个人账户信息)。由于该相似性,当该成员的私密信息不是数据泄漏时,企业a将该成员的私密信息表征为数据泄漏。

其他相关技术方法涉及诸如包括云服务提供商的dlp供应商或托管公司的外部主机,外部主机接收来自企业或数据拥有者的策略或规则,这些策略或规则指定可能泄漏的敏感数据。例如,企业a可能与外部主机b签约,让主机b检查企业a的信息的数据泄露,并将结果上报给企业a。

然而,这些相关技术方法也存在问题和缺点。例如,企业或数据拥有者必须向第三方提供敏感数据,这导致向dlp外部主机(例如,预防丢失系统供应商,服务或托管公司)公开敏感数据的风险。在上述示例中,外部主机b具有企业a的敏感数据。因此,企业a的敏感数据被披露给企业a的防火墙外的第三方,而企业a无法控制在外部主机b上的敏感数据会发生什么。此外,如果将企业a的检测模式公开给外部dlp,而不是实际的敏感数据,则结果也可能是高水平的噪声(例如,不正确地表征为数据泄漏的私密信息)。



技术实现要素:

主题包括用于检测数据泄漏的计算机实施的方法,包括:在企业的防火墙外部的主机处,接收源自与所述企业相关联的用户设备的在线账户的数据通信;基于所述数据通信的情境,所述主机进行分析以确定所述数据通信是候选数据泄漏;所述主机对所述数据通信进行加密并将主机加密的数据通信提供给在所述企业的软件代理。该计算机实施的方法还包括,响应于接收所述主机加密的数据通信,所述软件代理通过使用公共加密密钥,对企业信息数据库进行加密并且重新加密所述主机加密的数据通信;向所述主机提供软件代理加密的企业信息数据库和重新加密的数据通信;所述主机对所述重新加密的数据通信的主机加密方面进行解密,以生成软件代理加密的数据通信。另外,该计算机实施的方法包括,进行匹配操作以确定加密的企业信息数据库与所述软件代理加密的数据通信之间是否存在匹配;对于确定存在的匹配,所述主机向所述软件代理报告所述匹配,并且所述软件代理采取第一动作;和对于确定不存在匹配,所述主机采取第二动作。

主题还包括在企业的防火墙外部的主机处检测数据泄漏的计算机实施的方法,包括:接收源自与所述企业相关联的用户设备的在线账户的数据通信;基于所述数据通信的情境,进行分析以确定所述数据通信是候选数据泄漏;对所述数据通信进行加密并将主机加密的数据通信提供给所述企业的软件代理;和接收软件代理加密的企业通信数据库和由所述软件代理重新加密的所述主机加密的数据通信。该计算机实施方法还包括,对重新加密的数据通信的主机加密方面进行解密,以生成软件代理加密的数据通信;进行匹配操作以确定加密的信息数据库与所述软件代理加密的数据通信之间是否存在匹配;对于确定存在的匹配,向所述软件代理报告所述匹配;和对于确定不存在匹配,所述主机采取动作。

另外,主题包括检测来自具有软件代理的企业的数据泄漏的计算机实施的方法,包括:从所述企业的防火墙外部的主机,接收源自与所述企业相关联的用户设备的在线账户的主机加密的数据通信;使用公共加密密钥对企业信息数据库进行加密,并且重新加密所述主机加密的数据通信;向所述主机提供加密的企业信息数据库和重新加密的数据通信;从所述主机接收指示所述加密的企业信息数据库与所述重新加密的数据通信之间存在匹配的报告;和采取第一动作。

这些方法使用一个或多个计算设备和/或系统实施。这些方法可以存储在计算机可读介质中。

主题还包括用于在企业的防火墙外部的主机处检测数据泄漏的系统,系统包括:在所述企业的所述防火墙外部的所述主机,包括硬件处理器以及具有存储在计算机可读介质上的可执行指令。所述主机上的指令包括,接收源自与所述企业相关联的用户设备的在线账户的数据通信;基于所述数据通信的情境,进行分析以确定所述数据通信是候选数据泄漏;对所述数据通信进行加密并将主机加密的数据通信提供给在所述企业的软件代理;接收软件代理加密的企业信息数据库和由所述软件代理重新加密的所述主机加密的数据通信。所述指令还包括对重新加密的数据通信的主机加密方面进行解密,以生成软件代理加密的数据通信;进行匹配操作以确定加密的企业信息数据库与所述软件代理加密的数据通信之间是否存在匹配;对于确定存在的匹配,向所述软件代理报告所述匹配;和对于确定不存在匹配,所述软件代理采取第一动作。此外,包括硬件处理器以及具有存储在计算机可读介质上的可执行指令的所述企业,从所述企业的防火墙外部的所述主机,接收所述主机加密的数据通信;使用公共加密密钥对企业信息数据库进行加密,并重新加密所述主机加密的数据通信,并将软件代理加密的数据库和重新加密的数据通信提供给所述主机;从所述主机接收指示加密的信息数据库与软件代理加密的数据通信之间存在匹配的报告;和采取第二动作。

另外,本主题包括用于检测数据泄漏的系统和方法,包括,用于接收源自与企业相关联的用户设备的在线账户的数据通信的手段;基于所述数据通信的情境,主机进行分析以确定所述数据通信是候选数据泄漏;主机对所述数据通信进行加密并将主机加密的数据通信提供给在所述企业的软件代理;响应于接收所述主机加密的数据通信,所述软件代理通过使用公共加密密钥,对企业信息数据库进行加密并且重新加密所述主机加密的数据通信;向所述主机提供软件代理加密的企业信息数据库和重新加密的数据通信;所述主机对所述重新加密的数据通信的主机加密方面进行解密,以生成软件代理加密的数据通信;进行匹配操作以确定加密的企业信息数据库与所述软件代理加密的数据通信之间是否存在匹配;对于确定存在的匹配,所述主机向所述软件代理报告所述匹配,并且所述软件代理采取第一动作;和对于确定不存在匹配,所述主机采取第二动作。

根据该主题,代理变得不会意识到明文数据通信,并且主机变得不会意识到企业数据库中的明文信息。

还有,主机采用隐私保护集交集法来进行匹配。

另外,主机可仅对数据通信进行部分加密,并留下一部分作为原始明文。或者,主机可以完全加密数据通信。

另外,软件代理可以将噪声添加到加密的数据库并将其发送到主机。

此外,可以在主机基于情境的分析中使用布隆过滤器来确定数据通信是候选者。

软件代理也可以重新排序在重新加密主机加密的数据通信中的数字。

另外,软件代理的第一动作包括删除消息,隔离消息,或者将带有警告的数据通信发送给接收者,并且主机的第二动作包括不向软件代理报告结果(例如,指示噪音或在企业的用户的个人账户)。

附图说明

图1示出了根据示例实施方式的具有客户端和具有协议的主机的系统。

图2示出了根据示例实施方式的协议的示例。

图3示出根据示例实施方式的包括客户端和主机的协议的示例处理。

图4示出了根据示例实施方式的包括主机的协议的示例处理。

图5示出了根据示例实施方式的包括客户端的协议的示例处理。

图6示出了适合于一些示例实施方式的示例环境。

图7示出了用于一些示例实施方式中的具有与外部主机相关联的示例计算设备的示例计算环境。

图8示出了用于一些示例实施方式中的具有与客户端相关联的示例计算设备的示例计算环境。

具体实施方式

通过示例实施的方式教导了本文所描述的主题。为了清楚和避免模糊主题起见,省略了各种细节。以下示例针对的是用于实施在保护隐私的同时预防数据丢失的系统和方法的结构和功能。

示例实施方式的各方面涉及用于检测和/或预防数据泄漏、丢失或过度分享的系统和方法,包括来自受保护方协助下的情境感知敏感信息检测和经典模式匹配。系统和方法以自动、隐私保护的方式进行。例如,但不作为限制,示例系统和方法可以采用密码学,包括但不限于,隐私保护集交集算法。更具体地,隐私保护集交集算法是无需任何一方获得对方的完整数据集的知识,便能确定属于不同方的两个(或更多)数据集的交集的算法或方法。

在相关技术中,第一公司a可以为第二公司b托管文档。公司a希望提供dlp服务(例如,预防丢失敏感数据,诸如但不限于,与公司b关联的公司信用卡号码)。公司a能够在公司b共享的或通过电子邮件发送的文件中检测到看起来像信用卡号码的所有号码。然而,这些号码可能包括非信用卡号码(例如,噪声)的号码或不与公司关联的信用卡号码,但该信用卡号码是公司b的成员(例如,员工)的个人信用卡号码(例如,与公司b无关的结果)。

包含此类号码可能会向公司b暴露个人敏感信息(例如,与公司b关联的成员可能通过成员的公司电子邮件账户发送包含敏感财务信息的文件)。虽然公司b可以通过向公司a提供要检测的公司信用卡号码的数据库来解决上述问题,但这样的行为会将公司b的私密敏感信息暴露给公司a。

根据示例实施方式,采用隐私保护集交集协议。在前面的例子中,公司a只与公司b共享加密结果(例如,不共享密钥),并且公司b仅与公司a共享加密的公司卡号。依据隐私保护集交集协议的实施,结果是两个集合中都存在的元素的数量,或者是两个集合中都存在的确切元素的列表。因此,这些集合本身并未透露给任何一方。结果,因为并非所有查找结果都被报告给公司b,所以保护了个人用户和公司a的隐私,并且因为公司卡数据库不与公司a共享,所以也保护了公司b的隐私。

以下提供实施上面解释的初始协议的示例用例。尽管为了说明的目的在这里提供了具体的数据和情境,但是本示例实施方式不限于此,并且在不脱离本发明的范围的情况下可以用其他数据和/或情境替换。此外,虽然信用卡号码用于说明目的,但是示例实施方式不限于此,并且应该保护隐私的其他敏感数据可以被替换,包括但不限于,如本领域技术人员所理解的账户标识符,政府发放的账户(例如,驾驶执照或社会安全号码信息)或其他敏感信息。

在第一操作中,公司a(例如,dlp服务提供商)对传出的电子邮件进行分析。作为分析的结果,两个候选信用卡号码1111(在本说明性示例中,公司b的成员的个人信用卡号码)和2111(在本说明性示例中,公司b的官方信用卡号码,诸如,公司b的客户的信用卡信息)被识别。这种情况可能是由于公司b的成员将公司b的敏感数据的列表发送到他或她的个人账户(例如,虹吸),或者用户使用电子邮件账户用于个人用途的情形(例如,使用个人信用卡进行个人购物的在线支付),或者甚至该成员具有组合邮箱,该邮箱包含用于从普通用户接口或用户体验与个人账户和公司a账户两者进行通信的选项。

公司a使用具有交换属性的密码在密钥a上加密这些候选信用卡号码。相应地,公司a向公司b发送以下结果:a(1111),a(2111)。因此,公司b没有接收到信用卡号码的真实(例如,明文)身份,而只收到信用卡号码的加密版本。

然后,公司b(例如,dlp客户)检索其公司卡号的数据库(例如,2111,2112和2113),并且在密钥b上加密该数据库。公司b还在密钥b上加密从公司a接收的数据(即,a(1111),a(2111))。然后公司b向公司a发送以下信息:b(2111),b(2112),b(2113)和b(a(1111)b(a(2111))。结果,公司a接收公司b的账号数据库的加密版本以及公司a最初以a(1111),a(2111)发送给公司b的候选信用卡号码的加密版本(使用密钥b)。

公司a在接收到b(2111),b(2112),b(2113)和b(a(1111)),b(a(2111))之后,从双重加密的元素b(a(1111))和b(a(2111))移除公司a自己的加密,以生成b(1111)和b(2111)。公司a然后可以将它解密的元素(例如,b(1111)和b(2111))与它从公司b接收的元素(例如b(2111),b(2112),b(2113))进行比较。基于这个比较,公司a确定b(2111)在两个集合中都存在。换句话说,这个信用卡号码(2111)被公司a在电子邮件中检测到,并且也在公司b的账户数据库中,而被公司a检测到的另一个信用卡号码a(1111)不在公司b的账户数据库中。

在完成匹配值的比较和确定之后,公司a向公司b报告查找结果(b(2111))。由于公司b具有加密密钥b,所以它确切地知道在传出的电子邮件中找到的是什么信用卡号码(2111)。然而,公司a没有且不能确定b的公司卡号的数据库,并且公司b没有与其公司卡号不匹配的加密结果相关的任何实际信息。

前面的示例用例可以包括附加的可选方面。例如,只有查找结果的某些特征(例如,信用卡号码的后四位数字)可以从公司a发送到公司b,以预防需要加密和传送卡号的整个数据库。此外,公司a可以在查找结果中增加随机噪声,以预防将信息泄露给公司b。另外,可以调整元素的顺序,以防止公司a确定哪个查找结果代表公司卡。根据另一替代示例实施方式,客户可以为敏感信息的数据库构建布隆过滤器(bloomfilters)。这种方法可以被实施用于检测大数据泄漏(例如,在单个消息中的许多卡号)。

需要注意的是,公司a不仅可以托管公司b的dlp服务,而且还可以更普遍地是公司b的主机(例如,云服务提供商),并且因此可以托管服务、应用和数据(例如,公司a是公司b的云主机)。然而,即使在这样的环境中,公司a也不能访问被认为在公司b的“防火墙”内的公司b的信息。例如,但不限于,当公司a托管公司b时,可以采用加密方法来为公司b创建防火墙。

这些示例实施方式可以具有各种益处和优点。例如,但不作为限制,可以为dlp客户的成员(例如,个人用户)保护隐私,并且还可以为dlp客户和dlp服务提供商保护隐私。因此,可以提供dlp而不需要依赖可信的外部方(例如,第三方处理并知道传出数据的实际内容或明文)。因此,敏感信息的隐私得以保护。这意味着,在该示例中,即使当dlp服务提供者被妥协,来自妥协的dlp客户结构的信息也及其数据被泄漏时,dlp客户的信息不会被妥协,因为dlp服务提供者以加密表示来操控这样的信息。示例实施方式还可以被并入基于云的环境中,其中实施协议的客户侧的云组件可以以统一的、可扩展的方式部署。

图1是根据示例实施方式的系统100。更具体地,客户端101(例如,dlp客户)和dlp主机103(例如,dlp服务提供商)经由诸如因特网105的网络耦接。dlp主机103包括dlp主机服务器107,情境感知模式匹配109,隐私保护集交集比较器111,加密/解密引擎113和动作规则115。客户端101包括代理117,客户信息119,加密/解密引擎121,动作规则123以及成员的设备125。dlp主机103不在客户端101的防火墙内。根据该协议,一些操作由在客户端101的代理117进行,并且其他操作由在dlp主机103的dlp主机服务器107进行。

在系统100中,dlp主机103的dlp主机服务器107经由因特网105接收从客户端101的成员的设备125发送的传出数据。例如,但不作为限制,该传出数据可以包括作为dlp客户的成员的用户的电子邮件,并且可以包括一个或多个候选信用卡号码或是私密的其他敏感信息。

收到后,dlp主机服务器107采用情境感知模式匹配109来进行对传出数据的基于情境的分析,以搜索被泄漏信息的候选者。例如,但不作为限制,情境感知模式匹配109可以尝试查找模式(例如,连续字符的数量,或者部分或全部连续字符的值)。可选地,dlp主机103可以通过上述布隆过滤器的应用来进行分析,以确定数据通信是候选数据泄漏,以确定数据通信是候选数据泄漏。

对于包含候选泄露信息的传出数据,基于位于dlp主机103的并且不提供给客户端101的密钥,采用加密/解密引擎113对候选泄露信息进行加密。dlp主机107然后将加密的候选泄露信息提供给客户端101的代理117。

代理117在接收到加密的候选泄露信息时,应用加密/解密引擎121对接收的一次加密的候选泄露信息进行第二次加密,并且还加密客户信息119(例如,客户信息的数据库)。代理117可以访问客户信息119,并且驻留在客户端101的环境中(例如,由dlp主机103或另一主机托管的客户端101的云空间)。加密/解密引擎121使用位于客户端101的并且不提供给dlp主机103的密钥。代理117经由诸如因特网105的网络将经两次加密的候选泄漏信息和经加密的客户信息发送到dlp主机103。

dlp主机服务器107在接收到经过两次加密的候选泄露信息和经加密的客户信息时,经由加密/解密引擎113,对经过两次加密的候选泄露信息进行解密操作,以移除其最初应用的加密。结果,都由客户端101加密的加密候选泄露信息和加密客户信息保留在dlp主机103中。

然后,dlp主机服务器107应用隐私保护集交集比较器111来对加密候选泄露信息和加密客户信息的值进行匹配操作。如果作为匹配操作的结果是确定存在匹配,则dlp主机服务器107向客户端101的代理117提供包括加密的匹配候选泄露信息的报告,并且该代理应用动作规则123来确定要采取的如下面更详细解释的动作。如果作为匹配操作的结果是确定匹配不存在,则应用动作规则115,并且dlp主机采取如下面更详细地解释的动作。

在示例实施方式中,dlp主机103是客户端101的防火墙外部的主机。此外,客户可以包括但不限于企业。相应地,传出数据可以包括但不限于,源自与企业相关联的用户设备的在线账户的数据通信。因此,dlp主机103可以基于数据通信的情境来进行分析,以确定数据通信是候选数据泄漏,并且对数据通信进行加密以将主机加密的数据通信提供给在企业的软件代理117。

进一步地,响应于接收到主机加密的数据通信,并且通过使用公共(例如,共享的)加密密钥,软件代理117可以加密企业信息的数据库,并对主机加密的数据通信重新加密,并且软件代理117可以将软件代理加密的企业通信数据库和重新加密的数据通信提供给dlp主机103。主机可以对重新加密的数据通信的主机加密的方面进行解密,以生成软件代理加密的数据通信,并且进行匹配操作以确定在加密的信息数据库和软件代理加密的数据通信之间是否存在匹配。对重新加密的数据的主机加密方面进行解密(例如,解密先前应用于通信的加密以获得软件代理加密的数据通信)可以包括通过解密的手段,移除最初由主机应用于通信的加密,以获得应用了软件代理的加密而非主机的加密的数据通信(例如,软件代理加密的数据通信)。根据以上所述的对重新加密的数据的主机加密方面进行解密的能力,包括被相应地选择的被使用的密码学方法的某些性质。

对于确定存在的匹配,dlp主机103可以将该匹配报告给软件代理117,并且软件代理117可以采取第一动作。软件代理117的动作可以包括删除数据通信,隔离数据通信,以及将带有警告的数据通信发送给接收者,这些动作中的一个或多个。例如,但不限于,当数据通信的起始发送者尝试发送敏感信息时,可以被警告(例如,经由提供编辑消息以及在发送之前删除敏感数据的提示的对话框或消息弹出窗口),或者可以警告客户端101的管理员可能已经发生了泄漏。然而,示例实施方式不限于此,并且在不偏离本发明的范围的情况下,可以替代本领域技术人员可以理解的其他警告。

对于确定不存在匹配,dlp主机103可以采取第二动作。dlp主机103的第二动作可以包括不向软件代理117提供报告。

如上所述,没有为客户端101(例如,企业)处的软件代理提供由dlp主机103使用的对源自在线账户的数据通信进行加密的密钥,并且也没有为dlp主机103提供软件代理117的公共加密密钥。

根据示例实施方式,dlp103主机可以部分地加密数据通信,并且将数据通信的未加密部分留作明文。此外,dlp主机103可以向软件代理提供明文和部分加密的数据通信。结果,可以降低处理要求,因为数据通信中的每个候选泄露信息的整个字符串不需要在dlp主机103和客户端101之间被加密,传送和解密。

如上所述,软件代理117可以将噪声添加到加密数据库中,并将具有噪声的加密数据库发送到dlp主机103。类似地,软件代理117可以在对主机加密的数据通信重新加密期间,对主机加密的数据通信中的值进行重新排序。采取这种方法可以使得dlp主机103更难获得关于数据库的实际内容的信息。

图2示出了根据前述示例实施方式的用例的示例200。在201,实施上述示例实施方式以及下面描述的在图3-6中处理的dlp提供者,已经找到了具有值“1111”和“2111”的候选账号。

在203,客户公司具有包括值为“2111”、“2112”和“2113”的公司号码的数据库。没有将在201的dlp提供商的上述信息提供给在203的客户公司,而且也没有将在203的客户公司的上述信息提供给在201的dlp提供商。

在205,dlp提供商在密钥a上加密候选帐号,并向客户公司提供加密值a(1111),a(2111)。在207,客户公司在与密钥a不同的密钥b上加密公司号码的数据库中的值,并将加密值b(2111)、b(2112)、b(2113)提供给dlp提供商。另外,客户公司使用密钥b对加密的候选账号a(1111)、a(2111)进行加密,并将结果b(a(1111)),b(a(2111))提供给dlp提供商。

在209处,dlp提供商移除密钥a上的加密以获得b(1111),b(2111)。然后,dlp提供商找到这些值b(1111),b(2111)和加密的公司号码b(2111),b(2112),b(2111)之间的交集。dlp提供商将交集b(2111)发送给客户公司。客户公司解密b(2111),并因此可以确定2111是相关帐号。

图3示出了根据系统100的示例实施方式的处理300。在301,由dlp主机接收从dlp客户的成员的设备发送的,并且尚未被释放以被传送给接收方的传出数据。例如,dlp主机不接收或存储附加信息,该附加信息关于传出数据是否包括与客户端的顾客相关联的信息。在303,一旦接收到,对传出数据进行情境感知模式匹配操作(例如,基于情境的分析),以搜索泄露信息的候选者。

在305,如果在传出数据中未找到候选泄漏信息,则该处理结束(例如,dlp主机已确定传出数据中不存在泄漏)。如果在305确定传出数据包括候选泄漏信息,则处理进行到307。

在307,基于在dlp主机处并且没有提供给客户端的密钥,候选泄漏信息被加密,并被提供给客户端。例如,在309,代理(例如,为客户进行指令的客户端处的软件程序)可以接收加密的候选泄露信息。

在311,代理使用密钥对所接收的一次加密的候选泄露信息进行第二次加密,并且还对客户信息(例如,客户信息的数据库)加密。代理使用的密钥不提供给dlp主机,因此,dlp主机无法解密由代理加密的内容。同样在311,代理向dlp主机提供两次加密的候选泄漏信息和加密的客户信息。

在313,dlp主机接收两次加密的候选泄露信息和加密的客户信息,进行解密操作,以移除最初应用于两次加密的候选泄露信息上的加密。

在315,对加密的客户信息和加密的候选泄露信息的值进行匹配操作(例如,通过隐私保护集交集比较器)。

在317,确定是否已找到匹配。如果作为在317的匹配操作的结果是确定存在匹配,则在319,dlp主机向代理提供包括加密的匹配候选泄露信息的报告,并且代理确定和应用要采取的如上所述的动作。如果作为在317的匹配操作的结果是确定匹配不存在,则在321,dlp主机可选地采取如上所述的动作。

图4示出根据dlp主机103的示例实施方式的处理400。在401,接收来自dlp客户的成员的设备的传出数据。在403,一旦接收到,对传出数据执行情境感知模式匹配操作(例如,基于情境的分析),以搜索泄露信息的候选者。

在405,如果在传出数据中未找到候选泄漏信息,则该处理结束(例如,dlp主机已确定传出数据中不存在泄漏)。如果在405确定传出数据包括候选泄漏信息,则处理进行到407。

在407,基于在dlp主机处并且没有提供给客户端的密钥,候选泄漏信息(例如,潜在的数据泄漏)被加密,并被提供给客户端(例如,客户端的代理)。

在409,dlp主机接收已经使用dlp主机不可用的密钥被加密的两次加密的候选泄漏信息和加密的客户信息。例如,但不作为限制,代理使用密钥对所接收的一次加密的候选泄露信息进行第二次加密,并且还对客户信息(例如,客户信息的数据库)进行加密。代理使用的密钥不提供给dlp主机,因此,dlp主机无法解密由代理加密的内容。

在411,dlp主机进行解密操作,以移除最初应用于两次加密的候选泄露信息上的加密。

在413,对加密的客户信息和加密的候选泄露信息的值进行匹配操作(例如,通过隐私保护集交集比较器)。

在415,确定是否已找到匹配。如果作为在415的匹配操作的结果是确定存在匹配,则在417,dlp主机向代理提供包括加密的匹配候选泄露信息的报告。如果作为在415的匹配操作的结果是确定匹配不存在,则在419,dlp主机可选地采取如上所述的动作。

图5示出了根据客户端101的示例实施方式的处理500。在501,在客户端的代理从dlp主机接收加密的候选泄漏信息。对此,代理和客户端无法访问用于加密候选泄露信息的密钥,因此无法确定候选泄露信息的实际值。

在503,代理使用密钥对所接收的一次加密的候选泄露信息进行第二次加密,并且在505,对客户信息(例如,客户信息的数据库)加密。代理使用的密钥不提供给dlp主机,因此,dlp主机无法解密由代理加密的内容。

在507,代理向dlp主机提供两次加密的候选泄漏信息和加密的客户信息。

在509,代理从dlp主机接收报告,该报告包括与客户数据库的加密信息匹配的加密匹配候选泄漏信息。

在511,代理确定和应用要采取的如上所述的动作。

在一些示例中,图3-5中所示的前述处理可以用不同的,更少的或更多的块来实施。处理300、400和/或500可以以计算机可执行的指令被实施,该指令可以存储在介质上,加载到一个或多个计算设备的一个或多个处理器上,并作为计算机实施的方法被执行。

图6示出了适合于一些示例实施方式的示例环境。环境600包括设备605-645,并且每个设备都是经由例如网络660(例如,通过有线和/或无线连接)与至少一个其他设备通信地连接。一些设备可以与一个或多个存储设备630和645通信地连接。

一个或多个设备605-645的示例可以是以下图7-8中各自描述的计算设备705和/或805。设备605-645可以包括但不限于,计算机605(例如,膝上型计算机设备)、移动设备610(例如,智能手机或平板电脑)、电视机615、与车辆相关联的设备620,服务器计算机625,计算设备635-640,存储设备630和645。

在一些实施方式中,可以将设备605-620视为与企业的用户相关联的用户设备(例如,用户用于诸如在社交网络上访问服务和/或发布请求,或者在企业的防火墙内的同时访问他们的个人在线信息的设备)。设备625-645可以是与服务提供商相关联的设备(例如,由外部主机用来提供如上面关于图3-5描述的服务,和/或存储数据,诸如网页,文本,文本部分,图像,图像部分,音频,音频片段,视频,视频片段和/或有关信息)。

例如,作为企业雇员的用户(例如,爱丽丝)可以使用用户设备605或610在由一个或多个设备625-645支持的社交网络上访问、查看和/或共享可能与企业的敏感数据相关联或不相关联的个人内容。不与企业关联的爱丽丝的个人内容可以包括在企业的防火墙内的从个人账户或文件夹(例如,“爱丽丝的非工作消息”)访问的个人账户名称或号码。与企业相关联的爱丽丝的个人内容可以包括在企业的防火墙内的从爱丽丝的工作相关账户或文件夹(例如,“爱丽丝的工作消息”)访问的企业的账户持有人的账户名称或号码信息。根据上面关于图3-5描述的处理,作为外部主机(例如,鲍勃)的接收者可以使用设备615或620来访问和/或查看爱丽丝的共享内容。

图7示出了用于一些示例实施方式中的具有与外部主机相关联的示例计算设备的示例计算环境。计算环境700中的计算设备705可以包括一个或多个处理单元、内核或处理器710,内存715(例如,ram,rom等),内部存储器720(例如,磁性的,光学的,固态存储,和/或有机的)和/或i/o接口725,其中的任何一个可以耦接在用于传递信息的通信机制或总线730上,或嵌入在计算设备705中。

计算设备705可以与输入/用户接口735和输出设备/接口740通信地耦接。输入/用户接口735和输出设备/接口740中的一个或两个可以是有线或无线接口,并且可以是可拆卸的。输入/用户接口735可以包括可用于提供输入的任何设备,组件,传感器,或接口,物理的或虚拟的(例如按钮,触摸屏界面,键盘,指向/光标控制,麦克风,照相机,盲文,运动传感器,光学阅读器和/或诸如此类)。输出设备/接口740可以包括显示器,电视机,监视器,打印机,扬声器,盲文等。在一些示例实施方式中,输入/用户接口735和输出设备/接口740可以嵌入计算设备705或物理地耦接到计算设备705。在其他示例实施方式中,其他计算设备可以为计算设备705用作输入/用户接口735和输出设备/界面740或者提供输入/用户接口735和输出设备/界面740的功能。

计算设备705的示例可以包括但不限于,高度移动设备(例如,智能手机,车辆和其他机器中的设备,人和动物携带的设备等)、移动设备(例如,平板电脑,笔记本电脑,膝上型计算机,个人计算机,便携式电视机,无线电设备等)以及未针对移动性设计的设备(例如,台式计算机,其他计算机,信息亭,具有嵌入有和/或与耦合有一个或多个处理器的电视机,无线电设备等)。

计算设备705可以通信地耦接(例如,经由i/o接口725)到外部存储器745和网络750,用于与任何数量的联网组件,设备和包括具有相同或不同配置的一个或多个计算设备的系统通信。计算设备705或任何连接的计算设备可以用作,提供服务器,客户端,精简服务器,通用机器,专用机器或其他称号的服务,或称为服务器,客户端,精简服务器,通用机器,专用机器或其他称号。

i/o接口725可以包括无线通信组件(未示出),该组件促进通过语音和/或通过数据网络的无线通信。无线通信组件可以包括具有一个或多个天线的天线系统、无线电系统、基带系统,或这些系统的任何组合。射频(rf)信号可以在无线电系统的管理下,通过天线系统经空中被传送和接收。

i/o接口725可以包括但不限于,使用任何通信或i/o协议或标准(例如,以太网,802.11x,通用系统总线,wimax,调制解调器,蜂窝网络协议等),用于向和/或从计算环境700中的至少所有连接的组件,设备和网络进行信息通信的有线和/或无线接口。网络750可以是任何网络或网络的组合(例如,因特网,局域网,广域网,电话网络,蜂窝网络,卫星网络等)。

计算设备705可以使用包括暂时性介质和非暂时性介质的计算机可用或计算机可读介质和/或使用包括暂时性介质和非暂时性介质的计算机可用或计算机可读介质通信。暂时性介质包括传输介质(例如金属电缆,光纤)、信号、载波等。非暂时性介质包括磁性介质(例如磁盘和磁带),光介质(例如cdrom,数字视频盘,蓝光盘),固态介质(例如,ram,rom,闪存,固态存储)和其他非易失性存储器或内存。

计算设备705可以用于在一些示例计算环境中实施技术,方法,应用,处理或计算机可执行指令。计算机可执行指令可以从暂时性介质中被检索,并被存储在非暂时性介质上并从非暂时性介质中被检索。可执行指令可以源自任何编程,脚本和机器语言(例如,c,c++,c#,java,visualbasic,python,perl,javascript等)中的一个或多个。

处理器710可以在本地或虚拟环境中的任何操作系统(os)(未示出)下执行。可以部署包括逻辑单元760,应用编程接口(api)单元765,输入单元770,输出单元775,敏感信息确定单元780,敏感信息加密单元785,解密和匹配单元790,动作确定单元793和用于不同单元彼此之间,与os以及与其他应用(未示出)通信的单元间通信机制795的一个或多个应用。例如,敏感信息确定单元780,敏感信息加密单元785,解密和匹配单元790以及动作确定单元793可以实施图3和4所示的一个或多个处理。所描述的单元和部件可以在设计,功能,配置或实施方式上变化,并且不限于所提供的描述。

在一些示例实施方式中,当api单元765接收到信息或执行指令时,该信息或执行指令可以被传递到一个或多个其他单元(例如,逻辑单元760,输入单元770,输出单元775,敏感信息确定单元780,敏感信息加密单元785,解密和匹配单元790以及动作确定单元793)。

例如,在输入单元770已经接收到与客户的成员的传出信息相关联的传出数据之后,输入单元770可以使用api单元765来将用户指示传递给敏感信息确定单元780。例如,敏感信息确定单元780可以通过使用基于情境的分析来确定来自客户的传出信息包括候选泄漏信息。

敏感信息确定单元780可以通过api单元765与敏感信息加密单元785进行交互,以加密候选泄露信息。使用api单元765,敏感信息确定单元780可以与解密和匹配单元790进行交互,以接收和解密(例如,来自客户的)两次加密的候选泄露信息,使得由敏感信息加密单元785应用的加密被移除,然后在加密的候选泄露信息和加密的客户数据库信息之间进行匹配操作,以确定匹配的存在。当解密和匹配单元790确定不存在匹配时,动作确定单元793可以确定要采取的动作。

在一些情况下,逻辑单元760可以被配置为控制单元之间的信息流,并指导由api单元765、输入单元770、输出单元775、敏感信息确定单元780、敏感信息加密单元785、解密和匹配单元790和动作确定单元793在上面描述的一些示例实施方式中提供的服务。例如,一个或多个处理或实施方式的流程可以由逻辑单元760单独控制或者与api单元765结合来控制。

图8示出了用于一些示例实施方式中的具有与企业相关联的示例计算设备的示例计算环境。计算环境800中的计算设备805可以包括一个或多个处理单元、内核或处理器810,内存815(例如,ram,rom等),内部存储设备820(例如,磁性的,光学的,固态存储,和/或有机的)和/或i/o接口825,其中的任何一个可以耦接在用于传递信息的通信机制或总线830上,或嵌入在计算设备805中。

计算设备805可以与输入/用户接口835和输出设备/接口840通信地耦接。输入/用户接口835和输出设备/接口840中的一个或两个可以是有线或无线接口并且可以是可拆卸的。输入/用户接口835可以包括可用于提供输入的任何设备,组件,传感器,或接口,物理的或虚拟的(例如,按钮,触摸屏界面,键盘,指点/光标控制,麦克风,照相机,盲文,运动传感器,光学阅读器和/或诸如此类)。输出设备/接口840可以包括显示器,电视机,监视器,打印机,扬声器,盲文等。在一些示例实施方式中,输入/用户接口835和输出设备/接口840可以嵌入计算设备805或物理地耦接到计算设备805。在其他示例实施方式中,其他计算设备可以为计算设备805用作输入/用户接口835和输出设备/界面840或者提供输入/用户接口835和输出设备/界面840的功能。

计算设备805的示例可以包括但不限于,高度移动设备(例如,智能手机,车辆和其他机器中的设备,人和动物携带的设备等)、移动设备(例如,平板电脑,笔记本电脑,膝上型计算机,个人计算机,便携式电视机,无线电设备等)以及未针对移动性设计的设备(例如,台式计算机,其他计算机,信息亭,具有嵌入有和/或与耦合有一个或多个处理器的电视机,无线电设备等)。

计算设备805可以通信地耦接(例如,经由i/o接口825)到外部存储器845和网络850,用于与任何数量的联网组件,设备和包括具有相同或不同配置的一个或多个计算设备系统通信。计算设备805或任何连接的计算设备可以用作,提供服务器,客户端,精简服务器,通用机器,专用机器或其他称号的服务,或称为服务器,客户端,精简服务器,通用机器,专用机器或其他称号。

i/o接口825可以包括无线通信组件(未示出),该组件促进通过语音和/或通过数据网络的无线通信。无线通信组件可以包括具有一个或多个天线的天线系统、无线电系统、基带系统,或这些系统的任何组合。射频(rf)信号可以在无线电系统的管理下,通过天线系统经空中被传送和接收。

i/o接口825可以包括但不限于,使用任何通信或i/o协议或标准(例如,以太网,802.11x,通用系统总线,wimax,调制解调器,蜂窝网络协议等),用于向和/或从计算环境800中的至少所有连接的组件,设备和网络进行信息通信的有线和/或无线接口。网络850可以是任何网络或网络的组合(例如,因特网,局域网,广域网,电话网络,蜂窝网络,卫星网络等)。

计算设备805可以使用包括暂时性介质和非暂时性介质的计算机可用或计算机可读介质和/或使用包括暂时性介质和非暂时性介质的计算机可用或计算机可读介质通信。暂时性介质包括传输介质(例如金属电缆,光纤)、信号、载波等。非暂时性介质包括磁性介质(例如磁盘和磁带),光介质(例如cdrom,数字视频盘,蓝光盘),固态介质(例如,ram,rom,闪存,固态存储)和其他非易失性存储器或内存。

计算设备805可以用于在一些示例计算环境中实施技术,方法,应用,处理或计算机可执行指令。计算机可执行指令可以从暂时性介质中检索,和存储在非暂时性介质上并从非暂时性介质中检索。可执行指令可以源自任何编程,脚本和机器语言(例如,c,c++,c#,java,visualbasic,python,perl,javascript等)中的一个或多个。

处理器810可以在本地或虚拟环境中的任何操作系统(os)(未示出)下执行。可以部署包括逻辑单元860,应用编程接口(api)单元865,输入单元870,输出单元875,数据库加密单元880,接收数据加密单元885,dlp动作确定单元890和用于不同单元彼此之间,与os以及与其他应用(未示出)通信的单元间通信机制895的一个或多个应用。例如,数据库加密单元880,接收数据加密单元885和dlp动作确定单元890可以实施图3和4所示的一个或多个处理。所描述的单元和部件可以在设计,功能,配置或实施方式上变化,并且不限于所提供的描述。

在一些示例实施方式中,当api单元865接收到信息或执行指令时,该信息或执行指令可以被传递到一个或多个其他单元(例如,逻辑单元860、输入单元870、输出单元875、数据库加密单元880、接收数据加密单元885、和dlp动作确定单元890)。

例如,在输入单元870已经从dlp主机接收到加密候选泄露信息之后,输入单元870可以使用api单元865来将该信息传递给对客户信息数据库进行加密的数据库加密单元880。数据库加密单元880可以经由api单元865与接收数据加密单元885进行交互,以加密从dlp主机接收的加密候选泄漏信息。使用api单元865,dlp动作确定单元890可基于从dlp主机接收的指示候选泄露信息与客户信息数据库之间匹配的信息来确定要采取的动作。

在一些情况下,逻辑单元860可以被配置为控制单元之间的信息流,并指导由api单元865,输入单元870,输出单元875,数据库加密单元880,接收数据加密单元885,和dlp动作确定单元890在上面描述的一些示例实施方式中提供的服务。例如,一个或多个处理或实施方式的流程可以由逻辑单元860单独控制或者与api单元865结合来控制。

这里描述的任何软件组件可以采取各种形式。例如,组件可以是独立的软件包,或者组件可以是作为更大的软件产品中的“工具”的软件包。组件可以作为独立产品或作为用于安装在现有软件应用中的附加包从网络,例如,网站下载。它也可以作为客户端-服务器软件应用,作为支持web的软件应用和/或作为移动应用提供。

在这里讨论的系统收集关于用户的个人信息或者利用个人信息的情况下,可以为用户(例如,企业中具有集成在一起的工作和非工作账户的用户)提供控制程序或特性是否收集用户信息(例如,关于用户的社交网络,社交行为或活动,职业,用户的偏好或用户的当前位置的信息)的机会,或控制是否和/或如何接收来自内容服务器的可能与用户更相关的内容。另外,某些数据在被存储或使用前可能会以一种或多种方式处理,因此个人地可识别信息将被移除。例如,可以对用户的身份进行处理,使得不能确定该用户的个人可识别信息,或者在获得位置信息(例如城市,邮政编码或州级)时,可以将用户的地理位置概括化,使得不能确定用户的详细位置。因此,用户可以控制内容服务器如何收集和使用关于用户的信息。

尽管已经示出并描述了一些示例实施方式,但是提供这些示例实施方式是为了将本文所描述的主题传达给熟悉该领域的人员。应该理解,这里描述的主题可以以各种形式来实施,而不限于所描述的示例实施方式。本文所描述的主题可以在无需那些具体定义或描述的事项的情况下或者利用未描述的其他或不同的元素或事项来实践。熟悉本领域的人员将会理解,在不脱离如所附权利要求及其等同所限定的本文所描述的主题的情况下,可以对这些示例实施方式进行改变。受益于前述说明,相关附图和权利要求中给出的教导,本发明所属领域的技术人员会想到本发明的许多其他修改和其他实施例。这些修改包括所公开的特征的任何相关组合。

以下示例中总结了其他实施方式:

示例1:一种检测数据泄漏的计算机实施方法,所述方法包括:

在企业的防火墙外部的主机处,接收源自与所述企业相关联的用户设备的在线账户的数据通信;

基于所述数据通信的情境,所述主机进行分析以确定所述数据通信是候选数据泄漏;

所述主机对所述数据通信进行加密并将主机加密的数据通信提供给所述企业的软件代理;

响应于接收所述主机加密的数据通信,所述软件代理通过使用公共加密密钥,对企业信息数据库进行加密并且重新加密所述主机加密的数据通信;

向所述主机提供软件代理加密的企业信息数据库和重新加密的数据通信;

所述主机对所述重新加密的数据通信的主机加密方面进行解密,以生成软件代理加密的数据通信;

进行匹配操作以确定加密的企业信息数据库与所述软件代理加密的数据通信之间是否存在匹配;

对于确定存在的匹配,所述主机向所述软件代理报告所述匹配,并且所述软件代理采取第一动作;和

对于确定不存在匹配,所述主机采取第二动作。

示例2:根据示例1的计算机实施方法,其中使用与所述主机使用的、加密源自所述在线账户的所述数据通信的密钥所不同的密钥来进行在所述软件代理处的加密,并且使用与所述软件代理的所述公共加密密钥不同的密钥来进行在所述主机处的加密。

示例3:根据示例1或2的计算机实施方法,其中进行所述匹配操作包括应用隐私保护集交集算法。

示例4:根据示例1至3中的任一的计算机实施方法,其中所述主机部分地加密所述数据通信,并且将所述数据通信的未被加密的部分留作明文,并且将部分加密的所述数据通信和所述明文提供给所述软件代理。

示例5:根据示例1至4中的任一的计算机实施方法,还包括,所述软件代理将噪声添加到所述加密的数据库中,并将具有所述噪声的所述加密的数据库发送给所述主机。

示例6:根据示例1至5中的任一的计算机实施方法,其中所述主机进行所述分析以确定所述数据通信是所述候选数据泄漏,包括布隆过滤器应用,以确定所述数据通信是所述候选数据泄漏。

示例7:根据示例1至6中的任一的计算机实施方法,还包括,所述软件代理在所述主机加密的数据通信的重新加密期间,对所述主机加密的数据通信中的值进行重新排序。

示例8:根据示例1至7中的任一的计算机实施方法,其中所述软件代理的所述第一动作包括,删除所述数据通信,隔离所述数据通信,以及将带有警告的所述数据通信发送给接收者中的至少一个。

示例9:根据示例1至8中的任一的计算机实施方法,其中所述主机的所述第二动作包括禁止向所述软件代理发送报告。

示例10:一种企业的防火墙外部的主机检测数据泄漏的计算机实施方法,所述方法包括:

接收源自与所述企业相关联的用户设备的在线账户的数据通信;

基于所述数据通信的情境,进行分析以确定所述数据通信是候选数据泄漏;

对所述数据通信进行加密并将主机加密的数据通信提供给在所述企业的软件代理;

接收软件代理加密的企业通信数据库和由所述软件代理重新加密的所述主机加密的数据通信;

对重新加密的数据通信的主机加密方面进行解密,以生成软件代理加密的数据通信;

进行匹配操作以确定加密的信息数据库与所述软件代理加密的数据通信之间是否存在匹配;

对于确定存在的匹配,向所述软件代理报告所述匹配;和

对于确定不存在匹配,所述主机采取动作。

示例11:根据示例10的计算机实施方法,其中进行所述匹配操作包括应用隐私保护集交集算法。

示例12:根据示例10至11中的任一的计算机实施方法,其中所述主机部分地加密所述数据通信,并且将所述数据通信的未被加密的部分留作明文,并且将部分加密的所述数据通信和所述明文提供给所述软件代理。

示例13:根据示例10至12中的任一的计算机实施方法,其中所述主机进行所述分析以确定所述数据通信是所述候选数据泄漏,包括布隆过滤器应用,以确定所述数据通信是所述候选数据泄漏。

示例14:一种检测来自具有软件代理的企业的数据泄漏的计算机实施方法,所述方法包括:

从所述企业的防火墙外部的主机,接收源自与所述企业相关联的用户设备的在线账户的主机加密的数据通信;

使用公共加密密钥对企业信息数据库进行加密,并且重新加密所述主机加密的数据通信;

向所述主机提供加密的企业信息数据库和重新加密的数据通信;

从所述主机接收指示所述加密的企业信息数据库与所述重新加密的数据通信之间存在匹配的报告;和

采取第一动作。

示例15:根据示例14的计算机实施方法,其中使用与所述主机使用的、加密源自所述在线账户的所述数据通信的密钥所不同的密钥来进行在所述软件代理处的加密,并且使用与所述软件代理的所述公共加密密钥不同的密钥来进行在所述主机处的加密。

示例16:根据示例14或15的计算机实施方法,还包括,所述软件代理将噪声添加到所述加密的数据库中,并将具有所述噪声的所述加密的数据库发送给所述主机。

示例17:根据示例14至16中的任一的计算机实施方法,还包括,所述软件代理在所述主机加密的数据通信的重新加密期间,对所述主机加密的数据通信中的值进行重新排序。

示例18:根据示例14至17中的任一的计算机实施方法,其中所述软件代理的所述第一动作包括,删除所述数据通信,隔离所述数据通信,以及将带有警告的所述数据通信发送给接收者中的至少一个。

示例19:一种企业的防火墙外部的主机检测数据泄漏的系统,所述系统包括:

在所述企业的所述防火墙外部的所述主机,包括硬件处理器,和具有存储在计算机可读介质上的可执行指令,所述主机上的指令包括,

接收源自与所述企业相关联的用户设备的在线账户的数据通信;

基于所述数据通信的情境,进行分析以确定所述数据通信是候选数据泄漏;

对所述数据通信进行加密,并将主机加密的数据通信提供给在所述企业的软件代理;

接收软件代理加密的企业信息数据库和由所述软件代理重新加密的所述主机加密的数据通信;

对重新加密的数据通信的主机加密方面进行解密,以生成软件代理加密的数据通信;

进行匹配操作以确定加密的企业信息数据库与所述软件代理加密的数据通信之间是否存在匹配;

对于确定存在的匹配,向所述软件代理报告所述匹配;和

对于确定不存在匹配,所述软件代理采取第一动作;和

包括硬件处理器,和具有存储在计算机可读介质上的可执行指令的所述企业

从所述企业的防火墙外部的所述主机,接收所述主机加密的数据通信;

使用公共加密密钥对企业信息数据库进行加密,并重新加密所述主机加密的数据通信,并将软件代理加密的数据库和重新加密的数据通信提供给所述主机;

从所述主机接收指示加密的企业数据库与软件代理加密的数据通信之间存在匹配的报告;和

采取第二动作。

示例20:根据示例19的系统,其中使用与所述主机使用的、加密源自所述在线账户的所述数据通信的密钥所不同的密钥来进行在所述软件代理处的加密,并且使用与所述软件代理的所述公共加密密钥不同的密钥来进行在所述主机处的加密。

示例21:用于使一个或多个计算机执行示例1至18中任一示例所述的方法的程序。

示例22:一种存储示例21中所述的程序的非暂时性计算机可读记录介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1