http://www.7klian.com

科普 | ETH 2.0如何掩护验证者密钥?

 

-图 9 : Shamir 密钥支解-此刻,每个长途签名器都持有由验证者私钥生成的密钥了, 并且只需几个长途签名器就可以建设有效签名, 也就是所谓的 门限签名 (threshold signature) 。假设有 3 个长途签名器 ,个中 2 个长途签名器提供小我私家签名来生成一个聚合签名,如下图所示:

引入门限签名之后,纵然有一个处事器 8 出妨碍,用户也能签署抱负动静,并且也不会增加用户无意间签署不良动静的概率。鉴于硬件、软件和操纵失败的大概性不行消除 ,门限签名确实是一个具有抗逆性的验证基本设施应有的成果。

进攻者的方针是,签署某一条动静时能签出与方针验证者公钥相对应的签名(即能伪造验证者对某一条动静的签名)。

-图 1 :验证者的安详需求-可是,不像取款密钥那样 (你可以离线生存起来),验证者密钥要可以或许随取随用 ,因为验证者在每个 epoch (约莫 6.5 分钟)都要签署多个动静。因此,验证者密钥的会见需求也很高。

 
任何被授权会见运行验证者客户端的计较机的人

为此,我们需要一个由差异分层可能说独立成果构成的系统,提供加强型安详性或加强型可会见性,并且可以将二者团结起来,配合到达较高程度。一个精采的安详模子需要具备多个分层,每个分层城市(单独或与其它分层团结起来)提供某种保障或其它分层的备份,而且有足够多的分层提供可会见性,从而确保用户的方针可以实现。请留意,本文聚焦于技能掩护:其它层面(譬喻,操纵层面和社会层面)上的安详性都不属于本文的接头范畴内, 固然它们在任何安详模子中都是至关重要的部门,应该采纳相应办理方案。

-图 7 :长途签名器-长途签名器疏散了验证者客户端的焦点成果:确定要放到动静中的数据、签署动静并将该动静发送至 ETH 2.0 网络。第一个和第三个成果仍保存在验证者客户端手中,第二个成果由长途签名器来实现。长途签名器还引入了 罚没掩护机制 ,可以确定哪些是抱负动静,哪些是不良动静,并予以签署或拒绝。

 

-图 2 :验证者密钥的会见需求-因此,我们发明本身陷入了两难逆境:从传统上来说,同时满意安详性和可会见性需求是很难实现的,因为提高安详性往往会低落可会见性,反之亦然。

假如有多个验证者密钥,它们之间,可能与它们各自的取款密钥之间是否应该具备什么干系?譬喻,将多个验证者密钥备份成一个种子,这样确实利用起来较量利便,可是不会带来安详效益。用户应该思量是否想在任意阶段单独节制验证者密钥,再举办相应的打算。

我们假设口令足够强大,无法暴力破解。

验证者密钥的风险很难权衡:验证者密钥自己无法用来会见资产。因此,纵然进攻者得到了你的验证者密钥,也无法直接偷取资产。可是,他们可以通过敲诈打单 1 等方法间接赢利,更有甚者,比起本身赢利,他们更想让你承受损失 2 。因此,我们凡是认为验证者密钥的安详需求很高。

 

 

 

任何有权会见运行验证者客户端的计较机账号的人

本文纯真从技能层面上探究了如何掩护验证者密钥。我们还应该思量运营和社会安详需求。若想全面掩护验证者密钥,就得思量到所有这些方面。

-图 4 :验证者密钥-与 ETH 2.0 的所有密钥一样,验证者密钥也是一串数字 4 。假如验证者在不采纳任何掩护法子的环境下存储了验证者密钥,进攻者很容易就能得到该密钥并实现其方针。以下几类人可以或许得到验证者密钥:

方针和分层

然而,事实上,长途签名器存在单点妨碍问题:假如长途签名器遭到进攻,或呈现妨碍,用户就连抱负动静也签名不了 。有没有一种要领可以让长途签名器更能抵挡进攻,同时又不会失去上述任一长处?

 

乍看之下,进攻者好像无法通过任何方法来实现其方针。然而,用户也没有步伐实现其方针,因为他们再也无法签署抱负动静:无论是对付用户照旧进攻者来说,颠末加密的密钥都是没用的,因为用户必须先将该密钥解密,然后才气用它来签署动静。这样一来,验证者历程就必然要包括会看法密口令这一步调。即然验证者历程可以会看法密口令 ,那么进攻者也可以会见该口令 ,尤其是在解密口令被存储在验证者客户端的环境下,因为验证者客户端有大概遭到进攻。

-图 6 :长途口令-假如解密口令是长途存储的,加密验证者密钥会带来更强大的掩护 7 。由于口令不再存储于验证者客户端内,进攻者无法从磁盘数据中得到未加密的私钥。进攻者只能动员越发巨大的进攻,譬喻,从内存中获取解密后的密钥,或仿照验证者客户端历程来得到解密密钥。

至文本截稿时, EIP-2335 尺度仍处于起草阶段,不外已经有许多 ETH 2.0 密钥生成器在利用该尺度。

请留意,进攻者要想实现其方针,只需要签署任意一条动静即可,而用户的方针是一连性的。这种差池称性是安详系统的一大特征,即,进攻者只需赢一次就够了,而用户需要每次都赢。

 

 

安详性是一个大观念。上文叙述了差异安详层的成果和利益,并没有提出任何完美甚至最佳办理方案。就掩护验证者密钥而言,我们还需思量许多要点,譬喻:

 

 

上一篇文章接头了如何掩护 ETH 2.0 的取款密钥 (withdrawal key) ,并总的先容了 ETH 2.0 验证者所利用的几个密钥对 。在阅读本文之前,发起先阅读一下这篇文章。同样地,我们预设读者对验证者有最根基的相识,包罗但不限于 “验证者是什么”,“他们为什么需要密钥”,以及 “他们凡是需要什么操纵” 等观念。

因此,这种改变自己不算上策。不外,假如我们将它与第二层团结起来,就能提供更有力的掩护:

“交出赎金,不然就让你遭到罚没。”

-图 8 :门限签名-我们还可以在上述条理的基本上再构建一层门限签名,进一步加强安详性和可会见性。验证者密钥需要用 Shamir 密钥支解流程来处理惩罚 ,即,利用验证者私钥生成多个密钥,然后将它们发送给长途签名器 。

 

本文提供了多种要领来掩护验证者密钥,同时确保它们可以用来推行验证职责。

多个验证者密钥
通过 “金手指进攻( Goldfinger attack )” 可能将适当局限的进攻与 ETH 衍生品相团结,这大概会对进攻者的财产发生间接影响。
 

本钱效益
还应该留意的是,潜在进攻者并不必然知道这一事实。

作者: Jim McDonald

首先,我们需要界说进攻者和用户的方针。在知道为什么要掩护验证者密钥之后,我们就可以思考每个成果可以在多洪流平上实现这一方针。首先, 进攻者的方针可以被界说成:

 

-图 15 :密钥更新-假如有一个签名器遭到进攻, 其它签名器可以触发密钥更新。新旧密钥无法团结起来生成一个有效签名。这样一来,被进攻者盗走的密钥就会变得毫无用处。

-图 16 :进攻失败-密钥更新可以多次执行,以防多个签名器遭到进攻。

-图 3 :验证者密钥的双重需求-为满意对安详性和可会见性的双重需求,我们需要采纳更高级的法子,在不作重大妥协的前提 下,较高水平地满意这两方面的需求。这可以通过度层来实现。本文的目标是探究每一层所提供的成果,并相识哪些成果合用于或不合用于验证者配置。

在 ETH 2.0 中,验证者密钥被用来确定相关动静是哪位验证者发出的 。验证者要发送这些动静才气得到嘉奖(并制止蒙受处罚)。

固然门限签名机制会带来特另外安详性,可是它有两大缺点。第一,分发密钥并不能防范恒久进攻:假设门限值是 2/3 ,假如有一个签名器反水,整个机制就会留下永久的裂痕,只要再有一个签名器反水,进攻者就可以告竣方针。第二,进攻者有大概在密钥分发进程开始前抢先得到该密钥,从而导致整个机制丧失意义。漫衍式密钥生成可以一举行理这两个问题:

 

 

-图 10 :生成聚合签名-门限签名的表达式凡是写成 m/n ,也就是说,假设总共有 n 个签名,需要任意 m 个签名来生成一个有效签名。假如门限值是 2/3,那么利用任意两个签名即可生成一个有效签名。

 

 

 
上文已经接头过了长途口令存储。可是,长途存储验证者密钥是否还会带来其它优势(照旧正相反) ?固然它不会加强安详性,可是在呈现硬件妨碍的环境下,它可以让验证者客户端更快规复,这点对付用户来说很是有利。可是,长途存储也会带来特另外风险,因为我们必须正确设置长途存储,确保只有那些得到许可的人可以或许会见密钥。

 

结论

 

硬件钱包

-图 13 :一组签名器签署动静-假如有一个签名器不行用,譬喻,下线维护或遭到进攻,还可以通过别的两个签名器生成签名。

原文链接: https://www.attestant.io/posts/protecting-validator-keys/

虽然了,假如这是独一的方针,那么直接毁掉验证者密钥就能阻止进攻者了。可是,这对用户来说一点辅佐也没有。因此,我们需要思量的第二个方针,也就是用户的方针,可以被界说成:

每每涉及安详性的方案都有大概为了提高一点安详性而耗费大量资金。每个用户都需要抉择本身想要防御的进攻,及其愿意为此支付的价钱。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读