CN112673591B - 用于向经授权的第三方提供对秘密的公开分类账安全密钥托管访问的系统和方法 - Google Patents

用于向经授权的第三方提供对秘密的公开分类账安全密钥托管访问的系统和方法 Download PDF

Info

Publication number
CN112673591B
CN112673591B CN201980050667.3A CN201980050667A CN112673591B CN 112673591 B CN112673591 B CN 112673591B CN 201980050667 A CN201980050667 A CN 201980050667A CN 112673591 B CN112673591 B CN 112673591B
Authority
CN
China
Prior art keywords
secret
party system
party
key
token
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
CN201980050667.3A
Other languages
English (en)
Other versions
CN112673591A (zh
Inventor
R·特格德
R·夏普
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.)
R Tegede
Original Assignee
R Tegede
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
Priority claimed from US15/996,336 external-priority patent/US20190372765A1/en
Priority claimed from EP18175515.8A external-priority patent/EP3576000B1/en
Application filed by R Tegede filed Critical R Tegede
Publication of CN112673591A publication Critical patent/CN112673591A/zh
Application granted granted Critical
Publication of CN112673591B publication Critical patent/CN112673591B/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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • 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/085Secret sharing or secret splitting, e.g. threshold 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种密码协议,以及一种用于实现所述协议的系统,其用于提供对加密数据的公开总账保护密钥托管访问。本发明使用多个受托者系统,每个受托者系统都持有秘密的秘密份额,以验证来自经授权的第三方的对该秘密的请求。在提出有效请求时,每个受托者系统都会将其秘密份额发布到分类账。秘密份额只能由经授权的第三方组合起来来披露加密密钥。加密密钥的所有者可以访问对加密密钥的请求以及受托者系统的响应,以标识请求的第三方并证明该密钥已披露给第三方。

Description

