CN113826349A - 对数据集中的敏感数据字段进行归类 - Google Patents
对数据集中的敏感数据字段进行归类 Download PDFInfo
- Publication number
- CN113826349A CN113826349A CN202080035999.7A CN202080035999A CN113826349A CN 113826349 A CN113826349 A CN 113826349A CN 202080035999 A CN202080035999 A CN 202080035999A CN 113826349 A CN113826349 A CN 113826349A
- Authority
- CN
- China
- Prior art keywords
- data
- record
- classification
- category
- homomorphic encryption
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H70/00—ICT specially adapted for the handling or processing of medical references
- G16H70/60—ICT specially adapted for the handling or processing of medical references relating to pathologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/88—Medical equipments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Epidemiology (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
一些实施例涉及一种用于对数据集中的敏感数据字段进行归类(例如,根据ICD分类得到的疾病分类)的归类系统。客户端设备获得针对数据集的一个或多个记录的类别。所述客户端设备确定针对所述归类的归类数据。所述归类数据包括对敏感数据字段的可能值的同态加密以及对与相应的可能值相关联的类别的编码,由此保持归类秘密。数据提供者设备存储数据集并且确定指示针对记录的所述敏感数据字段的值与相应的可能值之间的差异的同态加密。归类设备确定这些加密中的哪些加密指示匹配并且提供和与所述客户端设备相匹配的可能值相关联的类别编码。所述客户端设备将编码类别与记录相关联。
Description
技术领域
本发明涉及归类系统、客户端设备、数据提供者设备和归类设备。本发明还涉及到对应于相应设备的方法以及计算机可读存储介质。
背景技术
在医学研究中,研究人员通常使用多个数据集,例如用于机器学习算法和模型的训练和验证,或者用于医学假设检验。有权访问更多更好质量的数据通常会得到更高质量的结果。因此,研究人员常常请求来自其他机构的数据以用于分析。然而,获得这样的访问权限可能是具有挑战性的,因为所请求的数据通常是隐私敏感的,例如包括根据国际疾病分类ICD得到的详细疾病分类或如邮政编码的位置信息。这样的隐私敏感信息的交换常常被各种隐私法规(例如,美国的健康保险可携性与责任法案HIPPA以及欧盟的通用数据保护法规GDPR)所限制。
鉴于这样的敏感数据,数据提供者往往无法直接分享它们。能够采取各种措施以仍然允许对数据的某种使用,例如移除产生一些患者异常值的敏感数据点或者插入噪声。特别地,一种数据提供者降低敏感数据字段的隐私敏感性的有用技术是在将数据集提供给研究者之前对敏感数据字段进行归类以例如根据接收方的研究目的而将敏感值分组在一起。以这种方式,有可能仍然使用敏感数据字段而无需透露确切值。例如,在A.Elixhauser等人的“Comorbidity measures for use with administrative data”(Med Care.,第36卷,第1期,第8-27页,1998年)中,公开了借助于所谓的Elixhauser共病症指数方法基于ICD分类来对患者的共病症进行归类。
发明内容
正如发明人所认识到的,让数据提供者在将数据集提供给客户端之前执行对数据集的归类的现有技术具有若干缺点。一个关注问题是要使用的归类方法在许多情况下并不向公众开放。例如,医学研究人员可能不希望透露关于正在检验的假设或用于训练机器学习模型的数据的类型的其他机构的详细信息。此外,归类可能包含敏感的知识产权,获得数据集的研究者或其他方面具有包括该知识产权的合法权益。因此,在各种情况下,可能并不希望数据提供者或其他外部方面学习要执行的归类。
为了更好地解决当对数据进行归类时产生的这些问题和其他关注问题,提出了如权利要求所定义的归类系统以及用于在这样的归类系统中使用的客户端设备、数据提供者设备和归类设备。所述归类系统可以用于对数据集中的敏感数据字段进行归类。所述数据集可以包括一个或多个记录。所述数据集的每个记录可以包括所述敏感数据字段的值。
所述客户端设备可以用于获得所述归类。所述数据提供者设备可以存储所述数据集并且可以用于提供要被归类的数据。有趣的是,为了启用归类,可以使用归类设备,但是其方式为归类设备可以不学习数据集或归类。也就是说,可以需要不完全信任的归类设备。
为了执行所述归类,所述客户端设备可以确定归类数据并且将所述归类数据提供给所述数据提供者设备。所述归类数据包括针对所述敏感数据字段的一个或多个可能值的以下各项:对所述可能值的同态加密,以及对所述可能值的类别进行编码的数据。如本领域所公知的,同态加密是这样一种加密类型:其允许例如在不执行解密或者甚至不知道解密密钥的情况下在加密域中执行某些操作。例如,在各个实施例中,使用加法同态加密,其中,给定两个加密值,能够在不对加密进行解密或者甚至无法对加密进行解密的情况下确定两个值的加和的加密。类似地,给定加密值和因子,能够在不解密的情况下确定因子与加密值的乘积的加密。归类设备可以知道同态加密的解密密钥,但数据提供者设备不知道同态加密的解密密钥。
在获得了包括这样的可能值的同态加密的归类数据后,所述数据提供者设备可以针对所述数据集的记录,基于对所述可能值的所述同态加密来确定指示所述可能值与针对所述记录的所述敏感数据字段的值之间的差异的同态加密。例如,如果可能值等于针对记录的值,则加密能够为零;否则,加密能够为非零。有趣的是,由于加密是同态加密,因此数据提供者设备能够在不需要执行解密的情况下(并且尤其是在不知道可能值或者不知道可能值是否与针对记录的值相匹配的情况下)确定这种差异加密。数据提供者可以向归类设备提供差异加密以及对可能值的类别进行编码的数据。
在获得了这样的关于记录和可能值的差异加密以及这样的类别编码后,归类设备可以基于差异加密来确定针对记录的敏感数据字段的值是否与可能值相匹配。归类设备可能能够执行该操作,因为它知道针对同态加密的解密密钥,例如通过对差异加密进行解密并且核查差异加密是否等于零来实现这一点。然而,有趣的是,归类设备学习可以既不学习针对记录的敏感数据字段的值,也不学习可能值,例如因为解密值只是指示它们是否相等。此外,归类设备可以不学习类别,因为类别被编码了。尽管如此,归类设备也可能能够确定是否存在匹配,并且在存在匹配的情况下将编码类别与记录相关联。
归类设备还可以向客户端设备提供对与记录相关联的类别进行编码的数据。客户端设备可以获得该数据并且将针对记录的类别存储在存储器中。
如上所述,相应的设备可以各自有助于启用对敏感数据字段的归类而使得不要求客户端设备公开分类方法,不要求数据提供者设备公开敏感数据字段的值,并且采用不需要被完全信任的归类设备。客户端设备可以例如通过确定归类数据来启用归类;数据提供者设备通过确定差异的同态加密而不对归类数据进行解密;并且归类设备通过确定敏感数据字段的值与类别之间的匹配而不需要知道哪个值是匹配的。因此,获得了提供对敏感信息的改进保护的归类系统、客户端设备、数据提供者设备和归类设备。
在实施例中,所述数据集包括电子医学记录。所述敏感数据字段可以包括疾病分类,例如,根据ICD分类得到的疾病分类。如上面所讨论的,在医学研究的环境中,对数据集和归类这两者中的敏感信息的保护对于使用这些数据集来说是特别重要的。然而,应当注意,本文提出的技术也能够用于各种其他类型的数据,例如,传感器测量历史、(例如从GPS传感器获得的)位置历史等。
在实施例中,确定所述归类数据包括对所述敏感数据字段的至少一个可能值进行多次加密。通过向数据提供者设备提供相同可能值的多次加密,客户端设备能够隐藏属于类别的可能值的确切数量,由此提供归类对数据提供者的改进隐藏。例如,客户端设备能够包括复制品,使得每个类别包括相同数量的可能值。
在实施例中,所述客户端设备还被配置为:获得针对所述记录的一个或多个额外字段的值,并且将针对所述记录的所述值存储在所述存储器中。以这种方式,能够获得针对记录的多个数据字段的值,其中,至少敏感数据字段被归类。
在实施例中,所述数据提供者设备还被配置为:针对具有相同类别的所述归类数据的第一同态加密和第二同态加密,确定指示通过所述第一同态加密所加密的可能值与通过所述第二同态加密所加密的可能值之间的差异的同态加密。数据提供者可以提供指示与归类设备的差异的所述同态加密。归类设备可以被配置为:获得同态加密,并且如果同态加密指示经加密的可能值的匹配,则发出关于错误的信号。
由于用于构建归类数据的加密和编码,数据提供者设备和归类设备能够独立地确定由客户端设备提供的类别是否包括多个可能值。包括多个可能值的类别是期望的情况,例如因为它可以防止客户端设备学习敏感数据字段的值,因为它是唯一的具有某个类别的值。包括多个可能值的类别的属性可以被称为“公平性”。使用上面概述的对差异的同态加密,数据提供者设备和归类设备可以一起核查客户端设备的每个类别是否包含最小数量的敏感数据值,从而有助于保证公平性。
在实施例中,所述数据提供者设备还被配置为获得所述敏感数据字段的可能值的集合的粗略归类。所述归类数据可以是针对所述粗略归类的粗略类别的归类数据。针对所述记录的所述敏感数据字段的值可以被包括在所述粗略归类的所述粗略类别中。相应地,这可以允许对已知属于粗略类别的记录进行更有效的归类。例如,可以防止确定或传输记录的值与属于其他粗略类别的可能值之间的差异的差异加密。例如,可以将记录归类到一个类别中,该类别是记录所属于的粗略类别的子类别。实际上,这可以被视为铲斗的形式,以减小执行和/或传输的同态加法的数量。
在实施例中,所述归类设备被配置为对与给定类别相关联的记录的数量进行计数。如果所述计数低于预定义阈值,则所述归类设备可以发出关于错误的信号。以这种方式,在每个类别要么不发生要么发生至少k次的意义上,可以检测由客户端设备获得的记录是否满足k匿名属性。在各种设置中,可能要求这样的k匿名,例如作为数据共享协议或法规(例如,HIPAA 18标识符或GDPR假名化)的部分。在实施例中,归类设备被配置为:如果发出关于错误的信号,则将广义化类别与和所述给定类别相关联的至少每个记录相关联。以这种方式,如果通过原始归类未能实现k匿名,则可以获得确实实现k匿名的粗略归类。
在实施例中,所述归类设备被配置为:如果针对所述记录的所述敏感数据字段的值与根据获得的同态加密的可能值不相匹配,则将默认类别与所述记录相关联。以这种方式,可以保证类别被分配给每个记录。此外,特别是如果要被分配默认类别的可能值的数量相对较大,则以这种方式使用默认类别能够减小归类数据的大小和确定和/或传输的差异加密的数量。
本发明的其他方面包括客户端方法、数据提供者方法和归类方法。这些方法的实施例可以在计算机上被实施为计算机实施的方法,或者被实施在专用硬件中,或者被实施在这两者的组合中。针对该方法的实施例的可执行代码可以被存储在计算机程序产品上。计算机程序产品的示例包括存储器设备、光学存储设备、集成电路、服务器、在线软件等。优选地,计算机程序产品包括在计算机可读介质上存储的非瞬态程序代码,当在计算机上执行所述程序产品时,所述非瞬态程序代码用于执行所述方法的实施例。
在实施例中,计算机程序包括计算机程序代码,当计算机程序在计算机上运行时,所述计算机程序代码适于执行所述方法的实施例的所有步骤。优选地,计算机程序被体现在计算机可读介质上。
本发明的另一方面提供了一种使计算机程序可用于下载的方法。当计算机程序被上传到例如苹果公司的App Store、谷歌公司的Play Store或微软公司的Windows Store时以及当计算机程序可从此类商店下载时,使用这方面。
附图说明
参考附图,将仅通过示例的方式描述本发明的进一步的细节、方面和实施例。为了简单和清楚起见,图示了附图中的元件,并且附图中的元件不一定是按比例绘制的。在附图中,与已经描述过的元件相对应的元件可以具有相同的附图标记。在附图中:
图1示意性地示出了归类系统的实施例的示例;
图2示意性地示出了客户端设备的实施例的示例;
图3示意性地示出了数据提供者设备的实施例的示例;
图4示意性地示出了归类设备的实施例的示例;
图5示意性地示出了归类系统的实施例的示例;
图6示意性地示出了归类系统的实施例的示例;
图7a示意性地示出了客户端方法的实施例的示例;
图7b示意性地示出了数据提供者方法的实施例的示例;
图7c示意性地示出了归类方法的实施例的示例;
图8a示意性地示出了根据实施例的具有包括计算机程序的可写部分的计算机可读介质;
图8b示意性地示出了用于实施根据实施例的设备的示例性硬件图。
附图标记列表
具体实施方式
虽然本发明可以有许多不同形式的实施例,但是在附图中示出且将在本文中详细描述一个或多个特定实施例,应当理解,本公开内容被认为是本发明原理的示例,并非旨在将本发明限于所示和所述的特定实施例。
在下文中,为了便于理解,在操作中描述了实施例的元件。然而,很明显,各个元件被布置为执行由它们执行的所述功能。
另外,本发明不限于这些实施例,并且本发明在于本文描述的或在互不相同的从属权利要求中记载的每个新颖特征或特征组合。
各个实施例涉及对数据集中的敏感数据字段进行归类。这样的数据集可以包括一个或多个记录,有时也被称为条目、成员等。通常,数据集包括多个这样的记录,例如,至多或至少5个记录,至多或至少10个记录,至多或至少100个记录等。记录可以包括针对一个或多个数据字段的值。例如,数据集可以被表示为表,其中,表的行表示记录;表的列表示数据字段;并且单元格表示针对特定记录的数据字段的值。
在一些实施例中,数据集包括电子医学记录。例如,记录可以表示特定患者,并且列可以表示关于该患者的一条医学信息,例如,患者属性(例如,年龄、血液组、身长)或测量设备获取的测量结果(例如,患者的血压)。这条医学信息还能够例如涉及对患者的处置,例如,记录可以包括用于监测或处置患者的设备的设备参数。然而,本文描述的技术绝不限于医学数据,并且能够应用于各种其他类型的数据,例如,表示个人信息的其他类型的记录或者设备日志、传感器测量结果等。
有趣的是,数据集的数据字段中的至少一个数据字段可能是敏感数据字段。数据集的每个记录可能包括敏感数据字段的值。敏感数据字段在其确切值应当对客户端设备和/或客户端设备的用户保持隐藏的意义上会是敏感的。尽管具有敏感性,也可以允许客户端设备和/或其用户学习敏感数据字段的值的类别。例如,学习类别对于客户端设备的当前目的来说可能就足够了,例如,在这种意义上,归类能够实现基于知晓需求对敏感数据字段的传播。保持隐藏敏感数据的问题对于医学数据来说特别突出,这是由隐私敏感这一性质引起的,并且医学数据的传播也受到各种隐私法规的限制,但是保持隐藏敏感数据的问题也适用于各种其他类型的数据。
可以通过客户端设备来选取归类,以例如用于特定的数据用途。正如发明人所认识到的,不仅期望能够对客户端设备隐藏敏感数据字段的值,而且还期望能够对其他方面(例如,持有数据集的数据提供者或第三方)隐藏归类(例如,敏感数据字段的可能值被划分到类别中的方式)。例如,以这种方式,为了医学研究目的而获得数据集的研究者能够隐藏关于他/她正在进行的研究类型的信息。这会刺激研究人员在他们的研究中的早期阶段就使用更多数据。作为另一示例,对于使用数据集以例如训练机器学习模型的公司来说,训练机器学习模型的数据的确切类型可能作为公司想要保持隐藏的知识产权而是有价值的。对于这些用途和其他用途,如果客户端设备不需要公开确切的归类,那么将是有益的。在各个实施例中,解决了这样的问题。
在各个实施例中,敏感数据字段表示归类数据和/或量化数据,例如,敏感数据字段的可能值的集合是有限的和/或固定的。例如,敏感数据字段能够承担的可能值的数量可以是至多或至少10,至多或至少50,或者至多或至少100。敏感数据字段的可能值中的一个可能值可以是指示针对敏感数据字段的缺失值的值,例如,“空”、“不是数字”(“NaN”)等。
例如,敏感数据字段可以包括疾病分类,例如,根据国际疾病统计分类和相关健康问题(ICD分类)得到的疾病分类。ICD分类被划分到章节中,所述章节被划分到三字符类别的块中。可以将三字符类别进一步细分到四字符子类别中和/或使用在第五或后续字符级别的补充细分。敏感数据字段可以例如表示三字符类别、四字符子类别和/或疾病的补充细分。医学归类的另一示例是逻辑观察标识符名称和代码(LOINC)编码。
作为另一特定示例,敏感数据字段可以包括位置信息,例如,邮政编码、量化到位置区的GPS坐标等。
归类可以将敏感数据字段的可能值映射到相应的类别中,例如,敏感数据字段的每个可能值可以属于单个类别。换句话说,类别可以对应于敏感数据字段的可能值的集合。类别通常包括敏感数据字段的多个可能值,例如,至多或至少5,或者至多或至少10。例如,每个类别可以包括多个可能值。例如,在敏感数据字段包括疾病分类的情况下,类别可以表示可能分类的集合,例如,ICD分类的章节、块或三字符类别。在邮政编码的情况下,敏感数据值可以例如是扩展的ZIP+4代码,而其类别可以是其前导五位数字。类别中的一个类别可以是默认类别,例如,如果没有给敏感值的可能值明确分配类别,那么可以认为该值属于默认类别。通常有多个类别,例如至多或至少五个,或者至多或至少十个。
除了敏感数据字段以外,数据集还可以包括额外数据字段。例如,数据集可以包括允许或意图使客户端设备针对给定记录而学习的一个或多个额外字段。数据集还可以包括不允许或意图使客户端设备针对给定记录而学习的一个或多个额外字段。术语“敏感数据字段”贯穿以下意义来使用:至少针对给定记录,不允许客户端设备学习该值,但允许客户端设备学习其类别。正因如此,应当理解,该术语并不意味着除了敏感数据字段以外的数据字段的值可以是自由分布的。例如,客户端设备可以学习一些额外数据字段的值,但可能无法进一步对它们进行重新分布。或者,客户端设备可能不学习一些额外数据字段的值,因为对它们的访问被限制为甚至不允许客户端设备学习归类。客户端设备也可能不学习某些额外数据字段的值,因为它们与当前目的无关。
在下面描述的各种示例中,仅使用一个敏感数据字段,但是数据集的每个记录也可能包括多个敏感数据字段的值。然后,可以使用本文描述的技术来使客户端设备根据相应的归类针对数据集的记录而学习相应的敏感数据字段的类别。
贯穿本说明书,符号E(x,r)可以用于表示同态加密,例如,使用随机性r的明文x的加法同态加密,例如,如在Pascal Paillier的“Public-key cryptosystems based oncomposite degree residuosity classes”(Proceedings EUROCRYPT’99)(通过引用将其并入本文)中公开的Paillier加密。符号E′(x)可以用于表示明文x的编码,例如,明文的对称加密。这两个符号都没有明确指定所要求的公钥和/或秘密密钥,该背景的技术人员将很清楚如何使用上述内容。
图1a示意性地示出了归类系统100的实施例的示例。归类系统100可以用于对数据集111中的敏感数据字段进行归类。如在其他地方也讨论的,数据集可以包括一个或多个记录,其中,数据集的每个记录可以包括敏感数据字段的值。
归类系统100可以包括用于获得归类的客户端设备101。归类系统100还可以包括用于提供要被归类的数据的数据提供者设备102。归类系统101还可以包括用于启用归类的归类设备103。
客户端设备101可以包括处理器131和存储器141。存储器141可以用于数据和/或指令存储。例如,存储器141可以包括软件和/或数据,处理器131被配置为对该软件和/或数据采取行动。存储器141还可以被配置为存储所获得的针对数据集的记录的敏感数据字段的类别112。处理器131可以被实施为一个或多个处理器电路,例如,微处理器、ASIC、FPGA等。存储器141可以包括能由处理器141执行的计算机程序指令。根据客户端设备的实施例来配置处理器131(可能将其与存储器141一起进行配置)。
客户端设备101还可以包括通信接口161,通信接口161被配置为根据需要与归类系统100的其他设备进行通信。特别地,客户端设备101可以根据需要与数据提供者设备102和/或归类设备103进行通信。通信接口161可以包括连接器,例如,有线连接器(例如,以太网连接器)或无线连接器(例如,天线,例如,Wi-Fi、4G或5G天线)。
处理器131可以被配置为确定归类数据113。归类数据131可以包括针对敏感数据字段的一个或多个可能值的以下各项:对可能值的同态加密,以及对可能值的类别进行编码的数据。例如,同态加密可以是(例如使用Paillier或EIGamal加密系统的)概率同态加密等。处理器131还可以被配置为将归类数据113提供给数据提供者设备102,例如使用通信接口161来发送归类数据113。处理器131还可以被配置为从归类设备114获得(例如经由通信接口161接收)对针对数据集的记录的敏感数据字段的类别进行编码的数据115。处理器131可以被配置为将针对记录的所述类别存储在存储器141中。
数据提供者设备102可以包括处理器132和存储器142。存储器142可以用于数据和/或指令存储。例如,存储器142可以包括软件和/或数据,处理器132被配置为对该软件和/或数据采取行动。存储器142还可以存储数据集111,例如,数据提供者设备102可以被配置为使用存储器142作为存储器来运行数据库以存储数据集。处理器132可以被实施为一个或多个处理器电路,例如,微处理器、ASIC、FPGA等。存储器142可以包括能由处理器142执行的计算机程序指令。根据数据提供者设备的实施例来配置处理器132(可能将其与存储器142一起进行配置)。
数据提供者设备102还可以包括通信接口162,通信接口162被配置为根据需要与归类系统100的其他设备进行通信。特别地,数据提供者设备102可以根据需要与客户端设备101和/或归类设备103进行通信。通信接口162可以包括连接器,例如,有线连接器(例如,以太网连接器)或无线连接器(例如,天线,例如,Wi-Fi、4G或5G天线)。
处理器132可以被配置为从客户端设备101获得(例如经由通信接口162接收)归类数据113,包括对敏感数据字段的可能值的同态加密以及对可能值的类别的编码。处理器132还可以被配置为:针对数据集111的记录,基于对可能值的同态加密来确定指示所述可能值与针对记录的敏感数据字段的值之间的差异的同态加密。处理器132还可以被配置为向归类设备103提供(例如经由通信接口162发送)对可能值的类别进行编码的数据和指示差异的同态加密,它与附图中的数据115一起示出。
归类设备103可以包括处理器133和存储器143。存储器143可以用于数据和/或指令存储。例如,存储器143可以包括软件和/或数据,处理器133被配置为对该软件和/或数据采取行动。存储器143还可以存储针对同态加密的解密密钥116,例如,如上面所讨论的对可能值的同态加密以及指示所述可能值与敏感数据字段的值之间的差异的同态加密。通常,至少数据提供者设备102不知道该解密密钥116。处理器133可以被实施为一个或多个处理器电路,例如,微处理器、ASIC、FPGA等。存储器143可以包括能由处理器143执行的计算机程序指令。根据归类设备的实施例来配置处理器133(可能将其与存储器143一起进行配置)。
归类设备103还可以包括通信接口163,通信接口163被配置为根据需要与归类系统100的其他设备进行通信。特别地,归类设备103可以根据需要与客户端设备101和/或数据提供者设备102进行通信。通信接口163可以包括连接器,例如,有线连接器(例如,以太网连接器)或无线连接器(例如,天线,例如,Wi-Fi、4G或5G天线)。
处理器133可以被配置为从数据提供者设备102获得(例如经由通信接口163接收)对敏感数据字段的可能值的类别进行编码的数据以及指示可能值与针对数据集的记录的敏感数据字段的值之间的差异的同态加密,它与数据115一起示出。处理器133还可以被配置为确定针对记录的敏感数据字段的值是否与使用解密密钥从所述同态加密得到的可能值相匹配,并且如果是的话,则将所述类别与所述记录相关联。处理器133还可以被配置为向客户端设备101提供(例如经由通信接口163发送)对与记录相关联的类别进行编码的数据114。
归类系统100的各个设备(例如,客户端设备101、数据提供者设备102和/或归类设备103)可以通过计算机网络170来连接。计算机网络可以是互联网、内联网、LAN、WLAN等。计算机网络可以是因特网。计算机网络可以全部或部分是有线的和/或全部或部分是无线的。例如,计算机网络可以包括以太网连接。例如,计算机网络可以包括无线连接,例如,Wi-Fi、ZigBee等。相应的设备可以包括通信接口,例如,通信接口161、162和/或163,该通信接口被配置为根据需要与系统100的其他设备进行通信。计算机网络170可以包括已知元件,例如,路由器、集线器等。通信可以呈数字消息的形式,例如以电子形式被发送和接收。计算机网络170可以包括额外设备。
如所解释的,归类系统100的各个设备可以使得客户端设备101能够根据由客户端设备确定的归类数据113来获得针对数据集111的记录的归类,这具有各种优点,例如在改进对敏感数据的保护方面就具有优点。下面讨论了系统100的相应设备的各个特别有利的实施例。
图2示意性地示出了用于获得数据集中的敏感数据字段的归类的客户端设备201的实施例的示例。客户端设备201可以基于客户端设备101,例如,客户端设备201可以包括处理器131、存储器141和/或通信接口161。图2示意性地示出了功能单元,该功能单元可以是客户端设备201的处理器的功能单元。例如,图2可以用作处理器的可能功能组织结构的蓝图。例如,图2所示的功能单元(例如,单元231和232)可以全部或部分地被实施在设备201处存储的计算机指令中(例如被实施在设备201的电子存储器(未示出)中),并且能由设备201的微处理器(未示出)来执行。在混合式实施例中,功能单元被部分实施在硬件中(例如被实施为协处理器)并且被部分实施在设备201上存储和执行的软件中。为了解释的目的,图2以其各个操作步骤示出了可以由客户端设备201存储的各个元件。图2还示出了各种通信模式,如由在客户端设备201和数据提供者设备202和归类设备203之间的虚线所指示的那样。
图中所示是归类221。归类221可以将敏感数据字段250的可能值映射到类别251。归类221在这里被可视化为表,该表将可能值“Val.”250映射到相应的类别“Cat.”251。在该示例中,值“S1”和“S2”被映射到类别“C1”,并且值“S3”被映射到类别“C2”。这里给出的示例纯粹是用于解释的目的,例如,通常有三种以上的可能值和两种以上的可能类别。此外,通常任何给定的类别都包括多个值(与图中的类别“C2”不同),并且实际上,甚至在系统中都要求这种情况。尽管如此,本示例还将用于解释各个方面。
客户端设备201可以以各种方式获得归类221。例如,归类221可以是硬编码的,或者可以由用户录入。客户端设备201还可以基于先前归类来确定归类221,例如通过对先前归类的至少部分进行广义化和/或专用化(例如先前基于根据先前归类而获得的类别)来确定归类221。例如,在一些实施例中,客户端设备201被配置为获得针对记录的类别,以便训练机器学习模型。在这样的情况下,机器学习训练可以响应于哪个归类221可以被相应地确定而指示需要针对敏感数据字段的更详细的类别或者不太详细的类别就足够了。归类221可以被存储在例如客户端设备201的存储器中。存储归类221可以以各种方式执行,例如,通过敏感数据字段的可能值到类别的函数映射,通过提供如图所示的针对一个或多个可能值的类别的表,通过枚举一个或多个类别的可能值的表等。
客户端设备201可以包括编码单元231。编码单元231可以被配置为确定归类数据213。归类数据213可以包括针对敏感数据字段的一个或多个可能值250的以下各项:对可能值的同态加密252,以及对可能值的类别进行编码的数据253。例如,如图所示,归类数据213可以包括这样的同态加密以及针对归类221的每个可能值的编码。归类数据213还可以指示数据集的哪个数据字段是敏感数据字段。
如本领域所公知的,同态加密是这样一种加密类型:其允许对一个或多个密文执行操作,该操作得到对底层明文的对应操作。例如,将两个密文相乘可以得到对明文的加和的加密。有趣的是,能够在不使用解密密钥的情况下执行同态操作,从而使得各方能够在不需要解密或者甚至无法解密的情况下对密文执行操作。该操作可以使用同态加密方案的公钥。在客户端设备201的情况下,可以在设备中对从归类设备获得的公钥进行硬编码等。在加密操作采用随机性作为输入并且结果是相同的明文能够得到不同的密文的意义上,同态加密通常是概率性的。
在各个实施例中,同态加密是一种加法同态加密,其允许对两个密文执行加法操作,该加法操作得到对对应明文的加和的加密。例如,将使用第一随机性r1对第一消息m1的加密E的解密D与使用第二随机性r2对第二消息m2的加密进行组合可以返回m1+m2,例如,D(E(m1,r1)·E(m2,r2))=m1+m2。加法同态加密也可以允许同态地获得与已知值相乘的明文的加密。例如,对使用随机性r对消息m的加密E与k的同态乘积的解密D得到km,例如,D(E(m,r)k)=km。可以通过执行与对零的加密的加法来对加法同态加密进行重新随机化,例如使得在没有解密密钥的情况下对相同值的加密无法被识别为对相同值的加密。各种已知的同态加密能够被容易地应用在本文描述的归类系统中,例如,Paillier加密或加法同态ElGamal加密。
同态加法可以是模加,例如,明文可以是以素数为模的整数、RSA模数等。当谈到利用加法同态加密进行加密的两个值之间的“差异”时,在这种情况下意味着根据这种模加的差异。同态并不需要是加法,也可以使用乘法同态加密方案(例如,乘法ElGamal)。在这样的情况下,应当理解,“差异”是关于可用的同态操作的,例如,在乘法同态的情况下,它指的是商。同态加密可以支持额外操作,例如,同态加密能够是部分同态加密或完全同态加密。
例如,图中所示是对可能值S2的同态加密E(S2,r2)、对可能值S3的同态加密E(S3,r3),以及对可能值S1的同态加密E(S1,r1)。在该示例中,同态加密是利用随机性ri进行加密的,随机性ri优选针对数据提供者设备202是不可预测的。以这种方式,数据提供者设备202无法基于预测随机性来确定哪些可能值通过同态加密得到加密。例如,各个随机性可以是互不相同的并且是随机生成的。
图中还示出了对各个可能敏感值S2、S3、S1的类别的编码E′(C1)、E′(C2)、E′(C1)。可以使用各种类型的编码。例如,编码单元231可以获得对称密钥(例如,AES密钥)并且使用该对称密钥来确定作为对称加密的编码。在这种情况下,数据提供者设备202和/或归类设备203优选无权访问对称密钥。编码单元231还可以针对每个可能值生成任意编码(例如生成随机值)并且存储可能值和相应编码。通常,客户端设备201能够确定与编码相关联的可能值,但是数据提供者设备202和归类设备203无法确定与编码相关联的可能值。以这种方式,设备202、203可以将对类别的编码分配给数据集的记录,而不必知道基于该编码将哪个类别分配给了记录。
在各个实施例中,编码是确定性编码,例如,相同的编码始终用于对类别进行编码,例如,AES与固定初始化向量一起使用。例如,与E(S2,r2)相关联的E′(C1)和与E(S1,r1)相关联的E′(C1)是相同的。然而,这并不是必须的,并且在各个实施例中,使用随机编码,例如,具有随机nonce的散列。例如,确定性编码可以有助于核查公平性(如关于图5所讨论的那样)和/或k匿名(如关于图4所讨论的那样)。另一方面,使用概率编码可以(例如在类别数量及其大小方面)减少由数据提供者学习的信息量。
在一些实施例中,编码单元231可以被配置为将归类数据213的一个或多个同态加密及其相关联的类别编码进行洗牌(例如,随机排序)。例如,在图2中,值S1及其类别C1在归类221中第一个出现,但是在归类数据213中第三个出现。本发明人认识到,在不洗牌的情况下,数据提供者设备202能够根据归类数据213的排序来导出信息,例如特别是在类别的确定性编码的情况下,出现相同编码类别的位置可能会泄漏关于归类221的信息。有利地,洗牌可以防止这样的信息泄漏。
在一些实施例中,编码单元231可以对敏感数据字段的至少一个可能值进行多次加密。例如,对于具有类别C2的可能值S3,编码单元231可以包括E′(C2)在归类数据213中使用随机性r3得到的条目E(S3,r3),而且还可以包括E′(C2)使用随机性r3′得到的条目E(S3,r3′)(未示出)。以这种方式,可以对数据提供者设备202和/或归类设备203隐藏被映射到至少一个可能值的类别的可能值的确切数量。例如,编码单元231可以对可能值进行多次加密,使得多个类别在归类数据213中出现相同的次数,从而减少数据提供者设备202和/或客户端设备203学习归类的信息量。例如,如果怀疑客户端设备201可以使用具有五个可能值的归类,则通过在归类出现多次的情况下对一个或多个可能值进行加密,客户端设备使得其他设备更难确认这种怀疑。
任选地,编码单元231可以包括对归类数据213中的默认类别的编码。例如,在没有经加密的可能值与针对记录的敏感数据字段的值相匹配的情况下,这样的默认类别可以用于关联到该记录。例如,默认类别可以包括相对较多的罕见可能值,例如,编码单元231可以将默认类别确定为归类221中出现的最大数量的可能值的类别。通过包括对默认类别的编码,可以降低对归类数据213的需求,以包括属于默认类别的敏感数据字段的可能值的单独条目,从而减少了处理和/或传输的数据量。
在具有了确定的归类数据213后,客户端设备201可以被配置为向数据提供者设备202提供归类。
客户端设备201还可以包括解码单元232。解码单元232可以被配置为从归类设备203获得对针对数据集的一个或多个记录的敏感数据字段的类别进行编码的数据。对类别进行编码的数据通常对应于类别编码253,或者至少是根据类别编码253导出的,例如作为加密、散列等。解码单元232可以确定由类别编码数据247编码的一个或多个类别,并且将针对相应记录的类别存储在客户端设备的存储器中(例如存储在经归类的记录的表218中)。例如,客户端设备201可以接收针对以下各项的类别编码数据247:由客户端设备201请求的一个或多个特定记录、满足由客户端设备指定的条件的一个或多个记录、针对数据集的每个记录等。如图所示,客户端设备201可以获得与类别编码数据247相关联的标识符254并且将这样的标识符连同类别一起存储在表218中。
任选地,解码单元232还被配置为获得针对记录的一个或多个额外字段的值255。通常,客户端设备201从数据提供者设备202接收这些值。例如,客户端设备201可以包括要提供被发送到数据提供者设备的针对一个或多个额外字段的值以及归类数据213的请求。解码单元232可以将接收到的针对记录的值255(例如,与所获得的类别相关联的值)存储在存储器中。例如,如图所示,解码单元232可以获得记录的标识符254以及额外数据字段的值,并且使用它们来将接收到的编码类别253链接到接收到的值255和/或将这些值存储在存储器中(例如存储在如图所示的表218中)。
在一些实施例中,客户端设备201被配置为基于所获得的针对一个或多个记录的敏感数据字段的归类和/或记录的额外数据字段的值来进一步训练机器学习模型。例如,客户端设备201可以包括训练数据集和/或检验数据集中的额外数据字段的类别和值以训练机器学习模型。例如,机器学习模型可能是分类器(例如,SVM)、聚类算法(例如,k均值)等。通过使用本文的技术,客户端设备能够获得关于用于训练模型的记录的更多信息,而不是在根本不能公开关于敏感数据字段的任何信息的情况。以这种方式,可以获得整体更好的机器学习模型。在类似的实施例中,客户端设备201被配置为基于所获得的归类来执行假设检验,以例如检验敏感数据字段的类别是否与数据集的另一字段的值相关联,从而允许在不需要公开正在检验的假设的情况下执行研究(例如,医学研究)。
图3示意性地示出了用于提供用于对数据集311中的对敏感数据字段进行归类的数据的数据提供者设备302的实施例的示例。数据提供者设备302可以基于数据提供者设备102,例如,数据提供者设备302可以包括处理器132、存储器142和/或通信接口162。图3示意性地示出了功能单元,该功能单元可以是数据提供者设备302的处理器的功能单元。例如,图3可以用作处理器的可能功能组织形式的蓝图。例如,图3所示的功能单元(例如,单元331和332)可以被全部或部分实施在设备302处(例如在设备302的电子存储器(未示出)中)存储的计算机指令中,并且能由设备302的微处理器(未示出)执行。在混合式实施例中,功能单元被部分实施在硬件中(例如被实施为协处理器)并且被部分实施在设备302上存储和执行的软件中。出于解释的目的,图3以其各个操作步骤示出了可以通过数据提供者设备302存储的各个元件。图3还示出了各种通信模式,如由在数据提供者设备302和客户端设备301和归类设备303之间的虚线所指示的那样。
图中示出了数据集311。数据集311可以包括一个或多个记录。该图中示出了六个记录。数据集311的每个记录可以包括敏感数据字段的值“val.”350。如所讨论的,记录还可以包括额外字段的值,例如在该示例中示出了单个额外字段“AF”355。在该示例中,每个记录与标识符“ID”354相关联,在这种情况下,“ID”从1到6进行编号。第一记录具有标识符1、针对额外数据字段的值“数据1”、针对敏感数据字段的值“S1”以及针对其他记录的类似的值。数据提供者设备302可以被配置为以任何合适的方式存储数据集311,例如将其作为阵列存储在存储器中,存储为数据库的表等。
数据提供者设备302可以被配置为从客户端设备301获得归类数据313。归类数据313可以包括对敏感数据字段的可能值的同态加密“EDiff.”356以及对可能值的类别进行编码的数据(例如,多个这样的加密和相应的编码)。归类数据313还可以包括对默认类别的编码。如图所示,归类数据313可以对应于由客户端设备201确定归类数据213。
数据提供者设备302还可以包括差异单元332,差异单元332被配置为:针对数据集的记录,基于对在归类数据313中包括的可能值的同态加密来确定指示敏感数据字段的可能值与针对记录的敏感数据字段的值之间的差异的同态加密。例如,如果差异为零(例如,如果敏感数据字段的值等于可能值),则加密可以是对零的加密;而如果差异不为零(例如,如果敏感数据字段的值不等于可能值),则加密可以是对非零值的加密。这可以使得一方(例如,归类设备303)能够对同态加密进行解密以确定用于确定加密的值和可能值是否相等,并且因此确定该值是否属于与可能值相对应的类别。这方可一做到这一点而无需知道实际值本身。同时,数据提供者设备302通常也不知道可能值是什么,因为可能值仍然保持加密状态。因此,同态加密有助于确定该记录是否属于可能值的类别,对归类和/或数据集具有改进的保密性。
在一些实施例中,差异单元332被配置为通过确定对可能值(例如,S2)与值(例如,S1)之间的差异的加密来确定同态加密。例如,差异单元332可以对值的否定结果进行加密(例如,利用随机性rr1对值S1进行的加密E(-S1,rr1));并且将该解密同态相加到可能值的加密(例如,E(S2,r2))。
虽然结果得到的加密(例如,E(S2,r2)*E(-S1,rr1))可能已经被归类设备303所使用,但是差异单元332可以有益地对通过结果得到的加密而加密的值进行额外随机化,例如通过将该值与随机值(例如,rx2)相乘来实现这一点,例如获得(E(S2,r2)*E(-S1,rr2))rx2。在该示例中,可以获得对零的加密(在可能值S2等于实际值S1的情况下),或者可以获得对随机值(rx2·(S2-S1))的加密(在可能值S2不等于实际值S1的情况下)。这具有以下优点:归类设备303不学习给出关于使用的数据集和/或归类的信息的差异S2-S1。
更一般地,该优点能够通过以下操作来获得:如果可能值与实际值不相等,则确定其明文为随机的加密;如果可能值与实际值相等,则确定其明文为固定的加密。这能够通过各种方式来完成。例如,差异单元332可以将值S1乘以随机值rx2并对其加密,将加密E(S2,r2)同态乘以-rx2并将这两者同态相加以获得E(S2,r2)-rx2*E(S1·rx2,rr1),其可以对S2·-rx2+S1·rx1=(S1-S2)·rx2进行加密。差异单元332也可以将常数的加密加到该加密,例如使得等于该常数的明文指示相等。对于技术人员来说,各种替代方案将是显而易见的,包括其中使用其他同态的替代方案,例如,乘法同态。
在实施例中,差异单元332被配置为确定指示可能值与针对在归类数据313中包括的每个可能值的记录的值之间的差异的同态加密。这可以使得能够根据归类对针对记录的值进行完全归类。在这种情况下,差异单元332可以使用相同的针对记录的值或其否定结果的加密来确定相应差异的多个同态加密,由此提高性能。在实施例中,差异单元332被配置为确定指示在归类数据313中包括的可能值与数据集311中的记录的每个值350的每种组合的差异的同态加密,由此启用对数据集311的每个记录的归类。
差异单元332还可以被配置为向归类设备303提供对可能值的类别进行编码的数据353以及指示差异的同态加密356。例如,这样的类别编码和同态加密可以形成表中的条目,如图所示,在表315中,类别编码“ECat.”353为一列,同态加密“EDiff.”356为另一列。该表还可以包括与条目相对应的记录的标识符354。
类别的编码可以是在归类数据313中使用的相同的编码,但是也可以对该值进行进一步编码,例如对其应用散列函数,只要客户端设备301能够确定哪个类别被编码即可。同态加密可以如针对客户端设备301所描述的那样。
在实施例中,针对记录,可以针对归类数据313的每个可能值提供对可能值的类别进行编码的数据以及对应的同态加密,从而启用对记录的归类。例如,表315示出了与归类数据313的每个可能值相组合的针对记录1的条目。
有趣的是,提供针对记录的条目的顺序不必与归类数据313的顺序相一致,例如,差异单元332可以被配置为对条目进行洗牌,从而减少了关于归类设备303能够学习的数据集311的信息量。
在实施例中,可以针对数据集311的记录与归类数据313的可能值的每种组合提供对类别进行编码的数据和同态加密,从而启用对数据集的归类。在表315中图示了这种情况,表315示出了编码类别“ECat.”353和针对数据集311的记录与归类数据313的可能值的每种组合的差异加密“EDiff.”356。再次地,差异单元332可以对每记录的条目进行洗牌,例如对每个记录单独进行条目洗牌,由此减少了关于归类设备303能够学习的数据集311的信息量。
例如,表315的第一条目示出编码类别E′(C2)和同态加密(E(S3,r3)*E(-S1,rr1))rx1。可以基于对可能值S3的同态加密E(S3,r3)并且基于数据集311的第一记录的值S1来构建同态加密。在这种情况下,同态加密可以对值(S3-S1)·rx1进行加密,从而指示针对数据集311的第一记录的敏感数据字段的值并不对应于归类数据313的第二可能值。因此,表315的这个条目可以建议不要将编码类别C2分配给该记录。
作为另一示例,表315的第二条目示出编码类别E′(C1)和同态加密(E(S1,r1)*E(-S1,rr1))rx2。可以基于对可能值S1的同态加密E(S1,r1)并且基于数据集311的第一记录的值S1来构建同态加密。在这种情况下,同态加密可以对值(S1-S1)·rx2=0进行加密,从而指示针对数据集311的第一记录的敏感数据字段的值对应于归类数据311的第三可能值。因此,表315的这个条目可以建议将编码类别C1分配给该记录。
在实施例中,数据提供者设备302还包括提供单元331,提供单元331被配置为提供针对正被归类的记录(例如,针对表315的每个记录)的一个或多个额外字段的值355。例如,提供单元331可以例如从客户端设备获得对要被提供的额外字段的选择。因此,客户端设备能够获得更加完整的记录版本。如图所示,标识符354可以用于将针对额外数据字段的值链接到记录。
图4示意性地示出了用于启用对数据集中的敏感数据字段的归类的归类设备403的实施例的示例。归类设备403可以基于归类设备103,例如,归类设备403可以包括处理器133、存储器143和/或通信接口163。图4示意性地示出了功能单元,该功能单元可以是归类设备403的处理器的功能单元。例如,图4可以用作处理器的可能功能组织形式的蓝图。例如,图4所示的功能单元(例如,单元431)可以被全部或部分实施在设备403处(例如在设备403的电子存储器(未示出)中)存储的计算机指令中,并且能由设备403的微处理器(未示出)执行。在混合式实施例中,功能单元被部分实施在硬件中(例如被实施为协处理器)并且被部分实施在设备403上存储和执行的软件中。图4以其各个操作步骤示出了可以通过归类设备403存储的各个元件。图4还示出了各种通信模式,如由在归类设备403和客户端设备401和数据提供者设备402之间的虚线所指示的那样。
归类设备403可以被配置为从数据提供者设备402获得对敏感数据字段的可能值的类别进行编码的数据以及指示可能值与针对数据集的记录的敏感数据字段的值之间的差异的同态加密。归类设备403可以接收包括这样的类别编码和这样的差异加密的多个这样的条目,如图中包括这样的条目的表415所示。例如,表415可以对应于在其他地方讨论的表315。表415可以包括编码类别“ECat.”453和差异加密“EDiff.”456。表415还可以包括表条目所应用的各个记录的标识符“ID”454。
归类设备403可以包括核查单元431。给定例如如上所述的对类别的编码以及针对记录的差异的同态加密,核查单元431可以被配置为确定针对记录的敏感数据字段的值是否与使用解密密钥416从同态加密得到的可能值相匹配。解密密钥416可以是与例如在归类数据113、213、313中使用的同态加密和/或差异加密356、456相对应的解密密钥。例如,核查单元431可以对同态加密456进行解密并且核查它是对应于零还是对应于另一固定值(指示敏感数据字段的值等于可能值)。已经提到了各种同态加密方案(例如,Paillier加密),并且可以采用本领域已知的针对这些加密方案的解密流程。归类设备403通常对包括类别和同态加密的每个接收到的条目执行这样的核查。
如果值匹配,则核查单元431可以将类别与记录相关联。例如,核查单元431可以构建具有记录标识符454'和相关联的编码类别453'的表414。表414的编码类别通常与从数据提供者设备402获得的编码类别453相对应,但是也可以应用另外的编码,例如,散列等。任选地,一旦核查单元431已经将编码类别与记录相关联,核查单元431就可以跳过与相同记录相对应的后续同态加密,因此减少了对计算资源的使用。
例如,在图中所示的示例中,核查单元431可以对表415的第一条目的同态加密(E(S3,r3)*E(-S1,rr1))rx1进行解密,并且发现它对非零值(S3-S1)·rx1进行解密。基于此,核查单元431此时可以不将编码类别E′(C2)与记录1相关联。前进到第二条目,核查单元431可以对同态加密(E(S1,r1)*E(-S1,rr1))rx2进行解密并且发现它对(S1-S1)·rx2=0进行解密。基于此,核查单元431可以将该条目的编码类别E′(C1)与记录1相关联。核查单元431现在可以跳过表415的第三条目(因为它涉及相同的记录)并且前进到第四记录等。
任选地,核查单元431被配置为:如果针对记录的敏感数据字段的值与根据所获得的同态加密的可能值不匹配,则将默认类别与记录相关联。例如,可以对默认类别或其编码进行硬编码,或者核查单元431可以从客户端设备401或数据提供者设备402获得默认类别。例如,核查单元431可以在第一次遇到表415中的记录标识符时将默认类别分配给每个记录,然后基于确定匹配来覆写类别等。因此,核查单元431可以至少为在表415中出现至少一个条目的每个记录分配类别。
在一些实施例中,核查单元431被配置为:对与给定类别相关联的记录的数量进行计数;并且如果所述计数低于预定义阈值k,则发出关于错误的信号。在实施例中,只有当计数是非零时,核查单元431才会发出关于错误的信号。当对具有给定类别记录的数量进行计数时,类别编码453优选是确定性的,例如,相同类别的所有编码都是相同的。核查单元431能够例如扫描通过表414以对与给定类别相关联的记录的数量进行计数。如果发出关于错误的信号,则这可以指示针对数据集的归类并不满足所谓的k匿名属性。K匿名是常用的测量数据集是否足够匿名的手段,因此核查k匿名可以更好地保证归类提供了足够的匿名。可以例如通过数据提供者设备402来预定义或提供k的值。归类设备431可以被配置为:如果发出关于错误的信号,则不向客户端设备401提供对类别进行编码的数据414。
在一些实施例中,如果针对当前类别发出关于错误的信号,则核查单元431被配置为将广义化类别和至少与当前类别相关联的每个记录相关联。在这样的情况下,核查单元431可以将该类别与一个或多个其他类别合并,使得广义化类别达到阈值,例如通过将当前类别和其他类别的每个记录与广义化类别相关联来实现这一点。作为对广义化类别的编码,例如能够使用对组合类别的编码的组合,例如,级联、在使用同态加密方案对类别进行加密的情况下对类别的同态加法等。
核查单元431可以通过选择类别而使得达到阈值来确定哪个其他类别要与当前类别进行组合。核查单元431还可以将当前类别与例如默认类别进行组合。核查单元431还可以(例如从客户端设备401)获得指示如何概括类别(例如指示编码类别的层次结构)的数据,其中,核查单元431将类别以及其他具有相同父系的类别一起概括到其父系类别。例如,在对医学记录进行归类的情况下,这样的层次结构可以根据ICD分类或LOINC代码的层次结构。
在任何情况下,如果广义化类别仍未达到阈值,则核查单元431可以执行额外概括。因此,核查单元431可以概括类别,使得与至少一个记录相关联的每个类别具有被分配给它的至少等于阈值的数量的记录。
核查单元431可以被配置为向客户端设备401提供对与记录(例如,针对表415的每个记录)相关联的类别进行编码的数据。例如,核查单元431可以向客户端设备401提供具有标识符和编码类别的表414,或者核查单元431可以简单地提供类别编码或类别编码序列,例如在客户端设备知道类别编码被发送的顺序的情况下。
图5示意性地示出了归类系统500的实施例的示例。归类系统500包括至少一个(例如基于数据提供者设备102或302的)数据提供者设备502和(例如基于归类设备103或403的)归类设备503。图中还示出了(例如基于客户端设备101或201的)客户端设备501。如图2-图4所示,该图示意性地示出了相应设备的功能单元以及可以被存储在相应设备处的各个元件。
图中示出了通过来自客户端设备501的数据提供者设备502获得的归类数据513。例如,针对敏感数据字段的可能值的一个或多个同态加密552,归类数据513提供对针对相应可能值的类别的编码553。由于同态加密552通常是概率性的,因此数据提供者设备502可能无法核查归类数据513的不同条目是否实际上对应于不同的可能值。例如,虽然归类数据513可以包括具有相同编码类别的许多不同的加密,但是情况是这些加密中的每个加密是同一可能值的加密。在这样的情况下,客户端设备能够学习针对该类别的敏感数据字段的确切值,因为实际上该类别的大小为一。此外,归类设备503通常不获得归类数据,因此归类设备也无法核查归类数据的不同条目是否对应于不同的可能值。保证类别足够大可以被称为“公平性”属性。
为了更好地保证类别足够大,图5所示的数据提供者设备502包括公平性加密单元533。公平性加密单元533可以被配置为:针对具有相同类别的归类数据513的第一同态加密和第二同态加密,确定指示通过第一同态加密所加密的可能值与通过第二同态加密所加密的可能值之间的差异的同态加密。类似于上面描述的同态加密356、456,如果第一同态加密和第二同态加密对相同值进行加密,则加密可以对固定值(例如,零)进行加密;并且如果第一同态加密和第二同态加密不对相同值进行加密,则加密可以对随机值进行加密。例如,给定均具有类别的C1的可能值的加密E(S1,r1)和E(S2,r2),差异加密可以被确定为利用随机性rc1进行的(E(S1,r1)*E(S2,r2)-1)rc1。可以针对当前情况容易地调整已经关于编码单元231描述的确定差异加密的各种方式,包括使用乘法同态加密或其他类型的同态加密。
公平性加密单元533可以例如确定针对每对具有相同编码类别的同态加密的差异加密。优选地,类别编码是确定性的,使得相同类别不存在两个不同编码。不一定要采用每对同态加密,例如,公平性加密单元533可以采用随机化样本来节省计算资源和/或通信资源。
公平性加密单元可以被配置为向归类设备519提供差异加密557(例如连同相关联的编码类别553')作为类别差异519。
归类设备503可以包括公平性解密单元534。公平性解密单元534可以被配置为:获得类别差异加密519,并且如果差异加密指示加密的可能值的匹配,则发出关于错误522的信号。例如,公平性解密单元534可以使用解密密钥516(例如,解密密钥116或416)以确定差异加密的明文,并且核查该明文是等于零还是等于另一值(指示同态加密对敏感数据字段的可能值进行加密)。
如果接收到的差异加密557中的至少一个差异加密指示匹配,则公平性解密单元534可以发出关于错误的信号;例如,以这种方式,能够核查没有敏感数据字段的可能值被加密两次。公平性解密单元534还能够仅在所有接收到的针对相同编码类别的差异加密都指示匹配时才能发出关于错误的信号;例如,以这种方式,能够核查每个编码类别包括至少两个可能值。能够设想到各种替代方案,例如,公平性解密单元534可以对每类别的不同可能值的数量进行计数,并且如果该数量低于阈值,则发出关于错误的信号等。如果发出关于错误的信号,则通常归类设备503不向客户端设备501提供类别编码。归类设备503还可以例如通知用户或数据提供者设备502等。
图6示意性地示出了归类系统600的实施例的示例。归类系统600包括至少一个(例如基于数据提供者设备102、302或502的)数据提供者设备602。归类系统600还可以包括(例如基于客户端设备101或201的)客户端设备和/或(例如基于归类设备103、403和/或503的)归类设备。如在图2-图5中所示,该图示意性地示出了相应设备的功能单元以及可以被存储在相应设备处的各个元件。
如图所示,数据提供者设备602可以包括(例如基于数据提供者设备302的差异单元332的)差异单元632。给定如在归类数据613中包括的对敏感数据字段的可能值的同态加密652以及对它们各自的编码的编码653,并且给定数据集611的记录,差异单元332可以被配置为确定指示可能值与针对记录的敏感数据字段的值之间的差异的同态加密,例如如前所述。
如针对差异单元332所讨论的,为了得到完全归类数据集611,差异单元可以确定针对数据集的记录与可能值的加密的每种组合的这样的差异加密。这样可以得到多个加密,这多个加密在数据集的大小与可能值的数量的乘积中缩放。
然而,差异单元632被配置为获得敏感数据字段的可能值的集合的粗略归类620。该粗略归类可以为敏感数据字段的每个可能值650分配粗略类别658',使得如果两个可能值具有根据常规归类613的相同类别,则它们也具有根据粗略归类的相同类别。虽然常规归类可以是敏感的,但是粗略归类通常不太详细,因此客户端设备601会愿意向数据提供者设备602公开粗略归类。
例如,图中示出了将粗略类别“A”分配给可能值“S1”和“S2”并且将粗略类别“B”分配给可能值“S3”的粗略归类。归类数据613将类别“C1”分配给可能值“S1”,将类别“C2”分配给可能值“S2”,并且将类别“C3”分配给可能值“S3”。如图所示,客户端设备601可以向数据提供者设备602提供粗略归类620以获得粗略归类620。例如,粗略归类也可以被预先确定。除了提供粗略归类620以外,客户端设备601还可以向数据提供者602提供与归类数据613的条目相对应的粗略类别658以获得粗略类别658。
差异单元632可以被配置为根据粗略归类来确定差异加密。特别地,差异单元632可以针对一个或多个特定粗略类别(例如针对数据集611的记录所属于的粗略归类的每个粗略类别)来确定类别编码和差异加密。特别地,差异单元632可以获得针对特定粗略类别的归类数据,例如通过根据粗略类别658选择整个归类数据613的条目来实现这一点。然后,差异单元632可以确定针对该粗略类别的记录的差异加密,例如,可能值和针对属于粗略类别的每个可能值的记录的值和属于粗略类别的记录的每个值之间的差异的同态加密。
换种方式来说,给定数据集611的记录,差异单元632可以根据粗略归类620从归类数据613中选择属于相同粗略类别的可能值,并且确定针对那个记录和那些可能值的敏感数据字段的值的差异加密。举例来说,图6示出了若干结果得到的类别编码和差异加密615。针对第一记录,值“S1”属于粗略归类“A”,因此选择归类数据613的第一条目和第三条目,从而得到表615的第一条目和第三条目。不选择归类数据613的第二条目,如利用表615的划线删除的第二元素所指示的那样。该元素(作为表的其他划线删除的元素)通常既不被确定也不被发送到归类设备,并且这里仅出于说明目的而在图中示出。作为另一示例,针对数据集611的第六记录,考虑加密的可能值E(S3,r3),因为该可能值(如记录的值“S3”)属于粗略类别“B”。如该示例所突出显示的,能够实现对要确定和/或传输的加密的数量的相当大的节省,因为对于给定记录,只需要考虑具有相同粗略类别的可能值而不是所有可能性。
归类设备603可以被配置为获得针对粗略归类603的一个或多个粗略类别的类别编码和差异加密615。单独针对每个粗略类别或者针对组合的多个粗略类别,归类设备603可以将类别与记录相关联并且向客户端设备提供与(如更详细地描述的那样,例如针对归类设备403的)记录相关联的类别编码。客户端设备601可以单独获得针对每个粗略类别的类别编码或者获得针对组合的多个粗略类别的类别编码,并且将它们存储在存储器中,如在其他地方所讨论的那样。相应地,可以通过使用粗略归类620以更有效的方式获得根据归类数据613的归类。
图7a示意性地示出了客户端方法700的实施例的示例。客户端方法700可以用于获得数据集中的敏感数据字段的归类。数据集可以包括一个或多个记录。数据集的每个记录可以包括敏感数据字段的值。
客户端方法700可以包括与数据提供者设备和归类设备进行通信710。客户端方法700还可以包括存储720针对数据集的记录的敏感数据字段的类别。客户端方法700还可以包括确定730归类数据。归类数据可以包括针对敏感数据字段的一个或多个可能值的以下各项:对可能值的同态加密,以及对可能值的类别进行编码的数据。客户端方法700可以包括将归类数据提供740给数据提供者设备。客户端方法700还可以包括:从归类设备获得750对针对数据集的记录的敏感数据字段的类别进行编码的数据,并且将针对记录的类别存储在存储器中。
图7b示意性地示出了数据提供者方法800的实施例的示例。数据提供者方法800可以用于提供用于对数据集中的敏感数据字段进行归类的数据。数据集可以包括一个或多个记录。数据集的每个记录可以包括敏感数据字段的值。
数据提供者方法800可以包括与客户端设备和归类设备进行通信810。数据提供者方法800还可以包括存储820数据集。
数据提供者方法800可以包括从客户端设备获得830归类数据。归类数据可以包括对敏感数据字段的可能值的同态加密以及对可能值的类别进行编码的数据。数据提供者方法800还可以包括:针对数据集的记录,基于对可能值的同态加密来确定840指示所述可能值与针对记录的敏感数据字段的值之间的差异的同态加密。可以重复执行该确定,例如针对数据集的每个记录和/或敏感数据字段的可能值来重复执行该确定。数据提供者方法800还可以包括向归类设备提供850对可能值的类别进行编码的数据以及指示差异的同态加密。
图7c示意性地示出了归类方法900的实施例的示例。归类方法900可以用于启用对数据集中的敏感数据字段的归类。数据集可以包括一个或多个记录。数据集的每个记录可以包括敏感数据字段的值。
归类方法900可以包括与客户端设备和数据提供者设备进行通信910。归类方法900还可以包括存储920针对同态加密的解密密钥。归类方法900还可以包括从数据提供者设备获得930对敏感数据字段的可能值的类别进行编码的数据以及指示可能值与针对数据集的记录的敏感数据字段的值之间的差异的同态加密。归类方法900可以包括确定940针对记录的敏感数据字段的值是否与使用解密密钥从所述同态加密得到的可能值相匹配,并且如果是的话,则将所述类别与记录相关联941。可以重复执行步骤940和/或941,例如针对每个接收到的这种差异加密来重复执行步骤940和/或941。归类方法900还可以包括向客户端设备提供950对与记录相关联的类别进行编码的数据。
可以有许多不同的方式来执行该方法,这对于本领域技术人员来说是显而易见的。例如,能够改变步骤的顺序,或者可以并行执行一些步骤。此外,在步骤之间可以插入其他方法步骤。插入的步骤可以表示对例如本文描述的方法的细化,也可以与本文描述的方法无关。例如,可以至少部分地并行执行方法700的步骤710和720。此外,在下一步骤开始之前,给定步骤可能尚未完全完成。
可以使用软件来执行该方法的实施例,该软件包括用于使处理器系统执行方法700、800和/或900的指令。软件可以只包括由系统的特定子实体所采用的那些步骤。该软件可以被存储在合适的存储介质中,例如,硬盘、软盘、存储器、光盘等。该软件可以作为沿着电线的信号或者以无线方式或者使用数据网络(例如,互联网)被发送。可以使该软件可用于下载和/或在服务器上远程使用。可以使用比特流来执行该方法的实施例,该比特流被布置为配置可编程逻辑单元(例如,现场可编程门阵列(FPGA))来执行该方法。
将意识到,本发明还扩展到计算机程序,特别是在载体上或载体中的计算机程序,该计算机程序适于将本发明付诸实践。该程序可以呈源代码、目标代码、代码中间源以及诸如局部编译形式之类的目标代码的形式,或者呈适合用于实施该方法的实施例的任何其他形式。涉及计算机程序产品的实施例包括与所阐述的方法中的至少一种方法的处理步骤中的每个处理步骤相对应的计算机可执行指令。这些指令可以被细分成子例程和/或被存储在一个或多个可以静态或动态链接的文件中。涉及计算机程序产品的另一实施例包括与所阐述的系统和/或产品中的至少一种系统和/或产品的模块中的一个模块相对应的计算机可执行指令。
在实施例中,客户端设备101包括编码电路和解码电路。在实施例中,数据提供者设备102包括提供电路和差异电路。在实施例中,归类设备103包括核查单元。这些设备可以包括额外电路,例如,数据提供者设备102可以包括公平性加密电路,并且/或者归类设备103可以包括公平性解密单元。这些电路实施本文描述的对应单元。电路可以是处理器电路和存储电路,处理器电路执行在存储电路中以电子方式表示的指令。
图8a示出了根据实施例的具有包括计算机程序1020的可写部分1010的计算机可读介质1000,计算机程序1020包括用于使处理器系统执行客户端方法、数据提供者方法和/或归类方法的指令。计算机程序1020可以作为物理标记或者借助于对计算机可读介质1000的磁化被体现在计算机可读介质1000上。然而,任何其他合适的实施例也都是可以想到的。此外,将意识到,虽然计算机可读介质1000在这里被示为光盘,但是计算机可读介质1000可以是任何合适的计算机可读介质(例如,硬盘、固态存储器、闪速存储器等)并且可以是不可记录的或可记录的。计算机程序1020包括用于使处理器系统执行客户端方法、数据提供者方法和/或归类方法的指令。
图8b图示了用于实施客户端设备、数据提供者设备和/或归类设备的示例性硬件图1100。示例性硬件1100可以对应于图1-6的设备101-103、201-203、301-303、401-403、501-503或图601-603中的一项或多项。如图所示,设备1100包括处理器1120、存储器1130、用户接口1140、通信接口1170以及存储装置1160,它们经由一条或多条系统总线1110互连。将意识到,在某些方面,该图构成抽象形式并且设备1100的部件的实际组织形式可以比所图示的情况更加复杂。
处理器1120可以是任何能够执行在存储器1130或存储装置1160中存储的指令或能够以其他方式处理数据的硬件设备。正因如此,处理器可以包括微处理器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其他类似设备。例如,处理器可以是英特尔酷睿i7处理器、ARM Cortex-R8等。在实施例中,处理器可以是ARM Cortex M0。
存储器1130可以包括各种存储器,例如,L1、L2或L3高速缓冲存储器或系统存储器。正因如此,存储器1130可以包括静态随机存取存储器(SRAM)、动态RAM(DRAM)、闪速存储器、只读存储器(ROM)或其他类似的存储器设备。显而易见,在处理器包括以硬件实施本文描述的功能中的一种或多种功能的一个或多个ASIC(或其他处理设备)的实施例中,可以省去被描述为与在其他实施例中的这样的功能相对应的软件。在临时存储器的情况下,该存储器可以包含用于在使用前(例如通过任选的网络连接)获得数据的模块。
用户接口1140可以包括一个或多个用于启用与用户(例如,管理员)的通信的设备。例如,用户接口1140可以包括用于接收用户命令的显示器、鼠标和键盘。在一些实施例中,用户接口1140可以包括可以经由通信接口1170被呈现给远程终端的命令行接口或图形用户接口。
通信接口1170可以包括一个或多个用于启用与其他硬件设备的通信的设备。例如,通信接口1170可以包括被配置为根据以太网协议进行通信的网络接口卡(NIC)。例如,通信接口1170可以包括天线、连接器或这两者等。另外,通信接口1170可以根据TCP/IP协议来实施用于通信的TCP/IP栈。通常,通信接口1170可以是到局域网或广域网(例如,互联网)的网络接口、到内部或外部数据存储装置的存储接口、键盘、应用程序接口(API)等。用于通信接口1170的各种替代的或额外的硬件或配置将是显而易见的。
存储装置1160可以包括一个或多个机器可读存储介质,例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪存设备或类似的存储介质。在各个实施例中,存储装置1160可以存储用于由处理器1120执行的指令或处理器1120可以对其进行操作的数据。例如,存储装置1160可以存储用于控制硬件1100的各种基本操作的基本操作系统1161。存储装置还可以存储用于确定归类数据,确定差异加密,确定敏感数据字段的值的匹配的指令1162-1164。
显而易见,在存储装置1160中存储的所描述的各种信息可以被额外地或替代地存储在存储器1130中。在这方面,存储器1130还可以被认为构成“存储设备”,并且存储装置1160可以被认为是“存储器”。各种其他布置也将是显而易见的。另外,存储器1130和存储装置1160都可以被认为是“非瞬态机器可读介质”。本文使用的术语“非瞬态”将被理解为排除瞬态信号,但是包括所有形式的存储装置(包括易失性存储器和非易失性存储器)。
虽然设备1100被示为包括每个描述的部件中的一个部件,但是在各个实施例中各个部件可以被复制。例如,处理器1120可以包括多个微处理器,这多个微处理器被配置为独立执行本文描述的方法,或者被配置为执行本文描述的方法的步骤或子例程,使得多个处理器协作以实现本文描述的功能。另外,在设备1100被实施在云计算系统中的情况下,各个硬件部件可以属于单独的物理系统。例如,处理器1120可以包括在第一服务器中的第一处理器和在第二服务器中的第二处理器。
应当注意,以上提及的实施例说明而非限制本发明,并且本领域技术人员将能够设计许多替代实施例。
在权利要求中,置于括号内的任何附图标记均不应被解读为对权利要求的限制。动词“包括”及其词性变化的使用不排除权利要求中记载的那些以外的其他元件或步骤的存在。元件前的词语“一”或“一个”不排除多个这样的元件的存在。本发明可以借助于包括若干不同元件的硬件,以及借助于被适当编程的计算机来实施。在列举了若干单元的装置型权利要求中,这些单元中的若干可以由同一项硬件来实施。某些措施被记载在互不相同的从属权利要求中的事实并不指示不能有利地使用这些措施的组合。
在权利要求中,括号内的附图标记指代示例性实施例的附图中的附图标记或实施例的公式,由此提高了权利要求的可理解性。这些附图标记不应被解释为限制权利要求。
Claims (17)
1.一种用于对数据集(111)中的敏感数据字段进行归类的归类系统(100),所述数据集包括一个或多个记录,所述数据集的每个记录包括所述敏感数据字段的值,所述系统包括客户端设备、数据提供者设备和归类设备,其中:
所述客户端设备(101)用于获得所述归类,所述设备包括:
存储器(141),其被配置为存储针对所述数据集的记录的所述敏感数据字段的类别(112);
处理器(131),其被配置为:
确定归类数据(113),所述归类数据包括针对所述敏感数据字段的一个或多个可能值的以下各项:对所述可能值的同态加密,以及对所述可能值的类别进行编码的数据;
将所述归类数据(113)提供给所述数据提供者设备;
从所述归类设备获得对针对所述数据集的记录的所述敏感数据字段的类别进行编码的数据(114),并且将针对所述记录的所述类别存储在所述存储器中;
所述数据提供者设备(102)用于提供要被归类的数据,所述设备包括:
存储器(142),其被配置为存储所述数据集(111);
处理器(132),其被配置为:
从所述客户端设备获得所述归类数据(113),包括对所述敏感数据字段的可能值的同态加密以及对所述可能值的类别进行编码的数据;
针对所述数据集的记录,基于对所述可能值的所述同态加密来确定指示所述可能值与针对所述记录的所述敏感数据字段的值之间的差异的同态加密;
向所述归类设备提供对所述可能值的所述类别进行编码的数据以及指示所述差异的所述同态加密(115);
所述归类设备(103)用于启用所述归类,所述设备包括:
存储器(143),其被配置为存储针对所述同态加密的解密密钥(116);
处理器(133),其被配置为:
从所述数据提供者设备获得对所述敏感数据字段的可能值的类别进行编码的数据以及指示所述可能值与针对所述数据集的记录的所述敏感数据字段的值之间的差异的同态加密(115);
确定针对所述记录的所述敏感数据字段的值是否与使用所述解密密钥从所述同态加密得到的可能值相匹配,并且如果是的话,则将所述类别与所述记录相关联;
向所述客户端设备提供对与所述记录相关联的所述类别进行编码的数据(114)。
2.一种用于获得数据集(111)中的敏感数据字段的归类的客户端设备(101),所述数据集包括一个或多个记录,所述数据集的每个记录包括所述敏感数据字段的值,所述客户端设备包括:
通信接口,其被配置用于与数据提供者设备(102)和归类设备(103)进行数字通信;
存储器(141),其被配置为存储针对所述数据集的记录的所述敏感数据字段的类别(112);
处理器(131),其被配置为:
确定归类数据(113),所述归类数据包括针对所述敏感数据字段的一个或多个可能值的以下各项:对所述可能值的同态加密,以及对所述可能值的类别进行编码的数据;
将所述归类数据(113)提供给所述数据提供者设备;
从所述归类设备获得对针对所述数据集的记录的所述敏感数据字段的类别进行编码的数据(114),并且将针对所述记录的所述类别存储在所述存储器中。
3.根据权利要求2所述的客户端设备(101),其中,所述数据集包括电子医学记录,并且/或者所述敏感数据字段包括疾病分类。
4.根据权利要求2或3所述的客户端设备(101),其中,确定所述归类数据包括对所述敏感数据字段的至少一个可能值进行多次加密。
5.根据权利要求2至4中的任一项所述的客户端设备(101),还被配置为:获得针对所述记录的一个或多个额外字段的值,并且将针对所述记录的所述值存储在所述存储器中。
6.一种用于提供用于对数据集(111)中的敏感数据字段进行归类的数据的数据提供者设备(102),所述数据集包括一个或多个记录,所述数据集的每个记录包括所述敏感数据字段的值,所述数据提供者设备包括:
通信接口,其被配置用于与客户端设备(101)和归类设备(103)进行数字通信;
存储器(142),其被配置为存储所述数据集(111);
处理器(132),其被配置为:
从所述客户端设备获得归类数据(113),包括对所述敏感数据字段的可能值的同态加密以及对所述可能值的类别进行编码的数据;
针对所述数据集的记录,基于对所述可能值的所述同态加密来确定指示所述可能值与针对所述记录的所述敏感数据字段的值之间的差异的同态加密;
向所述归类设备提供对所述可能值的所述类别进行编码的数据以及指示所述差异的所述同态加密(115)。
7.根据权利要求6所述的数据提供者设备(102),还被配置为:针对具有相同类别的所述归类数据的第一同态加密和第二同态加密,确定指示通过所述第一同态加密所加密的可能值与通过所述第二同态加密所加密的可能值之间的差异的同态加密,并且将指示差异的所述同态加密提供给所述归类设备。
8.根据权利要求6或7所述的数据提供者设备(102),还被配置为获得所述敏感数据字段的可能值的集合的粗略归类,其中,所述归类数据是针对所述粗略归类的粗略类别的归类数据,并且针对所述记录的所述敏感数据字段的值被包括在所述粗略归类的所述粗略类别中。
9.一种用于启用对数据集(111)中的敏感数据字段的归类的归类设备(103),所述数据集包括一个或多个记录,所述数据集的每个记录包括所述敏感数据字段的值,所述归类设备包括:
通信接口,其被配置用于与客户端设备(101)和数据提供者设备(102)进行数字通信;
存储器(143),其被配置为存储针对同态加密的解密密钥(116);
处理器(133),其被配置为:
从所述数据提供者设备获得对所述敏感数据字段的可能值的类别进行编码的数据以及指示所述可能值与针对所述数据集的记录的所述敏感数据字段的值之间的差异的同态加密(115);
确定针对所述记录的所述敏感数据字段的值是否与使用所述解密密钥从所述同态加密得到的可能值相匹配,并且如果是的话,则将所述类别与所述记录相关联;
向所述客户端设备提供对与所述记录相关联的所述类别进行编码的数据(114)。
10.根据权利要求9所述的归类设备(103),还被配置为:针对具有相同类别的所述归类数据的第一同态加密和第二同态加密,从所述数据提供者设备获得指示通过所述第一同态加密所加密的可能值与通过所述第二同态加密所加密的可能值之间的差异的同态加密,并且如果所述同态加密指示经加密的可能值的匹配,则发出关于错误的信号。
11.根据权利要求9至10中的任一项所述的归类设备(103),其中,所述归类设备被配置为:对与给定类别相关联的记录的数量进行计数;并且如果所述计数低于预定义阈值,则发出关于错误的信号。
12.根据权利要求11所述的归类设备(103),其中,所述归类设备被配置为:如果发出关于错误的信号,则将广义化的类别和与所述给定类别相关联的至少每个记录相关联。
13.根据权利要求9至12中的任一项所述的归类设备(103),其中,所述归类设备被配置为:如果针对所述记录的所述敏感数据字段的值与根据获得的同态加密的可能值不相匹配,则将默认类别与所述记录相关联。
14.一种用于获得数据集中的敏感数据字段的归类的客户端方法(700),所述数据集包括一个或多个记录,所述数据集的每个记录包括所述敏感数据字段的值,所述客户端方法包括:
与数据提供者设备和归类设备进行通信(710);
存储(720)针对所述数据集的记录的所述敏感数据字段的类别;
确定(730)归类数据,所述归类数据包括针对所述敏感数据字段的一个或多个可能值的以下各项:对所述可能值的同态加密,以及对所述可能值的类别进行编码的数据;
将所述归类数据提供(740)给所述数据提供者设备;
从所述归类设备获得(750)对针对所述数据集的记录的所述敏感数据字段的类别进行编码的数据,并且将针对所述记录的所述类别存储在所述存储器中。
15.一种用于提供用于对数据集中的敏感数据字段进行归类的数据的数据提供者方法(800),所述数据集包括一个或多个记录,所述数据集的每个记录包括所述敏感数据字段的值,所述数据提供者方法包括:
与客户端设备和归类设备进行通信(810);
存储(820)所述数据集;
从所述客户端设备获得(830)归类数据,包括对所述敏感数据字段的可能值的同态加密以及对所述可能值的类别进行编码的数据;
针对所述数据集的记录,基于对所述可能值的所述同态加密来确定(840)指示所述可能值与针对所述记录的所述敏感数据字段的值之间的差异的同态加密;
向所述归类设备提供(850)对所述可能值的所述类别进行编码的数据以及指示所述差异的所述同态加密。
16.一种用于启用对数据集中的敏感数据字段的归类的归类方法(900),所述数据集包括一个或多个记录,所述数据集的每个记录包括所述敏感数据字段的值,所述归类方法包括:
与客户端设备和数据提供者设备进行通信(910);
存储(920)针对同态加密的解密密钥;
从所述数据提供者设备获得(930)对所述敏感数据字段的可能值的类别进行编码的数据以及指示所述可能值与针对所述数据集的记录的所述敏感数据字段的值之间的差异的同态加密;
确定(940)针对所述记录的所述敏感数据字段的值是否与使用所述解密密钥从所述同态加密得到的可能值相匹配,并且如果是的话,则将所述类别与所述记录相关联(941);
向所述客户端设备提供(950)对与所述记录相关联的所述类别进行编码的数据。
17.一种包括瞬态或非瞬态数据(1020)的计算机可读存储介质(1000),所述瞬态或非瞬态数据表示指令,所述指令用于使处理器系统执行根据权利要求14至16中的任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962848180P | 2019-05-15 | 2019-05-15 | |
US62/848,180 | 2019-05-15 | ||
PCT/EP2020/063561 WO2020229644A1 (en) | 2019-05-15 | 2020-05-14 | Categorizing a sensitive data field in a dataset |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113826349A true CN113826349A (zh) | 2021-12-21 |
Family
ID=70738572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080035999.7A Pending CN113826349A (zh) | 2019-05-15 | 2020-05-14 | 对数据集中的敏感数据字段进行归类 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11914738B2 (zh) |
EP (1) | EP3970309B1 (zh) |
CN (1) | CN113826349A (zh) |
WO (1) | WO2020229644A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11449755B2 (en) * | 2019-04-29 | 2022-09-20 | Microsoft Technology Licensing, Llc | Sensitivity classification neural network |
CN113826349A (zh) * | 2019-05-15 | 2021-12-21 | 皇家飞利浦有限公司 | 对数据集中的敏感数据字段进行归类 |
FR3107128B1 (fr) * | 2020-02-06 | 2022-01-21 | Cosmian Tech | Procédé et dispositif d'évaluation de correspondance d'ensembles de données structurées protégées par le chiffrement |
CN112911591B (zh) * | 2021-01-27 | 2022-10-14 | 东莞市皇育智能有限公司 | 一种基于5g的智能通信装置 |
US11438314B2 (en) * | 2021-02-10 | 2022-09-06 | Yahoo Assets Llc | Automatic privacy-aware machine learning method and apparatus |
CN114169004A (zh) * | 2021-12-10 | 2022-03-11 | 泰康保险集团股份有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN116345676B (zh) * | 2023-02-15 | 2024-02-06 | 西安宇翔电气工程有限公司 | 一种配电柜智能监测系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9202084B2 (en) * | 2006-02-01 | 2015-12-01 | Newsilike Media Group, Inc. | Security facility for maintaining health care data pools |
US8539597B2 (en) * | 2010-09-16 | 2013-09-17 | International Business Machines Corporation | Securing sensitive data for cloud computing |
US9361480B2 (en) * | 2014-03-26 | 2016-06-07 | Alcatel Lucent | Anonymization of streaming data |
US9749128B2 (en) | 2014-05-15 | 2017-08-29 | Xerox Corporation | Compact fuzzy private matching using a fully-homomorphic encryption scheme |
US9965649B2 (en) * | 2015-05-19 | 2018-05-08 | Rujing Tang | System and method for protecting internet user data privacy |
US9842215B2 (en) * | 2015-11-03 | 2017-12-12 | Palo Alto Research Center Incorporated | Computer-implemented system and method for anonymizing encrypted data |
WO2017171726A1 (en) | 2016-03-29 | 2017-10-05 | Hewlett Packard Enterprise Development Lp | Distributed data clustering using an untrusted mediator |
CN109716345B (zh) * | 2016-04-29 | 2023-09-15 | 普威达有限公司 | 计算机实现的隐私工程系统和方法 |
CN117610062A (zh) * | 2018-03-06 | 2024-02-27 | 阿梅里科普投资有限责任公司 | 用于生成区块链存储数据的定制视图的系统、方法和介质 |
US11055492B2 (en) * | 2018-06-02 | 2021-07-06 | Apple Inc. | Privatized apriori algorithm for sequential data discovery |
CN113826349A (zh) * | 2019-05-15 | 2021-12-21 | 皇家飞利浦有限公司 | 对数据集中的敏感数据字段进行归类 |
-
2020
- 2020-05-14 CN CN202080035999.7A patent/CN113826349A/zh active Pending
- 2020-05-14 US US17/267,838 patent/US11914738B2/en active Active
- 2020-05-14 EP EP20726107.4A patent/EP3970309B1/en active Active
- 2020-05-14 WO PCT/EP2020/063561 patent/WO2020229644A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2020229644A1 (en) | 2020-11-19 |
US11914738B2 (en) | 2024-02-27 |
US20210248263A1 (en) | 2021-08-12 |
EP3970309B1 (en) | 2022-11-30 |
EP3970309A1 (en) | 2022-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11914738B2 (en) | Categorizing a sensitive data field in a dataset | |
US20210328804A1 (en) | Artificial Intelligence Modifying Federated Learning Models | |
US11341269B2 (en) | Providing security against user collusion in data analytics using random group selection | |
Chen et al. | Princess: Privacy-protecting rare disease international network collaboration via encryption through software guard extensions | |
EP3096245B1 (en) | Retrievable cryptograph processing system and retrievable cryptograph processing method | |
CN106169013B (zh) | 用于使受保护信息匿名化和聚集的系统 | |
Jiang et al. | Toward practical privacy-preserving processing over encrypted data in IoT: an assistive healthcare use case | |
US10607726B2 (en) | System for anonymizing and aggregating protected health information | |
CN115688167B (zh) | 匿踪查询方法、装置和系统及存储介质 | |
Stammler et al. | Mainzelliste SecureEpiLinker (MainSEL): privacy-preserving record linkage using secure multi-party computation | |
US20200218826A1 (en) | Data searching system, data searching method and computer readable medium | |
CN114065271A (zh) | 数据处理方法及装置 | |
US20210365585A1 (en) | Privacy-preserving contact tracing | |
CN107133517B (zh) | 一种基于内存中数据加密和计算的数据还原方法 | |
JP2022547458A (ja) | 属性の選択的開示のための出所検証 | |
US10936757B2 (en) | Registration destination determination device, searchable encryption system, destination determination method, and computer readable medium | |
CN117478305B (zh) | 基于两方安全协作的全同态加密方法、系统、终端及介质 | |
Dong et al. | Toward a More Accurate Accrual to Clinical Trials: Joint Cohort Discovery Using Bloom Filters and Homomorphic Encryption | |
Badr et al. | A Novel System for Confidential Medical Data Storage Using Chaskey Encryption and Blockchain Technology | |
US20230409748A1 (en) | Garbling enhancements | |
US11989325B1 (en) | Protecting membership in a secure multi-party computation and/or communication | |
US20240039692A1 (en) | Private vertical federated learning | |
WO2024098172A1 (en) | Artificial neural network inner product functional encryption | |
JP6599215B2 (ja) | 秘匿計算装置およびプログラム | |
Daoutis | Privacy preserving cloud computation for data collected from microcontrollers. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |