首页> 中国专利> 用于检测敏感信息泄漏同时保护隐私的系统和方法

用于检测敏感信息泄漏同时保护隐私的系统和方法

摘要

用于隐私保护数据丢失检测的系统和方法包括:执行对于候选数据泄漏的在线信息的扫描以生成在线数据集;执行在线数据集的分析以确定在线信息是候选数据泄漏;主机加密数据通信并将主机加密的数据通信提供给企业处的软件代理;响应于接收到主机加密的数据通信,软件代理加密企业信息数据库并重新加密主机加密的数据通信,并将其提供给主机;主机解密重新加密的数据通信的主机加密方面以生成软件代理加密的数据通信;确定在加密的信息数据库和软件代理加密的数据通信之间是否存在匹配;以及根据匹配是否存在,软件代理采取第一动作或主机采取第二动作。

著录项

  • 公开/公告号CN113326517A

    专利类型发明专利

  • 公开/公告日2021-08-31

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN202110598827.7

  • 发明设计人 伊凡·梅德韦杰夫;

    申请日2016-12-20

  • 分类号G06F21/60(20130101);G06F21/62(20130101);G06Q40/08(20120101);G06Q50/26(20120101);

  • 代理机构31300 上海华诚知识产权代理有限公司;

  • 代理人肖华

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 12:24:27

说明书

本案是专利申请号:201680072078.1,专利申请日:2016年12月20日,专利名称:用于检测敏感信息泄漏同时保护隐私的系统和方法的分案申请。

背景技术

技术领域

在此所讨论的主题总体上涉及检测敏感信息的泄漏同时还保护隐私的方法和系统,并且更具体地涉及外部主机和企业之间的协议以便以保护私人信息的方式检测大规模的数据泄漏。

相关技术

在相关技术中,与敏感用户数据相关联的在线信息攻破随着规模和成本的增长而发生。例如,是在线实体的企业,例如零售商、保险公司和政府机关(agency),可能会经历与个人用户相关的敏感信息的大规模损失(或泄露)。例如,第三方可以窃取(例如破解)信用卡号码、社会安全号码或账户信息,公开显示敏感信息,或试图以未经授权的方式出售敏感信息。

与敏感数据泄漏相关的攻破规模很大(例如,数百万的在线用户账户)并且发生迅速,并且可能导致在线实体(例如企业)以及个人用户的损失。此外,对于企业本身可能难以或不可能检测到泄漏。即使检测到泄漏,泄漏事件和泄漏事件的检测之间可能存在明显的时间延迟。

为了解决上述问题,可以采用相关技术方法。例如,实体(例如,诸如在线零售商或机关的企业,但不限于此)可以联系主机并向主机提供在线数据丢失的指示。例如,但不作为限制,企业可以向主机指示其认为信用卡号可能已经从客户端泄露,并且希望主机确定泄漏是否已经发生。

响应于该请求,相关技术主机可以能够在线搜索信用卡号码,但是不能以隐私保护的方式进行搜索。此外,如上所述,攻破与企业意识到攻破之间存在时间差。另外,一些在线企业不能够使用其自身的监控工具来检测违规行为。

因此,需要企业能够让主机关于是否存在数据丢失(例如,大规模)快速地进行判断,而不用向主机提供实际的敏感信息,主机不知道数据丢失的源,以便保护隐私。

发明内容

本主题包括用于检测数据泄漏的计算机实现的方法,包括一种检测数据泄漏的计算机实现的方法,所述方法包括:由企业的防火墙外部的主机执行对于候选数据泄漏的在线信息的扫描,以生成在线数据集;所述主机基于所述在线数据集的上下文(context),执行所述在线数据集的分析,以确定所述在线信息是所述候选数据泄漏;所述主机加密数据通信,并将所述主机加密的所述数据通信提供给所述企业处的软件代理,所述数据通信与是所述候选数据泄漏的所述在线信息相关联;响应于接收所述主机加密的所述数据通信,并且通过使用公共加密密钥,所述软件代理加密企业信息的数据库并且重新加密所述主机加密的所述数据通信;向所述主机提供所述软件代理加密的所述企业信息数据库和重新加密的所述数据通信;所述主机解密重新加密的所述数据通信的主机加密方面,以生成所述软件代理加密的所述数据通信;执行匹配操作,以确定加密的所述企业信息数据库与所述软件代理加密的所述数据通信之间是否存在匹配;对于确定存在的所述匹配,所述主机向所述软件代理报告所述匹配,并且所述软件代理采取第一动作;以及对于确定不存在的所述匹配,所述主机采取第二动作。

本主题还包括所述企业处的所述软件代理不被提供由所述主机使用的加密源自与所述候选数据泄漏相关联的在线账户的所述数据通信的密钥,并且所述主机不被提供所述软件代理的所述公共加密密钥。

