当前位置: 首页 > 专利查询>E·马伊姆专利>正文

用于在安全环境中执行智能合约的方法和系统技术方案

技术编号:22421025 阅读:31 留言:0更新日期:2019-10-30 02:47
本发明专利技术涉及一种用于安全地执行程序(智能合约)的方法,所述方法在第一钱包节点(WN)(WN1)与第二钱包节点WN(WN2)之间实行。根据本发明专利技术,至少所述第二WN实施于处理器的包围区中,且所述WN可执行它们接收到的消息中指定的程序。所述方法包括以下步骤:a)从WN1向WN2传输预先消息;b1)响应于所述预先消息,在所述包围区中执行第一程序(WNRoT);b2)由所述包围区产生所述程序的真实性和执行完整性的证据;b3)将所述证据传输到WN1;c)由WN1验证所述证据;d)在成功验证之后,从WN1向WN2传输消息,所述消息既定触发给定程序在WN2中的执行;以及e)在WN2中执行所述程序。

【技术实现步骤摘要】
【国外来华专利技术】用于在安全环境中执行智能合约的方法和系统
本专利技术涉及在能够基于消息而执行彼此之间的交易的通常为分散型的联网节点架构中有用的方法和系统。
技术介绍
此处应注意,以下说明的一些部分是英语,它们到法语的忠实翻译也将被视为形成说明的一部分。此外,将参考在申请人名下的申请案WO2016120826A2,该案的内容以引用的方式并入本文。分散型PGP信任模型已经是已知的(《信任网络(Web-of-Trust)》,1992),其使得对等点能够充当公钥的介绍人和验证人且提出数字身份的分散型验证度量,它关注于所讨论的对等点的电子邮件地址。也曾提出在无认证授权的情况下确立身份的其它方法(例如在1996年由CarlEllison提出的那些方法)。此外,已知的方法当面临“中间人(Man-in-the-Middle,MitM)攻击”的风险时使用“带外通道(out-of-bandchannel)”方法且要求使用可靠的终端来执行公钥的安全交换,具体来说为SafeSlinger方法[http://www.netsec.ethz.ch/publications/papers/farb_safeslinger_mobicom2013.pdf],其被设计成优化例如在“密钥签署方”的群组中的每一个用户与所有其它用户交换密钥的情况。本专利技术首先旨在实现分散型识别,其简单且使用范围较宽,并直接满足实施当前在共识协议中使用的“智能合约”型可执行承诺的要求[https://en.wikipedia.org/wiki/Smart_contract],特别是在任何人都可以动态地加入和离开的无许可环境中以及不存在对共识节点的先验了解的情况,这通常受计算谜题支持[Dwork&Naor,1992:http://www.hashcash.org/papers/pvp.pdf;Back,2002:http://www.hashcash.org/papers/hashcash.pdf]以抵抗“女巫攻击(sybilattacks)”并且理论在于计算能力的主要部分是由诚实参与者保持[Nakamoto,2008:https://bitcoin.org/bitcoin.pdf]。关于智能合约的现有技术水平主要由以太坊(Ethereum)系统代表[https://github.com/ethereum/wiki/wiki/White-Paper]。并不存在安全性是基于受信任制造者的硬件的智能合约(无受信任的第三方)的已知实施方案。例如ARM处理器或更为新近的英特尔(Intel)处理器等处理器的新型架构使得能够使用“受信任执行环境”(TrustedExecutionEnvironments,TEE),例如英特尔处理器的SGX包围区。然而,这些包围区当前只是针对基于区块链的较轻型协议而提出。举例来说,由英特尔提出的PoET协议仍是基于区块链的。
技术实现思路
本专利技术的一个方面是实现此类安全环境的使用以便去掉区块链或使区块链为任选的。本专利技术更具体来说目标是硬件上的实施方案,其可供大量制造者使用,以便即使关于制造者自身也实现分散,并且还旨在提出减轻女巫攻击的分散型识别机制(当对手在网络内创建其控制的任何数目的新节点时)。本专利技术的另一方面是能够使钱包节点型实体和安全单元型实体(TEE)一起协作,具体来说是英特尔处理器的SGX型包围区(下文中,词语“包围区”将描述此包围区或大体上任何TEE)。归功于硬件,本专利技术的目标不仅是速度(区块链的共识是缓慢的)和成本(交易费用)的优点,而且还有稍后将论述的定性优点。区块链方法本质上涉及集中型但也大规模重复的数据结构。本专利技术所提出的真实分散避免了对当今的比特币(Bitcoin)和以太坊带来最高优先级挑战的“缩放”的需要。根据第一方面,提出一种在第一WN(WN1)与第二WN(WN2)实施的程序(智能合约)的安全执行的方法,至少所述第二WN实施于处理器的包围区中,且所述WN能够执行达到它们的消息中指定的程序,所述方法包括以下步骤:a)由WN1向WN2发送预先消息;b1)响应于此预先消息,在所述包围区中执行第一程序(WNRoT);b2)由所述包围区产生所述第一程序的真实性和所述第一程序的执行的完整性的凭证;b3)将所述凭证发送到WN1;c)由WN1验证所述凭证;d)在成功验证的情况下,由WN1向WN2发送消息,所述消息既定触发给定程序在WN2中的执行,以及e)在WN2中执行所述程序。一些优选但是任选的方面如下:*步骤b2)还包括产生临时标志,步骤b3)还包括将所述临时标志发送到WN1,且所述方法此外在步骤d)之前包括在WN1处实施的以所述临时标志加密待发送的消息的步骤,且在步骤e)之前包括在WN2处实施的对所述加密的消息进行解密的步骤;*将在WN中执行的程序的指定是通过所述程序的内容的散列来执行;*所述预先消息含有所述给定程序的指定,以便由WN2将所述程序预加载到工作存储器中;*WN1也是处理器的包围区,其中在WN2每一次接收到来自WN1的预先消息或消息时,WN2验证此预先消息或消息中存在已在WN1中执行且触发此预先消息或消息的发送的程序的执行的真实性和完整性的凭证。*所述方法还包括:-在步骤a)与c)之间,由WN2产生从WN2的秘密密钥且从所述给定程序的所述指定导出的一对公钥/私钥的步骤;-在步骤d)之前,将导出的公钥发送到WN1的步骤;-在步骤d)之前,在WN1中以所述导出的公钥对所述消息的数据部分以加密的步骤,以及-在步骤d)之后,在WN2中以导出的私钥对所述数据部分进行解密的步骤;*所述对导出密钥还从所述预先消息中含有的指定信息产生;*将导出的公钥发送到WN1的步骤是在步骤b3)期间实施。根据第二方面,提出一种用于在第一WN(WN1)与第二WN(WN2)之间实施的交易程序的安全执行的方法,WN1和WN2各自是处理器或专用SoC的包围区,其中所述WN能够通过含有将在接收者WN中执行的程序的指定的交易消息来通信,且交换交易消息的一对WN在安全条件中执行同一程序。根据第三方面,提出一种用于保障节点(WN)网络的操作安全的方法,所述节点能够响应于接收到消息(WM)而执行程序(WP),所述节点是由处理器的包围区或由SoC实施且所述节点能够基于连接权重值而链接在一起,所述方法包括以下步骤:-对每一节点指派与其相关地具有连接权重的至少一个会签者节点;-对于每一节点,保持能够从所讨论的节点接收消息的会签者节点的列表,每一节点和其会签者节点形成一组镜像节点;-基于在发出者节点和/或接收者节点所属于的所述镜像节点处的相干约束而验证或授权所述发出者节点与所述接收者节点之间的消息。在另一领域(下文为加权的闪电网络),根据本专利技术的第四方面,提出一种具有对等架构的交易系统,其在单位发出者节点与单位接收者节点之间实施计算单位转移交易,每一传入交易具有参考前一交易的输出的输入(或各自参考前一交易的输出的若干输入)且自身具有指定计算单位数目和接收者节点的至少一个新输出,每一交易能够通过插入在至少一些节点之间以分布式方式存储的区块链中响应于所述交易的至少一个签名的广播而被验证,至少一些节点还能够通过交易来交换计算单位而无需经由节点之间的支付通道的强制性广播,每一节点具本文档来自技高网
...

