首页 / 专利库 / 银行与财务事项 / 数字货币 / 加密货币 / 用于在受信任执行环境中执行加密操作的系统、装置和方法

用于在受信任执行环境中执行加密操作的系统、装置和方法

阅读:1018发布:2020-06-23

专利汇可以提供用于在受信任执行环境中执行加密操作的系统、装置和方法专利检索,专利查询,专利分析的服务。并且在一个 实施例 中,一种装置包括:计算逻辑,其用于:接收多个等待证书,并基于该多个等待证书来生成局部均值,每个等待证书与 分布式账本 系统的经验证的交易区 块 相关联;计时器生成逻辑,其用于:至少部分地基于局部均值来生成用于与分布式账本系统的第一交易区块相关联的等待证明的等待时间;计时器逻辑,其用于:标识等待时段何时已期满;以及证书生成逻辑,其用于:响应于等待时段的期满,为第一交易区块生成等待证书,该等待证书用于验证该第一交易区块。描述了其他实施例并要求它们的权利。,下面是用于在受信任执行环境中执行加密操作的系统、装置和方法专利的具体信息内容。

1.一种装置,包括:
计算逻辑,其用于:接收多个等待证书,并基于所述多个等待证书来生成局部均值,所述多个等待证书中的每一者与分布式账本系统的经验证的交易区相关联;
计时器生成逻辑,其用于:至少部分地基于所述局部均值来生成用于与所述分布式账本系统的第一交易区块相关联的等待证明的等待时段;
计时器逻辑,其用于:标识所述等待时段何时已期满;以及
证书生成逻辑,其用于:响应于所述等待时段的期满,为所述第一交易区块生成等待证书,所述等待证书用于验证所述第一交易区块。
2.如权利要求1所述的装置,其特征在于,所述计算逻辑用于:基于概率分布来计算所述局部均值。
3.如权利要求1所述的装置,其特征在于,所述计时器生成逻辑用于:进一步基于与所述第一交易区块相关联的第一散列值以及与所验证的交易区块相关联的第二散列值来生成所述等待时段。
4.如权利要求1所述的装置,其特征在于,进一步包括受信任执行环境,所述受信任执行环境包括所述计时器生成逻辑和所述证书生成逻辑。
5.如权利要求4所述的装置,其特征在于,进一步包括输出逻辑,所述输出逻辑用于:将所验证的第一交易区块和所述等待证书发送给所述分布式账本系统中的多个系统。
6.如权利要求5所述的装置,其特征在于,所述等待证书用于:进一步核验所述装置仅为所述第一交易区块生成单个等待证书。
7.如权利要求5所述的装置,其特征在于,所验证的第一交易区块包括头部,所述头部具有第一指示符以指示所验证的第一交易区块是使用等待证明来验证的。
8.如权利要求1所述的装置,其特征在于,所述装置包括多核处理器,所述多核处理器包括多个核以及安全性代理。
9.如权利要求8所述的装置,其特征在于,所述安全性代理将在受信任执行环境中执行,所述安全性代理包括至少所述计时器生成逻辑和所述证书生成逻辑。
10.一种方法,包括:
在第一处理系统的受信任执行环境(TEE)中生成期满时间以指示用于验证分布式账本系统的交易区块的等待证明;
确定所述期满时间是否已到达;以及
响应于确定所述期满时间已到达,在所述TEE中生成等待证书以核验所述期满时间的期满并核验所述期满时间是在所述TEE中生成的,所述等待证书用于从所述第一处理系统提交给所述分布式账本系统以验证所述交易区块。
11.如权利要求10所述的方法,其特征在于,进一步包括:如果在所述期满时间到达之前接收到与所述交易区块相关联的经验证的交易区块,则不生成所述等待证书。
12.如权利要求10所述的方法,其特征在于,进一步包括:至少部分地基于局部均值来生成所述期满时间,所述局部均值是在所述受信任执行环境中计算的。
13.如权利要求12所述的方法,其特征在于,进一步包括:根据多个先前验证的交易区块的等待时间的随机分布来计算所述局部均值。
14.如权利要求12所述的方法,其特征在于,进一步包括:至少部分地基于所述交易区块的第一散列值、先前交易区块的第二散列值、以及所述局部均值来生成所述期满时间。
15.如权利要求10所述的方法,其特征在于,进一步包括:用本地群密钥对所述等待证书签名,其中,外部代理将使用全局群密钥来核验所述等待证书。
16.如权利要求10所述的方法,其特征在于,所述分布式账本系统包括加密货币系统。
17.一种方法,包括:
在处理系统中将分布式账本系统的未决交易收集到第一交易区块中;
根据所述分布式账本系统的一个或多个先前验证的交易区块的区块链来计算局部均值;
调用所述处理系统的受信任执行环境(TEE)的计时器函数以确定等待时段的期满时间,所述计时器函数用于至少部分地基于先前验证的交易区块的第一散列值、所述第一交易区块的第二散列值、以及所述局部均值来确定所述期满时间;
响应于所述等待时段的所述期满时间,调用所述TEE的证书函数来生成等待证书以核验所述等待时段已期满并核验所述期满时间是在所述TEE中确定的;以及在生成所述等待证书之后,从所述处理系统发送所述第一交易区块作为经验证的交易区块。
18.如权利要求17所述的方法,其特征在于,进一步包括:发送所述等待证书以及所述经验证的交易区块。
19.如权利要求18所述的方法,其特征在于,进一步包括:用与所述TEE相关联的本地密钥来对所述等待证书签名,其中,外部核验器能够使用全局密钥来核验所述等待证书。
20.如权利要求17所述的方法,其特征在于,进一步包括:在所述等待证书中包括所述局部均值、所述第一散列值、以及所述第二散列值。
21.一种包括机器可读指令的机器可读存储介质,所述指令在被执行时实现如权利要求17至20中任一项所要求保护的方法。
22.一种系统,包括:
用于将分布式账本系统的未决交易收集到第一交易区块中的装置;
用于根据所述分布式账本系统的一个或多个先前验证的交易区块的区块链来计算局部均值的装置;
用于调用所述系统的TEE的计时器函数以确定等待时段的期满时间的装置,所述计时器函数用于至少部分地基于先前验证的交易区块的第一散列值、所述第一交易区块的第二散列值、以及所述局部均值来确定所述期满时间;
用于调用所述TEE的证书函数来生成等待证书以核验所述等待时段已期满并核验所述期满时间是在所述TEE中确定的装置;以及
用于从所述处理系统发送所述第一交易区块作为经验证的交易区块的装置。
23.如权利要求22所述的系统,其特征在于,进一步包括:用于发送所述等待证书以及所述经验证的交易区块的装置。
24.如权利要求23所述的系统,其特征在于,进一步包括:用于用与所述TEE相关联的本地密钥来对所述等待证书签名的装置,其中,外部核验器能够使用全局密钥来核验所述等待证书。
25.如权利要求22所述的系统,其特征在于,进一步包括:用于在所述等待证书中包括所述局部均值、所述第一散列值、以及所述第二散列值的装置。