根据本主题,执行所述匹配操作包括应用隐私保护集合交集算法。进一步,所述主机部分地加密所述数据通信,并且将所述数据通信的未加密部分留作明文,并且将部分加密的所述数据通信和所述明文提供给所述软件代理。

另外,根据本主题,所述软件代理将噪声添加到加密的所述企业信息数据库中,并将具有所述噪声的加密的所述企业信息数据库发送给所述主机。并且,所述在线信息的扫描是互联网的网络扫描,并且所述互联网的所述网络扫描处于规定的时间段。

进一步,本主题包括在所述主机加密的所述数据通信的重新加密期间,所述软件代理重新排序所述主机加密的所述数据通信中的值。另外,所述主机向所述软件代理报告所述匹配包括所述主机向所述软件代理提供以下中的至少一个:匹配的数量,加密的匹配候选泄漏信息,以及与所述候选数据泄漏的来源相关联的信息。

本主题进一步包括,与所述候选数据泄漏的来源相关联的所述信息包含以下中的至少一个:在所述网络扫描期间被识别为所述候选数据泄漏的所述来源的统一资源定位符(URL),以及与所述URL相关联的元数据。

本主题还针对一种在企业的防火墙外部的主机处检测数据泄漏的计算机实现的方法,所述方法包括:由所述企业的所述防火墙外部的所述主机执行对于候选数据泄漏的在线信息的扫描,以生成在线数据集;所述主机基于所述在线数据集的上下文,执行所述在线数据集的分析,以确定所述在线信息是所述候选数据泄漏;加密数据通信,并将所述主机加密的所述数据通信提供给所述企业处的软件代理,所述数据通信与是所述候选数据泄漏的所述在线信息相关联;接收所述软件代理加密的企业信息数据库和被所述软件代理重新加密的所述主机加密的所述数据通信;解密重新加密的所述数据通信的主机加密方面,以生成所述软件代理加密的所述数据通信;执行匹配操作,以确定加密的所述企业信息数据库与所述软件代理加密的所述数据通信之间是否存在匹配;对于确定存在的所述匹配,向所述软件代理报告所述匹配;以及对于确定不存在的所述匹配,所述主机采取动作。

根据本主题,执行所述匹配操作包括应用隐私保护集合交集算法。

进一步,根据本主题,所述主机向所述软件代理报告所述匹配包括所述主机向所述软件代理提供以下中的至少一个:匹配的数量,加密的匹配候选泄漏信息,以及与所述候选数据泄漏的来源相关联的信息。

另外,本主题包括所述在线信息的扫描是互联网的网络扫描,并且所述互联网的所述网络扫描处于规定的时间段。

一种从具有软件代理的企业检测数据泄漏的计算机实现的方法,所述方法包括:

从所述企业的防火墙外部的主机接收所述主机加密的数据通信,所述主机加密的所述数据通信源自与候选数据泄露相关联的在线源;

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

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

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

采取第一动作。

根据本主题,所述企业处的所述软件代理不被提供由所述主机使用的加密源自与所述候选数据泄漏相关联的在线账户的所述数据通信的密钥,并且所述主机不被提供所述软件代理的所述公共加密密钥。

本主题还包括所述软件代理将噪声添加到加密的所述企业信息数据库中,并将具有所述噪声的加密的所述企业信息数据库发送给所述主机。

进一步,本主题包括在所述主机加密的所述数据通信的重新加密期间,所述软件代理重新排序所述主机加密的所述数据通信中的值。

根据本主题,所述软件代理的所述第一动作包括向机构提供所述数据泄漏与所述企业相关联的警告。

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

进一步,根据本主题,所述企业处的所述软件代理不被提供由所述主机使用的加密源自与所述候选数据泄漏相关联的在线账户的所述数据通信的密钥,并且所述主机不被提供所述软件代理的所述公共加密密钥。

附图说明

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

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

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

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

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

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

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

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

具体实施方式

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

示例实施方式的各方面针对于允许客户端(例如,诸如零售商或政府机关的企业)确定与客户端的用户相关联的敏感信息是否已经泄露(例如被盗)。例如,数据泄漏可能是大规模的数据泄漏(例如,数百万个帐户)。该确定由主机进行,而客户端不用向主机透露敏感信息,并且主机不提供因确定处理产生的将要提供给客户端的任何潜在的敏感信息。

例如,但不作为限制,示例实施方式可以包括客户端,该客户端是诸如企业的在线实体,该企业具有向企业提供了敏感信息的用户。例如,企业可以是在线零售商,并且用户可以是使用电子支付,例如通过信用卡、借记卡、移动设备支付系统或如本领域技术人员将理解的其他支付方式,从在线零售商的网站进行购买的消费者。或者,企业可以是机关(例如,税务、机动车辆、医疗保健),并且用户可以是与该机关具有包括敏感信息(例如,社会安全号码、驾驶证信息、保险帐号、医疗状况)的在线交易的个人。客户端可以是由主机提供的在线托管服务(例如,云计算或在线应用平台)的用户,或者客户端根本不是在线托管服务的用户。

