RSA Key: что это, как создать и использовать ключ | Глоссарий FREEHOSTING

RSA Key

RSA Cryptographic Key
RSA Key — RSA Key — пара криптографических ключей по алгоритму Rivest-Shamir-Adleman, где открытая часть шифрует данные и проверяет подпись, а закрытая расшифровывает и подписывает.

Определение простыми словами

RSA-ключ — это пара чисел, связанных через факторизацию большого простого произведения. Открытый ключ кладут на сервер или в сертификат, закрытый держат у себя. Что зашифровано открытой частью — расшифровывается только закрытой, и наоборот: подпись закрытым проверяется открытым.

Применяется в SSH-доступе к серверам, TLS-сертификатах сайтов, GPG-подписи писем и пакетов. Длина в битах задаёт стойкость: 2048 — текущий минимум, 3072 и 4096 — запас на годы вперёд. Альтернативы — ed25519 (короче и быстрее) и ECDSA. Связан с SSH, TLS и OpenSSL.

Сравнение

Алгоритм Длина ключа Стойкость (бит) Скорость подписи
RSA-2048 2048 бит ~112 Средняя
RSA-3072 3072 бит ~128 Медленнее
RSA-4096 4096 бит ~140 Заметно медленнее
ed25519 256 бит ~128 Быстрее RSA-2048 в 5 раз

Кейсы использования

  • SSH-доступ на VPS без пароля — публичный ключ кладётся в ~/.ssh/authorized_keys.
  • TLS-сертификат для сайта — пара RSA-2048 подписывается удостоверяющим центром.
  • Подпись релизных архивов через GPG — разработчики проверяют целостность дистрибутивов.
  • Негативный сценарий: утечка приватного ключа из репозитория или резервной копии равна полной компрометации — при заливке проектов на GitHub боты сканируют коммиты и за минуты находят оставленные id_rsa.

Технические детали

ssh-keygen -t rsa -b 4096 -C "stas@free-hosting.ru" -f ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@server.example
openssl rsa -in id_rsa -pubout -out id_rsa.pub.pem
openssl rsa -in id_rsa -text -noout | head -20

Команда ssh-keygen создаёт пару, ssh-copy-id загружает публичную часть на сервер. Для production-серверов вместо RSA лучше выбирать ed25519 — он короче, быстрее и не уступает по стойкости. RSA остаётся для совместимости с устаревшим оборудованием и старыми CI/CD.

Частые вопросы

Какую длину RSA-ключа выбрать?

Минимум 2048 бит. Для долгосрочного хранения и серверов критичной инфраструктуры — 4096 бит. Меньше 2048 уже не считается безопасным.

Чем RSA отличается от ed25519?

ed25519 короче (256 бит даёт стойкость RSA-3072), быстрее на подпись и проверку, поддерживается всеми современными SSH-серверами с 2014 года.

Что делать, если приватный ключ утёк?

Немедленно удалить публичную часть с серверов, сгенерировать новую пару, проверить логи sshd на несанкционированные подключения.