CN104160651A - 拜占庭式容错和阈值硬币投掷 - Google Patents

拜占庭式容错和阈值硬币投掷 Download PDF

Info

Publication number
CN104160651A
CN104160651A CN201380013959.2A CN201380013959A CN104160651A CN 104160651 A CN104160651 A CN 104160651A CN 201380013959 A CN201380013959 A CN 201380013959A CN 104160651 A CN104160651 A CN 104160651A
Authority
CN
China
Prior art keywords
coin
shared
property set
attribute
share
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201380013959.2A
Other languages
English (en)
Inventor
M·阿希姆
K·库尔萨韦
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 Electronics 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 Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN104160651A publication Critical patent/CN104160651A/zh
Pending legal-status Critical Current

Links

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
    • 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/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
    • 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
    • H04L9/3073Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

在用于执行阈值硬币投掷方案的***中采用硬币共享发生器(5)。所述硬币共享发生器(5)包括:硬币确定单元(6),其用于确定硬币值;以及,硬币共享生成单元(7),其用于基于硬币值和与属性集相关联的私人密钥生成硬币共享,以获得与属性集相关联的硬币共享。所述***还包括硬币共享验证器(8),所述硬币共享验证器(8)具有硬币共享确定单元(9)和硬币共享验证单元(10),所述硬币共享确定单元(9)用于确定要被验证的硬币共享,其中,所述硬币共享与属性集相关联,所述硬币共享验证单元(10)用于验证所述硬币共享的有效性,考虑与所述硬币共享相关联的属性集。

Description