在示例实施方式中,主机包括引擎,该引擎执行在与主机相关联的数据(例如,文档)中对客户端的敏感信息的在线搜索。与主机相关联的数据可以是内部的(例如,存储在基于云的服务中并且与客户端关联)或者外部的(例如,在线的并且在互联网上公开的)。例如,可以执行可用在线数据的网络扫描,而不限于与客户端或主机相关联的位置,以执行上下文感知模式匹配以检测互联网上一位置处(例如,URL)指示数据泄漏事件的潜在敏感信息。在示例实施方式中,对数据泄露负责的一方(例如,诸如黑客的不良行为者)的身份可能不为人所知,并且潜在责任方的信息也可能不可用。

进一步,客户端包括可以在客户端的安全环境(包括主机的安全在线环境)中运行的代理。如以下进一步的细节中所解释的,该代理是可操作地以促进安全集合交叉协议。类似地,主机也包括一个促进安全交叉协议的组件。用户接口(UI)也被提供,以允许客户端提供信息(例如,对要保护的敏感信息的设置),并向用户提供确定结果(例如,数据泄露或数据失窃信息)。

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

在相关技术中,第一公司A希望提供数据泄漏检测服务(例如识别敏感数据的丢失,诸如但不限于与公司B相关联的公司信用卡号码)。公司A也许能够检测到互联网上看起来像与公司B相关的敏感信息的信息(例如,公司B的用户或账户持有者)。然而,互联网上可用的信息也包括不是敏感信息的信息(例如噪声)。

公司A确定的例如信用卡号码和/或社会安全号码的信息的未授权泄漏,如果被提供给公司B,可能会向公司B暴露个人敏感信息。公司B可以通过向公司A提供要检测的公司信用卡号码的数据库来解决上述问题,这样的行为会将公司B的私人敏感信息暴露给公司A。

根据示例实施方式,隐私保护集合交集协议被采用。在上述示例中,公司A仅与公司B共享加密结果(例如,不共享密钥),并且公司B仅与公司A共享加密的公司卡号而不共享其密钥。依赖于隐私保护集合交集协议的实现,结果是均存在于两个集合中的元素的数量,均存在于两个集合中的确切元素的列表和/或与元素的来源相关联的信息(例如,A公司在搜索过程中发现信息的第三方网站的统一资源定位符(URL),第三方网站是在线显示或销售的被盗敏感信息的来源)。

因此,集合本身没有被透露给任何一方。结果,因为与用于调查结果(findings)的网络扫描和模式匹配相关联的实际信息未被报告给公司B,个人用户和公司A的隐私被保护,并且因为公司卡片数据库未与公司A共享,公司B的隐私也被保护。

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

在第一个操作中,公司A(例如主机)进行互联网的分析、搜索似乎是敏感数据的数字。例如,公司A可能会在互联网上执行对所有类似信用卡号码或类似社会安全号码的搜索。

作为分析的结果,两个候选信用卡号码1111和2112从第三方网站被识别出。这种情况可能是由于第三方以未经授权的方式访问在线信息或者能够访问敏感信息的个人将敏感数据提供给第三方。因此,敏感信息已被泄露,并可在互联网上获得。因此,公司A的网络扫描识别并汇编了候选数据泄漏信息。

然后,公司A使用密钥A对候选数据泄漏信息的每个成员进行加密,以生成A(1111)、A(2111),并将加密的候选数据泄漏信息A(1111)、A(2111)发送给公司B。因此,公司B没有收到候选数据泄露信息的任何值,而是仅收到加密值。结果,公司B接收到可能包含数据泄漏的候选信用卡号码的加密版本(使用密钥A)。

相应地,公司B(例如,客户端)检索其公司卡号的数据库(例如,2111、2112和2113),并且使用具有交换性质的密码基于密钥B加密数据库中的信息以生成B(2111)、B(2112)、B(2113)。相应地,公司B向公司A发送以下结果:B(2111)、B(2112)、B(2113)。因此,公司A没有收到信用卡号码的真实(例如明文)身份,而只收到信用卡号码的加密版本。此外,公司B还使用密钥B将其从公司A接收到的加密的候选数据泄漏信息加密为B(A(1111))、B(A(2111)),并将该结果发送给公司A。

在接收到B(2111)、B(2112)、B(2113)和B(A(1111))、B(A(2111))之后,公司A从双重加密的元素B(A(1111))和B(A(2111))中去除该公司A自己的加密,以生成B(1111)和B(2111)。然后公司A可以将公司A关于密钥A解密的元素(例如,B(1111)和B(2111))与公司A从公司B接收的元素(例如,B(2111)、B(2112)、B(2113))进行比较。基于此比较,公司A确定B(1111)不存在于两组集合中,并且B(2111)存在于两组集合中。换言之,信用卡号码(2111)存在于公司A在网络扫描期间检测到的搜索结果中,以及公司B的帐户数据库中,而公司B数据库中的其他信用卡号码(2112)和(2113)在公司A的搜索结果中未被发现,并且公司A的搜索结果包括(1111),其不是与公司B关联的信用卡号码。

