LINUX.ORG.RU

Ключи для SSH: ED25519 vs RSA

 , , , ,


0

3

Я слабо разбираюсь в криптографии, но давно заметил тенденцию что всякие GitHub и GitLab настоятельно советуют использовать ED25519 вместо RSA. При этом использующим RSA уже давно вставляют палки в колёса, как сами сервисы (Bitbucket), так и само ПО вроде OpenSSH:

Refuse RSA keys <1024 bits in length and improve reporting for keys that do not meet this requirement. | OpenSSH Release Notes

Я ещё 10 лет назад сгенерировал себе 8192-битный RSA ключ, который везде использую и пока не знаю проблем, но кто его знает как оно будет в «постквантовом» будущем. Следовательно вопрос: нужно ли обновлять свои ключи на ED25519 или остаться ретроградом? Наверняка вы тоже стояли перед этим решением.

P.S. GPG-ключи, наверное, тоже стоит обновить? Там вроде как 4096-битные RSA по умолчанию.

★★★★★

Последнее исправление: EXL (всего исправлений: 2)

Refuse RSA keys <1024 bits in length and improve reporting for keys that do not meet this requirement.

Это не палки в колёса RSA, это отказ от небезопасных ключей, причём весьма либеральный даже, надо было меньше 2048 запретить уже давно, но тогда бы сломалась куча легаси sshd хостов, которые никто не по факту админит, но пользуются как юзеры.

8192 без (пока что мифических) квантовых вычислений будет безопасным ещё очень очень долго, даже 4096 ещё надолго хватит для самых притязательных пользователей.

нужно ли обновлять свои ключи на ED25519

Без жёсткого знания теоретической криптографии сложно будет ответ найти. Да и с ним тоже. Главное преимущество этих новых ключей на данный момент - большая скорость штатной работы при одинаковой (на известных технологиях) взломостойкости. Насчёт того кто безопаснее на неизвестных технологиях - я бы не был уверен, и те и те основаны на недоказанных предположениях, хоть и очень кажущихся истинными.

нужно ли обновлять свои ключи

И ещё момент - со временем растёт чисто организационная вероятность что у тебя его кто-то незаметно таки украл. От длины ключа она не зависит никак. И она аргумент за обновление (не конкретно на ED25519 а вообще).

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)

во-первых, ключи стоит обновлять время от времени. Во-вторых, ключи RSA по сравнению с ED25519 имеют гораздо большие размеры и требуют гораздо больше энтропии для генерации. Т.е. ED25519 как минимум гораздо практичнее. В-третьих, для работы с RSA-ключами где-то могут применяться старые библиотеки, страдающие уязвимостями. Типа такой: https://www.opennet.ru/opennews/art.shtml?num=46812

Что до постквантового будущего, то там не будет ни RSA, ни ED25519. А будет какой-нибудь Dilithium, или что там NIST стандартизирует. А может и вообще ничего не будет, потому что все станут шарить симметричные ключи по квантовым каналам.

Lrrr ★★★★★
()
Последнее исправление: Lrrr (всего исправлений: 1)
Ответ на: комментарий от Lrrr

Спасибо за ответы в теме.

Такой ещё глупый вопрос: сконвертировать ED25519-ключи сгенерированные ssh-keygen для использования в OpenGPG чтобы, например, подписывать им коммиты в Git – плохая идея? Лучше будет сделать отдельный ED25519 ключ в OpenGPG?

EXL ★★★★★
() автор топика
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от The_Coon

Еще нельзя увеличить длинну ключа для ED25519. Вот.

Ага, я тоже заметил что длина сгенерированных ключей у ED25519 в сравнении с моим 8192-битным RSA-монстром крошечная. Полез гуглить, наткнулся на это обсуждение:

https://security.stackexchange.com/questions/101044/is-it-bad-that-my-ed25519-key-is-so-short-compared-to-a-rsa-key

И успокоился.

EXL ★★★★★
() автор топика
Ответ на: комментарий от EXL

как я понял конвертировать не обязательно, можно подписывать и так: https://calebhearth.com/sign-git-with-ssh

вообще во многих гайдах советуют использовать отдельные ключи для каждой конкретной задачи, но по-моему среднестатистическому неуловимому джо можно не париться)) Пользуюсь одним ключом для всего.

Кстати ssh-ключи очень удобно хранить не в виде отдельных файлов в папке ~/.ssh, а в базе keepassxc вместе с паролями

Lrrr ★★★★★
()
Ответ на: комментарий от Lrrr

как я понял конвертировать не обязательно, можно подписывать и так

Я не только для подписи коммитов OpenGPG использую, но ещё и для того, чтобы файлы какие-нибудь пошифровать своим ключом, например, BackUp’ы.

Пользуюсь одним ключом для всего.

Да вот тоже хочется перключиться на один сгенерированный ключик для всего, который изредка обновлять. Но почитал про конвертирование SSH => OpenGPG, спецы с serverfault что-то плюются от такого: https://serverfault.com/questions/346958/how-do-i-import-a-rsa-ssh-key-into-gpg-as-the-primary-private-key да и телодвижений нужно много всяких, софт сторонний устанавливать для конвертации и т. д.

Похоже лучше действительно не объединять SSH/OpenGPG ключ в один.

EXL ★★★★★
() автор топика
Ответ на: комментарий от EXL

Я не только для подписи коммитов OpenGPG использую, но ещё и для того, чтобы файлы какие-нибудь пошифровать своим ключом, например, BackUp’ы

тогда можно сгенерировать один gpg-ключ и использовать его в том числе и для ssh, gpg-agent умеет прикидываться ssh-агентом.

Lrrr ★★★★★
()
Ответ на: комментарий от Lrrr

тогда можно сгенерировать один gpg-ключ и использовать его в том числе и для ssh, gpg-agent умеет прикидываться ssh-агентом.

Это, наверное, усложнит доступ на GitHub/GitLab/Bitbucket и различные VPS с тех моих устройств, где есть только SSH, но нет OpenGPG: смартфоны, другие компьютеры и пр.

В любом случае, спасибо за ответы.

EXL ★★★★★
() автор топика

Я сам недавно перешел на Ed25519, с ним всё хорошо только с современными opensource-хостами. Дремучее легаси(CentOS 6) и проприетарщина(Mikrotik, Cisco) в пролете - там властвует безраздельно RSA(в Cisco ASR 9000 вроде есть еще ECDSA, только у меня таких девайсов нигде нет)

Я ещё 10 лет назад сгенерировал себе 8192-битный RSA ключ, который везде использую и пока не знаю проблем,

Силён, я всё же не рискнул, обошелся 4096-битным в 2012 году. И то мне все говорили что я долбанутый параноик и «2048-бит хватит всем» :-)

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Силён, я всё же не рискнул, обошелся 4096-битным в 2012 году.

Проблем вроде как с таким длинным ключом я нигде не замечал. А так да, для Legacy-техники оставил парочку старых RSA-ключиков.

EXL ★★★★★
() автор топика
6 февраля 2023 г.

Я слабо разбираюсь в криптографии, но давно заметил тенденцию что всякие GitHub и GitLab настоятельно советуют использовать ED25519 вместо RSA

Они свое процессорное время экономят - ed25519 считать быстрее, чем RSA с огромным ключем.

annulen ★★★★★
()