数据加水印和加指纹系统和方法与流程

文档序号:16512744发布日期:2019-01-05 09:26阅读:756来源:国知局
数据加水印和加指纹系统和方法与流程

本发明的领域是对数据集加水印和加指纹以确定数据是否已被不适当地复制或使用。加水印是以不容易被另一方检测到的方式对数据进行标记,使得该数据可在稍后被标识。加盐(salting)是向数据添加信息以创建水印的技术之一。加指纹(也被称为零足迹(zero-footprint)加水印,因为它不改变被加水印的数据)是从数据集产生仍标识原始数据集的短得多的集合的过程。本发明使用加水印/加指纹技术和过失分配(guiltassignment)的系统解决数据隐私和诸如数据库表、文本文件和数据馈送之类的数据集的取证分析的问题。



背景技术:

数据泄漏可被定义为除所有者或经授权的用户以外的某人对数据的不正当使用或对数据进行篡改。到2019年,数据泄漏被估计为将是一个涉及数万亿美元的问题。当前表示每年在销售方面约10亿美元的数据泄漏解决方案已存在达一段时间。这些解决方案防止数据泄漏到组织的防火墙之外,或在数据离开防火墙并“在线路上(onthewire)”移动通过开放网络时对其进行加密。已存在一旦图形、视频、音频或文档(即,文本或pdf)数据以明文形式被实际地暴露在防火墙的外部,就用于断言该数据的所有权的解决方案。各组织使用众所周知的这些加水印解决方案来保护它们的ip不被误用。这些加水印解决方案允许数据所有者追讨无执照使用的损害赔偿,因为他们可在法庭上将水印用作所有权和版权侵权的证据。与此同时,此类法律补救措施存在的事实阻止了希望获取该受版权保护的材料并随后免费使用该受版权保护的材料的个体或团体。

遗憾的是,无论在使用时是以明文还是以加密方式传输,文本和数据库文件的数据泄漏仍然是未解决的问题。消费者数据的所有者(“数据所有者”)经常将其数据给予、租赁、或销售给被信任为仅按合法方式、遵守合同要求或数据处置规定(诸如金融服务中的b条例或地方、州或联邦政府制定的隐私法)使用该数据的个体或组织(“受信第三方”或“ttp”)。该数据通常作为一系列数据库表(例如,.sql格式)、文本文件(例如,.csv、.txt、.xls、.doc和.rtp格式)、或作为实时数据馈送(例如,xml或json)来被传送。尽管如此,还是经常发生数据所有者的数据泄漏(被泄漏的文件在本文中被定义为“被泄漏的子集”)到在没有正当许可或甚至非法的情况下要么故意要么无意地使用该数据的其他人(“不良行为者”)的手中。这可能因为以下而发生,例如:ttp故意发布数据并且其本身就是不良行为者;ttp的员工故意或意外地发布数据;或数据所有者的员工本身故意或无意地泄漏数据。

对数据库、文本文件或实时数据馈送(例如,xml或json)加水印提出了独特的挑战。图像、视频或音频文件是密集且高度结构化。在这些文件中嵌入少量数据作为水印而不降级文件的信息内容或用户体验是容易的,因为这些类型的文件是“抗噪声的”。抗噪声文件是一种其中可在不降级整体内容的情况下添加一点噪声(诸如水印)的文件;例如,可通过改变数据的几个位或改变毗邻帧的次序来将水印添加到视频文件中,而观看者不会注意到该变化。与此同时,该类型的数据的组织格式使得不良行为者很难移除水印。相比之下,数据库、文本文件或实时数据馈送(例如,xml或json)缺乏二进制范围中的变化,并因此无法容忍噪声的引入。例如,即使改变姓名或地址中的单个字符都可致使该记录中的数据无用。该类型的数据的结构可按使得水印易碎或易于检测的方式(例如,重排序列、附加行、删除行)来被容易地操纵,并因此容易变得对寻求确立数据已被不适当地使用的一方而言无法识别。例如,数据表内的各元素可被更改;数据可以与来自其他数据源的数据合并;并且数据可被划分成子集和/或以其他方式来被重排和操纵以避免检测。作为结果,对于想要断言数据库或文本文件(或其json或xml等价物)的所有权和/或检测对泄漏数据负责的一方的数据所有者而言存在重大障碍。数据所有者也不能够容易地通过法律行动追讨收益损失,因为其缺少符合可适用的证据标准的非法行为的证据。而且,用于检测数据泄漏的当前方法主要通过手动操作,并因此是耗时、劳动密集、昂贵、且容易出错的。

数据泄漏保护是一项覆盖跨网络、始于端点以及始于运动中的数据的数据泄漏的已确立的业务。这通常涉及以某种形式加密数据,使得它在没有曾被用来加密数据的私钥的情况下不能够被使用。问题在于有用的数据本身必须被解密。并且一旦被解密,数据就会向盗窃行为以及各种类型的攻击敞开,这些盗窃行为和攻击可以使数据的原始所有者和窃取它的人这两者混淆。这可被称为数据泄漏的未受保护的“最后一英里”。这可在以下情况下发生:当数据库文件处于明文状态时、当数据馈送到达其端点并被解密时,以及当文本文件(如软件代码)可以在没有保护的情况下被获取时。因此,检测数据泄漏和标识对在该最后一英里发生的泄漏负有责任的过失方的改进的系统和方法将是非常有益的。