在完成匹配值的比较和确定之后,公司A向公司B提供结果,该结果可以包括“命中(hits)”的数量、加密值本身(在这种情况下,B(2111)或其他信息,例如,发现候选数据泄漏信息的URL,或者相关元数据。由于公司A定期(例如,每日)运行网络扫描,因此关于与URL相关联的过去的候选数据泄漏信息的历史信息也可以被报告给公司B。如果没有命中,则这表明公司B没有任何潜在的数据泄漏。如果有命中,这可能表明公司B有潜在的数据泄漏。如果扫描被定期(例如,每日)执行,则可以创建能够被公司B用于观察趋势并进行数据分析的历史数据。

趋势分析可以提供数据泄漏的间接指示。例如,但不限于,敏感信息的子集(例如,一些卡号)可能在过去已经被泄露,并且新的泄漏可能不一定暴露所有敏感数据(例如,所有卡号),该敏感数据被在线泄露。通过与原始的命中的数量相比进行趋势分析,可以增强泄漏事件检测。

例如,但不限于,客户端(例如公司)可能在其数据库中具有100万个帐号,并且主机确定历史上平均每日只有5个帐号被暴露在网上。然而,在某一天,十五个帐号可能已被暴露在网上并被主机检测到。与历史趋势的这种偏离可以提供敏感信息的潜在数据泄露的指示。

可选择地,即使在某一天检测到总数相同的账号,主机检测到的详细账号也可能不同。在前面的示例中,如果日平均历史趋势是每天检测到五个账号,那么这五个账号中的一个或多个可能被重复。如果在某一天,五个检测到的账号的实际号码与检测到的账号的历史趋势不同。或者,主机可能平均检测到五个帐号,并且这五个号码可能在重复。然而,如果在其中一天,检测到的五个号码与在重复的五个号码不同,则与历史趋势的这种偏离可以提供敏感信息的潜在数据泄漏的指示。

由于公司B具有密钥B,所以它可以确定由公司A识别为候选数据泄漏信息的信用卡号码,包括(2111)。然而,公司A没有且不能确定B的公司卡号的数据库,并且公司B没有任何与公司A提供的加密结果相关的实际信息,这些加密结果与公司B的公司卡号不匹配。

上述示例用例可以包括附加的可选方面。例如,只有调查结果的某些特征(例如,信用卡号码的最后4位数字)可以从公司A发送到公司B,以避免加密并传输整个卡号数据库的需要。此外,随机噪音可以被添加到公司A的调查结果中,以防止信息从公司A泄漏到公司B。此外,元素的顺序可以被调整,以防止公司A确定哪一个调查结果代表公司卡。根据另一供选择的示例实施方式,客户端可以使用布隆过滤器,特别是如果在主机检测到的候选数据泄漏中存在相当多的敏感信息并且使用主机侧密钥(例如密钥A)以加密形式被传递给客户端。

应该注意的是,虽然对这些示例实施方式不是必需的,但公司A可以可选地为公司B托管一个或多个在线服务,或者更一般地也可以是公司B的主机(例如,云服务提供者),并因此可以托管服务、应用和数据(例如,公司A是公司B的云主机)。然而,即使在这样的环境中,公司A也不能访问被认为在公司B的“防火墙”内的公司B的信息。例如,但不限于,当A公司托管公司B时,可以采用加密方法来为B公司创建防火墙。

图1示出了根据示例实施方式的系统100。更具体地说,客户端101(例如企业,但不限于此)和主机103(例如,服务提供者,但不限于此)经由诸如互联网105的网络耦合。主机103包括主机服务器107、上下文感知模式匹配109、隐私保护集合交集比较器111、加密/解密引擎113以及动作规则115。客户端101包括代理117、客户端信息119、加密/解密引擎121以及动作规则123。主机103不在客户端101的防火墙内。根据协议,一些操作由客户端101处的代理117执行,并且其他操作由主机103处的主机服务器107执行。另外,未经客户端101授权的第三方125可能参与未经授权的数据泄露活动,诸如黑客攻击,并且可能获得客户端101的敏感信息,并且使得信息在互联网105上可用,诸如通过公布和/或公开出售。

在系统100中,由主机103的主机服务器107定期(例如,每天,但不限于此)扫描互联网105上的公共可用信息。例如,但不作为限制,主机服务器107执行扫描网络的公知方法以识别看起来是敏感信息的信息。例如,但不作为限制,主机服务器107采用上下文感知模式匹配109对互联网上的信息执行基于上下文的分析,以搜索泄露信息的候选者。例如,但不作为限制,上下文感知模式匹配109可以尝试查找模式(例如,连续字符的数量,或者部分或全部连续字符的值)。可选地,主机103可以通过应用上述布隆过滤器来执行分析以找到候选泄漏信息。

对于由主机服务器107使用上下文感知模式匹配109执行的网络扫描所确定的候选泄露信息,加密/解密引擎113被采用以基于主机103处的密钥加密候选泄露信息;主机103处的密钥不提供给客户端101。然后主机107将加密的候选泄露信息提供给客户端101的代理117。

代理117在接收到加密的候选泄露信息时,应用加密/解密引擎121对所接收的一次加密的候选泄露信息执行第二次加密,并且也加密客户端信息119(例如,客户端信息的数据库)。代理117可以访问客户端信息119,并且驻留在客户端101的环境中(例如,由主机103或另一主机托管的客户端101的云空间)。加密/解密引擎121使用在客户端101处的不同密钥,并且该不同密钥不被提供给主机103。代理117经由诸如互联网105的网络将经过两次加密的候选泄露信息和经加密的客户端信息发送给主机103。在整个说明书中,术语“重新加密”、“两次加密”和“双重加密”被同义使用。

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

然后主机服务器107应用隐私保护集合交集比较器111对加密的候选泄露信息和加密的客户信息的值执行匹配操作。

如果匹配操作的结果为确定匹配存在,则主机服务器107向客户端101的代理117提供报告,该报告包括匹配的数量、加密的匹配候选泄露信息和/或与候选数据泄漏源相关联的信息(例如,URL和相关联的元数据)。如以下更详细解释的那样,代理117应用动作规则123来确定要采取的动作。如果匹配操作的结果为确定匹配不存在,则动作规则115被应用,并且如以下更详细解释的那样,主机103采取动作。

如上所述,响应于接收到主机加密的数据通信,并且通过使用公共加密密钥,软件代理117可以加密企业信息的数据库并且重新加密主机加密的数据通信,并且向主机103提供软件代理加密的企业信息的数据库和重新加密的数据通信。主机可以解密重新加密的数据通信的主机加密方面以生成软件代理加密的数据通信,并且执行匹配操作以确定在加密的信息数据库和软件代理加密的数据通信之间是否存在匹配。

对于确定存在的匹配,主机103可以向软件代理117提供报告,并且软件代理117可以基于该报告采取第一动作。如上所述,报告可以包括匹配的数量、加密的匹配候选泄露信息、和/或与候选数据泄漏源相关联的信息(例如,URL和相关联的元数据)。

软件代理117的动作可以包括检查匹配的数量,并且如果匹配的数量超过阈值,则确定发生了数据泄漏事件。然而,检查不限于确定匹配的数量是否超过阈值,并且其他分析方法可以为此被替代,或者与上述检查结合使用。

例如,但不作为限制,代替(或除了)比较匹配的数量和阈值,匹配的数量可以与整个分析历史期间每天命中数量的历史均值相比较,或与其一些子集(例如,之前数天、数周或数月的数量;每周、每月或每年的某一天的平均值;或本领域技术人员将理解的其他子集)相比较。

此外,根据另一示例实施方式,可以针对除了匹配数量之外的信息来执行分析。例如,主机检测到的公布相同的泄漏敏感信息的站点(例如,URL)的数量或主机检测到的公布相同的泄露敏感信息的站点数量的变化,可以提供指示敏感信息泄漏的信息。这些信息可能对例如执法机构和/或客户端的数据泄漏调查有用。

软件代理117可以自动地和/或基于手动检查步骤产生并向相关机构(例如信用卡相关公司、银行、执法机关、许可证发行机关或本领域技术人员将理解的其他机构)提供警告。此外,客户端101的管理员可以被警告可能已经发生了泄漏。然而,示例实施方式不限于此,并且本领域技术人员将理解的响应于数据泄漏的其他动作可以为此被替换,而不脱离本发明的范围。

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

如上所述,客户端101(例如,企业)处的软件代理未被提供有主机103用于加密候选数据泄漏信息的密钥,并且主机103未被提供有软件代理117的公共加密密钥。

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

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

上述示例实施方式可以针对各种实体,并且用于各种环境中。以下提供了示例实施方式的使用类型的示例。然而,如本领域技术人员将理解的那样,这些示例实施方式并非旨在进行限制,并且其他环境可以为此被替换。

例如,但不作为限制,上述示例实施方式可以针对进行在线交易(例如,在线用户的零售商品和/或服务的信用卡购买)的消费者零售商。与在线交易相关联的敏感信息可以包括但不限于信用卡信息、银行账户信息和与用户相关联的在线信息(例如,用户简介、密码、人口统计信息、用户购买偏好等等)。

另外,示例实施方式可以针对诸如身份盗窃机关的在线实体。根据该示例实施方式,身份盗窃机关可以匹配与其客户相关联的数据,以协助在线账户盗窃的检测。身份盗窃机关的在线客户可以包括但不限于已请求身份盗窃机关对用户选择的信息(例如,信用卡号码、社会安全号码、电话号码、银行账户信息、诸如国际移动设备识别码(IMEI)的用户设备信息,等等)进行保护的用户。

此外,示例实施方式可以针对在线实体的内部环境,诸如在线的公司环境。例如,但不作为限制,组织可以采用示例实施方式以隐私保护的方式在线搜索可能被泄露的内部信息。此类信息可能包括但不限于商业秘密、内部项目名称或项目代码、或者其他机密信息。

而且,示例实施方式可以针对在线应用开发者。在线应用开发者可能具有与用户交互的在线应用的后端。例如但不限于,在在线游戏的上下文中,后端可以聚集与用户的身份、分数和性能相关联的信息,并且可以包括在线用户可能希望应用开发者保密的统计信息。在线用户可能希望这些信息以及与购买模式、使用模式和其他在线用户信息相关的信息被保密。

示例实施方式还可以包括主机为多于一家公司执行互联网的网络扫描并提供结果和报告的情况。在这种情况下,每家公司可能会关于报告内容与主机具有自己的协议。例如,一家公司可能只需要匹配的数量,而另一家公司可能需要匹配的数量以及数据泄露源URL的信息。主机可以使用能够被公司更新的关于报告内容的规则或规则库。此外,公司可以对主机向公司提供的数据运行诊断。例如,主机可以通知公司关于包含在公司数据库中的总命中的百分比,以便公司可以确定与公司相关的数据泄漏的比例。然后公司可以对主机提供的分析信息应用过滤或执行其他诊断。主机也可以为公司提供仪表板式的界面,该界面为公司提供详细的诊断信息的可视指示,包括基于过去的网络扫描的历史数据。

图2示出了根据上述示例实施方式的用例200的示例。在201处,提供者已经发现了具有值“1111”和“2111”的候选帐号,作为互联网搜索(例如网络扫描)的结果,该提供者实现上述示例实施方式以及如下所述的和图3-6中的处理。

在203处,客户端公司具有包括值“2111”、“2112”和“2113”的公司号码的数据库。在203处的客户端公司未被提供在201处的提供者的上述信息,并且在201处的提供者也未被提供在203处的客户端公司的上述信息。

在205处,提供者基于密钥A加密候选账号,并将加密值A(1111)、A(2111)提供给客户端公司。在207处,客户端公司基于不同于密钥A的密钥B对其公司号码数据库中的值进行加密,并向提供者提供加密值B(2111)、B(2112)、B(2113)。此外,客户端公司使用密钥B对加密的候选账号A(1111)、A(2111)进行加密,并将结果B(A(1111))、B(A(2111))提供给提供者。

在209处,提供者去除基于密钥A的加密,以获得B(1111)、B(2111)。然后提供者发现这些值B(1111)、B(2111)和加密的公司号码B(2111)、B(2112)、B(2113)之间的交集。提供者向客户端公司发送报告,该报告可以包括匹配的数量、作为交集B(2111)的经加密的匹配候选泄露信息、和/或与候选数据泄漏源相关联的信息(例如,URL和相关的元数据)。客户端公司解密B(2111),并因此可以确定2111是相关帐号。

图3示出了根据系统100的示例实施方式的处理300。在301处,执行对在线信息池的搜索以获得泄露信息的候选。例如,但不作为限制,可以执行互联网的网络扫描以获得该信息。在303处,301处获取操作的结果一旦被接收到,就被提供用于上下文感知模式匹配操作,上下文感知模式匹配操作是对网络扫描的结果执行的(例如,基于上下文的分析),以搜索泄露信息的候选者。例如,如上所述,上下文(context)可以指的是在线数据的上下文中的信用卡号码,该信用卡号码为泄露信息的候选者,并且上下文感知模式匹配可以尝试查找模式(例如,可以指示信用卡号码的部分或全部连续字符的值或连续字符的数量)。或者,示例实施方式可以针对在线应用开发者的上下文,该在线应用开发者具有用于与用户交互的在线应用的后端,该后端可以聚集与用户的身份、分数和性能相关联的信息,以及在线用户可能希望应用开发者在在线应用的上下文中保密的统计信息。此外,是潜在泄漏信息的候选者的上下文可以包括被保密的购买模式、使用模式和其他在线用户信息。然而,示例实施方式不限于此,并且隐私应该被保护的其他敏感数据可以被替换,包括但不限于账户标识符、政府发行账户(例如驾驶执照或社会安全号码信息)或其他敏感信息,如本领域技术人员所理解的那样。

在305处,如果在输出数据中未找到候选泄漏信息,则处理结束(例如,主机已经基于网络扫描确定互联网上没有敏感数据泄漏)。如果在305处网络扫描结果被确定为包括候选泄漏信息,则处理进行至307。

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

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

在313处,主机接收经过两次加密的候选泄露信息和经加密的客户端信息,执行解密操作,以去除其最初应用于经过两次加密的候选泄露信息的加密。

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

在317处,确定是否找到一个或多个匹配。如果作为317处的匹配操作的结果而确定匹配存在,则在319处,主机向代理提供报告,该报告包括匹配的数量、加密的匹配候选泄露信息和/或与候选数据泄漏源相关联的信息(例如,URL和相关的元数据),并且代理应用确定要采取的动作,如上所述。如果作为317处的匹配操作的结果而确定匹配不存在,则在321处主机可选地采取动作,如上所述。

图4示出了根据主机103的示例实施方式的处理400。在401处,执行信息池的搜索以获得泄漏信息的候选。例如,但不作为限制,可以执行互联网的网络扫描以获得该信息。在403处,401的获取操作的结果一旦被接收,就被提供用于上下文感知模式匹配操作,上下文感知模式匹配操作是对网络扫描的结果执行的(例如,基于上下文的分析),以搜索泄漏信息的候选者。

在405处,如果在输出数据中未找到候选泄漏信息,则处理结束(例如,主机已经基于网络扫描确定互联网上没有敏感数据泄漏)。如果在405处确定输出数据包括候选泄露信息,则处理进行至407。

在407处,基于在主机处的并且未被提供给客户端的密钥加密候选泄露信息(例如,互联网上的数据泄露),并且将加密的候选泄露信息提供给客户端(例如客户端处的代理)。

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

在411处,主机执行解密操作,以去除其最初应用于经两次加密的候选泄露信息的加密。

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

在415处,确定是否找到匹配。如果作为415处的匹配操作的结果而确定匹配存在,则在417处,主机向代理提供报告,该报告包括匹配的数量、加密的匹配候选泄露信息和/或与候选数据泄漏源相关联的信息(例如,URL和相关的元数据),并且代理应用确定要采取的动作,如上所述。如果作为415处的匹配操作的结果而确定匹配不存在,则在419处,主机可选地采取动作,如上所述。

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

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

在507处,代理将经过两次加密的候选泄露信息和经加密的客户端信息提供给主机。

在509处,代理从主机接收报告,该报告包括匹配的数量、加密的匹配候选泄露信息、和/或与候选数据泄漏源相关联的信息(例如,URL和相关的元数据),并且代理应用确定要采取的动作,如上所述。

在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的服务,和/或存储数据,数据诸如网页、文本、文本部分、图像、图像部分、音频、音频片段、视频、视频片段和/或类似信息)。