【技术保护点】
1.一种用于在第一WN(WN1)与第二WN(WN2)之间实施的程序(智能合约)的安全执行的方法,至少所述第二WN是在处理器的包围区中实施,且所述WN能够执行在达到所述WN的消息中指定的程序,所述方法包括以下步骤:a)由WN1向WN2发送预先消息;b1)响应于此预先消息,在所述包围区中执行第一程序(WNRoT);b2)由所述包围区产生所述第一程序的真实性和所述第一程序的执行的完整性的凭证;b3)将所述凭证发送到WN1;c)由WN1验证所述凭证;d)在成功验证的情况下,由WN1向WN2发送消息,所述消息既定触发给定程序在WN2中的执行,以及e)在WN2中执行所述程序。

【技术特征摘要】
【国外来华专利技术】2017.01.16 IB PCT/IB2017/050228;2017.02.03 US 62/41.一种用于在第一WN(WN1)与第二WN(WN2)之间实施的程序(智能合约)的安全执行的方法,至少所述第二WN是在处理器的包围区中实施,且所述WN能够执行在达到所述WN的消息中指定的程序,所述方法包括以下步骤:a)由WN1向WN2发送预先消息;b1)响应于此预先消息,在所述包围区中执行第一程序(WNRoT);b2)由所述包围区产生所述第一程序的真实性和所述第一程序的执行的完整性的凭证;b3)将所述凭证发送到WN1;c)由WN1验证所述凭证;d)在成功验证的情况下,由WN1向WN2发送消息,所述消息既定触发给定程序在WN2中的执行,以及e)在WN2中执行所述程序。2.根据权利要求1所述的方法,其中步骤b2)还包括产生临时标志,步骤b3)还包括将所述临时标志发送到WN1,且所述方法还在步骤d)之前包括在WN1处实施的以所述临时标志对待发送的所述消息进行加密的步骤,且在步骤e)之前包括在WN2处实施的对所述加密的消息进行解密的步骤。3.根据权利要求1或2所述的方法,其中将在WN中执行的程序的指定是通过所述程序的内容的散列来执行。4.根据权利要求1至3中任一项所述的方法,其中所述预先消息含有所述给定程序的指定,以便由WN2将所述程序预加载到工作存储器中。5.根据权利要求1至4中任一项所述的方法,其中WN1也是处理器的包围区,且其中在WN2每一次接收到来自WN1的预先消息或消息时,WN2验证此预先消息或消息中存在已在WN1中执行且触发此预先消息或消息的发送的程序的执行的真实性和完整性的凭证。6.根据权利要求1至5中任一项所述的方法,其还包括:在步骤a)与c)之间,由WN2产生从WN2的秘密密钥且从所述给定程序的所述指定导出的一对公钥/私钥的步骤;在步骤d)之前,将导出的公钥发送到WN1的步骤;在步骤d)之前,在WN1中以所述导出的公钥对所述消息的数据部分以加密的步骤,以及在步骤d)之后,在WN2中以导出的私钥对所述数据部分进行解密的步骤。7.根据权利要求6所述的依附于权利要求4的方法,其中所述对导出的密钥还从所述预先消息中含有的指定信息产生。8.根据权利要求7所述的方法,其中将所述导出的公钥发送到WN1的步骤是在步骤b3)期间实施。9.一种用于在第一WN(WN1)与第二WN(WN2)之间实施的交易程序的安全执行的方法,WN1和WN2各自是处理器或专用SoC的包围区,其中所述WN能够通过含有将在接收者WN中执行的程序的指定的交易消息来通信,且交换交易消息的一对WN在安全条件中执行同一程序。10.一种用于保障节点(WN)网络的操作安全的方法,所述节点能够响应于接收到消息(WM)而执行程序(WP),所述节点是由处理器的包围区或由SoC实施且所述节点能够基于连接权重值而链接在一起,所述方法包括以下步骤:对每一节点指派与其相关地具有连接权重的至少一个会签者节点;对于每一节点,保持能够从所讨论的节点接收消息的节点的会签者节点列表,每一节点和其会签者节点形成一组镜像节点;基于在发出者节点和/或接收者节点所属于的所述镜像节点方面的相干约束而验证或授权所述发出者节点与所述接收者节点之间的消息。加权的闪电网络11.一种具有对等架构的交易系统,其在单位发出者节点与单位接收者节点之间实施计算单位转移交易,每一传入交易具有参考前一交易的输出的输入(或各自参考前一交易的输出的若干输入)且自身具有指定计算单位数目和接收者节点的至少一个新输出,每一交易能够通过插入在至少一些节点之间以分布式方式存储的区块链中响应于所述交易的至少一个签名的广播而被验证,至少一些节点还能够通过交易来交换计算单位而无需经由节点之间的支付通道的强制性广播,每一节点具有到拥有计算单位上限(C(i,j))的另一节点的通道(Ch(i,j)),所述计算单位能够通过此通道转移而不需要广播,且两个节点之间的计算单位的转移能够经由成对地具有支付通道的节点链来执行,其特征在于所述节点具有相对于其它节点的连接权重(W(i,j)),表示所述节点或与所述节点相关联的用户之间的信任度或接近度,且其特征在于所述系统包括基于所述节点相对于与其具有所述给定通道的节点的连接权重而在给定通道上调整给定节点的所述计算单位上限的构件。12.根据权利要求11所述的系统,其中所述调整涉及与所述权重相关地升高所述上限。13.根据权利要求11或12所述的系统,其中一个节点相对于另一节点的所述权重是基于两个节点的周围环境中的真实连接(IRL连接)或准真实连接的存在而确定。制造者的权重14.一种具有对等架构的交易系统,用于使用能够以分散型方式由制造者制造的硬件节点(SoC;包围区)执行安全交易,每一节点相对于另一节点具有信任度或接近度,所述信任度或接近度主要通过连接权重或通过两个节点之间共同的镜像节点数目来体现,其特征在于所述系统包括用于对每一制造者指派制造者权重且基于硬件节点的所述制造者的所述制造者权重而调整此硬件节点相对于另一节点(不一定是硬件节点)的所述信任度的构件。15.根据权利要求14所述的系统,其特征在于所述制造者权重关联于由所讨论的所述制造者制造的硬件节点的数目。16.根据权利要求14所述的系统,其特征在于所述制造者权重关联于在所述系统中且由所讨论的所述制造者制造的有效硬件节点的数目。17.根据权利要求16所述的系统,其特征在于所述系统包括用于基于使用所述节点的交易的存在而确定硬件节点的活动的构件。18.根据权利要求16所述的系统,其特征在于所述系统包括用于基于与其它节点的交互的存在且基于这些交互中涉及的节点的连接权重的值而确定硬件节点的活动的构件。主体SoC和主体包围区19.一种安全处理器(SoC;包围区),其特征在于所述安全处理器能够代管网络的多个WN,且其特征在于所述安全处理器包括具有加密的加密存储器管理单元(CMMU),能够确保程序的安全执行,其中:所述CMMU中存储(或动态地重新产生)的是仅能够由所述CMMU访问的秘密程序加密密钥;所述CMMU能够存储将在由所述CMMU借助于所述秘密密钥进行加密之后执行的至少一个程序,且能够产生所述或每一程序的散列从而使得所述加密的程序能够被找到;所述处理器能够仅在所述CMMU的命令下执行程序;网络节点之间的交互是专门通过消息来执行,且所述消息是专门由所述CMMU接收/发出;所述消息含有在所述处理器中代管的接收者WN的标识以及将由所述接收者WN执行的某一程序的通过其散列来识别的标识;响应于接收到消息:所述处理器作为接收者WN初始化,且所述CMMU(i)基于在所述消息中接收的所述程序的所述散列而访问将由此WN执行的所述加密的程序(具体来说经由PHT),(ii)对程序指令进行解密,且(iii)向所述处理器进行传输以执行关于所述接收的数据的解密的指令,所述处理器为每一代管的WN存储一对密钥,所述一对密钥既定用于借助于所述对密钥中的私钥对由所述WN产生的消息的内容进行签名。20.根据权利要求19所述的处理器,其中至少一个代管的WN构成在一组镜像WN内的另一WN的会签者WN,此会签者WN的所述对密钥相同于所述组中的其它WN的所述对密钥。21.根据权利要求19和20所述的处理器,其特征在于所述处理器能够彼此分开地存储处理器变量、WN变量和WP变量。22.根据权利要求19至21中任一项所述的处理器,其特征在于所述处理器与SAM相关联,且其特征在于所述处理器变量包括能够由至少两个WN访问的与所述模块相关联的激活或传感器数据。保护WN23.一种具有对等架构的交易系统,其实施单位发出者节点与单位接收者节点之间的具有加密安全性的计算单位转移交易,每一传入交易具有参考前一交易的输出的输入(或各自参考前一交易的输出的若干输入)且自身具有指定计算单位数目和接收者节点的至少一个新输出,每一交易能够通过插入在至少一些节点之间以分布式方式存储的区块链中响应于所述交易的至少一个签名的广播而被验证,至少一些节点还能够通过交易来交换计算单位而无需强制性广播,每一节点能够与相对于另一节点的信任度或接近度的信息相关联,所述系统包括在尚未广播的交易的上游树链内能够确定关于在所述链中已产生最远上游交易的节点(GuardWNs)当中的至少一个节点相对于在所述链中已接收最远下游交易的节点的所述信任度或接近度的信息是否满足所确定准则的构件,以及能够在肯定的情况下接受所述最远下游交易的构件。24.根据权利要求23所述的系统,其中所述信任度或接近度信息含有在所述链中已产生最远上游交易的所述节点当中的至少一个节点与在所述链中已接收最远下游交易的所述节点之间共同的镜像节点的数目。25.根据权利要求23或24所述的系统,其中每一节点被设计成仅在以下情况下才作为GuardWN签署交易:所述交易的输出在所述交易将进行馈送的交易中需要所述节点的签名,以使得已产生最远上游交易的GuardWN控制将由所述最远下游交易进行馈送的交易(避免重复花费)。26.根据权利要求23或24所述的系统,其中每一节点被设计成仅在以下情况下才作为GuardWN签署交易:所述交易的输出在所述交易将进行馈送的交易中需要所述节点的签名,以使得已产生最远上游交易的GuardWN在从自身开始的下游交易的整个下游树上进行控制(避免重复花费)。27.根据权利要求25或26所述的系统,其中对GuardWN的签名的请求延伸到需要其签名的另一节点的每一附带节点(这两个节点是在对同一下游交易联合地进行馈送的两个交易的输出上所需的相应签名者GuardWNs)。28.一种片上系统(WN),其能够接收消息(WM)以便在安全执行条件中执行程序(WP),在所述片上系统中存储有构成一对公钥/私钥中的私钥的秘密密钥(SK),所述片上系统包括:在从另一片上系统接收到消息(WM1)时能够从所述秘密密钥SK和所接收的消息中含有的信息(WN,#WP)导出称为导出密钥的一对密钥(SKd,PKd)且将导出的公钥(PKd)发送到所述另一片上系统的构件,以及在从所述另一片上系统接收到消息时能够以所述导出的私钥(SKd)对所述消息(WM2)的一部分进行解密的构件。29.一种在处理器的安全单元(包围区)中执行的方法,其包括在从片上系统(SoC;WN)或另一处理器的安全单元(另一包围区)接收到消息(WM1)后进行以下步骤:从所述包围区的秘密密钥SK且从所述消息中含有的信息(#WP)导出一对导出密钥(SKd,PKd),将导出的公钥(PKd)发送到所述WN或另一包围区,等待从所述WN或另一包围区接收额外消息(WM2),以及在接收到所述额外消息(WM2)后,以导出的私钥(SKd)对所述消息(WM2)的另一部分进行解密。30.根据权利要求29所述的方法,其中所述发送步骤还涉及在执行过程中发送程序(WNRoT)的执行的真实性和完整性的凭证。31.根据权利要求29和30中任一项所述的方法,其包括在所述发送步骤之前且包括产生随机密钥的额外步骤,所述发送步骤包括将此随机密钥发送到所述WN或另一包围区,且其中所述解密步骤使用所述随机密钥。32.一种在处理器的安全单元(包围区)中执行的方法,其包括在从片上系统(SoC;WN)或另一处理器的安全单元(另一包围区)接收到消息(WM1)后进行在不离开包围区的情况下实施的以下执行步骤:产生随机密钥;将所述随机密钥发送到所述WN或另一包围区,以及等待从所述WN或另一包围区接收额外消息(WM2),以及在接收到所述额外消息(WM2)后,以所述随机密钥对所述消息(WM2)的另一部...

【专利技术属性】
技术研发人员:E·马伊姆
申请(专利权)人:E·马伊姆
类型:发明
国别省市:法国,FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1