用于向经授权的第三方提供对秘密的公开分类账安全密钥托 管访问的系统和方法
背景技术
至少自古埃及时代以来,加密就一直被用于实现各方之间的秘密通信,现在加密被广泛用于保护信息和控制对各种数据的访问,无论这些数据是由单方保存还是在各方之间发送。例如,加密可用于保护硬盘上保存的数据,以使只有知道加密密钥的一方才能访问该数据,或加密可用于保护在两方之间通过因特网发送的消息,使得第三方在没有加密密钥的情况下,即使他们可以访问在各方之间发送的数据,也无法了解消息的内容。
尽管使用加密解决了许多与确保信息安全性相关的问题,但它也创造了新的问题。例如,执法机构可能希望能够访问两方之间的加密通信,以对犯罪或者一个人可能死亡或变得丧失工作能力来进行解决或预防,该加密通信使甚至法律授权方也无法访问加密磁盘上的潜在重要数据。这些问题导致许多人呼吁在加密算法中引入所谓的“后门”。后门提供了一种绕过第三方需求来了解加密密钥以访问加密数据的方法。但是,尽管后门可能使经授权的第三方能够访问加密的数据,但也可能被未经授权和恶意的第三方利用来获得对数据的秘密访问。此外,加密数据的所有者无法知道后门是否已被经授权或未经授权的第三方用于访问加密数据。因此,加密算法中的现有后门可能会以无法接受的方式损害加密所提供的安全性。
现有系统允许对密码或软件的访问层进行编程,以允许第三方以与该数据的所有者所使用的密码不同的密码访问某些数据。但是,任何这样的系统都要求控制该系统的一方是“受信任的”,并且使用这种受信任的权限会带来一系列其自身的问题。特别是,受信任的权限可以选择(随意或非自愿地)违反数据所有者的利益。此外,没有有效的方法来验证受信任的权限是否已受动或行动来为数据所有者谋取利益。
解决该问题的其他先前尝试包括所谓的“密钥托管”系统。密钥托管系统是这样一种系统,其中将对某些加密数据进行解密所需的密钥保存在托管中,以便经授权或指定的第三方可以在某些条件下获取对这些密钥的访问。验证是否满足任何此类条件会带来一些问题。现有的密钥托管系统依赖于某些社会联系的正确功能,社会联系例如是法院命令及其验证和技术执行,或者是有联系的个人或机构(其负责控制对密钥的访问)。这样,这些系统仍然需要社会或机构建立的信任的要素才能正常运行。在“密钥恢复、密钥托管和受信任的第三方加密的风险(“The risks of key recovery,key escrow,and trusted third-party encryption)”(Hal Abelson等人,1997,万维网J.2,3(1997年6月),241-257页)中更详细地描述了现有密钥托管机制的局限性和缺陷。
需要一种加密协议,该协议允许经授权的第三方以不损害基础信息的安全性的方式访问加密信息,并为加密信息的所有者提供不可避免的、公开的、持久的和安全的记录,该记录为信息已经由授权的第三方访问,以便可以通过法院或其他社会渠道处理非法的、无根据的、不当的或其他未经授权的访问。
发明内容
根据本发明的第一方面,提供了一种用于向指定的第三方系统提供对秘密的访问的系统。该系统包括多个受托者系统,并且每个受托者系统被配置为从第一方系统接收秘密的秘密份额并存储该秘密份额。秘密或秘密份额被加密,使得只有指定的第三方系统能够访问秘密。每个受托者系统还配置为监视已发布的对秘密份额的请求,验证给定的秘密份额的请求由指定的第三方系统做出,且如果验证成功,则响应于已验证的对秘密份额的请求,发布秘密份额。
每个已发布的对秘密份额的请求可以包括验证令牌和加密的验证令牌,并且每个受托者系统可以还被配置为与秘密份额一起从第一方系统接收验证密钥对的第二密钥,并存储验证密钥对的第二密钥;通过使用验证密钥对的第二密钥来解密加密的验证令牌,并将解密的验证令牌与验证令牌进行比较,来验证对秘密份额的请求是由指定的第三方系统做出,且如果验证消息的验证令牌与解密的验证令牌匹配,则发布关联的秘密份额。
可选地,每个对秘密份额的请求可以包括加密的验证令牌,并且每个受托者系统可以还被配置为与秘密份额一起从第一方系统接收验证密钥对的第二密钥,并存储验证密钥对的第二密钥;从第一方系统接收验证令牌并存储验证令牌;以及通过使用验证密钥对的第二密钥来解密加密的验证令牌,并将解密的验证令牌与从第一方系统收到验证令牌进行比较,来验证对秘密份额的请求由指定的第三方系统做出。
每个秘密份额还可以和与第三方系统相关联的标识符的份额有关,使得该标识符可以从秘密份额得出。可选地,每个受托者系统可以还被配置为与秘密份额一起从第一方系统接收与第三方系统相关联的标识符,并且与秘密份额一起发布与第三方系统关联的标识符。
该系统可以还包括第一方系统,并且第一方系统可以被配置为加密秘密,生成加密的秘密的秘密份额,并将秘密份额发送给多个受托者系统。可选地,第一方系统可以被配置为生成秘密的秘密份额,加密秘密份额,并且将加密的秘密份额发送给多个受托者系统。
第一方系统可以被配置为使用与第三方系统相关联的公共加密密钥对秘密或秘密份额进行加密,或者第一方系统可以被配置为使用验证密钥对的第二验证密钥来加密秘密或秘密份额,从而解密加密的秘密或加密的秘密份额所需的密钥是验证密钥对的第一验证密钥。
秘密本身可以是对象密钥对的第二对象密钥,并且第一方系统还可以被配置为使用对象密钥对的第一对象密钥来加密数据,并将加密的数据发送给第三方系统。
第一方系统可以还被配置为生成验证令牌,将验证令牌发送给多个受托者系统,并且将验证令牌发送给第三方系统。
第一方系统可以还被配置为从一组可用受托者系统中选择多个受托者系统,使得多个受托者系统是可用的受托者系统的较大一组的子集。
第一方系统可以还被配置为通过使用验证密钥对的第二密钥来解密加密的验证令牌,并将解密的验证令牌与验证消息的验证令牌进行比较,来分析对秘密份额的请求,且如果验证消息的验证令牌与解密的验证令牌匹配,则确定对秘密份额的请求由指定的第三方系统发布。
可选地,当份额化的(shared)的验证令牌由第一方生成并提供给受托者系统时,第一方系统可以还配置为通过使用验证密钥对的第二密钥来解密加密的验证令牌,并将解密的验证令牌与第一方系统持有的份额化的(shared)验证令牌进行比较,来分析对秘密份额的请求。如果第一方系统持有的验证令牌与解密的验证令牌匹配,则第一方确定对秘密份额的请求由指定的第三方系统发布。
该系统可以还包括第三方系统,该第三方系统被配置为发布对秘密份额的请求,监视多个已发布的秘密份额,响应于对秘密份额的请求验证由多个受托者系统发布的秘密份额,从已发布的秘密份额重新组合加密的秘密,以及然后对加密的秘密进行解密。
可选地,当秘密份额(shares)而不是秘密被加密时,第三方系统可以被配置为发布对秘密份额的请求,监视多个已发布的秘密份额,响应于对秘密份额的请求验证由多个受托者系统发布的秘密份额,从发布的秘密份额对加密的秘密份额解密,以及然后从解密的秘密份额中重新组合秘密。
第三方系统可以还被配置为使用与第三方系统相关联的密钥对的私钥来解密加密的秘密或秘密份额,或者,当利用验证密钥对的第二密钥来加密秘密时,利用验证密钥对的第一验证密钥来解密加密的秘密或秘密份额。
当秘密是对象密钥对的第一密钥时,第三方系统还被配置为从第一方系统接收加密的数据,并使用对象密钥对的、解密的第二对象密钥来解密加密的数据。
第三方系统还可以被配置为通过将与秘密份额一起发布的解密的第二验证令牌与第二验证令牌的本地副本进行比较,来验证响应于对秘密份额的请求而发布的秘密份额,使得当解密的第二验证令牌与第二验证令牌的本地副本匹配时,第三方系统获取关联的秘密份额。
每个受托者系统可以还被配置为生成第二验证令牌,使用验证密钥对的第二验证密钥对第二验证令牌进行加密以生成加密的第二验证令牌,并与秘密份额一起发布第二验证令牌和加密的第二验证令牌。在这种情况下,第三方系统还被配置为通过使用验证密钥对的第一验证密钥来解密加密的第二验证令牌,比较解密后的第二验证令牌与第二验证令牌,并在解密的第二验证令牌与第二验证令牌匹配时获取关联的秘密份额,来验证响应对秘密份额的请求而发布的秘密份额。
根据本发明的第二方面,提供了一种用于向指定的第三方系统提供对秘密的访问的方法。该方法包括在受托者系统处从第一方系统接收秘密的秘密份额并存储该秘密份额,其中该秘密或秘密份额被加密,使得只有指定的第三方系统能够访问该秘密;监视已发布的对秘密份额的请求;验证对秘密份额的请求由指定的第三方系统做出,并且如果验证成功,则响应于已验证的对秘密份额的请求发布该秘密份额。将理解的是,该方法还可以包括与上述受托者,第一方和第三方系统的所有要求保护的特征相对应的步骤。
根据本发明的第三方面,提供了一种计算机可读介质。该计算机可读介质包括指令,当该指令由计算机执行时,使该计算机执行上述方法。
附图说明
图1是本发明的系统的高层描述。
图2示出描绘了根据本发明的方法的流程图。
图3更详细地描绘了本发明的整个系统和方法。
具体实施方式
本发明的系统和方法使第一方能够向被指定的第三方提供对由第一方控制的秘密p的公开分类账安全密钥托管(“OLSKE”)访问。在本上下文中,“公开分类账安全密钥托管访问”是指提供对秘密p的访问,使得除了第一方之外,只有指定的第三方才能访问秘密p,并且使得指定的第三方的访问必须是对于第一方而言可见的,即第三方对秘密p的访问必须被公开记录,这意味着第一方至少能够确定第三方已访问秘密p。在本上下文中,术语“指定的第三方”或“指定的第三方系统”是指以下的第三方或第三方系统:其公开记录了对成功请求和获得对秘密p的访问所需的加密密钥的访问。
图1示出了本发明的系统100的整体描绘,其能够向第三方提供对加密的秘密的该OLSKE访问,该第三方已经由第一方(即原始所有者/创建者/该秘密p的控制人)指定进行该访问。图3还更详细地且根据本发明的优选实施例示出了系统100的整体描绘。在图3中,符号AvB表示可以使用A或B,而符号
Figure GDA0002975809170000061
表示特征C(以及C操作所需的元素)是可选的。
使用非对称密钥对γ,γ*(称为对象密钥对)中的第一密钥γ来加密秘密p。可以使用对象密钥对γ,γ*的第二密钥γ*来解密加密的秘密γ(p),以披露秘密p。秘密p例如可以是密码,加密密钥,或者实际上是第一方希望保密的任何其他数据。在秘密p是加密密钥或密码的情况下,秘密p可用于加密或以其它方式控制对其他数据的访问,例如,用于访问诸如个人计算机之类的电子设备的在线服务的用户账户。每当秘密p发生变化时(例如,如果p是用于访问账户的密码或加密密钥或某些其他数据),都可以自动重复本文阐述的过程,以在必要的时候保持指定的第三方访问数据的能力。例如,第一方可能出于个人原因自愿使用系统,或者可能是法律要求第一方使用系统,或者设备/软件的配置或服务使用的条款和条件要求第一方使用系统。
系统100包括多个受托者系统102,每个受托者系统可以是服务器或其他通用计算机系统、虚拟机或能够执行本文所述功能的任何其他硬件或软件元件。受托者系统102a-d中的一些或全部包括存储器,其中存储了与可用于解密秘密p的第二对象密钥γ*有关的秘密份额σi
秘密份额σi是k,n秘密份额方案(secret sharing scheme)的一部分,该方案通过将秘密s拆分为秘密份额σi(s)的集合来工作,其中i=1,…,n。可以通过组合最小数目k的秘密份额σi来从秘密份额σi中恢复秘密s,其中k≤n。无法从少于k个秘密份额σi中恢复秘密s。秘密份额方案的示例可以在“实现通用访问结构的秘密份额方案(Secret sharingscheme realizing general access structure)”(Ito,M.,Saito,A和Nishizeki,T(1989),Electron Comm,日本,第III部分,72:56-64)以及“如何分享秘密(How to share asecret)”(Shamir,A,(1979)ACM通讯,22,第612-613页)中找到。
在本系统中,被分割成秘密份额σi的秘密s至少包括第二对象密钥γ*或第二对象密钥γ*的加密版本,如下面更详细描述的。秘密份额σi还可以包括与第二对象密钥γ*有关的其他数据,例如与第三方相关联的标识符,这也在下面更详细地描述。
每个受托者系统102a-d监视分类账(ledger)104的请求消息113,该请求消息113指示对第二对象密钥γ*的访问请求。将理解的是,一个以上的第一方和一个以上的第三方可以使用系统100来提供对不同秘密的OLSKE访问,并且每个受托者系统102a-d可以持有多个秘密份额,每个秘密份额与对应于不同秘密的不同对象密钥的份额有关。这样,每个受托者系统102a-d尝试验证发布到分类账的请求消息,以便找到与受托者系统102a-d持有的秘密份额有关的请求消息。如果验证成功,则受托者系统102a-d发布响应消息114,该响应消息114包括其秘密份额σi。响应消息114可以被发布到与请求消息113被发布到的同一分类账104。可选地,响应消息114可以被发布到不同的分类账。
一旦足够数量(即,n个中的k个)的受托者系统102a-d已发布了它们存储的秘密份额σi,,就可以合并这k个发布的秘密份额σi,以便提交请求消息113的一方获得对第二对象密钥γ*的访问。为了防止受托者系统的共谋或Sybil攻击恶意地泄露第二对象密钥γ*,从而危及整个系统100,并且为了允许秘密份额σi基于需要知道而公开地发布,因此可以使用与第三方相关联的公钥α3P*来加密第二对象密钥γ*。由于然后需要私钥α3P来解密第二对象密钥γ*,因此仅第三方可以从重组的秘密份额σi中恢复第二对象密钥γ*。可选地,在加密的第二对象密钥即β*(γ*)被分成秘密份额σi,并且秘密份额σi和第二验证密钥β*被发送给受托者系统102之前,第一方系统101可以用验证密钥对β,β*(下面将更详细描述)的第二验证密钥β*对第二对象密钥γ*进行加密。以这种方式,受托者系统不能在共谋的情况下访问第二对象密钥γ*,因为无论哪种情况,它们不保存解密任一第二对象密钥γ*所需的第一验证密钥β。
作为另一种可选方案,可以使用第三方的公钥α3P*或第二验证密钥β*对秘密份额σi而不是第二对象密钥γ*进行加密。这样,因为必须先使用第三方的公钥α3P或第一验证密钥β对秘密份额σi进行解密,所以只有指定的第三方才能重新组合秘密份额σi以披露第二对象密钥γ*。
将理解的是,如果假设秘密p本身而不是第二对象密钥γ*被分割成分配给受托者系统的秘密份额σi,则该系统仍将用于提供对秘密p的OLSKE访问;但是,在这种情况下,考虑秘密p或秘密份额σi本身用第二验证密钥β*或第三方公钥α3P*来进行加密,使得秘密p在足够数量的响应消息114的发布之后不会成为公共知识。但是,如果p大,则在许多秘密份额方案中,p的每个秘密份额σi也将较大。实际上,在k,n秘密份额方案中,n个秘密份额σi中的每一个通常至少是秘密p本身的大小。因此,如本文描述的,通过控制经由第二对象密钥γ*对秘密p的访问,减少了每个秘密份额σi的大小,并且因此减少了秘密份额在受托者系统的存储器中所占据的存储空间量。如果第三方的私钥α3P被破坏(或盗用,compromised),则对象密钥对γ,γ*的使用还提供了一层保护层,以防止受托者系统进行合谋。在这种情况下,受托者系统之间的合谋可能会披露第二对象密钥γ*,但是由于受托者系统也无法访问加密的秘密γ(p),因此秘密p仍然是安全的。此外,由于针对每个秘密p生成了新的对象密钥γ,γ*,因此即使给定的对象密钥对γ,γ*被损害,也仅影响关联的秘密p。
在图1中还描绘了第一方系统101,以及由第一方101指定的要提供对秘密p的OLSKE访问的第三方系统103。下面参照图2和图3更详细地解释第一方系统和第三方系统的功能,图2和图3分别示出了根据本发明的方法200的流程图和根据本发明的总体系统图300。将理解的是,虽然某些优点可归因于第一方系统101和第三方系统103的功能以及下面阐述的受托者系统102a-d的附加功能,但是本发明的核心由受托者102提供。第一方系统101和第三方系统103的这些特征因此是示例性的,并且无需为使本发明的系统和方法起作用而被实现。
在图2所示的方法200的步骤201处,第一方系统101生成两对非对称加密密钥:对象密钥对γ,γ*和验证密钥对β,β*。第一方系统101可以是个人计算机、膝上型计算机、平板计算机、或者实际上是能够执行以下列出的功能的任何其他电子设备。
在步骤202,第一方系统使用对象密钥对中的第一对象密钥γ对秘密p进行加密,以生成加密后的秘密γ(p)。经由对象密钥对γ,γ*来控制对秘密p的访问有很多优点;然而,如上所述,当秘密p被直接分割成秘密份额σi时,本系统也起作用。
在步骤203,第一方系统101将消息111安全地发送给第三方系统103。该消息包括验证密钥对β,β*的第一验证密钥β和加密的秘密γ(p)。第三方系统103安全地存储此消息111,以备将来使用。请注意,在该方法的此阶段,第三方系统103无法访问第一方的秘密p,因为它仍然由第一对象密钥γ加密。在秘密p本身被分割成秘密份额σi而不是第二对象密钥γ*的情况下,将理解的是,秘密p不应当构成发送给第三方的消息111的一部分。发送给第三方的消息111可以进一步包括对秘密份额方案(secret sharing scheme)的指示,该方案被第一方用来生成与其他任何相关元信息一起发送给受托者系统的秘密份额σi。可选地,可以由系统或方法本身来授权特定的秘密份额方案。
消息111还可以包括与第一方相关联的标识符,使得第三方能够从消息确定第一方的身份。可选地,消息111可以通过通信信道被发送给第三方,该消息必须向第三方标识第一方,或者可以被公布(post)到分类账104,这将在下面更详细地描述。
消息111通过安全通信信道发送,例如以便确保消息111在发送过程中不受篡改,并确保只有指定的第三方(和第一方)才能访问第一验证密钥β。这确保了除了第一方系统101本身之外,仅第三方系统103可以创建对秘密份额σi的有效请求消息113,如下面更详细地描述的。
在秘密p对应于密码或加密密钥的情况下,消息111还可以包含已根据秘密p加密的数据,可以使用秘密p访问账户的情况的指示和/或可以获得由秘密p保护的其他数据的情况的任何其他指示。实际上,将理解的是,添加关于秘密p的元信息的能力不限于p对应于密码或加密密钥的情况。例如,第一方可能希望让第三方了解该秘密与一个企业的商业账户有关,而与另一企业的商业账户无关,等等。
在步骤204,第一方系统101以k,n秘密份额方案生成多个秘密份额σi,如上面关于图1所描述的,使得每个秘密份额σi包括第二对象密钥γ*的元素,即可以用来解密加密秘密γ(p)的密钥。同样如上所述,可以使用第三方的公钥α3P*或第二验证密钥β*来加密第二对象密钥γ*,其在由第一方系统101拆分为秘密份额σi之前提供给受托者系统。可选地,如上所述,可以使用第二验证密钥β*或第三方的公钥α3P*来加密秘密份额σi本身。如果使用第三方的公钥α3P*加密第二对象密钥γ*或秘密份额σi,则第三方系统103安全地持有可以用于解密第二对象密钥γ*或秘密份额σi的第三方的私钥α3P。这确保了只有第三方可以从重组后的秘密份额σi访问第二对象密钥γ*。
秘密份额σi还可以包括与第三方相关联的标识符,例如第三方公钥#(α3P*)的哈希,其可用于从重新组合的秘密份额σi标识第三方。第三方的公钥α3P*和/或公钥#(α3P*)的哈希可以例如经由密钥服务器与第三方公开关联,以便标识第三方。这样,第三方就对其访问OLSKE的请求能够承担公共责任。将理解的是,在使用第二验证密钥β*或第三方的公钥α3P*对秘密份额σi而不是第二对象密钥γ*进行加密的情况下,仅指定的第三方将能够解密该秘密份额σi,以便重新组合该秘密份额σi来披露第二对象密钥γ*。因此,在这种情况下,与第三方关联的标识符不包括在秘密份额σi中。
在步骤205,第一方101从可用的受托者系统102中选择n个受托者系统102a,102c,102d,以各自保存单个秘密份额σi。第一方选择的n个受托者系统可以出于任何原因—例如,诸如出于财务原因(例如,提供受托者服务的费用较低)或法律原因(例如,政府要求或本地数据保护立法的差异)—而随机选择或有意选择。
如上所述,为了披露秘密份额σi的内容(即加密的第二对象密钥,即α3P*(γ*)或β*(γ*)),以及可选地要披露第三方#(α3P)的身份,必须至少知道n个秘密份额σi中的k个。第一方系统101安全地发送消息(β*,σi)112,该消息包括第二验证密钥β*(其是发送给第三方的第一验证密钥β的对等物),以及n个选定的受托者系统102a,102c,102d中的每个的秘密份额σi之一。将理解的是,不同的秘密份额σi被发送给每个受托者系统102a,102c,102d。n个选定的受托者系统102a,102c,102d中的每一个都将消息(β*,σi)安全地存储为记录,以备以后使用,例如存储在数据库中。消息(β*,σi)112由第一方系统101通过安全通信信道发送到每个受托者系统102a,102c,102d,以确保只有选定的受托者系统才能访问第二验证密钥β*。这确保了仅具有由第一方系统101提供的秘密份额σi的受托者系统102a,102c,102d可以公布有效的响应消息114,如下面更详细地描述的。
将注意,第三方不知道已经选择了参加的受托者系统102中的哪个。这防止第三方与受托者系统102a,102c,102d共谋,以便通过规避本系统来获得对第二对象密钥γ*的访问。此外,使用第三方的公钥α3P*对第二对象密钥γ*进行加密,确保即使在秘密份额σi已重新组合而披露加密的第二对象密钥(即α3P*(γ*)或β*(γ*))的情况下,也仅第三方(或者在使用第二验证密钥β*加密第二对象密钥γ*时仅第三方和第一方)才能从秘密份额σi中获得第二对象密钥γ*。这样,即使包括加密秘密γ(p)的消息也已被公开发布或以其他方式被损害,也能够在不损害第二对象密钥γ*或秘密p的安全性的情况下,将秘密份额σi发布到可公开访问的分类账。此外,使用第三方的公钥α3P*或第二验证密钥β*对第二对象密钥γ*进行加密,或者使用第二验证密钥β*对秘密份额σi进行加密,会防止第二对象密钥γ*受到以下损害:受托者系统的共谋或旨在破坏整个系统的Sybil攻击。
将理解的是,执行步骤202/203和204/205的顺序并不重要,因为在从第一方系统101接收消息111之后,第三方不太可能立即请求访问第二对象密钥γ*。
当第三方希望获得对第二对象密钥γ*的访问权以访问秘密p时,如上所述,第三方系统103创建请求消息113。请求消息113包括任意令牌T和β(T),该令牌T的副本已经使用由第三方系统103安全地持有的验证密钥对β,β*的第一验证密钥β加密。如上所述,第二验证密钥β*的副本由第一方选择的受托者系统102a,102c,102d中的各个持有,以保存秘密份额σi
请求消息113被发布到分类账104a,该分类账104a至少可以由受托者系统102和第一方系统101访问。在步骤206,每个受托者系统102持续地针对与由受托者系统持有的秘密份额σi相对应的请求消息113来监视分类账104a。在步骤207,第三方系统103将请求消息113发布到分类账104a,该分类账至少可以由受托者系统102和第一方系统101访问。
将理解的是,每个受托者系统102可以维护大量记录,每个记录包括已经从各种第一方传送到受托者系统102的不同的验证密钥和秘密份额。因此,作为步骤206的监视过程的一部分,每个受托者系统尝试验证发布到分类账的请求消息,以便确定发布到分类账104a的每个请求是否是对给定受托者系统102持有的秘密份额的请求。对于由受托者系统102保存的每个记录,受托者系统102尝试使用该记录中保存的验证密钥来解密请求消息的加密令牌β(T),即执行操作β*(β(T))。然后将操作β*(β(T))的输出与请求消息的未加密令牌T进行比较。如果保存在给定记录中的第二验证密钥β*是第三方在生成请求消息113时用来加密令牌T的第一验证密钥β的对应密钥,则解密后的令牌β*(β(T))将与请求消息的未加密令牌T相同。这样,每个受托者系统102能够确定其保存的记录是否与第三方系统103发布到分类账104a的请求相关联。如果解密的令牌与未加密的令牌不匹配,则受托者系统102针对请求消息中提供的加密和未加密令牌移动到下一条记录的验证密钥并对其进行测试。如果解密的令牌确实与未加密的令牌匹配,即消息在方法200的步骤208处得到验证,则受托者系统102在方法200的步骤210处公布与请求消息113相匹配的相关记录中保存的秘密份额σi
还将理解的是,由受托者系统102采用的验证过程可以由第一方系统101采用,以便确定第三方系统103正在尝试访问第二对象密钥γ*,以及因此访问秘密p。与其令牌验证步骤仅披露了从其接收第二验证密钥β*的第一方的身份的受托者系统不同,第一方可以保留验证密钥对β,β*与第三方的关联的记录。这样,通过尝试使用仍然由第一方系统101保持的第二验证密钥β*来解密请求消息的加密令牌β(T),并将结果与未加密令牌T进行比较,第一方系统101可以确定请求是由第三方系统103(第一方系统101向其发送了第一验证密钥β)发布的。
在步骤207将请求消息113匿名发布到分类账104a之后,第三方系统103在步骤209中针对响应消息114监视分类账104b。第三方系统使用响应消息114中包含的验证工具来确定是否每个响应消息114与请求消息113相关联,如下文描述。
在步骤210,如上所述,当受托者系统102确定请求消息113与该受托者系统所保存的记录之间匹配时,受托者系统将包括秘密份额σi的响应消息114发布到分类账104b。如果在将秘密份额提供给受托者系统102之前,第一方系统101没有使用第二验证密钥β*对秘密份额σi进行加密,则可以将在响应消息114中发布的秘密份额σi由受托者系统使用受托者系统102持有的第二验证密钥β*进行进一步加密。这样,只有第三方才能解密秘密份额σi,以披露(加密的)第二对象密钥γ*。
响应消息114被发布到的分类账104b可以与请求消息113被公布到的分类账104a是同一分类账。可选地,响应消息114被发布到的分类账104b可以是不同的分类账,只要分类账104b是第三方系统103可访问的-以便获取秘密份额σi,并且是第一方系统101可访问的-以便确定秘密份额σi已经发布。当发布响应消息114时,如果受托者系统102知道第一方的身份,则受托者系统102还可以通知第一方系统101。
将理解的是,直到n个响应消息114中的至少k个已经被发布并且其中所包含的秘密份额σi已经被重新组合为止,即使受托者系统102知道已经使用了秘密份额方案,由于第三方的标识符#(α3P*)也可能是秘密份额σi的一部分,因此受托者系统102也无法知道第三方的身份。实际上,通过使用验证密钥对β,β*验证请求消息,受托者系统102能够识别和验证公布到分类账的消息,而无需了解第三方的真实身份。这防止受托者系统102出于任何原因歧视第三方,并且确保对每个请求消息和记录的一致处理。
在可选布置中,受托者系统102确实可以知道第三方的身份,或者可以至少知道与第三方相关联的公钥α3P*或其哈希#(α3P*)。第一方系统101可以将与第三方相关联的整个公钥或其哈希作为消息112的一部分或与消息112一起发送给受托者系统102。这种布置使受托者系统能够以如下方式要求自第一方将消息112发送给受托者系统102以来,第三方没有改变:例如,通过要求使用第三方的私钥α3P有效地签名第三方发布的请求消息113—例如,通过加密请求消息的哈希,并与请求消息113一起发送加密的哈希。在这种布置中,当发布响应消息114时,每个受托者系统102还可以发布整个公钥或与第三方相关联的其他标识符。
如上所述,由每个受托者系统公布的响应消息114至少包括由受托者系统持有的秘密份额σi和使第三方系统103能够识别和验证与第三方系统103的请求消息113相关联的响应消息114的验证工具。为此,验证工具还可以包括秘密份额的加密版本β*(σi),或者秘密份额的加密哈希β*(#(σi))。在步骤211,第三方系统103既确定响应消息114与其请求消息113相关联,又通过比较操作β(β*(σi))的结果与秘密份额σi或操作β(β*(#(σi)))与秘密份额的哈希#(σi)来验证受托者系统102持有第二验证密钥β*。如果操作的结果与秘密份额σi或秘密份额的哈希#(σi)匹配,则第三方可以确信发布了响应消息114的受托者系统102持有作为第三方系统103持有的第一验证密钥β的对等物的第二验证密钥β*,并且响应消息114是响应于第三方系统的请求消息113而合法发布的。当然,在使用秘密份额的哈希#(σi)的情况下,受托者系统102和第三方系统103两者必须使用相同的哈希函数来生成哈希。例如因此作为协议规范的一部分而预先同意特定的哈希函数,例如MD5或SHA-1/2/3,或者可选地,可以在响应消息中指定它们。
作为使用秘密份额σi或其哈希作为令牌来验证响应消息114的可选方案,响应消息114可以替代地包括第二任意令牌V和第二令牌的加密版本β*(V)。然后由第三方系统103使用这些令牌,以便以类似于上面针对请求消息113的验证所讨论的令牌T和加密令牌β(T)的方式,通过将操作β(β*(V))的结果与未加密令牌V进行比较,来验证响应消息。给定的受托者系统102在其响应消息中使用的令牌V是唯一令牌,即不同于其他受托者系统102在它们的响应消息中使用的其他令牌V。例如,令牌V可以是与单独的受托者系统102相关联的公钥的哈希,即#(αTS*)。通过使用秘密份额σi,秘密份额的哈希#(σi)或唯一令牌V,本系统和方法防止了不能访问第二验证密钥β*的受托者系统102或其他有权访问分类账的参与者的响应消息的欺骗。
可选地,用于验证请求和响应消息的令牌T和V都可以分别被单个令牌W和第一验证密钥β代替,该单个令牌由第一方系统101生成并与加密的秘密p一起安全地发送到第三方系统103,并与秘密份额和第二验证密钥β*一起安全地发送到选定的受托者系统102。然后,每个受托者系统102被配置为将在请求消息113中接收到的令牌W与它自己的令牌W的副本进行比较,以确定请求消息113对应于受托者系统所持有的秘密份额。验证密钥β,β*以与上述相同的方式用于验证请求,即确定公布了请求消息的实体持有相关的第一验证密钥β,并因此由第一方指定。类似地,第三方系统103然后被配置为将响应消息114中的令牌W与其自身的令牌W的副本进行比较,以确定响应消息114与其请求相对应。
可选地,第三方系统可以被配置为使用第一验证密钥β来来将请求消息113的验证工具限制为仅包括加密令牌β(W),而不会也包括未加密令牌W。然后,每个受托者系统都配置为使用第二验证密钥β*将这种加密令牌的解密与安全地存储在其存储器中的令牌W进行比较,并以此方式确定请求消息113对应于受托者系统保持的秘密份额且同时验证请求消息113已经由指定的第一方公布。
当该系统被许多第一方使用时,针对不同秘密p生成重复验证密钥的可能性会增加(类似于在所谓的生日问题中观察到的现象)。如果使用重复的验证密钥,则为第一个秘密发布的请求消息也可能会请求与第二个秘密有关的响应,且反之亦然。单个令牌W的使用降低了重复的验证密钥β,β*导致不正确的响应消息114被发布的可能性,因为验证密钥β,β*和令牌W两者都必须被复制以便发生这种冲突。
由第三方系统103发布的请求消息113还可以包括将要与每个响应消息114一起发布的标识符,以便于其他各方确定哪些响应消息是相关的,且从而确定哪些公开的秘密份额σi是相关的。可选地,请求消息113以及相关的响应消息114可以是通过分类账的布局配置能够被识别的,例如,通过强制将消息在分类账上捆绑在一起。这样,假设秘密份额方案是众所周知的,则任何感兴趣的可访问分类账104b的一方都可以重新组合已发布的秘密份额σi,以披露第三方#(α3P)的身份,而无需访问验证密钥β,β*。如果分类账104b是可公开访问的,则此布置将使第三方的行为能够公开负责。可以地,可以例如通过将第三方的身份哈希包括在响应消息114中,来利用每个响应消息114披露请求第三方的身份,即,不作为秘密份额σi的一部分。然而,这样做将允许受托者系统根据请求方针对要处理的请求消息进行区分。尽管这通常不是优选的,但是在需要完全透明的情况下这可能是有利的。
在发布响应消息114之后,每个受托者系统可以可选地将包括已发布的秘密份额σi的记录标记为已关闭,或者甚至可以删除该记录。因为已经发布的旧记录将从上面阐述的验证过程中排除,这会减少受托者系统102对未来的请求消息113进行验证的计算负担。
将理解的是,步骤206、208和210以及上述受托者系统的附加功能通常将由每个受托者系统单独地执行。
在步骤211,一旦n个受托者系统102中的至少k个已经发布了响应消息114并且响应消息114已经由第三方系统113验证和获得,则第三方系统103重新组合秘密份额σi以披露加密的第二对象密钥,即α3P*(γ*)或β*(γ*)。如果第二对象密钥γ*是使用第三方的公钥α3P*进行加密的,则在从响应消息的发布的秘密份额σi获得加密的第二对象密钥α3P*(γ*)之后,第三方系统103使用其私钥α3P来获取第二对象密钥γ*。如果第二对象密钥γ*或秘密份额σi是使用第二验证密钥β*进行加密的,则第三方系统103在适当的时间使用第一验证密钥β来解密第二对象密钥γ*或秘密份额σi。然后,第三方系统103使用所披露的第二对象密钥γ*来解密先前从第一方系统101接收到的加密秘密γ(p)。
此外,一旦足够数量(即,n个中的k个)的响应消息114已发布到分类账104b,则第三方可以关闭原始请求消息113或向分类账104a/104b公布另一个消息,以指示请求消息113关闭。以这种方式,受托者系统102知道将来不要再尝试验证关闭的请求消息,从而减少了验证过程的计算负担。
可选地,系统可以要求响应消息114需要在设定的时间段内或在分类账上特定数量的“块”内公布。如果该时间段到期时发布的响应数不足,即少于n个中的k个,则第三方将需要发布另一个请求消息113。以这种方式来鼓励及时发布响应,因为任何给定的受托者系统都可以确定其他受托者系统(但少于k个)已经发布了对请求的响应,且因此可以在时限内公布其秘密份额σi,以避免浪费工作或财务抑制。
如上所述,分类账(一个或多个)104a,104b可以由第一方系统101在任何时间检查,或者实际上可以由第一方系统101连续地监视。第一方系统可以使用验证密钥对β,β*验证用于OLSKE访问的任何已发布请求消息113的合法性。可选地或另外地,任何受托者系统102可以在一旦使用受托者系统102所持有的第二验证密钥β*对请求消息113进行验证后,将请求消息113告知或通知第一方系统101。由于第一方系统101保留了在验证密钥对β,β*与第一方已向其提供OLSKE访问的第三方的身份之间的关联,第一方可以从请求消息113中推论出第三方的身份—在请求消息113有效的情况下。
此外,在第二对象密钥γ*或秘密份额σi是使用第二验证密钥β*加密的情况下,第一方系统101还可将请求消息发布到分类账104a以获得第二对象密钥γ*,只要第一方系统101在将第一验证密钥β发送给第三方系统103后保留了该第一验证密钥即可。以这种方式,在其p原始副本丢失的情况下,第一方系统可能能够恢复对秘密p的访问。如果秘密p自身被加密并被分割成被传送到受托者系统102的秘密份额σi,则第一方系统101只需保留第一验证密钥β以便恢复该秘密。如果第二对象密钥γ*被加密并分成秘密份额σi,则第一方系统101也必须保留加密秘密γ(p)的副本。因此,本系统还可以用作密码或其他秘密p的恢复机制。实际上,当这样使用系统时,不需要存在第三方系统103。
在秘密恢复机制的另一实施例中,秘密p使用与第一方相关联的公钥α1P*来加密,或者直接分割成使用与第一方相关联的公钥α1P*来加密的秘密份额。然后,秘密份额与令牌Y一起安全地发送给受托者系统。受托者系统可以接收第一方的公钥α1P*的副本,或者可以从密钥服务器中获取公钥α1P*,以与秘密份额进行存储。当第一方希望恢复秘密p时,第一方将请求消息发布到分类账,其包括令牌的加密版本α1P(Y),该令牌已用第一方的私钥加密。然后,可以对上述概述的验证方法进行必要的更改,以使用第一方的公钥α1P*而不是第二验证密钥β*。第一方可以获取响应于请求消息而发布的秘密份额,并使用其私钥α1P解密该秘密或秘密份额。这种使用第一方的公钥和私钥的布置意味着,第一方只需要保留对其私钥α1P的访问以便恢复秘密。
如果第一方希望随时撤销已提供给第三方的OLSKE访问,则第一方系统101向每个受托者系统102发送消息,指示受托者系统102删除它们各自保持的秘密份额σi。如果第一方系统101也要同时向第三方系统103发送删除消息,则第三方可能会尝试立即从受托者系统102中获取第二对象密钥γ*。如果出于某种原因,第三方的请求在第一方的删除消息之前被处理,则第三方可能能够获得对第二对象密钥γ*的未授权(尽管仍然是公开的)访问。因此,受托者系统102可以将确认消息发送给第一方系统101以指示秘密份额σi已经被删除。一旦第一方101从受托者系统102接收到n–k+1确认,即一旦受托者系统102不再保持有足够的秘密份额σi供任何一方重组第二对象密钥γ*,第一方系统101也可以将删除消息转发给第三方系统。可选地,在秘密p是用于访问其他数据的密码或密钥的情况下,第一方可以简单地改变p,以防止第三方访问其他数据。
为了防止大量的具有机会性的或虚假的请求消息113和响应消息114分类账104a,104b,在将消息公布到分类账时可能施加计算或财务负担。例如,为了将消息公布到分类账,可能需要受托者系统102或第三方103来计算块中例如区块链中的现有消息的哈希。区块链的一个例子在S.Nakamoto的“比特币:点对点电子现金系统(Bitcoin:A Peer-to-PeerElectronic Cash System)”(<https://bitcoin.org/bitcoin.pdf>),或在V.Buterin的“下一代智能合约和去中心化应用平台(A Next Generation Smart Contract&Decentralized Application Platform)”(<http://www.the-blockchain.com/docs/Ethereum_white_paper-a_next_generat ion_smart_contract_and_decentralized_application_platform-vitalik-buterin.pdf>)中进行了描述。当然,可以使用其他形式的分布式分类账,例如共识分类账,如D.Schwartz,N.Youngs,A.Britto的“Ripple协议共识算法(The Ripple Protocol Consensus Algorithm)”(<https://prod.coss io/documents/white-papers/ripple.pdf>中该)中描述的;如S.Popov的“The Tangle”(<https://iota.org/IOTA_Whitepaper.pdf>)中描述的有向无环图。
为了使OLSKE访问有效地运行,第一方应充分确信第三方(或实际上是任何其他人)不能获得对秘密p的访问,除非第三方以第一方已知的方式请求这该访问,作为公开记录事务。如果第二对象密钥γ*被委托给单个受托者系统,则第三方会相对容易地直接向受托者系统的操作者施加不适当的非公开压力以秘密地披露第二对象密钥γ*,即在第一方不了解的情况下。确实,这是依赖可信方提供安全性的密码协议的普遍问题,例如颁发数字证书以用于HTTP安全的证书颁发机构。如上所述,在本发明的系统或方法中,第三方将不得不识别然后成功地向n个选定的受托者系统102a,102b,102c中的至少k个的操作者施压,以在第一方不知情的情况下获得第二对象密钥γ*。第一方可以从中自由选择n个受托者系统102a,102c,102d来保持秘密份额σi的可用受托者系统102的数量越多,且数量n和k越大,第三方越难成功地向受托者系统施加压力,使其在系统外部披露足够数量的,即k个,秘密份额σi。因此,本文的分散系统迫使第三方使用分类账系统104a,104b,以便以使得第一方能够知道是否以及何时请求了对第二对象密钥γ*的访问的方式来访问第二对象密钥γ*。此外,使用秘密份额方案来安全地分散第二对象密钥γ*的存储避免了创建明显的蜜罐,以供恶意第三方攻击,以试图获得对对象密钥的访问,对象密钥则需要集中存储
通过描述,星号*已被用来表示一对互补非对称加密密钥中的一个密钥。尽管在本公开中被称为“公”钥的密钥已经用星号表示,但是应当注意,由星号表示的密钥不一定是发布的或以其他方式可公开获得的,因为除非另有说明,术语“公钥”通常将意味着且实际上由持有或接收密钥的任何方安全且秘密地持有。实际上,对象密钥对γ,γ*和验证密钥对β,β*并未以通常与非对称加密密钥相关联的常规公共/私有方式使用,而是由第一方系统101提供给受托者系统102和第三方103,以控制对秘密p的访问,并允许受托者系统102和第三方103验证彼此发布的消息。此外,将理解的是,从数学上来说,超出了如下内容,则公钥和私钥之间通常没有硬性区别,其被秘密持有且可供第三方使用-密钥对中的任何一个都可以用于加密数据,而另一个密钥可以解密数据。这样,在对象,验证和请求密钥的上下文中,一个带星号的密钥和另一个不带星号的密钥的指示应被认为是任意选择,并且可以在不更改基础系统的实际功能的情况下容易地使用交替的指示。
以下是可能要求保护或可能不要求保护的实施例的列表。
1.一种用于向指定的第三方系统提供对秘密的访问的系统,该系统包括:
多个受托者系统,其中每个受托者系统配置为:
从该第一方系统接收该秘密的秘密份额并存储该秘密份额,其中该秘密或秘密份额被加密,使得只有指定的第三方系统能够访问该秘密;
监视已发布的对该秘密份额的请求;
验证对该秘密份额的请求由该指定的第三方系统做出;且
如果该验证成功,则响应于已验证的对该秘密份额的请求,发布该秘密份额
2.实施例1的系统,其中,对该秘密份额的请求包括验证令牌和加密的验证令牌,并且其中每个受托者系统还被配置为:
与该秘密份额一起从该第一方系统接收验证密钥对的第二密钥,并存储该验证密钥对的第二密钥;
通过使用该验证密钥对的第二密钥来解密该加密的验证令牌,并将解密的验证令牌与所述验证令牌进行比较,来验证对该秘密份额的请求由该指定的第三方系统做出;和
如果该验证消息的验证令牌与解密的验证令牌匹配,则发布关联的秘密份额。
3.实施例1的系统,其中,对该秘密份额的请求包括加密的验证令牌,并且其中,每个受托者系统还被配置为:
与该秘密份额一起从该第一方系统接收该验证密钥对的第二密钥,并存储该验证密钥对的第二密钥;
从该第一方系统接收验证令牌并存储该验证令牌;
通过使用该验证密钥对的第二密钥来解密加密的验证令牌,并将解密的验证令牌与从该第一方系统接收的验证令牌进行比较,来验证对该秘密份额的请求由该指定的第三方系统做出。
4.任一前述实施例的系统,其中每个秘密份额还包括与该第三方系统相关联的标识符的份额,使得该标识符可以从该秘密份额中得出。
5.实施例1至3中任一个的系统,其中,每个受托者系统还被配置为:
与秘密份额一起从第一方系统接收与第三方系统相关联的标识符;和
与秘密份额一起发布与第三方系统关联的标识符。
6.实施例5的系统,其中,每个受托者系统还被配置为验证自从生成该多个秘密份额以来,该第三方系统的身份没有改变。
7.实施例4至6中任一个的系统,其中与该第三方系统相关联的标识符包括与该第三方系统相关联的公钥指纹或该公钥的哈希。
8.任一前述实施例的系统,其中,每个受托者系统还被配置为在发布其秘密份额时通知第一方系统。
9.任一前述实施例的系统,进一步包括第一方系统,其中该第一方系统被配置为:
加密秘密;
生成加密的秘密的秘密份额;和
将秘密份额发送给多个受托者系统。
10.实施例1至8中任一个的系统,还包括第一方系统,其中,该第一方系统被配置为:
生成秘密的秘密份额;
加密秘密份额;和
将加密的秘密份额发送给多个受托者系统。
11.实施例9或10的系统,其中,该第一方系统被配置为使用与第三方系统相关联的公共加密密钥来对该秘密或秘密份额进行加密。
12.实施例9或实施例10的系统,其中,第一方系统还被配置为向第三方系统发送解密该加密的秘密份额或加密的秘密份额所需的密钥。
13.当依赖于实施例2或3时,实施例12的系统,其中,第一方系统被配置为使用验证密钥对的第二验证密钥来加密秘密或秘密份额,并且其中解密所加密的秘密或加密的秘密份额所需要的密钥是验证密钥对中的第一验证密钥。
14.实施例9至13中的任一个的系统,其中,该秘密是对象密钥对的第二对象密钥,并且其中,第一方系统还被配置为:
使用对象密钥对的第一对象密钥来加密数据;和
将加密后的数据发送给第三方系统;
15.在依赖于实施例3时,实施例9至14中的任一个的系统,其中,第一方系统还被配置为:
生成验证令牌;
将验证令牌发送给多个受托者系统;和
将验证令牌发送给第三方系统。
16.在依赖于实施例4时,实施例9至15中任一项的系统,其中,第一方系统还被配置为:
监视来自多个受托者系统的多个已发布的秘密份额;和
重新组合已发布的秘密份额以披露与第三方系统关联的标识符。
17.实施例9至16中的任一个的系统,其中,第一方系统还被配置为从一组可用受托者系统中选择多个受托者系统,其中,该多个受托者系统是该一组可用受托者系统的子集。
18.任一前述实施例的系统,其中秘密份额是(k,n)秘密份额方案的一部分,每个秘密份额包括秘密或加密秘密的份额,使得该总共n个秘密份额的k个秘密份额的子集可用于得出秘密或加密的秘密。
19.实施例17和18的系统,其中,所选择的多个受托者系统包括n个受托者系统。
20.在依赖于实施例2、3或13中的一个或多个实施例时,实施例9至19中的任何一个的系统,其中,第一方系统还被配置为将验证密钥对的第二密钥发送给该多个受托者系统中的各个,以及将验证密钥对的第一密钥发送给第三方系统。
21.在依赖于实施例2时,实施例9至20中任一个的系统,其中,第一方系统还被配置为:
通过使用验证密钥对的第二密钥解密加密的验证令牌,并将解密的验证令牌与验证令牌进行比较,来分析发布的秘密份额请求;和
如果验证消息的验证令牌与解密的验证令牌匹配,则确定对秘密份额的请求由指定的第三方系统发布。
22.当依赖于实施例3时,实施例9至20中任一个的系统,其中,第一方系统还被配置为:
通过使用验证密钥对的第二密钥来解密加密的验证令牌并将解密的验证令牌与第一方系统持有的验证令牌进行比较,来分析对秘密份额的请求;和
如果第一方系统持有的验证令牌与解密的验证令牌匹配,则确定对秘密份额的请求由指定的第三方系统发布。
23.任一前述实施例的系统,还包括第三方系统,其中该第三方系统被配置为:
公布对秘密份额的请求;
监视多个已发布的秘密份额;
响应于对秘密份额的请求,验证由多个受托者系统发布的秘密份额;
从已发布的秘密份额中重新组合加密的秘密;和
解密加密的秘密。
24.实施例1至22中任一个的系统,还包括第三方系统,其中,该第三方系统被配置为:
公布对秘密份额的请求;
监视多个已发布的秘密份额;
响应于对秘密份额的请求,验证由多个受托者系统发布的秘密份额;
从已发布的秘密份额解密加密的秘密份额;和
从解密的秘密份额重新组合秘密。
25.当依赖于实施例11时,实施例23或24的系统,其中,第三方系统还被配置为使用与该第三方系统相关联的密钥对的私钥来解密该加密的秘密。
26.当依赖于实施例12或13时,实施例23或24的系统,其中第三方系统还被配置为:
从第一方系统接收解密加密的秘密或加密的秘密份额所需的密钥;和使用解密从第一方收到的加密秘密或加密秘密份额所需的密钥来解密加密秘密。
27.当依赖于实施例14时,实施例23至26中任一个的系统,其中,第三方系统还被配置为:
从第一方系统接收加密的数据;
使用解密的对象密钥对的第二对象密钥来解密加密的数据。
28.当依赖于实施例15时,实施例23至27中任一个的系统,其中,第三方系统还被配置为:通过比较与秘密份额一起发布的解密的第二验证令牌与第二验证令牌的本地副本,来验证响应于对秘密份额的请求而发布的秘密份额,使得当解密的第二验证令牌与第二验证令牌的本地副本匹配时,第三方系统获取关联的秘密份额。
29.实施例23至27中任一实施例的系统,其中每个受托者系统还被配置为:
生成第二验证令牌;
使用验证密钥对的第二验证密钥对第二验证令牌进行加密以生成加密的第二验证令牌;和
与秘密份额一起发布第二验证令牌和加密的第二验证令牌;
其中,第三方系统还被配置为:
通过以下方式验证响应对秘密份额的请求而发布的秘密份额:
使用验证密钥对的第一验证密钥对加密的第二验证令牌进行解密;
比较解密的第二验证令牌与第二验证令牌;和
当解密的第二验证令牌与第二验证令牌匹配时,获取关联的秘密份额。
30.实施例29的系统,其中该第二验证令牌是该秘密份额的哈希,与该受托者系统相关联的公钥的哈希,或唯一标识符。
31.任一前述实施例的系统,其中在安全通信信道上执行该第一方系统与该多个受托者系统之间的通信和/或该第一方系统与该第三方系统之间的通信。
32.任一前述实施例的系统,其中秘密份额由多个受托者系统发布到第一分类账。
33.任一前述实施例的系统,其中,对秘密份额的请求被发布到第一分类账或第二分类账。
34.实施例32或33的系统,其中分类账是区块链,有向无环图或共识分类账。
35.实施例32至34中任一实施例的系统,其中分类账是公众可访问的。
35.一种用于向指定的第三方系统提供对秘密的访问的方法,该方法包括:
在受托者系统处从第一方系统接收秘密的秘密份额并存储该秘密份额,其中该秘密或秘密份额被加密,使得只有指定的第三方系统可以访问该秘密;
监视已发布的对秘密份额的请求;
验证指定的第三方系统是否已请求秘密份额;和
如果验证成功,则响应于对秘密份额的已验证请求,发布秘密份额。
36.一种包括指令的计算机可读介质,该指令在由计算机执行时使该计算机执行实施例36的方法。

Claims (21)

1.一种用于向指定的第三方系统提供对秘密的访问的系统,所述系统包括:
多个受托者系统,其中每个受托者系统被配置为:
从第一方系统接收所述秘密的秘密份额并存储所述秘密份额,其中所述秘密或秘密份额被加密,使得只有指定的第三方系统能够访问所述秘密;
监视已发布的对所述秘密份额的请求;
验证对所述秘密份额的请求由所述指定的第三方系统做出;且
如果所述验证成功,则响应于已验证的对所述秘密份额的请求,发布所述秘密份额;
其中,所述秘密份额由所述受托者系统发布至第一分类账,并且其中,对所述秘密份额的请求被发布至所述第一分类账或者第二分类账。
2.根据权利要求1所述的系统,其中,对所述秘密份额的请求包括验证令牌和加密的验证令牌,并且其中每个受托者系统还被配置为:
与所述秘密份额一起从所述第一方系统接收验证密钥对的第二密钥,并存储所述验证密钥对的第二密钥;
通过使用所述验证密钥对的所述第二密钥来解密所述加密的验证令牌,并将解密的验证令牌与所述验证令牌进行比较,来验证对所述秘密份额的请求由所述指定的第三方系统做出;和
如果所述验证令牌与所述解密的验证令牌匹配,则发布关联的秘密份额。
3.根据权利要求1所述的系统,其中,对所述秘密份额的请求包括加密的验证令牌,并且其中,每个受托者系统还被配置为:
与所述秘密份额一起从所述第一方系统接收验证密钥对的第二密钥,并存储所述验证密钥对的第二密钥;
从所述第一方系统接收验证令牌并存储所述验证令牌;
通过使用所述验证密钥对的第二密钥来解密加密的验证令牌,并将解密的验证令牌与从所述第一方系统接收的所述验证令牌进行比较,来验证对所述秘密份额的请求由所述指定的第三方系统做出。
4.根据前述权利要求中的任一项所述的系统,其中每个秘密份额还包括与所述第三方系统相关联的标识符的份额,使得所述标识符能够从所述秘密份额中得出;或者,其中每个受托者系统还被配置为:
与所述秘密份额一起从所述第一方系统接收与所述第三方系统相关联的标识符;和
与所述秘密份额一起发布与所述第三方系统关联的标识符。
5.根据前述权利要求中的任一项所述的系统,还包括第一方系统,其中所述第一方系统被配置为:
加密所述秘密;
生成加密的秘密的秘密份额;和
将所述秘密份额发送给所述多个受托者系统。
6.根据权利要求1-4中的任一项所述的系统,还包括第一方系统,其中,所述第一方系统被配置为:
生成所述秘密的秘密份额;
加密所述秘密份额;和
将加密的秘密份额发送给所述多个受托者系统。
7.根据权利要求5或6所述的系统,其中,所述第一方系统被配置为使用与所述第三方系统相关联的公共加密密钥来对所述秘密或秘密份额进行加密。
8.根据从属于权利要求2或3时的权利要求5或6所述的系统,其中,所述第一方系统被配置为使用验证密钥对的第二验证密钥来加密所述秘密或秘密份额,并且其中解密所述秘密或秘密份额所需要的密钥是所述验证密钥对的第一验证密钥。
9.根据权利要求5-8中的任一项所述的系统,其中,所述秘密是对象密钥对的第二对象密钥,并且其中所述第一方系统还被配置为:
使用所述对象密钥对的第一对象密钥来加密数据;和
将加密的数据发送给所述第三方系统。
10.根据从属于权利要求3时的权利要求5-9中的任一项所述的系统,其中,所述第一方系统还被配置为:
生成验证令牌;
将所述验证令牌发送给多个受托者系统;和
将所述验证令牌发送给第三方系统。
11.根据权利要求5-10中的任一项所述的系统,其中,所述第一方系统还被配置为从一组可用受托者系统中选择所述多个受托者系统,其中,所述多个受托者系统是所述一组可用受托者系统的子集。
12.根据从属于权利要求2时的权利要求5至11中任一项所述的系统,其中,所述第一方系统还被配置为:
通过使用验证密钥对的第二密钥来解密所述加密的验证令牌,并将解密的验证令牌与所述验证令牌进行比较,来分析发布的对秘密份额的请求;和
如果验证令牌与解密的验证令牌匹配,则确定对所述秘密份额的请求由所述指定的第三方系统发布。
13.根据从属于权利要求3时的权利要求5至11中任一项所述的系统,其中,所述第一方系统还被配置为:
通过使用验证密钥对的第二密钥来解密所述加密的验证令牌并将解密的验证令牌与所述第一方系统持有的验证令牌进行比较,分析对秘密份额的请求;和
如果所述第一方系统持有的验证令牌与解密的验证令牌匹配,则确定对所述秘密份额的请求由所述指定的第三方系统发布。
14.根据前述权利要求中的任一项所述的系统,还包括第三方系统,其中所述第三方系统被配置为:
公布对所述秘密份额的请求;
监视多个已发布的秘密份额;
响应于对所述秘密份额的请求,验证由所述多个受托者系统发布的秘密份额;
从已发布的秘密份额重新组合加密的秘密;和
解密所述加密的秘密。
15.根据权利要求1-13中的任一项所述的系统,还包括第三方系统,其中,所述第三方系统被配置为:
公布对所述秘密份额的请求;
监视多个已发布的秘密份额;
响应于对所述秘密份额的请求,验证由所述多个受托者系统发布的秘密份额;
从已发布的秘密份额解密加密的秘密份额;和
从解密的秘密份额重新组合秘密。
16.根据权利要求2或3所述的系统,其中,所述第三方系统还被配置为使用与所述第三方系统相关联的密钥对的私钥或与所述验证密钥对的第一验证密钥相关联的密钥对的私钥,来解密所述加密的秘密或秘密份额。
17.根据从属于权利要求9时的权利要求14-16中的任一项所述的系统,其中,所述第三方系统还被配置为:
从所述第一方系统接收加密的数据;
使用对象密钥对的、解密的第二对象密钥来解密加密的数据。
18.根据从属于权利要求10时的权利要求14-17中的任一项所述的系统,其中,所述第三方系统还被配置为:通过将与所述秘密份额一起发布的解密的第二验证令牌与第二验证令牌的本地副本进行比较,来验证响应于对所述秘密份额的请求而发布的秘密份额,使得当解密的第二验证令牌与第二验证令牌的本地副本匹配时,所述第三方系统获取关联的秘密份额。
19.根据权利要求14-17中的任一项所述的系统,其中每个受托者系统还被配置为:
生成第二验证令牌;
使用验证密钥对的第二验证密钥来对第二验证令牌进行加密以生成加密的第二验证令牌;和
与秘密份额一起发布所述第二验证令牌和所述加密的第二验证令牌;
其中,第三方系统还被配置为:
通过以下方式验证响应对秘密份额的请求而发布的秘密份额:
使用验证密钥对的第一验证密钥来解密加密的第二验证令牌;
比较解密的第二验证令牌与所述第二验证令牌;和
当解密的第二验证令牌与所述第二验证令牌匹配时,获取关联的秘密份额。
20.一种用于向指定的第三方系统提供对秘密的访问的方法,所述方法包括:
在受托者系统处从第一方系统接收所述秘密的秘密份额并存储所述秘密份额,其中所述秘密或秘密份额被加密,使得只有指定的第三方系统能够访问所述秘密;
监视已发布的对所述秘密份额的请求;
验证对所述秘密份额的请求由所述指定的第三方系统做出;和
如果所述验证成功,则响应于已验证的对所述秘密份额的请求,发布所述秘密份额;
其中,所述秘密份额由所述受托者系统发布至第一分类账,并且其中,对所述秘密份额的请求被发布至所述第一分类账或者第二分类账。
21.一种包括指令的计算机可读介质,所述指令在由计算机执行时使所述计算机执行根据权利要求20所述的方法。
CN201980050667.3A 2018-06-01 2019-05-31 用于向经授权的第三方提供对秘密的公开分类账安全密钥托管访问的系统和方法 Active CN112673591B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP18175515.8 2018-06-01
US15/996,336 2018-06-01
US15/996,336 US20190372765A1 (en) 2018-06-01 2018-06-01 System and Method for Providing an Authorised Third Party with Overt Ledger Secured Key Escrow Access to a Secret
EP18175515.8A EP3576000B1 (en) 2018-06-01 2018-06-01 System and method for providing an authorised third party with overt ledger secured key escrow access to a secret
PCT/EP2019/064227 WO2019229257A1 (en) 2018-06-01 2019-05-31 System and method for providing an authorised third party with overt ledger secured key escrow access to a secret

Publications (2)

Publication Number Publication Date
CN112673591A CN112673591A (zh) 2021-04-16
CN112673591B true CN112673591B (zh) 2021-12-31

Family

ID=66668951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980050667.3A Active CN112673591B (zh) 2018-06-01 2019-05-31 用于向经授权的第三方提供对秘密的公开分类账安全密钥托管访问的系统和方法

Country Status (3)

Country Link
CN (1) CN112673591B (zh)
SG (1) SG11202011475RA (zh)
WO (1) WO2019229257A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11777720B2 (en) 2020-06-12 2023-10-03 Nagravision Sàrl Distributed anonymized compliant encryption management system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436930A (zh) * 2007-11-16 2009-05-20 华为技术有限公司 一种密钥分发的方法、系统和设备
CN104580250A (zh) * 2015-01-29 2015-04-29 成都卫士通信息产业股份有限公司 一种基于安全芯片进行可信身份认证的系统和方法
CN106603549A (zh) * 2016-12-28 2017-04-26 上海优刻得信息科技有限公司 一种基于密文的数据交换方法和数据交换系统
CN107623569A (zh) * 2017-09-30 2018-01-23 矩阵元技术(深圳)有限公司 基于秘密共享技术的区块链密钥托管和恢复方法、装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8891772B2 (en) * 2011-06-17 2014-11-18 Microsoft Corporation Cloud key escrow system
US11057198B2 (en) * 2016-03-04 2021-07-06 Assured Enterprises, Inc. Utilization of a proxy technique in escrow encryption key usage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436930A (zh) * 2007-11-16 2009-05-20 华为技术有限公司 一种密钥分发的方法、系统和设备
CN104580250A (zh) * 2015-01-29 2015-04-29 成都卫士通信息产业股份有限公司 一种基于安全芯片进行可信身份认证的系统和方法
CN106603549A (zh) * 2016-12-28 2017-04-26 上海优刻得信息科技有限公司 一种基于密文的数据交换方法和数据交换系统
CN107623569A (zh) * 2017-09-30 2018-01-23 矩阵元技术(深圳)有限公司 基于秘密共享技术的区块链密钥托管和恢复方法、装置

Also Published As

Publication number Publication date
WO2019229257A1 (en) 2019-12-05
SG11202011475RA (en) 2020-12-30
CN112673591A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
JP6606156B2 (ja) データセキュリティサービス
US20190372765A1 (en) System and Method for Providing an Authorised Third Party with Overt Ledger Secured Key Escrow Access to a Secret
CA2921740C (en) Enabling access to data
JP6678457B2 (ja) データセキュリティサービス
US20110276490A1 (en) Security service level agreements with publicly verifiable proofs of compliance
CN105103488A (zh) 借助相关联的数据的策略施行
WO2017033442A1 (ja) 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラムを記録する記録媒体
US11604888B2 (en) Digital storage and data transport system
CN112685786A (zh) 一种金融数据加密、解密方法、系统、设备及存储介质
EP3785409B1 (en) Data message sharing
Junghanns et al. Engineering of secure multi-cloud storage
CN112673591B (zh) 用于向经授权的第三方提供对秘密的公开分类账安全密钥托管访问的系统和方法
CN110839067B (zh) 信息提供方法及装置
Ramprasath et al. Protected Data Sharing using Attribute Based Encryption for Remote Data Checking in Cloud Environment
CN114553557A (zh) 密钥调用方法、装置、计算机设备和存储介质
TW202213147A (zh) 分散式匿名化相容加密管理系統
Aljahdali et al. Efficient and Secure Access Control for IoT-based Environmental Monitoring
EP3576000B1 (en) System and method for providing an authorised third party with overt ledger secured key escrow access to a secret
US10439810B2 (en) Device and method for administering a digital escrow server
Neela et al. A Hybrid Cryptography Technique with Blockchain for Data Integrity and Confidentiality in Cloud Computing
Aziz et al. Assured data deletion in cloud computing: security analysis and requirements
Reddy et al. Data Storage on Cloud using Split-Merge and Hybrid Cryptographic Techniques
US20240048532A1 (en) Data exchange protection and governance system
Shah et al. Third party public auditing scheme for security in cloud storage
Ramesh KL Neela

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