Вопрос или проблема
В недавнем ssh -vv
выводе я увидел, что OpenSSH упоминает файл закрытого ключа id_xmss
.
XMSS определен в RFC 8391, “XMSS: eXtended Merkle Signature Scheme”, май 2018.
OpenSSH имеет экспериментальную поддержку XMSS с версии 7.7 (2018-04-02).
- Как мне сгенерировать пару ключей XMSS? Используя OpenSSH?
- Каковы лучшие практики для параметров генерации ключей?
Предварительная поддержка XMSS была добавлена в OpenSSH 7.6, но она все еще считается экспериментальной и, по состоянию на OpenSSH 9.2, все еще не включена по умолчанию. В OpenBSD можно включить поддержку XMSS, скомпилировав usr.bin/ssh следующим образом:
$ export WITH_XMSS=yes
$ cd /usr/src/
$ make -j$(/sbin/sysctl -n hw.ncpu) -C usr.bin/ssh/
$ usr.bin/ssh/ssh-keygen/obj/ssh-keygen -t xmss
[...]
Тем не менее, поскольку поддержка XMSS еще не официально поддерживается OpenSSH, я не рекомендую использовать ее за исключением тестирования. Как только поддержка станет официальной, я уверен, что страница man будет обновлена соответствующим образом о том, как безопасно генерировать ключи XMSS (биты, раунды и т. д.).
Для этого вы сначала должны скомпилировать с WITH_XMSS
./configure
make libopenssh ssh-keygen CFLAGS=-DWITH_XMSS=1
Затем вы можете вызвать его с помощью short_name
или long_name
. Например:
./ssh-keygen -t xmss
./ssh-keygen -t [email protected]
Обратите внимание, что компиляция обязательна, потому что xmss является экспериментальным (выключен по умолчанию) и потенциально даже ненадежным, так как были обнаружены ошибки, которые позволяли бы выполнять код локально (с тех пор исправлены).
Ответ или решение
Генерация пары ключей XMSS с помощью SSH и лучшие практики
XMSS (eXtended Merkle Signature Scheme) — это криптографическая схема подписи, которая стала частью OpenSSH с версии 7.7, и возможность её использования остаётся экспериментальной. В данной статье мы рассмотрим процесс генерации пары ключей XMSS с помощью OpenSSH, а также лучшие практики выбора параметров для их создания.
Генерация ключевой пары XMSS
Для начала, необходимо отметить, что поддержку XMSS нельзя использовать прямо "из коробки"; она требует некоторых дополнительных шагов для активации. OpenSSH с поддержкой XMSS по состоянию на 9.2 версии продолжает оставаться экспериментальной, и использование её следует ограничивать только тестовыми сценариями.
Шаги по генерации ключей
-
Сборка OpenSSH с поддержкой XMSS:
Чтобы включить поддержку XMSS, вам потребуется компилировать OpenSSH с определённой настройкой. Процесс можно выполнить следующим образом:export WITH_XMSS=yes cd /usr/src/ make -j$(/sbin/sysctl -n hw.ncpu) -C usr.bin/ssh/
Это создаст исполняемый файл
ssh-keygen
с поддержкой XMSS. -
Генерация ключа:
После успешной сборки SSH, вы можете вызватьssh-keygen
для создания ключа:./usr.bin/ssh/ssh-keygen -t xmss
Также можно использовать длинные или короткие имена алгоритма, чтобы указать параметры генерации.
-
Выбор зависимых параметров:
При генерации XMSS ключа, важно настроить параметры, такие как длина ключа и количество раундов. Однако так как поддержка XMSS и документация к ней всё ещё недоступны или не полные, рекомендуется следовать обновлениям на официальном сайте OpenSSH.
Лучшие практики при генерации ключей
-
Проверка рекомендации по алгоритмам:
Обращайте внимание на текущие рекомендации относительно безопасности XMSS. При появлении новых обновлений в документировании OpenSSH следите за изменениями в параметрах генерации ключей. -
Использование устойчивых к квантовым атакам схем:
Поскольку XMSS относится к постквантовым системам, его использования может быть оправдано для будущих приложений, которые будут уязвимы к квантовым вычислениям. Тем не менее, важно учитывать совместимость и поддержку со стороны других инструментов, которые могут не поддерживать XMSS. -
Проверка на наличие уязвимостей:
Важно следить за уязвимостями, связанными с XMSS, особенно после обнаружения проблем, таких как CVE-2019-16905, которые могут повлиять на безопасность используемого программного обеспечения. -
Тестирование в безопасной среде:
Если вы решили протестировать поддержку XMSS, всегда выполняйте это в защищённой и изолированной среде, чтобы минимизировать возможные риски. -
Ожидание официальных обновлений:
Так как на текущий момент поддержка XMSS остаётся экспериментальной, рекомендуется сосредоточиться на стабильных и проверенных методах шифрования, пока не будет обеспечена более надёжная реализация и документация для использования XMSS в производственной среде.
Заключение
XMSS представляет интересный вариант для будущих криптографических приложений, однако его использование в настоящих условиях требует осторожности и тщательного рассмотрения рисков. Убедитесь, что вы следите за обновлениями и рекомендациями от OpenSSH, чтобы полноценно оценивать возможность применения этой технологии в ваших проектах.