说明书全文

用于在受信任执行环境中执行加密操作的系统、装置和方法

技术领域

[0001] 各实施例涉及电子交易的安全性。
[0002] 背景
[0003] 随着计算能增加以及更多的电子商务出现,更多的用户正采用基于加密的货币应用。工作量证明(proof-of-work,PoW)函数用于提供被加密货币(诸如比特币)纳入的可核验平均随机延迟,以通过随机地指定交易验证者(validator)中的哪个验证者可完成更新账本(ledger)的任务来确保分布式交易账本的完整性。比特币的PoW算法基于使用极其计算密集并且因此能量密集的散列函数(安全散列算法(SHA256))的随机搜索。响应于改善硬件性能,比特币协议周期性地调整为了维持平均延迟所需要的计算量。该协议由此持续地增加作为交易处理的主要成本的能量成本。
[0004] 附图简述
[0005] 图1是根据本发明的一个实施例的受信任执行环境的框图
[0006] 图2是根据本发明的实施例的方法的流程图
[0007] 图3是根据本发明的实施例的系统布置的框图。
[0008] 图4是根据本发明的另一实施例的系统的框图。
[0009] 详细描述
[0010] 在各个实施例中,提供了一种能量高效的函数以使得验证能够发生在分布式账本系统中,其中该函数具有固定的计算成本。使用该函数可极大地降低交易区的核验成本。各实施例可实现在具有受信任执行环境硬件的任何服务器系统或客户端系统上。如此,各实施例使得广泛范围的计算节点能够与交易处理器一样具有竞争力,由此恢复许多加密货币协议设计所基于的原始信任假设。
[0011] 更具体而言,处理系统的受信任执行环境(TEE)可以用于可靠地核验分布式账本系统(诸如给定的加密货币系统)的信息。在各个实施例中,该验证可以是工作量证明,更具体而言实现为等待证明(proof of wait),即受信任执行环境可以证实在给定的等待时段内仅发生了验证分布式账本系统的交易区块的单次尝试,其中该等待时段自身是在受信任执行环境内动态确定的。
[0012] 尽管本发明的范围不限于该方面,但各实施例可在给定的处理系统(诸如服务器计算机、台式计算机、或者甚至便携式计算机)内实现TEE。例如,可使用一个或多个软件防护扩展(SGX)飞地或系统的其它受保护域来实现TEE。这些技术连同平台基础设施软件可以通过将存储器区域与操作系统(OS)隔离并提供围绕存储器区域的访问控制规则以仅允许获授权实体访问来提供TEE。在另一实施例中,平台芯片组中或集成到处理器封装的非核中的知识产权(IP)区块能够诸如使用聚合安全可管理引擎(CSME)来提供TEE。在另外的其他实施例中,可使用 TXT技术、ARM TrustZone、或者任何其他安全容器、飞地等等来实现TEE。
[0013] 通过提供在受信任执行环境内执行的等待证明技术,基于保证的等待时间的领导者选择过程的安全性和随机性得以确保。更具体而言,各实施例避免了执行昂贵繁忙的工作,同时保留了交易验证的完整性。
[0014] 在使用一实施例的情况下,在执行交易验证时消耗较少的资源。例如,以2015年初的能量价格,比特币工作量证明算法被估计为每个经验证的交易区块在电力上消耗$10的数量级。相比之下,根据一实施例的等待证明技术在等待时段期间消耗根据一实施例计算的非常少的功率。要注意,在该等待时段期间,可将处理器和/或整个核验器系统置于低功率状态,以进一步降低功耗。
[0015] 更进一步,在使用本发明的一实施例的情况下,可在通用硬件上高效地执行如本文所描述的等待证明,从而避免专的、专用的解决方案。通过避免专用硬件并降低操作成本,降低了验证的准入门槛,从而实现更广泛地参与验证过程并增加验证的整体稳健性(因为越大群体的验证者使得对过程的操纵显著越困难)。
[0016] 如上面讨论的,一些加密货币(诸如比特币)依赖于工作量证明计算来随机地选择对交易区块进行验证的领导者。比特币的工作量证明包括搜索短字符串(“现时数”),该字符串在被添加到交易区块时得到以前导零的序列(即,其小于某个阈值)开始的该区块的散列。比特币验证者重复地猜测该字符串并且随后通过对区块计算散列来对其进行测试直至找到恰适的字符串。散列函数确保找到序列所需要的试验次数是随机分布的。答案中所需要的前导零的数目通过协议来调整,以确保平均花费约10分钟来找到区块的正确现时数。
[0017] 实际上,该协议实现抽选(lottery)来确定谁能够更新账本,其中获胜者是随机选择的,并且其中票据的价格是工作量证明的成本。出于达成交易账本更新的去中心化共识的目的,良好的抽选函数具有若干特性:该函数跨最广泛可能的参与者群体随机分布领导者选择;控制选择的成本应当与要从中获得的价值成比例;并且使所有参与者核验领导者被合法选择在计算上是高效的。
[0018] 使用植根于受信任执行环境中的等待证明技术确保领导者选择过程的安全性和随机性而无需高成本的功率投资(由此增大了验证者的群体)。更具体而言,通过受信任执行环境提供了保证的等待时间。
[0019] 给定交易区块的该等待计时器被保证是由TEE产生的。并且等待证书的生成核验了计时器是由TEE产生的(并且已期满)。该等待证书由此是一种证实,其可以用于核验验证者在声明领导色之前确实等待了所分配时间。在一实施例中,通过直接匿名证实(DAA)方案的密钥分发可以用于该验证以生成等待证书。
[0020] 要注意,该随机分布是返回根据概率分布来采样的值的函数,其可以由加密货币社区采用。在各个实施例中,可以使用等待时间的任何分布,诸如均匀、泊松、Erlang等等;然而,该分布可与给定加密货币系统的其他目标兼容。概率分布可由表示分布的居中趋势或平均值的均值来参数化。作为示例,用于验证比特币加密货币交易的时间是具有10分钟的均值(表示大约每10分钟将找到散列问题的解)的泊松分布。
[0021] 在本文所描述的各实施例中,使用以下术语。
[0022] 验证者–运行程序以验证交易区块的实体。
[0023] 验证–证明交易区块的正确性并将其添加到统一商定的接受区块历史的过程。
[0024] 已提交–已被验证并添加到统一的接受区块历史的区块(或者区块内的交易)。
[0025] 全局分布–在整个验证者集合上观看到的成功的区块验证所需要的时间的随机分布。
[0026] 全局分布均值–在整个验证者集合上观看到的成功的区块验证所需要的平均时间;该值通常由系统中的参与者商定。
[0027] 局部分布–单个验证者验证区块所需要的时间的随机分布(以使得维持全局分布均值)。
[0028] 局部分布均值–单个验证者验证区块所需要的平均时间。可按确保维持全局分布均值的方式来计算该值。
[0029] 等待计时器–可以由本地TEE核验的证书,包含先前区块标识符、开始/结束时间历时、以及用于生成间隔的局部分布均值,并且当结束时间已期满时该等待计时器可以换取等待证书。
[0030] 等待证书–可以由任何TEE核验的证书,并且其包含TEE身份、先前区块标识符、开始/结束时间历时、以及用于生成间隔的局部分布均值,其证明验证者生成了等待计时器并等待了所计算的间隔。
[0031] 现在参考图1,所示为根据本发明的一个实施例的受信任执行环境的框图。在图1中所示的实施例中,TEE 100可被实现为硬件、软件、和/或固件的组合。在一个实施例中,TEE 100可至少部分地实现在多核处理器或其它片上系统(SoC)的专门的安全性硬件内。例如,TEE 100可被实现为安全性协处理器、CSME、硬件加速器等等。
[0032] TEE 100包括用于等待时段的分布均值的计算逻辑。如所看到的,计算逻辑110被耦合以接收多个等待证书,其可以是与一个或多个先前验证的交易区块相关联的等待证书。此类等待证书可以是用于提交的区块链中的每个区块,并且可包括各种信息,包括开始时间、期满时间、概率分布的均值、以及关于先前交易区块和要验证的当前交易区块的信息。根据该信息中的至少一些信息,计算逻辑110可以为要验证的当前交易区块确定等待时段分布的均值,本文中被称为局部均值。
[0033] 仍然参考图1,计算逻辑110将局部均值提供给等待计时器生成逻辑120。一般而言,计时器生成逻辑120被配置成生成等待值(本文中也称为计时器值),其可以用于在期满之际指示给定等待时段的结束。如进一步解说的,等待计时器生成逻辑120接收附加的传入信息,包括一个或多个先前验证的交易区块。更具体而言,在一实施例中,计时器生成逻辑120接收先前的经验证交易区块(连同其等待证书)以及潜在地将被验证的当前区块。在一实施例中,该先前区块可以是最新近提交的交易区块。根据该信息,等待计时器生成逻辑
120生成等待值。如本文将描述的,该等待值可以由可在TEE内实现的给定函数或例程来确定。
[0034] 仍然参考图1,计时器值被提供给计时器逻辑130。在一实施例中,计时器逻辑130被配置成确定等待时段何时已期满。在一实施例中,计时器逻辑130可被配置成:对处理器的时钟循环进行计数,并基于所计数的时钟循环的数目来确定计时器期满。响应于该等待时段的期满,计时器逻辑130生成期满信号,计时器逻辑130将该期满信号传达给等待证书生成逻辑140。
[0035] 在各个实施例中,等待证书生成逻辑140可响应于接收到该期满信号而为当前交易区块生成等待证书。在一实施例中,等待生成逻辑140可至少部分地基于验证由TEE对等待时段的计算并验证等待时段已期满来生成等待证书。如本文将描述的,该等待证书可以由可在TEE内实现的给定函数或例程来生成。在一实施例中,该等待证书可包括等待时段的开始和结束时间、局部均值、先前的经验证交易区块的散列值以及当前交易区块的散列值。在一实施例中,等待证书生成逻辑140将等待证书输出至输出逻辑150,该输出逻辑150可被配置成从处理系统发送当前验证的交易区块连同对应的等待证书。
[0036] 要理解,虽然在图1的实施例中以该高层级解说,但各变型和替换方案是可能的。例如,在其他实施例中,图1中所示的至少一些逻辑可以在TEE外部。在一个情形中,图1中所示的存在于TEE内的仅有逻辑块是等待计时器生成逻辑和等待证书生成逻辑。
[0037] 现在参考图2,所示为根据本发明的一实施例的方法的流程图。更具体而言,图2的方法200(其可由硬件、软件、和/或固件的恰适组合(包括诸如图1中的TEE)执行)可用于验证分布式账本系统中的交易区块。
[0038] 如所示,方法200响应于接收到经验证的交易区块(210)而开始。该经验证的交易区块可在给定的核验器处理系统中从分布式账本系统中的另一处理系统接收,并且可对应于先前的经验证交易区块。连同该交易区块一起接收的是与该交易区块相关联的等待证书。
[0039] 接着,控制传递至框220,其中可收集未决交易并置于新区块中。随后在框230,可根据提交的区块链(其是提交的链的子集)来计算局部均值。要注意,在一些实施例中,子集的长度不是固定的。在一实施例中,该局部均值可根据随机分布计算来生成,其细节在下文进一步讨论。
[0040] 仍然参考图2,接着产生等待计时器(框240)。在一实施例中,该等待计时器在TEE内生成的,并且可基于所计算的局部均值,以及与当前和先前的交易区块相关联的信息(例如,与这些交易区块相关联的散列值)。接着在产生该等待计时器之后,系统可以在等待时段的历时内进入低功率状态,或者系统可以执行(例如,一个或多个其他应用的)其他处理操作。
[0041] 要注意,在计时器期满之前,可以确定经验证的交易区块是否抵达(框250)。要注意,该经验证的交易区块可从赢得该当前交易区块的抽选的另一验证系统接收。如此,针对当前交易区块未采取进一步的操作,并且控制传递至框220。如果反之未接收到经验证的区块,则控制接着传递至菱形260以确定等待时间是否已期满。如果为是(并且在该期满之前没有经验证的区块抵达),则这表示核验器系统赢得抽选。
[0042] 因此,控制传递至框270,其中可以为交易区块生成等待证书。在一实施例中,该等待证书可被生成为包括开始和结束时间、局部均值、以及先前区块和新区块的散列值。此后,在框280,该经验证的区块可连同对应的等待证书被发送给分布式账本系统的各个实体,诸如多个其他核验器系统。要理解,虽然在图2的实施例中以该高层级示出,但许多变型和替换方案是可能的。
[0043] 在一些情形中,在接收到足够数目的经验证区块(以及对应的等待证书)之前,对局部均值的计算可能不是非常准确。因此,各实施例可提供初始化技术以在没有足够样本的情况下更好地估计局部均值。在一实施例中,可以选择初始等待时间(其是与要用于初始区块的局部均值相对应的配置值)以使得当初始样本大小数目的区块已被验证时该局部均值是目标等待时间(其是全局区块验证之间的时间的目标均值的配置值)。要注意,该初始样本大小是要用于缓慢斜变初始化的区块数目。
[0044] 更具体而言,在一个实施例中,可执行以下计算来确定用于初始化的局部均值:
[0045] 比率=当前链的长度/初始样本大小[式1]
[0046] 局部均值=目标等待时间*(1-比率2)+初始等待时间*比率2[式2][0047] 在式1和2中:初始样本大小是用于局部分布均值计算的初始化阶段的区块数目;初始等待时间是要在进入初始化阶段时使用的局部分布均值(用于链中的第一区块);并且目标等待时间是在退出初始化阶段时的局部分布均值(用于“初始样本大小”区块)。要注意,样本大小是用于一旦初始化阶段完成时计算稳定状态局部分布均值的区块数目;该值一般是由系统中的参与者商定的。
[0048] 如上所述,在各个实施例中,TEE可以用于计算要验证的给定交易区块的等待计时器。要注意,首先,可能出现对执行的受信任代码类以及要在等待计时器和等待证书的签名操作中使用的密钥的各种定义。
[0049] 表1
[0050]
[0051] 此后,可在TEE内调用产生计时器函数以计算该等待计时器。在一实施例中,所计算的局部均值、最新近提交的交易区块、以及要验证的区块可以作为输入提供给该函数。现在参考表2,所示为根据本发明的一实施例的用于计算等待计时器值的示例伪代码。
[0052] 表2
[0053] def CreateTimer(self,LocalMean,PreviousTxnBlockID,TxnBlock):
[0054] StartTime=max(now(),ExpireTime)
[0055] ExpireTime=StartTime+RandomDistribution(LocalMean)
[0056] return SIGN(TimerKey,[StartTime,ExpireTime,LocalMean,PreviousBlockID,TxnBlock])
[0057] 如表2中所示,该函数可接收先前区块ID(其是先前验证的区块的散列值)、当前区块ID(其是要验证的当前交易区块的散列值)、以及局部均值(其是指数分布的均值)作为输入。该函数返回开始时间值、结束时间值、局部均值、以及先前和当前交易区块的散列值(PrevID和CurrentID)。在一实施例中,该等待计时器值可以例如由本地密钥进行加密签名,因为该等待值将仅在本地被核验(即,在生成等待值自身的相同TEE内)。在一个实施例中,结束时间可根据式3来计算:ln(hash(LocalIEPIDKey,PrevID))*LocalMean[式3]。式3使用TEE的标识符和先前的已提交交易区块的标识符来生成均匀分布的随机数。均匀分布的随机数的自然对数以分布均值1指数地分布。乘以LocalMean(其是局部均值)产生了具有LocalMean的分布均值的指数分布。由此,由式3计算的等待计时器值将具有含有等于LocalMean的分布均值的指数分布。
[0058] 在一实施例中,局部均值计算可以用于确定全局分布的值中的最小值。该局部均值可至少部分地基于全局知识,包括用于提交的链的每个区块的局部均值以及每个区块的等待历时,其中该等待历时是全局分布的采样。
[0059] 现在参考式4,概率分布函数Pr可以用于估计群体大小并计算将近似正确全局均值的局部均值:
[0060]
[0061] 在式4中,X是全局分布,λ是全局分布均值的分子,Xi是局部分布,并且分母的个体λi是局部分布均值。在各实施例中,所有个体λ是相等的。
[0062] 要注意,通过在经验证的区块的等待证书中传达所计算的局部均值,接收到等待值和经验证的区块的任何第三方实体可以核验与该区块相关联的局部均值。
[0063] 在等待时段结束时,可触发计时器期满或其他期满信号并发送给TEE以便产生等待证书(假设在等待计时器期满之前系统中还未接收到其他经验证的交易区块)。在一实施例中,等待证书产生函数可以核验等待计时器是通过调用在TEE中执行的函数来生成的,并核验该时间已期满。
[0064] 现在参考表3,所示为根据本发明的一实施例的用于生成等待证书的示例伪代码。
[0065] 表3
[0066]
[0067] 如表3中所示,该函数可接收期满的计时器并核验期满的计时器中的时间已期满。包括在所产生的等待证书中的可以是开始时间、结束时间、局部均值、以及先前经验证区块和当前经验证区块的散列值。
[0068] 在一实施例中,该证书可由本地群密钥来签名,在一个实施例中该本地群密钥可以是例如使用 处理器生成的本地增强型隐私标识符(EPID)群密钥。要注意,可在不具有受信任执行环境的外部第三方系统中使用全局群密钥来核验该经签名的等待证书。要理解,虽然在表3中以特定的伪代码示出,但各变型和替换方案是可能的。
[0069] 实施例由此满足良好抽选算法的准则。该实施例跨整个验证者群体随机地分布领导选择,该验证者群体具有类似于由抽选算法提供的分布。选择的概率与所贡献的资源(在该情形中,资源是受信任执行环境)成比例。在一实施例中,第三方可通过使用用于核验经签名的证实的EPID和群密钥来验证选择。
[0070] 为了提交新区块以供验证,抽选的获胜者可以证明其遵守了协议。为此,在将区块作为区块链中的下一区块提交给社区之前,可以使用基于硬件的DAA算法对该区块签名。在一实施例中,区块的保留指示符还被设置为断言该区块是经由等待证明算法而不是工作量证明算法来产生的。每当设置了新的头部指示符,加密社区的成员就可以核验区块上的DAA签名;DAA签名的语义是签名者证实其忠实地遵循规程。
[0071] 任何证实提供了证明活跃度的随机挑战。各实施例是安全的,因为每个区块包括先前区块的散列以及现时数。由于该散列值在构造先前区块之前是不可预测的,因此签名证明签名者在选择当前区块的领导者的抽选之前不可能已开始其等待证明执行。各实施例由此提供了TEE以创建可认证的随机延迟作为通常使用工作量证明的分布式系统中的工具。
[0072] 如上所述,各实施例可实现在各种系统中。现在参考图3,所示为根据本发明的一实施例的系统布置的框图。如图3中所看到的,系统800可以是给定的平台(诸如移动设备、平板、平板手机、个人计算机、服务器计算机(或其它形状因子))并且包括CPU 810。在各个实施例中,该CPU可以是SoC或其它多核处理器,并且可以包括安全执行技术以设立受信任执行环境(TEE)。在不同的实施例中,可以使用 SGX技术、 TXT技术、或ARM TrustZone来实现TEE。
[0073] 如图3的实施例中所看到的,CPU 810可耦合到芯片组820。尽管在图3的实施例中被示为分开的组件,但要理解,在一些实现中,芯片组820可实现在与CPU 810相同的封装内,特别是当CPU被实现为SoC时。芯片组820可包括可管理性引擎825,该可管理性引擎825在一实施例中可被配置成执行本文所描述的基于等待证明的验证。如进一步看到的,存储器系统的各个部分耦合到CPU 810,包括系统存储器830(例如,由动态随机存取存储器(DRAM)构成)。
[0074] 在图3的实施例中,可以存在附加的组件,包括可以是独立中枢或被配置在芯片组820内的传感器/通信中枢840。如所看到的,一个或多个传感器842可以与中枢840通信。出于用户认证和设备/情境证实的目的,此类传感器可以包括生物计量输入传感器、一个或多个运动传感器设备、以及全球定位系统(GPS)模块或其他专门的位置传感器。在一实施例中,也可以存在诸如惯性和环境传感器的其他传感器。作为若干示例,可以提供加速度计和力检测器,并且从这些传感器获得的信息可以用于本文所描述的基于运动的认证。另外,在各个实施例中,可以存在一个或多个无线通信模块845以实现与局域或广域无线网络的通信,诸如根据3G或4G/LTE通信协议的给定蜂窝系统。
[0075] 如图3中进一步看到的,平台800可以进一步包括可以经由信道844耦合到芯片组820的显示处理器850,该信道844在一些实施例中可以是受信任的信道。如所看到的,显示处理器850可以耦合到显示器870,该显示器870可以是触摸屏显示器的以接收诸如对认证请求的响应的用户输入。因此在该示例中,被配置在显示器内的可以是触摸屏875以及触摸屏控制器880(其当然隐藏在显示器本身的后面)。其他用户接口(即用户接口8951与8952,其在一示例中可以是键盘鼠标)可以经由嵌入式控制器890耦合到传感器/通信中枢830。
[0076] 现在参考图4,所示为根据本发明的另一实施例的系统的框图。如图4中所示,多处理器系统1000是点对点互连系统(诸如服务器系统),并且包括经由点对点互连1050耦合的第一处理器1070和第二处理器1080。如图4中所示,处理器1070与1080中的每个处理器可以是包括第一和第二处理器核(即,处理器核1074a和1074b以及处理器核1084a和1084b)的多核处理器(诸如SoC),尽管这些处理器中可能存在更多的核。另外,处理器1070和1080各自可包括安全引擎1075和1085以执行安全性操作,包括用于如本文所描述的分布式账本系统的等待证明。
[0077] 仍然参考图4,第一处理器1070进一步包括存储器控制器中枢(MCH)1072以及点对点(P-P)接口1076和1078。类似地,第二处理器1080包括MCH 1082以及P-P接口1086和1088。如图4中所示,MCH 1072和1082将处理器耦合到相应的存储器,即存储器1032和存储器
1034,这些存储器可以是本地附连到相应处理器的主存储器(例如,DRAM)的部分。第一处理器1070和第二处理器1080可以分别经由P-P互连1052和1054耦合到芯片组1090。如图4中所示,芯片组1090包括P-P接口1094和1098。
[0078] 此外,芯片组1090包括通过P-P互连1039将芯片组1090与高性能图形引擎1038耦合的接口1092。进而,芯片组1090可以经由接口1096耦合到第一总线1016。如图4中所示,各种输入/输出(I/O)设备1014以及总线桥接器1018可耦合到第一总线1016,总线桥接器1018将第一总线1016耦合到第二总线1020。各种设备可耦合到第二总线1020,包括例如键盘/鼠标1022、通信设备1026以及数据存储单元1028。如所看到的,在一个实施例中数据存储单元1028可包括代码1030。如进一步看到的,数据存储单元1028还包括受信任存储设备1029,其可存储如本文所描述的一个或多个等待证明例程。此外,音频I/O 1024可以耦合到第二总线1020。
[0079] 以下示例关于进一步的实施例。
[0080] 在示例1中,一种装置包括:计算逻辑,其用于:接收多个等待证书,并基于所述多个等待证书来生成局部均值,所述多个等待证书中的每一者与分布式账本系统的经验证的交易区块相关联;计时器生成逻辑,其用于:至少部分地基于所述局部均值来生成用于与所述分布式账本系统的第一交易区块相关联的等待证明的等待时段;计时器逻辑,其用于:标识所述等待时段何时已期满;以及证书生成逻辑,其用于:响应于所述等待时段的期满,为所述第一交易区块生成等待证书,所述等待证书用于验证所述第一交易区块。
[0081] 在示例2中,所述计算逻辑用于:基于概率分布来计算所述局部均值。
[0082] 在示例3中,所述计时器生成逻辑用于:进一步基于与所述第一交易区块相关联的第一散列值以及与所验证的交易区块相关联的第二散列值来生成所述等待时段。
[0083] 在示例4中,上述示例中的一个或多个示例的装置进一步包括受信任执行环境,所述受信任执行环境包括所述计时器生成逻辑和所述证书生成逻辑。
[0084] 在示例5中,示例4的装置进一步包括输出逻辑,所述输出逻辑用于:将所验证的第一交易区块和所述等待证书发送给所述分布式账本系统中的多个系统。
[0085] 在示例6中,所述等待证书用于:进一步核验所述装置仅为所述第一交易区块生成单个等待证书。
[0086] 在示例7中,所验证的第一交易区块包括头部,所述头部具有第一指示符以指示所验证的第一交易区块是使用等待证明来验证的。
[0087] 在示例8中,上述示例中的一个或多个示例的装置包括多核处理器,所述多核处理器包括多个核以及安全性代理。
[0088] 在示例9中,示例8的所述安全性代理用于在受信任执行环境中执行,所述安全性代理包括至少所述计时器生成逻辑和所述证书生成逻辑。
[0089] 在示例10中,一种方法包括:在第一处理系统的TEE中生成期满时间以指示用于验证分布式账本系统的交易区块的等待证明;确定所述期满时间是否已到达;以及响应于确定所述期满时间已到达,在所述TEE中生成等待证书以核验所述期满时间的期满并核验所述期满时间是在所述TEE中生成的,所述等待证书用于从所述第一处理系统提交给所述分布式账本系统以验证所述交易区块。
[0090] 在示例11中,如果在所述期满时间达到之前接收到与所述交易区块相关联的经验证的交易区块,则不生成所述等待证书。
[0091] 在示例12中,所述方法进一步包括:至少部分地基于局部均值来生成所述期满时间,所述局部均值是在所述受信任执行环境中计算的。
[0092] 在示例13中,所述方法进一步包括:根据多个先前验证的交易区块的等待时间的随机分布来计算所述局部均值。
[0093] 在示例14中,所述方法进一步包括:至少部分地基于所述交易区块的第一散列值、先前交易区块的第二散列值、以及所述局部均值来生成所述期满时间。
[0094] 在示例15中,所述方法进一步包括:用本地群密钥对所述等待证书签名,其中,外部代理将使用全局群密钥来核验所述等待证书。
[0095] 在示例16中,所述分布式账本系统包括加密货币系统。
[0096] 在另一示例中,一种计算机可读介质包括指令,所述指令用于执行上述示例中的任何示例的方法。
[0097] 在另一示例中,一种计算机可读介质包括数据,所述数据要由至少一个机器用于制造至少一个集成电路以执行上述示例中的任一示例的方法。
[0098] 在另一示例中,一种装备包括用于执行上述示例中的任一示例的方法的装置。
[0099] 在示例17中,一种方法包括:在处理系统中将分布式账本系统的未决交易收集到第一交易区块中;根据所述分布式账本系统的一个或多个先前验证的交易区块的区块链来计算局部均值;调用所述处理系统的TEE的计时器函数以确定等待时段的期满时间,所述计时器函数用于至少部分地基于先前验证的交易区块的第一散列值、所述第一交易区块的第二散列值、以及所述局部均值来确定所述期满时间;响应于所述等待时段的所述期满时间,调用所述TEE的证书函数来生成等待证书以核验所述等待时段已期满并核验所述期满时间是在所述TEE中确定的;以及在生成所述等待证书之后,从所述处理系统发送所述第一交易区块作为经验证的交易区块。
[0100] 在示例18中,示例17的方法进一步包括:发送所述等待证书以及所述经验证的交易区块。
[0101] 在示例19中,示例18的方法进一步包括:用与所述TEE相关联的本地密钥来对所述等待证书签名,其中,外部核验器可以使用全局密钥来核验所述等待证书。
[0102] 在示例20中,示例17的方法进一步包括:在所述等待证书中包括所述局部均值、所述第一散列值、所述第二散列值。
[0103] 在示例21中,一种系统包括:用于将分布式账本系统的未决交易收集到第一交易区块中的装置;用于根据所述分布式账本系统的一个或多个先前验证的交易区块的区块链来计算局部均值的装置;用于调用所述系统的TEE的计时器函数以确定等待时段的期满时间的装置,所述计时器函数用于至少部分地基于先前验证的交易区块的第一散列值、所述第一交易区块的第二散列值、以及所述局部均值来确定所述期满时间;用于调用所述TEE的证书函数以生成等待证书来核验所述等待时段已期满并核验所述期满时间是在所述TEE中确定的装置;以及用于从所述处理系统发送所述第一交易区块作为经验证的交易区块的装置。
[0104] 在示例22中,示例21的系统进一步包括:用于发送所述等待证书以及所述经验证的交易区块的装置。
[0105] 在示例23中,示例22的系统进一步包括:用于用与所述TEE相关联的本地密钥来对所述等待证书签名的装置,其中,外部核验器可以使用全局密钥来核验所述等待证书。
[0106] 在示例24中,示例21的系统进一步包括:用于在所述等待证书中包括所述局部均值、所述第一散列值、以及所述第二散列值的装置。
[0107] 要理解,上述示例的各种组合是可能的。
[0108] 各实施例可以被用于许多不同类型的系统中。例如,在一个实施例中,通信设备可以被布置成执行如本文所述的各种方法和技术。当然,本发明的范围不限于通信设备,相反,其他实施例可以涉及用于处理指令的其他类型的装置,或包括指令的一个或多个机器可读介质,这些指令响应于在计算设备上被执行而使该设备执行本文所述的方法和技术中的一个或多个。
[0109] 各实施例可以在代码中实现,并且可以存储在其上存储有指令的非瞬态存储介质中,这些指令可以被用于对系统编程以执行指令。各实施例还可以在数据中实现,并且可以存储在非瞬态存储介质中,该非瞬态存储介质如果被至少一个机器使用,将使得该至少一个机器制造至少一个集成电路以执行一个或多个操作。存储介质可以包括但不限于,任何类型的盘,包括软盘、光盘、固态驱动器(SSD)、紧致盘只读存储器(CD-ROM)、可重写紧致盘(CD-RW)以及磁光盘;半导体器件,诸如,只读存储器(ROM)、随机存取存储器(RAM)(诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM);磁卡或光卡;或适用于存储电子指令的任何其他类型的介质。
[0110] 虽然已参照有限数量的实施例描述了本发明,但是本领域技术人员将从中领会很多修改和变型。所附权利要求旨在涵盖落入本发明的真实精神和范围的所有此类修改和变型。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