技术新讯 > 电子通信装置的制造及其应用技术 > 一种针对分布式SGX飞地的去中心化信任构建方法  >  正文

一种针对分布式SGX飞地的去中心化信任构建方法

  • 国知局
  • 2024-10-09 15:49:23

本发明涉及可信执行环境领域,具体涉及一种针对分布式sgx飞地的去中心化信任构建方法。

背景技术:

1、intel sgx提供了包括本地认证和远程认证在内的两种认证机制:本地认证和远程认证。本地认证允许一个飞地借助硬件生成一个可以被同一硬件平台上另一个飞地验证的签名结构,称为报告。报告中包含两个度量值mrenclave和mrsigner、飞地的其他属性、硬件tcb的可信度以及一串用户数据。远程认证利用了本地认证的过程,在intel qe成功验证来自该硬件平台上其他飞地的报告后,使用epid群签名算法签署一个报价。之后这个报价由飞地传递给远端实体,并由远端实体请求认证服务对报价进行验证,通过返回的验证报告来作出对飞地的信任决策。

2、为了让飞地之间的通信免受中间人攻击,knauth等人提议利用tls握手过程,将远程认证过程与现有的tls协议进行结合。方法是在飞地启动时创建一对公私钥,将这组密钥中的公钥与本地认证过程中的报告进行绑定,利用报价材料请求ias的认证验证报告,并使用嵌入了认证验证报告的x.509证书作为飞地之间的信道证书。

3、尽管knauth等人提出的方案可以有效地构建飞地之间的双向信任,但目前的远程认证方案存在以下问题:①远程认证的依赖方对飞地的信任决策取决于由可信执行环境的制造商部署的特定验证服务,一旦验证服务造成信任垄断,很可能会蒙蔽依赖方,使其做出错误的信任决策。②远程认证过程使用的证据可能是预先生成的,或是允许被复用。攻击者可能通过中间人攻击或其他网络层面的攻击手段,截获并重放信任建立过程中的证据,骗取依赖方的信任。③随着分布式系统的规模不断扩大,集中化的验证服务需要处理的信任关系数量急剧增加,致使信任管理的复杂度大大提升,甚至导致性能瓶颈。

技术实现思路

1、发明目的:本发明提出一种以去中心化方式构建sgx飞地相互信任的方法,解决了分布式sgx飞地如何安全高效地建立互信的问题,弥补了现有技术的不足。

2、技术方案:为实现本发明的目的,本发明所采用的技术方案是:

3、一种针对分布式sgx飞地的去中心化信任构建方法,步骤如下:首先将网络中的所有节点按以下规则划分:将整个网络划分为多个独立网络域,每个网络域中的节点划分为两种类型,分别为认证节点和用户节点;在所述的独立网络域中,认证节点唯一存在,用户节点存在一个或多个;接着定义如下飞地类型:认证飞地,部署在所述的认证节点上,在每个认证节点上只存在一个认证飞地,用于为所有的证明飞地提供认证所需的基础服务,包括创建统一的epid群、为证明飞地签发成员身份和同步撤销值;证明飞地,部署在所述的用户节点上,在每个用户节点上只存在一个证明飞地,用于为所有的用户飞地提供报价生成和报价验证服务;用户飞地,部署在所述的用户节点上,在每个用户节点上存在一个或多个用户飞地,用于执行计算任务。

4、所述的去中心化信任构建方法包括准备阶段、供应阶段、认证阶段和撤销阶段这四个阶段;准备阶段启动所有的认证飞地,在所有的认证飞地之间建立信任,并创建统一的epid群;供应阶段初始化所有的证明飞地,建立证明飞地与其所在网络域内认证飞地的相互信任,并成为epid群的成员;认证阶段初始化所有的用户飞地,用户飞地请求由证明飞地签署的报价,每个用户飞地交换彼此的报价,建立对彼此的信任;撤销阶段用于撤销用户飞地建立信任时所使用的报价,使其无法再次被上述认证阶段所使用。

5、进一步地,所述的去中心化信任构建方法的四个阶段,包括:

6、准备阶段,启动所有的认证飞地,通过集成到tls握手的远程认证协议在所有的认证飞地之间建立信任,并通过共识算法创建统一的epid群。

7、供应阶段,初始化所有的证明飞地,通过集成到tls握手的远程认证协议建立证明飞地与其所在网络域内认证飞地的相互信任,并通过epid加入协议成为epid群的成员。

8、认证阶段,初始化所有的用户飞地,在与其所在节点上的证明飞地完成本地认证协议后,用户飞地请求由证明飞地签署的报价;之后,每个用户飞地通过集成到tls握手的远程认证协议交换彼此的报价,建立对彼此的信任。

9、撤销阶段,通过用户飞地向证明飞地发送需要被撤销报价上的签名而启动;收到撤销请求的证明飞地随后将撤销请求携带的签名转发到其所在网络域内的认证飞地,并通过认证飞地内的共识算法同步到所有的网络域,完成撤销。

10、进一步地,所述的集成到tls握手的远程认证协议中,包括以下步骤:

11、(1)发起tls握手的飞地将包含哈希值h1=h(pk||nc||ns)的sgx报价q嵌入到x.509证书中。

12、其中nc和ns分别表示用于tls握手的client hello和server hello消息中的随机数,pk表示x.509证书的公钥,h表示sha-256哈希函数,||表示二进制字符串的拼接。

13、(2)tls握手另一侧的飞地在对x.509证书进行验证时,根据tls握手过程中的nc、ns以及证书的公钥pk计算一个哈希值h2=h(pk||nc||ns)。

