CN114175028B - 密码假名映射方法、计算机系统、计算机程序和计算机可读介质 - Google Patents

密码假名映射方法、计算机系统、计算机程序和计算机可读介质 Download PDF

Info

Publication number
CN114175028B
CN114175028B CN202080051757.7A CN202080051757A CN114175028B CN 114175028 B CN114175028 B CN 114175028B CN 202080051757 A CN202080051757 A CN 202080051757A CN 114175028 B CN114175028 B CN 114175028B
Authority
CN
China
Prior art keywords
mapper
data source
mapping
elements
entity identifier
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.)
Active
Application number
CN202080051757.7A
Other languages
English (en)
Other versions
CN114175028A (zh
Inventor
F·瓦古耶赫利
G·瓦古耶赫利
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.)
Ike Stander Co ltd
Original Assignee
Ike Stander Co ltd
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 Ike Stander Co ltd filed Critical Ike Stander Co ltd
Publication of CN114175028A publication Critical patent/CN114175028A/zh
Application granted granted Critical
Publication of CN114175028B publication Critical patent/CN114175028B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明为一种用于匿名数据共享系统的密码假名映射方法,该方法被适配成用于从与实体相关且源自数据源(DSi)的数据生成假名化数据库(DB),其中该数据在该数据源(DSi)处由相应实体的实体标识符(D)来标识,并且其中该数据在该假名化数据库(DB)中通过应用一对一映射指派给相应实体标识符(D)的假名(P)来标识。根据本发明,应用不止一个、数目k个映射器(Mj),并且通过在由该数据源(DSi)加密的每个经加密实体标识符(Ci0)上利用属于特定数据源(DSi)的映射器(Mj)的该映射密码密钥(hij)按映射器(Mj)的排列顺序地执行数目k次映射来生成相应的假名(P)。本发明进一步为实现本发明的计算机系统、以及计算机程序和计算机可读介质。

Description

