安全是有分量的

高防ip_移动云发短信未开启抗ddos_快速接入

2022-01-11 17:46栏目:商业圈

高防ip_移动云发短信未开启抗ddos_快速接入

荷兰银行(荷兰银行)最近发布了他们自己实现的流行的gennarogoldfeder'18门限ECDSA签名方案,其形式是一个用Rust编写的库。库德斯基安全部门审核了他们的代码,我们的报告在这里。在审计期间,我们发现协议本身存在潜在的严重问题(不取决于ING的实施,但是,雅虎cc防御系统,在原始协议中需要一个在许多实际情况下都不是理所当然的安全假设。)这个问题可能允许单个恶意攻击者删除或锁定资金并勒索所有其他对等方。

阈值签名方案(TSS)在过去几年中受到越来越多的关注并迅速得到采用,主要由比特币等区块链应用驱动。区块链交易(如资金转移,或智能合约的执行)的基本形式是由网络通过私人签名密钥(通常保存在用户的钱包中)生成的数字签名创建和验证的。这带来了一个安全挑战:任何有权访问私人签名密钥的人都可以发出(不可撤销的)交易。对于大型金融机构等高度监管的环境来说,这显然是一种不可接受的风险,它们无法承受一次损失数十亿美元,由恶意黑客执行的不可逆事务,维盟路由器ddos防御设置,该黑客成功地过滤出一个高值密钥。

TSSs通过在N个不同的用户之间分割签名的生成来解决这个问题,有可能配置阈值参数T,使得T个用户的任何子集(在N个授权用户中)足以生成签名,千兆带宽ddos防御,但是T-1个或更少用户的任何子集不足以生成签名。这让我们想起了另一个类似的密码原语,叫做"秘密共享方案"(SSS),但它实际上是不同的:在SSS中,N个用户中的T的子集协作让一个领导者重建一个秘密(例如,签名密钥),但是在重建之后,领导者知道这个秘密,并且可以根据自己的意愿进一步使用它,甚至不需要其他用户的协作,所以这又是一个安全风险。在TSS中,签名密钥永远不会完全重建!T用户中的每一个通过贡献部分签名在复杂多方计算(MPC)协议中进行交互。这些部分签名然后由一个前导重新组合以获得一个有效的签名。不同之处在于,领导者不能重用收集的数据来生成不同的签名,因此该方案具有高度的交互性,需要不同轮的复杂、联锁的加密、签名,TSS对许多应用程序的吸引力在于,它们与已经部署的签名方案向后兼容:TSS生成的签名对于某个公钥来说是"正常"签名所无法区分的,因此,最终验证用户并不关心签名是以"标准"方式还是以TSS方式生成的,因为只有一个公钥可供检查,并且验证算法没有修改。因此,举例来说,不需要修改比特币协议来支持一种新的签名类型,只需在客户端添加TSS支持就足够了。某些方案,如BLS或Schnorr签名,更容易用TSS方式实现。其他的,如ECDSA,则要复杂得多。不幸的是,ECDSA是比特币和其他许多重要区块链目前采用的标准。现有的用于ECDSA的TSS方案很难分析和实现,而且无论是在设计还是代码上都容易出现问题。ING的库实现了GG18,这是ECDSA最流行的TSS方案之一。GG18的一个特性是"密钥重新共享协议",它允许一个旧的对等委员会在一个新的委员会中刷新秘密密钥的共享(例如,如果需要添加新成员或删除一些成员的话)。密钥重新共享协议是一个微妙的过程,最近的许多攻击都涉及到了这个过程。其中一种攻击"忘记和原谅"被描述为:

建议的缓解措施是:

ING正确实施了这种缓解措施。然而,我们发现,如果一个强大的广播频道不可用,这种缓解措施是不够的,而且实际上可能会让事情变得更糟,通过允许单个恶意攻击者删除或锁定资金并勒索所有其他对等方。

强健的广播频道是广播消息的可靠方式,所有各方都能收到相同的广播消息。如果有可信的第三方中继可用,这是很容易实现的,但是对于一般的对等网络来说,这并不总是微不足道的。例如,将广播消息作为N个不同的直接点对点连接发送的天真解决方案显然不可靠,因为恶意发送者可以将消息X发送给某些对等方,将不同的消息Y发送给其他节点。

这正是在GG18重新共享协议中启用破坏性攻击的场景。假设一组4个节点(a、B、C、D)的阈值为3(其中任意3个节点都是必须的且足以签名的)想要将第五个节点E添加到委员会中(仍然是阈值为3)。因此,他们启动了重新共享协议,为了避免"忘记和原谅"攻击,局域网ddos攻击防御,他们以上述缓解措施中描述的最后一轮结束协议。

但是,E是恶意的。在重新共享协议结束后,E为不同的对等方生成不同的消息,而不是广播最后的"确认":

E向a发送"确认",BE向C和D发送"不确认"