14、接着检查从x.509证书中所提取的sgx报价q中包含的哈希值h1是否与重新计算的哈希值h2相同,如果相同则继续tls握手过程,反之则中止tls握手过程。

15、进一步地,所述的准备阶段中,包含以下步骤:

16、(1)所有的认证飞地通过集成到tls握手的远程认证协议建立彼此的信任关系,通过raft算法选举出一个领导者认证飞地。

17、(2)被选举出的领导者认证飞地生成群公钥pkg和群私钥skg,创建一个epid签发者和一个空的撤销列表,并将公钥pkg和私钥sk1通过广播消息发送给所有其他认证飞地。

18、(3)收到广播消息的认证飞地检索消息携带的公钥pkg和私钥skg,创建其本地的epid签发者和空的撤销列表。

19、进一步地,所述的供应阶段中,包含以下步骤:

20、(1)所有的证明飞地通过集成到tls握手的远程认证协议建立与其所在网络域内的认证飞地的相互信任关系,证明飞地生成一个随机密钥f用以代表自己的epid成员身份。

21、(2)证明飞地随后向其所在节点上的认证飞地请求一个包含随机数ni的挑战,并使用ni和密钥f创建一个加入请求作为对挑战的响应,发送给认证飞地,认证飞地检查加入请求中所包含对挑战的响应,并为证明飞地生成一个成员证书作为返回。

22、(3)证明飞地从认证飞地请求epid群的公钥pkg,并在其内部初始化一个epid成员和一个epid验证者。

23、进一步地,所述的认证阶段中,包含如下步骤:

24、(1)用户飞地与其所在节点上的证明飞地完成本地认证,并请求该证明飞地签署包含哈希值h1的sgx报价q,并使用嵌入报价q的x.509证书向另一个用户飞地发起tls握手。

25、(2)tls握手的另一侧飞地从x.509证书中提取报价q,计算哈希值h2,检查报价q中包含的哈希值h1是否与重新计算的哈希值h2相同;如果不同,则终止tls握手;如果相同,将报价q转发到其所在节点上的证明飞地。

26、(3)根据报价q和证明飞地返回的认证验证报告,比对mrenclave度量值和mrsigner度量值是否与预期值相同,根据比对结果决定是否信任该用户飞地。

27、进一步地,所述的撤销阶段中,包含如下步骤:

28、(1)当某一个用户飞地断开网络连接后,信道另一侧的用户飞地向其所在节点的证明飞地发起撤销请求,并附带上它们建立信任时所使用的证据上的签名,随后,证明飞地将该撤销请求转发至其所在网络域的认证飞地。

29、(2)收到撤销请求γ的认证飞地l向至少由个认证飞地组成的集群q发送一个五元组消息<acc,l,il,il,i,γ>,其中acc表示该消息为paxos共识算法中的accept消息类型,l表示认证飞地,il表示认证飞地l的序号,il,i表示认证飞地l发起的撤销请求序号,n表示认证飞地的总数量,表示向下取整。

30、(3)当任何的认证飞地r收到消息<acc,l,il,il,i,γ>时,记录一个三元组<il,il,i,γ>,并向认证飞地l回复响应消息<accok,il,i>,其中accok表示该消息为对accept消息的响应。

31、(4)当认证飞地l收到至少个响应消息<accok,il,i>时,将撤销请求γ记录到撤销列表以完成撤销,并发送消息<com,l,il,il,i,γ>给其他所有的认证飞地,其中com表示该消息为paxos共识算法中的commit消息类型。

32、(5)当任何的认证飞地r收到消息<com,l,il,il,i,γ>时,将撤销请求γ记录到撤销列表以完成撤销,并向认证飞地l回复消息<co k,il,i>,其中comok表示该消息为对commit消息的响应。

33、进一步地,通过共识算法创建统一的epid群,包括步骤:

34、(1)每个认证飞地各自初始化一个随机定时器t,一旦某个认证飞地a的定时器t超时,该认证飞地增加其内部任期序号term=trem+1,对自己进行投票,并向集群中的所有其他认证飞地发送选举请求<election,ia,term>,其中election代表选举消息类型,ia代表认证飞地a的序号;

35、(2)收到选举请求的其他认证飞地如果在任期term内尚未投票,它们将投票给收到的第一个选举请求所对应的认证飞地,并向其发送消息<vote,term>,其中vote代表投票消息类型;

36、(3)一旦某个认证飞地a累积至少张选票,它成为集群中的领导者认证飞地;成为领导者认证飞地后,认证飞地a生成群公钥pkg和群私钥skg,创建一个epid签发者,并向其他所有认证飞地发送广播消息<notification,ia,term,pkg,skg>,其中n表示认证飞地的总数量,表示向上取整,notification代表广播消息类型,ia代表认证飞地a的序号,term代表当选任期;

37、(4)收到广播消息的其他认证飞地检索并存储消息携带的公钥pkg和私钥skg,并创建各自的epid签发者。

38、有益效果:与现有技术相比,本发明的技术方案具有以下有益的技术效果:

39、本发明提供了一个去中心化的sgx飞地的信任构建方法,用于建立分布式飞地之间的相互信任关系,并为远程认证过程中所使用的证据提供了强的信道绑定和新鲜度保障机制,实现了分布式飞地的信任管理。该方法将网络域中所有的节点划分为两种类型,并定义了三种特殊的飞地,通过准备阶段、供应阶段、认证阶段和撤销阶段四个阶段的协议实现了分布式sgx飞地的信任管理。与现有技术相比,本发明所提供的方法能够提升分布式sgx飞地建立信任的效率,从而进一步提升sgx分布式自主系统的安全性。

本文地址:https://www.jishuxx.com/zhuanli/20240929/310283.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。