Кратко

  • draft-tiloca-lake-private-use-ranges-01 предлагает диапазоны Private Use для трёх реестров EDHOC; новые значения занимают пять байтов CBOR вместе с начальным байтом.
  • Границы 4294967295 и -4294967296 допустимы на проводе, но не помещаются в знаковый 32-битный integer.
  • Private Use координирует значение в локальной области, а не создаёт глобальное имя. Аутентификация не доказывает одинаковую интерпретацию и результат приложения.

В журнале получателя записано -1, а в сетевом захвате — 4294967295. Это не обязательно два разных пакета. Декодер мог вернуть правильное число, после чего устаревший интерфейс сузил его до int32. Сам журнал уничтожил улику, необходимую для объяснения.

Индивидуальный Internet-Draft Additional Private Use Ranges in the IANA Registries of the Lightweight Authenticated Key Exchange Protocol от 30 сентября 2026 года предлагает новые частные диапазоны для типов методов, кодов ошибок и External Authorization Data. Они вынесены за существующие короткие диапазоны и используют четырёхбайтовый аргумент CBOR. С начальным байтом длина равна пяти.

Четырёхбайтовый аргумент не равен int32

В RFC 8949 major type 0 обозначает N, а major type 1 — -1-N. Максимальный четырёхбайтовый аргумент даёт положительное 4294967295 и отрицательное -4294967296. Обе границы лежат вне знакового 32-битного диапазона.

Полная поддержка требует, например, int64 либо отдельного хранения знака и беззнакового аргумента. Ширина должна сохраняться в проверке диапазона, ключах таблиц, dispatch, хранилище и телеметрии. Широкий декодер перед узким enum не обеспечивает совместимость.

У EAD знак управляет обработкой

RFC 9528 помещает в реестр абсолютное значение ead_label, но отрицательный label означает critical, а неотрицательный — non-critical. Поэтому 65536 и -65536 называют один частный объект, однако требуют разной реакции получателя, который его не понимает.

И длина различается: положительное 65536 требует четыре байта аргумента, отрицательное -65536 кодирует аргумент 65535 двумя байтами. Ранняя нормализация стирает знак. Абсолютное значение отрицательной границы нельзя безопасно получить после сужения. В квитанции нужны исходный знаковый label, абсолютный ключ и решение criticality отдельно.

Частному номеру нужна область

По RFC 8126 Private Use не предназначен для общей совместимости и не мешает разным сторонам использовать одно число по-разному. Это удобно внутри закрытой экосистемы и опасно при слиянии, общем шлюзе или повторном использовании SDK.

Значение 70000 неполно без идентификатора области распределения, версии профиля и compatibility set. Два производителя могут быть внутренне последовательны и взаимно несовместимы. Неизвестную область следует отклонять с объяснением, а не угадывать смысл числа.

Три реестра создают разные последствия

Method Type выбирает конструкцию аутентификации. Error Code определяет трактовку отказа. EAD label выбирает непрозрачные для EDHOC данные и несёт criticality в знаке. Одно сужение способно выбрать неверный метод, неверное восстановление или неверное продолжение.

Проект не сообщает об уязвимости, продукте или внедрении и сохраняет соображения безопасности RFC 9528. Его требование уже: реализация полного диапазона обязана сохранить каждое значение.

Векторы и квитанция

Нужны 65535/65536, 4294967295, -65536/-65537, -4294967296, значения сразу вне границ и положительные/отрицательные EAD. Два частных профиля должны намеренно придать одному числу разные значения. Проверяются исходные байты, математическое число, conversion, диапазон, handler, criticality, журнал и отказ профиля.

Текущий реестр IANA EDHOC — базовая линия RFC 9528. Datatracker показывает индивидуальный проект, а не выполненное действие IANA, консенсус или внедрение. Соседние частные диапазоны RFC 9668 также не доказывают эти программные пути.

Операционная квитанция хранит реестр, CBOR-байты, major type, ширину аргумента, число до сужения, проверенные conversions, триаду EAD знак/модуль/criticality, частную область и версию, профили peers, handler, ссылку на transcript и итог приложения. Она не делает номер глобальным, но сохраняет объяснение.

Источники