Поддержка Floodfill для дополнительных типов подписей

Proposal 137
Open
Author zzz
Created 2017-03-31
Last Updated 2017-11-12

Обзор

Добавить способ для floodfill узлов рекламировать поддержку дополнительных типов подписей. Это обеспечит возможность поддерживать новые типы подписей в долгосрочной перспективе, даже если не все реализации поддерживают их.

Мотивация

Предложение GOST 134 выявило несколько проблем с ранее неиспользуемым диапазоном экспериментальных типов подписей.

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

Во-вторых, если информация о маршрутизаторе или набор аренд с экспериментальным типом подписи не может быть сохранен на floodfill, новый тип подписи трудно полностью протестировать или использовать на пробной основе.

В-третьих, если предложение 136 будет реализовано, это небезопасно, так как кто угодно может перезаписать запись.

В-четвертых, реализация нового типа подписи может быть значительными затратами времени на разработку. Может быть трудно убедить разработчиков всех реализаций маршрутизаторов добавить поддержку нового типа подписи вовремя для какого-либо конкретного выпуска. Время и мотивации разработчиков могут отличаться.

В-пятых, если GOST использует тип подписи в стандартном диапазоне, все равно нет способа узнать, поддерживает ли конкретный floodfill GOST.

Проект

Все floodfill должны поддерживать типы подписей DSA (0), ECDSA (1-3) и EdDSA (7).

Для любого другого типа подписи в стандартном (неэкспериментальном) диапазоне floodfill может рекламировать поддержку в свойстве информации о маршрутизаторе.

Спецификация

Маршрутизатор, поддерживающий дополнительный тип подписи, должен добавить свойство “sigTypes” в свою опубликованную информацию о маршрутизаторе, с номерами типов подписей, разделенными запятыми. Типы подписей будут в числовом порядке. Обязательные типы подписей (0-4,7) не должны быть включены.

Например: sigTypes=9,10

Маршрутизаторы, поддерживающие дополнительные типы подписей, должны хранить, искать или передавать данные только тем floodfill, которые рекламируют поддержку этого типа подписи.

Миграция

Не применимо. Только маршрутизаторы, поддерживающие дополнительный тип подписи, должны реализовать это.

Проблемы

Если существует не так много floodfill, поддерживающих этот тип подписи, их может быть трудно найти.

Может не быть необходимости требовать поддержку ECDSA 384 и 521 (типы подписей 2 и 3) для всех floodfill. Эти типы не широко используются.

Аналогичные проблемы должны быть решены с ненулевыми типами шифрования, которые еще не были формально предложены.

Заметки

Хранилища NetDB неизвестных типов подписей, которые не находятся в экспериментальном диапазоне, продолжат отклоняться floodfill, так как подпись не может быть проверена.