拜占庭式容错和阈值硬币投掷
技术领域
本发明涉及一种硬币共享生成。本发明还涉及一种硬币共享验证。本发明还涉及执行拜占庭式容错(byzantine fault tolerance)协议。
背景技术
最近,归因于云计算预示的效益,对其的兴趣已经显著增加。在云计算中,计算服务在需要时是容易获得的,类似于在需要时能够获得公用服务。用户不再需要在建造和维护复杂的IT基础设施中进行大量投资或遇到困难。在这样的模型中,不管服务被托管在哪里,用户都可以基于其需要访问服务。云计算能够被分类为针对计算机服务的动态供应的新范式,通常由包含网络虚拟机的全体的最新发展水平的数据中心支持。云计算递送基础设施、平台以及软件(应用)作为服务。这些相应地被称为基础设施即服务(IaaS)、平台即服务(PaaS)以及软件即服务(SaaS)。
通过将云架构为虚拟服务的网络(硬件、数据库、用户界面、应用逻辑),云可以提供改进的下一代数据中心,使得用户能够在需要时从世界上的任何地方根据用户期望的QoS(服务质量)水平以具有竞争性的成本访问并部署应用。具有针对新的因特网服务的创新理念的研发者不再需要在硬件中的大量资金开销来部署其服务或操作它的人工费用。通过使IT企业免于设置基本硬件(服务器)和软件基础设施的低水平任务,为IT企业提供显著效益,由此使他们能够更加关注于创新并且为其服务创造商业价值。
为了支持来自全世界的大量用户,云基础设施提供者(即,IaaS提供者)在多个地理位置已经建立了数据中心,以提供冗余并且在站点故障的情况下保证可靠性。
尽管云计算提供许多效益,但是仍然具有与可用性、可靠性以及安全性有关的需要被解决的许多挑战。
拜占庭式容错(BFT)已经被研究作为改善实际***的可用性和安全性的机制。BFT应用中的一个是在云计算中,特定地是在云中部署的关键服务。例如,可以通过多个独立的云提供者来托管服务,使得其在云的子集中容错。BFT协议使用阈值硬币投掷方案作为增强容错的手段。基于方案中的参与者的同一性,阈值硬币投掷方案允许管理错误。用于阈值硬币投掷中的公用密钥尺寸随群体的数目增加。
C.Dwork等人在Springer,in Proceedings Eurocrypt,2006年,第486-503页上的“Our Data,Ourselves:Privacy via Distributed NoiseGeneration”一文公开了用于生成随机噪声的共享的分布式协议,保护防止恶意参与者。通过添加少量的高斯或指数分布式随机噪声来扰乱对数据库查询的真实回答,从而获得数据库的私有。分布式实施消除对受信任的数据库管理员的需要。
发明内容
具有用于执行阈值硬币投掷方案的改进的***将是有利的。为了更好地解决这一关心的问题,本发明的第一方面提供一种在用于执行阈值硬币投掷方案的***中使用的硬币共享发生器。所述硬币共享发生器包括:
硬币确定单元,其被布置为确定硬币值;
硬币共享生成单元,其被布置为基于硬币值和与属性集相关联的私人密钥生成硬币共享,以获得与属性集相关联的硬币共享。
通过将硬币共享与属性集相关联,执行阈值硬币投掷方案变得可能,所述阈值硬币投掷方案允许具有预定属性的参与群体。不必使用基于识别的密码术。因为相同的属性可以由多个群体处理,基于属性的管理错误的优点中的一个是公用密钥尺寸的减少。而且,这也允许基于属性列表上的政策来管理实体。提出的硬币共享发生器允许与属性集相关联的硬币共享的生成。由于这个情况,通过验证单元基于群体的属性上的政策来验证和重建硬币共享变得可能。
硬币共享生成单元可以被布置为基于与属性集相关联的特定阈值数目的硬币共享,生成使接收实体能够重建硬币的硬币共享,所述特定阈值数目的硬币共享满足在属性上的预定政策。这样,能够使用属性代替发送人的识别,以重建硬币。这减少或消除针对不同用户身份而维护公用密钥的负担。
在另一方面,本发明提供一种在用于执行阈值硬币投掷方案的***中使用的硬币共享验证器。所述硬币共享验证器包括:
硬币共享确定单元,其被布置为确定要被验证的硬币共享,其中,硬币共享与属性集相关联;以及
硬币共享验证单元,其被布置为考虑与硬币共享相关联的属性集,从而验证硬币共享的有效性。
这样的硬币共享验证器基于硬币共享的相关联的属性能够访问硬币共享的有效性。这可以减少需要的公用密钥的尺寸,这是因为属性可以在若干实体之间被再次使用。此外,密钥处理被简化,这是因为硬币共享验证器不需要保持用户特权的追踪,其原因在于这些特权可以由这样用户的属性表示。
硬币共享验证单元可以包括属性验证单元,其被布置为验证硬币共享与特定属性有效地相关联。例如,由于硬币共享包含相关联属性的列表,因此硬币共享可以被认为与特定的属性集相关联。例如,使用基于属性的密码术,属性验证单元有助于验证硬币共享与这些属性有效地相关联,这是因为其允许验证硬币共享是否与特定属性相关联。
硬币共享验证器可以包括政策确定器,其被布置为确定属性集合上的政策,其中,属性集包括属性集合的子集;并且其中,硬币共享验证单元还被布置为验证硬币共享是否与满足政策的属性集相关联。其可以是对于不同属性集对于硬币共享的良好有效性是可接受的情况。借助于在***中的属性集合上的政策,可以表示定义什么是可接受的属性集的限制。这允许硬币共享验证器参数的紧凑表示和/或启用硬币共享验证器的灵活配置。
硬币共享验证器可以包括共享组合单元,其被布置为通过将至少预定阈值数目的硬币共享进行组合来重建硬币,其中,硬币共享与满足在属性上的预定的政策的相应的属性集相关联。对于硬币的成功重建,不是所有的硬币共享需要与相同的属性集相关联。然而,硬币共享应当与满足在属性集合上的政策的相应的属性集相关联。
共享组合单元可以包括硬币共享重建单元,其用于从硬币共享中移除属性,以获得经重建的硬币共享。这些经重建的硬币共享已经被加密处理,使得由于硬币共享的基于属性的密码术的任何加密或编码被移除。这使组合硬币共享以重建硬币更容易。
硬币共享可以包括与硬币共享相关联的属性集的识别。这便于由验证器进行的处理。此外,使用基于属性的密码术可以密码地处理硬币共享。这允许由具有高水平的***安全性的验证器进行验证。
在另一方面,本发明提供一种用于执行拜占庭式容错协议的***。该***包括本文所述的硬币共享发生器。额外地或备选地,所述***包括本文所述的硬币共享验证器。
所述***还可以包括根权限子***,所述根权限子***包括
属性选择器,其用于选择用户的属性集;
密钥生成单元,其用于生成与属性集相关联的私人密钥;以及
密钥分布器,其用于将私人密钥提供给硬币共享发生器。
这允许硬币共享发生器生成与硬币共享发生器的用户的属性集相关联的硬币共享。
可以提供一种工作站或移动终端,所述工作站或移动终端包括如本文所述的硬币共享发生器、如本文所述的硬币共享验证器和/或如本文所述的用于执行拜占庭式容错协议的***。
在另一方面,本发明提供一种在阈值硬币投掷方案中生成硬币共享的方法,包括
确定硬币值;以及
基于硬币值和与属性集相关联的私人密钥来生成硬币共享,以获得与属性集相关联的硬币共享。
在另一方面,本发明提供一种在阈值硬币投掷方案中验证硬币共享的方法,包括
确定要被验证的硬币共享,其中,硬币共享与属性集相关联;以及
考虑与硬币共享相关联的属性集,从而验证硬币共享的有效性。
所述方法还可以包括,通过对至少预定阈值数目的硬币共享进行组合来重建硬币,其中,硬币共享与满足在属性上的预定政策的相应的属性集相关联。
在另一方面,本发明提供一种计算机程序产品,所述计算机程序产品包括用于令处理器***执行所述方法中的一个或多个的指令。
本领域技术人员应当理解,可以以认为有用的任何方式组合本发明的上述实施例、实施方式和/或方面中的两个或更多个。
基于本说明书,能够由本领域技术人员实现图像采集装置、工作站、***、方法和/或计算机程序产品的修改和变型,其对应于***的所描述的修改和变型。
附图说明
参考附图,本发明的这些方面和其他方面将是显而易见的并且得到阐明。
图1是用于执行阈值硬币投掷方案的***的方框图。
图2是执行阈值硬币投掷方案的方法的流程图。
具体实施方式
描述阈值硬币投掷方案的一个方式是通过描述能够由方案中的不同行为人采用的算法集。这些算法可以在处于这些不同行为人控制之下的设备上实施。
算法集的范例如下。
-设置():这一算法可以由根权限(RA)运行,并且在一些实施例中,这一算法不需要采取任何参数作为输入。然而,一些参数可以由***的设计隐含地定义。这样的参数可以包括用于执行计算的域。设置算法可以生成一组公共参数PK和主密钥MK作为输出。主密钥MK可以用于密钥生成算法,以生成私人密钥。
-密钥生成(MK,ω):这一算法可以由根权限运行。备选地,其可以由单独的密钥分布实体运行。密钥生成算法采取主密钥MK和由群体Pi处理的属性集ω作为输入。这一算法的输出是与属性集ω相关联的密钥
-生成硬币共享这一算法可以运行在由群体中的一个(例如群体Pi)控制的计算环境中。这一算法采取硬币C∈{0,1}*和群体Pi的密钥作为输入。这一密钥与属性集ω相关联。这一算法的输出是硬币C的共享。然而,使用基于属性的密码术处理硬币C的这一共享,例如利用属性集ω数字地签名,使得接收群体能够验证共享与由Pi处理的属性集ω相关联。
-共享验证这一算法采取公钥PK和来自群体Pi的硬币的共享作为输入。其确定硬币共享是否有效。例如,其确定硬币共享是否利用适当的属性集被有效地签名。
-共享组合共享组合算法采取使用属性集ω签名的硬币C的有效共享作为输入。如果足够大量的硬币共享是可用的,则其可以输出硬币的原值。
可以提供基于属性的阈值硬币投掷方案,其中,根据属性上的政策生成硬币共享。与群体的属性有关的密钥成分可以由经销商(例如,根权限)发布。发布这些密钥之后,经销商不必在交互协议中起任何进一步的作用。类似于定期阈值硬币投掷方案,如果具有足够的群体,即“t”出于“n”,其已经提供有效的硬币共享,则可以仅仅构建正确的硬币。然而,在基于属性的阈值硬币投掷方案中,这些硬币共享需要与适当的属性列表相关联。
图1图示了包括能够执行阈值硬币投掷方案的多个实体的***的范例。所述***包括根权限子***1、硬币共享发生器5以及硬币共享验证器8。第二硬币共享发生器5’也被绘出,以图示通常具有多于一个硬币共享发生器。在***中也可以具有多于一个硬币共享验证器。然而,这在附图中未示出。多个硬币共享发生器5、5’可以生成其相应的硬币共享,并且将其发送到相同的硬币共享验证器8,以进行硬币的有效性和重建。
根权限子***1可以包括属性选择器2,其用于选择用户的属性集。这样的属性选择器2可以可操作地与***的其他元件耦合,所述***的其他元件在附图中未示出。例如,属性选择器2可以访问受保护的用户数据库,所述受保护的用户数据库存储与***的不同用户有关的信息。属性选择器2可以被布置为根据关于数据库中的用户的信息选择该用户的属性集。额外地或备选地,属性选择器2可以包括用户界面,所述用户界面使用户能够选择属性中的一个或多个。
根权限子***1还可以包括密钥生成单元3,其用于生成与由属性选择器2选择的属性集相关联的私人密钥。例如,这一私人密钥可以是基于属性的加密密钥或基于属性的数字签名密钥。下文提供这样的密钥的范例的更多细节。
根权限子***1还可以包括密钥分布器4,其用于将私人密钥提供给硬币共享发生器。这一密钥分布器可以被可操作地连接到网络,诸如因特网或专用网络,以将私人密钥传送到该密钥的合法用户。密钥分布器也可以被布置为简单输出密钥,使得人类操作员可以将密钥物理地递送到密钥的用户。
硬币共享发生器5可以被布置为生成硬币共享。为了这一目的,硬币共享发生器可以包括硬币确定单元6,其被配置为确定硬币值。这一硬币值可以是应当被传达到接收群体的值。硬币确定单元6可以被布置为接收来自外部程序、子例程或数据库的硬币值。硬币确定单元6也可以被布置为基于用户输入确定硬币值。对于传统阈值硬币投掷算法和拜占庭式容错***的领域的技术人员而言,确定硬币值的其他方式是显而易见的。
硬币共享发生器5还可以包括硬币共享生成单元7,其用于基于硬币值和与属性集相关联的私人密钥来生成硬币共享。通常从根权限子***1中接收这一私人密钥。生成的硬币共享包括硬币值的至少部分的表示。然而,需要足够数目的硬币共享以能够建立硬币值的真实性和/或重建硬币值。此外,硬币共享发生器5被布置为以将硬币共享与属性集相关联的方式生成硬币共享。例如,使用基于属性的密码术和/或签名算法能够执行这一关联。
硬币共享生成单元7可以被布置为,基于与属性集相关联的特定阈值数目的硬币共享,生成使接收实体能够重建硬币的硬币共享,所述特定阈值数目的硬币共享满足在属性上的预定政策。通常,由不同的硬币共享发生器5、5’生成在重建中使用的不同的硬币共享。
硬币共享验证器8可以包括硬币共享确定单元9,其用于确定要被验证的硬币共享,其中,硬币共享与属性集相关联。例如,硬币共享确定单元9经由网络连接被连接到硬币共享发生器5、5’。这将允许硬币共享确定单元9经由网络接收来自硬币共享发生器5、5’的硬币共享。备选地,单独的程序或设备可以被布置为接收硬币共享,并且将其存储在处于硬币共享验证器8控制下的数据库中。将来自硬币共享发生器5、5’的硬币共享转移到硬币共享验证器8的其他方式对本领域技术人员而言将是显而易见的。
硬币共享验证器8还可以包括硬币共享验证单元10,其用于考虑与硬币共享相关联的属性集,从而验证硬币共享的有效性。硬币共享验证单元10由此验证与属性集有关的硬币共享的真实性,硬币共享被认为与属性集相关联。硬币共享验证单元可以被布置为从硬币共享本身中提取属性集。例如,硬币共享可以包括其相关联的属性集的纯文本表示。备选地,硬币共享验证器可以访问针对发送人中的每个的属性的列表。由硬币共享验证器8可以密码地核对这些属性的真实性。
硬币共享验证单元10可以包括属性验证单元11,其被布置为验证硬币共享有效地与特定属性相关联。例如,硬币共享验证单元可以被布置为,对于其需要验证的属性,重复地激活属性验证单元11。
硬币共享验证器8还可以包括政策确定单元12,其用于确定在属性集合上的政策,其中,属性集包括属性集合的子集。在基于属性的***中,通常定义属性的范围。在本文中这一属性域被称为属性集合。通过指定哪个属性组合对于硬币共享是可接受的能够表达政策。政策确定单元12确定政策。这一政策的特定内容可以通过外部考虑进行施加,诸如在***中涉及的不同群体的特权。政策确定单元12可以被布置为接收来自另一实体的政策,或借助于用户输入,或通过预定义的设置接收政策。政策确定单元12可以向硬币共享验证单元10提供政策,使得硬币共享验证单元10能够验证硬币共享是否满足政策。相同的政策可以被施加在所有的硬币共享上,或不同的政策可以被允许用于不同的硬币共享。
硬币共享验证器8可以包括共享组合单元13,其用于通过对至少预定阈值数目的硬币共享进行组合来重建硬币值。这些硬币共享可以与满足在属性上的预定政策的属性的相应的属性集相关联。可以采用两步途径,然而这不是限制。在两步途径中,首先从硬币共享中移除属性。这预先假定硬币共享发生器5被布置为添加属性作为围绕“赤裸”硬币共享的“包装器”。以类似于在现有的阈值硬币共享方案中的硬币共享的生成和组合的方式可以生成并且组合这一“赤裸”硬币共享。为了支持这一两步途径,共享组合单元13可以包括硬币共享重建单元14,以移除来自硬币共享的属性,从而获得经重建的硬币共享。
应当理解,硬币共享可以包括与硬币共享相关联的属性集的识别,例如在未加密的表示中的属性的列表。此外,使用基于属性的密码术可以密码地处理硬币共享。这一密码处理可以应用于整个硬币共享,或仅应用于它的一部分。密码处理可以包括基于属性的加密/解密,和/或基于属性的签名生成和验证。因此,根据硬币共享发生器5的属性集,硬币共享可以包括加密部分和/或数字签名部分。
用于执行基于属性的阈值硬币投掷方案的***可以适于和/或被包括在用于执行拜占庭式容错协议的***中。技术人员基于本公开能够执行这所需要的修改。
借助于包括用于执行所描述的功能的专用电子电路的设备可以实施本文中公开的不同算法和实体。备选地,其可以借助于被适当编程的处理设备来实施。这样的处理设备能够是工作站或个人计算机,或移动设备,诸如,平板电脑或智能手机。其也可以被托管在被连接到因特网的服务器***上的“云中”。用户使用客户设备(例如,经由互联网浏览器)可以访问这样的托管的应用。在所有情况中,可以保护算法的使用来防止恶意使用。例如,用户访问控制能够被施加在实施协议的密钥部分的单元。
图2示出了在阈值硬币投掷方案中生成硬币共享的图示性方法。所述方法在步骤200处开始。所述方法包括预备步骤201,所述预备步骤201涉及:选择针对用户的属性集;生成与针对用户的属性集相关联的私人密钥;以及,向用户或用户的硬币共享发生器提供私人密钥。在步骤206中,确定针对另一用户是否需要私人密钥,并且如果需要,则重复步骤201。
在步骤202中,确定硬币值。在步骤203中,生成硬币共享以表示硬币值的至少一部分。硬币共享与用户的属性集相关联,并且使用提供的私人密钥来创建硬币共享。在步骤204中,硬币共享可以被传送到接收者。接收者可以具有本文所述的硬币共享验证器。步骤202到204可以由本文所述的硬币共享发生器来执行。在步骤205中,如果需要来自另一硬币共享发生器的硬币共享,则使用另一硬币共享发生器,使用其他硬币共享发生器的私人密钥,但相同的硬币值可以重复步骤202到204。
在步骤207中,确定要被验证的硬币共享。例如,从生成硬币共享的硬币共享发生器中接收硬币共享。在步骤208中,考虑与硬币共享相关联的属性集,从而确定硬币共享的有效性。如果在步骤209中发现更多的硬币共享是可用的,对于剩余的硬币共享,可以重复步骤207和208。在步骤210中,决定有效共享的数目是否至少等于预定阈值。如果有效共享的数目小于预定阈值,则处理在步骤212处终止。备选地,如果有效共享的数目至少等于阈值,则在步骤211中可以通过对至少预定阈值数目的硬币共享进行组合来重建硬币值。之后,处理在步骤213中终止。
借助于计算机程序产品可以实施所述方法,所述计算机程序产品包括用于令处理器***执行所述方法的指令。这一计算机程序产品在使用计算机***的若干不同群体的控制下,可以被分离成在不同的计算机***上运行的若干单元。
在下文中,更详细地描述了在所述***和所述方法中使用的算法的范例。这些算法是基于属性的阈值硬币投掷方案的部分。应当理解,这些细节旨在非限制性范例的实施。在高水平处,方案工作如下:首先通过散列C获得硬币值C∈{0,1}*,以获得然后计算以获得属于组G1的硬币值。使用沙米尔的密共享方案,密指数x0被分布在由具有属性集ω的Pi指示的群体之间。除了x0的共享之外,每个群体也具有与属性集ω有关的密钥。使用x0(即,xi)的共享和密钥成分(即,)与有效性证明一起生成硬币共享。硬币共享然后能够被组合,以通过在指数中的插值获得
设置():设置算法选择素数阶p的双线性组G0和随机发生器∈G0。另外,其也采用散列函数H:{0,1}*→G0。所述函数用于将被描述为二进制串的任何属性映射到随机组元素。其也挑选双线性映射e:G0×G0→GT。设置算法选择α,rj∈Zp,其中,1≤j≤N,并且N是在***中的属性的总数目。公共参数PK和主密钥MK由以下成分组成:
PK = g α , { g r j } j = 1 N , MK = α , { r j } j = 1 N
密钥生成密钥生成算法由中央信任权限运行。其采取针对群体Pi的属性集ω、主密钥MK作为输入,并且输出与属性集ω有关的针对用户的密钥。算法为每个群体Pi选择xi=f(i),其中,f是少于k的Zq度上的多项式。然后,其生成与属性集ω有关的针对群体Pi的密钥,所述密钥由以下成分组成:
SK ω , P i = ( ∀ j ∈ ω : D j ( 1 ) = H ( j ) r j + α · x i , D ( 2 ) = x i )
生成硬币共享对于一般硬币C∈{0,1},设与群体Pi的硬币共享的有效性证明一起,使用生成针对群体Pi的硬币共享,所述群体Pi的硬币共享由以下成分组成:
σ ω , P i = ( σ j ( 1 ) = g ~ x i · H ( j ) r j + α · x i : ∀ j ∈ ω , σ ( 2 ) = g x i , σ ( 3 ) = H ( j ) x i )
注意:在这一函数中,使用例如阈值密共享方案代替xi的值,在硬币共享的生成期间能够使用值xi的共享。
共享验证共享验证算法采取公共参数和使用属性集ω由群体Pi生成的硬币共享作为输入。
e ( σ j ( 1 ) , g ) = e ( g r j , H ( j ) ) · e ( σ ( 3 ) , g α ) · ( g ~ , σ ( 3 ) ) : ∀ j = ω
e ( g ~ x i · H ( j ) r j + α · x i , g ) = e ( g r j , H ( j ) ) · e ( H ( j ) x i , g α ) · e ( g ~ , g x i ) : ∀ j ∈ ω
以上例程可以应用于所有群体Pi(1≤i≤n)的硬币的共享,其中,n是在***中的群体的总数目。
共享组合共享组合算法首先重建针对所有群体Pi的硬币的共享。在重建硬币共享之后,其恢复硬币的最终值。
(a)步骤1-重建硬币共享(Pi):这一例程用于构建每个群体Pi的硬币的共享。设ρ是由群体Pi要求保护的属性的列表。
Z ( P i ) = ( Π j ∈ ρ ( e ( g ~ x i · H ( j ) r j + α · x i , g ) e ( g r j , H ( j ) ) · e ( H ( j ) x i , g α ) ) ) 1 / η = ( Π j ∈ ρ e ( g ~ x i , g ) ) 1 / η = ( e ( g ~ , g ) η · x i ) 1 / η = e ( g ~ , g ) x i
其中,η是在ρ中的属性的总数目。
注意:η的使用是任选的。在硬币共享的生成期间,如果xi也已经在用于硬币共享的生成的属性之间共享,则η不必在这一函数中,并且可以使用拉格朗日插值代替。
(b)步骤2-重建硬币():对于要求保护的属性集,重建针对至少t个群体的硬币共享之后,计算如下:
Π i = 1 t e ( g ~ , g ) x i λ i
其中,λi表示拉格朗日插值系数。
应当理解,本发明也应用于计算机程序,具体为在载体上或内的计算机程序,其适于将本发明付诸实践。程序可以是源代码、目标代码、源和目标代码中间的代码(诸如,部分编译的形式)的形式,或适于在根据本发明的方法的实施方式中使用的任何其他形式。也应当理解,这样的程序可以具有许多不同的架构设计。例如,实施根据本发明的方法或***的功能的程序代码可以被细分为一个或多个子例程。将功能分布在这些子例程之间的许多不同方式对技术人员来说将是显而易见的。子例程可以一起被存储在一个可执行文件中,以形成自含程序。这样的可执行文件可以包括计算机可执行指令,例如,处理器指令和/或解读器指令(例如,Java解读器指令)。备选地,子例程的一个或多个或所有可以被存储在至少一个外部库文件中,并且(例如在运行时)静态地或动态地与主程序链接。主程序包含对子例程中的至少一个的至少一个调用。子例程也可以包括对彼此的调用。与计算机程序产品有关的实施例包括对应于本文提出的方法中的至少一个的每个处理步骤的计算机可执行指令。这些指令可以被细分为子例程,和/或被存储在一个或多个文件中,所述一个或多个文件可以被静态地或动态地链接。与计算机程序产品有关的另一实施例包括对应于本文提出的***和/或产品中的至少一个的每个器件的计算机可执行指令。这些指令可以被细分为子例程,和/或被存储在一个或多个文件中,所述一个或多个文件中可以被静态地或动态地链接。
计算机程序的载体可以是能够运载程序的任何实体或设备。例如,载体可以包括存储介质(诸如,ROM(例如,CD ROM或半导体ROM))或磁记录介质(例如,闪存驱动器或硬盘)。此外,载体可以是可传送载体,诸如电信号或光信号,其可以经由电缆或光缆或由无线电或其他器件进行输送。当在这样的信号中实现程序时,载体可以由这样的缆线或其他设备或器件构成。备选地,载体可以是集成电路,程序被嵌入在所述集成电路中,所述集成电路适于执行相关方法,或用于相关方法的执行中。
应当注意,上述实施例说明而非限制本发明,并且本领域技术人员将能够设计许多备选实施例而不脱离权利要求书的范围。在权利要求中,在括号中的任何附图标记不应被解释为限制权利要求。动词“包括”及其词形变化的使用不排除权利要求中列出之外的元件或步骤的存在。在元件之前的词语“一”或“一个”不排除多个这样的元件的存在。本发明可以借助包括若干不同元件的硬件以及借助被适当编程的计算机来实施。在列举若干器件的设备权利要求中,这些器件中的若干可以实现为一个相同的硬件项。在互不相同的从属权利要求中记载的特定措施的事实并不指示不能有利地使用这些措施的组合。