例如,但不作为限制,未被在通过一个或多个设备625-645支持的网络上具有用户设备605或者610的企业授权的用户(例如,Alice)可能已经以未被授权的方式访问、查看和/或共享过敏感信息,并且如果Alice从企业内部泄漏数据,则使用设备605或者610使这样的信息在互联网上可获得,或者使用其他的用户设备615使这样的信息在互联网上可获得。按照以上关于图3-5描述的处理,作为主机的接收者(例如Bob)可以使用设备620访问和/或查看Alice共享的敏感信息(例如,候选泄露信息)。

图7示出了用于一些示例实施方式的具有与外部主机相关联的示例计算设备的示例计算环境。计算环境700中的计算设备705可以包括:一个或多个处理单元、核心或处理器710,内存(memory)725(例如,RAM、ROM和/或类似物),内部存储器720(例如,磁性、光学、固态存储器、和/或有机),和/或I/O接口715,其中的任何一个可以被耦合到用于传送信息的通信机构或总线730上,或者被嵌入在计算设备705中。

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

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

计算设备705可以被可通信地耦合(例如,经由I/O接口715)到外部存储器745和网络750,网络750用于与任意数量的联网组件、设备和包括一个或多个相同或不同的配置的计算设备的系统通信。计算设备705或任何连接的计算设备可以充当服务器、客户端、瘦服务器、通用机器、专用机器或其他标签,可以提供服务器、客户端、瘦服务器、通用机器、专用机器或其他标签的服务,或者可以被称为服务器、客户端、瘦服务器、通用机器、专用机器或其他标签。