技术实现要素:

在本发明的各种实施例中(在本文中被称为“系统”),本发明允许数据源的所有者(“数据所有者”)标识和断言已按明文形式(即,不带加密)、被要么有意要么无意地分发在其防火墙的外部的文本数据的所有权。在其中一个或多个个人或组织(“受信第三方”或“ttp”)将数据(被泄漏的文件被定义为“被泄漏的子集”)泄漏到要么有意要么无意地非法使用这些数据的其他人(“不良行为者”)的手中的情形中,将数据传送、租赁或销售给ttp的数据所有者可以使用该系统来识别和断言其数据的所有权。该系统也可被用于其中原始数据所有者发生数据泄漏的情况,如其中员工与外部不良行为者勾结的情形中。

当考虑法律补救措施时,本发明所解决的问题变得更加复杂。数据所有者可能怀疑“在野外”发现的数据是他们的。(“在野外”的文件是在数据所有者的防火墙外部找到的文件;这样的文件在本文中被称为“野生文件”。)但是,为了在法庭上证明数据所有权,必须存在以支持证据标准和审查的高置信水平来证明所有权的机制。而且,当野外数据在其存在被发现之前可能已经过多方之手转移时,标识泄漏数据的过失方并且防止该方再次这么做是一个更具挑战的问题。因此,存在必须被纳入考虑以解决最后一英里问题的两个因素:解决方案必须(1)确保个人或组织可以以足够的概率断言数据库或文本数据的所有权;以及(2)以足够的概率标识与其他第三方非法地共享数据的个人或组织。

本发明基于过失模型的概念。在该模型中,当原始数据已被操纵(通常是广泛的)以混淆其原始所有者时,可以使用各种加指纹和/或加水印技术来可靠地标识数据所有者。当发送给两个不同代理的两个文件之间存在很大程度的重叠时,这么做是尤其困难的。本发明通过提供关于不良行为者的所有权和身份的足够程度的确定性来解决这个问题。

本发明包括数据加水印和加指纹系统的“引擎”,其涵盖从输入处理到输出的核心端到端功能性。尽管申请人提交的其他专利申请致力于被用于水印和指纹处理的特定机制,但是本发明的各种实施例涉及一起形成基础的首要引擎的所有子系统和模块。

本发明的这些和其他特征、目标及优点将通过结合如以下描述的附图考虑以下对优选实施例和所附权利要求书的详细描述而变得更好理解。

附图说明

图1解说了在两个文件以及包含来自这些文件的一些信息的“野生文件”之间的重叠。

图2是提供本发明的实施例的逻辑结构视图的示意图。

图3是提供本发明的实施例的物理结构视图的示意图。

图4a是提供根据本发明的实施例的预处理子系统的过程流的流程图。

图4b是根据本发明的实施例的示例文本文件中的数据的图形表示。

图5a是解说根据本发明的实施例的在用于处理野生文件的整个系统中实现的效率的数据流图。

图5b是提供根据本发明的实施例的过失评分子系统的缩小和识别部分的过程流的流程图。

图6是提供根据本发明的实施例的过失评分子系统的统计评分部分的过程流的流程图。

具体实施方式

在更详细地描述本发明之前,应当理解,本发明不限于所描述的特定实施例和实现,并且在描述特定实施例和实现时所使用的术语仅用于描述那些特定实施例和实现的目的,而并不旨在进行限制,因为本发明的范围将仅通过权利要求书限定。

参考图1,可以更全面地阐述本发明的某些实施例旨在解决的问题。给定已从数据分发者接收到不同的数据子集s1和s2的两个代理a1和a2,并且给定包含数据混合的野生文件wi,则问题是确定谁最有可能已泄漏了数据。换言之,a1在给定其接收到s1的情况下有过失(g1)的后验概率(表示为pr{g1|s1})-相对于a2在给定其接收到s2的情况下有过失(g2)的后验概率(表示为pr{g2|s2})为何。

直觉导致人们相信两个子集之间的重叠越少,则越容易确定可能的泄漏者。例如,如果从无执照的第三方发现了曾被给予仅一个代理的野外数据,则该代理必定为泄漏者。在另一方面,如果被发送给两个不同代理的两个文件包含完全相同的数据,则在不存在某些代理所独有的指纹识别技术覆盖在数据上的情况下不可能确定泄漏者是谁。在图1中,可以看出子集s1和s2具有共同的某些列和行。野生文件w1包含两个子集共有的列和行。然而,行10仅在s1中,因此这将趋向于使得a1是可能的泄漏者的概率更高。问题是-并且已开发本发明的某些实施例的过失模型来确定的是-该独有的行增加了多少后验概率?

为了开始讨论本发明的某些实现,相关联的技术陈述的精确定义如下呈现。令d是数据库,包括但不限于公司(“数据所有者”)c所拥有的平面文件。d由关系形式或结构化文本中的元组(例如,.csv、xml或sql数据)组成。令si是来自d的元组的子集。令m是用来生成f的唯一方法,f是d或比d小得多的si的表示。目标于是为生成一个f使得:

