Генерация ключевой пары SSH XMSS и лучшие практики

Вопрос или проблема

В недавнем 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 версии продолжает оставаться экспериментальной, и использование её следует ограничивать только тестовыми сценариями.

Шаги по генерации ключей
  1. Сборка 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.

  2. Генерация ключа:
    После успешной сборки SSH, вы можете вызвать ssh-keygen для создания ключа:

    ./usr.bin/ssh/ssh-keygen -t xmss

    Также можно использовать длинные или короткие имена алгоритма, чтобы указать параметры генерации.

  3. Выбор зависимых параметров:
    При генерации XMSS ключа, важно настроить параметры, такие как длина ключа и количество раундов. Однако так как поддержка XMSS и документация к ней всё ещё недоступны или не полные, рекомендуется следовать обновлениям на официальном сайте OpenSSH.

Лучшие практики при генерации ключей

  1. Проверка рекомендации по алгоритмам:
    Обращайте внимание на текущие рекомендации относительно безопасности XMSS. При появлении новых обновлений в документировании OpenSSH следите за изменениями в параметрах генерации ключей.

  2. Использование устойчивых к квантовым атакам схем:
    Поскольку XMSS относится к постквантовым системам, его использования может быть оправдано для будущих приложений, которые будут уязвимы к квантовым вычислениям. Тем не менее, важно учитывать совместимость и поддержку со стороны других инструментов, которые могут не поддерживать XMSS.

  3. Проверка на наличие уязвимостей:
    Важно следить за уязвимостями, связанными с XMSS, особенно после обнаружения проблем, таких как CVE-2019-16905, которые могут повлиять на безопасность используемого программного обеспечения.

  4. Тестирование в безопасной среде:
    Если вы решили протестировать поддержку XMSS, всегда выполняйте это в защищённой и изолированной среде, чтобы минимизировать возможные риски.

  5. Ожидание официальных обновлений:
    Так как на текущий момент поддержка XMSS остаётся экспериментальной, рекомендуется сосредоточиться на стабильных и проверенных методах шифрования, пока не будет обеспечена более надёжная реализация и документация для использования XMSS в производственной среде.

Заключение

XMSS представляет интересный вариант для будущих криптографических приложений, однако его использование в настоящих условиях требует осторожности и тщательного рассмотрения рисков. Убедитесь, что вы следите за обновлениями и рекомендациями от OpenSSH, чтобы полноценно оценивать возможность применения этой технологии в ваших проектах.

Оцените материал
Добавить комментарий

Капча загружается...