I/O接口715可以包括无线通信组件(未示出),无线通信组件方便通过语音和/或通过数据网络的无线通信。无线通信组件可以包括具有一个或多个天线的天线系统、无线电系统、基带系统、或这些的任何组合。射频(RF)信号可以在无线电系统的管理下由天线系统通过空中被传输和接收。

I/O接口715可以包括,但不限于,使用任何通信或I/O协议或标准(例如,以太网、802.11x、通用系统总线、WiMax、调制解调器、蜂窝网络协议等)的有线和/或无线接口,通信或I/O协议或标准用于将信息传送至计算环境700中的至少所有连接的组件、设备和网络,和/或从计算环境700中的至少所有连接的组件、设备和网络传送信息。网络750可以是任何网络或网络的组合(例如,互联网、局域网、广域网、电话网络、蜂窝网络、卫星网络等)。

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

计算设备705可以用于实现一些示例计算环境中的技术、方法、应用、处理或计算机可执行指令。计算机可执行指令可以从暂时性介质中检索,并且存储在非暂时性介质上并从非暂时性介质中被检索。可执行指令可以源自任意编程、脚本和机器语言(例如,C、C++、C#、Java、Visual Basic、Python、Perl、JavaScript及其他)中的一个或多个。

处理器710可以在本机或虚拟环境中在任何操作系统(OS)(未示出)下执行。一个或多个应用可以被部署,该应用包括逻辑单元760、应用程序编程接口(API)单元765、输入单元770、输出单元775、敏感信息确定单元780、敏感信息加密单元785、解密和匹配单元790、动作确定单元793和内部单元通信机构795,内部单元通信机构795用于不同单元彼此通信、与OS以及与其他应用(未示出)通信。例如,敏感信息确定单元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应用的加密被去除,然后执行加密的候选泄露信息和加密的客户端数据库信息之间的匹配操作,以确定匹配的存在,并且向代理提供信息,该信息包括匹配的数量、加密的匹配候选泄露信息和/或与候选数据泄露源相关联的信息(例如,URL和相关的元数据)。当解密和匹配单元790确定匹配不存在时,动作确定单元793可以确定要采取的动作。

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

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

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

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

计算设备805可以被可通信地耦合(例如,经由I/O接口815)到外部存储器845和网络850,网络850用于与任意数量的联网组件、设备和系统通信,系统包括一个或多个相同或不同的配置的计算设备。计算设备805或任何连接的计算设备可以充当服务器、客户端、瘦服务器、通用机器、专用机器或其他标签,可以提供服务器、客户端、瘦服务器、通用机器、专用机器或其他标签的服务,或者可以被称为服务器、客户端、瘦服务器、通用机器、专用机器或其他标签。

I/O接口815可以包括无线通信组件(未示出),无线通信组件方便通过语音和/或通过数据网络的无线通信。无线通信组件可以包括具有一个或多个天线的天线系统、无线电系统、基带系统或其任何组合。射频(RF)信号可以在无线电系统的管理下由天线系统通过空中传输和接收。

I/O接口815可以包括但不限于,使用任何通信或I/O协议或标准(例如,以太网、802.11x、通用系统总线、WiMax、调制解调器、蜂窝网络协议等)的有线和/或无线接口,通信或I/O协议或标准用于将信息传送至计算环境800中的至少所有连接的组件、设备和网络,和/或从计算环境800中的至少所有连接的组件、设备和网络传送信息。网络850可以是任何网络或网络的组合(例如,互联网、局域网、广域网、电话网络、蜂窝网络、卫星网络等)。

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

计算设备805可以用于实现一些示例计算环境中的技术、方法、应用、处理或计算机可执行指令。计算机可执行指令可以从暂时性介质中检索,并且存储在非暂时性介质上并从非暂时性介质中检索。可执行指令可以源自任意编程、脚本和机器语言(例如,C、C++、C#、Java、Visual Basic、Python、Perl、JavaScript及其他)中的一个或多个。

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

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

例如,在输入单元870已经从主机接收到加密的候选泄露信息之后,输入单元870可以使用API单元865将该信息传送给数据库加密单元880,该数据库加密单元880加密客户端信息数据库。数据库加密单元880可以经由API单元865与接收数据加密单元885交互,以加密从主机接收到的经加密的候选泄露信息。使用API单元865,动作确定单元890可以基于从主机接收到的信息来确定要采取的动作,该信息可以包括报告,该报告包括匹配的数量、加密的匹配候选泄漏信息和/或与候选数据泄漏源相关联的信息(例如,URL和相关的元数据)。

在一些情况下,逻辑单元860可以被配置为在上述的一些示例实施方式中控制单元之间的信息流,并指示由API单元865、输入单元870、输出单元875、数据库加密单元880、接收数据加密单元885以及动作确定单元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:根据示例8的计算机实现的方法,其中,与候选数据泄漏的来源相关联的信息包含以下中的至少一个:在网络扫描期间被识别为候选数据泄漏的来源的统一资源定位符(URL),以及与URL相关联的元数据。

示例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至9中任意一个的方法。

示例22:一种包含指令的非暂时性计算机可读介质,当该指令被计算机系统的处理器执行时,使得计算机系统执行示例10至13中任意一个的方法。

示例23:一种包含指令的非暂时性计算机可读介质,当该指令被计算机系统的处理器执行时,使得计算机系统执行示例14至18中任意一个的方法。

尽管已经示出和描述了一些示例实施方式,但是提供这些示例实施方式是为了将在此所描述的主题传达给熟悉该领域的人员。应该理解,在此描述的主题可以以各种形式来实现,而不限于所描述的示例实施方式。在此所描述的主题可以在没有那些具体定义或描述的事项的情况下或者利用未描述的其他或不同的元素或事项来实践。熟悉本领域的人员将会理解,在不脱离如所附权利要求及其等同物所限定的在此所描述的主题的情况下,可以对这些示例实施方式进行改变。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号