CN112149156A - 记录的属性和数据条目的选择性公开 - Google Patents

记录的属性和数据条目的选择性公开 Download PDF

Info

Publication number
CN112149156A
CN112149156A CN202010592655.8A CN202010592655A CN112149156A CN 112149156 A CN112149156 A CN 112149156A CN 202010592655 A CN202010592655 A CN 202010592655A CN 112149156 A CN112149156 A CN 112149156A
Authority
CN
China
Prior art keywords
data
attributes
digital signature
publisher
message
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
CN202010592655.8A
Other languages
English (en)
Other versions
CN112149156B (zh
Inventor
A·J·H·拉尔穆索
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
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 Koninklijke Philips NV filed Critical Koninklijke Philips NV
Publication of CN112149156A publication Critical patent/CN112149156A/zh
Application granted granted Critical
Publication of CN112149156B publication Critical patent/CN112149156B/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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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
    • 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
    • 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
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/3247Cryptographic 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 involving digital signatures
    • 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/88Medical equipments

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

一些实施例涉及用于选择性地公开记录的属性和数据条目的系统100。发布器设备110生成包括属性和秘密记录标识符的消息上的数字签名,并且消息上的数字签名包括相应数据条目并且各自包括秘密记录标识符。记录、秘密记录标识符、以及签名被提供到选择器设备。选择器设备111向接收器设备112选择性地公开所述记录的属性和数据条目,从而借助于属性上的签名和相应数据条目上的签名的知识的零知识证明来证明真实性。接收器设备112关于发布器的公钥和接收到的属性和数据条目验证证明。

Description

记录的属性和数据条目的选择性公开
技术领域
本发明涉及一种用于选择性地公开记录的属性(例如,表现型属性) 和数据条目(例如,基因组数据的部分)的系统。本发明还涉及用于这样 的系统中的发布器设备、选择器设备和接收器设备。本发明还涉及对应于 相应设备的发布器方法、选择器方法、和接收器方法。本发明还涉及计算 机可读存储介质。
背景技术
针对医学研究和处置的基因组数据的使用在可能的应用方面保持大的 希望,但是如果未仔细处理,还携带在数据隐私和安全方面的大的风险。 随着越来越多人的基因组数据正变得可用,进行医学研究(例如,以找到 更好或更定制的处置)的范围正增加。同时,这样的医学研究涉及高度敏 感基因型和表现型数据,并且在许多情况下,例如,在全基因组关联研究 中,可以使用关于许多不同患者的数据。因此,需要采取适当的措施来防 止对这样的数据的未授权的访问和修改。
限制医学研究设置中的数据暴露的已知方式是去标识。例如,在已知 系统中,基因组数据可以从若干来源方收集(例如,来自各种设备或医学 试验的数据),并且存储在中央平台处。研究人员可以请求具有特定特性的 患者的基因组数据。根据法律和全球标准,这样的数据应当去标识。因此, 平台可以选择关于一个或多个患者的数据;将数据去标识,例如,选择表 现型和基因型数据的子集;并且向研究人员提供去标识的数据。
更一般地,去标识(例如,提供在其特殊性和细节中足够有限的个人 信息的记录的修订版本使得其可以不再链接到其数据对象)正变得越来越 常见,由诸如GDPR的立法推动以及诸如GA4GH信标的医学标准驱动。 例如,去标识的数据可以被用于除基因组研究之外的医学研究,但也用在 各种其他应用领域(诸如金融服务和广告)中。针对记录更一般地(例如, 不包含个人信息),去标识可以被认为是一种类型的选择性公开,例如,让 数据提供者决定记录的哪个部分与接收者共享。
从去标识的数据的接收者的观点(例如,接收关于患者的去标识的基 因组和表现型数据的研究人员),数据被去标识的事实可能引入由危险分子 造成的欺诈或者操纵的风险。由于去标识的数据可能不可链接到其原始源, 因此在具有合法源的真实数据与不具有合法源的假数据之间辨别能够是困 难的。因此,以这样的方式执行去标识是期望的:接收者(例如支付数据 的某人或者出于监管目的检查数据的某人)可以信任去标识的数据是合法 的,例如,来源于值得信任的源。
发明内容
确保真实性可使用常规技术执行,例如通过向数据的所有发起者发送 请求以在去标识的数据上数字签出,这证明其对此赞同。然而,这是麻烦、 常常昂贵并且可能甚至不可能的,例如,如果发起者是已经退役的组织或 机器。因此,需要确保选择性地公开的记录的可信度的更好的自动化技术。
为了解决这些和其他问题,提出了如由权利要求定义的用于选择性地 公开记录的属性和数据条目的系统。所述系统可以包括:发布器设备,其 用于向用于选择性公开的选择器设备提供记录;选择器设备,其用于向接 收器设备选择性地公开记录的部分;以及接收器设备,其用于选择性地获 得记录的部分。
所述记录可以包括两种不同类型的数据,即,记录可以包括一个或多 个属性和多个数据条目。在选择性公开中,所述选择器设备可以将要公开 的一个或多个属性确定为所述一个或多个属性的子集,并且将要公开的一 个或多个数据条目确定为所述多个数据条目的子集。所述记录可以是个人 信息记录,例如,属性和数据条目可以包括关于人的信息。然而,包括其 他类型的敏感信息的记录同样是可能的。
属性通常来自预定义集合,例如,如果多个记录由所述系统处理,每 个记录可以为相同属性集提供值。例如,一个或多个记录可以表示关于人 的表现型信息,例如,长度、头发颜色、特定医学条件的诊断等。针对特 定记录中的属性的值通常贯穿记录的寿命是固定的。属性通常是数字、分 类的固定长度的字符串等等。属性的数目也是相对小的,例如,至多10、 至多20、或至多50。
另一方面,数据条目可以被用于与属性不同种类的信息。例如,数据 条目可以表示记录表示的人的基因组部分,例如,单核苷酸多态性(SNP), 例如,如由基因组数据的变型调用格式(VCF)文件的数据行编码的。与 记录相关联的数据条目的数目通常大于属性的数目,例如,至少100、至少 500、或至少100个数据条目可以与记录相关联。数据条目还通常不是数字 或分类的,例如,其可以是例如具有灵活长度的字符串,或者二进制数据, 例如,图像。而且,与记录相关联的数据条目的数目不需要是固定的,例 如,不同记录可以具有与其相关联的不同数目的数据条目。数据条目的集 合可以甚至是动态的,例如,新数据条目可以当其变得可用时被添加到记 录,可以移除或者更新现有的数据条目等。这些特性使以处理属性相同的 方式处理数据条目不切实际。
为了仍然使能以安全的方式对属性和数据条目两者的选择性公开,发 明人已经设想所述发布器设备使用对应的发布器公钥对所述接收器设备已 知的发布器私钥生成所述属性和所述数据条目上的数字签名。如已知的, 消息上的数字签名允许具有所述发布器公钥的某人建立消息已经由保持对 应的私钥的参与方签名。在这种情况下,所述发布器设备可以生成属性消 息上的数字签名,其包括所述一个或多个属性,包括相应数据条目的数据 消息上的相应数字签名,例如,针对每个数据条目的一个。因此,这些数 字签名可以允许建立所述记录的属性和数据条目的真实性。在这种情况下, 优选地选择所述数字签名,使得其足够地允许在其上执行所谓的零知识证 明,如立刻所讨论的。
有趣地,通过使用包括相应数据条目上的属性和分离的数字签名的数 字签名,可以实现若干有益效果。包括属性的数字签名可以包括固定数目 的属性,并且数据条目上的数字签名还可以具有固定长度的输入,例如, 所述数据条目的摘要。这是有用的,因为所述数字签名因此可以具有固定 消息大小,并且因此固定格式化。这当使用用于零知识证明的签名时是特 别重要的,如下文所讨论的,因为执行这样的证明的高效技术可以依赖于 固定格式消息的使用。
此外,数据条目上的分离的数字签名的使用可以允许选择性公开通过 仅处理实际公开的数据条目上的数字签名执行,例如,而不是必须在包括 所有数据条目的一个数字签名上执行操作,这是特别重要的,因为数据条 目的数目和个体数据条目的大小可以是实质性的。例如,基因组数据(例 如,VCF文件)可以包括几千个基因组改变。如果这些改变中的仅几个的 选择性公开将涉及处理每个基因组改变或者甚至针对每个改变执行高级密码操作,则成本可以变为禁止性的。此外,在记录中所包括的数据条目的 数目可以从接收器方在本公开中保持隐藏,例如,接收器方可能不能够基 于其包含相同数目的数据条目来链接与所述系统的不同交互中所获得的记 录。
然而,发明人认识到,当朴素实施时,签名记录的多个数字签名的使 用具有当所述发布器设备提供多个记录时的问题。即,在这种情况下,来 自不同记录的数字签名可以混合(例如,通过选择器设备),例如,以获得 具有来自不同人的基因组信息的签名记录。因此,根据实施例的发布器设 备可以确定秘密记录标识符(即,特定于特定记录的随机生成标识符),并 且可以将其包括在其针对该记录签名的属性消息和数据消息中。所述发布 器设备然后可以向所述选择器设备提供所述记录、所述秘密记录标识符和 所述数字签名。因此,所述秘密记录标识符可以被用于保证相应数字签名 对应于由所述发布器设备提供的单个记录。然而,如下文所讨论的,所述 秘密记录标识符可以保持对接收者设备隐藏。
当执行选择性公开时,所述选择器设备现在可以将要公开的属性和数 据条目连同其签名一起提供给所述接收者设备。然而,这样的方案从数据 最小化视角将不是最佳的。例如,属性消息还可以包含非公开的属性,但 是所述接收者设备将通常仍然需要那些属性来验证所述签名。而且,所述 签名包含所述秘密记录标识符,因此所述接收者将通常需要所述秘密记录 标识符来验证所述签名。因此如果在两个不同公开中所述接收者从相同记 录获得属性和数据条目的非交叠集,则所述接收者可以基于所述秘密记录 标识符将这两个不同部分记录链接到彼此。或者,所述接收者可以使用所 述秘密记录标识符将其部分记录链接到由不同接收者接收的其他部分记录。
有趣地,然而,发明人想出所述选择器设备使用零知识证明向所述接 收器证明所提供的值和数据条目属于由发布器设备签名的单个记录。如从 密码学已知的,零知识证明是一方(证明者)可以向另一方(验证者)证 明其知道满足某些性质的值的方法。在零知识证明中,有趣地,这在证明 者未向验证者公开值的情况下完成。例如,在已知零知识证明中,验证者 知道公钥并且证明者可以向所述验证者证明其知道对应于该公钥的私钥而 不向所述验证者揭示私钥。
在这种情况下,所述选择器设备可以利用所述接收器设备执行零知识 证明,其中,所述选择器设备证明秘密记录标识符、属性消息上的数字签 名、以及数字消息上的数字签名的知识。换句话说,所述选择器设备通常 未向所述接收器设备公开所述秘密记录标识符或者任何数字签名,但是相 反证明其知道有效标识符和签名。下面提供了高效构建这样的证明的具体 范例,但是应注意,一般技术在允许证明满足任意关系的数据的知识的文献中是可用的,使得原则上可以使用任何数字签名方案和任何一般零知识 证明系统。
关于属性,所述选择器设备可以证明所述属性消息上的数字签名是至 少包括要公开的一个或多个属性和所述秘密记录标识符的消息上的数字签 名。所述接收器设备可以验证关于其已经从所述选择器设备获得以确定接 收到的属性的正确性的一个或多个属性的证明的该部分。所述选择器设备 还可以证明数字签名利用对应于发布器公钥的私钥来签名,所述接收器可 以使用所述发布器公钥来验证其。通过执行所述证明的该部分作为验证器, 因此所述接收器设备可以获得其已经从所述接收器设备获得的属性实际上 是由所述发布器设备提供的记录的一部分的保证。
关于所述数据条目,所述选择器设备可以证明所述数据消息上的数字 签名是包括要公开的数据条目并且各自包括所述秘密记录标识符的消息上 的数字签名,例如,相应消息各自包括数据条目和所述第二记录标识符。 所述接收器设备可以验证关于其已经从所述选择器设备获得以确定其正确 性的数据条目的证明的该部分。所述选择器设备还可以证明所述数字签名 利用对应于所述发布器公钥的私钥来签名,所述接收器可以使用所述发布 器公钥来验证其。通过执行所述证明的该部分作为验证器,因此所述接收 器设备可以获得其已经从所述接收器设备获得的数据条目是由所述发布器 设备提供的记录的一部分的保证。特别地,所述证明可以保证所述数字签 名中的每一个包括所述秘密记录标识符并且因此是由所述发布器设备提供 的相同记录的一部分;所述接收器设备可能仍然实际上未获悉所述秘密记 录标识符,这防止在不同选择性公开中获得的部分记录之间的链接。
因此,提供了一种系统,其中,选择器设备可以在经改进的隐私和/或 真实性保证的情况下向接收器设备提供记录的属性和数据条目。此外,提 供了不同设备,各自提供贡献于各种优势的特定特征。例如,所述发布器 设备可以确定秘密记录标识符并且将其包括在用于记录的相应数字签名中。 所述数字签名优选地具有允许高效的零知识证明在其上执行的类型,下面 提供了其范例,但是任何类型的数字签名可以组合适合的零知识证明系统 使用。作为另一范例,选择器和接收器设备可以执行零知识证明以向所述 接收器设备确定选择性地公开的值和数据条目属于所述发布器设备的单个 记录。
由于所讨论的措施,所述接收器设备可以获得所获得的属性和数据条 目属于由所述发布器设备提供的单个记录的保证。仍然,所述接收器设备 通常未获悉未公开的属性或数据条目,或者甚至所述记录包括多少数据条 目。特别地,尽管所述记录的部分由标识符链接,但是该标识符可以是所 述接收器设备未获悉的秘密记录标识符。执行所述选择性公开的负担从所 述发布器设备移除,其可能仅需要向所述选择器设备提供其记录一次并且 此后可能不需要涉及。所述系统可以特别地适合于大和/或动态数据条目集, 因为所述多个数据条目的子集的选择性公开通常涉及所公开的数据条目的 数目中而非数据条目的总数中的计算和通信缩放。例如,代替于公开全基 因组,可以仅公开相关部分,其中,公开仅在相关部分的数目中缩放。因 此,提供了记录的部分的经改进的选择性公开。
在实施例中,所述记录的属性可以包括关于人的一个或多个表现型属 性。所述记录的数据条目可以包括所述人的一个或多个基因组部分。例如, 所述系统可以是用于向针对医学研究的研究人员提供基因组数据的系统。 给定基因组数据的灵敏度并且还改进与各种管辖权中的隐私调节的依从性, 对于这样的记录而言去匿名化是重要的;同时,记录中的基因组部分的数 目可以是大的,例如,记录可以包括所述人的全部序列基因组或其大部分。 在这样的情况下,允许如所描述的基因组部分的集合的子集的选择性公开, 因此,如本文所描述的有益缩放特性是特别相关的。
各种数字签名方案可以被用于针对所述多个数据条目将所述属性消息 和所述数据消息签名。如之前所讨论的,原则上可以使用任何数字签名方 案。现在讨论了各种特别有利的选项。
各种实施例基于匿名证书。匿名证书本身在本领域中被称为用户通过 其属性(例如,用户的年龄和来源国)的一个或多个上的证书发布器获得 证明的方式。用户可以向第三方匿名示出证书以证明他/她满足特定性质, 例如,年龄是至少18,而不揭示允许链接回到用户的信息。匿名证书方案 的属性通常被假定为数值的;其他类型的属性可以以各种方式编码,例如, 文本属性可以通过向文本应用单向函数等编码为数值属性。
公开了这样的匿名证书方案的范例,例如,在J.Camenisch等人的 “Signatureschemes and anonymous credentials from bilinear maps” (Proceedings CRYPTO‘04)(在涉及的匿名证书方案的描述的范围内通过 引用并入本文)并且在J.Camenisch等人的“An Accumulator Based on Bilinear Maps and Efficient Revocation for AnonymousCredentials” (Proceedings PKC‘09)(在涉及的匿名证书方案的描述的范围内通过引用并入本文)。
有趣地,在实施例中,在如本文呈现的属性消息上的数字签名包括利 用所述发布器私钥签名的匿名证书的意义上,匿名证书可以针对本文呈现 的系统重新目的化。所述匿名证书可以具有所述记录和所述秘密记录标识 符的一个或多个属性作为属性。实际上,“相反”使用匿名证书。传统地, 用户和发布器运行所述用户获得关于所述发布器可能不知道其值的属性的 证书的发布协议;在由第三方请求证明性质时,所述用户使用发布的匿名证书。相反,在本情况下,不需要这样的发布协议,并且所述发布器设备 可以直接向所述选择器设备提供证书。不同于在常规情况下,保持证书的 选择器设备通常是证书不相关的中间方,例如,选择器设备可以保持关于 不同实体的不同记录,例如其不涉及的人。所述选择器设备然后可以选择 性地公开这些记录的部分和/或从其自己的意志当中示出或证明属性的性质。 不管这些差异,有趣地,匿名证书仍然可以用作本系统中的构建块。
在一些实施例中,用于所述数据消息的数字签名方案与用于所述属性 消息的数字签名方案相同,例如,用于数据条目的数字签名可以是具有所 述秘密记录标识符和所述数据条目的匿名证书,或者应用到所述数据条目 的单向函数作为属性。这导致特别简单的设计。
然而,以各种方式优化所述数据消息的签名也是可能的,例如,通过 依赖于数据消息不需要包含多个属性的值的事实。
在一些实施例中,所述数据消息上的数字签名基于至少所述秘密记录 标识符γ和所述数据条目m的摘要H(m)的总和。例如,摘要H可以是密码 散列函数或类似。如发明人认识到的,通过签名值γ+H(m)而不是个体值γ 和H(m),使用更高效的签名方案变得可能,例如,用于签名和/或证明单个 值的性质的签名方案而不是用于签名和/或证明多个属性的性质的签名方案。 有趣地,甚至当γ和H(m)通过采取总和来组合时,仍然的,由于H(m)是摘 要,因此所述选择器设备找到给定针对总和(例如,γ+H(m)=γ+H(m’)) 的相同值或者甚至导致针对另一秘密标识符的总和(例如,γ+H(m)= γ’+H(m’))的另一数据消息m’可能是不可行的,因此,总和可以仍然为秘 密标识符和数据条目两者提供足够的真实性。
在一些实施例中,数据条目m上的数字签名通过计算元素组g对基于 至少所述发布器私钥x、所述秘密记录标识符γ和所述数据条目m的值的 乘法逆的取幂来计算。基于对乘法逆的取幂的签名方案自身在本领域中已 知并且可以提供具有高效零知识证明的小签名,例如,参见D.Boneh等人 的“Short signatures without random oracles and theSDH assumption in bilinear groups”(J.Cryptology,21(2):149–177,2008)(在涉及的短签名方案的描述 的范围内并入本文)。例如,所述秘密记录标识符和数据条目可以组合以形 成要签名的消息。在实施例中,纯文本包括如上文所讨论的消息的秘密记 录标识符和摘要的总和,例如,签名可以是g1/x+γ+H(m)。这是特别地存储高 效的签名的范例,仅包括一个组元素。使用以上总和的各种备选方案将对 于技术人而言是显而易见的,例如,秘密记录标识符的摘要和消息的摘要 的总和等。
在实施例中,所述发布器设备还被配置为获得针对多个数据条目之一 的经更新的数据。所述发布器设备可以生成针对该经更新数的据条目的数 据消息上的经更新的数字签名。发布器设备然后可以向所述选择器设备提 供经更新的数字签名。以这种方式,所述发布器设备可以一次一个数据条 目地动态更新所述记录。有趣地,由于数据条目在相应数据签名中签名, 在计算和通信复杂性方面,更新单个数据条目可以很好地缩放,例如,无所有数据条目上的签名需要重新计算等。
类似于更新数据条目,数据条目还可以被添加到所述记录,例如,通 过向所述选择器设备提供添加数据条目和签名由所述发布器设备添加(其 更新所述记录),或者由所述发布器设备从所述记录移除,例如,通过向所 述选择器设备指示哪个数据条目要移除,其然后更新所述记录。而且,这 些操作还可以由于针对分离的数据条目的分离的签名高效地实施。所述发 布器设备更新记录的属性集也是可能的,例如,通过将一个或多个属性的属性或者修改的更新集合连同属性消息上的更新数字签名一起提供到所述 选择器设备,其然后更新所述记录。而且,该操作可以高效地实施,因为 其不需要涉及所述数据条目。
在各种实施例中,所述选择器设备获得多个记录,例如,来自单个发 布器设备的多个记录、来自多个发布器设备的多个记录等。因此,所述选 择器设备可以充当用于向接收器设备提供对所述多个记录的访问的系统, 例如,选择并且向接收者(例如,想要对基因组数据执行研究的医学研究 人员)提供数据的集中式访问点。
在实施例中,所述发布器设备被配置为获得记录查询并且根据所述记 录查询选择要公开的多个记录中的一个或多个。例如,所述接收器设备可 以提供记录查询,或者可以以其他方式确定记录查询。通常,所述记录查 询为记录提供要满足的一个或多个条件。例如,所述发布器设备可以选择 满足所述条件的所有记录、满足所述条件的前X个记录、满足所述条件的 X个随机记录等等。例如,条件可以是属性上的条件,例如,所述条件可 以说明属性等于特定值或另一属性、所述属性位于某个范围内等等。条件 还可以是数据条目上的条件,例如,包含某些数据的数据条目的存在,例 如,具有特定突变的基因组。所述发布器设备然后可以选择性地公开针对 选定的记录的每个当前记录的属性和数据条目,例如,通过重复对要公开 的属性的确定、对当前记录的属性和数据条目的提供、以及对针对一个或 多个选定的记录的每个当前记录的零知识证明的执行。以这种方式,接收 器设备可以接收针对其特定使用相关的记录。
在实施例中,所述选择器设备使用针对当前记录的零知识证明向所述 接收器设备证明当前记录满足所述记录查询。例如,记录查询可以包括未 提供到所述接收器设备的属性上的条件,例如,年龄>65。所述零知识证明 可以被用于证明这样的条件保持。还能够证明自身未提供到所述接收器设 备的数据条目的性质。相对于所公开的属性和数据条目的条件通常不需要 在零知识中证明,因为所述接收器知道其。证明全记录查询也不是严格必 要的,例如,出于效率原因,仅可以证明所述记录查询的最相关条件。有 趣地,借助于零知识证明,所述接收器设备可以接收其接收的记录满足所 述记录查询的保证,例如,年龄大于65,同时不获悉细节,例如,确切年 龄。因此,可以获得数据最小化和真实性的特别有益的组合。
在实施例中,所述选择器设备还获得例如从所述接收器设备接收或以 其他方式确定的数据条目查询。所述选择器设备可以根据所述数据条目查 询来确定要公开的一个或多个数据条目。例如,所述数据条目查询可以指 定要满足的数据条目的一个或多个条件,可以指定要包括的一个或多个特 定数据条目,例如,特定位置处的基因组数据等。这样一来,能够控制哪 些数据条目要提供。类似方法可以被用于确定哪些属性要公开。
当然,控制哪些记录和/或记录的部分要公开的记录查询和/或数据条目 查询的使用不排除所述选择器设备在要公开给接收器设备的数据上执行检 查的可能性,例如,所述选择器设备可以执行要公开给接收器设备的记录 集的属性和数据条目满足某些数据最小化性质(例如,诸如k匿名的隐私 性质)的检查。
在实施例中,所述零知识证明可以涉及所述选择器设备,其向所述接 收器设备提供对所述秘密记录标识符的承诺并且证明关于所述承诺的所述 数字签名的知识。例如,所述承诺可以是如本领域中已知的佩德森型承诺。 向所述接收器设备提供评论可以允许所述接收器设备高效地建立:通过提 供那些数字签名中的每一个包括与所述评论相同的秘密记录标识符将相同 秘密记录标识符包括在相应数字签名中。
在实施例中,所述零知识证明可以是由所述选择器设备确定和发送并 且由所述接收器设备接收和验证的非交互式零知识证明。这可以降低需要 的通信量,和/或允许当双方不同时在线时的数据传送。
本文所描述的技术可以应用在宽范围的实际应用中。这样的实际应用 包括用于在医学或金融背景下例如向研究人员提供去匿名化数据集的平台。 例如,这样的平台可以由许多医院或者外部服务提供商操作。更一般地, 需要记录(特别地包含灵活或大数据条目集的记录)的部分的选择性公开 的任何类型的应用可以受益于本文所描述的技术。
方法的实施例可以在计算机上被实施为计算机实施的方法或者在专用 硬件或者在两者的组合中。用于方法的实施例的可执行代码可以被存储在 计算机程序产品上。计算机程序产品的范例包括存储器设备、光学存储设 备、集成电路、服务器、在线软件等。优选地,所述计算机程序产品包括 用于当所述程序产品在计算机上运行时执行方法的实施例的计算机可读介 质上存储的非瞬态程序代码。
在实施例中,所述计算机程序包括适于当所述计算机程序在计算机上 运行时执行方法的实施例的所有步骤的计算机程序代码。优选地,所述计 算机程序被实现在计算机可读介质上。
本发明的另一方面提供一种使所述计算机程序可用于下载的方法。该 方面当所述计算机程序被上载到例如Apple的App Store、Google的Play Store或者Microsoft的Windows Stores中时并且当所述计算机程序可用于从 这样的商店下载时被使用。
附图说明
将仅通过范例参考附图描述本发明的另外的细节、方面和实施例。附 图中的元素为了简单和清晰来图示而不一定按比例绘制。在附图中,对应 于已经描述的元素的元素可以具有相同附图标记。在附图中:
-图1a示意性地示出了不涉及零知识证明的选择性公开系统的范例;
-图1b示意性地示出了选择性公开系统的实施例的范例;
-图2示意性地示出了发布器设备的实施例的范例;
-图3示意性地示出了选择器设备的实施例的范例;
-图4示意性地示出了接收器设备的实施例的范例;
-图5示意性地示出了发布器方法的实施例的范例;
-图6示意性地示出了选择器方法的实施例的范例;
-图7示意性地示出了接收器方法的实施例的范例;
-图8示意性地示出了根据实施例的具有包括计算机程序的可写部分的计 算机可读介质,
-图9示意性地示出了根据实施例的处理器系统的表示。
附图标记列表
000、100 选择性公开系统
010、110、210 发布器设备
011、111、311 选择器设备
012、112、412 接收器设备
130、131、132 存储器
140、141、142 处理器
150、151、152 网络接口
160 计算机网络
070、170、270 发布器私钥
071、171、471 发布器公钥
072、172、272、372 记录
173、273、373 秘密记录标识符
174、374、474 零知识证明
075 所公开的属性和数据条目上的数字签名
180、280、380 属性消息上的数字签名
081-084、181-184、281-282、381-384、483-484 属性
091-093、191-193、291-292、391-393、493 数据条目
191’-192’、291’-292’、393’ 数据消息上的数字签名
241 标识符生成单元
242 属性签名单元
243 数据条目签名单元
341 选择单元
342 证明单元
441 验证单元
800 计算机可读介质
810 可写部分
820 计算机程序
910 (一个或多个)集成电路
920 处理单元
922 存储器
924 专用集成电路
926 通信元件
930 互连
940 处理器系统
具体实施方式
尽管本发明容许许多不同的形式的实施例,但是在附图中示出并且在 本文中将详细描述一个或多个特定实施例,应理解本公开要被认为是本发 明的示范性原理而不旨在将本发明限于所示和所描述的特定实施例。
在以下中,为了理解,在操作中描述了实施例的元素。然而,将显而 易见,相应元素被布置为执行被描述为由其执行的功能。
此外,本发明不限于实施例,并且本发明位于每个和每一个新颖特征 或者上文所描述或者在相互不同的从属权利要求中记载的特征的组合中。
图1a示出了根据当前最佳实践的用于选择性地公开记录的属性和数据 条目的系统000的范例。系统000不使用如由权利要求定义的属性消息和 数据消息签名或零知识证明。
在图中示出了希望使得选择器设备011(例如,基因组平台)能够选择 性地公开记录072的部分的发布器设备010。图中所示的特定记录072包括 针对预定义属性集081-082(例如,表现型数据)和数据条目集(091-092) (例如,基因型数据)的值。发布器设备010向选择器设备011提供记录。
当选择器设备011想要选择性地向接收器设备102公开记录011的部 分时,选择器设备可以选择属性081-082中的一个或多个,在这种情况下, 属性083和084,以及数据条目091-092中的一个或多个,在这种情况下, 数据条目093,以公开给接收器设备012。接收器设备012可以接收要公开 的属性083、084和数据条目093。
尽管步骤至此提供选择性公开,例如,仅记录的一部分由接收器设备 012获得,但是尚未提供真实性,例如,接收器设备012未获得接收到的属 性和数据条目来源于受信任的发布器设备010、和/或接收到的属性和数据 条目属于同一记录(例如,全部指代同一人)的保证。为了使用现有技术 获得这样的保证,可以采用数字签名075。在该范例中,数字签名075可以 是常规签名,例如,RSA或ECDSA签名。在图中并且贯穿本说明书采用 的注释S(X;Y)可以指代具有消息Y上的私钥X的签名。在公开时,发布 器设备010可以向例如由选择器设备011提示的接收器设备012提供要公 开的属性和数据条目上的利用发布器私钥070签名的数字签名075。接收器 设备012可以相对于对应于发布器私钥070的发布器公钥071验证数字签 名075。数字签名通常没有消息恢复,例如,消息未从签名导出并且相反签 名和消息一起相对于公钥071来验证。
尽管以上系统可以给选择性公开提供真实性保证,但是其具有发布器 设备010需要涉及在每个选择性公开中的不期望的特性。这是麻烦、常常 昂贵、并且有时不可能的,例如,发布器设备010或其组织可能不再存在。 因此,下面解决的问题是如何利用可比较的真实性保证但是以发布器设备 不需要涉及在选择性公开中的这样的方式来执行选择性公开。
图1b示意性地示出了用于选择性地公开记录172的属性和数据条目的 系统100的实施例的范例。系统100可以包括发布器设备100、选择器设备 111、和/或接收器设备112。
发布器设备110可以用于向用于选择性公开的选择器设备111提供记 录172。发布器设备110可以包括处理器130和存储器140。存储器140可 以用于数据和/或指令存储。例如,存储器140可以包括处理器130被配置 为作用于其的软件和/或数据。存储器140还可以存储发布器私钥170,其 与对应的发布器公钥171一起形成公钥-私钥对。存储器140还可以存储记 录172。记录172可以包括一个或多个属性181-182和多个数据条目191-192。 仅通过范例,示出了两个属性和两个数据条目。处理器130可以被实施为 一个或多个处理器电路,例如微处理器、ASIC、FPGA等。存储器140可 以包括可由处理器130执行的计算机程序指令。处理器130可能连同存储 器140一起根据发布器设备的实施例来配置。发布器设备110还可以包括 通信接口150,其被布置为与其他设备(特别地选择器设备111)通信。例 如,通信接口可以包括连接器,例如,有线连接器,例如,以太网连接器, 或无线连接器,例如,天线,例如,Wi-Fi、4G或5G天线。通信接口还可 以是去往内部或者外部数据存储设备、键盘、应用接口(API)等的存储接 口。
发布器设备110可以被配置为确定秘密记录标识符173。发布器设备 110还可以被配置为使用发布器私钥170来生成属性消息上的数字签名180, 其中,属性消息包括一个或多个属性181-182和秘密记录标识符173。发布 器设备110还可以被配置为使用发布器私钥170生成针对多个数据条目 191-192的多个数据消息上的多个数字签名191’-192’。针对数据条目 191-192的数据消息可以包括数据条目和秘密记录标识符173。发布器设备 110可以被配置为将属性消息上的记录172、秘密记录标识符173、数字签 名180和数据消息上的数字签名191’-192’提供到选择器设备111。
如图所示并且贯穿本说明书所使用的,S1(X;Y)和S2(X;Y)可以被用于指 代使用消息Y上的私钥X签名的数字签名。如由下标所示,不同的数字签 名方案可以被用于签名180和签名191’-192’,但是这是不必要的。数字签 名通常没有消息恢复,例如,数字签名可以使用对应于私钥的公钥连同消 息一起验证。
选择器设备111可以用于向接收器设备112选择性地公开记录172的 属性和数据条目。选择器设备111可以包括处理器131和存储器141。存储 器141可以用于数据和/或指令存储。例如,存储器141可以包括处理器131 被配置为作用于的软件和/或数据。存储器141还可以存储记录172、秘密 记录标识符173、属性消息上的数字签名180和/或数据消息上的数字签名 191’-192’。处理器131可以被实施为一个或多个处理器电路,例如微处理器、ASIC、FPGA等。存储器141可以包括可由处理器131执行的计算机 程序指令。处理器131可能连同存储器141一起根据选择器设备的实施例 来配置。选择器设备111还可以包括通信接口151,其被布置为与其他设备(特别地发布器设备110和接收器设备112)通信。例如,通信接口可以包 括连接器,例如,有线连接器,例如,以太网连接器,或无线连接器,例 如,天线,例如,Wi-Fi、4G或5G天线。通信接口还可以是去往内部或者 外部数据存储设备、键盘、应用接口(API)等的存储接口。
选择器设备111可以被配置为获得记录172、秘密记录标识符173、属 性消息上的数字签名180和数据消息上的数字签名191’-192’。选择器设备 111还可以被配置为将要公开的一个或多个属性确定为一个或多个属性 181-182的子集。仅通过范例,附图示出了要公开的两个属性183-184。选 择器设备111还可以被配置为将要公开的一个或多个数据条目确定为多个 数据条目191-192的子集。通过范例,示出了要公开的单个数据条目193。 选择器设备111可以被配置为将要公开的一个或多个属性183、184和要公 开的一个或多个属性193提供到接收器设备112。
选择器设备111还可以被配置为利用接收器设备112执行零知识证明 174。零知识证明此处被示出为消息从选择器设备111发送到接收器设备112, 例如,非交互式零知识证明,但是这不是必要的,例如,零知识证明可以 包括在各方之间交换的多个消息。
如该附图并且贯穿说明书所使用的,注释ZK(X;Y)指代值X满足关于值 Y的特定性质的零知识证明。例如,值X被包括在零知识证明的所谓的证 人中。证明器通常使用值X执行证明并且验证器通常使用值Y验证证明。
在零知识证明中,选择器设备可以证明以下知识:
-秘密记录标识符173;
-作为至少包括要公开的一个或多个属性183-184和秘密记录标识符 的消息上的数字签名的属性消息上的数字签名180,其是利用对应于发布器 公钥171的私钥来签名的;以及
-作为包括要公开的数据条目193并且各自包括秘密记录标识符的消 息上的数字签名的针对要公开的数据条目193的数据消息上的数字签名 191’-192’,其是利用对应于发布器公钥172的私钥来签名的。
接收器设备112可以用于从选择器设备111选择性地获得记录172的 属性183-184和数据条目193。接收器设备112可以包括处理器132和存储 器142。存储器142可以用于数据和/或指令存储。例如,存储器142可以 包括处理器132被配置为作用于的软件和/或数据。存储器142还可以存储 发布器公钥171。处理器132可以被实施为一个或多个处理器电路,例如微 处理器、ASIC、FPGA等。存储器142可以包括可由处理器132执行的计 算机程序指令。处理器132可能连同存储器142一起根据接收器设备的实 施例来配置。接收器设备112还可以包括通信接口152,其被布置为与其他 设备(特别地选择器设备111)通信。例如,通信接口可以包括连接器,例 如,有线连接器,例如,以太网连接器,或无线连接器,例如,天线,例 如,Wi-Fi、4G或5G天线。通信接口还可以是去往内部或者外部数据存储 设备、键盘、应用接口(API)等的存储接口。
接收器设备112可以被配置为从选择器设备111获得一个或多个属性 183-184和一个或多个数据条目193。接收器设备112还可以被配置为关于 所获得的值183-184和数据条目193和发布器公钥174利用选择器设备111 执行零知识证明以确定所获得的值183-184和数据条目193属于发布器设备 110的记录172。
系统100的各种设备通过计算机网络160彼此通信。计算机网络可以 是因特网、内联网、LAN、WLAN等。计算机网络160可以是因特网。计 算机网络可以是全部或部分有线的,和/或全部或部分无线的。例如,计算 机网络可以包括以太网连接。例如,计算机网络可以包括无线连接,诸如 Wi-Fi、ZigBee等。计算机网络160可以包括额外元件,例如,路由器、集线器。
图1的各种设备可以具有相应用户接口,其可以包括公知的元件,诸 如一个或多个按钮、键盘、显示器、触摸屏等。例如,接收器设备112的 用户接口可以被布置用于容纳用于获得满足特定记录和/或数据条目查询的 记录的部分的用户交互。
图2示意性地示出了用于向用于选择性公开的选择器设备提供记录(例 如,用于图1b的系统100中)的发布器设备210的实施例的范例。
图2示意性地示出了可以是发布器设备210(未分离地示出)的处理器 的功能单元的功能单元。例如,图2可以被用作处理器的可能功能组织的 蓝图。例如,图2中所示的功能单元(例如,单元241-243)可以全部或者 部分地被实施在被存储在设备210处(例如,在设备210的电子存储器中) 并且由设备210的微处理器可执行的计算机指令中。在混合实施例中,功 能单元部分地被实施在硬件中(例如,作为协处理器),并且部分地在设备 210上存储并且运行的软件中。出于解释的目的,图2还示出了可以在其操 作的各种阶段处由设备210存储的各种元件。
在图中示出的是包括一个或多个属性281-282和多个数据条目291-292 的记录272。例如,记录272可以是基因组记录。在这样的情况下,属性 281-282可以包括人的表现型属性,例如,年龄、BMI、指示针对一个或多 个医学条件的诊断的标记等中的一个或多个。在该范例中,属性是整数或 者被编码为整数的其他类型的值。整数通常来自范围0,…,N-1,其中,值N 由使用的(一个或多个)签名方案定义,如下文所讨论的。数据条目291-292 可以包括人的基因组部分。
作为说明性范例,记录272的数据条目可以表示人的基因组的单核苷 酸多态性(SNP)。例如,记录272可以从变型调用格式(VCF)文件导出 或由变型调用格式(VCF)文件编码。如在生物信息学中已知的,VCF文 件可以被用于关于参考基因组存储基因序列变化。任选地,VCF文件还可 以存储表现型信息。下面示出了VCF文件的一部分:
Figure BDA0002556274090000181
例如,针对对应于如上文所图示的VCF文件的记录,记录的数据条目 可以对应于VCF文件的行。例如,数据条目可以是表示VCF文件的行的字 符串。
在图中还示出的是标识符生成单元241。标识符生成单元241可以生成 秘密记录标识符273。通常,秘密记录标识符273是例如来自与属性281-282 相同的范围0,…,N-1的整数。有益的是,随机地根据大域生成秘密记录标 识符273,使得其对于其他设备不可预测并且使例如由其他设备生成的标识 符之间的冲突概率最小化。例如,标识符生成单元241可以随机地根据至 少230、至少262、或2126个可能值生成秘密记录标识符273。
还示出的是发布器私钥270,其可以由发布器设备210生成或以其他方 式获得。发布器私钥270可以是可与用于生成下文所讨论的数字签名280、 291’-292’的数字签名方案兼容的任何种类的秘密密钥。
还示出了属性签名单元242。属性签名单元242可以使用发布器私钥 270生成属性消息上的数字签名280。属性消息可以包括一个或多个属性 281-282和秘密记录标识符273。如其他地方所讨论的,尽管原则上可以使 用任何签名方案S1,但是特别有益的是数字签名280是匿名证书;换句话 说,对于签名生成而言是生成匿名证书的算法。秘密记录标识符273可以 用作匿名证书的属性。
作为具体范例,使用来自上文提到的论文“Signature schemes and anonymouscredentials from bilinear maps”和“An Accumulator Based on Bilinear Maps andEfficient Revocation for Anonymous Credentials”的匿名证 书方案,给定属性m的有序列表,签名可以是四元组(c,s,γ,σ),其中,属性 签名单元242随机地生成值c、s和γ并且将σ计算为
Figure BDA0002556274090000191
其中,x是其相关联的公钥y由接收器设备信任的秘密密钥273。H可以是 素数阶q的组G的生成器hi的集合,并且类似地针对
Figure BDA0002556274090000192
和h0。此处,γ273 是在该注释中被认为是签名的一部分的秘密记录标识符。有趣地,
Figure BDA0002556274090000193
可以是 用于将秘密记录标识符γ包括到签名中的组G的生成器。
还示出了数据条目签名单元243。数据条目标签单元243可以使用发布 器私钥270生成针对多个数据条目291-292的多个数据消息上的多个数字签 名291’、292’,例如,针对每个数据条目的签名。如上文所讨论的,针对 签名方案S2的各种选择是可能的,包括使用还用于属性消息的签名方案S1。 在这种情况下,数据消息可以被认为是包含两个属性的属性消息:秘密记 录标识符和数据条目或其摘要。签名方案S2优选地使用与签名方案S1的秘密密钥兼容的秘密密钥,但是秘密密钥270还可以是针对方案S1和S2的一 对相应秘密密钥。
针对数据条目的数据消息可以包括数据条目m,291-292和秘密记录标 识符γ,273。特别地,数据消息上的数字签名可以基于至少秘密记录标识 符γ的总和γ+H(m)和数据条目的摘要H(m),例如,数据条目的SHA256 散列,例如,VCF文件的行。如所讨论的,在其对于接收者而言找到导致 针对使用在系统中的当前秘密标识符γ或另一秘密标识符的相同总和γ +H(m)的另一消息m’的意义上,这样的总和可以有效地将签名绑定到秘密 记录标识符γ和消息m两者。
数据签名单元243可以通过计算组元素g对值的乘法逆的取幂来生成 数字签名291’、292’,其中,值可以基于至少发布器私钥x,270、秘密记录 标识符γ,273、和数据条目291-292,例如,基于上文所讨论的总和γ+H(m) 的值x+γ+H(m)。例如,针对数据条目mi的签名Si可以计算为:
Figure BDA0002556274090000201
使用对乘法逆的取幂作为数字签名的一般概念自身从D.Boneh等人的 “Shortsignatures without random oracles and the SDH assumption in bilinear groups”(J.Cryptology,21(2):149–177,2008)已知。有趣地,然而,在以 上签名Si中,先前嵌入在σ中的秘密记录标识符γ此处也可以包括在签名 中。从而,签名Si和σ可以绑定在一起,从而使得选择器设备能够证明发 布器设备210生成其作为相同记录272的一部分。
发布器设备210还可以将记录272、秘密记录标识符273、属性消息上 的数字签名280、和数据消息上的数字签名291’-292’提供到选择器设备, 例如,经由通信接口(未示出)发送其。
尽管至此签名过程已经关于单个记录272讨论,但是相同单元241-243 还可以被用于针对多个记录产生相应秘密标识符和签名集。而且,发布器 设备210可以通过使单元242、243酌情确定新属性消息签名或数据消息签 名添加数据条目,更新数据条目,或者更新记录的属性。例如,发布器设 备210可以获得针对数据条目(例如,数据条目292)的经更新的数据;生 成针对经更新的数据条目292的数据消息上的经更新的数字签名292’;并 且向选择器设备210提供经更新的数字签名292’,并且类似地以用于其他 修改。
图3示意性地示出了用于向接收器设备选择性地公开记录372的属性 和数据条目(例如,用于使用在图1b的系统100中)的选择器设备311的 实施例的范例。
图3示意性地示出了可以是选择器设备311(未分离地示出)的处理器 的功能单元的功能单元。例如,图3可以被用作处理器的可能功能组织的 蓝图。例如,图3中所示的功能单元(例如,单元341-342)可以全部或者 部分地被实施在被存储在设备311处(例如,在设备311的电子存储器中) 并且由设备311的微处理器可执行的计算机指令中。在混合实施例中,功 能单元部分地被实施在硬件中(例如,作为协处理器),并且部分地在设备 311上存储并且运行的软件中。出于解释的目的,图3还示出了可以在其操 作的各个阶段处由设备311存储的各种元件。
图中示出的是记录372,其包括一个或多个属性381-382并且包括多个 数据条目391-392;秘密记录标识符370;使用发布器私钥生成的属性消息 上的数字签名380,其中,属性消息包括一个或多个属性381-392和秘密记 录标识符370;以及使用发布器私钥生成的数据消息上的数字签名393’,其 中,针对数据条目的数据消息包括数据条目和秘密记录标识符370。尽管未 示出在图1中,设备311通常存储针对每个数据条目391-392的相应数字签 名。例如,记录、秘密记录标识符和数字签名可以对应于图2的记录、秘 密记录标识符和数字签名。例如,可以从发布器设备获得该数据。
还示出了选择单元341。选择单元341可以将要公开给接收器设备的一 个或多个属性确定为一个或多个属性381-382的子集,并且将要公开给接收 器设备的一个或多个数据条目确定为多个数据条目391-392的子集。在该特 定范例中,选择属性383、384和数据条目393。要公开的属性和数据条目 可以基于例如由接收器设备提供的数据条目查询来确定,例如,数据条目 查询可以指示要公开的特定数据条目和/或用于选择数据条目的准则,并且 类似地用于属性。选择单元341可以额外地基于未由接收器设备提供的准 则和/或检查(例如,例如连同记录一起由发布器设备提供的隐私策略)来 执行选择。
此外,示出了证明单元342。证明单元342可以利用接收器设备执行零 知识证明374。如在密码学中已知并且在其他地方所讨论的,零知识证明用 于让证明器向验证器证明语句。零知识证明优选地满足完整性、坚固性和 零知识的性质。
完整性意指如果语句是真的,那么遵循协议的证明器将说服遵循协议 的验证器。坚固性意指如果语句是假的,那么欺诈证明器不可能能够说服 遵循协议的验证器。在知识的证明的情况下,完整性还可能意指不仅语句 是真的,而且证明器知道在语句中发生的某些值,被称为证人。坚固性通 常保持直到欺诈验证器成功说服验证器的某个坚固性误差;然而,零知识 证明可以包括降低坚固性误差的协议的多个实例。零知识意指验证器未从除语句是真的事实之外的证明获悉信息。零知识可以是计算和/或统计的。
在这种情况下,选择器设备可以使用零知识证明374来证明以下知识: 秘密记录标识符373;作为至少包括要公开的一个或多个属性383、384和 秘密记录标识符373的消息上的数字签名的属性消息上的数字签名380,其 是利用对应于发布器公钥的私钥来签名的;以及作为包括要公开的数据条 目393并且各自包括秘密记录标识符373的消息上的数字签名的针对要公 开的数据条目393的数据消息上的数字签名393’,其是利用对应于发布器 公钥的私钥签名的。换句话说,零知识证明的证人可以包括秘密记录标识 符和签名;相对于其证明其有效性的公共值可以包括属性383、384、数据 条目393’、以及发布器公钥。
特别地,为了证明签名380、393’各自包括相同秘密记录标识符373而 不向接收器设备公开秘密记录标识符,证明单元342可以构建秘密记录标 识符的承诺(例如,佩德森型承诺),并且将其提供给接收器设备。因此, 零知识证明374可以证明相同秘密记录标识符373被包括在每个签名中并 且在承诺中。针对各种种类的零知识证明和签名方案,这可以是证明共同 秘密标识符的存在的高效方式。
许多不同类型的零知识证明在本领域中已知并且可以容易应用,例如, 诸如Schnorr协议的Σ-协议;例如借助于Fiat-Shamir启发法从交互式零知 识协议获得的非交互式零知识证明;零知识简洁非交互式知识论证(zk-SNARK)等。
然而,特别有益的是,如果不是依赖于基因技术,则使用允许签名的 知识的高效证明的针对属性的签名方案S1和针对数据条目的S2。例如,可 以有益的是,使签名方案S1和/或S2基于匿名证书方案(例如,上文所讨论 的Camenisch等人的方案),因为其允许高效的零知识证明被执行。针对数 据条目上的签名S2,基于将组元素对乘法逆求幂的原理的签名的使用也是 特别高效的,因为这再次允许高效的零知识证明。
基于以下形式的属性签名380
Figure BDA0002556274090000231
和以下形式的数据条目签名393’
Figure BDA0002556274090000232
的特别有益的实施方式现在被详细讨论。
应注意到,零知识证明此处被呈现为交互式证明,但是具有以下理解: 可以使其为非交互式的,例如,使用Fiat-Shamir启发法。证明还可以扩展 以证明关于属性值的性质,例如,以证明记录满足记录查询,例如,30≤ BMI≤40。关于多个记录的证明也可以并行执行和/或使用已知技术组合为 一个非交互式零知识证明。
详细地,在该范例中,证明单元342可以向秘密记录标识符γ构建针 对生成器
Figure BDA0002556274090000233
和随机生成值t的承诺
Figure BDA0002556274090000234
承诺可以被提供给接收器设备。
在零知识证明的第一部分中,证明单元342可以证明以下知识:签名 380,作为包括要公开的一个或多个属性和对应于上文所描述的承诺X的秘 密记录标识符的消息上的签名,并且其利用对应于公钥y=hx的私钥x来签 名。例如,使用如在J.Camenisch等人的“An Accumulator Based on Bilinear Maps and Efficient Revocation for AnonymousCredentials”(Proceedings PKC ‘09)中所描述的Camenisch-Stadler注释,零知识证明的第一部分可以被用 于证明:
Figure BDA0002556274090000235
Figure BDA0002556274090000236
此处,
Figure BDA0002556274090000241
是签名σ的盲法(blinding),其中,随机值p由证明单元342 生成并且提供到接收器设备。
Figure BDA0002556274090000242
将所公开的属性求和,然而
Figure BDA0002556274090000243
在任选地编码为散列的非公开属性上求和等。
在上面,e被用于指代密码配对,例如,type-3椭圆曲线配对,诸如如 本领域中已知的256位Barreto-Naehrig(BN)曲线上的配对。BN曲线上的 配对可以形式上指代如下:e(G1×G2)→GT。上文所使用的各种生成器(例 如,H的生成器、引入生成器
Figure BDA0002556274090000245
等)可以是在我的袖子中没有东西 (nothing-up-my-sleeves)方法中生成的G1的生成器,例如,散列G1的基础生成器直到遇到点。利用这些选择,例如,数据条目签名393’可以是仅 32字节。
在零知识证明的第二部分中,可以证明
Figure BDA0002556274090000244
例如,可以证明承诺X中的秘密标识符的知识。以上证明可以通过J. Camenisch等人的“An Accumulator Based on Bilinear Maps and Efficient Revocation forAnonymous Credentials”中讨论的证明的适合的调整执行,其 自身基于如例如在美国专利申请US4995082A中所公开的Schnorr证明系统。 有趣地,以上证明可以偏离Camenisch的零知识证明,其中,要求承诺X 匹配签名308、393’中的秘密记录标识符γ。因此,欺诈方可能不能够组合 单个公开中的多个记录上的签名。
在这时,应观察到,仅属性(例如,表现型数据)被使用在零知识证 明的以上部分而不是数据条目(例如,基因组信息)中。因此,这些部分 未在数据条目的数目中缩放。
在零知识证明的另一部分中,可以证明包括数据条目393和秘密记录 标识符370的消息上的数字签名393’的知识。零知识证明的该部分可以通 过将Boneh-Boyen签名上的已知零知识证明的向量化版本适配到秘密记录 标识符的包括来获得。零知识证明的该部分可以在逐数据条目基础上工作。 例如,对于要公开的每个数据条目,接收器设备可以获得数据条目对应于 记录的证明。因此,获得高效的解决方案,因为证明仅相对于要公开的数 据条目而不相对于未公开的数据条目,如果其全部包括在相同签名或者类 似中,情况将是这样;并且此外,代替于使用相对于Camenisch型签名的 相对昂贵的证明,可以使用相对于Boneh-Boyen型签名的更高效的证明。
详细地,在零知识证明的该部分中,证明单元342可以使用相应随机 性vi随机化相应数据条目签名Si以获得盲法数据条目签名Vi,例如,
Figure BDA0002556274090000251
证明单元342可以向验证器设备提供盲法签名并且证明关于承诺、数据条 目和发布器公钥的签名Si的知识。
例如,证明单元342可以生成随机数s,qi,o,其中,i在要公开的数据条 目上运行,并且向接收器设备提供
Figure BDA0002556274090000252
在例如从接收器设备或者借助于Fiat-Shamir启发法接收挑战c时,证明单 元342可以生成响应
zγ=s-γc,
Figure BDA0002556274090000253
Zt=o-tC
并且将其提供给接收器设备。
尽管以上流程已经针对单个记录来讨论,但是将理解,选择器设备311 可以容易地适于其存储多个记录和相关联的信息(例如,来自多个发布器 设备)的情况。以这样的方式,选择器设备311还可以选择性地公开多个 记录的部分。例如,如还在其他地方所讨论的,选择器设备311可以获得 记录查询并且根据记录查询来选择多个记录中的一个或多个。由单元341 和343执行的步骤可以针对相应的选定的记录重复以执行针对相应记录的选择性公开。
有趣地,针对记录的零知识证明然后还可以被用于证明当前记录满足 记录查询。例如,记录查询可以包括属性上的条件,例如,年龄>65,40 ≤年龄<65等。例如,在使用调整的Camenisch匿名证书作为签名380的特 定情况下,可以容易地使用用于证明关于这样的证书的属性的性质的已知 技术。
图4示意性地示出了用于从选择器设备选择性地获得记录的属性和数 据条目(例如,用于图1b的系统100中)的接收器设备412的实施例的范 例。
图4示意性地示出了可以是接收器设备412(未分离地示出)的处理器 的功能单元的功能单元。例如,图4可以被用作处理器的可能功能组织的 蓝图。例如,图4中所示的功能单元(例如,单元441)可以全部或者部分 地被实施在被存储在设备412处(例如,在设备412的电子存储器中)并 且由设备412的微处理器可执行的计算机指令中。在混合实施例中,功能 单元部分地被实施在硬件中(例如,作为协处理器),并且部分地在设备412 上存储并且运行的软件中。出于解释的目的,图4还示出了可以在其操作 的各种阶段处由设备412存储的各种元件。
在图中示出的是存储在接收器设备412的存储器中的发布器公钥471。 记录的部分的真实性可以相对于该公钥建立。还示出了记录的属性483、484, 在该范例中两个,记录的数据条目493,在该范例中一个。接收器设备412 可以从选择器设备接收该信息,如其他地方所讨论的。
在图中还示出的是验证单元441。验证单元441可以关于所获得的值 483、484和数据条目493和发布器公钥471利用选择器设备执行零知识证 明。此处示出的是验证单元441可以非交互式地验证的非交互式零知识证 明474,但是相反证明也可以是交互式的,例如,利用生成挑战并且将其提 供到选择器设备的验证单元441。如从证明器的视角所讨论的,证明可以是 关于选择器设备311的。证明474可以确定所获得的值483-484和数据条目 493属于对应于发布器公钥481的发布器设备的记录。因此,选择器设备可 以证明以下知识:秘密记录标识符;至少包括要公开的一个或多个属性 483-484和秘密记录标识符的消息上的数字签名,其是利用对应于发布器公 钥471的私钥来签名的;以及包括要公开的数据条目493并且各自包括秘 密记录标识符的消息上的数字签名,其是利用对应于发布器公钥471的私 钥来签名的。
可以执行对应于选择器设备用于证明上文讨论的语句的零知识证明系 统的零知识证明的验证。作为具体范例,再次,可以使用针对属性的经调 整的Camenisch型签名
Figure BDA0002556274090000261
和针对数据条目的经调整的Boneh-Boyen型签名
Figure BDA0002556274090000262
在该特定范例中,可以使用关于选择器设备311讨论的多个部分中的证明, 如上文所描述的。例如,接收器设备412可以从选择器设备接收对秘密标 识符的承诺。选择器设备然后可以证明验证单元441验证的对秘密记录标 识符的承诺的打开和属性483-484上的签名和相同秘密标识符的知识,如上 文所讨论的。
关于涉及数据条目的证明的一部分,如关于选择器设备311所讨论的, 验证单元441可以接收针对要公开的数据条目493的相应盲法签名
Figure BDA0002556274090000271
选择器设备可以证明对应于盲法签名并且包含相应数据条目的签名的知识。
具体地,接收值
Figure BDA0002556274090000272
和其生成的挑战c的响应
zγ=s-γc,
Figure BDA0002556274090000273
Zt=o-tc
验证单元441可以通过验证以下来验证这些响应
Figure BDA0002556274090000274
其中,y是 发布器公钥471,并且mi是相应数据条目493。特别地,应注意,在该范例 中,发布器公钥471乘以所公开的数据条目的散列H(mi)的取幂。因此,秘 密记录标识符γ可以保持秘密,而数据条目mi可以仍然验证以对应于与其 他数据条目和属性相同的记录。
尽管在图中未明确示出,还如之前所讨论的,如本文所描述的选择性 公开技术可以应用于可能来自不同发布器设备的多个记录,在这种情况下, 验证单元442可以针对每个所公开的记录重复以上流程。接收器设备还可 以向接收器设备提供记录查询和/或数据条目查询以影响获得什么记录。例 如,验证单元441还可以适于验证这样的数据条目查询由所获得的记录满 足。
因此,通过上文所讨论的各种措施,接收器设备412可以获得其需要 的信息,例如,属性483、484和数据条目493,和关于公钥471的适当的 真实性保证,而不需要对其他敏感材料的访问,诸如未公开的属性和数据 条目、秘密记录标识符或发布器私钥。
图5示意性地示出了向用于选择性公开的选择器设备提供记录的发布 器方法500的实施例的范例。方法500通常是计算机实施的。
发布器方法500可以包括存储510发布器私钥,发布器私钥与对应的 发布器公钥一起形成公钥-私钥对;以及记录,该记录包括一个或多个属性 并且包括多个数据条目;
发布器方法500可以包括确定520秘密记录标识符。
发布器方法500可以包括使用发布器私钥来生成530属性消息上的数 字签名,属性消息包括一个或多个属性和秘密记录标识符。
发布器方法500可以包括使用发布器私钥来生成540针对多个数据条 目的多个数据消息上的多个数字签名,针对数据条目的数据消息包括数据 条目和秘密记录标识符。
发布器方法500可以包括将记录、秘密记录标识符、属性消息上的数 字签名、以及数据消息上的数字签名提供550到选择器设备。
图6示意性地示出了向接收器设备选择性地公开记录的属性和数据条 目的选择器方法600的实施例的范例。方法600通常是计算机实施的。
选择器方法600可以包括:存储610记录,包括一个或多个属性并且 包括多个数据条目;秘密记录标识符;使用发布器私钥生成的属性消息上 的数字签名,所述属性消息包括一个或多个属性和秘密记录标识符;以及 使用发布器私钥生成的数据消息上的数字签名,针对数据条目的数据消息 包括数据条目和秘密记录标识符。
选择器方法600可以包括获得620记录、秘密记录标识符、属性消息 上的数字签名、以及数据消息上的数字签名。
选择器方法600可以包括将要公开的一个或多个属性确定630为一个 或多个属性的子集,并且将要公开的一个或多个数据条目确定为多个数据 条目的子集。
选择器方法600可以包括将要公开的一个或多个属性和要公开的一个 或多个数据条目提供640到接收器设备。
选择器方法600可以包括:利用接收器设备执行650零知识证明,其 中,证明以下知识:
-秘密记录标识符;
-作为至少包括要公开的一个或多个属性和秘密记录标识符的消 息上的数字签名的属性消息上的数字签名,其是利用对应于发布器公钥的 私钥来签名的;
-作为包括要公开的数据条目并且各自包括秘密记录标识符的消 息上的数字签名的针对要公开的数据条目的数据消息上的数字签名,其是 利用对应于发布器公钥的私钥来签名的。
图7示意性地示出了从选择器设备选择性地获得记录的属性和数据条 目的接收器方法700的实施例的范例。方法700通常是计算机实施的。
接收器方法700可以包括存储710发布器公钥。
接收器方法700可以包括从选择器设备获得720一个或多个属性和一 个或多个数据条目。
接收器方法700可以包括关于所获得的值和数据条目和发布器公钥利 用选择器设备来执行730零知识证明以确定所获得的值和数据条目属于对 应于发布器公钥的发布器设备的记录,其中,选择器设备证明以下知识:
-秘密记录标识符;
-至少包括要公开的一个或多个属性和秘密记录标识符的消息上 的数字签名,其是利用对应于发布器公钥的私钥来签名的;
-包括要公开的数据条目并且各自包括秘密记录标识符的消息上 的数字签名,其是利用对应于发布器公钥的私钥来签名的。
执行方法的许多不同方式是可能的,如对于本领域技术人员将显而易 见的。例如,可以改变步骤的顺序或者可以并行执行一些步骤。此外,在 步骤之间可以插入其他方法步骤。插入的步骤可以表示诸如本文描述的方 法的细化,或者可以与该方法无关。例如,方法500的步骤530和540可 以至少部分地并行执行。此外,在下一步骤开始之前,给定步骤可能尚未 完全完成。
方法的实施例可以使用软件执行,其包括用于使处理器系统执行方法 500、600或700的指令。软件可以仅包括由系统的特定子实体采取的那些 步骤。软件可以存储在合适的存储介质中,例如硬盘、软盘、存储器、光 盘等。软件可以作为信号沿着线、无线或使用数据网络(例如,因特网) 发送。该软件可以可用于下载和/或在服务器上远程使用。可以使用位流来 执行方法的实施例,该位流被布置为配置可编程逻辑,例如,现场可编程 门阵列(FPGA),以执行该方法。
将意识到,本发明还扩展到计算机程序,特别是适于将本发明付诸实 践的载体上或载体中的计算机程序。程序可以采取源代码、目标代码、代 码中间源和诸如部分编译形式的目标代码的形式,或者适用于实施方法的 实施例的任何其他形式。涉及计算机程序产品的实施例包括与阐述的方法 中的至少一个的处理步骤中的每个相对应的计算机可执行指令。这些指令 可以细分为子例程和/或存储在可以静态或动态链接的一个或多个文件中。 涉及计算机程序产品的另一实施例包括与阐述的系统和/或产品中的至少一 个的模块中的每个相对应的计算机可执行指令。
图8示出了具有包括计算机程序820的可写部件810的计算机可读介 质800,计算机程序820包括用于使得处理器系统执行根据实施例的发布器 方法、选择器方法或接收器方法的指令。计算机程序820可以根据物理标 记或者借助于计算机可读介质800的磁化被实现在计算机可读介质800上。 然而,任何其他适合的实施例也是可以想象的。此外,将意识到,尽管计 算机可读介质800此处被示出为光盘,但是计算机可读介质800可以是任 何适合的计算机可读介质(诸如硬盘、固态存储器、闪存等),并且可以是 非可记录或可记录的。计算机程序820包括用于使处理器系统执行所述方 法的指令。
图9示意性地示出了根据实施例的处理器系统940的表示。处理器系 统包括一个或多个集成电路910。在图9中示意性地示出了一个或多个集成 电路910的架构。电路910包括处理单元920(例如,CPU),其用于运行 计算机程序部件以执行根据实施例的方法和/或实施其模块或者单元。电路 910包括用于存储编程代码、数据等的存储器922。存储器922的部分可以 是只读的。电路910可以包括通信元件926,例如,天线、连接器或者两者 等。电路910可以包括用于执行方法中定义的处理的部分或全部的专用集 成电路924。处理器920、存储器922、专用IC 924和通信元件926可以经 由相互连接930(比如说总线)彼此连接。处理器系统910可以被布置用于 分别地使用天线和/或连接器的接触和/或无接触通信。
例如,在实施例中,处理器系统940(例如,发布器设备、选择器设备、 或接收器设备)可以包括处理器电路和存储器电路,处理器被布置为运行 存储在存储器电路中的软件。例如,处理器电路可以是Intel Core i7处理器、 ARM Cortex-R8等。在实施例中,处理器电路可以是ARM Cortex M0。存 储器电路可以是ROM电路、或者非易失性存储器,例如,闪存。存储器单 元可以是易失性存储器(例如,SRAM存储器)。在后者情况下,设备可以 包括非易失性软件接口(例如,硬盘驱动器、网络接口等),其被布置用于 提供软件。
通常地,设备各自包括微处理器,其执行被存储在设备处的适当的软 件;例如,该软件可能已经被下载和/或被存储在对应的存储器(例如,易 失性存储器(诸如RAM)或者非易失性存储器(诸如闪存))中。备选地, 设备可以全部或者部分地以可编程逻辑来实施,例如,作为现场可编程门 阵列(FPGA)。设备可以全部或者部分地被实现为所谓的专用集成电路 (ASIC),即,针对其特定用途定制的集成电路(IC)。例如,电路可以以 CMOS实现,例如,使用硬件描述语言,诸如Verilog、VHDL等。
在实施例中,发布器设备包括标识符生成电路、属性签名电路、以及 数据条目签名单元。在实施例中,选择器设备包括选择电路和证明电路。 在实施例中,接收器设备包括验证电路。设备可以包括额外电路。电路实 施本文所描述的对应单元。电路可以是处理器电路和存储电路,处理器电 路运行电子地表示在存储电路中的指令。处理器电路可以以分布式方式来 实施,例如,作为多个子处理器电路。存储设备的部分可以是只读的。电 路还可以是FPGA、ASIC等。存储设备可以被分布在多个分布式子存设备 上。存储器的部分或者全部可以是电子存储器、磁性存储器等。例如,存 储设备可以具有易失性和非易失性部分。
应当注意,上文所提到实施例图示而不是限制本发明,并且本领域的 技术人员将能够设计许多备选实施例。
在权利要求中,括号内的任何附图标记不应被解释为对权利要求的限 制。动词“包括”及其变形词的使用不排除权利要求中记载的元件或步骤 之外的元件或步骤的存在。元件前面的词语“一”或“一个”不排除存在 多个这样的元件。本发明可以借助于包括若干不同元件的硬件和借助于适 当编程的计算机来实施。在列举了若干模块的设备权利要求中,这些模块 中的若干个可以由同一个硬件项来实现。在互不相同的从属权利要求中记载了特定措施的仅有事实并不指示不能有利地使用这些措施的组合。
在权利要求中,括号中的参考涉及示范性实施例的附图中的附图标记 或实施例的公式,从而增加了权利要求的可理解性。这些参考不应解释为 对权利要求的限制。

Claims (18)

1.一种用于选择性地公开记录(172)的属性和数据条目的系统(100),所述系统包括发布器设备(110)、选择器设备(111)、以及接收器设备(112),
-所述发布器设备(110)用于向用于选择性公开的选择性设备提供记录,所述发布器设备包括:
-存储器(130),其被配置为存储:
-发布器私钥(170),所述发布器私钥与对应的发布器公钥(171)一起形成公钥-私钥对;
-所述记录,所述记录包括一个或多个属性(181、182)并且包括多个数据条目(191、192);
-处理器(140),其被配置为:
-确定秘密记录标识符(173);
-使用所述发布器私钥来生成属性消息上的数字签名(180),所述属性消息包括所述一个或多个属性和所述秘密记录标识符;
-使用所述发布器私钥来生成针对所述多个数据条目的多个数据消息上的多个数字签名(191’、192’),针对数据条目的数据消息包括所述数据条目和所述秘密记录标识符;
-将所述记录、所述秘密记录标识符、所述属性消息上的数字签名、以及所述数据消息上的数字签名提供到所述选择器设备;
-所述选择器设备(111)用于向接收器设备选择性地公开所述记录的属性和数据条目,所述选择器设备包括:
-存储器(131),其被配置为存储:
-所述记录、所述秘密记录标识符、所述属性消息上的数字签名、以及所述数据消息上的数字签名;
-处理器(141),其被配置为:
-将要公开的一个或多个属性(183、184)确定为所述一个或多个属性的子集,并且将要公开的一个或多个数据条目(193)确定为所述多个数据条目的子集;
-将所述要公开的一个或多个属性和所述要公开的一个或多个数据条目提供到所述接收器设备;
-利用所述接收器设备来执行零知识证明(174),其中,所述选择器设备证明以下知识:
-所述秘密记录标识符;
-利用对应于所述发布器公钥的私钥来签名的,作为至少包括所述要公开的一个或多个属性和所述秘密记录标识符的消息上的数字签名的所述属性消息上的数字签名;
-利用对应于所述发布器公钥的私钥来签名的,作为包括所述要公开的数据条目并且各自包括所述秘密记录标识符的消息上的数字签名的针对所述要公开的数据条目的所述数据消息上的数字签名,;
-所述接收器设备(112)用于从所述选择器设备选择性地获得所述记录的所述属性和所述数据条目,所述接收器设备包括:
-存储器(132),其被配置为存储所述发布器公钥;
-处理器(142),其被配置为:
-从所述选择器设备获得所述一个或多个属性和所述一个或多个数据条目;
-关于所获得的值和数据条目和所述发布器公钥利用所述选择器设备来执行所述零知识证明以确定所获得的值和数据条目属于所述发布器设备的所述记录。
2.根据权利要求1所述的系统(100),其中,所述属性包括关于人的一个或多个表现型属性;并且所述数据条目包括所述人的一个或多个基因组部分。
3.一种用于向用于选择性公开的选择器设备提供记录的发布器设备(110、210),所述发布器设备包括:
-存储器(130),其被配置为存储:
-发布器私钥(170),所述发布器私钥与对应的发布器公钥一起形成公钥-私钥对;
-所述记录(172),所述记录包括一个或多个属性并且包括多个数据条目;
-处理器(140),其被配置为:
-确定秘密记录标识符(173);
-使用所述发布器私钥来生成属性消息上的数字签名(180),所述属性消息包括所述一个或多个属性和所述秘密记录标识符;
-使用所述发布器私钥来生成针对所述多个数据条目的多个数据消息上的多个数字签名(191’、192’),针对数据条目的数据消息包括所述数据条目和所述秘密记录标识符;
-将所述记录、所述秘密记录标识符、所述属性消息上的数字签名、以及所述数据消息上的数字签名提供到所述选择器设备。
4.根据权利要求3所述的发布器设备(110、210),其中,所述数据消息上的数字签名基于至少所述秘密记录标识符以及所述数据条目的摘要的总和。
5.根据权利要求3或4所述的发布器设备(110、210),其中,所述处理器(140)被配置为通过计算组元素(g)对值(x+γ+H(m))的乘法逆的取幂来生成所述数据消息上的数字签名(g1/(x+γ+H(m))),所述值至少基于所述发布器私钥(x)、所述秘密记录标识符(γ)、以及所述数据条目(m)。
6.根据权利要求3至5中的任一项所述的发布器设备(110、210),其中,所述属性消息上的数字签名包括利用所述发布器私钥来签名的匿名证书,所述匿名证书具有所述一个或多个属性和所述秘密记录标识符作为属性。
7.根据权利要求3至6中的任一项所述的发布器设备(110、210),其中,所述发布器设备还被配置为:获得针对所述多个数据条目中的一个数据条目的经更新的数据,生成针对所述经更新的数据条目的数据消息上的经更新的数字签名,并且向所述选择器设备提供所述经更新的数字签名。
8.一种用于向接收器设备选择性地公开记录的属性和数据条目的选择器设备(111、311),所述选择器设备包括:
-存储器(131),其被配置为存储:
-所述记录,其包括一个或多个属性并且包括多个数据条目;秘密记录标识符;使用发布器私钥生成的属性消息上的数字签名,所述属性消息包括所述一个或多个属性和所述秘密记录标识符;以及使用所述发布器私钥生成的所述数据消息上的数字签名,针对数据条目的数据消息包括所述数据条目和所述秘密记录标识符;
-处理器(141),其被配置为:
-获得所述记录、所述秘密记录标识符、所述属性消息上的数字签名、以及所述数据消息上的数字签名;
-将要公开的一个或多个属性(183、184)确定为所述一个或多个属性的子集,并且将要公开的一个或多个数据条目(193)确定为所述多个数据条目的子集;
-将所述要公开的一个或多个属性和所述要公开的一个或多个数据条目提供到所述接收器设备;
-利用所述接收器设备来执行零知识证明(174),其中,所述选择器设备证明以下知识:
-所述秘密记录标识符;
-利用对应于所述发布器公钥的私钥来签名的,作为至少包括所述要公开的一个或多个属性和所述秘密记录标识符的消息上的数字签名的所述属性消息上的数字签名;
-利用对应于所述发布器公钥的私钥来签名的,作为包括所述要公开的数据条目并且各自包括所述秘密记录标识符的消息上的数字签名的针对所述要公开的数据条目的所述数据消息上的数字签名。
9.根据权利要求8所述的选择器设备(111、311),其中,所述存储器(131)被配置为存储多个记录,所述处理器(141)被配置为:
-获得记录查询;
-根据所述记录查询来选择所述多个记录中的一个或多个记录;并且
-重复对针对选定的所述一个或多个记录中的每个当前记录的所述零知识证明的确定、提供和执行。
10.根据权利要求9所述的选择器设备(111、311),其中,所述处理器(141)被配置为执行针对当前记录的所述零知识证明以进一步证明所述当前记录满足所述记录查询。
11.根据权利要求8至10中的任一项所述的选择器设备(111、311),其中,所述处理器(141)还被配置为获得数据条目查询,所述处理器被配置为根据所述数据条目查询来确定所述要公开的一个或多个数据条目。
12.根据权利要求8至11中的任一项所述的选择器设备(111、311),其中,执行所述零知识证明包括向所述接收器设备提供对所述秘密记录标识符的承诺并且证明关于所述承诺的所述数字签名的知识。
13.一种用于从选择器设备选择性地获得记录的属性和数据条目的接收器设备(112、412),所述接收器设备包括:
-存储器(132),其被配置为存储发布器公钥;
-处理器(142),其被配置为:
-从所述选择器设备获得一个或多个属性和一个或多个数据条目;
-关于所获得的值和数据条目和所述发布器公钥利用所述选择器设备来执行零知识证明以确定所获得的值和数据条目属于对应于所述发布器公钥的发布器设备的记录,其中,所述选择器设备证明以下知识:
-秘密记录标识符;
-利用对应于所述发布器公钥的私钥来签名的,至少包括要公开的一个或多个属性和所述秘密记录标识符的消息上的数字签名;
-利用对应于所述发布器公钥的私钥来签名的,包括要公开的数据条目并且各自包括所述秘密记录标识符的消息上的数字签名。
14.根据权利要求13所述的接收器设备(112、412),其中,所述接收器设备被配置为通过从所述选择器设备获得非交互式零知识证明并且验证所述非交互式零知识证明来执行所述零知识证明。
15.一种用于向用于选择性公开的选择器设备提供记录的发布器方法(500),所述发布器方法包括:
-存储(510):
-发布器私钥,所述发布器私钥与对应的发布器公钥一起形成公钥-私钥对;
-所述记录,所述记录包括一个或多个属性并且包括多个数据条目;
-确定(520)秘密记录标识符;
-使用所述发布器私钥来生成(530)属性消息上的数字签名,所述属性消息包括所述一个或多个属性和所述秘密记录标识符;
-使用所述发布器私钥来生成(540)针对所述多个数据条目的多个数据消息上的多个数字签名,针对数据条目的数据消息包括所述数据条目和所述秘密记录标识符;
-将所述记录、所述秘密记录标识符、所述属性消息上的数字签名、以及所述数据消息上的数字签名提供(550)到所述选择器设备。
16.一种向接收器设备选择性地公开记录的属性和数据条目的选择器方法(600),所述选择器方法包括:
-存储(610):
-所述记录,其包括一个或多个属性并且包括多个数据条目;秘密记录标识符;使用发布器私钥生成的属性消息上的数字签名,所述属性消息包括所述一个或多个属性和所述秘密记录标识符;以及使用所述发布器私钥生成的数据消息上的数字签名,针对数据条目的数据消息包括所述数据条目和所述秘密记录标识符;
-获得(620)所述记录、所述秘密记录标识符、所述属性消息上的数字签名、以及所述数据消息上的数字签名;
-将要公开的一个或多个属性确定(630)为所述一个或多个属性的子集,并且将要公开的一个或多个数据条目确定为所述多个数据条目的子集;
-将所述要公开的一个或多个属性和所述要公开的一个或多个数据条目提供(640)到所述接收器设备;
-利用所述接收器设备来执行(650)零知识证明,其中,以下知识被证明:
-所述秘密记录标识符;
-利用对应于所述发布器公钥的私钥来签名的,作为至少包括所述要公开的一个或多个属性和所述秘密记录标识符的消息上的数字签名的所述属性消息上的数字签名;
-利用对应于所述发布器公钥的私钥来签名的,作为包括要公开的数据条目并且各自包括所述秘密记录标识符的消息上的数字签名的针对所述要公开的数据条目的所述数据消息上的数字签名。
17.一种从选择器设备选择性地获得记录的属性和数据条目的接收器方法(700),所述接收器方法包括:
-存储(710)发布器公钥;
-从所述选择器设备获得(720)一个或多个属性和一个或多个数据条目;
-关于所获得的值和数据条目和所述发布器公钥利用所述选择器设备来执行(730)零知识证明以确定所获得的值和数据条目属于对应于所述发布器公钥的发布器设备的记录,其中,所述选择器设备证明以下知识:
-秘密记录标识符;
-利用对应于所述发布器公钥的私钥来签名的,至少包括要公开的一个或多个属性和所述秘密记录标识符的消息上的数字签名;
-利用对应于所述发布器公钥的私钥来签名的,包括要公开的数据条目并且各自包括所述秘密记录标识符的消息上的数字签名。
18.一种包括瞬态或者非瞬态数据(820)的计算机可读存储介质(800),所述瞬态或者非瞬态数据表示使处理器系统执行根据权利要求15至17中的任一项所述的方法的指令。
CN202010592655.8A 2019-06-27 2020-06-24 用于公开记录的属性和数据条目的系统和选择器及其方法 Active CN112149156B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19182989.4A EP3758279A1 (en) 2019-06-27 2019-06-27 Selective disclosure of attributes and data entries of a record
EP19182989.4 2019-06-27

Publications (2)

Publication Number Publication Date
CN112149156A true CN112149156A (zh) 2020-12-29
CN112149156B CN112149156B (zh) 2022-12-13

Family

ID=67211504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010592655.8A Active CN112149156B (zh) 2019-06-27 2020-06-24 用于公开记录的属性和数据条目的系统和选择器及其方法

Country Status (6)

Country Link
US (1) US11658827B2 (zh)
EP (2) EP3758279A1 (zh)
JP (1) JP7219740B2 (zh)
CN (1) CN112149156B (zh)
ES (1) ES2906346T3 (zh)
RU (1) RU2760633C1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11683186B1 (en) 2022-03-28 2023-06-20 Veiovia Ltd. Cryptographically generated data tethered to biological dataset through synchronization over peer-to-peer nodes for certification
US11652639B1 (en) 2022-03-28 2023-05-16 Veiovia Ltd. Cryptographically generated data tethered to biological dataset through synchronization over peer-to-peer nodes
CN116232763B (zh) * 2023-05-05 2023-07-07 敏于行(北京)科技有限公司 选择性披露的动态组合可验证凭证生成方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182552A1 (en) * 2002-03-22 2003-09-25 Kouichi Tanimoto Method of managing digital signature, apparatus for processing digital signature, and a computer readable medium for recording program of managing digital signature
JP2003338816A (ja) * 2002-03-15 2003-11-28 Matsushita Electric Ind Co Ltd 個人情報認証を行うサービス提供システム
US20060059357A1 (en) * 1999-10-22 2006-03-16 Hitachi, Ltd. Method and system for recovering the validity of cryptographically signed digital data
WO2007043199A1 (ja) * 2005-10-07 2007-04-19 Hitachi, Ltd. 相関ルールを抽出する方法及びシステム
WO2007055104A1 (ja) * 2005-11-08 2007-05-18 Matsushita Electric Industrial Co., Ltd. 認証システム、署名生成装置、署名検証装置
US20100115281A1 (en) * 2008-08-28 2010-05-06 International Business Machines Corporation Attributes in cryptographic credentials
EP2302631A2 (en) * 2009-09-29 2011-03-30 Sony Computer Entertainment Inc. Management server, management method, management system for downloading of contents, and mobile devices

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383985A1 (de) 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
US20030159070A1 (en) * 2001-05-28 2003-08-21 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
JP2002024385A (ja) * 2000-06-30 2002-01-25 Coreflow Technologies:Kk 遺伝子情報管理システム及びその管理方法
JP2002215028A (ja) * 2001-01-22 2002-07-31 Ntt Data Technology Corp 遺伝子情報のセキュリティ管理方法及びそのシステムとプログラム
JP2002278449A (ja) * 2001-03-15 2002-09-27 Dainippon Printing Co Ltd 原本性保証システム、及びサーバ
JP2003296453A (ja) * 2002-04-04 2003-10-17 Matsushita Electric Ind Co Ltd 医療データ通信システム
JP3701633B2 (ja) * 2002-06-21 2005-10-05 株式会社日立製作所 複数データベースにまたがる項目パターン抽出方法、ネットワークシステム及び処理装置
JP2004185192A (ja) * 2002-12-02 2004-07-02 Naoaki Ishii 健康情報の解析・研究及び健康維持・長寿実現のための総合支援システム
JP4499542B2 (ja) * 2004-12-08 2010-07-07 株式会社エヌ・ティ・ティ・データ 医療情報処理装置、および、プログラム
CN101351988B (zh) * 2005-12-28 2011-06-29 松下电器产业株式会社 签名生成装置、签名生成方法
JP5083218B2 (ja) * 2006-12-04 2012-11-28 日本電気株式会社 情報管理システム、匿名化方法、及び記憶媒体
US8468346B2 (en) * 2008-11-05 2013-06-18 Nec Corporation Data reference system, database presentation/distribution system, and data reference method
EP2336933B1 (en) * 2009-12-18 2014-09-10 CompuGroup Medical AG A computer implemented method for analyzing data of a user with the data being stored pseudonymously in a database
US8825555B2 (en) * 2010-06-30 2014-09-02 International Business Machines Corporation Privacy-sensitive sample analysis
EP2768177A1 (en) * 2013-02-15 2014-08-20 Thomson Licensing Cryptographic devices and methods for generating and verifying commitments from linearly homomorphic signatures
JP6063821B2 (ja) * 2013-06-12 2017-01-18 株式会社日立ソリューションズ センサデータ管理システム
JP6250497B2 (ja) * 2014-03-13 2017-12-20 株式会社日立製作所 情報管理システム
US9407654B2 (en) * 2014-03-20 2016-08-02 Microsoft Technology Licensing, Llc Providing multi-level password and phishing protection

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059357A1 (en) * 1999-10-22 2006-03-16 Hitachi, Ltd. Method and system for recovering the validity of cryptographically signed digital data
JP2003338816A (ja) * 2002-03-15 2003-11-28 Matsushita Electric Ind Co Ltd 個人情報認証を行うサービス提供システム
US20030182552A1 (en) * 2002-03-22 2003-09-25 Kouichi Tanimoto Method of managing digital signature, apparatus for processing digital signature, and a computer readable medium for recording program of managing digital signature
WO2007043199A1 (ja) * 2005-10-07 2007-04-19 Hitachi, Ltd. 相関ルールを抽出する方法及びシステム
WO2007055104A1 (ja) * 2005-11-08 2007-05-18 Matsushita Electric Industrial Co., Ltd. 認証システム、署名生成装置、署名検証装置
US20100115281A1 (en) * 2008-08-28 2010-05-06 International Business Machines Corporation Attributes in cryptographic credentials
EP2302631A2 (en) * 2009-09-29 2011-03-30 Sony Computer Entertainment Inc. Management server, management method, management system for downloading of contents, and mobile devices

Also Published As

Publication number Publication date
JP7219740B2 (ja) 2023-02-08
CN112149156B (zh) 2022-12-13
JP2021007217A (ja) 2021-01-21
RU2760633C1 (ru) 2021-11-29
US20200412546A1 (en) 2020-12-31
US11658827B2 (en) 2023-05-23
EP3758291A1 (en) 2020-12-30
ES2906346T3 (es) 2022-04-18
EP3758291B1 (en) 2021-12-01
EP3758279A1 (en) 2020-12-30

Similar Documents

Publication Publication Date Title
US20210021606A1 (en) Selectivity in privacy and verification with applications
Jin et al. Dynamic and public auditing with fair arbitration for cloud data
CN112149156B (zh) 用于公开记录的属性和数据条目的系统和选择器及其方法
US8699705B2 (en) Computer implemented method for generating a set of identifiers from a private key, computer implemented method and computing device
US8825555B2 (en) Privacy-sensitive sample analysis
US10887104B1 (en) Methods and systems for cryptographically secured decentralized testing
US20170034142A1 (en) Flexible revocation of credentials
CN113875186A (zh) 知识证明
US20230336567A1 (en) Selectivity in privacy and verification with applications
EP3977673B1 (en) Blockchain transaction comprising runnable code for hash-based verification
EP3966995A1 (en) Blockchain transaction comprising runnable code for hash-based verification
CN104092686A (zh) 基于svm分类器的隐私保护和数据安全访问的方法
CN113924748A (zh) 知识证明
Xue et al. Blockchain-based fair and fine-grained data trading with privacy preservation
CN114747172A (zh) 加密链接身份
Hwang et al. Balancing security and privacy in genomic range queries
US20220329416A1 (en) Provenance verification for selective disclosure of attributes
EP3805963A1 (en) Provenance verification for selective disclosure of attributes
US20230198777A1 (en) Authenticating a public key of a first person
Li et al. An Efficient and Provably‐Secure Certificateless Proxy‐Signcryption Scheme for Electronic Prescription System
CN114762289A (zh) 用于利用部分验证导出局部签名的方法
CN116471025A (zh) 一种基于同源的可追溯环签名方法及系统
Carvajal Gallardo Privacy-preserving social DNA-based recommender
Ferilli et al. Legal and Security Aspects

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
GR01 Patent grant
GR01 Patent grant