1.f是针对给定m的d或si的唯一指纹(即,m不能够针对两个不同的d或si生成相同的f)。

2.利用统计置信度,f可被用来确定代理a1相较于接收到d的副本或者同s1部分重叠的不同si的其他代理a2、a3、……an而言正在分发或改变d或s1。

3.f将足够牢靠以满足证据标准,以便证明d’(d的第二副本或子集)是在未经c同意的情况下被创建的。这意味着假阴性(我们在d’合法时将其标识为是非法的)或假阳性(我们在d’非法时将其标识为是合法的)的概率必须小。在某些应用中最小化假阴性的概率可能尤其重要。

4.即使不良行为者知道m,f也是不可读或不可复制的。

5.在为特定ai生成d或si时,f必须不会导致丢失来自d或si的信息。

6.如果m将f嵌入在d中,则f的恢复是盲目的。换言之,当且仅当d’和d,或者分别取自d和d’的精确副本s和s’相等时,才可以在不知道d的情况下从d’获得f。

7.创建f的过程必须足够牢靠,以在不会生成假阴性的情况下处理d和d’之间的元组中的显著差异(例如,额外的空格、数据重排序、元组删除、元组相加)。

8.m必须考虑到来自c的di被定期更新从而变成dj,并且允许对di和dj进行区分的能力。

9.m必须是利用容易获得的计算设备在计算上可行的。

当d或si变为d’或si’时,m无需精确地标识对d或si做了哪些改变,但是对d’或si’的详细检查可以并且应当为作为ai的不良行为者状态的指示符的w提供支持证据。

在如本文中所描述的本发明的某些实施例中,系统通过提供四组服务来保护数据所有者。第一组,即加水印服务,用作巧妙地改变数据表或文本文件内的数据,使得其合法所有者或发行者可以当文件或从其创建的文件被从第三方获得(“野生文件”,缩写为wi)时被验证。该加水印服务使用驻留在系统上的一个或多个加水印算法以特定方式将水印嵌入到文件中,该特定方式使得有可能稍后将该文件识别为属于数据所有者,并且如果被正确地实现,则标识出可能的泄漏源。作为示例,客户端首先经由api(应用编程接口)、sftp(安全文件传输协议)或任何其他传输手段来提供要加水印的文件或数据馈送,并且系统接收该文件、在数据上压印水印,并且经由api或sftp为客户端生成带水印的输出文件。

加水印服务调用加指纹算法来创建数据表或文本文件的指纹或唯一“快照”,其驻留在数据源“外部”并且不以任何方式改变它。该服务使用驻留在系统上的一个或多个算法20以特定方式捕捉文件的指纹,该特定方式使得有可能稍后将该文件识别为属于数据所有者,并且如果被正确地实现,则标识出可能的泄漏源。作为示例,客户端经由api或sftp提供要进行指纹识别的文件或数据馈送,并且随后系统接收该文件、创建数据的一个或多个统计“图片”(指纹),并且该统计图像被储存。尽管技术上不被要求,但是原始文件可以连同指纹一起被储存,以供将来在法庭诉讼中使用(如果需要的话)。

加水印和加指纹可以是互补和协同的。每种技术都可以单独使用,但据信最佳办法是在多层模型中同时使用这两种技术。不同的加水印和加指纹算法针对不同类型的攻击而更强。因此,使用多层办法与单独使用一种技术相比可能产生潜在更高的统计确定性。

本发明中所描述的系统被专门设计用于用来进行加指纹和加水印的多层办法。为此,必须同所有其他子系统一起平衡地构建和优化端到端系统中的所有子系统,以便在大规模生产级系统中实现此目标。各单一、单独子系统(如果被独立地串在一起)几乎肯定无法在商业数据保护服务的客户所要求的时间框架中产生统计上有效的结果,因为各算法一起工作以提供保护的方式必须在背侧(backside)通过水印检索功能性进行平衡,以计及其中各算法被应用于各个个体数据集的方式。

第三服务,即识别服务,处理wi并尝试检索任何嵌入的水印或将文件与特定指纹相匹配。重要的是要记住,我们不知道给定的数据表是否包含wi被获取时的数据所有者的数据。识别服务将文件预处理成一种形式,其中如果水印已被嵌入则该水印可被检索,或者指纹被重新创建。但即使wi的确包含数据所有者的数据,它也可能只包含被泄漏的子集,并因此只包含部分水印或指纹。识别服务优选地应足够强健以在大多数时间内标识水印或指纹,即使在这些情形中也是如此。

第四服务,即过失分配服务,生成特定ttp事实上是非法地分发了数据的不良行为者的统计概率。当存在从数据所有者接收数据的数千个ttp时,分配过失可能很困难。加水印和加指纹在理想情况下将针对泄漏者的身份获得100%的确定性。如果被正确地完成,则加水印或加指纹将排除大多数ttp,并且只留下一些潜在的可能嫌疑者,他们中的每一者都具有作为泄漏源的不同的统计可能性。过失分配服务以最大化每一方之间的“统计距离”的方式来被设计,使得一个ttp显著地更可能是泄漏源而非其他ttp。

