安全是有分量的

防cc攻击_服务器安全防护系统_优惠券

2022-01-12 05:50栏目:数据

防cc攻击_服务器安全防护系统_优惠券

尼尔斯·阿米特和约兰·罗米勒合著

这是我们8月11日在拉斯维加斯举行的DEF CON 26大会上的演讲摘要。

我们的幻灯片在这里提供。

这项研究是关于互联网上的公钥的。如你所知,公开密钥意味着公开可用,以便通常能够验证私钥持有者生成的签名或加密只有私钥持有者才能解密的内容。

我们可能会问自己的一个问题是:我们能在多大程度上从各自的公开密钥中推断出私钥?

毫不奇怪,理论上的答案是没有!要从公钥中恢复私钥,如果不解决我们现在所掌握的技术中难以解决的问题,是根本不可能的。

呼!我们是安全的,不是吗?

嗯……问题是:理论上有答案,WEB服务器防御ddos攻击,甚至有时数学上证明是绝对正确的,但是,当我们考虑到理论可能没有被完美地翻译成代码,实现可能有一些缺陷时,也有一个"实际"的答案。

所以我们决定收集尽可能多的密钥,看看互联网上公钥密码术的实际状态如何。

Crypto recap

当我们谈论时关于实践中使用的公钥密码,我们通常考虑以下密码方案:–RSA方案(以其创建者Rivest、Shamir和Adleman的名字命名),基于整数分解问题的复杂性,允许进行公钥加密和数字签名。–DSA方案(又名数字签名算法),基于解决特定组中离散对数问题的难度。请注意,DSA在几年前就被OpenSSH否决了,它只允许执行数字签名,顾名思义。–一些ECC方案(也称为椭圆曲线密码术),主要是用于数字签名的ECDSA,以及用于密钥交换的ECDH。

RSA提醒

生成RSA密钥对需要选择两个大素数,并计算公共模n,它是和的乘积。换句话说,

RSA的安全性依赖于这样一个事实,即很难检索到素因子,而且只给出了一个素数。这就是所谓的整数分解问题。

为了从中检索和,攻击者可以尝试除以所有素数,直到找到一个除法结果为整数的素数。实际上,这是不可行的,因为尝试所有可能性需要时间,因为素数通常是2048位的整数,因此,公钥可以安全地与所有人共享,而不会影响密码系统的安全性。它意味着指定一条椭圆曲线和一个生成器,两者都是公共的。然后,以大整数d作为密钥,生成公钥点,即曲线上公钥对应点的坐标,生成密钥对。公钥点实际位于曲线上是至关重要的。

对公钥的被动攻击

一些著名的公钥攻击包括铜匠攻击的返回(ROCA),它利用了Infineon的RSALib中的一个缺陷,为什么要用高防cdn,RSALib是一个生成RSA密钥的库,并包含在许多智能卡中。使用此库生成的大小为2048位或更小的密钥被认为易受ROCA攻击。

除了ROCA之外,还可以使用无效参数甚至恶意参数生成公钥…例如,DSA和ECDSA对无效参数非常敏感,但目前的安全标准认为密钥长度太小也是一个问题。

批量GCD攻击已经在2012年(Lenstra et al.和Heninger et al.)和2016年(Hastings et al.)使用过,实际上,通过计算公钥数据集中所有公钥模对之间的最大公约数,可以帮助从公钥中检索私钥。每当两个模之间的GCD大于一时,我们就发现所考虑的密钥对中的两个密钥都有一个公共因子,只要这两个密钥是公共的RSA密钥,我们就可以利用它来检索这两个私钥。实际上,这种攻击对于多素数RSA并不完全有效,因为您仍然需要将模除以GCD的商作为因子,以便检索完整的私钥。但是,只要找到一个共同因素,它仍然会大大降低多素数RSA密钥的安全边际。

收集公钥

我们的项目针对3种密钥容器类型:

X.509证书SSH密钥PGP密钥

我们能够从证书中收集超过2.4亿个唯一密钥,940万个SSH密钥,包括主机密钥和用户密钥。我们还主要从keyserver转储收集了10M PGP密钥。更多详情如下。

每个数据源收集的密钥

X.509证书HTTPS扫描超过200米SMTP、POP3和IMAP扫描各1-2MSSH密钥距离CRoCS数据集71M来自SSH扫描的17M主机密钥Github.com上的470万Gitlab.com上的120万PGP密钥SKS关键服务器上的9.5MKeybase.io上的220kGithub.com上的8k

密钥类型

RSA仍然是最常用的公钥算法,占所有密钥的90%以上。椭圆曲线密钥是后续的,最后还有一些更奇特的密钥算法,高防亚洲cdn,例如DSA、ElGamal和GOST R等。更多细节见下表

公钥算法收集的密钥数百分比RSA公司3.27亿94.48%ECC公司14米4.05%数字减影260万0.75%厄格玛尔2.5米0.72%GOST R 34.10-20011公里~0%其他小于1k~0%

工具

我们一直在使用Scannerl收集X.509证书和SSH主机密钥。来自其他来源的密钥,如Gitlab.com、Github.com或Keybase.io,主要使用Python脚本(称为k-reaper,现在是开源的)来收集。我们使用apachenifi将解析后的数据摄取到存储在HDFS上的数据库中。我们使用分区的Presto表来快速浏览我们的数据集。

我们使用在Chapel中编写的批量GCD的定制分布式实现来破解RSA密钥。我们还编写了Python和Go脚本,用于验证ROCA和ECC健全性检查的漏洞。

带2个密钥的GCD演示

您可以观看以下屏幕广播,以了解检索公共因子和导致私钥恢复的容易程度:

如果您想知道您的密钥是否易受批GCD攻击,您今天可以访问我们的keylookup.kudelskiesecurity.com网站查看!