Claims (14)

1.一种在用于执行阈值硬币投掷方案的***中使用的硬币共享发生器(5),包括
硬币确定单元(6),其用于确定硬币值;
硬币共享生成单元(7),其用于基于所述硬币值和与属性集相关联的私人密钥来生成硬币共享,其中,所述硬币共享与所述属性集相关联。
2.根据权利要求1所述的硬币共享发生器(5),其中,所述硬币共享生成单元(7)被布置为生成硬币共享,所述硬币共享基于与属性集相关联的特定阈值数目的硬币共享使接收实体能够重建硬币,所述特定阈值数目的硬币共享满足在所述属性上的预定政策。
3.一种在用于执行阈值硬币投掷方案的***中使用的硬币共享验证器(8),包括
硬币共享确定单元(9),其用于确定要被验证的硬币共享,其中,所述硬币共享与属性集相关联;以及
硬币共享验证单元(10),其用于考虑与所述硬币共享相关联的所述属性集,从而验证所述硬币共享的有效性。
4.根据权利要求3所述的硬币共享验证器(8),其中,所述硬币共享验证单元(10)包括属性验证单元(11),所述属性验证单元用于验证所述硬币共享与特定属性有效地相关联。
5.根据权利要求3所述的硬币共享验证器(8),
还包括政策确定单元(12),其用于确定属性的集合上的政策,其中,所述属性集包括属性的所述集合的子集;并且
其中,所述硬币共享验证单元(10)还被布置为验证所述硬币共享是否与满足所述政策的属性集相关联。
6.根据权利要求3所述的硬币共享验证器(8),还包括
共享组合单元(13),其用于通过对至少预定阈值数目的硬币共享进行组合来重建硬币,其中,所述硬币共享与满足在所述属性上的预定政策的相应的属性集相关联。
7.根据权利要求1所述的硬币共享发生器(5),或根据权利要求3所述的硬币共享验证器(8),其中,所述硬币共享包括与所述硬币共享相关联的所述属性集的识别,并且其中,使用基于属性的密码术密码地处理所述硬币共享。
8.一种用于执行拜占庭式容错协议的***,包括根据权利要求1所述的硬币共享发生器(5)和/或根据权利要求3所述的硬币共享验证器(8)。
9.根据权利要求8所述的***,还包括根权限子***(1),所述根权限子***(1)包括
属性选择器(2),其用于选择实体的所述属性集;
密钥生成单元(3),其用于生成与所述属性集相关联的所述私人密钥;以及
密钥分布器(4),其用于向所述硬币共享发生器提供所述私人密钥。
10.一种工作站或移动终端,其包括:根据权利要求1所述的硬币共享发生器、根据权利要求3所述的硬币共享验证器、和/或根据权利要求8所述的用于执行拜占庭式容错协议的***。
11.一种在阈值硬币投掷方案中生成硬币共享的方法,包括
确定(202)硬币值;以及
基于硬币值和与属性集相关联的私人密钥来生成(203)硬币共享,其中,所述硬币共享与所述属性集相关联。
12.一种在阈值硬币投掷方案中验证硬币共享的方法,包括
确定(207)要被验证的硬币共享,其中,所述硬币共享与属性集相关联,以及
考虑与所述硬币共享相关联的所述属性集,从而验证(208)所述硬币共享的有效性。
13.根据权利要求12所述的方法,还包括通过对至少预定阈值数目的硬币共享进行组合来重建硬币,其中,所述硬币共享与满足在所述属性上的预定政策的相应的属性集相关联。
14.一种计算机程序产品,包括用于令处理器***执行根据权利要求11或12所述的方法的指令。
CN201380013959.2A 2012-03-12 2013-03-07 拜占庭式容错和阈值硬币投掷 Pending CN104160651A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261609524P 2012-03-12 2012-03-12
US61/609,524 2012-03-12
PCT/IB2013/051815 WO2013136235A1 (en) 2012-03-12 2013-03-07 Byzantine fault tolerance and threshold coin tossing