系统由三个基本子系统组成,如图2所示:

1.机器学习引擎60子系统。该子系统提供加水印服务612、过失分配服务70以及缩小和识别服务119所需的所有算法和机器学习能力。

2.加水印服务612子系统。该子系统提供对机器学习引擎60中的加水印算法10和加指纹算法20的访问。来自该服务的输出经由文件上传和下载服务606被递送给用户。

3.过失分配服务70子系统。该子系统提供恢复和过失分配服务。经由文件上传和下载服务606提交给过失分配服务的文件在预处理服务50处被预处理成标准化格式,水印或指纹(如果其存在的话)被检索,并且随后过失被分配给可能的泄漏源。

需要注意,文件上传和下载服务606接纳多种格式的文件,包括但不限于.csv、.txt、.rtf、.xls、.sql、xml和json。

机器学习引擎60是系统的核心。它容纳用于处理服务请求/功能性的统计模型和算法。它在架构上与系统组件的其余部分解耦,并且可通过api调用作为一项能由经授权的内部和外部系统访问的服务。该引擎构建有使用预测机器学习技术来学习的能力。该引擎对处理经验进行推广,以随时间自适应、更新和改进处理规则、统计模型和算法。

现在更详细地参考根据如图2所示的优选实施例的系统的逻辑概览,加水印服务612提供将水印压印到被提交给系统的文件中的功能性。系统允许用户例如通过用户界面将水印技术应用于文件。简单的嵌入的水印(诸如盐域(saltingfield),其中微小变化不改变元组的信息值)或者嵌入完整的伪造种子元组都是潜在的选择。这些方法还可包括使用隐藏字符(例如,空值)中的变化来创建水印。水印算法10和技术包括但不限于加盐、经由排序加盐、图像嵌入、语音嵌入和遗传算法。

加水印服务612将任意数量的加指纹算法20应用于输入文件。示例包括但不限于利用主成分分析的统计关联和混合数据加指纹。在图2中,示出了前述加指纹机制、指纹生成器531和图像创建器616子组件,但是本发明不限于加指纹技术的这些特定示例。

能够从单个服务处置多个算法对于系统的设计而言至关重要,并且是系统设计的独特特征。数据加指纹非常类似于必须防御多个攻击向量的其他安全系统。任何单一算法都将对抗一种或几种类型的攻击而很好地执行,但并非所有类型的攻击。因此,最佳实践涉及使用多种算法的分层办法以允许防御整个攻击向量范围。对于本发明,一种算法将在新的元组被插入时更好地检测指纹,另一种算法将更好地检测单列中的经变换的字段,而第三种算法可以更好地检测从表中删除元组。所有三种算法都需要提供过失的强有力的统计置信,以对抗不良行为者对数据文件的所有可能操纵。

而且,检测不良行为者总是“猫咪和老鼠”的运用。如今的技术可能会工作一段时间,直到不良行为者找出一个无法用当前算法检测到的新攻击向量。因此,根据定义,我们系统中的机器学习引擎60必须允许定期添加新算法(加水印算法10和加指纹算法20),而不中断服务或最小化先前受支持的算法的功效。

经由视觉指纹服务314的视觉加指纹使用字段中的统计模式来创建看起来类似于qr码的视觉指纹。该指纹基于适用于不同测量尺度的不同统计测量:标称、序数、间隔和比率。文件中许多变量之间的复杂关联关系可被用来定义唯一指纹,或用作用于附加变换的基础。

更改加指纹315是一种允许系统确定任何文件或数据馈送的创建月份和年份的机制,其中每行包含关于单个对象的数据,并且至少一列包含每个对象的“有效”年龄,以便确定生成文件的月份和年份。有效年龄是可以针对出生日期或生产日期进行验证的年龄,但是本发明还涵盖了可能无法获得出生日期或生产日期“锚”,但是可以使用包含年龄的一个或多个二级源作为三角测量有效年龄的替代机制的情形。

现在参考图3,以下是数据所有者与系统的用户交互以请求加水印和/或加指纹的示例。首先,数据所有者经由用户界面700登录到系统中并被认证,如同密码或某种形式的多因素认证一样。系统经由来自用户界面的api调用接收安全登录请求,并且执行对用户的认证。接下来,用户作出对加水印和/或加指纹的请求。从菜单检索到的值被馈送到要为机器学习引擎60所作的api调用。用户要么经由api调用要么经由sftp或一些其他传输手段上传要处理的输入文件(加水印服务输入文件110)以及文件分类法(单独地或者作为文件中的标题行)。与此同时,用户通过用户界面中的字段标识输入文件格式、所需的输出格式以及输出文件应当被发送的位置。系统经由api调用接收数据,或者系统从防火墙114外部的入站ftp服务器112复制输入文件,并接着将其传递到防火墙内的内部sftp服务器116并通过dmz535。系统接着内部地生成该请求的订单,并且使用文件引入处理器子系统122在文件处理服务器118处将输入文件与该订单相关联。系统将输入文件储存在数据存储区域126中的存档数据库124中。如果数据所有者已请求了加水印,则用于加水印和加指纹(对应于图3的加水印和加指纹处理537)的机器学习引擎120的水印生成器128从输入文件调用数据并且将水印压印到文件中。接着,用于加水印和加指纹的机器学习引擎120的指纹生成器531调用来自输入文件的数据,并且创建被加水印的文件的指纹并将其储存在数据存储124中以供将来参考。一旦完成,系统就在该情形中从输出处理器132输出被加水印的文件作为输出文件130,并且传递通过位于防火墙114外部的出站ftp服务器134。该文件可要么经由api要么经由sftp被输出到如用户所指定的位置。

