Кратко

  • RFC 9858 регистрирует дополнительные сочетания SHA-256 и SHAKE256 для HSS/LMS; идентификатор объясняет проверку, но не историю состояния закрытого ключа.
  • Корректная подпись не исключает, что восстановленная система или конкурентный процесс подписали с тем же номером листа.
  • Нужны отдельные меры: долговременная фиксация состояния до выдачи подписи, единственный владелец, восстановление без копирования, учёт ёмкости и заранее подготовленный ключ-преемник.

Проверяющий видит подпись, но не видит второй модуль

RFC 9858 опубликован Crypto Forum Research Group в составе IRTF в октябре 2025 года. Он добавил наборы HSS/LMS на SHA-256 с 192-битным выходом и SHAKE256 с выходом 192 или 256 бит. Соответствующие коды LM-OTS и LMS внесены в реестры IANA. По коду реализация однозначно выбирает хеш-функцию, длину, высоту дерева и параметр Винтерница.

Это общий язык вычислений, а не подтверждение сохранности ключа.

Каждая подпись LMS расходует один лист конечного дерева Меркла. Его номер q включён в подпись, а связанный секрет предназначен для однократного применения. Поэтому закрытый ключ содержит изменяемое состояние. RFC 8554 предупреждает: повторное использование состояния способно разрушить гарантии схемы.

Проверяющая сторона получает сообщение, подпись, открытый ключ и путь аутентификации. Она пересчитывает корень и подтверждает этот экземпляр. Ей не видны другая служба с тем же q, сбой записи после отправки ответа или старый снимок, который позднее запустят при аварийном восстановлении. Ответ VALID относится к одному артефакту, а не к уникальности листа во всей инфраструктуре.

Отсюда два контура доказательств. Контур параметров фиксирует семейство хеша, длину выхода, высоту дерева и вычислительную конфигурацию. Контур состояния фиксирует владельца, резервирование, долговременную запись, выдачу, копии и восстановление. RFC 9858 расширяет первый контур, но не удостоверяет второй.

Наборы на 192 бита дают меньшие ключи и подписи по сравнению с 256-битными вариантами ценой меньшего запаса стойкости. SHAKE256 может быть удобнее на конкретной платформе. Но требование закупки «поддерживает RFC 9858» не отвечает, какой набор выбран, на какой срок и что произойдёт со счётчиком при отключении питания и параллельных запросах.

NIST SP 800-208 задаёт критическую последовательность. При соответствующей генерации в аппаратном модуле закрытый материал не экспортируется. Индекс листа увеличивается и сохраняется в энергонезависимой памяти до экспорта подписи или приёма следующего запроса. Запись, оставшаяся в кэше, может исчезнуть при потере питания. Если сначала отдать подпись, а затем сохранять состояние, перезапуск способен вернуть уже использованный лист.

Восстановление поэтому нельзя свести к загрузке старого образа активного ключа. Безопаснее применять независимые деревья под иерархией HSS, непересекающиеся диапазоны или отдельно созданный ключ-преемник. Две подписывающие копии превращают отказоустойчивость в гонку за одноразовый секрет.

Высота дерева определяет конечный бюджет. Ошибки и консервативное резервирование расходуют листья, даже когда внешних подписей меньше. Нужны устойчивый максимум, максимум резерва, максимум фактической выдачи и остаток. Открытый ключ-преемник должен быть распространён до критического порога. Если две подписи уже вышли из одного листа, последующая сверка не отменит риск.

Источники