debianopenssl
Приватные ключи, уязвимые для ошибки Debian OpenSSL (CVE-2008-0166)
В 2008 году ошибка в пакете OpenSSL в Debian и Ubuntu привела к предсказуемым приватным ключам.
Хотя количество ключей ограничено, для составления правильного списка всех потенциально затронутых ключей требуется несколько соображений. Этот репозиторий содержит ключи, используемые для блок-листа в инструменте badkeys.
Заметки об ошибке Debian OpenSSL:
- Ключи зависят от идентификатора процесса (PID). Допустимые PID находятся в диапазоне от 0 до 32767. Ключи,
созданные с PID 0 маловероятны, но они включены. На 64-битных платформах можно
настроить ядро для поддержки больших PID, но это маловероятно.
- Ключи, созданные с помощью командной строки openssl и OpenSSH-утилиты ssh-keygen, различаются.
- Ключи, сгенерированные с помощью команд genrsa и req из openssl, одинаковы.
- openssl создаёт разные ключи в зависимости от того, присутствует или отсутствует файл .rnd
в домашней директории.
- Без файла .rnd старые (например, 0.9.8c из etch) и новые (например, 0.9.8g из lenny)
версии openssl создают разные ключи.
- ssh-keygen не создаёт 512-битные RSA-ключи (минимальный размер — 768 бит).
- openssl поддерживает изменение показателя экспоненты на 3, но это не меняет
модуль. Поэтому включены только ключи со значением экспоненты по умолчанию. При
создании блок-листа рекомендуется проверять модуль, а не полный ключ.
- ssh-keygen поддерживает только DSA-ключи размером 1024 бита.
- Генерация DSA-ключей с помощью openssl — это двухэтапный процесс (сначала генерация параметров,
затем ключа), поэтому количество возможных ключей значительно больше. Они не
рассматриваются здесь, так как использование DSA-ключей в SSL/TLS никогда не было распространённым.
- Ключи, созданные на архитектурах с big endian (PowerPC, SPARC, HPPA), идентичны.
- Ключи, созданные на MIPS, отличаются. Однако, учитывая редкое использование этой платформы, они
не рассматриваются.
- Эллиптические кривые / ECDSA-ключи поддерживаются openssl, но не openssh. Поддерживается
большое количество возможных кривых, но только кривые NIST P-256 и P-384 обычно
используются в TLS-сертификатах.
Этот репозиторий включает:
- RSA-ключи размером 1024, 2048, 3072 и 4096 бит.
- DSA-ключи размером 1024 бит (только openssh).
- ECDSA-ключи с кривыми P-256 и P-384 (только openssl).
- Созданные с PID от 0 до 32767.
- Ключи, созданные как с помощью openssl, так и ssh-keygen (директории ssl/ssh).
- Ключи, созданные на 32-битных (x86) и 64-битных (amd64) архитектурах с little endian, а также на распространённых
32-битных архитектурах с big endian (PowerPC/SPARC/HPPA).
- Все три вариации openssl (с .rnd/без .rnd, старые/новые версии).
Не включает нестандартные размеры ключей, нестандартные значения PID, нестандартные значения
экспоненты, ключи, созданные на MIPS, или DSA-ключи, созданные с помощью openssl.
Структура директорий:
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
...
ссылки