过失评分服务40(图2)标识非法地分发了数据所有者的数据的可能的一个或多个不良行为者,并且向每个潜在的不良行为者分配过失的可能性。过失评分服务将被怀疑包含被泄漏的数据的野生文件(wi)或数据馈送作为输入,并且输出可能的不良行为者的排名列表以及过失分数。高级处理步骤如下:

1.分析输入文件wi并在预处理系统50处准备表的统计“图片”。

2.机器学习引擎60应用改变加指纹机制315以缩小可对照其比较wi的可能数据源的目标范围。这减少了所需的处理时间,并且限制了在法律诉讼的发现阶段期间寻找证据的可能的时间框架。

3.引擎接着针对加水印机制10和加指纹机制20中所使用的算法应用水印和指纹检索模型,以尝试从野生文件中检索指纹或水印的任何部分或全部。这些结果被储存以供过失分配服务70分析。

4.过失分配处理器70检查由水印和指纹检索生成的所有统计模式,并接着使用统计方法(诸如但不限于k-最近邻或k-均值聚类)以将“过失分数”分配给输入野生文件。所得到的过失分数将指示:wi包含来自特定数据所有者的源系统的被泄漏的记录的可能性;泄露了文件的ttp;以及来自被泄漏的数据所源自的(诸)特定订单中的(诸)文件。

用户经由图形用户界面(gui)或服务器到服务器api调用来访问面向客户端的服务、加水印服务612和过失分配服务70。加水印服务612经由api调用将优选实施例的机器学习引擎与内部和外部用户请求相对接。加水印服务612和过失分配服务70将api请求传递给机器学习引擎以进行处理。作为文件上传和下载服务606的一部分,加水印服务输出经由用户的优选递送方法被递送给用户。

用户经由gui与系统交互,这允许用户例如分别通过过程612、10和20请求和提交用于加水印和加指纹的输入数据;通过过程70请求和提交用于过失分配的输入数据;监视已提交的请求的状态;以及查看各种报告控制面板137。

api层(在图3中被示为71,并且在图2中被一般地示为614)使用通过第三方软件80在用户和系统之间的api调用将客户端侧的功能性提供给客户端608。内部用户和第三方两者访问用于请求和履行的标准api服务平台。经由该服务提供的restapi端点示例(仅用于说明目的)包括:

https://api.acxiom.com/v1/watermarking/salting/…

https://api.acxiom.com/v1/watermarking/dct/…

https://api.acxiom.com/v1/watermarking/dwt/…

:

https://api.acxiom.com/v1/fingerprinting/randombit/…

:

https://api.acxiom.com/v1/guiltscore/…

:

该系统提供一组用户界面(ui)类30(图2),其允许客户端经由api层614从其软件80创建到系统的接口,使得他们的最端用户可请求系统服务。

从端到端逐步遍历过失分配服务的细节,首先用户经由文件上传和下载服务606上传野生文件604以确定它们的所有权(如果可能的话),并且随后系统提供针对最有可能已泄漏了数据的ttp的过失估计。过失分配服务70的关键模块是:

1.预处理50

2.缩小和识别引擎119

3.过失评分服务40

预处理50采用以各种格式获取的wi,并且通过各种变换对它们进行标准化,以便使它们准备好用于后续步骤。缩小和识别119具有两个关键功能。首先,准备好的文件被使得经受一系列步骤以将潜在地匹配文件的比较范围缩小到“评估集”,即一个可管理的数字。接着,系统尝试从wi中提取水印或指纹,并且将其与评估集中的一个或多个文件进行匹配。

过失分配通过过失分配服务(图2中的70,且更具体而言,图3的131)分配过失。输入文件在该情形中是过失分配服务输入文件135(图3),但是摄取以其他方式与加水印/加指纹一起进行。

根据本文中所描述的实现的系统具有加水印、加指纹以及向数据文件、数据库表和无限大小的数据馈送分配过失的能力。然而,处理速度也很重要,因为客户不可能等待数天或数周来返回被加水印的文件或等待过失分配发生。系统必须能够在产生下一个文件的周期时间内对文件加水印、加指纹和/或分配过失,否则系统将出现瓶颈且文件将落入日益增长的队列中,这将导致整个业务模型崩溃。因此,根据一个实施例的系统的边际可行产品(marginalviableproduct,mvp)版本中的吞吐量在24小时内用于加水印服务是380gb文件大小,并且在120小时内用于过失分配服务是380gb文件大小。允许快速处理的特定方法包括读取和处理输入文件而不将数据加载到数据库中。利用该方法,与先前的对给到存储区域的输入数据文件进行读取和写入以及随后在处理之前对数据库进行读取和写入的方法(即加水印、加指纹和过失分配)相比,该系统已实现了600%的性能提高。允许快速处理的特定方法排除了在sql或nosql数据库中储存和处理文件的数据库开销,并且移除了将数据读出和写入数据库存储的实际上额外的步骤。而且,读取和写入数据库是一个显著较慢的过程,因为它受磁盘i/o带宽的限制,如与没有此类限制的数据的存储器中的处理相比。快速处理解决方案的确包括在加载到数据库之前读取和处理输入文件。结果已是在加水印、加指纹和过失分配的处理时间方面中的600%的减少。所需的计算能力和cpu大大减少,因为没有必要将380gb文件读写到数据库服务器中。存储器使用被优化,因为不必要的i/o被最小化。使用该系统不需要进一步节省时间和成本、人类交互和检查。

文件加载器处理器(在图2中被描述为预处理服务50)检查文件传输的完整性并且验证数据未被破坏。它还对传入文件执行多个统计分析,从而捕捉在缩小、识别和过失分配的后期阶段中所使用的元数据。图4a解说了文件加载器的过程流。该过程通过标识在分类决定框202处是否存在针对野生文件(wi)200的分类法而在文件摄取处理器122处开始。如果wi200的分类法存在,则分类处理器204读取并提取分类信息。分类信息可包括但不限于字段名称、现有/允许的字段值、字段值描述和数据类型。分类数据被储存在驻留在系统的数据存储中的订单元数据数据库206中,其对应于图3中的处理数据库125。

统计指纹识别处理器210对传入文件执行多个统计分析,从而捕获一系列元数据,包括但不限于文件大小、行数、每列的统计分布的时机,以及适合于其测量范围的字段之间的关联度量。该元数据变成为wi200创建的更大统计指纹的一部分,并且稍后在缩小、识别和过失分配中被使用。统计元数据被储存在驻留在系统的数据存储中的订单元数据数据库206中,被表示为图3中的处理数据库125。

字段映射处理器208将每个字段映射到一个字段类别,以基于wi200的分类法对数据类型进行分类。字段类别的示例包括名字、姓氏和性别。

如果分类法缺失,则系统将使用统计指纹识别处理器210处的统计方法映射wi200中的字段。统计学上,每个字段都具有唯一的模式;图4b中提供了该模式的示例,其中黑色区域表示空(空值)空间,浅灰色表示数字和字母。作为缩小和识别服务119的一部分,该系统使用该特性来将字段与类别系统地相匹配。以此方式,例如,地址字段可被标识(因为它们通常以数字开头并以字母结尾),姓名字段可被标识(它们只包含字母),邮政编码(zip)字段可被标识(它们表示一组数字),依此类推。

字段映射过程调用文件和元数据模式匹配处理器212。它首先从订单元数据206中检索wi200的统计配置文件,接着将该配置文件对照字段类别配置文件进行匹配以寻找最接近的匹配。当匹配被找到时,wi字段被映射到对应的类别。作为结果,wi中的所有字段都将被映射到字段类别。

在每个字段已被映射之后,系统将字段名称格式化为字段名称格式化过程214处的标准命名约定,使得每个字段都在字段值变换过程218的后续步骤中被系统地读取、理解和处理。例如,第一名称字段可被映射到预定义字段名称“fname”。系统接下来将个人可标识信息(pii)字段值中的每一个变换为字段值转置过程220处的标准值列表。作为示例,输入文件可将性别表示为“男性”、“女性”和“未知”。该值将接着从“男性”变换为“1”,从“女性”变换为“2”并且从“未知”变换为“0”,假设“1”、“2”和“0”是标准值。变换值被储存在驻留在系统的数据存储中的过失评分规则数据库216中,被表示为图3中的处理数据库125。

为了使字段值被系统地处理,被储存在水平或垂直表结构中的数据在字段值变换处理218处被转置为标准化格式。

作为示例,原始输入文件可被布局为如下表1所示。

表1

数据接着被变换为下面表2中所示的布局。

表2

其中,a=18-35,b=36-45,c=46-55,d=56-65,且e=65以上,假设这些是适当的标准化值。

在某些实施例中,字段排序过程222处的字段排序基于一组标准规则来重新排列wi200中的字段。使用预定义的顺序重新排列wi200的字段和行允许系统生成要与之比较的原始文件的近似表示。

假设wi200具有这些字段:名字、姓氏、地址、城市、州、邮编、年龄和收入。为了对照潜在的原始文件在最接近的统计学意义上进行匹配,需要在姓氏之后插入性别字段,并且在收入之后插入房主标志。该类型的处理发生在缺失字段生成器224处。系统可利用含有消费者信息的综合商业数据库(例如acxiom公司的infobase产品)以基于wi的pii信息附加对应的性别和房主标志。结果是经预处理的野生文件226。

缩小和识别从预处理获取文件输出266(如图4a所示),并且应用多个步骤来缩小比较文件以及在其上过失评分(这是处理器和带宽密集的过程)必须被应用的ttp范围(“评估集”)的大小。缩小和识别的一般流程如图5a所示。

