使用单向散列的数据扰乱和匿名化的制作方法

文档序号:6495342阅读:283来源:国知局
使用单向散列的数据扰乱和匿名化的制作方法
【专利摘要】本发明的一个实施例提供一种方法,其用于根据本发明的一个实施例使来自多个数据源的数据匿名化。所述数据源包括标识与所述数据关联的实体的记录标识符,其中仅由所述数据源存储所述记录标识符。由连接到所述数据源的中央数据聚合模块收集所述数据。由匿名化引擎从第一数据源接收记录标识符;以及使用所述匿名化引擎生成第一匿名标识符以便替换所述记录标识符。如果所述匿名化引擎先前已使所述记录标识符匿名化,则将映射发送到映射模块,其中所述映射包括已用于替换所述记录标识符的匿名标识符的列表。将所述第一匿名标识符和与所述第一匿名标识符关联的第一数据发送到所述数据聚合模块。
【专利说明】使用单向散列的数据扰乱和匿名化
[0001]本PCT国际申请要求2011年5月27日在美国专利及商标局提交的序列号为13/117,436的美国专利申请的优先权。
【背景技术】
[0002]本发明涉及用于使用单向散列的数据扰乱和匿名化的系统、方法和计算机程序产品领域。
[0003]使数据匿名化依赖删除或修改包含在数据中的标识变量(多个),也称为个人可标识信息(PU )。通常,标识变量是描述个人特征的变量,个人特征可观察、被注册(标识号,例如社会保险号、员エID、患者ID等)或者通常可以为其他人所知。使数据匿名化优先保持被引用人的隐私,同时关注数据挖掘人员的需要(例如,分析人员检查数据以便标识趋势、模式等)。
[0004]聚合员エ记录以允许数据挖掘(例如,根据员エ考核标识优秀员エ的通用模式)将链接整个组织内的所有员エ记录。此外,通常在组织与数据挖掘公司(例如,调查人员、研究人员、分析人员等)之间共享数据。匿名化将防止数据挖掘人员标识在数据集中引用的员エ。

【发明内容】

[0005]本发明的一个实施例提供ー种方法和系统,其用于根据本发明的一个实施例使来自多个数据源的数据匿名化。所述数据源包括标识与所述数据关联的实体的记录标识符,其中仅由所述数据源存储所述记录标识符。由连接到所述数据源的中央数据聚合模块收集所述数据。由匿名化引擎从第一数据源接收记录标识符;以及使用所述匿名化引擎生成第一匿名标识符以便替换所述记录标识符。如果所述匿名化引擎先前已使所述记录标识符匿名化,则将映射发送到映射模块,其中所述映射包括已用于替换所述记录标识符的匿名标识符的列表。如果所述匿名化引擎先前未使所述记录标识符匿名化,则将所述映射存储在存储设备中。将所述第一匿名标识符和与所述第一匿名标识符关联的第一数据发送到所述数据聚合模块。
[0006]由所述匿名化引擎从第二数据源接收所述记录标识符;以及使用所述匿名化引擎生成第二匿名标识符以便替换所述记录标识符。将更新后的映射发送到所述映射模块,其中所述更新后的映射包括已用于替换所述记录标识符的匿名标识符的更新后的列表。将所述第二匿名标识符和与所述第二匿名标识符关联的第二数据发送到所述数据聚合模块。
【专利附图】