密码假名映射方法、计算机系统、计算机程序和计算机可读 介质
技术领域
本发明涉及一种用于假名映射的密码方法和计算机系统,计算机程序和计算机可读介质,优选地实现用于数据共享的系统,其中数据可以匿名的方式来分析。本发明提供了一种符合GDPR规则的安全假名化解决方案。
背景技术
题为“Data management method and registration method for an anonymousdata sharing system,as well as data manager and anonymous data sharing system(用于匿名数据共享系统的数据管理方法和注册方法、以及数据管理器和匿名数据共享系统)”的WO 2017/141065 A1公开了一种用于以一种方式来分析驻留有多个相互独立的实体(下文称为数据源)的数据的解决方案,这种方式将数据加载到单个统一数据库中,实体(例如,个人、公司)的标识符通过应用被适配成用于保护匿名性的假名来存储在该数据库中,确保原始数据无法从假名中恢复。本发明使用从数论方面来看安全的假名映射方法来补充WO 2017/141065 A1中所公开的解决方案。然而,将假名指派给原始标识符的过程的安全性风险不止由假名映射算法易受数论攻击引起。在WO 2017/141065 A1中,除了提供假名映射方法之外,还提供了措施的详细描述,这些措施必须被采取,以确保提供包含假名的数据库的匿名性。这些措施有禁止向数据指定属性、分析k-匿名性和l-多样性、或防止基于反映实体相互关系的图形的形态特性的节点标识。参考文件中所描述的所有方法也可应用于本发明,包括其中确保数据源的匿名性也是要求的情形。这在数据源报告与它们自身相关的数据的情形中尤为重要。
如今,几乎所有真实世界的事件都以数字空间中所存储的数据的形式留下痕迹。对这些数据的分析允许作出有价值的推断。数据被存储在通常彼此不处于依赖关系的多个实体中。数据常常有实体(例如,个人、公司、机构、财产、仪器、金融资产等)的特征或描述其行为。在数据库中,实体指的是应用广为人知的实体标识符(例如,社会保障号码、税号、土地注册号)。具有根据实体标识符的实体特征的可分析数据被称为属性。
如果可以使用尽可能广泛范围的数据进行分析,则可以关于实体的行为和相互关系进行更接近现实的分析。这样做的最佳方式是应用单个数据库分析所有可用数据。然而,数据库常常包含机密信息,或者受法律保护的信息(例如,在自然人的情形中)。这为数据管理器出于聚集分析目共享它们所管理的数据设置了限制。因此,数据管理者(即数据源)必须传递数据,以使得执行假名化映射以及应用于共用数据库的分析的实体无法访问原始实体标识符。这是可行的,因为在大多数情形中,分析的目的不是理解特定人或物的属性、行为或联系网络,而是识别从更多人群中的(匿名)个体期望的行为模式、分析联系网络的结构、以及作出与事件的未来进程相关的推断。
通过WO 2017/141065 A1中所公开的方法定义了为共用数据库中所存储的未经加密的开放实体标识符和匿名标识符(下文称为:假名)之间的映射设置的要求。这种映射实际上只能通过利用特殊的信息技术设备(即,密码处理器(在物理保护下执行密码运算的专用计算机单元))来实现。在开放多用户系统中,这对系统的适用性提出了问题。与在单个步骤中执行的映射相反,已知的技术解决方案通常提供针对“暴力”类型攻击的保护(其中通过拥有关于加密系统运算的信息,通过尝试每个可能密钥来确定所应用的密钥),但是数据源与执行映射的实体之间的恶意协作只能通过应用补充方法来防止(例如,通过由附加实体对经映射值进行加密)。
如果给定的开放实体标识符以相同的假名输入共用数据库,则可将假名用于上述分析目的,而不论哪个数据源发送了它,即未经加密的标识符与假名之间的映射必须是一对一映射,其中无法计算映射的逆,即任何实体都无法从假名生成未经加密实体标识符。如果映射是由数据源执行的,那么它们也必须应用相同的映射。如果需要算法上不可逆的映射,则通常应用密码散列函数,其中未经加密的数据是函数的输入,而在该情形中输出值是假名。造成问题的是,实体标识符的多样性通常是低的,量级在一亿至数百亿之间。对于此类多样性,可以在很短的时间内生成彩虹表(用于反转密码散列函数的预计算表)。因此,在计算散列值的进程中,加“盐”来补充输入数据(随机选择的数据用作散列函数的附加输入数据)。在此类情形中,所有实体都必须应用相同的“盐”,以使能能够维持一对一关系。但是,由所有数据源使用的数据很难能够被视为秘密,或者如果攻击者能够访问任何数据源的系统,要执行计算甚至不需要知晓值(例如,攻击者可能是执行任意数目的映射时不以任何方式受限的数据源之一)。
另一种可能性是将未经加密的数据或由应用相同加密和假名的数据源加密的数据之间的关系的生成委托给受信任合作者。受信任合作者能够在第一情形中简单地汇编彩虹表,而在第二情形中通过获取对仅单个数据源的系统的访问来汇编彩虹表。因此,根据WO2017/141065 A1(US 2019/213356 A1)的解决方案得到数据源必须应用基于唯一(例如,自身的)密码密钥的加密方法的结论。在此类情形中,数据源将相同的实体标识符作为不同的密码(经加密的数据)来发送,同时必须执行假名映射,以使得在特定密码是从相同的未经加密标识符计算的情况下必须将不同的密码指派给相同的假名。在根据本文件实现的解决方案中,应用RSA密钥,其中解密密钥被存储在可信平台模块(TPM,例如参见ISO/IEC11889)中,通过利用安全密码处理器进行解密过程以及未经加密的数据到假名的映射。这种结构难以实现并且需要大量的初始投资,同时其运算也是麻烦的,因为所需要的硬件基础设施与数据源的数目成线性关系。
EP 3 188 070 A1公开了一种双重加密方法,而代理密码学由Patil ShravaniMahesh等人公开于“RSA-Based Collusion Resistant Quorum Controlled Proxy Re-encryption Scheme for Distributed Secure Communication(用于分布式安全通信的基于RSA的抗共谋仲裁控制代理重加密方案)”,2018年12月11日(2018-12-11),Advances inDatabases and Information Systems(数据库和信息系统的发展);[Lecture Notes inComputer Science;Lect.Notes Computer(计算机科学讲义)],Springer InternationalPublishing(Springer国际出版社);Cham,第349-363页。
发明描述
本发明的目的是消除现有技术解决方案(尤其是以上所呈现的现有技术解决方案)的缺点或减少其影响。
本发明的主要目的是提供一种密码假名映射解决方案,该方案不需要使用安全硬件(例如,密码处理器)来执行解密并将未经加密的数据映射到假名。
通过提供根据权利要求1的密码假名映射方法、根据权利要求12的计算机系统、根据权利要求17的计算机程序以及根据权利要求18的计算机可读介质实现本发明的目的。本发明的优选实施例在从属权利要求中定义。
根据本发明的密码假名映射方法被适配成用于从实体数据生成假名化数据库,其中数据在数据源处利用相应实体的实体标识符来标识,并且其中数据在假名化数据库中利用应用一对一映射指派给相应实体标识符的假名来标识。
本发明是一种利用在剩余类上执行的模求幂的特性以及基于椭圆曲线的特别选择的离散点的运算属性,以及还优选地利用实现所需的抽象映射的区块链技术或提供去中心化真实性的类似技术,同时不包含与现有技术相关的以上所提及的限制的解决方案。
与现有技术相比,本发明不需要用于存储密码密钥或用于执行计算的任何特殊硬件,而是取而代之地通过纯粹的密码手段来解决问题。这首先要求必须将实体标识符指派给代数(数学)结构(例如,参见维基百科(Wikipedia))的元素,在这些元素上执行密码计算。信息技术设备应用数据的二进制表示,因此数据可被解读为可被用于执行计算的正整数。在下文中,假设映射域能够提供实体标识符和计算出的密码的唯一表示。例如,如果计算是在剩余类的循环群(例如,参见维基百科)上执行的,则选择的模数将足够大,以使得有足够数目的剩余类可用。由于在实际实现中应用了密钥大小,因此这不会造成问题。例如,在对剩余类执行模求幂的情形中,与实际出现的实体标识符相比,指数可以应用多得多的比特来表示。在此类情形中,可以考虑对值进行所谓的“填充”,以使得使用低基数执行的求幂不能通过普通的根计算来反转。这在计算结果的过程期间不需要模运算的情形中发生。由于应用一对一映射的要求,只能应用确定性填充方法。
因此,考虑多个数据源,每个数据源包括包含实体标识符和属性的数据库。必须在共用数据库中收集数据,以使得根据以下条件使用假名将实体标识符包括在其中:
(5)给定实体标识符必须被映射到相同的假名,而不论接收到它的数据源如何。
(6)不得将同一假名指派给两个不同的实体标识符。
(7)未经加密的标识符与其假名之间的关系不可由系统的任何参与者仅利用其已知的信息获得,即使数据源以破坏加密为意图与参与映射的参与者合作。
(8)如果攻击由一方或多方(但不是所有方)发起,即使在合作的情况下,为了公开未经加密实体标识符与其假名之间的关系(例如,为了编译彩虹表),则必须由其他方检测到该攻击。
条件(1)和(2)一起暗示了映射必须是一对一映射。密码映射满足该要求,只要我们维持在其域(在密码学中,为消息域)内。条件(3)排除了可仅由一个或两个参与者、不需要与其他参与者合作地执行所有映射。条件(4)也是如此。数据源必须不可能跟踪映射的步骤,因为否则,它可以很容易地获得作为最后计算步骤的结果的假名。执行映射的实体当然可访问它们的计算结果,因此它们必须不能访问未经加密实体标识符。这在实体标识符由数据源应用它们自身的唯一加密(即,使用它们自身的密码密钥)发送给映射器实体,但是数据源无法“看到”假名映射计算,或者无法将其与它们自己提供的数据相关的情况下可被提供。
根据WO 2017/141065 A1中所描述的技术方案,必须通过将映射分解成各步骤来应用密码执行假名映射,其中给定步骤能由被适配成执行映射的仅单个参与实体来执行:
Figure GDA0003473343800000061
其中D为实体标识符,P为假名,i为数据源的数字标识符,Ci为应用其自身密钥计算的密码。加密系统中的不同映射常常应用不同的密钥来执行相同的算法。因此,应用密钥b执行的映射g可被fb替换。应用单个映射器(例如,安全密码处理器),该映射器被适配成解密密码,随后应用假名映射密钥b来将未经加密的数据映射到假名P。例如,应用RSA方法(例如,参见US 4,405,829 A),第i个数据源的密码密钥为(ei,N),其中e为加密指数,而N为模数。密码是通过以下计算获得的:
Figure GDA0003473343800000062
并被发送给执行假名映射的实体,该实体利用解密密钥(di,N)生成未经加密的数据,其中di为指数,执行以下计算
Figure GDA0003473343800000063
根据US 4405829 A,该计算例如应用安全密码处理器来执行,以使得映射器不能访问未经加密的数据,但是能够使用结果来计算假名。利用映射g≡fb的密码密钥(b,N)从未经加密的数据中获得假名(与本说明书中的其他地方不同,此处符号≡表示同一性而非一致性):
P≡Dbmod N
重要的是,不能从执行计算的设备中读取值di和b;此类设备例如是可信平台模块芯片。因为g和f两者均表示模N的模求幂,所以在下文中使用仅f。使用以上示例的几号,整个映射为:
Figure GDA0003473343800000071
其中利用指数ei的最内层密码计算由数据源执行,随后由映射器应用指数b来执行计算。
目的是提供一种用于执行后两次映射的计算方法,在此进程中,实体执行计算:
iii.无法访问实体标识符D(即未经加密的数据),以及
iv.无法访问被用于从未经加密的数据生成假名的指数b。
由此得出,根据条件(i.),执行计算的实体也必须不能访问di,因为否则它可能解密密码。条件(ii.)是必需的,以防止映射器进行成功的试错或基于彩虹表的攻击。在示例性映射中,数据应用由正整数模数(N)定义的剩余类来表示。
在根据本发明的解决方案中,可以在任意数目的步骤中执行应用逆密钥的解密以及应用多个映射器实现的映射,以使得在计算进程中不生成未经加密的数据(实体标识符),没有实体能够获得解密密钥
Figure GDA0003473343800000072
并且也没有实体能够获得假名映射密钥b,即,没有实体能够秘密地从未经加密的数据生成假名(即编译彩虹表)。
该解决方案还确保在特定映射情形中,映射器执行映射的执行次序无法提前建立,从而使参与实体更难成功地合作以达到破解系统的目的。为了达成这一点,应用基于已知数目的理论基础的信息技术方法,包括与由区块链技术应用的协议相关的手段。
附图简述
下文参考附图通过示例来描述本发明的优选实施例,其中:
图1是根据本发明的应用密钥管理器实现的解决方案的示意图,
图2是根据本发明的不使用密钥管理器实现的解决方案的示意图,以及
图3是示意性地解说示例性假名映射过程的表。
用于执行发明的模式
根据本发明,已经认识到,构成乘法或加法循环群的代数结构的特征可被优选地用来完成本发明的目的。以下更详细地描述了基于此类代数结构的两种类型的解决方案,但是根据本发明,还可以应用提供本发明的运算所需的算术的其他此类代数结构。在示例性代数结构中,首先详细描述了涉及剩余类模N(其中N是正整数)的解决方案,随后相对于前者描述了涉及在剩余类模p(其中p是质数)数域上定义的椭圆曲线的点的解决方案。
实体标识符及对应数据被存储在相互独立的数据源处的数据库中,并且在根据本发明的假名化之后,数据连同从实体标识符生成的假名一起被存储在中央假名化数据库中并被指派给彼此。遵守本发明的对象集的条件,对于给定的实体标识符,未经加密的数据与假名之间的关系不会受数据来源(即,其来自什么数据源)的影响。然而,映射过程(即在特定阶段执行的运算)对于每个数据源是唯一的,也就是说,必须要使用不同的密码密钥(例如,模幂)来执行相同的映射。显然,序列中的一次映射之前的另一映射的范围不能大于后者的域。对于剩余类,这意味着在该过程期间模数值不能被减小。由于映射的顺序取决于所映射数据和所应用密钥(即每次都不同),因此这个条件只能通过应用常量模数来满足。因此,数据收集系统的实现必须从选择适当的模数开始。这实际上是由数据收集服务的供应商或首先决定适用密钥的比特长度的数据收集社区来执行的。随后,选择两个此类质数,它们的乘积(用作模数)可以使用给定的比特数目来表示。生成密钥的实体(例如,密钥管理器或数据源)必须知晓模数N并且还知晓由欧拉(Euler)函数给出其值
Figure GDA0003473343800000081
或者换言之,其totient值。执行映射的所有参与者都必须知晓模数的值N。如果要被映射的实体标识符的表示大小显著小于密钥大小,则优选应用某种类型的填充方法。该方法必须是确定性的,即每个数据源必须接收相同的值,以使得假名也是确定性的,而不论数据源如何。因此,映射的基本数据为N和/>
Figure GDA0003473343800000091
根据本发明,通过随机选择,意味着该方法的实现不依赖于选择给定集合的哪些特定元素。因此,随机选择意味着还包括准随机或伪随机选择,以及所有此类选择方法(即使根据观察者不知晓的规则),其中选择对于外部观察者而言似乎是随机的。如果集合构成代数结构,则在它具有空元素和/或单元元素的情况下,它/它们不被认为是随机选择的。此外,在剩余类的情形中,避免选择非相对质数值。但是,出于密码考虑,值得选择它们的表示的比特长度填满所有可用空间的值。
如图1和2中所示,描述实体或它们的行为的实体标识符D和属性(图中未示出后者)由数据源DSi存储在它们相应的数据库中。特定实体与其他实体之间的关系可被视为给定实体的特征。由此,在此类关系中,其他实体的实体标识符被视为属性(例如,B是A的客户端,在该情形中,B同时为属性和实体标识符)。因为根据本发明的技术方案的目的是支持匿名性,所以此类数据也可被视为实体标识符。
与实体标识符D相关的属性优选地由数据源DSi作为未经加密的数据来传递,而实体标识符D由数据源DSi利用其自身的密码密钥来加密。结果所得的密码被发送到被适配成执行至假名P的映射的实体(即映射器Mj)。同时,维持未经加密的数据与密码之间的指派(即维持经加密的实体标识符),因为数据分析所需的数据库只能以此类方式来加载有用信息。
为了假名映射的安全性,任何实体都不能由自己执行运算(即任何一者都不能从未经加密的数据生成假名)是至关重要的。只有当没有实体拥有足以将未经加密的值映射到假名的下述指数b的值以及每个人都知晓的模数N时,P≡Db mod N才是可能的。
如果未计算b,则以上条件可被满足。因为我们正在处理剩余类上的模求幂的指数,所以也可以利用b的乘法因子来执行运算。如果b=b1·b2·...·bk,则
Figure GDA0003473343800000101
如果系统包括数目k个映射器,则每个映射器可以为b生成与
Figure GDA0003473343800000102
互质的因子。如果它们不知晓/>
Figure GDA0003473343800000103
则它们选择质数。由此,它们只能集体执行上述映射。为了完成这一点,没有必要在它们之间共享因子bj。需要的是,每个映射器利用其自身的因子执行恰好一次模求幂(以任意顺序):
Figure GDA0003473343800000104
其中索引jp∈{1..k}表示b的因子的任意(任意顺序)排列。
数据源DSi的密码密钥ei和解密因子如下生成。假名必须由映射器Mj从数据源DSi计算的密码而不是从未经加密的数据来计算。如果指数因子的乘积b可用,则从第i个数据源接收的密码
Figure GDA0003473343800000105
将如以上那样被用于如下计算:
Figure GDA0003473343800000106
因为根据本发明的基本思想,应用不止一个(即,数目k个)映射器,所以应用与用于指数b相同的方法:让我们将di生成为具有数量等于映射器Mj的数目k的因子的模积(由于应用了模幂,此处模数为
Figure GDA0003473343800000107
)。在第i个数据源的情形中,密钥生成始于生成指数di的因子:di=di1·di2·...·dik(第一索引标识数据源的密码密钥,而第二索引标识映射器),这些因子由数据源随机选择并且各自与/>
Figure GDA0003473343800000108
互质。随后应用扩展欧几里德算法来计算ei,针对该ei,公式/>
Figure GDA0003473343800000109
Figure GDA00034733438000001010
将成立,即ei将为积的逆密码密钥。元素dij或因子的数目等于映射器的数目k,因此它们必须以加密形式传递给映射器Mj(应用任何已知方法)。利用从代数结构中随机选择并保密的元素bj,每个映射器计算与第i个密码密钥相对应的假名映射指数/>
Figure GDA00034733438000001011
即与数据源DSi的映射器Mj的映射密码密钥hij。由于映射器Mj不知晓Mj,因此它们无法根据模数/>
Figure GDA00034733438000001012
来执行归一化。作为这一点的结果,指数的(最大)大小将是密钥大小的两倍(因为它是两个数目的积,每个数目都可以利用给定的密钥大小来表示),这不会带来任何实际问题,因为它表示与归一化结果相同的剩余类。
作为映射假名P的初始步骤,密码
Figure GDA0003473343800000111
由第i个数据源传递给映射器Mj。映射过程从该步骤开始。在第一计算步骤之前,初始值为在索引中表示的数据源的密码Ci0=Ci,其对应于要被映射的实体标识符D的经加密实体标识符Ci0。当在第k步之后所有映射器都已经应用其自身的指数执行了模求幂运算/>
Figure GDA0003473343800000112
时,获得假名Cik=P,因为/>
Figure GDA0003473343800000113
其中指数hij的顺序是任意的。当然,在具体实现中,必须以某种方式确定序列次序;它可以是随机的、准随机的、或确定性的。因此,通过在由数据源DSi加密的每个经加密实体标识符Ci0上利用与数据源DSi相对应的映射器Mj的映射密码密钥hij按映射器Mj的排列顺序地执行数目k次映射来生成假名P。根据上述公式的解决方案也是优选的,因为表示大小不会在计算进程中增加,由于求幂的结果藉由模运算进行归一化。
因此,以上提供了这样一个密钥系统,该密钥系统也满足以上为假名生成设置的要求(3)和(4),因为为了执行映射,需要数据源与所有映射器的协作。出于相同的原因,也不可能组织未被检测到的彩虹表攻击,因为如果这些映射器中的一者检测到数亿或数十亿映射过程中的数百映射过程的发起就足够了。在此类情形中,未参与破解运算的映射器拒绝对使用具有给定索引的密钥加密的消息执行映射。
为了提供上述想法的具体实现,必须确定不同实体(即数据源DSi、映射器Mj和可任选地包括的密钥管理器KM)之间的协作角色和协作模式。
对于基于剩余类的解决方案,即在实体标识符D和假名P由模N的剩余类表示的情形中,
Figure GDA0003473343800000121
必须保密,因为拥有它的实体能够计算逆指数(即逆密钥)。然而,在该解决方案中,特定指数因子的逆不会产生加密映射的逆,因此如果计算特定指数因子的逆,则其不会构成危险。因此,密钥管理器KM的应用对于实现系统是可任选的。
图1中可以看到的包括密钥管理器KM的示例性解决方案包括以下步骤:
(7)映射的常数由密钥管理器KM生成:N=p·q,
Figure GDA0003473343800000122
(这两个因子都是随机选择的质数,可以优选地以所选密钥大小的一半比特长度来表示),其中N对其他实体公开,而/>
Figure GDA0003473343800000123
被保密;
(8)秘密元素bj(即,在本实施例中的指数)由映射器Mj生成——因为元素必须与
Figure GDA0003473343800000124
互质,这对于映射器Mj是未知的,选择针对其一般满足条件的随机所选质数;
(9)在数据源DSi请求之际,密钥管理器为申请者生成具有标识符i的密码密钥ei,并且还根据以上描述中指定的条件生成对应元素di1,…,dik(即针对映射器Mj的数目k的映射的指数因子);密钥由相应的索引来标识,以将它们指派给数据源;数据必须保密,因此它们必须以经加密的方式来传递;
(10)值hij≡dij·bj由映射器Mj来计算并保密;因为它们不知晓
Figure GDA0003473343800000125
该指数可以用密钥大小的比特长度的两倍来表示,因为以此方式,剩余类不能应用最小正整数来表示;
(11)实体标识符D(即未经加密的数据)由数据源映射到密码
Figure GDA0003473343800000126
并发送给映射器Mj
(12)按照达成一致的顺序,由映射器Mj从(s=0)到(s=k-1)计算值
Figure GDA0003473343800000127
Figure GDA0003473343800000128
以使得最后映射的结果Cik将成为假名P。
在上述实施例中,数据由数据源DSi应用由索引i标识的自身相应的秘密密码密钥ei来加密,其中数据源DSi可以具有任意数目的密钥,这些密钥通过由索引j(j∈{1..k})标识的多个(数目k个)映射器Mj的协作映射到假名P。
尤其优选地选择质数为值p和q,因为在该情形中,相对质数的数目是已知的(其为(p-1)·(q-1))。
在图2中可以看到的不使用密钥管理器的示例性实现包括以下步骤(此处密钥管理器的任务优选地由数据源DSi来执行)。
(7)假名映射的常数由提供者生成,或者由参与实体一致同意地生成:N=p·q,
Figure GDA0003473343800000131
(这两个因子都是随机选择的质数,可以优选地以所选密钥大小的一半比特长度来表示),不必对这些数据保密;
(8)秘密元素bj(即指数)由映射器Mj随机选择,因为指数与映射器已知的
Figure GDA0003473343800000132
互质,在该情形中,不必选择质数;
(9)每个数据源DSi被适配成用于生成任意数目的密钥;在该情形中,权宜选择密码指数ei的元素或因子以及解密指数的元素di1,...,dik的散列码作为密钥标识符(在生成因子之后),以使得不需要中央协调来确保唯一性;密钥生成如下:元素di1,...,dik或因子,这些因子与
Figure GDA0003473343800000133
互质,并且从其中针对模数/>
Figure GDA0003473343800000134
计算的作为从元素的聚集中推导出的值的模乘积di将为解密密钥的指数di;由数据源随机选择;随后找到针对相同模数的di的乘法逆,由此得到ei。元素或因子di1,...,dik以经加密形式发送到与特定索引相对应的映射器Mj(例如,上传到区块链);如果应用区块链,则密码密钥可以为映射器的钱包的公钥;
(10)值
Figure GDA0003473343800000135
由映射器Mj计算并保密;
(11)实体标识符D(即未经加密的数据)由数据源DSi映射到密码
Figure GDA0003473343800000136
Figure GDA0003473343800000137
并与映射器Mj共享,优选地通过将其写入数据库,该数据库根据由第三方验证的协议来运行并提供分散化真实性(实际上,写入区块链);
(12)A)按协商一致的次序,映射器计算值
Figure GDA0003473343800000138
其中i表示数据源的密码密钥,s表示映射的步骤数目,j表示映射器的标识符;最后映射的结果Cik将成为假名P;如果映射器是“经许可的”区块链的节点,则有资格根据区块链共识协议关闭以下区块的映射器j的结果被写入下一区块/>
Figure GDA0003473343800000139
在映射的进一步进程中,该节点不执行进一步运算(指数因子hij可由映射序列中的每个实体使用恰好一次);由此,在每个步骤中生成的值/>
Figure GDA0003473343800000141
少一个,并且在最后步骤中仅生成一个;
B)在公共区块链的情形中,映射器在每个事务期间将结果
Figure GDA0003473343800000142
上传到区块链中,随后根据预定规则利用值Ci,s+1继续计算;此类规则例如可以为:计算值/>
Figure GDA0003473343800000143
的模N和,并且随后应用于进一步计算的值Ci,s+1将是算术上最接近的值;在该情形中,为了使每个指数因子hij仅被用于计算结果一次,其值已经被选择的映射器不参与进一步计算;最后映射的结果Cik将成为假名P;如果应用公共区块链,则必须保证拥有未经加密的数据的数据源无法跟踪计算链,以使得无法将数据与计算出的假名连接。
在计算假名P期间,由映射器Mj计算值
Figure GDA0003473343800000144
其中要用作后续计算步骤的输入值的值Ci,s+1由程序(例如,区块链智能合约)选择,该程序根据利用确定性方法的经验证协议来运行。
每个映射指数在映射中必须使用仅一次,其中仅那些映射器Mj在以下步骤中执行计算,这些步骤的结果尚未被选择(截至过程的当前状态)作为后续映射的输入。使用数目k个映射器,通过在第k步中计算假名P(P=Cik)来结束该过程。
图3解说了如何根据具有给定次序的排列来执行映射;该图中所示的步骤和其他信息将按照以上表述来解读。
因此,图1和2解说了两种概念上不同的解决方案。
(3)应用密钥管理器KM和多个映射器Mj,其中应用于将未经加密的数据映射到假名P的密钥利用指数因子生成,密钥管理器KM生成所需的密码密钥对,以使得解密密钥的指数逐因子生成。
(4)密码密钥由数据源DSi生成,以使得解密密钥的指数逐因子生成。应用于将未经加密的数据映射到假名P的密钥由应用指数因子的多个映射器Mj生成,不存在密钥管理器。
如引言中所提及的,还可以应用定义在剩余类模p(其中p为质数)的数字字段上的椭圆曲线点来执行假名映射(例如,参见维基百科(Wikipedia)文章“椭圆曲线(Ellipticcurve)”)。在该上下文中,让代数结构为满足方程y2=x3+Ax+B mod p的点集,其中x、y、A和B是质数p的剩余类。首先,必须将未经加密实体标识符m指派给曲线的点。让我们选择曲线中的点G,该点G具有足够大的阶数q以使得能够将消息空间的点指派给由G应用一对一映射生成的点。(对于曲线的所有点,存在数字q为在无穷远处到达点O所需的点自身的相加次数。此类数字中最小的数字q给出了点的次序。)为了达成这一点,例如,可以应用以下方法(Aritro Sengupta,Utpal Kumar Ray:Message mapping and reverse mapping inelliptic curve cryptosystem(椭圆曲线密码系统中的消息映射和反向映射)(2016))。在低阶数字处,D的二进制表示由8比特补充。在以上定义的曲线公式中,用由此获得的值替换x。如果针对y不存在解,则x的值增加1。如果解确实存在,则已经得到由曲线定义的有限代数结构的点M。此处应用与以上对象的规范相关的描述以使得由第i个数据源DSi应用其自身的密码密钥将该点投射到曲线的另一点Ci,随后由映射器将其投影到用作假名的点P,以使得当且仅当点M相同时,不同的密码Ci被指派给相同的点P。
因为基于代数结构形成加法循环群的解以与基于乘法循环群的解类似的方式来运算,因此未单独示出。在需要的情况下,附图中所示的标记可以用以下描述中包括的对应运算和标记来替换。被适配成定义代数结构的值x、y、A、B和p由提供假名映射服务的实体来定义,该实体还选择点G,其中已知顺序大于消息空间的多重性。该实体随后与数据源和映射器共享数据。相应的秘密密钥bj,j=1..k由数目k个映射器中的每个映射器从mod q的剩余类中随机选择,选择不同于1和0的值。这些值的和由
Figure GDA0003473343800000151
来表示。
为了数据提供,与数目k的映射器一样多的元素aij(即,数字)由第i个数据源从q的剩余类中随机选择,元素的和ai将是其自身的密码密钥
Figure GDA0003473343800000152
Figure GDA0003473343800000153
该密钥以加密形式传递给具有适当索引的映射器,并且随后该映射器应用公式hij=aij+bj来计算与数据源相对应的映射密钥。在区块链系统的情形中,映射器的签名密钥的公共部分可被用于加密。
在此之后,由数据源DSi通过使两点相加来执行加密运算:
Figure GDA0003473343800000161
其中运算符
Figure GDA0003473343800000162
表示曲线的两点的相加,而标量相乘表示重复的相加。仅在对曲线点执行下述运算的情况下,修改对剩余类执行的以上过程。在第s步骤中,映射器使用索引j对源自第i个数据源的数据执行以下运算:/>
Figure GDA0003473343800000163
Figure GDA0003473343800000164
其中一元运算符“–”表示曲线点在x轴上的反射。利用此类值的运算/>
Figure GDA0003473343800000165
在下文中用运算符/>
Figure GDA0003473343800000166
来标识。由此,执行完整映射序列,作为以下运算的结果,获得假名:
Figure GDA0003473343800000167
由此,由每个数据源将相同的实体标识符D作为不同的密码来发送,但是最后将其指派给相同的假名P。可任选地,点P的x坐标也可被应用作为假名。
因此,为了计算假名P,由映射器Mj从(s=0)至(s=k-1)计算值
Figure GDA0003473343800000168
Figure GDA0003473343800000169
其中/>
Figure GDA00034733438000001610
其中将被用作后续计算步骤的输入值的值Ci,s+1由程序(例如,区块链智能合约)选择,该程序根据利用确定性方法的经验证协议来操作。每个映射密钥在映射中必须被使用仅一次。在下一步骤中,只有那些映射器Mj执行其结果尚未被选择(截至过程的当前状态)作为后续映射输入的计算。使用数目k个映射器,通过在第k步中计算假名P(P=Cik)来结束该过程。
如果要利用密钥管理器KM,则该实体被用于生成(即随机选择)ai的加数。
因此,为了确保拥有系统的任何组件不足以允许暗码解译假名P与实体标识符D之间的关系,根据本发明的假名映射系统执行以下数据转换:
-从数据源DSi处可用并适于通过特征名称(即从实体标识符D)来标识人、物或其他实体的数据产生,
-此类假名化数据,其中实体标识符D被以独立于由数据源DSi使用的密码密钥ei的一对一方式指派给其的假名P来替换,
以使得
-由于许多元素dij、aij由数据源DSi应用加密装置/模块从形成由密码算法利用的乘法或加法循环群的代数结构中随机选择作为映射器Mj的数目(优选地,此处以下功能性由加密装置/模块来实现:其生成可应用合适的映射来映射到密钥空间的随机数,以使用近似均匀的概率(即随机地)
从密钥空间的元素之中选择元素,从这些元素中取决于结构利用其乘积或和来计算逆密码密钥并将其用作其自身的唯一密码密钥ei以用于加密它们相应的实体标识符D,以及
-这些密码(或经加密的数据)由被称为映射器Mj的多个加密手段映射到相应假名,由这些映射器Mj在集中式系统或去中心化(对等,例如,区块链)网络中应用它们自身相应的唯一映射密码密钥hij来执行映射,以任意序列次序来执行它们自身的操作,
以使得
-为了计算每个唯一映射密码密钥hij,应用由数据源DSi传递的元素dij中的单个元素以及由映射器自己从所应用的代数结构中随机选择并保密的数据元素。
根据本发明的用于密码假名化的计算机系统包括:
-数据源DSi包含与实体相关的数据,数据在数据源DSi处通过实体的实体标识符D来标识,
-假名化数据库DB,其中数据通过以一对一方式指派给每个实体标识符D的相应假名P来标识,数目k个(即不止一个)映射器Mj
-(可任选地)密钥管理器,以及
-实现上述功能和/或实体的模块,这些模块可以是硬件、软件或组合的硬件软件模块。
密钥管理器KM优选为包括被适配成用于执行程序的处理器以及被适配成用于提供数据写入、存储和读出功能的存储器的装置。在该装置上运行的程序被适配成用于生成执行映射所需的数据,例如,被适配成从未经加密的数据生成假名的模指数和模数的totient值。该装置被适配成用于存储这些值,以使得其他任何人都不能访问这些值,但该装置仍然能够利用这些值来执行计算。除此之外,该装置还能够应用上述过程(例如,扩展欧几里(Euclidean)德算法)来计算模指数密钥对,并且能够在安全数据通道上将经加密的指数传递给数据源,并计算应用于假名映射的指数,该指数还可被传递给在安全数据通道上执行映射的实体。例如,由以上所提及的可信平台模块(TPM)电路满足所有这些要求。
映射器Mj优选为被适配成用于读取模求幂的任何输入参数(基数、指数、模数)以及执行操作并使结果可用于读出的装置。映射器装置必须包括被适配成用于随机数生成的模块。此类模块例如可被实现为通用计算机或微控制器。TPM电路也满足以上列出的所有要求。
本发明的另一方面是一种包括指令的计算机程序,当该程序由计算机执行时,这些指令使该计算机执行根据本发明的方法的各步骤。本发明进一步涉及被适配成用于存储以上所提及的计算机程序的计算机可读介质。
本发明可被用于各种目的;这些目的之一是对涉及多家商店的忠诚卡购买数据库进行分析。让我们假设从事商业分析和市场调研活动的公司准备了对零售店的典型客户行为的分析,该分析由其客户购买。该分析旨在基于所购买的产品、购买频率、商店类型和位置、一年中的季节、以及所购买的产品之间的关系等特征来定义顾客群。
为了准备分析,公司需要数据。除使用公共可用的统计数据之外,此类公司还常常寻求促进连锁零售商和个体商店与它们合作。为了促成这一点,例如,他们与零售商分享它们研究结果的一部分,以使得他们能够提高它们的广告效果并改进它们的产品选择。在许多商店购买交易中,客户的任何特征都是未知的。尽管收据中所包括的数据可被利用,但是与产品销售统计数据相比,它提供的唯一额外信息是,它包括了关于在单笔购买交易期间售出的产品及其确切时间和日期的信息。同时,这些商店还可以提供忠诚卡计划。参与此类计划,客户被给予各种折扣。在此类购买的情形中,客户的个人信息及其用于分析目的的其他相关数据是已知的。一些商店(数据源)已将此类数据(以不同的细节)传递给市场调研公司,然而,由于与保护个人数据相关的立法发生了变化,这种做法将很快结束。因此,市场调研公司最重要的产品《零售市场报告》受到了威胁。尽管分析客户群的行为不要求拥有任何客户的具体个人数据,但是个人数据保护条例使以上业务不可行。
如果仅从由商店传递的数据中删除适用于个人身份(除了性别、年龄和邮政编码)的这些数据,则与基于购买收据的数据相比,可以获得更有价值的结果,但是与给定(匿名)人在给定商店的特定购买相关的信息被丢失,尽管拥有和处理此类信息未受到法律禁止。因此,商店已经承诺使用虚构的标识符(即假名)来标识给定客户的购买。这进一步提高了可分析性,但以此方式,如果假名化模式不统一,在不同商店购买的客户将被视作多个不同的人。
可能产生这样的想法,即利用所谓的“经加盐的”密码散列函数实现的映射可被用于个人数据(诸如姓名、性别、出生日期和邮政编码),但是代表商店的某些律师可能拒绝该选项,因为结果所得的散列数据可以由执行数据分析的实体简单地通过将自身注册为商店并编译彩虹表(例如,根据选民登记册)来连接到个人数据。本发明提供了该问题的解决方案。根据本发明的解决方案的实现可以包括服务器软件组件,该服务器软件组件允许数据源DSi通过访问网页(在认证之后)在它们自身的计算机上生成并存储其密钥。由映射器Mj和支持与区块链系统通信的程序执行的计算可以针对云环境编写。该服务可在各种不同的云服务提供商处激活,以使得其操作不受任何实体的影响(除了启动和停止它);该设置优选地也可被审核。利用属于网页的客户端软件,商店将关键因子的分布传递给映射器Mj,商店随后将数据上传到区块链(在利用存储在商店处的密钥对数据进行加密后),在区块链中根据映射序列生成假名。
因此,由不同商店个体地生成的密码被整个计算链映射成相同的值。此外,区块链技术的应用使得不可能编译适用于恢复未经加密的数据与假名P之间关系的彩虹表。
由此,这些分析可被用于挑选客户,这些客户通常在给定商店完成他们的购物,但常常在其他地方购买特定产品,或者在商店关闭不久后在不同的位置进行他们的购物。这些都是能够支持业务决策的有价值的信息。例如,优选地储备另一品牌的特定产品,或者在周五晚一小时关门。
附图标记列表
D 实体标识符
P 假名
DSi 数据源
Mj 映射器
KM 密钥管理器
dij 元素(乘法结构中的逆密钥因子)
di 元素的模积 ei 密码密钥(在乘法结构中)
aij 元素(加法代数结构中的密码密钥家加数)
ai
bj 秘密元素(自身映射密码密钥的因子或加数)
Ci0 经加密的实体标识符
hij 映射密码密钥
DB 数据库

Claims (19)

1.一种用于匿名数据共享系统的密码假名映射方法,所述方法被适配成用于从与实体相关且源自数据源DSi的数据生成假名化数据库DB,其中所述数据在所述数据源DSi处由相应实体的实体标识符D来标识,并且其中所述数据在所述假名化数据库DB中通过假名P来标识,
其特征在于:
所述假名P通过以下方式应用一对一映射指派给相应实体标识符D,而不论起源数据源:
-应用不止一个、数目k个映射器Mj
-从构成乘法或加法循环群的预定代数结构中为每个数据源DSi选择数量与所述映射器Mj的数目相等的元素dij,aij,从这些元素dij,aij中发送一个元素dij,aij给每个映射器Mj同时保密并保持将其指派给所述数据源DSi,从多个元素dij,aij计算所述多个元素的逆密码密钥,并通过将所述逆密码密钥用作所述数据源DSi自身的秘密密码密钥ei来将要被映射的每个实体标识符D转换成相应的经加密实体标识符Ci0
-通过使用被发送给每个映射器Mj的元素dij,aij以及从所述代数结构中随机选择并由该映射器Mj保密的元素bj来为该映射器Mj生成其与所述数据源DSi相对应的映射密码密钥hij,以及
-通过在由所述数据源DSi加密的每个经加密实体标识符Ci0上利用属于特定数据源DSi的所述映射器Mj的所述映射密码密钥hij按所述映射器Mj的排列顺序地执行数目k次映射来生成相应的假名P。
2.根据权利要求1所述的方法,其特征在于,应用构成乘法循环群的代数结构,其中值由剩余类模N表示,针对所述代数结构预定常数N=p·q和
Figure FDA0004069597160000011
其中p和q是随机选择的质数,而/>
Figure FDA0004069597160000012
是针对N获得的欧拉函数的值,
-为了生成每个数据源DSi的自身密码密钥ei,生成与模数
Figure FDA0004069597160000013
互质的随机选择的因子作为数量与所述映射器Mj的数目相对应的元素dij,以其本身已知的方式来获得取作随机选择的因子的模积di的模数的/>
Figure FDA0004069597160000021
的乘法逆,并选择所述乘法逆值作为所述数据源DSi的所述自身密码密钥ei,针对所述值公式/>
Figure FDA0004069597160000022
成立,
-所述元素dij被加密发送给所述映射器Mj,所述映射器Mj被用于解密它们自身的元素dij,并且应用公式
Figure FDA0004069597160000023
来生成与所述数据源DSi相对应的每个映射器Mj的所述映射密码密钥hij,其中随机选择的秘密元素bj与/>
Figure FDA0004069597160000024
互质,
-由所述数据源DSi利用公式
Figure FDA0004069597160000025
来计算所述经加密实体标识符Ci0
-以及通过应用公式
Figure FDA0004069597160000026
从s=0至s=k-1,执行所述映射器Mj的顺序映射以生成相应的假名P,其中P=Cik
其中,所述ei是密码密钥,di是元素的模积,hij是映射密码密钥,dij是与所述映射器Mj的数目相对应的元素,bj是随机选择的秘密元素,Ci0是经加密实体标识符,D为实体标识符,N为模数,i表示数据源的密码密钥,s表示映射的步骤数目,j表示映射器的标识符,C是模求幂运算,P是假名。
3.根据权利要求2所述的方法,其特征在于,随机选择的质数p和q能够利用所选密钥大小的一半比特数来表示。
4.根据权利要求2所述的方法,其特征在于,通过将所述经加密实体标识符Ci0写入根据第三方验证的协议运行并提供去中心化真实性的数据库来与所述映射器Mj共享所述经加密实体标识符Ci0
5.根据权利要求4所述的方法,其特征在于,应用区块链数据库作为提供去中心化真实性的数据库。
6.根据权利要求2至5中的任一项所述的方法,其特征在于,所述代数结构的所述常数N和
Figure FDA0004069597160000027
由密钥管理器KM生成,/>
Figure FDA0004069597160000028
对所述密钥管理器KM保密,所述数据源DSi的所述自身密码密钥ei以及与其相对应的所述元素dij由所述密钥管理器KM生成并被加密发送给所述数据源DSi和所述映射器Mj,其中质数被选择为随机选择的秘密元素bj
7.根据权利要求1所述的方法,其特征在于,应用构成加法循环群的代数结构,其中值由在剩余类模p的数字域上定义的椭圆曲线的点来表示,其中p为质数,针对所述代数结构,预定以下常数:y2=x3+Ax+B mod p中定义在质数p的剩余类上定义的椭圆曲线的点的参数A、B、以及所述曲线中具有大于所述实体标识符D的数目的阶数q的点G,
-为了生成每个数据源DSi的自身密码密钥ei,从剩余类mod q中选择元素aij作为数量与所述映射器Mj的数目相对应的元素dij,并且选择所述元素总和ai作为所述数据源DSi的所述自身密码密钥ei,针对其公式
Figure FDA0004069597160000031
-所述元素aij被加密发送给所述映射器Mj,所述映射器Mj被用于解密它们自身的元素dij,并且应用公式hij=aij+bj来生成与所述数据源DSi相对应的每个映射器Mj的所述映射密码密钥hij,其中随机选择的秘密元素bj是所述剩余类mod q的值并且不同于0和1,
-由所述数据源DSi利用公式
Figure FDA0004069597160000032
来计算所述经加密实体标识符Ci0,其中运算符
Figure FDA0004069597160000033
为所述椭圆曲线的所述点的和,以及
-通过应用公式
Figure FDA0004069597160000034
从s=0至s=k-1,执行所述映射器Mj的顺序映射以生成相应的假名P,其中/>
Figure FDA0004069597160000035
和P=Cik
其中y、x是质数p的剩余类,aij是元素,ai是元素的和,ei是密码密钥,k是映射器的数目,di是元素的模积,hij是映射密码密钥,dij是与所述映射器Mj的数目相对应的元素,bj是随机选择的秘密元素,Ci0是经加密实体标识符,i表示数据源的密码密钥,s表示映射的步骤数目,j表示映射器的标识符,C是模求幂运算,M和G是所述剩余类模p的数字域上定义的椭圆曲线上的两个点。
8.根据权利要求7所述的方法,其特征在于,通过将所述经加密实体标识符Ci0写入根据第三方验证的协议运行并提供去中心化真实性的数据库来与映射器Mj共享所述经加密实体标识符Ci0
9.根据权利要求8所述的方法,其特征在于,应用区块链数据库作为提供去中心化真实性的所述数据库。
10.根据权利要求7至9中的任一项所述的方法,其特征在于,所述代数结构的所述常数由密钥管理器KM生成,而所述数据源DSi的所述自身密码密钥ei以及与其相对应的元素aij由所述密钥管理器KM生成并被加密发送给所述数据源DSi和所述映射器Mj
11.根据权利要求1所述的方法,其特征在于,所述映射器Mj构成去中心化网络。
12.一种用于密码假名化的计算机系统,所述系统包括:
-数据源DSi,所述数据源包括与实体相关的数据,所述数据在所述数据源DSi处由所述实体的实体标识符D来标识,以及
-假名化数据库DB,其中所述数据通过假名P来标识,
其特征在于,
所述假名P应用一对一映射指派给相应实体标识符D,而不论起源数据源,并且
所述系统进一步包括:
-不止一个、数目k个映射器Mj
-被适配成用于从构成乘法或加法循环群的预定代数结构中为每个数据源DSi选择数量与所述映射器Mj的数目相等的元素dij,aij的模块,
-被适配成用于发送所述元素dij,aij中的一个元素给每个映射器Mj的模块,发送模块被配置成通过保密并保持将其指派给所述数据源DSi来发送所述元素dij,aij
-被适配成用于从多个元素dij,aij计算所述多个元素的逆密码密钥的模块,
-用于通过将所述逆密码密钥用作所述数据源DSi的自身秘密密码密钥ei来将要被映射的每个实体标识符D转换成相应的经加密实体标识符Ci0的模块,
-被适配成用于利用被发送给每个映射器Mj的元素dij,aij以及从所述代数结构中随机地选择并由该映射器Mj保密的元素bj为该映射器Mj生成其与所述数据源DSi相对应的映射密码密钥hij的模块,以及
-被适配成用于通过利用与特定数据源DSi相对应的映射器Mj的所述映射密码密钥hij按所述映射器Mj的排列顺序地执行数目k次映射来为由所述数据源DSi加密的每个经加密实体标识符Ci0生成相应的假名P的模块。
13.根据权利要求12所述的计算机系统,其特征在于,应用构成乘法循环群的代数结构,其中值由剩余类模N表示,针对所述代数结构预定常数N=p·q和
Figure FDA0004069597160000051
其中p和q是随机选择的质数,而/>
Figure FDA0004069597160000052
是针对N获得的欧拉函数的值,其中所述计算机系统还包括:
-被适配成用于为了生成每个数据源DSi的自身密码密钥ei,生成与模数
Figure FDA0004069597160000053
互质的随机选择的因子作为数量与所述映射器Mj的数目相对应的元素dij,以其本身已知的方式来获得取作随机选择的因子的模积di的模数的/>
Figure FDA0004069597160000054
的乘法逆,并选择所述乘法逆值作为所述数据源DSi的所述自身密码密钥ei的模块,针对所述值公式/>
Figure FDA0004069597160000055
成立,
-被适配成用于加密所述元素dij并将其发送给所述映射器Mj,所述映射器Mj被用于解密它们自身的元素dij,并且应用公式
Figure FDA0004069597160000056
来生成与所述数据源DSi相对应的每个映射器Mj的所述映射密码密钥hij的模块,其中随机选择的秘密元素bj与/>
Figure FDA0004069597160000057
互质,
-被适配成用于由所述数据源DSi利用公式
Figure FDA0004069597160000058
来计算所述经加密实体标识符Ci0的模块,
-以及被适配成用于通过应用公式
Figure FDA0004069597160000059
从s=0至s=k-1,执行所述映射器Mj的顺序映射以生成相应的假名P的模块,其中P=Cik
其中,所述ei是密码密钥,di是元素的模积,hij是映射密码密钥,dij是与所述映射器Mj的数目相对应的元素,bj是随机选择的秘密元素,Ci0是经加密实体标识符,D为实体标识符,N为模数,i表示数据源的密码密钥,s表示映射的步骤数目,j表示映射器的标识符,C是模求幂运算,P是假名。
14.根据权利要求12所述的计算机系统,其特征在于,应用构成加法循环群的代数结构,其中值由在剩余类模p的数字域上定义的椭圆曲线的点来表示,其中p为质数,针对所述代数结构,预定以下常数:y2=x3+Ax+B mod p中定义在质数p的剩余类上定义的椭圆曲线的点的参数A、B、以及所述曲线中具有大于所述实体标识符D的数目的阶数q的点G,
-被适配成用于为了生成每个数据源DSi的自身密码密钥ei,从剩余类mod q中选择元素aij作为数量与所述映射器Mj的数目相对应的元素dij,并且选择所述元素总和ai作为所述数据源DSi的所述自身密码密钥ei的模块,针对其公式
Figure FDA0004069597160000061
-被适配成用于加密所述元素aij并将其发送给所述映射器Mj,所述映射器Mj被用于解密它们自身的元素dij,并且应用公式hij=aij+bj来生成与所述数据源DSi相对应的每个映射器Mj的所述映射密码密钥hij的模块,其中随机选择的秘密元素bj是所述剩余类mod q的值并且不同于0和1,
-被适配成用于由所述数据源DSi利用公式
Figure FDA0004069597160000062
来计算所述经加密实体标识符Ci0的模块,其中运算符/>
Figure FDA0004069597160000063
为所述椭圆曲线的所述点的和,以及
-被适配成用于通过应用公式
Figure FDA0004069597160000064
从s=0至s=k-1,执行所述映射器Mj的顺序映射以生成相应的假名P的模块,其中/>
Figure FDA0004069597160000065
和P=Cik
其中y、x是质数p的剩余类,aij是元素,ai是元素的和,ei是密码密钥,k是映射器的数目,di是元素的模积,hij是映射密码密钥,dij是与所述映射器Mj的数目相对应的元素,bj是随机选择的秘密元素,Ci0是经加密实体标识符,i表示数据源的密码密钥,s表示映射的步骤数目,j表示映射器的标识符,C是模求幂运算,M和G是所述剩余类模p的数字域上定义的椭圆曲线上的两个点。
15.根据权利要求13所述的计算机系统,其特征在于,为了与映射器Mj共享所述经加密实体标识符Ci0,所述计算机系统包括根据第三方验证的协议运行并提供去中心化真实性的数据库。
16.根据权利要求14所述的计算机系统,其特征在于,为了与映射器Mj共享所述经加密实体标识符Ci0,所述计算机系统包括根据第三方验证的协议运行并提供去中心化真实性的数据库。
17.根据权利要求15所述的计算机系统,其特征在于,应用区块链数据库作为提供去中心化真实性的所述数据库。
18.根据权利要求12至17中的任一项所述的计算机系统,其特征在于,所述计算机系统包括被适配成用于生成所述代数结构的常数以及所述数据源DSi的自身密码密钥ei以及与其相对应的元素dij,aij的密钥管理器KM。
19.一种包含指令的计算机可存储介质,当所述指令由计算机执行时,所述指令使所述计算机执行根据权利要求1所述的方法的步骤。
CN202080051757.7A 2019-07-15 2020-07-14 密码假名映射方法、计算机系统、计算机程序和计算机可读介质 Active CN114175028B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
HUP1900254 HUP1900254A1 (hu) 2019-07-15 2019-07-15 Kriptográfiai álnév leképezõ eljárás és számítógépes rendszer, valamint számítógépes program és számítógéppel olvasható adathordozó
HUP1900254 2019-07-15
PCT/HU2020/050031 WO2021009528A1 (en) 2019-07-15 2020-07-14 Cryptographic pseudonym mapping method, computer system, computer program and computer-readable medium

Publications (2)

Publication Number Publication Date
CN114175028A CN114175028A (zh) 2022-03-11
CN114175028B true CN114175028B (zh) 2023-03-28

Family

ID=89992944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080051757.7A Active CN114175028B (zh) 2019-07-15 2020-07-14 密码假名映射方法、计算机系统、计算机程序和计算机可读介质

Country Status (7)

Country Link
US (2) US20220255743A1 (zh)
EP (1) EP4000216B1 (zh)
CN (1) CN114175028B (zh)
ES (1) ES2955220T3 (zh)
HU (2) HUP1900254A1 (zh)
PL (1) PL4000216T3 (zh)
WO (1) WO2021009528A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUP1900255A1 (hu) 2019-07-15 2021-01-28 Xtendr Zrt Kriptográfiai álnév leképezõ eljárás és számítógépes rendszer, valamint számítógépes program és számítógéppel olvasható adathordozó
US11775586B2 (en) * 2020-03-04 2023-10-03 Jpmorgan Chase Bank, N.A. System and method for implementing cloud operation with no prior knowledge of services
WO2023247981A1 (en) * 2022-06-23 2023-12-28 Xtendr Zrt. Cryptographic pseudonym mapping method, computer system, computer program and computer-readable medium

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050096124A1 (en) * 2003-01-21 2005-05-05 Asip Holdings, Inc. Parimutuel wagering system with opaque transactions
CN101065924B (zh) * 2004-11-24 2011-06-08 惠普开发有限公司 具有加密功能的智能卡和使用这种卡的方法和系统
US9202078B2 (en) * 2011-05-27 2015-12-01 International Business Machines Corporation Data perturbation and anonymization using one way hash
EP3257227B1 (en) * 2015-02-13 2021-03-31 Visa International Service Association Confidential communication management
EP3188070A1 (de) * 2015-12-30 2017-07-05 Deutsche Telekom AG Verfahren und vorrichtungen zum schutz von vertraulichen elektronischen daten
HU231270B1 (hu) * 2016-02-18 2022-07-28 Xtendr Zrt. Adatkezelő eljárás és regisztrációs eljárás anonim adatmegosztó rendszerhez, valamint adatkezelő és azt tartalmazó anonim adatmegosztó rendszer
US20170330159A1 (en) * 2016-05-13 2017-11-16 Bank Of America Corporation Resource allocation and transfer in a distributed network
US10304062B1 (en) * 2018-03-23 2019-05-28 Td Professional Services, Llc Computer architecture incorporating blockchain based immutable audit ledger for compliance with data regulations
HUP1900255A1 (hu) 2019-07-15 2021-01-28 Xtendr Zrt Kriptográfiai álnév leképezõ eljárás és számítógépes rendszer, valamint számítógépes program és számítógéppel olvasható adathordozó

Also Published As

Publication number Publication date
US20220255743A1 (en) 2022-08-11
WO2021009528A1 (en) 2021-01-21
EP4000216A1 (en) 2022-05-25
HUP1900254A1 (hu) 2021-01-28
US11856099B2 (en) 2023-12-26
HUE062667T2 (hu) 2023-11-28
US20220417018A1 (en) 2022-12-29
EP4000216C0 (en) 2023-06-07
PL4000216T3 (pl) 2023-10-16
EP4000216B1 (en) 2023-06-07
ES2955220T3 (es) 2023-11-29
CN114175028A (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
US10547446B2 (en) Method and apparatus for providing a universal deterministically reproducible cryptographic key-pair representation for all SKUs, shipping cartons, and items
CN114175028B (zh) 密码假名映射方法、计算机系统、计算机程序和计算机可读介质
Barsoum et al. Integrity verification of multiple data copies over untrusted cloud servers
Williamson The aztec protocol
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
US11741242B2 (en) Cryptographic pseudonym mapping method, computer system computer program and computer-readable medium
Singh et al. A novel credential protocol for protecting personal attributes in blockchain
Jyoti et al. A blockchain and smart contract-based data provenance collection and storing in cloud environment
Ahmad et al. A secure network communication protocol based on text to barcode encryption algorithm
Sathya et al. A comprehensive study of blockchain services: future of cryptography
Fanfara et al. Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication
Arulananth et al. Multi party secure data access management in cloud using user centric block chain data encryption
Carminati et al. Secure web service composition with untrusted broker
Bhowmik et al. Linear feedback shift register and integer theory: a state-of-art approach in security issues over e-commerce
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
Vamsi et al. Electronic health record security in cloud: Medical data protection using homomorphic encryption schemes
HamithaNasrin et al. A Review on Implementation Techniques of Blockchain enabled Smart Contract for Document Verification
Mageshwari et al. Decentralized Data Privacy Protection and Cloud Auditing Security Management
Goswami et al. ZSS Signature-based Audit Message Verification Process for Cloud Data Integrity
Daniel et al. ES-DAS: An enhanced and secure dynamic auditing scheme for data storage in cloud environment
Gupta Quantum and blockchain for computing paradigms vision and advancements
Ehteram et al. Blockmarkchain: A secure decentralized data market with a constant load on the blockchain
Arora et al. A Variant of Secret Sharing Protected with Poly-1305
Kumar et al. Secured data storage and auditing of data integrity over dynamic data in cloud
Ahubele et al. Towards a Scalable and Secure Blockchain Based on Post-Quantum Cryptography.

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40067878

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant