CN102460404A - 生成混淆数据 - Google Patents

生成混淆数据 Download PDF

Info

Publication number
CN102460404A
CN102460404A CN2010800323099A CN201080032309A CN102460404A CN 102460404 A CN102460404 A CN 102460404A CN 2010800323099 A CN2010800323099 A CN 2010800323099A CN 201080032309 A CN201080032309 A CN 201080032309A CN 102460404 A CN102460404 A CN 102460404A
Authority
CN
China
Prior art keywords
value
obscuring
data
key
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010800323099A
Other languages
English (en)
Other versions
CN102460404B (zh
Inventor
P.尼尔加德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of CN102460404A publication Critical patent/CN102460404A/zh
Application granted granted Critical
Publication of CN102460404B publication Critical patent/CN102460404B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2125Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

混淆数据的方法包括:读取(210)发生在数据源中的多个记录的一个或更多个字段中的值;存储(220)密钥值;对多个记录中的每一个,用所述密钥值生成(230)混淆值来替代所述记录的给定字段中的原始值,这样,所述混淆值取决于所述密钥值并且确定地与所述原始值相关;以及存储(240)包括记录的所述混淆数据集合,所述记录包括数据存储系统中的混淆值。

Description

生成混淆数据
相关申请的交叉引用
本申请要求2009年6月1日提交的美国申请序列号61/183,054和2009年7月2日提交的美国申请序列号12/497,354的优先权,上述每个申请通过引用合并至此。
技术领域
本说明书涉及生成混淆(obfuscated)数据。
背景技术
在许多公司中,软件开发人员在生产环境以外(例如,在处理实际客户数据的环境中)工作,而且出于安全原因,他们不能访问生产数据。然而,为了确保他们的应用程序将用生产数据正确运行,在展现生产数据的某些特征的开发和测试期间,他们可能需要实际的测试数据。为了提供这样的实际测试数据,可以混淆输入生产数据集来确保没有遗留敏感信息,而且可以存储混淆数据从而作为测试数据使用。取决于项目和开发人员的需要、组织的隐私政策、甚至是使用混淆数据的国家的法律,对于混淆数据的需求可能差异很大。例如,数据混淆可能涉及含替换或改变个人信息,诸如姓名、地址、生日、社会保险号码、以及信用卡和银行账户号码。
发明内容
在一个方面中,一般而言,用于混淆数据的方法包括:从数据源读取在多个记录的一个或更多个字段中出现的值;存储密钥值;对多个记录中的每一个,用密钥值在所述记录的给定的字段中生成混淆值来替代原始值,使得该混淆值取决于密钥值并且确定地与原始值相关;以及在数据存储系统中存储包括记录的混淆数据的集合,所述记录包括混淆值。
各方面可以包括一个或更多个下述特性。
所述方法进一步包括存储简档信息,所述简档信息包括至少一个字段的统计数据特征值。
用所述密钥值和为给定字段存储的简档信息生成所述混淆值。
所述混淆值以基于给定字段的所存储的简档信息特征值中的统计数据来决定的频率,出现在混淆数据集合的给定字段中。
所述混淆值通过使用原始值和密钥作为对生成索引值的函数的输入、并使用所述索引值在预定的混淆值集中查找混淆值而生成所述混淆值。
所述预定的混淆值集作为查找表而存储,其中每个混淆值对应于一个或更多个索引值。
一范围内的多个索引值对应于在预定的混淆值集中的相同的混淆值。
所述范围的大小基于给定字段的所存储的简档信息特征值的统计数据。
用所述密钥值生成混淆值来替代所述记录的给定字段中的原始值包括:用确定函数结合原始值和密钥来产生用于选择混淆值的选择值。
用确定的映射,将所述选择值映射到混淆值。
选择混淆值的值域包括来自数据源的记录的给定字段中的多个原始值。
一个或更多个原始值不包括在值域内。
在值域内的一个或更多个值不包括在原始值内。
所述确定函数用密钥通过加密方式阻止从混淆值中恢复原始值。
所述确定函数为不同的密钥值提供选择值相对连续原始值的不同序列。
针对密钥的第一值对连续原始值的选择值的第一序列,是不可从针对密钥的第二值对连续原始值的选择值的第二序列中预测的。
用密钥值生成混淆值来替代记录的给定字段中的原始值包括:确定选择值是否对应于有效混淆值,并且如果不是,则重复地用确定函数将选择值和密钥结合起来产生附加选择值,直到附加选择值对应于有效混淆值。
有效混淆值由预定位数组成。
所述方法进一步包括将来自数据源的记录划分为多个记录集,并且,用不同计算资源并行地在不同记录集的记录中用所生成的混淆值替代给定字段中的原始值。
包括混淆数据集合中的混淆值的至少第一记录包括至少一个没有被混淆值替代的原始值。
所述方法进一步包括:对于原始值出现的多个记录,基于原始值是否一致地被相同的混淆值替代,确定是否使用密钥值用混淆值替代第一记录中的原始值。
在另一个方面中,一般而言,用于混淆数据的系统包括:提供在一个或更多个字段中具有值的记录的数据源;数据存储系统;以及一个或更多个连接到数据存储系统的处理器。所述一个或更多个处理器提供执行环境来:读取从数据源读取在多个记录的一个或更多个字段中出现的值;存储密钥值;对多个记录中的每一个,用密钥值生成混淆值来替代记录的给定字段中的原始值,使得所述混淆值取决于密钥值并且确定地与原始值相关;以及在数据存储系统中存储包括记录的混淆数据集合,所述记录包括混淆值。
在另一个方面中,一般而言,用于混淆数据的系统包括:提供在一个或更多个字段中具有值的记录的数据源;数据存储系统;以及从数据源读取在多个记录的一个或更多个字段中出现的值的装置;对多个记录中的每一个,用密钥值生成混淆值来替代记录的给定字段中的原始值,使得所述混淆值取决于密钥值并且确定地与原始值相关的装置;以及在数据存储系统中存储包括记录的混淆数据集合的装置,所述记录包括混淆值。
在另一个方面中,一般而言,计算机可读介质存储用于混淆数据的计算机程序。所述计算机程序包括用于使得计算机执行以下步骤的指令:从数据源读取在多个记录的一个或更多个字段中出现的值;存储密钥值;对多个记录中的每一个,用密钥值生成混淆值来替代记录的给定字段中的原始值,使得所述混淆值取决于密钥值并且确定地与原始值相关;以及在数据存储系统中存储包括记录的混淆数据集合,所述记录包括混淆值。
各方面可以拥有一个或更多个下述优势。
由于在混淆值和原始实际值之间有确定的关系,因此,在混淆处理期间,可以维持引用完整性(referential integrity),使得混淆数据满足与生产数据相同的引用完整性限制条件。混淆处理也可以确保对混淆数据执行的某些操作维持某些特征,诸如在“联合”操作中对于每个密钥的值的数目。由于给定的混淆值和对应的原始值之间的确定关系是存储的密钥值的函数,而且不取决于其它混淆值,因此,所述混淆可以并行地在数据集的不同部分中执行,同时仍然维持这些部分之间的关系。所述混淆处理可以阻止未授权方对混淆数据进行反向工程,并防止从生产数据中检索原始值。诸如记录格式、可能值的范围、统计特征和混淆数据的一般简档的特征可以与原始数据尽可能相近地匹配。例如,由于信用卡号码使用校验数,因此混淆数据对于校验数也可能有正确的计算值。如果原始数据有拼写错误和不一致的地方,则混淆数据可以有相同或相似种类的不规则来测试错误处理。对于诸如姓名(例如,名字和姓氏)和地址的值,特定值在混淆数据中的频率可以反映它们在生产数据中的频率。
本发明的一个或更多个实施例的细节在以下附图和说明中详细解释。本发明的其它特性、目的和优势将通过说明书和附图、以及权利要求而显而易见。
附图说明
图1为用于执行基于图形(graph)的计算的系统的框图;
图2为示范性数据混淆过程的流程图;
图3为数据混淆过程的确定映射的示意图;
图4为数据混淆的示范性数据流图;
图5为示范性查找表;
图6为伪随机置换(permutation)示例的表。
图7为用于生成有效混淆值的过程实例的表。
具体实施方式
参照图1,用混淆数据来开发程序的系统100包括数据源102,其可以包括一个或更多个数据源,诸如存储设备或者在线数据流的连接点,其中的每一个可以存储多个存储格式中的任一格式的数据(例如,数据库表、电子表格文件、平面文本(flat text)文件、或者由大型机使用的本机(native)格式)。用于生成混淆数据的执行环境104包括数据建档模块(data profilingmodule)106和数据混淆模块112。所述执行环境104可以在适当的操作系统(诸如UNIX操作系统)的控制下以一个或更多个通用计算机为主机。例如,所述执行环境104可以包括多节点并行计算环境,其包括使用多个中央处理单元(CPU)的计算机系统的配置,所述配置为本地的(例如,诸如SMP计算机的多处理器系统),或本地分布式的(例如,耦合为集群或MPP的多个处理器),或远程分布式的(例如,通过LAN或WAN网络耦合的多个处理器),或其任一组合。
数据建档模块106从数据源102读取数据,并存储数据源102中出现的描述数据值的各种特征的简档信息。提供数据源102的存储设备可以是执行环境104本地的,例如,存储在连接到运行执行环境104的计算机的存储介质上;或者可以是执行环境104远程的,例如,以远程系统(例如,大型机110)为主机,通过本地或广域数据网络与运行执行环境104的计算机进行通信。
数据混淆模块112使用数据建档模块106产生的简档信息来生成存储于执行环境104可访问的数据存储系统116中的混淆数据114的集合。数据存储系统116也可以被开发环境118访问,开发人员120能够在开发环境118中用混淆数据114开发和测试程序。但是,通过保持开发人员120无法访问数据源102中的原始生产数据,可以保持所述原始生产数据的安全。在某些实现方式中,开发环境118是用于将应用开发为数据流图的系统,所述数据流图包括在顶点之间通过定向链接(表示工作元素的流)连接的顶点(组件或数据集)。例如,在题为“Managing Parameters for Graph-Based Applications”的美国公开号2007/0011668(通过引用合并至此)中,更详细地描述了这样的环境。
数据建档模块106可以根据包括不同数据库系统格式的多种类型的系统中建档数据。数据可以组织为有各自字段(也称为“属性”或“列”)的值(包括可能的空值)的记录。简档信息可以组织为提供对于不同的字段的独立的简档(称为“字段简档”),其描述在这些字段内出现的值。当第一次从数据源读取数据时,数据建档模块106通常以关于该数据源中的记录的某些初始格式信息开始。(注意在某些环境中,最初甚至可能不知道数据源的记录结构,而是可能在分析数据源之后才得以确定。)关于记录的初始信息可以包括表示唯一值的比特数、在记录内的字段的顺序、以及用比特表示的值的种类(例如,字符串、有符号/无符号的整数)。当数据建档模块106从数据源中读取记录时,它计算反映给定字段中的值的统计数据和其它描述性信息(例如,特定值的频率)。数据建档模块106接着以字段简档的形式存储这些统计数据和描述性信息,以用于由数据混淆模块112访问。简档信息也可以包括与在数据源102中的记录的多个字段相关联的信息,诸如记录的总数量以及有效或者无效记录的总数量。例如,在题为“Data Profiling”的美国公开号2005/0114369(通过引用合并至此)中描述了用于对数据源的字段进行建档的处理的一种说明。
图2示出示范性数据混淆过程200的流程图。步骤200包括从数据源读取(210)在多个记录的一个或更多个字段中出现的值。可选地,存储包括至少一个字段的统计数据特征值的简档信息(例如,由对应于简档信息中的统计数据的索引值范围确定的混淆数据的表格,如下面更详细地描述的)。过程200包括存储(220)密钥值,其由加密技术用于提供安全性以确保所述混淆不会轻易反转。对多个记录中的每一个,过程200用密钥值生成(230)混淆值来替代记录的给定字段中的原始值,使得所述混淆值取决于密钥值并且确定地与原始值相关。如果使用存储的简档信息,则混淆值以基于存储的简档信息确定的频率出现在混淆数据集合中。过程200包括在数据存储系统中存储(240)包括记录的混淆数据集合,所述记录包括混淆值。
在某些实现方式中,每当新数据源可用或者现有源接收到新记录时,重复数据混淆过程200。所述过程可以被用户调用,或者以重复的间隔或响应于某些事件而自动调用。
在某些混淆方法中,混淆实际生产数据的能力可能足够;然而在另一些方法中,拥有反转混淆过程以及将混淆值匹配回到实际值的能力也可能是有用的。在某些方法中,例如在上述过程200中,能够例如使用存储的密钥和加密技术而确保混淆过程不能被反转而获得实际值是有用的,如下面更详细地描述的。
在某些情况下,随着时间的推移进行混淆值的一致分配可能是有用的。例如,包括对应于与特定客户有关的每个不同交易的记录的交易数据可能需要匹配预先混淆的客户ID,使得有给定的实际客户ID的所有交易被分配相同的混淆客户ID。作为另一个例子,来自同一户人家的数据库中的客户可能共享同一个地址。可能期望确保这些客户的混淆数据记录有相同的混淆地址。如果人们需要阅读和理解混淆数据,则可能期望用选自预定的可识别值集中的值替代实际值,而不是简单地用任意生成的值替代这些值。有多种方式来确保给定值和对应混淆值之间的一致分配。
在一种方法中,第一次遇到给定值,从预定集中随机选择混淆值并将其映射到这个给定值。接着,例如在映射数据结构中相互关联地存储两个值。对预先存储在映射数据结构中的给定值的全部后续的出现,从数据结构中检索到相同的对应混淆值。
在另一种方法中,诸如在上述过程200中,密钥用来提供随机出现的确定的映射,而不需要将预先映射的实际和混淆值存储到映射数据结构中。因此,在某些情况下这个基于密钥的方法可以节省存储空间。例如,密钥和强加密的散列函数可以用于从预定集(例如,查找表)中检索混淆值。或者,密钥和伪随机置换算法可以用于计算混淆值。在两种情况下,如下面更详细地描述的,密钥的使用确保了给定实际值总是对应于相同的混淆值,同时使对应关系随机出现。
图3示出在来自输入数据集的原始值区域310与替代这些原始值的混淆值区域320之间的确定映射300的例子。密钥k存储在密钥存储330中并且一致地用于将所有原始值映射到给定混淆段中的各个混淆值,在所述给定混淆段中维持引用完整性。在不需要维持前段引用完整性的不同混淆段中,可以使用不同的密钥。
来自区域310的原始值v1和密钥k用组合函数340组合起来,以从选择区域350中产生选择值x。可以使用任何组合值v1和密钥k的确定技术,诸如用值v1和密钥k作为输入的数学函数或者表达式。组合函数340是确定的,使得相同的v1和k值总是产生相同的x值。
接着用映射函数360(例如,使用查找表的确定映射)将选择值x从区域320映射到混淆值v2。映射函数360也是确定的,使得给定的x值总是产生相同的混淆值v2。混淆值区域320可能包括某些与原始值区域310相同的值,但是也可能不完全重叠,使得区域310中的某些值并不包括作为区域320中的可能的混淆值,而且区域320中的某些值并不包括在区域310中。例如,可能期望使许多原始值成为可能的混淆值(例如地址字段中的城市或国家、或者姓名字段中的常见姓名),但是可以过滤排除某些特定敏感信息作为可能的混淆值(例如,信用卡号码、社会保险号码、或电话号码)。在某些情况下,可能期望具有有效的混淆社会保险号码(例如,支持对于混淆数据的有效性测试),而在某些情况下,可能期望无效的混淆社会保险号码(例如,确保混淆数据不会泄露任何人的个人信息)。
组合函数340和映射函数360的其中之一或二者都可以包括加密技术,从而使得难以将混淆过程反转并且从对应的混淆数据v2中恢复原始数据v1。对下述加密散列函数和密钥伪随机置换技术,组合函数340包含加密技术来产生接着用作进入表格选择混淆值v2的索引的选择值x。但是,在另一些实现方式中,组合函数340可以是产生选择值x的非加密技术(例如,简单的拼接),其接着被用作加密函数(诸如提供混淆值v2的散列函数)的输入,或者用于查找混淆值v2的索引。其它确定映射可以从给定原始值v1直接产生混淆值v2,无需计算中间选择值x。
在某些实现方式中,混淆特定值的方法可以取决于这个值的特征。例如,出现在输入数据集的给定字段中的要被混淆的数据值可能被归类为拥有值的“有限”或“无限”区域,而且被归类为拥有值的“均匀”或“非均匀”分布。对基于密钥的混淆,这些特征可以用于确定是从查找表中检索混淆值还是用伪随机置换计算混淆值。即使未使用密钥,这些特征也可以用于确定混淆数据中特定值的频率是否反映它们在实际生产数据中的频率。
对于“有限区域数据”,可发生在给定字段中的可能值的数目限制为在预定的有效值集中的值的有限数目(例如,数字或固定长度的字符串)。在有限区域数据的混淆期间,有效性检查可以用于确定混淆值是否在预定的有效值集中。“无限区域数据”无需拥有预定的可能值集(例如,任意长度的值)。具有有限区域数据的字段的例子包括社会保险号码(SSN)、信用卡号码(CCN)、客户ID(Custid)、美国电话号码以及美国邮政编码。具有无限区域数据的字段的例子包括名字、姓氏和街道地址。
对于“均匀分布数据”,假设不同数据值可能近似相等,而且通常预期对于数据库中表示的每个人是唯一的。对于“非均匀分布数据”,不同值可能会以不同频率出现在数据集中,而且可能在数据库中表示的不同人的记录中重复。在非均匀分布数据的混淆期间,可以用“频率查找”函数确保混淆数据中特定值的频率匹配其在实际生产数据中的频率,如下面更详细地描述的。对上面列出的字段,社会保险号码、信用卡号码、客户ID和美国电话号码是有均匀分布数据的字段的例子,预期其对于给定客户是唯一的;而名字、姓氏和美国邮政编码是有非均匀分布数据的字段的例子,其可能对不同客户重复。
对于无限区域数据,或者对于某些非均匀分布数据,有效性检查也许不可能或者无法有效地执行。在这些情况下,如果无法计算合理的(plausible)值,则可以使用查找表。例如,可以存储合理的姓名和地址的查找表来混淆这些字段。对于非均匀分布数据,可以用频率查找函数确保混淆值是实际分布的,或者对于均匀分布但无限区域数据,混淆处理可以确保从查找表中均匀地选择值。
基于密钥的混淆使用加密技术来构建函数,其结果随机出现但实际上是可重复并可预测的。为混淆实际数据的给定集而选择密钥。如果混淆数据曾受损,则没有密钥就无法从混淆数据中恢复实际值,因此密钥应该保密并以安全的方式存储。可以存储在混淆处理的多个执行中使用的给定的密钥,来确保对于给定实际值在多个执行中的任何出现,生成相同的混淆值。基于密钥的混淆处理可以并行执行于多个数据集或者单一数据集的多个部分上,这是因为,基于密钥的混淆不一定需要维持以前使用的从实际到混淆值的映射数据结构。例如,数据集中的记录可以被分段(例如,基于诸如客户ID的给定字段)成为多个记录集,而且混淆值的产生和替换可以用不同计算资源(例如,不同的处理器或者不同的计算机)对不同记录集并行执行。为给定字段执行基于密钥的混淆的特定技术取决于这个字段的数据值的特性:
·对于有限区域和均匀分布的数据,用密钥和伪随机置换算法计算值。存储相同的密钥在多个执行中使用。可以用一个或更多个有效性函数确保混淆值的有效性。
·对于无限区域数据或非均匀分布数据,用密钥和加密散列函数从查找表中检索值。存储相同的密钥和查找表在多个执行中使用。通过确保查找表中的值是有效的,可以确保混淆值的有效性。
关于图4,一个示范性的数据流图400对作为输入提供的客户(Customers)数据集402执行混淆处理。读取数据集402中的记录并将其提供给图中的组件作为记录的流。通过使用数据流图来执行混淆,系统100能够将数据混淆处理与多种附加的数据流处理的任一结合起来,而且能够使用并行处理技术来执行图中的任何组件。图400包括一系列“重新格式化(Reformat)”组件,各自通过用混淆值替代记录的给定字段中的实际值,对在它的输入端口接收到的给定记录进行重新格式化,并且在它的输出端口输出重新格式化的记录。对要被混淆的客户数据集402中的多个字段中的每一个(例如,记录中的所有字段,或者记录中的字段的选定子集),有一个重新格式化组件。在这个例子中,有六个字段要被混淆:姓氏(Last Name)、名字(First Name)、地址(Address)、SSN、CCN以及Custid。组件404处理姓氏字段的混淆,组件406处理名字字段的混淆,组件408处理地址字段的混淆,组件410处理SSN字段的混淆,组件412处理CCN字段的混淆,以及组件414处理Custid字段的混淆。从组件414输出的混淆记录的流作为图400的输出而存储在混淆客户数据集416中。图400也与存储表征输入数据集402的某些属性的信息的数据集418相关联,如下面更详细地描述的。所有重新格式化组件能够使用共同的密钥值,其作为图400的参数而存储。混淆数据集416的安全性取决于保持密钥参数安全。密钥可以充分长(例如,12或60位数,或者更长)来增强安全性。
在组件中处理来自数据集402的第一个记录之前或者与此同时,组件确定是否使用非密钥技术、密钥表查找技术、或者密钥伪随机置换技术为这个组件处理的字段确定混淆值。如果字段有不需要在与给定客户关联的不同记录之间一致地分配的值(例如,交易金额),而且不是特别敏感的,则可以用不依靠存储的密钥值的技术来混淆记录的这个字段中的值。例如,组件可以用随机值生成函数。如果字段有应该在与给定客户关联的不同记录之间一致地分配的值,和/或应该与特定的分布、区域或者有效性测试相匹配,那么存储的密钥可以用于执行密钥表查找技术或者密钥伪随机置换技术之一。
如果字段有无限区域或者非均匀分布的值,则组件使用基于加密散列法的密钥表查找技术。加密散列函数用存储的密钥值来计算索引值,并且这个索引值用于从可能的混淆值表格中查找值。由于加密散列产生随机出现的值,因此索引(以及由此得出的混淆值)似乎是随机选择的。但是,如果知道密钥值,则索引实际上是可预测并可重复的。如果字段值有非均匀分布,则组件对来自数据集418之一的该字段使用利用频率简档信息的“频率查找”操作。
例如,对诸如名字、姓氏、地址以及美国邮政编码(U.S.Zip code)的字段,对于这些字段中的每一个,数据集418包括“频率(Frequency)”数据集和“最高频率(Frequency Max)”数据集。最高频率数据集包括在实际数据的给定字段中出现的所有值的总计数,并允许频率查找操作为给定字段查找总计数。因此,各个最高频率数据集包括信号总计数值。各个频率数据集包括由不重叠范围编入索引的查找表,并允许频率查找操作使用“间隔查找”函数为给定索引值查找给定字段值。由于选择了不同的索引值,因此基于它们在实际数据中的出现频率,以适当的频率选择字段值。
例如,图5示出对于名字字段的频率数据集的查找表的例子。为0-2范围中的索引值选择名字“诺顿(Norton)”,为3-10范围中的索引值选择名字“李(Lee)”,以及为索引值11选择名字“巴特勒(Butler)”。范围的大小与对应值根据简档信息的统计数据出现在实际数据中的频率成比例。因此,如果索引值以相等概率出现,则各个名字的值会以在实际数据中出现的相同的频率出现。
如果字段有有限区域和均匀分布的值,则组件使用基于伪随机数生成的密钥伪随机置换技术(例如,Luby-Rackoff伪随机置换生成单元)。在某些实现方式中,对于任何给定密钥和范围1,……,N(例如,对于诸如社会保险号码或者信用卡号码的原始值,对应于有限区域的数的范围)中的输入值,置换生成单元函数f(k,n)用于以随机出现的方式产生与实际值有关的混淆值。例如,不同n值产生不同f(k,n)的值,其中f(k,n)是1与N之间的整数。n与f(k,n)之间的关系是确定的,但是随机出现(例如,n的连续值产生随机分布式出现的f(k,n)的值)。k值是为不同k值提供不同的n对f(k,n)序列的密钥值。对于密钥k的给定值,为n的连续值确定得到的f(k,n)值的序列;但是,针对k的一个值对于n的连续值的f(k,n)值的序列,不能仅从针对k的另一个值对于n的连续值的f(k,n)值的序列中预测到。
图6所示的表格示出对于1和20之间的n的有序值以及单一的密钥值k,置换生成单元可以在1和20之间“打乱(shuffle)”f(k,n)的可能值的例子。在这个例子中,f(k,n)的一个打乱值映射到n的每个输入值。由于输入值和每行的密钥的组合是唯一的,因此没有两个打乱值是相同的。由于混淆值根据打乱值f(k,n)来选择,因此也没有两个混淆值是相同的。为简单起见,图6中给定的例子示出20个打乱值,但是可以生成更大的序列。
如下例子描述了在图4的数据流图中的每个重新格式化组件的实现方式。
混淆姓氏字段值的组件404可以用keyed_pick函数将看似随机的索引创建到姓氏的间隔查找表中。即使他们的实际姓氏相同,为了确保不同客户得到不同的混淆姓氏,Custid字段可以在计算传递给keyed_pick的密钥值中使用。结合使用间隔查找进行此操作,可以维持姓氏的分布统计数据。在这个例子中,在实际数据中有相同姓氏的家庭成员可能在混淆数据中被分配不同的姓氏。
混淆名字字段值的组件406可以以与组件404相似的方式实现。如果在实际数据中出现识别客户为男性或女性的字段,则keyed_pick函数能够区分男性和女性名字。或者,所述函数例如可以通过使用附加查找表做“良好推测”。
混淆地址字段值的组件408用keyed_pick函数将看似随机的索引创建到两个间隔查找表中:一个包含邮政编码、城市和国家;另一个包含门牌号码和街道名称。如果知道密钥,则索引可以是可预测的。为了更难得到敏感信息,组件可以独立地选择邮政编码和街道名称,而且可以构造不存在的地址,诸如宾夕法尼亚大道1600号,列克星敦,MA02421(1600Pennsylvania Avenue,Lexington,MA 02421)。或者,对于要验证地址的应用软件,组件可以配置为同时选择街道名称和邮政编码。为了确保门牌号码对给定的街道并非不切实际地高,组件可以对可能的选择值加以限制。
混淆SSN字段值的组件410用伪随机置换技术选择伪随机9位数,直到找到对应于有效SSN的一个。组件410也能够用图7所示的技术确保每个混淆值是唯一的。为简单起见,我们假设图7中的偶数表示有效SSN,而9位数的奇数不是有效SSN。如上所述,伪随机置换技术可以用置换生成单元函数对给定字段“打乱”可能的值。图7中的表格的开始两列示出这个打乱,说明SSN可能如何被打乱。第三列说明按需要的次数调用证实SSN的函数的结果,以确保输出有效的SSN。
表格中的箭头显示步骤的顺序:
a.对于每个输入SSN(在列1中表示),encode_ssn函数在列2的同一行中分配打乱值。
b.如果列2中选择的数值为偶数(有效),则它可作为混淆值被写入验证的输出变量中(在列3中表示)。如果列2中选择的数值为奇数(无效),则函数回到列1,在其中找到选择的数目,并且检查列2的这一行中的值是否有效。
c.重复这一步骤直到找到有效数值。由于列2中的每个数值仅可以被列1中的一个数值达到(即,从列1到列2的映射是一对一的),因此列3中每个验证过的混淆值是唯一的。例如,对于包含2和4的输入字段,组件410将分别遍历在图7的表的顶部显示的顺序来找到有效的输出值。第一序列使用图7的表格中的箭头示出。
混淆CCN字段值的组件412基于CCN为16位数而且以4开头的有效性标准,尽管可以采用任何其它位数或位数的顺序。第一个6位数可能足以确定发行者(issuer)。最后一位数是控制数值(例如,用Luhn算法计算)来检查在它前边的数位的错误。组件412用伪随机置换技术来选择伪随机15位数,直到找到有效的一个,并接着计算控制数位。组件414提供有效性检查函数以通过检查长度和控制数位来证实数值是有效的CCN。
混淆Custid字段值的组件414基于Custid是在1000000000和9999999999之间的10位数的假设。与SSN和CCN一样,这个组件可以定义用伪随机置换技术来选择伪随机数值的编码函数。混淆与用于SSN和CCN的方法不同可以在于,有效性检查可能不是必须的。
混淆数据之后,数据混淆模块112能够测试混淆的效果。在某些实现方式中,模块112通过用可能为多个字段值组成的复合密钥(例如,名字字段的值与姓氏字段的值相结合)的密钥执行联合操作,证实在混淆字段中不存在实际数据。通过将混淆记录的字段中的值与实际记录中的对应字段的值相比较,模块112可以证实对于任何给定名字和姓氏,混淆数据包含与真实数据不同的值。
上述混淆技术可以用用于在计算机上执行的软件来实施。例如,软件在各自包括至少一个处理器、至少一个数据存储系统(包括易失和非易失性存储器和/或存储元件)、至少一个输入设备或端口、以及至少一个输出设备或端口的一个或更多个编程或可编程的计算机系统(可能为多种架构,诸如分布式、客户端/服务器或者网格式)上执行的一个或更多个计算机程序中形成过程。所述软件可以构成例如提供关于计算图表的设计和构造的其它业务的较大的程序中的一个或更多个模块。图的节点和元件可以作为存储于计算机可读介质的数据结构或者其它存储于数据存储库中的符合数据模型的组织数据而实施。
所述软件可以提供于诸如CD-ROM的存储介质上,可以被一般或特殊用途的可编程计算机读取,或者通过网络通信介质传送(在传播的信号中编码)到执行它的计算机。全部功能可以在特殊用途的计算机上执行,或者使用诸如协处理器的特殊用途的硬件来执行。所述软件可以以分布式方式执行,其中由软件指定的不同计算部分用不同的计算机执行。每个这样的计算机程序最好存储在或者下载到存储介质或设备(例如,固态存储器或介质,或者磁性或光学介质),所述存储介质或设备可由一般或特殊用途可编程计算机读取,用于当存储介质或设备被计算机系统读取时配置和操作计算机来执行这里描述的步骤。所述发明系统也可以被考虑作为配置有计算机程序的计算机可读存储介质而实施,其中存储介质配置为导致计算机系统以特殊并预定的方式操作从而执行这里描述的功能。
已经描述了本发明的许多实施例。然而,将理解在不脱离本发明的精神和范围内可以进行各种修改。例如,上述某些步骤可能与次序无关,因此可以不同于所述次序的次序而执行。应理解到上述描述意图说明而并非限制本发明的范围,所述范围由附加权利要求范围界定。例如,上述许多功能步骤可以以不同次序执行,而没有实质影响总体处理。其它实施例在权利要求的范围之内。
权利要求书(按照条约第19条的修改)
1.一种用于混淆数据的方法,所述方法包括:
从数据源读取在多个记录的一个或更多个字段中出现的值;
存储密钥值;
对多个记录中的每一个,用所述密钥值生成混淆值来替代所述记录的给定字段中的原始值,使得所述混淆值取决于所述密钥值并且确定地与所述原始值相关;以及
在数据存储系统中存储包括包含混淆值的记录的混淆数据集合。
2.如权利要求1所述的方法,进一步包括存储简档信息,所述简档信息包括至少一个所述字段的统计数据特征值。
3.如权利要求2所述的方法,其中,对所述给定字段,用所述密钥值和所存储的简档信息生成所述混淆值。
4.如权利要求3所述的方法,其中,所述混淆值以基于所述给定字段的所存储的简档信息特征值中的统计数据而确定的频率,出现在所述混淆数据集合的给定字段中。
5.如权利要求4所述的方法,其中,通过用所述原始值和所述密钥作为生成索引值的函数的输入、并用所述索引值在预定的混淆值集中查找所述混淆值,生成所述混淆值。
6.如权利要求5所述的方法,其中,所述预定的混淆值集作为查找表而存储,在所述查找表中,每个混淆值对应于一个或更多个索引值。
7.如权利要求5所述的方法,其中,一范围内的多个索引值对应于在所述预定的混淆值集中的相同的混淆值。
8.如权利要求7所述的方法,其中,所述范围的大小基于给定字段的所存储的简档信息特征值中的所述统计数据。
9.如权利要求1所述的方法,其中,用所述密钥值生成混淆值来替代所述记录的给定字段中的原始值包括:用确定函数组合所述原始值和所述密钥来产生用于选择所述混淆值的选择值。
10.如权利要求9所述的方法,其中,用确定映射将所述选择值映射到所述混淆值。
11.如权利要求9所述的方法,其中,从中选择所述混淆值的值域包括来自所述数据源的记录的给定字段中的多个所述原始值。
12.如权利要求11所述的方法,其中,一个或更多个所述原始值不包括在所述值域中。
13.如权利要求12所述的方法,其中,所述值域中的一个或更多个值不包括在所述原始值中。
14.如权利要求9所述的方法,其中,所述确定函数用所述密钥以加密方式阻止从所述混淆值中恢复所述原始值。
15.如权利要求9所述的方法,其中,所述确定函数针对所述密钥的不同值提供选择值对连续原始值的不同顺序。
16.如权利要求15所述的方法,其中,针对所述密钥的第一值对连续原始值的选择值的第一序列不能从针对所述密钥的第二值对连续原始值的选择值的第二序列中预测到。
17.如权利要求9所述的方法,其中,用所述密钥值生成所述混淆值来替代所述记录的给定字段中的原始值包括:确定所述选择值是否与有效的混淆值对应,而且如果不是,则重复地用所述确定函数组合所述选择值和所述密钥来产生附加选择值,直到所述附加选择值与有效的混淆值对应。
18.如权利要求17所述的方法,其中,有效的混淆值由预定的位数组成。
19.如权利要求1所述的方法,进一步包括将来自所述数据源的所述记录划分为多个记录集,并且,用不同计算资源并行地在不同记录集的记录中用所生成的所述混淆值替代所述给定字段中的原始值。
20.如权利要求1所述的方法,其中,包括所述混淆数据集合中的混淆值的至少第一记录包括至少一个没有被混淆值替代的原始值。
21.如权利要求1所述的方法,进一步包括:对所述原始值出现的多个记录,基于所述原始值是否一致地被相同的混淆值替代,确定是否使用所述密钥值以混淆值替代在所述第一记录中的原始值。
22.一种用于混淆数据的系统,所述系统包括:
提供在一个或更多个字段中具有值的记录的数据源;
数据存储系统;以及
一个或更多个连接到所述数据存储系统的处理器,提供执行环境来:
从所述数据源读取在多个记录的一个或更多个字段中出现的值;
存储密钥值;
对多个记录中的每一个,用密钥值生成混淆值来替代所述记录的给定字段中的原始值,使得所述混淆值取决于所述密钥值并且确定地与所述原始值相关;以及
在所述数据存储系统中存储包括包含混淆值的记录的混淆数据集合。
23.一种用于混淆数据的系统,所述系统包括:
提供在一个或更多个字段中具有值的记录的数据源;
数据存储系统;以及
从数据源读取在多个记录的一个或更多个字段中出现的值的装置;
对多个记录中的每一个,用密钥值生成混淆值来替代所述记录的给定字段中的原始值,使得所述混淆值取决于所述密钥值并且确定地与所述原始值相关的装置;以及
在所述数据存储系统中存储包括包含混淆值的记录的混淆数据集合的装置。
24.一种存储用于混淆数据的计算机程序的计算机可读介质,所述计算机程序包括用于使得计算机执行以下步骤的指令:
从数据源读取在多个记录的一个或更多个字段中出现的值;
存储密钥值;
对多个记录中的每一个,用所述密钥值生成混淆值来替代所述记录的给定字段中的原始值,使得所述混淆值取决于所述密钥值并且确定地与所述原始值相关;以及
在数据存储系统中存储包括包含混淆值的记录的混淆数据集合。
25.如权利要求9所述的方法,其中,所述确定函数对所述原始值和所述密钥值的相同的值总是产生相同的选择值。
26.如权利要求1所述的方法,其中,在存储各自不同的混淆数据集合的多个混淆段的给定混淆段中,所存储的密钥值一致地用于用各自的混淆值来替代全部原始值。

Claims (24)

1.一种用于混淆数据的方法,所述方法包括:
从数据源读取在多个记录的一个或更多个字段中出现的值;
存储密钥值;
对多个记录中的每一个,用所述密钥值生成混淆值来替代所述记录的给定字段中的原始值,使得所述混淆值取决于所述密钥值并且确定地与所述原始值相关;以及
在数据存储系统中存储包括包含混淆值的记录的混淆数据集合。
2.如权利要求1所述的方法,进一步包括存储简档信息,所述简档信息包括至少一个所述字段的统计数据特征值。
3.如权利要求2所述的方法,其中,对所述给定字段,用所述密钥值和所存储的简档信息生成所述混淆值。
4.如权利要求3所述的方法,其中,所述混淆值以基于所述给定字段的所存储的简档信息特征值中的统计数据而确定的频率,出现在所述混淆数据集合的给定字段中。
5.如权利要求4所述的方法,其中,通过用所述原始值和所述密钥作为生成索引值的函数的输入、并用所述索引值在预定的混淆值集中查找所述混淆值,生成所述混淆值。
6.如权利要求5所述的方法,其中,所述预定的混淆值集作为查找表而存储,在所述查找表中,每个混淆值对应于一个或更多个索引值。
7.如权利要求5所述的方法,其中,一范围内的多个索引值对应于在所述预定的混淆值集中的相同的混淆值。
8.如权利要求7所述的方法,其中,所述范围的大小基于给定字段的所存储的简档信息特征值中的所述统计数据。
9.如权利要求1所述的方法,其中,用所述密钥值生成混淆值来替代所述记录的给定字段中的原始值包括:用确定函数组合所述原始值和所述密钥来产生用于选择所述混淆值的选择值。
10.如权利要求9所述的方法,其中,用确定映射将所述选择值映射到所述混淆值。
11.如权利要求9所述的方法,其中,从中选择所述混淆值的值域包括来自所述数据源的记录的给定字段中的多个所述原始值。
12.如权利要求11所述的方法,其中,一个或更多个所述原始值不包括在所述值域中。
13.如权利要求12所述的方法,其中,所述值域中的一个或更多个值不包括在所述原始值中。
14.如权利要求9所述的方法,其中,所述确定函数用所述密钥以加密方式阻止从所述混淆值中恢复所述原始值。
15.如权利要求9所述的方法,其中,所述确定函数针对所述密钥的不同值提供选择值对连续原始值的不同顺序。
16.如权利要求15所述的方法,其中,针对所述密钥的第一值对连续原始值的选择值的第一序列不能从针对所述密钥的第二值对连续原始值的选择值的第二序列中预测到。
17.如权利要求9所述的方法,其中,用所述密钥值生成所述混淆值来替代所述记录的给定字段中的原始值包括:确定所述选择值是否与有效的混淆值对应,而且如果不是,则重复地用所述确定函数组合所述选择值和所述密钥来产生附加选择值,直到所述附加选择值与有效的混淆值对应。
18.如权利要求17所述的方法,其中,有效的混淆值由预定的位数组成。
19.如权利要求1所述的方法,进一步包括将来自所述数据源的所述记录划分为多个记录集,并且,用不同计算资源并行地在不同记录集的记录中用所生成的所述混淆值替代所述给定字段中的原始值。
20.如权利要求1所述的方法,其中,包括所述混淆数据集合中的混淆值的至少第一记录包括至少一个没有被混淆值替代的原始值。
21.如权利要求1所述的方法,进一步包括:对所述原始值出现的多个记录,基于所述原始值是否一致地被相同的混淆值替代,确定是否使用所述密钥值以混淆值替代在所述第一记录中的原始值。
22.一种用于混淆数据的系统,所述系统包括:
提供在一个或更多个字段中具有值的记录的数据源;
数据存储系统;以及
一个或更多个连接到所述数据存储系统的处理器,提供执行环境来:
从所述数据源读取在多个记录的一个或更多个字段中出现的值;
存储密钥值;
对多个记录中的每一个,用密钥值生成混淆值来替代所述记录的给定字段中的原始值,使得所述混淆值取决于所述密钥值并且确定地与所述原始值相关;以及
在所述数据存储系统中存储包括包含混淆值的记录的混淆数据集合。
23.一种用于混淆数据的系统,所述系统包括:
提供在一个或更多个字段中具有值的记录的数据源;
数据存储系统;以及
从数据源读取在多个记录的一个或更多个字段中出现的值的装置;
对多个记录中的每一个,用密钥值生成混淆值来替代所述记录的给定字段中的原始值,使得所述混淆值取决于所述密钥值并且确定地与所述原始值相关的装置;以及
在所述数据存储系统中存储包括包含混淆值的记录的混淆数据集合的装置。
24.一种存储用于混淆数据的计算机程序的计算机可读介质,所述计算机程序包括用于使得计算机执行以下步骤的指令:
从数据源读取在多个记录的一个或更多个字段中出现的值;
存储密钥值;
对多个记录中的每一个,用所述密钥值生成混淆值来替代所述记录的给定字段中的原始值,使得所述混淆值取决于所述密钥值并且确定地与所述原始值相关;以及
在数据存储系统中存储包括包含混淆值的记录的混淆数据集合。
CN201080032309.9A 2009-06-01 2010-06-01 生成混淆数据 Active CN102460404B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US18305409P 2009-06-01 2009-06-01
US61/183,054 2009-06-01
US12/497,354 2009-07-02
US12/497,354 US10102398B2 (en) 2009-06-01 2009-07-02 Generating obfuscated data
PCT/US2010/036812 WO2010141410A1 (en) 2009-06-01 2010-06-01 Generating obfuscated data

Publications (2)

Publication Number Publication Date
CN102460404A true CN102460404A (zh) 2012-05-16
CN102460404B CN102460404B (zh) 2015-09-09

Family

ID=43221811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080032309.9A Active CN102460404B (zh) 2009-06-01 2010-06-01 生成混淆数据

Country Status (8)

Country Link
US (1) US10102398B2 (zh)
EP (1) EP2438519B1 (zh)
JP (1) JP5878462B2 (zh)
KR (1) KR101873946B1 (zh)
CN (1) CN102460404B (zh)
AU (1) AU2010256869B2 (zh)
CA (1) CA2763232C (zh)
WO (1) WO2010141410A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106031079A (zh) * 2013-12-20 2016-10-12 皇家飞利浦有限公司 加密算法中的运算符提升
CN106936814A (zh) * 2017-01-20 2017-07-07 北京海泰方圆科技股份有限公司 一种网络防护方法、装置和系统
CN107005404A (zh) * 2014-11-10 2017-08-01 德国捷德有限公司 加固的白盒实现1
CN107005403A (zh) * 2014-12-22 2017-08-01 皇家飞利浦有限公司 电子计算设备
CN110378083A (zh) * 2019-06-12 2019-10-25 北京奇艺世纪科技有限公司 一种布尔值的混淆方法和装置及计算机可读存储介质
CN111865869A (zh) * 2019-04-24 2020-10-30 北京沃东天骏信息技术有限公司 基于随机映射的注册、认证方法及装置、介质及电子设备
CN111897804A (zh) * 2013-02-01 2020-11-06 起元技术有限责任公司 计算机实现的方法、计算系统和计算机可读介质
CN113032791A (zh) * 2021-04-01 2021-06-25 深圳市纽创信安科技开发有限公司 一种ip核、ip核的管理方法和芯片
CN113987556A (zh) * 2021-12-24 2022-01-28 杭州趣链科技有限公司 数据处理方法和装置、电子设备、存储介质
CN117278986A (zh) * 2023-11-23 2023-12-22 浙江小遛信息科技有限公司 共享出行的数据处理方法和数据处理设备
CN113032791B (zh) * 2021-04-01 2024-05-31 深圳市纽创信安科技开发有限公司 一种ip核、ip核的管理方法和芯片

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110264631A1 (en) * 2010-04-21 2011-10-27 Dataguise Inc. Method and system for de-identification of data
US8661257B2 (en) 2010-05-18 2014-02-25 Nokia Corporation Generic bootstrapping architecture usage with Web applications and Web pages
US8566910B2 (en) * 2010-05-18 2013-10-22 Nokia Corporation Method and apparatus to bind a key to a namespace
US20120005720A1 (en) * 2010-07-01 2012-01-05 International Business Machines Corporation Categorization Of Privacy Data And Data Flow Detection With Rules Engine To Detect Privacy Breaches
GB201101805D0 (en) * 2011-02-02 2011-03-16 Oka Bi Ltd Computer system and method
US10534931B2 (en) 2011-03-17 2020-01-14 Attachmate Corporation Systems, devices and methods for automatic detection and masking of private data
JP5594427B2 (ja) * 2011-03-18 2014-09-24 富士通株式会社 秘匿データ処理方法、プログラム及び装置
KR101265099B1 (ko) 2011-06-15 2013-05-20 주식회사 터보테크 소프트웨어 보안 처리방법 및 기록매체
US8645763B2 (en) * 2011-09-12 2014-02-04 Microsoft Corporation Memory dump with expanded data and user privacy protection
JP2013061843A (ja) * 2011-09-14 2013-04-04 Fujifilm Corp コンピュータ・ソフトウエア解析システムならびにクライアント・コンピュータ,その動作制御方法およびその動作プログラム
US8539601B2 (en) 2012-01-17 2013-09-17 Lockheed Martin Corporation Secure data storage and retrieval
US9058813B1 (en) * 2012-09-21 2015-06-16 Rawles Llc Automated removal of personally identifiable information
WO2014080297A2 (en) * 2012-11-12 2014-05-30 EPI-USE Systems, Ltd. Secure data copying
JP2014119486A (ja) * 2012-12-13 2014-06-30 Hitachi Solutions Ltd 秘匿検索処理システム、秘匿検索処理方法、および秘匿検索処理プログラム
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US9021262B2 (en) * 2013-01-25 2015-04-28 Concurix Corporation Obfuscating trace data
US9207969B2 (en) 2013-01-25 2015-12-08 Microsoft Technology Licensing, Llc Parallel tracing for performance and detail
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
JP6206866B2 (ja) 2013-02-19 2017-10-04 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 難読化データをサーバに保持させる装置及び方法
US20130227529A1 (en) 2013-03-15 2013-08-29 Concurix Corporation Runtime Memory Settings Derived from Trace Data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
KR101490047B1 (ko) * 2013-09-27 2015-02-04 숭실대학교산학협력단 자가변환 기반 애플리케이션 코드 난독화 장치 및 그 방법
US10515231B2 (en) * 2013-11-08 2019-12-24 Symcor Inc. Method of obfuscating relationships between data in database tables
US9772927B2 (en) 2013-11-13 2017-09-26 Microsoft Technology Licensing, Llc User interface for selecting tracing origins for aggregating classes of trace data
US10278592B2 (en) 2013-12-09 2019-05-07 Samsung Electronics Co., Ltd. Modular sensor platform
US10403392B1 (en) * 2013-12-11 2019-09-03 Allscripts Software, Llc Data de-identification methodologies
US11366927B1 (en) 2013-12-11 2022-06-21 Allscripts Software, Llc Computing system for de-identifying patient data
CN105917315B (zh) 2013-12-18 2020-05-01 起元技术有限责任公司 一种用于生成数据记录的内容的方法和计算系统
US9844340B2 (en) 2013-12-31 2017-12-19 Samsung Electronics Co., Ltd. Electrocardiogram watch clasp
CN105850002B (zh) 2013-12-31 2020-05-12 三星电子株式会社 电池充电器
CA2946041C (en) * 2014-04-17 2023-01-24 Datex Inc. Method, device and software for securing web application data through tokenization
US10136857B2 (en) 2014-05-23 2018-11-27 Samsung Electronics Co., Ltd. Adjustable wearable system having a modular sensor platform
JP6513708B2 (ja) 2014-05-23 2019-05-15 サムスン エレクトロニクス カンパニー リミテッド モジュール型センサープラットフォームを有する調整可能なウェアラブルシステム
US9390282B2 (en) 2014-09-03 2016-07-12 Microsoft Technology Licensing, Llc Outsourcing document-transformation tasks while protecting sensitive information
CN107077413B (zh) 2014-09-08 2021-01-15 起元科技有限公司 数据驱动的测试框架
US10976907B2 (en) 2014-09-26 2021-04-13 Oracle International Corporation Declarative external data source importation, exportation, and metadata reflection utilizing http and HDFS protocols
US10210246B2 (en) 2014-09-26 2019-02-19 Oracle International Corporation Techniques for similarity analysis and data enrichment using knowledge sources
US10891272B2 (en) * 2014-09-26 2021-01-12 Oracle International Corporation Declarative language and visualization system for recommended data transformations and repairs
DE102015104159B4 (de) * 2015-03-19 2018-05-09 Forensik.It Gmbh Auswahl zwischen einem realen und einem virtuellen nutzerspezifischen Datensatz für eine Datenkommunikation
SG10201502401XA (en) 2015-03-26 2016-10-28 Huawei Internat Pte Ltd Method of obfuscating data
US10140437B2 (en) 2015-05-05 2018-11-27 Nxp B.V. Array indexing with modular encoded values
JP6506099B2 (ja) * 2015-05-20 2019-04-24 株式会社野村総合研究所 データマスキング装置、データマスキング方法およびコンピュータプログラム
US10194829B2 (en) 2015-07-07 2019-02-05 Q Bio, Inc. Fast scanning based on magnetic resonance history
US9958521B2 (en) 2015-07-07 2018-05-01 Q Bio, Inc. Field-invariant quantitative magnetic-resonance signatures
EP3125144B1 (en) * 2015-07-31 2019-11-13 Nxp B.V. Array indexing with modular encoded values
WO2017044919A1 (en) * 2015-09-12 2017-03-16 Q Bio, Inc Uniform-frequency records with obscured context
US10964412B2 (en) 2015-10-20 2021-03-30 Q Bio, Inc. Population-based medical rules via anonymous sharing
US10222441B2 (en) 2016-04-03 2019-03-05 Q Bio, Inc. Tensor field mapping
US10359486B2 (en) 2016-04-03 2019-07-23 Q Bio, Inc. Rapid determination of a relaxation time
US11843597B2 (en) * 2016-05-18 2023-12-12 Vercrio, Inc. Automated scalable identity-proofing and authentication process
US20180035285A1 (en) * 2016-07-29 2018-02-01 International Business Machines Corporation Semantic Privacy Enforcement
US10929481B2 (en) 2016-11-03 2021-02-23 International Business Machines Corporation System and method for cognitive agent-based user search behavior modeling
US10740418B2 (en) * 2016-11-03 2020-08-11 International Business Machines Corporation System and method for monitoring user searches to obfuscate web searches by using emulated user profiles
US10915661B2 (en) 2016-11-03 2021-02-09 International Business Machines Corporation System and method for cognitive agent-based web search obfuscation
US10885132B2 (en) * 2016-11-03 2021-01-05 International Business Machines Corporation System and method for web search obfuscation using emulated user profiles
WO2018102286A1 (en) * 2016-12-02 2018-06-07 Equifax, Inc. Generating and processing obfuscated sensitive information
US11650195B2 (en) 2017-02-03 2023-05-16 Q Bio, Inc. Iterative medical testing of biological samples
US10614236B2 (en) * 2017-03-01 2020-04-07 International Business Machines Corporation Self-contained consistent data masking
US10936180B2 (en) 2017-03-16 2021-03-02 Q Bio, Inc. User interface for medical information
US20180285591A1 (en) * 2017-03-29 2018-10-04 Ca, Inc. Document redaction with data isolation
US9934287B1 (en) 2017-07-25 2018-04-03 Capital One Services, Llc Systems and methods for expedited large file processing
US11157563B2 (en) * 2018-07-13 2021-10-26 Bank Of America Corporation System for monitoring lower level environment for unsanitized data
KR102663589B1 (ko) * 2018-10-26 2024-05-09 삼성전자주식회사 서버 및 서버의 제어 방법
US11176268B1 (en) * 2018-11-28 2021-11-16 NortonLifeLock Inc. Systems and methods for generating user profiles
US11354586B2 (en) 2019-02-15 2022-06-07 Q Bio, Inc. Model parameter determination using a predictive model
US11360166B2 (en) 2019-02-15 2022-06-14 Q Bio, Inc Tensor field mapping with magnetostatic constraint
CN110049035B (zh) * 2019-04-10 2022-11-08 深圳市腾讯信息技术有限公司 一种网络攻击防护方法、装置、电子设备及介质
US11250169B2 (en) 2019-05-02 2022-02-15 Bank Of America Corporation System for real-time authenticated obfuscation of electronic data
US20210004485A1 (en) * 2019-07-01 2021-01-07 International Business Machines Corporation Cognitive Iterative Minimization of Personally Identifiable Information in Electronic Documents
US11429734B2 (en) * 2019-07-22 2022-08-30 Microsoft Technology Licensing, Llc Protection of sensitive data fields in webpages
CA3153503C (en) 2019-09-27 2024-05-14 Q Bio, Inc. Maxwell parallel imaging
US11614509B2 (en) 2019-09-27 2023-03-28 Q Bio, Inc. Maxwell parallel imaging
CN113010364B (zh) * 2019-12-20 2023-08-01 北京奇艺世纪科技有限公司 一种业务数据获取方法、装置及电子设备
US11664998B2 (en) 2020-05-27 2023-05-30 International Business Machines Corporation Intelligent hashing of sensitive information
US20210409196A1 (en) * 2020-06-30 2021-12-30 Sectigo, Inc. Secure Key Storage Systems Methods And Devices
US11604740B2 (en) * 2020-12-01 2023-03-14 Capital One Services, Llc Obfuscating cryptographic material in memory
US20220253541A1 (en) * 2021-02-10 2022-08-11 Bank Of America Corporation System for electronic data obfuscation through alteration of data format
US11907268B2 (en) 2021-02-10 2024-02-20 Bank Of America Corporation System for identification of obfuscated electronic data through placeholder indicators
US11580249B2 (en) 2021-02-10 2023-02-14 Bank Of America Corporation System for implementing multi-dimensional data obfuscation
WO2023037301A1 (en) * 2021-09-09 2023-03-16 Biosense Webster (Israel) Ltd. Method for securely storing and retrieving medical data
US11614508B1 (en) 2021-10-25 2023-03-28 Q Bio, Inc. Sparse representation of measurements

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1831820A (zh) * 2005-02-07 2006-09-13 微软公司 通过确定性自然数据的替换扰乱数据结构的方法和系统
US20070199074A1 (en) * 2000-09-22 2007-08-23 Ecd Systems Systems and methods for preventing unauthorized use of digital content
US20070256061A1 (en) * 2006-04-26 2007-11-01 9Rays.Net, Inc. System and method for obfuscation of reverse compiled computer code
US20090132575A1 (en) * 2007-11-19 2009-05-21 William Kroeschel Masking related sensitive data in groups

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664187A (en) 1994-10-26 1997-09-02 Hewlett-Packard Company Method and system for selecting data for migration in a hierarchic data storage system using frequency distribution tables
JPH1030943A (ja) 1996-07-15 1998-02-03 Ckd Corp センサ装置、表示装置及びデータ書き込み装置
US6728699B1 (en) 1997-09-23 2004-04-27 Unisys Corporation Method and apparatus for using prior results when processing successive database requests
US6581058B1 (en) 1998-05-22 2003-06-17 Microsoft Corporation Scalable system for clustering of large databases having mixed data attributes
DE19911176A1 (de) 1999-03-12 2000-09-21 Lok Lombardkasse Ag Anonymisierungsverfahren
US6643648B1 (en) * 1999-06-30 2003-11-04 Raf Technology, Inc. Secure, limited-access database system and method
US6546389B1 (en) 2000-01-19 2003-04-08 International Business Machines Corporation Method and system for building a decision-tree classifier from privacy-preserving data
US6567936B1 (en) 2000-02-08 2003-05-20 Microsoft Corporation Data clustering using error-tolerant frequent item sets
JP2001256076A (ja) 2000-03-08 2001-09-21 Ricoh Co Ltd テストデータ生成装置、テストデータ生成方法及び記録媒体
JP4582939B2 (ja) * 2001-03-07 2010-11-17 ソニー株式会社 情報管理システム、情報管理方法、および情報処理装置、情報処理方法、並びにプログラム
US20020138492A1 (en) 2001-03-07 2002-09-26 David Kil Data mining application with improved data mining algorithm selection
WO2002084531A2 (en) 2001-04-10 2002-10-24 Univ Carnegie Mellon Systems and methods for deidentifying entries in a data source
US7266699B2 (en) * 2001-08-30 2007-09-04 Application Security, Inc. Cryptographic infrastructure for encrypting a database
US7136787B2 (en) 2001-12-19 2006-11-14 Archimedes, Inc. Generation of continuous mathematical model for common features of a subject group
US7080063B2 (en) 2002-05-10 2006-07-18 Oracle International Corporation Probabilistic model generation
US7194317B2 (en) 2002-08-22 2007-03-20 Air Products And Chemicals, Inc. Fast plant test for model-based control
US20040107189A1 (en) 2002-12-03 2004-06-03 Lockheed Martin Corporation System for identifying similarities in record fields
AU2003227190A1 (en) * 2003-03-20 2004-10-11 Japan Medical Data Center Co., Ltd. Information management system
US7324109B2 (en) 2003-04-24 2008-01-29 Palmer James R Method for superimposing statistical information on tubular data
US7085981B2 (en) 2003-06-09 2006-08-01 International Business Machines Corporation Method and apparatus for generating test data sets in accordance with user feedback
CA2538568C (en) 2003-09-15 2009-05-19 Ab Initio Software Corporation Data profiling
US6957161B2 (en) 2003-09-25 2005-10-18 Dell Products L.P. Information handling system including power supply self diagnostics
US7797342B2 (en) * 2004-09-03 2010-09-14 Sybase, Inc. Database system providing encrypted column support for applications
JP2006163831A (ja) 2004-12-07 2006-06-22 Nippon Telegr & Teleph Corp <Ntt> 情報管理装置、情報管理方法、情報管理プログラム、情報無効化装置および情報照合装置
US7334466B1 (en) 2005-01-04 2008-02-26 The United States Of America As Represented By The Secretary Of The Army Method and apparatus for predicting and evaluating projectile performance
JP2006236220A (ja) 2005-02-28 2006-09-07 Ntt Data Technology Corp テスト用データファイル作成装置、方法、プログラム及び記録媒体
US7684963B2 (en) 2005-03-29 2010-03-23 International Business Machines Corporation Systems and methods of data traffic generation via density estimation using SVD
JP2007102540A (ja) * 2005-10-05 2007-04-19 Hitachi Software Eng Co Ltd 文字列変換装置及び文字列変換プログラム
JP2007108356A (ja) * 2005-10-12 2007-04-26 Fujitsu Ltd 個人情報秘匿装置及びそのプログラム
US7565349B2 (en) 2005-11-10 2009-07-21 International Business Machines Corporation Method for computing frequency distribution for many fields in one pass in parallel
KR100735012B1 (ko) 2006-01-23 2007-07-03 삼성전자주식회사 제품 파라미터들의 통계적 분포 특성을 평가하는 방법
JP4878527B2 (ja) * 2006-09-08 2012-02-15 富士通株式会社 テストデータ作成装置
US8209549B1 (en) 2006-10-19 2012-06-26 United Services Automobile Association (Usaa) Systems and methods for cryptographic masking of private data
US7724918B2 (en) 2006-11-22 2010-05-25 International Business Machines Corporation Data obfuscation of text data using entity detection and replacement
WO2008069011A1 (ja) * 2006-12-04 2008-06-12 Nec Corporation 情報管理システム、匿名化方法、及び記憶媒体
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
JP4575416B2 (ja) 2007-10-29 2010-11-04 みずほ情報総研株式会社 テストデータ生成システム、テストデータ生成方法及びテストデータ生成プログラム
JP4986817B2 (ja) 2007-11-13 2012-07-25 株式会社ソニーDadc 評価装置、評価方法、プログラム
US7953727B2 (en) * 2008-04-04 2011-05-31 International Business Machines Corporation Handling requests for data stored in database tables
WO2009139650A1 (en) * 2008-05-12 2009-11-19 Business Intelligence Solutions Safe B.V. A data obfuscation system, method, and computer implementation of data obfuscation for secret databases
EP2189925A3 (en) * 2008-11-25 2015-10-14 SafeNet, Inc. Database obfuscation system and method
CA2764390C (en) 2009-06-10 2019-02-26 Ab Initio Technology Llc Generating test data
US8862557B2 (en) 2009-12-23 2014-10-14 Adi, Llc System and method for rule-driven constraint-based generation of domain-specific data sets
US9298878B2 (en) * 2010-07-29 2016-03-29 Oracle International Corporation System and method for real-time transactional data obfuscation
WO2012103438A1 (en) 2011-01-28 2012-08-02 Ab Initio Technology Llc Generating data pattern information
US9892026B2 (en) 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
CN105917315B (zh) 2013-12-18 2020-05-01 起元技术有限责任公司 一种用于生成数据记录的内容的方法和计算系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070199074A1 (en) * 2000-09-22 2007-08-23 Ecd Systems Systems and methods for preventing unauthorized use of digital content
CN1831820A (zh) * 2005-02-07 2006-09-13 微软公司 通过确定性自然数据的替换扰乱数据结构的方法和系统
US20070256061A1 (en) * 2006-04-26 2007-11-01 9Rays.Net, Inc. System and method for obfuscation of reverse compiled computer code
US20090132575A1 (en) * 2007-11-19 2009-05-21 William Kroeschel Masking related sensitive data in groups

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897804A (zh) * 2013-02-01 2020-11-06 起元技术有限责任公司 计算机实现的方法、计算系统和计算机可读介质
CN106031079B (zh) * 2013-12-20 2019-10-11 皇家飞利浦有限公司 加密算法中的运算符提升
CN106031079A (zh) * 2013-12-20 2016-10-12 皇家飞利浦有限公司 加密算法中的运算符提升
CN107005404A (zh) * 2014-11-10 2017-08-01 德国捷德有限公司 加固的白盒实现1
CN107005404B (zh) * 2014-11-10 2020-11-03 捷德移动安全有限责任公司 实现密码算法的可执行的白盒掩码实施的处理器装置
CN107005403A (zh) * 2014-12-22 2017-08-01 皇家飞利浦有限公司 电子计算设备
CN106936814A (zh) * 2017-01-20 2017-07-07 北京海泰方圆科技股份有限公司 一种网络防护方法、装置和系统
CN111865869B (zh) * 2019-04-24 2023-08-08 北京沃东天骏信息技术有限公司 基于随机映射的注册、认证方法及装置、介质及电子设备
CN111865869A (zh) * 2019-04-24 2020-10-30 北京沃东天骏信息技术有限公司 基于随机映射的注册、认证方法及装置、介质及电子设备
CN110378083B (zh) * 2019-06-12 2021-03-12 北京奇艺世纪科技有限公司 一种布尔值的混淆方法和装置及计算机可读存储介质
CN110378083A (zh) * 2019-06-12 2019-10-25 北京奇艺世纪科技有限公司 一种布尔值的混淆方法和装置及计算机可读存储介质
CN113032791A (zh) * 2021-04-01 2021-06-25 深圳市纽创信安科技开发有限公司 一种ip核、ip核的管理方法和芯片
CN113032791B (zh) * 2021-04-01 2024-05-31 深圳市纽创信安科技开发有限公司 一种ip核、ip核的管理方法和芯片
CN113987556A (zh) * 2021-12-24 2022-01-28 杭州趣链科技有限公司 数据处理方法和装置、电子设备、存储介质
CN113987556B (zh) * 2021-12-24 2022-05-10 杭州趣链科技有限公司 数据处理方法和装置、电子设备、存储介质
CN117278986A (zh) * 2023-11-23 2023-12-22 浙江小遛信息科技有限公司 共享出行的数据处理方法和数据处理设备
CN117278986B (zh) * 2023-11-23 2024-03-15 浙江小遛信息科技有限公司 共享出行的数据处理方法和数据处理设备

Also Published As

Publication number Publication date
AU2010256869B2 (en) 2016-06-16
EP2438519B1 (en) 2017-10-11
CA2763232A1 (en) 2010-12-09
KR20120037423A (ko) 2012-04-19
EP2438519A1 (en) 2012-04-11
JP5878462B2 (ja) 2016-03-08
EP2438519A4 (en) 2013-01-09
US10102398B2 (en) 2018-10-16
AU2010256869A1 (en) 2011-12-15
US20100306854A1 (en) 2010-12-02
CN102460404B (zh) 2015-09-09
JP2012529114A (ja) 2012-11-15
CA2763232C (en) 2019-02-12
WO2010141410A1 (en) 2010-12-09
KR101873946B1 (ko) 2018-07-03

Similar Documents

Publication Publication Date Title
CN102460404B (zh) 生成混淆数据
US9720943B2 (en) Columnar table data protection
US10169606B2 (en) Verifiable data destruction in a database
Kim et al. Private secure coded computation
EP3652662B1 (en) Immutable datastore for low-latency reading and writing of large data sets
WO2018031940A1 (en) Fragmenting data for the purposes of persistent storage across multiple immutable data structures
CN102460076A (zh) 生成测试数据
Vatsalan et al. Efficient two-party private blocking based on sorted nearest neighborhood clustering
US20170337386A1 (en) Method, apparatus, and computer-readable medium for automated construction of data masks
CN115769206A (zh) 密码化数据录入区块链数据结构
CN115659417A (zh) 审计日志存储方法、验证方法、装置和计算机设备
US11222131B2 (en) Method for a secure storage of data records
Parmar et al. MongoDB as an efficient graph database: An application of document oriented NOSQL database
CN113934729A (zh) 一种基于知识图谱的数据管理方法、相关设备及介质
CN111488607A (zh) 业务数据区块链的数据处理方法及其装置
CN113419896A (zh) 数据恢复方法、装置、电子设备及计算机可读介质
Kumar et al. Data warehouse security issue.
Ostrovska et al. On the-Bernstein Polynomials of Unbounded Functions with
US20240119178A1 (en) Anonymizing personal information for use in assessing fraud risk
CN114116715A (zh) 保护数据机密性的密态知识图谱的存储构建及检索方法
CN117391702A (zh) 账户数据的验证方法、装置、计算机设备、存储介质
CN111695134A (zh) 基于业务数据区块链的搜索数据存储方法及系统
Aliberti Space-Time Efficient and Secure Algorithms for Data Processing and Transmission
CN116756779A (zh) 一种电子表格数据对象化存储系统及方法
CN111737733A (zh) 业务数据区块链的实现方法及其系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant