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에서 생성된 키는 다릅니다. 하지만 해당 플랫폼의 사용이 드물기 때문에 고려되지 않습니다.
- 타원 곡선/ECDSA 키는 openssl에서 지원되지만 openssh에서는 지원되지 않습니다. 많은 곡선이 지원되지만 TLS 인증서에서는 일반적으로 NIST P-256 및 P-384 곡선만 사용됩니다.
이 저장소에는 현재 다음이 포함되어 있습니다:
- 1024, 2048, 3072, 4096비트 RSA 키
- 1024비트 DSA 키(openssh만 해당)
- P-256 및 P-384 곡선의 ECDSA 키(openssl만 해당)
- 0~32767 PID로 생성
- 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
...
링크