Publications (1)

Publication Number Publication Date
CN104160651A true CN104160651A (zh) 2014-11-19

Family

ID=48190558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380013959.2A Pending CN104160651A (zh) 2012-03-12 2013-03-07 拜占庭式容错和阈值硬币投掷

Country Status (5)

Country Link
US (1) US20150023498A1 (zh)
EP (1) EP2847923A1 (zh)
JP (1) JP2015513156A (zh)
CN (1) CN104160651A (zh)
WO (1) WO2013136235A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106209730B (zh) * 2015-04-30 2020-03-10 华为技术有限公司 一种管理应用标识的方法及装置
US10686765B2 (en) * 2017-04-19 2020-06-16 International Business Machines Corporation Data access levels
US10887090B2 (en) 2017-09-22 2021-01-05 Nec Corporation Scalable byzantine fault-tolerant protocol with partial tee support
US10572352B2 (en) * 2017-11-01 2020-02-25 Vmware, Inc. Byzantine fault tolerance with verifiable secret sharing at constant overhead
US11429967B2 (en) * 2018-03-13 2022-08-30 Nec Corporation Mechanism for efficient validation of finality proof in lightweight distributed ledger clients
CN109766673B (zh) * 2019-01-18 2019-12-10 四川大学 一种联盟式音视频版权区块链***及音视频版权上链方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931431B2 (en) * 2001-01-13 2005-08-16 International Business Machines Corporation Agreement and atomic broadcast in asynchronous networks
US8229859B2 (en) * 2007-04-19 2012-07-24 Gideon Samid Bit currency: transactional trust tools
US8189789B2 (en) * 2008-11-03 2012-05-29 Telcordia Technologies, Inc. Intrusion-tolerant group management for mobile ad-hoc networks
US8321495B2 (en) * 2009-07-28 2012-11-27 International Business Machines Corporation Byzantine fault-tolerance in distributed computing networks

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
ALEX ESCALA: "Revocable Attribute-Based signatures with Adaptive Security in the Standard Model", 《SPRINGER BERLIN HEIDELBERG》 *
CHRISTIAN CACHING: "Random Oracles in Constantinople:Practical Asynchronous Byzantine Agreement using Cryptography", 《IBM RESEARCH》 *
HUAI-XI WANG: "Attribute-Based Signature with Policy-and-Endorsement Mechanism", 《COMPUTER SCIENCE AND TECHNOLOGY》 *
JIN LI: "Attribute-based Signature and its Applications", 《ACM》 *
SOMAYEH HEIDARVAND: "Public Verifiability from Pairings in Secret Sharing Schemes", 《SPRINGERLINK》 *
YOULIANG TIAN: "A practical publicly verifiable secret sharing scheme based on bilinear pairing", 《INTERNATIONAL CONFERENCE ON IEEE》 *

