Обзор
Для типов сигнатур в экспериментальном диапазоне (65280-65534) floodfills должны принимать netdb stores без проверки сигнатуры.
Это позволит поддерживать тестирование новых типов сигнатур.
Мотивация
Предложение GOST 134 выявило две проблемы с ранее неиспользуемым экспериментальным диапазоном типов сигнатур.
Во-первых, так как типы сигнатур в экспериментальном диапазоне не могут быть зарезервированы, они могут использоваться для нескольких типов сигнатур одновременно.
Во-вторых, если информация о роутере или lease set с экспериментальным типом сигнатуры не может быть сохранена на floodfill, новый тип сигнатуры трудно полностью протестировать или использовать временно.
Дизайн
Floodfills должны принимать и распростронить LS stores с типами сигнатур в экспериментальном диапазоне, без проверки сигнатуры. Поддержка RI stores еще не определена и может иметь больше последствий для безопасности.
Спецификация
Для типов сигнатур в экспериментальном диапазоне floodfill должен принимать и распространять netdb stores без проверки сигнатуры.
Чтобы предотвратить подделку неэкспериментальных роутеров и местоначал, floodfill никогда не должен принимать store экспериментального типа сигнатуры, который имеет хэш коллизию с существующей записью netdb с другим типом сигнатуры. Это предотвращает угон предыдущей записи netdb.
Кроме того, floodfill должен переписать экспериментальную запись netdb с store неэкспериментального типа сигнатуры, у которого есть хэш коллизия, чтобы предотвратить угон ранее отсутствующего хэша.
Floodfills должны предполагать, что длина открытого ключа подписи составляет 128, или определять ее на основе длины сертификата ключа, если она больше. Некоторые реализации могут не поддерживать более длинные длины, если тип сигнатуры не зарезервирован неформально.
Миграция
Как только эта функция будет поддержана, в известной версии роутера, записи netdb с экспериментальными типами сигнатур могут быть сохранены в floodfills этой версии или выше.
Если некоторые реализации роутеров не поддерживают эту функцию, store netdb завалится, но это то же самое, как сейчас.
Проблемы
Могут быть дополнительные последствия для безопасности, требуется исследование (см. предложение 137).
Некоторые реализации могут не поддерживать длины ключей больше чем 128, как описано выше. Кроме того, может потребоваться введение ограничение не более 128 (другими словами, в сертификате ключа нет лишних данных ключа), чтобы снизить возможности атакующих на генерирование хэш-коллизий.
Похожие проблемы потребуется решить и с ненулевыми типами шифрования, которые еще не были официально предложены.
Примечания
NetDB stores неизвестных типов сигнатур, которые не входят в экспериментальный диапазон, будут продолжать быть отклоняемыми floodfills, так как сигнатура не может быть проверена.