【附图说明】
[0007]參考附图描述本发明。在附图中,相同的參考标号指示相同或功能类似的元素,这些附图是:
[0008]图1是示出根据本发明的一个实施例的使来自多个仓库(silo)的数据匿名化的方法的流程图;[0009]图2是示出根据本发明的一个实施例的用于使来自多个数据源的数据匿名化的系统的不意图;
[0010]图3是示出根据本发明的一个实施例的使来自多个数据源的数据匿名化的方法的流程图;
[0011]图4是示出根据本发明的另ー个实施例的使来自多个数据源的数据匿名化的方法的流程图;
[0012]图5示出根据本发明的一个实施例的用于生成匿名标识符的过程流;
[0013]图6示出根据本发明的一个实施例的用于数据聚合的过程流;以及
[0014]图7示出根据本发明的一个实施例的计算机程序产品。
【具体实施方式】
[0015]下面详细讨论本发明的示例性非限制性实施例。尽管讨论特定配置以便提供清晰的理解,但应该理解,所公开的配置仅用于示例目的。所属【技术领域】的普通技术人员将认识至IJ,可以使用其他配置而不偏离本发明的精神和范围。
[0016]本发明的一个实施例提供ー种匿名化和聚合的方法,所述方法使用保护数据所有者(在此也称为“个人”或“用户”)隐私的单向不可逆散列,方法是实现对数据所有者的可跟踪性同时隐藏数据所有者的身份。当从多个仓库(在此也称为“数据源”)贡献数据(例如来自医院(即,仓库I)或来自医生(即,仓库2)的患者记录)时,所述方法还记录不匹配。
[0017]本发明的至少ー个实施例包括一种创建单向散列的数据匿名化器(在此也称为“匿名化引擎”)。单向散列将防止目的是暴露数据所有者隐私的数据反向工程。单向散列包括2个输入:盐(salt)(即,一组随机位)和密钥。如果数据是暴力或字典攻击的目标,则此处的实施例采用不断变化的盐和密钥组合。
[0018]数据收集器/聚合器(在此也称为“数据聚合模块”)无法查看数据匿名化器。这允许聚合个人的私人数据而不暴露其身份。在至少ー个实施例中,使用独立的第三方协调从不同源或盐创建的散列。分离散列、映射和报告功能将确保任何一方(如果泄露)都无法公开所有用户信息。如果匿名化平台的任何单个实体受到攻击,则攻击者将无法标识数据所有者。数据匿名化器保留的任何数据都不足以用于反向工程。
[0019]图1是示出根据本发明的一个实施例的使来自多个仓库的数据匿名化的方法的流程图。所述方法允许数据收集器运行报告和分析,并且匹配多个仓库,而无法匹配返回到用户的数据。在至少ー个实施例中,用户是ー组个人、组织或公司实体。
[0020]每个仓库将用户标识符(在此也称为“个人标识符”)变换为唯一的不可逆散列(在此也称为“匿名标识符”)(110)。每个仓库具有定义用户的用户标识符(或标识符集合)。用户标识符与用户的其他(通常为私有)数据关联,由于隐私原因这些数据仅为仓库所知。用户标识符直接标识用户(例如,用户姓名),或者通过允许某人使用用户标识符追溯到用户身份(例如,社会保险号、员エID、患者ID、电子邮件地址)来间接标识用户。相反,匿名标识符(例如,随机字母和/或数字串)掩盖用户的身份。例如,在一个实施例中,用户标识符是“Jane Doe”,匿名标识符是“AKZ76TV33”。
[0021]仓库使用唯一散列替换任何个人信息,该散列使数据对于其所有者而言唯一,但无法被追溯到他或她。为此,仓库将用户标识符发送到仓库外部的匿名化引擎。例如,仓库要求匿名化引擎使表示其系统中的用户的字符串“ jdoe”匿名化。字符串“ jdoe”可包括多个记录/表项标识符,例如电子邮件地址加上社会保险号加上姓氏等。
[0022]在本发明的至少ー个实施例中,匿名化引擎存储一组机密(在此也称为“密钥-盐组合”),它们用于生成单向散列以便使跨越仓库通用的用户标识符匿名化。首先,匿名化引擎检查其密钥-盐表并取回用于发出请求的仓库的最新密钥和盐。匿名化引擎然后针对被请求用户标识符生成匿名化散列。这通过应用单向散列函数(例如,md5、sha2...)完成。例如,如果仓库的当前(salt, key)是(water, 1002),并且用户标识符是jdoe,贝丨J:
[0023]hash(<user identifier>+<current_silo_salt>; +〈delimiter夕+<key>
[0024]hash( ‘jdoe,+ ‘water,)+ ‘#,+ ‘1002,
[0025]jklmop==#1002
[0026]匿名化引擎进行检查以便查看过去是否使用该盐使该用户标识符匿名化,方法是查看散列是否在该密钥的密钥-散列桶中(用户标识符未被存储,仅是作为单向散列乘积的散列)。如果没有,则匿名化引擎针对所有仓库使用所有不同的盐生成先前的所有散列,并且将当前和先前的散列发送到代理。这是一次性操作,其中匿名化引擎保留已同步的所有散列的列表,以便在后面的步骤中,不会将该已匿名化的散列发送到代理。
[0027]在至少ー个实施例中,可以查询代理以便映射使用当前和较旧的密钥-盐生成的散列。匿名化引擎检查其同步后的散列桶以便查看是否存在已匿名化的散列。如果存在已匿名化的散列,则匿名化引擎转到最后ー个步骤。如果同步后的散列桶中不存在已匿名化的散列,则这是首次针对该仓库使用当前密钥-盐使该用户标识符匿名化。因为存在可能已用于使该用户标识符匿名化的较旧密钥-盐,所以匿名化引擎创建“等效散列”的列表以便发送到代理。匿名化引擎获得用户标识符,并且使用先前的密钥-盐使其匿名化。这针对该用户标识符创建等效散列表,将该表发送到代理。代理接收该表之后,将当前散列添加到同步后的散列桶。针对每个用户标识符将当前散列添加到同步后的散列桶使此同步操作成为代理与匿名化引擎之间的一次性操作。匿名化引擎然后将匿名化后的散列返回到仓库。可以将其他级别的加密添加到匿名化后的散列。
[0028]每个仓库将其数据连同匿名化后的散列一起发送到数据聚合模块(120)。数据聚合模块关联从多个仓库接收的与同一用户(同一实体)相关的数据。
[0029]在本发明的至少ー个实施例中,查询数据聚合模块(130)。在一个实施例中,针对查询数据聚合模块的分析人员进行限制以便防止查询范围缩小。查询限制例如可以包括得到的行数、被请求的列数等。查询限制将防止分析人员将记录跟踪到其所有者。
[0030]在本发明的至少ー个实施例中,指示匿名化引擎使用新密钥-盐组合(在此也称为“机密”)(140)。可以按照固定时间间隔更改机密,或者当存在当前机密被泄露的顾虑时更改机密。当匿名化引擎接收到用于更改密钥-盐组合的消息吋,它将遵循机密策略(例如,机密到期之前的时间长度、是否可以重用机密等)来创建新机密。
[0031]匿名化引擎更改密钥和/或盐。例如,在至少ー个实施例中,匿名化引擎创建不同于先前使用的任何密钥的新密钥(可以如同将值I添加到最后ー个密钥那样简单或者更复杂),将新的密钥-盐组合添加到密钥-盐表,并且将其设置为当前机密。最后,匿名化引擎清除同步后的散列桶。
[0032]图2是示出根据本发明的一个实施例的用于使来自多个数据源210的数据匿名化的系统200的示意图。数据源210包括记录标识符(在此也称为“个人标识符”),其中每个记录标识符标识与数据关联的实体。如在此使用的,术语“实体”指个人或ー组人,例如公司、公司内的部门(例如,会计部门)或政府机构。仅将记录标识符存储在数据源210中。由连接到数据源210的中央数据聚合模块220收集数据(例如,病历)。如在此使用的,术语“连接”包括在操作上连接、在逻辑上连接、通信、在物理上连接、结合、耦合、接触、链接、贴附和附加。例如,在本发明的一个实施例中,使来自多个数据源(例如,医生A、医生B等)的数据(例如,病历)匿名化,其中数据与个人标识符(例如,患者的姓名、社会保险号等)关联。
[0033]图3是示出根据本发明的一个实施例的使来自多个数据源的数据匿名化的方法的流程图(例如,使用系统200)。由匿名化引擎230从第一数据源接收记录标识符(310),其中匿名化引擎230生成第一匿名标识符以便替换记录标识符(320)。例如,在一个实施例中,第一数据源将第一数据(例如,John Doe的病历)和记录标识符(例如,John Doe)发送到匿名化引擎230,该引擎生成第一匿名标识符以便替换记录标识符。在另ー个实施例中,仅将记录标识符发送到匿名化引擎230。使用盐和密钥生成匿名标识符。生成匿名标识符之后,它仅包括密钥,盐是机密的。
[0034]如果匿名化引擎230先前已使用不同的密钥-盐对使记录标识符匿名化,则匿名化引擎230生成映射并且将其发送到映射模块240 (330)。映射包括已用于替换记录标识符的匿名标识符的列表。映射不包括记录标识符;相反,映射提供均引用同一实体的匿名标识符的列表。在至少ー个实施例中,如果匿名化引擎230先前未使记录标识符匿名化,则将映射存储在匿名化引擎230内部或外部的存储设备中(340)。在另ー个实施例中,如果匿名化引擎230未使用当前盐-密钥对使记录标识符匿名化,则将匿名散列存储在匿名化引擎230内部或外部的存储设备中,并且将其与当前盐-密钥对关联。在该实施例中,如果匿名化引擎230已使用当前盐-密钥对使记录标识符匿名化,则不需要进ー步操作。将第一匿名标识符和与第一匿名标识符关联的第一数据发送到数据聚合模块220 (350)。从第一数据源或匿名化引擎230发送第一匿名标识符和第一数据。
[0035]匿名化引擎230从第二数据源接收记录标识符(360),并且生成第二匿名标识符以便替换记录标识符(370)。因此,例如医生I将记录标识符“John Doe”发送到匿名化引擎230,该引擎返回匿名标识符“123xyz” ;以及医生2将记录标识符“John Doe”发送到匿名化引擎230,该引擎返回匿名标识符“456xyz”。在本发明的至少ー个实施例中,第一和第ニ匿名标识符是单向不可逆散列,其中生成第二匿名标识符包括更改第一匿名标识符的盐和/或密钥。如果匿名化引擎230已更改盐-密钥组合,则第二匿名标识符不同于第一匿名标识符。如果匿名化引擎230使用同一盐-密钥组合,则第二匿名标识符与第一匿名标识符相同。
[0036]匿名化引擎230将更新后的映射发送到映射模块240(380),其中更新后的映射包括已用于替换记录标识符的匿名标识符的更新后的列表(例如,包括第一匿名标识符和第ニ匿名标识符)。換言之,匿名化引擎230向映射模块240发送全部引用同一实体的匿名标识符的更新后的列表。因此,在上面的实例中,更新后的映射包括匿名标识符“123xyz”和“456xyz”。在至少ー个实施例中,当更改了第一匿名标识符的盐和/或密钥时,仅将更新后的映射发送到映射模块240。換言之,如果匿名化引擎230针对某个人仍然使用同一匿名标识符(即,盐或密钥未更改),则不将更新后的映射发送到映射模块240。[0037]将第二匿名标识符和与第二匿名标识符关联的第二数据发送到数据聚合模块220(390)。具体地说,从第二数据源和/或匿名化引擎发送第二匿名标识符;以及从第二数据源发送第二数据。
[0038]在本发明的至少ー个实施例中,映射模块240向数据聚合模块220提供列表和/或更新后的列表。因此,数据聚合模块220可以检查最新列表以便判定两个或更多匿名标识符是否引用同一实体(即,匿名化引擎230是否已更改密钥-盐组合)。
[0039]在另ー个实施例中,数据聚合模块220将第一数据、第一匿名标识符、第二数据和第二匿名标识符发送到映射模块240。根据更新后的映射,映射模块240使用记录标识符的最新匿名标识符替换第一匿名标识符和第二匿名标识符(即,使用第一匿名标识符、第二匿名标识符或其他匿名标识符一匿名化引擎230最近用于替换记录标识符的任何ー个匿名标识符)。映射模块240将第一数据、第二数据和最新匿名标识符发送到数据聚合模块。
[0040]图4是示出根据本发明另ー个实施例的使来自多个数据源的数据匿名化的方法的流程图(例如,使用系统200)。数据源(多个)(210)包括标识与数据关联的实体的个人标识符(在此也称为“记录标识符”)。由连接到至少ー个数据源210的中央数据聚合模块220收集数据。
[0041]匿名化引擎230使用匿名标识符替换个人标识符(410),并且将映射发送到映射模块240 (420)。映射包括已用于替换个人标识符的匿名标识符的列表。映射不包括个人标识符;相反,映射提供匿名标识符列表,每个匿名标识符都引用同一实体。
[0042]匿名化引擎230生成新匿名标识符以便替换个人标识符(430)。匿名标识符是单向不可逆散列,其隐藏与数据关联的实体的身份。在至少ー个实施例中,通过与盐、密钥和加密散列操作一起操作来生成匿名标识符;以及生成新匿名标识符将更改盐和/或密钥。如上所述,如果存在当前机密已被泄露的顾虑,则可以更改盐和/或密钥。
[0043]匿名化引擎230将更新后的映射发送到映射模块240 (440)。更新后的映射包括已用于替换个人标识符的匿名标识符的更新后的列表。映射和更新后的映射均没有个人标识符。
[0044]图5示出根据本发明的一个实施例的用于使用实例数据生成匿名标识符(在此也称为“散列”)的过程流。仓库请求Ivan (在此也称为“匿名化引擎”)使“jdoe”匿名化。Ivan在其密钥-盐后备表中仅发现一(I)个用于“jdoe”的表项。使用密钥-盐组合“1001,air”,Ivan 针对“jdoe” 生成第一匿名标识符(abcdefg==#1001 )。
[0045]使用新密钥-盐组合“ 1002, water ”,Ivan针对“ j doe ”生成第二匿名标识符(jklmop==#1002),并且进行检查以便查看第二匿名标识符是否在密钥-散列桶表中。密钥-散列桶表包含使用当前密钥生成的所有散列的列表。对于密钥“1002”,生成散列“mnopqrs==”和“abcdefg==”。密钥-散列桶表不包含用于散列“ jklmop==”的表项。
[0046]将散列“jklmop==”添加到密钥-散列桶表,并且Ivan针对在当前密钥-盐组合“1002,water”之前发现的所有密钥-盐对生成“ jdoe”匿名化。创建用于“jdoe”的等效散列表,该表现在包括“abcdefg==#1001 ” 和 “ jklmop==#1002”。
[0047]图6示出根据本发明的一个实施例的用于数据聚合的过程流。仓库I和2 (Bob和Alice)将四(4)个匿名化后的数据记录发送到数据聚合代理:数据记录I (具有匿名标识符abcdefg==#1001)、数据记录2 (具有匿名标识符opqrstu==#1001 )、数据记录3 (具有匿名标识符tuvwxyz==#1002)和数据记录4 (具有匿名标识符opqrstu==#1001 )。
[0048]Zoe (在此也称为“映射模块”)具有等效散列列表,将该列表发送到数据聚合代理。因此,数据聚合代理能够确定数据记录I和3与同一实体相关,数据记录2和4与同一实体相关。当分析人员查询数据聚合代理时,数据聚合代理一起返回数据记录I和3并且一起返回数据记录2和4。在本发明的至少ー个实施例中,Zoe执行替换(即,组合数据记录I和3以及数据记录2和4),而不是向数据聚合代理提供该列表。
[0049]所属【技术领域】的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式,或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系統”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0050]可以采用一个或多个计算机可读介质的任意組合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是ー但不限于ー电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0051]计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一但不限于ー电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0052]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于ー无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0053]可以以ー种或多种程序设计语言的任意组合来编写用于执行本发明的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言ー诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言ー诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为ー个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络ー包括局域网(LAN)或广域网(WAN) —连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0054]下面将參照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出ー种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0055]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其他可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture
[0056]也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
[0057]现在參考图7,示出用于实现本发明的至少ー个实施例的代表性硬件环境。该示意图示出根据本发明的至少ー个实施例的信息处理/计算机系统的硬件配置。所述系统包括至少ー个处理器或中央处理单元(CPU)IO。CPUlO通过系统总线12与诸如随机存取存储器(RAM) 14、只读存储器(ROM) 16和输入/输出(I/O)适配器18之类的各种设备互连。I/0适配器18可以连接到外围设备,例如磁盘机11和磁带驱动器13,或者可由所述系统读取的其他程序存储设备。所述系统可以读取程序存储设备上的发明指令,并且遵循这些指令以便执行本发明的至少ー个实施例的方法。所述系统还包括用户接ロ适配器19,其将键盘
15、鼠标17、扬声器24、麦克风22和/或其他用户接ロ设备(例如触摸屏设备,未示出)连接到总线12以便收集数据输入。此外,通信适配器20将总线12连接到数据处理网络25,显示适配器21将总线12连接到显示设备23,显示设备23可以体现为输出设备(例如显示器、打印机或发送器)。
[0058]附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含ー个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0059]在此使用的术语只是为了描述特定的实施例并且并非g在作为本发明的限制。如在此使用的,単数形式“一”、“ー个”和“该” g在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,根术语“包括”和/或“具有”指定了声明的特性、整数、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其他特性、整数、步骤、操作、元素、组件和/或其组的存在或增加。
[0060]下面权利要求中的对应结构、材料、操作以及所有功能性限定的装置的等同替换,旨在包括任何用干与在权利要求中具体指出的其他元件相组合地执行该功能的结构或材料。出于示例和说明目的给出了对本发明的描述,但所述描述并非_在是穷举的或是将本发明限于所公开的形式。在不偏离本发明的范围和精神的情况下,对于所属【技术领域】的普通技术人员来说许多修改和变化都将是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理和实际应用,并且当适合于所构想的特定使用时,使得所属【技术领域】的其他普通技术人员能够理解本发明的具有各种修改的各种实施例。
[0061]エ业实用性
[0062]提供ー种具有用于使来自多个数据源的数据匿名化的方法的系统。提供的系统和方法尤其适用于从第一数据源接收记录标识符,并且生成第一匿名标识符以便替换记录标识符。如果先前已使记录标识符匿名化,则将映射发送到映射模块,其中所述映射包括已用于替换记录标识符的匿名标识符的列表。将第一匿名标识符和与第一匿名标识符关联的第一数据发送到数据聚合模块。
【权利要求】
1.一种用于使来自多个数据源的数据匿名化的方法,所述数据源具有标识与所述数据关联的实体的记录标识符,仅由所述数据源存储所述记录标识符,由连接到所述数据源的中央数据聚合模块收集所述数据,所述方法包括: 由匿名化引擎从第一数据源接收记录标识符(310); 使用所述匿名化引擎生成第一匿名标识符以便替换所述记录标识符(320); 如果所述匿名化引擎先前已使所述记录标识符匿名化,则将映射发送到映射模块,所述映射包括已用于替换所述记录标识符的匿名标识符的列表(330); 如果所述匿名化引擎先前未使所述记录标识符匿名化,则将所述映射存储在存储设备中(340); 将所述第一匿名标识符和与所述第一匿名标识符关联的第一数据发送到所述数据聚合模块(350); 由所述匿名化引擎从第二数据源接收所述记录标识符(360); 使用所述匿名化引擎生成第二匿名标识符以便替换所述记录标识符(370); 将更新后的映射发送到所述映射模块,所述更新后的映射包括已用于替换所述记录标识符的匿名标识符的更新后的列表(380);以及 将所述第二匿名标识符和与所述第二匿名标识符关联的第二数据发送到所述数据聚合模块(390)。
2.根据权利要求1的方法,还包括为所述数据聚合模块提供所述列表和所述更新后的列表中的至少ー个。
3.根据权利要求1或2的方法,还包括: 接收所述映射模块中的所述第一数据、所述第一匿名标识符、所述第二数据和所述第二匿名标识符; 根据所述更新后的映射,使用所述记录标识符的最新匿名标识符替换所述第一匿名标识符和所述第二匿名标识符;以及 将所述第一数据、所述第二数据和所述最新匿名标识符发送到所述数据聚合模块。
4.根据权利要求1或2的方法,其中生成所述第一匿名标识符包括使用盐和密钥生成所述第一匿名标识符。
5.根据权利要求4的方法,其中生成所述第二匿名标识符包括更改所述盐和所述密钥中的至少ー个。
6.根据权利要求4的方法,其中当更改了所述第一匿名标识符的所述盐和所述第一匿名标识符的所述密钥中的至少ー个时,仅将所述更新后的映射发送到所述映射模块。
7.根据权利要求4的方法,其中所述记录标识符标识与所述第一数据和所述第二数据关联的实体,以及 其中所述第一和第二匿名标识符隐藏与所述第一和第二数据关联的所述实体的身份。
8.根据权利要求1或2的方法,其中所述匿名标识符包括单向不可逆散列。
9.一种用于使来自多个数据源的数据匿名化的方法,所述数据源具有标识与所述数据关联的实体的个人标识符,由连接到所述数据源的中央数据聚合模块收集所述数据,所述方法包括: 使用匿名化引擎以匿名标识符替换个人标识符(410);将映射发送到映射模块,所述映射包括已用于替换所述个人标识符的匿名标识符的列表,所述映射没有所述个人标识符(420); 生成新的匿名标识符以便替换所述个人标识符(430);以及 将更新后的映射发送到所述映射模块,所述更新后的映射包括已用于替换所述个人标识符的匿名标识符的更新后的列表,所述更新后的映射没有所述个人标识符(440)。
10.根据权利要求9的方法,其中使用所述匿名标识符替换所述个人标识符包括使用盐和密钥生成所述第一匿名标识符,以及 其中生成所述新的匿名标识符包括更改所述盐和所述密钥中的至少ー个。
11.根据权利要求10的方法,其中所述个人标识符标识与所述数据关联的实体,以及 其中所述匿名标识符和所述新的匿名标识符均隐藏与所述数据关联的所述实体的身份。
12.根据权利要求9、10或11的方法,其中所述匿名标识符包括单向不可逆散列。
13.一种用于使来自多个数据源的数据匿名化的系统,所述数据源具有标识与所述数据关联的实体的个人标识符,由连接到所述数据源的中央数据聚合模块收集所述数据,所述系统包括: 匿名化引擎(230),其连接到所述数据源,所述匿名化引擎生成: 匿名标识符,其用于替换个人标识符, 映射,其包括已用于替换所述`个人标识符的匿名标识符的列表, 新的匿名标识符,其用于替换所述个人标识符,以及 更新后的映射,其包括已用于替换所述个人标识符的匿名标识符的更新后的列表;以及 映射模块(240),其连接到所述匿名化引擎和所述数据聚合模块,所述映射模块为所述数据聚合模块提供所述列表和所述更新后的列表。
14.根据权利要求13的系统,其中使用盐和密钥生成所述匿名标识符,并且其中使用新的盐和新的密钥中的至少ー个生成所述新的匿名标识符。
15.根据权利要求14的系统,其中所述个人标识符标识与第一数据关联的实体,并且其中所述匿名标识符和所述新的匿名标识符隐藏与所述数据关联的所述实体的身份。
16.根据权利要求13、14或15的系统,其中所述匿名标识符和所述新的匿名标识符均包括单向不可逆散列。
17.根据权利要求13、14或15的系统,其中仅将所述个人标识符存储在所述数据源中。
18.根据权利要求13、14或15的系统,其中所述数据源将所述数据发送到所述数据聚合模块。
19.一种用于使来自多个数据源的数据匿名化的计算机程序产品,所述数据源具有标识与所述数据关联的实体的个人标识符,由连接到所述数据源的中央数据聚合模块收集所述数据,所述计算机程序产品包括: 计算机可读存储介质; 第一程序指令,其用于使用匿名化引擎以匿名标识符替换个人标识符; 第二程序指令,其用于将映射发送到映射模块,所述映射包括已用于替换所述个人标识符的匿名标识符的列表;第三程序指令,其用于生成新的匿名标识符以便替换所述个人标识符;以及第四程序指令,其用于将更新后的映射发送到所述映射模块,所述更新后的映射包括已用于替换所述个人标识符的匿名标识符的更新后的列表, 将所述第一程序指令、所述第二程序指令、所述第三程序指令和所述第四程序指令存储在所述计算机可读存储介质上。
20.根据权利要求19的计算机程序产品,还包括第五程序指令,其用于为所述数据聚合模块提供所述列表和所述更新后的列表中的至少ー个。
21.根据权利要求19或20的计算机程序产品,还包括第六程序指令,其用于: 接收所述映射模块中的所述第一数据、所述第一匿名标识符、所述第二数据和所述第二匿名标识符; 根据所述更新后的映射,使用所述记录标识符的最新匿名标识符替换所述第一匿名标识符和所述第二匿名标识符;以及 将所述第一数据、所述第二数据和所述最新匿名标识符发送到所述数据聚合模块。
22.根据权利要求19或20的计算机程序产品,其中所述第一程序指令使用盐和密钥生成所述第一匿名标识符。
23.根据权利要求22的计算机程序产品,其中所述第三程序指令更改所述盐和所述密钥中的至少ー个。
24.根据权利要求22的计算机程序产品,其中当更改了所述第一匿名标识符的所述盐和所述第一匿名标识符的所述密钥中的至少ー个时,所述第四程序指令仅将所述更新后的映射发送到所述映射模块。
25.根据权利要求19或20的计算机程序产品,其中所述匿名标识符包括单向不可逆散列。
【文档编号】G06F7/00GK103562851SQ201280025616
【公开日】2014年2月5日 申请日期:2012年5月25日 优先权日:2011年5月27日
【发明者】T·E·阿布伊萨德, C·霍约斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1