亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

使用單向散列的數(shù)據擾亂和匿名化的制作方法

文檔序號:6495342閱讀:330來源:國知局
使用單向散列的數(shù)據擾亂和匿名化的制作方法
【專利摘要】本發(fā)明的一個實施例提供一種方法,其用于根據本發(fā)明的一個實施例使來自多個數(shù)據源的數(shù)據匿名化。所述數(shù)據源包括標識與所述數(shù)據關聯(lián)的實體的記錄標識符,其中僅由所述數(shù)據源存儲所述記錄標識符。由連接到所述數(shù)據源的中央數(shù)據聚合模塊收集所述數(shù)據。由匿名化引擎從第一數(shù)據源接收記錄標識符;以及使用所述匿名化引擎生成第一匿名標識符以便替換所述記錄標識符。如果所述匿名化引擎先前已使所述記錄標識符匿名化,則將映射發(fā)送到映射模塊,其中所述映射包括已用于替換所述記錄標識符的匿名標識符的列表。將所述第一匿名標識符和與所述第一匿名標識符關聯(lián)的第一數(shù)據發(fā)送到所述數(shù)據聚合模塊。
【專利說明】使用單向散列的數(shù)據擾亂和匿名化
[0001]本PCT國際申請要求2011年5月27日在美國專利及商標局提交的序列號為13/117,436的美國專利申請的優(yōu)先權。
【背景技術】
[0002]本發(fā)明涉及用于使用單向散列的數(shù)據擾亂和匿名化的系統(tǒng)、方法和計算機程序產品領域。
[0003]使數(shù)據匿名化依賴刪除或修改包含在數(shù)據中的標識變量(多個),也稱為個人可標識信息(PU )。通常,標識變量是描述個人特征的變量,個人特征可觀察、被注冊(標識號,例如社會保險號、員エID、患者ID等)或者通??梢詾槠渌怂J箶?shù)據匿名化優(yōu)先保持被引用人的隱私,同時關注數(shù)據挖掘人員的需要(例如,分析人員檢查數(shù)據以便標識趨勢、模式等)。
[0004]聚合員エ記錄以允許數(shù)據挖掘(例如,根據員エ考核標識優(yōu)秀員エ的通用模式)將鏈接整個組織內的所有員エ記錄。此外,通常在組織與數(shù)據挖掘公司(例如,調查人員、研究人員、分析人員等)之間共享數(shù)據。匿名化將防止數(shù)據挖掘人員標識在數(shù)據集中引用的員エ。

【發(fā)明內容】

[0005]本發(fā)明的一個實施例提供ー種方法和系統(tǒng),其用于根據本發(fā)明的一個實施例使來自多個數(shù)據源的數(shù)據匿名化。所述數(shù)據源包括標識與所述數(shù)據關聯(lián)的實體的記錄標識符,其中僅由所述數(shù)據源存儲所述記錄標識符。由連接到所述數(shù)據源的中央數(shù)據聚合模塊收集所述數(shù)據。由匿名化引擎從第一數(shù)據源接收記錄標識符;以及使用所述匿名化引擎生成第一匿名標識符以便替換所述記錄標識符。如果所述匿名化引擎先前已使所述記錄標識符匿名化,則將映射發(fā)送到映射模塊,其中所述映射包括已用于替換所述記錄標識符的匿名標識符的列表。如果所述匿名化引擎先前未使所述記錄標識符匿名化,則將所述映射存儲在存儲設備中。將所述第一匿名標識符和與所述第一匿名標識符關聯(lián)的第一數(shù)據發(fā)送到所述數(shù)據聚合模塊。
[0006]由所述匿名化引擎從第二數(shù)據源接收所述記錄標識符;以及使用所述匿名化引擎生成第二匿名標識符以便替換所述記錄標識符。將更新后的映射發(fā)送到所述映射模塊,其中所述更新后的映射包括已用于替換所述記錄標識符的匿名標識符的更新后的列表。將所述第二匿名標識符和與所述第二匿名標識符關聯(lián)的第二數(shù)據發(fā)送到所述數(shù)據聚合模塊。
【專利附圖】

