debianopenssl
受Debian OpenSSL漏洞(CVE-2008-0166)影响的私钥
2008年,Debian和Ubuntu的OpenSSL包中的一个漏洞导致私钥可预测。
虽然受影响的密钥数量有限,但需要一些考虑才能生成所有可能受影响密钥的完整列表。
本仓库包含badkeys工具中用于黑名单的密钥。
关于Debian OpenSSL漏洞的说明:
- 密钥依赖于进程ID(PID)。有效的PID范围为0到32767。使用PID 0创建的密钥不太可能,但仍包含在内。在64位平台上,可以配置内核允许更大的PID,但这不太可能。
- 来自openssl命令行工具和OpenSSH的ssh-keygen生成的密钥不同。
- 使用openssl的genrsa和req命令生成的密钥相同。
- openssl根据主目录中是否存在.rnd文件生成不同的密钥。
- 没有.rnd文件时,旧版(例如etch中的0.9.8c)和新版(例如lenny中的0.9.8g)openssl版本会生成不同的密钥。
- ssh-keygen不会创建512位的RSA密钥(最小为768位)。
- openssl支持将指数值更改为3,但这不会改变模数。因此只包含默认指数值的密钥。在创建黑名单时,建议检查模数而不是完整的密钥。
- ssh-keygen仅支持1024位大小的DSA密钥。
- 使用openssl生成DSA密钥是一个两步过程(首先生成参数,然后生成密钥),因此可能的密钥数量要大得多。此处不考虑它们,因为在SSL/TLS中使用DSA密钥从未普及。
- 在大端架构PowerPC、SPARC和HPPA上创建的密钥相同。
- 在MIPS上创建的密钥不同。然而,鉴于该平台使用较少,不考虑它们。
- openssl支持椭圆曲线/ECDSA密钥,但openssh不支持。支持大量可能的曲线,但TLS证书中常用的是NIST P-256和P-384曲线。
本仓库目前包含:
- 1024、2048、3072和4096位的RSA密钥。
- 1024位的DSA密钥(仅openssh)。
- 使用P-256和P-384曲线的ECDSA密钥(仅openssl)。
- 使用PID从0到32767创建。
- 使用openssl和ssh-keygen创建的密钥(目录 ssl/ssh)。
- 在小端32位(x86)和64位(amd64)架构以及常见的大端32位(PowerPC/SPARC/HPPA)架构上创建的密钥。
- 所有三种openssl变体(有/无.rnd,旧版/新版)。
不包括不寻常的密钥大小、非标准PID值、非标准指数值、在MIPS上创建的密钥,或使用openssl创建的DSA密钥。
目录结构如下:
rsa2048
ssl
le32
$pid-rnd.key
$pid-nornd-old.key
$pid-nornd-new.key
le64...
be32...
ssh
le32
$pid.key
le64...
be32...
rsa...
dsa1024
ssh
...
ecp256
ssl
...
链接