以下示例和假设解说了识别和缩小模块背后的推理。假设数据所有者从潜在的不良行为者获取看上去包含该数据所有者的专有信息的数据文件(wi)。然而,表观并不足以在法庭上证明不良行为者有过失。数据所有者因此需要在合理范围内证明wi中的部分或全部数据实际上来自数据所有者。在该示例中,数据所有者每年发布200,000个文件,要么是数据库表、文本文件,要么是电子xml或json数据馈送。这些包含数据所有者的数据的一些子集sj。在时间t处发布的两个不同sj中的数据(被表示为以月和年测量的sj,t)可以是相同的、重叠的或完全不同的。更重要的是,当特定的sj在稍后的某个时间t+1处被重新发布为(sj,t+1)时,特定数据行的一些值可能已经改变。数据所有者保留其生成的每个文件的副本达十年,或者保留其历史订单数据库中的两百万个文件。理论上,数据所有者应该能够将wi与所有两百万个sj,t进行比较,并且基于数据标识哪个sj和ttp是wi的来源。现实上,将大文件与两百万个其他大文件进行比较涉及大量的处理开销。而且,由于系统旨在用作多个数据所有者的产品提供,因此该系统将比照一些现在包括除数据所有者的两百万个文件以外的文件的大量sj,t来并行处理多个wi。数据经纪行业中的单个数据所有者可能潜在地具有和示例数据所有者在十年内生成的两百万个文件一样多的数量或超过该数量的文件。系统需要被构建来解决巨大比例的规模问题。由此,缩小和识别被专门设计成将两百万个文件的搜索空间减少到约17,000个文件的搜索空间。图5a中解说了缩小和识别的过程流。该过程是一个瀑布,从最少处理密集型流向最多处理密集型方法。该过程在瀑布中的实现wi与来自评估集的文件之间的确定性匹配所需的任何步骤处停止。

图5b中所示的过程起始于过失评分服务—预处理过程300。第一缩小过程是通过改变加指纹过程302的缩小。该过程利用文件中每条记录的主要“有效”年龄的存在或者替代地利用包含年龄的二级源,以对创建输入文件的月份和年份进行三角测量。系统通过使用诸如acxiom公司的abilitec技术等识别服务来附加每个个人的出生日期。这是由图3的识别处理器129提供的功能。该过程的结果是用于在下一个步骤中与wi进行比较的缩小的评估集。改变加指纹315(参见图2)应当通常将评估集缩小90%以上,因为它从考虑集中消除了11个月的数据。

在通过加水印记录过程304的缩小处,系统通过应用(在图3的过失分配引擎131中所执行的)以下步骤来检查经预处理的野生文件226中是否存在加盐的记录:

1.随机地选择经预处理的野生文件226中的记录的例如5%;

2.使用加水印和加指纹数据库306搜索评估集中曾被加盐的文件;

3.判定框308存在检查在加水印的记录处是否找到匹配,并且如果没找到的话,则移动到应用高级改变加指纹机制框550;以及

4.用记录的例如下一个5%重复这些步骤,直到文件被完全地扫描。

这是核心机制,但正如本文档中通篇所提及的,该系统旨在允许经由机器学习层在系统的任何部分中对算法要么进行添加要么进行更改。

标识经预处理的野生文件226中的加盐记录极大地缩小了评估集。然而,它不一定会将其缩小为单个文件。由于wi可潜在地包含来自给予一个或多个ttp的多个文件的加盐的记录,因此匹配可能不是确定性的。这是多个ttp判定框310的原因。然而,在许多情形中,匹配将是确定性的,并且该过程可以停止。

在接下来的步骤(即缩小视觉指纹过程312)中,系统在某些实施例中定期接收(或可访问)从数据所有者的所有订单输入系统创建和运送的所有数据文件。系统生成订单的统计图像,并且在下订单时将视觉指纹储存在系统的数据库中。视觉指纹处理器314处的图像处理器接着执行以下步骤:

1.检索数据库中评估集内的订单的视觉指纹;

2.使用相似性分析,将来自评估集中的文件的一个或多个视觉指纹与经预处理的野生文件226尽可能紧密地进行匹配;以及

3.因为来自经预处理的野生文件226的图像不太可能由于任何数量因素而100%匹配任何现有图像(正如在codis,美国犯罪指纹数据库中),所以基于的确相匹配的两个图像内的元素的数量,将存在一些统计匹配概率;视觉指纹的比较因而基于过失评分规则数据库中所定义的商业规则来生成表示图像的相似性的分数。

当多个ttp在多个ttp判定块310处被标识出时,系统在高级文件缩小过程316处应用高级文件缩小规则,其包括但不限于以下步骤:

1.如果确定野生文件很可能只来自一个来源,并且如果该文件包含ttp从未接收到的字段(例如,豪华汽车购买倾向),则该ttp和ttp的所有文件被排除;

2.如果确定野生文件很可能只来自一个来源,并且该文件包含ttp从未接收到的数据段(例如,从未接收到“生活在纽约并且年龄在35-55岁”的ttp,因为该tpp仅接收“生活在西海岸并且年龄超过55岁”的数据段),则该ttp和该ttp的所有文件可被排除;以及

3.如果确定野生文件很可能只来自一个来源,并且如果该野生文件中的列仅被少量ttp订购,则所有其他ttp可被排除。