【附圖說明】
[0007]參考附圖描述本發(fā)明。在附圖中,相同的參考標號指示相同或功能類似的元素,這些附圖是:
[0008]圖1是示出根據本發(fā)明的一個實施例的使來自多個倉庫(silo)的數(shù)據匿名化的方法的流程圖;[0009]圖2是示出根據本發(fā)明的一個實施例的用于使來自多個數(shù)據源的數(shù)據匿名化的系統(tǒng)的不意圖;
[0010]圖3是示出根據本發(fā)明的一個實施例的使來自多個數(shù)據源的數(shù)據匿名化的方法的流程圖;
[0011]圖4是示出根據本發(fā)明的另ー個實施例的使來自多個數(shù)據源的數(shù)據匿名化的方法的流程圖;
[0012]圖5示出根據本發(fā)明的一個實施例的用于生成匿名標識符的過程流;
[0013]圖6示出根據本發(fā)明的一個實施例的用于數(shù)據聚合的過程流;以及
[0014]圖7示出根據本發(fā)明的一個實施例的計算機程序產品。
【具體實施方式】
[0015]下面詳細討論本發(fā)明的示例性非限制性實施例。盡管討論特定配置以便提供清晰的理解,但應該理解,所公開的配置僅用于示例目的。所屬【技術領域】的普通技術人員將認識至IJ,可以使用其他配置而不偏離本發(fā)明的精神和范圍。
[0016]本發(fā)明的一個實施例提供ー種匿名化和聚合的方法,所述方法使用保護數(shù)據所有者(在此也稱為“個人”或“用戶”)隱私的單向不可逆散列,方法是實現(xiàn)對數(shù)據所有者的可跟蹤性同時隱藏數(shù)據所有者的身份。當從多個倉庫(在此也稱為“數(shù)據源”)貢獻數(shù)據(例如來自醫(yī)院(即,倉庫I)或來自醫(yī)生(即,倉庫2)的患者記錄)時,所述方法還記錄不匹配。
[0017]本發(fā)明的至少ー個實施例包括一種創(chuàng)建單向散列的數(shù)據匿名化器(在此也稱為“匿名化引擎”)。單向散列將防止目的是暴露數(shù)據所有者隱私的數(shù)據反向工程。單向散列包括2個輸入:鹽(salt)(即,一組隨機位)和密鑰。如果數(shù)據是暴力或字典攻擊的目標,則此處的實施例采用不斷變化的鹽和密鑰組合。
[0018]數(shù)據收集器/聚合器(在此也稱為“數(shù)據聚合模塊”)無法查看數(shù)據匿名化器。這允許聚合個人的私人數(shù)據而不暴露其身份。在至少ー個實施例中,使用獨立的第三方協(xié)調從不同源或鹽創(chuàng)建的散列。分離散列、映射和報告功能將確保任何一方(如果泄露)都無法公開所有用戶信息。如果匿名化平臺的任何單個實體受到攻擊,則攻擊者將無法標識數(shù)據所有者。數(shù)據匿名化器保留的任何數(shù)據都不足以用于反向工程。
[0019]圖1是示出根據本發(fā)明的一個實施例的使來自多個倉庫的數(shù)據匿名化的方法的流程圖。所述方法允許數(shù)據收集器運行報告和分析,并且匹配多個倉庫,而無法匹配返回到用戶的數(shù)據。在至少ー個實施例中,用戶是ー組個人、組織或公司實體。
[0020]每個倉庫將用戶標識符(在此也稱為“個人標識符”)變換為唯一的不可逆散列(在此也稱為“匿名標識符”)(110)。每個倉庫具有定義用戶的用戶標識符(或標識符集合)。用戶標識符與用戶的其他(通常為私有)數(shù)據關聯(lián),由于隱私原因這些數(shù)據僅為倉庫所知。用戶標識符直接標識用戶(例如,用戶姓名),或者通過允許某人使用用戶標識符追溯到用戶身份(例如,社會保險號、員エID、患者ID、電子郵件地址)來間接標識用戶。相反,匿名標識符(例如,隨機字母和/或數(shù)字串)掩蓋用戶的身份。例如,在一個實施例中,用戶標識符是“Jane Doe”,匿名標識符是“AKZ76TV33”。
[0021]倉庫使用唯一散列替換任何個人信息,該散列使數(shù)據對于其所有者而言唯一,但無法被追溯到他或她。為此,倉庫將用戶標識符發(fā)送到倉庫外部的匿名化引擎。例如,倉庫要求匿名化引擎使表示其系統(tǒng)中的用戶的字符串“ jdoe”匿名化。字符串“ jdoe”可包括多個記錄/表項標識符,例如電子郵件地址加上社會保險號加上姓氏等。
[0022]在本發(fā)明的至少ー個實施例中,匿名化引擎存儲一組機密(在此也稱為“密鑰-鹽組合”),它們用于生成單向散列以便使跨越倉庫通用的用戶標識符匿名化。首先,匿名化引擎檢查其密鑰-鹽表并取回用于發(fā)出請求的倉庫的最新密鑰和鹽。匿名化引擎然后針對被請求用戶標識符生成匿名化散列。這通過應用單向散列函數(shù)(例如,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]匿名化引擎進行檢查以便查看過去是否使用該鹽使該用戶標識符匿名化,方法是查看散列是否在該密鑰的密鑰-散列桶中(用戶標識符未被存儲,僅是作為單向散列乘積的散列)。如果沒有,則匿名化引擎針對所有倉庫使用所有不同的鹽生成先前的所有散列,并且將當前和先前的散列發(fā)送到代理。這是一次性操作,其中匿名化引擎保留已同步的所有散列的列表,以便在后面的步驟中,不會將該已匿名化的散列發(fā)送到代理。
[0027]在至少ー個實施例中,可以查詢代理以便映射使用當前和較舊的密鑰-鹽生成的散列。匿名化引擎檢查其同步后的散列桶以便查看是否存在已匿名化的散列。如果存在已匿名化的散列,則匿名化引擎轉到最后ー個步驟。如果同步后的散列桶中不存在已匿名化的散列,則這是首次針對該倉庫使用當前密鑰-鹽使該用戶標識符匿名化。因為存在可能已用于使該用戶標識符匿名化的較舊密鑰-鹽,所以匿名化引擎創(chuàng)建“等效散列”的列表以便發(fā)送到代理。匿名化引擎獲得用戶標識符,并且使用先前的密鑰-鹽使其匿名化。這針對該用戶標識符創(chuàng)建等效散列表,將該表發(fā)送到代理。代理接收該表之后,將當前散列添加到同步后的散列桶。針對每個用戶標識符將當前散列添加到同步后的散列桶使此同步操作成為代理與匿名化引擎之間的一次性操作。匿名化引擎然后將匿名化后的散列返回到倉庫。可以將其他級別的加密添加到匿名化后的散列。
[0028]每個倉庫將其數(shù)據連同匿名化后的散列一起發(fā)送到數(shù)據聚合模塊(120)。數(shù)據聚合模塊關聯(lián)從多個倉庫接收的與同一用戶(同一實體)相關的數(shù)據。
[0029]在本發(fā)明的至少ー個實施例中,查詢數(shù)據聚合模塊(130)。在一個實施例中,針對查詢數(shù)據聚合模塊的分析人員進行限制以便防止查詢范圍縮小。查詢限制例如可以包括得到的行數(shù)、被請求的列數(shù)等。查詢限制將防止分析人員將記錄跟蹤到其所有者。
[0030]在本發(fā)明的至少ー個實施例中,指示匿名化引擎使用新密鑰-鹽組合(在此也稱為“機密”)(140)??梢园凑展潭〞r間間隔更改機密,或者當存在當前機密被泄露的顧慮時更改機密。當匿名化引擎接收到用于更改密鑰-鹽組合的消息吋,它將遵循機密策略(例如,機密到期之前的時間長度、是否可以重用機密等)來創(chuàng)建新機密。
[0031]匿名化引擎更改密鑰和/或鹽。例如,在至少ー個實施例中,匿名化引擎創(chuàng)建不同于先前使用的任何密鑰的新密鑰(可以如同將值I添加到最后ー個密鑰那樣簡單或者更復雜),將新的密鑰-鹽組合添加到密鑰-鹽表,并且將其設置為當前機密。最后,匿名化引擎清除同步后的散列桶。
[0032]圖2是示出根據本發(fā)明的一個實施例的用于使來自多個數(shù)據源210的數(shù)據匿名化的系統(tǒng)200的示意圖。數(shù)據源210包括記錄標識符(在此也稱為“個人標識符”),其中每個記錄標識符標識與數(shù)據關聯(lián)的實體。如在此使用的,術語“實體”指個人或ー組人,例如公司、公司內的部門(例如,會計部門)或政府機構。僅將記錄標識符存儲在數(shù)據源210中。由連接到數(shù)據源210的中央數(shù)據聚合模塊220收集數(shù)據(例如,病歷)。如在此使用的,術語“連接”包括在操作上連接、在邏輯上連接、通信、在物理上連接、結合、耦合、接觸、鏈接、貼附和附加。例如,在本發(fā)明的一個實施例中,使來自多個數(shù)據源(例如,醫(yī)生A、醫(yī)生B等)的數(shù)據(例如,病歷)匿名化,其中數(shù)據與個人標識符(例如,患者的姓名、社會保險號等)關聯(lián)。
[0033]圖3是示出根據本發(fā)明的一個實施例的使來自多個數(shù)據源的數(shù)據匿名化的方法的流程圖(例如,使用系統(tǒng)200)。由匿名化引擎230從第一數(shù)據源接收記錄標識符(310),其中匿名化引擎230生成第一匿名標識符以便替換記錄標識符(320)。例如,在一個實施例中,第一數(shù)據源將第一數(shù)據(例如,John Doe的病歷)和記錄標識符(例如,John Doe)發(fā)送到匿名化引擎230,該引擎生成第一匿名標識符以便替換記錄標識符。在另ー個實施例中,僅將記錄標識符發(fā)送到匿名化引擎230。使用鹽和密鑰生成匿名標識符。生成匿名標識符之后,它僅包括密鑰,鹽是機密的。
[0034]如果匿名化引擎230先前已使用不同的密鑰-鹽對使記錄標識符匿名化,則匿名化引擎230生成映射并且將其發(fā)送到映射模塊240 (330)。映射包括已用于替換記錄標識符的匿名標識符的列表。映射不包括記錄標識符;相反,映射提供均引用同一實體的匿名標識符的列表。在至少ー個實施例中,如果匿名化引擎230先前未使記錄標識符匿名化,則將映射存儲在匿名化引擎230內部或外部的存儲設備中(340)。在另ー個實施例中,如果匿名化引擎230未使用當前鹽-密鑰對使記錄標識符匿名化,則將匿名散列存儲在匿名化引擎230內部或外部的存儲設備中,并且將其與當前鹽-密鑰對關聯(lián)。在該實施例中,如果匿名化引擎230已使用當前鹽-密鑰對使記錄標識符匿名化,則不需要進ー步操作。將第一匿名標識符和與第一匿名標識符關聯(lián)的第一數(shù)據發(fā)送到數(shù)據聚合模塊220 (350)。從第一數(shù)據源或匿名化引擎230發(fā)送第一匿名標識符和第一數(shù)據。
[0035]匿名化引擎230從第二數(shù)據源接收記錄標識符(360),并且生成第二匿名標識符以便替換記錄標識符(370)。因此,例如醫(yī)生I將記錄標識符“John Doe”發(fā)送到匿名化引擎230,該引擎返回匿名標識符“123xyz” ;以及醫(yī)生2將記錄標識符“John Doe”發(fā)送到匿名化引擎230,該引擎返回匿名標識符“456xyz”。在本發(fā)明的至少ー個實施例中,第一和第ニ匿名標識符是單向不可逆散列,其中生成第二匿名標識符包括更改第一匿名標識符的鹽和/或密鑰。如果匿名化引擎230已更改鹽-密鑰組合,則第二匿名標識符不同于第一匿名標識符。如果匿名化引擎230使用同一鹽-密鑰組合,則第二匿名標識符與第一匿名標識符相同。
[0036]匿名化引擎230將更新后的映射發(fā)送到映射模塊240(380),其中更新后的映射包括已用于替換記錄標識符的匿名標識符的更新后的列表(例如,包括第一匿名標識符和第ニ匿名標識符)。換言之,匿名化引擎230向映射模塊240發(fā)送全部引用同一實體的匿名標識符的更新后的列表。因此,在上面的實例中,更新后的映射包括匿名標識符“123xyz”和“456xyz”。在至少ー個實施例中,當更改了第一匿名標識符的鹽和/或密鑰時,僅將更新后的映射發(fā)送到映射模塊240。換言之,如果匿名化引擎230針對某個人仍然使用同一匿名標識符(即,鹽或密鑰未更改),則不將更新后的映射發(fā)送到映射模塊240。[0037]將第二匿名標識符和與第二匿名標識符關聯(lián)的第二數(shù)據發(fā)送到數(shù)據聚合模塊220(390)。具體地說,從第二數(shù)據源和/或匿名化引擎發(fā)送第二匿名標識符;以及從第二數(shù)據源發(fā)送第二數(shù)據。
[0038]在本發(fā)明的至少ー個實施例中,映射模塊240向數(shù)據聚合模塊220提供列表和/或更新后的列表。因此,數(shù)據聚合模塊220可以檢查最新列表以便判定兩個或更多匿名標識符是否引用同一實體(即,匿名化引擎230是否已更改密鑰-鹽組合)。
[0039]在另ー個實施例中,數(shù)據聚合模塊220將第一數(shù)據、第一匿名標識符、第二數(shù)據和第二匿名標識符發(fā)送到映射模塊240。根據更新后的映射,映射模塊240使用記錄標識符的最新匿名標識符替換第一匿名標識符和第二匿名標識符(即,使用第一匿名標識符、第二匿名標識符或其他匿名標識符一匿名化引擎230最近用于替換記錄標識符的任何ー個匿名標識符)。映射模塊240將第一數(shù)據、第二數(shù)據和最新匿名標識符發(fā)送到數(shù)據聚合模塊。
[0040]圖4是示出根據本發(fā)明另ー個實施例的使來自多個數(shù)據源的數(shù)據匿名化的方法的流程圖(例如,使用系統(tǒng)200)。數(shù)據源(多個)(210)包括標識與數(shù)據關聯(lián)的實體的個人標識符(在此也稱為“記錄標識符”)。由連接到至少ー個數(shù)據源210的中央數(shù)據聚合模塊220收集數(shù)據。
[0041]匿名化引擎230使用匿名標識符替換個人標識符(410),并且將映射發(fā)送到映射模塊240 (420)。映射包括已用于替換個人標識符的匿名標識符的列表。映射不包括個人標識符;相反,映射提供匿名標識符列表,每個匿名標識符都引用同一實體。
[0042]匿名化引擎230生成新匿名標識符以便替換個人標識符(430)。匿名標識符是單向不可逆散列,其隱藏與數(shù)據關聯(lián)的實體的身份。在至少ー個實施例中,通過與鹽、密鑰和加密散列操作一起操作來生成匿名標識符;以及生成新匿名標識符將更改鹽和/或密鑰。如上所述,如果存在當前機密已被泄露的顧慮,則可以更改鹽和/或密鑰。
[0043]匿名化引擎230將更新后的映射發(fā)送到映射模塊240 (440)。更新后的映射包括已用于替換個人標識符的匿名標識符的更新后的列表。映射和更新后的映射均沒有個人標識符。
[0044]圖5示出根據本發(fā)明的一個實施例的用于使用實例數(shù)據生成匿名標識符(在此也稱為“散列”)的過程流。倉庫請求Ivan (在此也稱為“匿名化引擎”)使“jdoe”匿名化。Ivan在其密鑰-鹽后備表中僅發(fā)現(xiàn)一(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”之前發(fā)現(xiàn)的所有密鑰-鹽對生成“ jdoe”匿名化。創(chuàng)建用于“jdoe”的等效散列表,該表現(xiàn)在包括“abcdefg==#1001 ” 和 “ jklmop==#1002”。
[0047]圖6示出根據本發(fā)明的一個實施例的用于數(shù)據聚合的過程流。倉庫I和2 (Bob和Alice)將四(4)個匿名化后的數(shù)據記錄發(fā)送到數(shù)據聚合代理:數(shù)據記錄I (具有匿名標識符abcdefg==#1001)、數(shù)據記錄2 (具有匿名標識符opqrstu==#1001 )、數(shù)據記錄3 (具有匿名標識符tuvwxyz==#1002)和數(shù)據記錄4 (具有匿名標識符opqrstu==#1001 )。
[0048]Zoe (在此也稱為“映射模塊”)具有等效散列列表,將該列表發(fā)送到數(shù)據聚合代理。因此,數(shù)據聚合代理能夠確定數(shù)據記錄I和3與同一實體相關,數(shù)據記錄2和4與同一實體相關。當分析人員查詢數(shù)據聚合代理時,數(shù)據聚合代理一起返回數(shù)據記錄I和3并且一起返回數(shù)據記錄2和4。在本發(fā)明的至少ー個實施例中,Zoe執(zhí)行替換(即,組合數(shù)據記錄I和3以及數(shù)據記錄2和4),而不是向數(shù)據聚合代理提供該列表。
[0049]所屬【技術領域】的技術人員知道,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或計算機程序產品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式,或硬件和軟件方面結合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明的各個方面還可以實現(xiàn)為在一個或多個計算機可讀介質中的計算機程序產品的形式,該計算機可讀介質中包含計算機可讀的程序代碼。
[0050]可以采用一個或多個計算機可讀介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是ー但不限于ー電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者上述的任意合適的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。
[0051]計算機可讀的信號介質可以包括例如在基帶中或者作為載波一部分傳播的數(shù)據信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據信號可以采用多種形式,包括一但不限于ー電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。
[0052]計算機可讀介質上包含的程序代碼可以用任何適當?shù)慕橘|傳輸,包括一但不限于ー無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0053]可以以ー種或多種程序設計語言的任意組合來編寫用于執(zhí)行本發(fā)明的各個方面的操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言ー諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設計語言ー諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為ー個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡ー包括局域網(LAN)或廣域網(WAN) —連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
[0054]下面將參照根據本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產品的流程圖和/或框圖描述本發(fā)明的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其他可編程數(shù)據處理裝置的處理器,從而生產出ー種機器,使得這些指令在通過計算機或其他可編程數(shù)據處理裝置的處理器執(zhí)行時,產生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0055]也可以把這些計算機程序指令存儲在計算機可讀介質中,這些指令使得計算機、其他可編程數(shù)據處理裝置、或其他設備以特定方式工作,從而,存儲在計算機可讀介質中的指令就產生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(article of manufacture
[0056]也可以把計算機程序指令加載到計算機、其他可編程數(shù)據處理裝置、或其他設備上,使得在計算機、其他可編程裝置或其他設備上執(zhí)行一系列操作步驟,以產生計算機實現(xiàn)的過程,從而使得在計算機或其他可編程裝置上執(zhí)行的指令提供實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的過程。
[0057]現(xiàn)在參考圖7,示出用于實現(xiàn)本發(fā)明的至少ー個實施例的代表性硬件環(huán)境。該示意圖示出根據本發(fā)明的至少ー個實施例的信息處理/計算機系統(tǒng)的硬件配置。所述系統(tǒng)包括至少ー個處理器或中央處理單元(CPU)IO。CPUlO通過系統(tǒng)總線12與諸如隨機存取存儲器(RAM) 14、只讀存儲器(ROM) 16和輸入/輸出(I/O)適配器18之類的各種設備互連。I/0適配器18可以連接到外圍設備,例如磁盤機11和磁帶驅動器13,或者可由所述系統(tǒng)讀取的其他程序存儲設備。所述系統(tǒng)可以讀取程序存儲設備上的發(fā)明指令,并且遵循這些指令以便執(zhí)行本發(fā)明的至少ー個實施例的方法。所述系統(tǒng)還包括用戶接ロ適配器19,其將鍵盤
15、鼠標17、揚聲器24、麥克風22和/或其他用戶接ロ設備(例如觸摸屏設備,未示出)連接到總線12以便收集數(shù)據輸入。此外,通信適配器20將總線12連接到數(shù)據處理網絡25,顯示適配器21將總線12連接到顯示設備23,顯示設備23可以體現(xiàn)為輸出設備(例如顯示器、打印機或發(fā)送器)。
[0058]附圖中的流程圖和框圖顯示了根據本發(fā)明的不同實施例的系統(tǒng)、方法和計算機程序產品的可能實現(xiàn)的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含ー個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0059]在此使用的術語只是為了描述特定的實施例并且并非g在作為本發(fā)明的限制。如在此使用的,単數(shù)形式“一”、“ー個”和“該” g在同樣包括復數(shù)形式,除非上下文明確地另有所指。還將理解,當在此說明書中使用時,根術語“包括”和/或“具有”指定了聲明的特性、整數(shù)、步驟、操作、元素和/或組件的存在,但是并不排除一個或多個其他特性、整數(shù)、步驟、操作、元素、組件和/或其組的存在或增加。
[0060]下面權利要求中的對應結構、材料、操作以及所有功能性限定的裝置的等同替換,旨在包括任何用干與在權利要求中具體指出的其他元件相組合地執(zhí)行該功能的結構或材料。出于示例和說明目的給出了對本發(fā)明的描述,但所述描述并非_在是窮舉的或是將本發(fā)明限于所公開的形式。在不偏離本發(fā)明的范圍和精神的情況下,對于所屬【技術領域】的普通技術人員來說許多修改和變化都將是顯而易見的。實施例的選擇和描述是為了最佳地解釋本發(fā)明的原理和實際應用,并且當適合于所構想的特定使用時,使得所屬【技術領域】的其他普通技術人員能夠理解本發(fā)明的具有各種修改的各種實施例。
[0061]エ業(yè)實用性
[0062]提供ー種具有用于使來自多個數(shù)據源的數(shù)據匿名化的方法的系統(tǒng)。提供的系統(tǒng)和方法尤其適用于從第一數(shù)據源接收記錄標識符,并且生成第一匿名標識符以便替換記錄標識符。如果先前已使記錄標識符匿名化,則將映射發(fā)送到映射模塊,其中所述映射包括已用于替換記錄標識符的匿名標識符的列表。將第一匿名標識符和與第一匿名標識符關聯(lián)的第一數(shù)據發(fā)送到數(shù)據聚合模塊。
【權利要求】
1.一種用于使來自多個數(shù)據源的數(shù)據匿名化的方法,所述數(shù)據源具有標識與所述數(shù)據關聯(lián)的實體的記錄標識符,僅由所述數(shù)據源存儲所述記錄標識符,由連接到所述數(shù)據源的中央數(shù)據聚合模塊收集所述數(shù)據,所述方法包括: 由匿名化引擎從第一數(shù)據源接收記錄標識符(310); 使用所述匿名化引擎生成第一匿名標識符以便替換所述記錄標識符(320); 如果所述匿名化引擎先前已使所述記錄標識符匿名化,則將映射發(fā)送到映射模塊,所述映射包括已用于替換所述記錄標識符的匿名標識符的列表(330); 如果所述匿名化引擎先前未使所述記錄標識符匿名化,則將所述映射存儲在存儲設備中(340); 將所述第一匿名標識符和與所述第一匿名標識符關聯(lián)的第一數(shù)據發(fā)送到所述數(shù)據聚合模塊(350); 由所述匿名化引擎從第二數(shù)據源接收所述記錄標識符(360); 使用所述匿名化引擎生成第二匿名標識符以便替換所述記錄標識符(370); 將更新后的映射發(fā)送到所述映射模塊,所述更新后的映射包括已用于替換所述記錄標識符的匿名標識符的更新后的列表(380);以及 將所述第二匿名標識符和與所述第二匿名標識符關聯(lián)的第二數(shù)據發(fā)送到所述數(shù)據聚合模塊(390)。
2.根據權利要求1的方法,還包括為所述數(shù)據聚合模塊提供所述列表和所述更新后的列表中的至少ー個。
3.根據權利要求1或2的方法,還包括: 接收所述映射模塊中的所述第一數(shù)據、所述第一匿名標識符、所述第二數(shù)據和所述第二匿名標識符; 根據所述更新后的映射,使用所述記錄標識符的最新匿名標識符替換所述第一匿名標識符和所述第二匿名標識符;以及 將所述第一數(shù)據、所述第二數(shù)據和所述最新匿名標識符發(fā)送到所述數(shù)據聚合模塊。
4.根據權利要求1或2的方法,其中生成所述第一匿名標識符包括使用鹽和密鑰生成所述第一匿名標識符。
5.根據權利要求4的方法,其中生成所述第二匿名標識符包括更改所述鹽和所述密鑰中的至少ー個。
6.根據權利要求4的方法,其中當更改了所述第一匿名標識符的所述鹽和所述第一匿名標識符的所述密鑰中的至少ー個時,僅將所述更新后的映射發(fā)送到所述映射模塊。
7.根據權利要求4的方法,其中所述記錄標識符標識與所述第一數(shù)據和所述第二數(shù)據關聯(lián)的實體,以及 其中所述第一和第二匿名標識符隱藏與所述第一和第二數(shù)據關聯(lián)的所述實體的身份。
8.根據權利要求1或2的方法,其中所述匿名標識符包括單向不可逆散列。
9.一種用于使來自多個數(shù)據源的數(shù)據匿名化的方法,所述數(shù)據源具有標識與所述數(shù)據關聯(lián)的實體的個人標識符,由連接到所述數(shù)據源的中央數(shù)據聚合模塊收集所述數(shù)據,所述方法包括: 使用匿名化引擎以匿名標識符替換個人標識符(410);將映射發(fā)送到映射模塊,所述映射包括已用于替換所述個人標識符的匿名標識符的列表,所述映射沒有所述個人標識符(420); 生成新的匿名標識符以便替換所述個人標識符(430);以及 將更新后的映射發(fā)送到所述映射模塊,所述更新后的映射包括已用于替換所述個人標識符的匿名標識符的更新后的列表,所述更新后的映射沒有所述個人標識符(440)。
10.根據權利要求9的方法,其中使用所述匿名標識符替換所述個人標識符包括使用鹽和密鑰生成所述第一匿名標識符,以及 其中生成所述新的匿名標識符包括更改所述鹽和所述密鑰中的至少ー個。
11.根據權利要求10的方法,其中所述個人標識符標識與所述數(shù)據關聯(lián)的實體,以及 其中所述匿名標識符和所述新的匿名標識符均隱藏與所述數(shù)據關聯(lián)的所述實體的身份。
12.根據權利要求9、10或11的方法,其中所述匿名標識符包括單向不可逆散列。
13.一種用于使來自多個數(shù)據源的數(shù)據匿名化的系統(tǒng),所述數(shù)據源具有標識與所述數(shù)據關聯(lián)的實體的個人標識符,由連接到所述數(shù)據源的中央數(shù)據聚合模塊收集所述數(shù)據,所述系統(tǒng)包括: 匿名化引擎(230),其連接到所述數(shù)據源,所述匿名化引擎生成: 匿名標識符,其用于替換個人標識符, 映射,其包括已用于替換所述`個人標識符的匿名標識符的列表, 新的匿名標識符,其用于替換所述個人標識符,以及 更新后的映射,其包括已用于替換所述個人標識符的匿名標識符的更新后的列表;以及 映射模塊(240),其連接到所述匿名化引擎和所述數(shù)據聚合模塊,所述映射模塊為所述數(shù)據聚合模塊提供所述列表和所述更新后的列表。
14.根據權利要求13的系統(tǒng),其中使用鹽和密鑰生成所述匿名標識符,并且其中使用新的鹽和新的密鑰中的至少ー個生成所述新的匿名標識符。
15.根據權利要求14的系統(tǒng),其中所述個人標識符標識與第一數(shù)據關聯(lián)的實體,并且其中所述匿名標識符和所述新的匿名標識符隱藏與所述數(shù)據關聯(lián)的所述實體的身份。
16.根據權利要求13、14或15的系統(tǒng),其中所述匿名標識符和所述新的匿名標識符均包括單向不可逆散列。
17.根據權利要求13、14或15的系統(tǒng),其中僅將所述個人標識符存儲在所述數(shù)據源中。
18.根據權利要求13、14或15的系統(tǒng),其中所述數(shù)據源將所述數(shù)據發(fā)送到所述數(shù)據聚合模塊。
19.一種用于使來自多個數(shù)據源的數(shù)據匿名化的計算機程序產品,所述數(shù)據源具有標識與所述數(shù)據關聯(lián)的實體的個人標識符,由連接到所述數(shù)據源的中央數(shù)據聚合模塊收集所述數(shù)據,所述計算機程序產品包括: 計算機可讀存儲介質; 第一程序指令,其用于使用匿名化引擎以匿名標識符替換個人標識符; 第二程序指令,其用于將映射發(fā)送到映射模塊,所述映射包括已用于替換所述個人標識符的匿名標識符的列表;第三程序指令,其用于生成新的匿名標識符以便替換所述個人標識符;以及第四程序指令,其用于將更新后的映射發(fā)送到所述映射模塊,所述更新后的映射包括已用于替換所述個人標識符的匿名標識符的更新后的列表, 將所述第一程序指令、所述第二程序指令、所述第三程序指令和所述第四程序指令存儲在所述計算機可讀存儲介質上。
20.根據權利要求19的計算機程序產品,還包括第五程序指令,其用于為所述數(shù)據聚合模塊提供所述列表和所述更新后的列表中的至少ー個。
21.根據權利要求19或20的計算機程序產品,還包括第六程序指令,其用于: 接收所述映射模塊中的所述第一數(shù)據、所述第一匿名標識符、所述第二數(shù)據和所述第二匿名標識符; 根據所述更新后的映射,使用所述記錄標識符的最新匿名標識符替換所述第一匿名標識符和所述第二匿名標識符;以及 將所述第一數(shù)據、所述第二數(shù)據和所述最新匿名標識符發(fā)送到所述數(shù)據聚合模塊。
22.根據權利要求19或20的計算機程序產品,其中所述第一程序指令使用鹽和密鑰生成所述第一匿名標識符。
23.根據權利要求22的計算機程序產品,其中所述第三程序指令更改所述鹽和所述密鑰中的至少ー個。
24.根據權利要求22的計算機程序產品,其中當更改了所述第一匿名標識符的所述鹽和所述第一匿名標識符的所述密鑰中的至少ー個時,所述第四程序指令僅將所述更新后的映射發(fā)送到所述映射模塊。
25.根據權利要求19或20的計算機程序產品,其中所述匿名標識符包括單向不可逆散列。
【文檔編號】G06F7/00GK103562851SQ201280025616
【公開日】2014年2月5日 申請日期:2012年5月25日 優(yōu)先權日:2011年5月27日
【發(fā)明者】T·E·阿布伊薩德, C·霍約斯 申請人:國際商業(yè)機器公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1