Also Published As

Publication number Publication date
WO2013136235A1 (en) 2013-09-19
US20150023498A1 (en) 2015-01-22
JP2015513156A (ja) 2015-04-30
EP2847923A1 (en) 2015-03-18

Similar Documents

Publication Publication Date Title
CN104811450B (zh) 云计算中一种基于身份的数据存储方法及完整性验证方法
KR20230157929A (ko) 원격 액세스 제한 지갑으로부터 암호화폐 이체
JP6016948B2 (ja) 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
US10846372B1 (en) Systems and methods for trustless proof of possession and transmission of secured data
US9698974B2 (en) Method for creating asymmetrical cryptographic key pairs
CN110197082A (zh) 数据处理方法、数据处理装置和计算机***
CN106452737A (zh) 用于安全多租户数据存储的***和方法
CN104079573A (zh) 用于安全保护云中的数据的***和方法
CN109194523A (zh) 隐私保护的多方诊断模型融合方法及***、云端服务器
CN102782694A (zh) 用于数据安全设备的事务审计
Namasudra et al. Achieving a decentralized and secure cab sharing system using blockchain technology
CN102907038A (zh) 基于属性的数字签名***
CN104160651A (zh) 拜占庭式容错和阈值硬币投掷
CN102484638A (zh) 经由多个中间客户端在线递送的身份数据的分层保护和验证
CN109478214A (zh) 用于证书注册的装置和方法
WO2019110399A1 (en) Two-party signature device and method
CN107465681A (zh) 云计算大数据隐私保护方法
CN107332858A (zh) 云数据存储方法
KR20190132052A (ko) 암호화폐 거래 플랫폼을 위한 블록체인 기반 스마트 컨트랙트
CN108712259A (zh) 基于身份的可代理上传数据的云存储高效审计方法
Win et al. A privacy preserving content distribution mechanism for DRM without trusted third parties
CN109858283B (zh) 一种基于Chaum-Pedersen的云存储安全数据共享方法
Krasnoselskii et al. Distributed random number generator on Hedera Hashgraph
CN114417419A (zh) 具有安全授权和隐私保护的外包云存储医疗数据聚合方法
CN107483200A (zh) 云计算大数据隐私保护方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141119

WD01 Invention patent application deemed withdrawn after publication