该过程的结果是用于经预处理的野生文件226与可能的文件进行比较的经缩小的文件范围。输出是被馈送给过失分配的该ttp和订单值320。

图6的流程图中所示(并且对应于图2中的过失评分服务40和图2中的过失分配70以及图3中的过失分配引擎131)的过失分配过程使用来自缩小和识别的输出来计算在先前过程中被标识为可能的不良行为者的ttp的过失的可能性(过失分数)。该信息提供了用于合法地解决数据误用的足够的细节。来自过失分配70的输出可包括日期源标识、文件日期标识、ttp标识、和作业/文件标识。

该模块的输入是来自ttp中的缩小和识别的结果以及订单值320:一组经缩小的(多个)ttp;一组经缩小的(多个)订单;以及表示wi和历史订单之间匹配的可能性的一组概率。

过失评分规则数据库400是定义和储存过失评分业务规则的存储库。这些规则基于数据分析研究和统计建模来被定义。该系统允许评分规则由过失评分规则引擎133来配置和消费。

过失评分处理器402(对应于图3的过失分配引擎131)通过将剩余文件和可能的ttp贡献者提交到被包含在机器学习子系统中的过失评分服务来将过程404处的过失分数分配给已被标识为对wi有贡献的ttp。每个ttp的过失分数基于过失评分规则数据库和统计模型中所包含的业务规则的组合。统计模型在简单规则不足以分配过失分数时是必需的。简单规则的示例是(1)如果过程将wi与来自一个ttp的一个订单相匹配,则wi将产生为1的过失分数(判定框552处的“是”结果,而“否”导致移动到需要高级缩小的判定块554);或者(2)在wi只来自两个ttp的情况下,如果没有从被发布给ttp1的任何文件中找到字段或加盐的记录,则wi将针对ttp1产生为0的过失分数。

用于过失评分的统计模型包括顺序地应用的两种类型的模型:

1.聚类算法(例如k-均值),其中过失分配基于分组之间的统计相似性被作出(因此“可能有过失”和可能“没有过失”);从某种意义上说,这是缩小机制的另一种形式;以及

2.k-最近邻,其接着测量“理想”过失空间的中心与“可能有过失”子集内特定ttp的位置之间的统计距离;ttp的结果坐落得越远离形心,它们就越不可能成为不良行为者。

该过程的输出(在步骤556的结束处)是:被泄漏的订单(即,来自被泄漏数据所源自的(诸)特定订单的(诸)文件);潜在地有过失的ttp的列表(基于过失分数的对潜在地泄漏了文件的ttp的排名排序);和过失分数(指示文件包含来自特定数据所有者的源系统的被泄漏的记录的可能性)。该过失评分处理器402将过程406处的过失分配过程的输出写入元数据数据库中的合适的表(图3的日志143)中。

报告和控制面板服务137(参见图3)向数据所有者管理员和终端用户客户端提供报告功能。报告服务获取事务日志以及来自与入站和出站服务相关联的各种数据库的数据,并且将它们聚合到数据立方体145中。商业智能(bi)工具从那里提供来自数据库中的标准和专设(adhoc)报告功能性。

以下是系统生成的一些标准报告类型。

文件处理统计信息:覆盖文件处理状态、处理结果和给定时间段内正在处理的文件的数量。这包括处理输入wi和输出文件两者。

匹配处理统计信息:覆盖wi处理统计信息。作为示例,用户检查wi的过失分配。

加水印和加指纹统计信息:覆盖加水印和加指纹过程的细节,其包括受影响的行或列的数量、所作的具体更改以及标记或指纹的稳健性以及其他项。

管控子系统147向数据所有者管理用户提供后端配置和管理功能性。

用户管理涵盖用户帐户和分组创建及删除、访问权限设置、配置和管理。ui向系统管理员提供了管理用户凭据、认证密钥和帐户信息的能力。

数据库管理允许管理员为系统配置数据库功能性。

审计跟踪和日志管理在事务级别捕捉跨系统所有组件的用户登录、动作、请求和处理活动。

系统配置管理使管理员能够设置和配置系统设置;设置和配置文件处理规则;设置和配置加水印处理规则;设置和配置加指纹处理规则;以及定义和配置系统变量。

除非以其他方式说明,否则本文中所使用的所有技术和科学术语具有如本发明所属的本领域的普通技术人员共同理解的相同含义。虽然类似于或等同于本文所描述的方法或材料的任何方法和材料可在实践或测试本发明时使用,本文中描述了有限数目的示例性的方法和/或材料。本领域的那些技术人员将领会,更多的修改是可能的,而不背离本文中的发明概念。

本文中使用的所有术语应当以与上下文一致的尽可能最宽的方式来解释。当本文中使用编组时,该组中的所有个体成员以及该组中所有可能的组合和子组合均旨在被个体地包括。当在此说明范围时,该范围旨在包括该范围内的所有子区域和单个点。本文中引用的所有参考都被通过援引纳入在此到不存在与本说明书的公开不一致的程度。

本发明已参考某些优选和替换实施例来描述,这些实施例旨在仅为示例性的而非旨在限制如所附权利要求书中阐述的本发明的整个范围。

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