Комментарии 2
Отправляемый пакет подписывается по стандарту HMAC MD5 (другие я счёл слишком длинными для коротеньких UDP пакетов), на входе делается проверка. Принимать или нет пакет без подписи — оставлено на откуп прикладному коду.
Напрашивается вполне логичный вопрос.
Если злоумышленник перехватил пакет с подписью, а потом сам через некоторое время отсылает этот пакет, то что будет?
Пакет будет принят, как подлинный?
+1
На уровне подписи — да. Но именно поэтому среди планируемых TTR-ов есть дата-время и уже сейчас есть номер пакета. Для защиты от быстрого повтора достаточно номера пакета — можно держать историю принятых пакетов на какое-то время. Для защиты от повтора с длинной задержкой можно опираться на время отправки и отвергать всё, что оправлено, например, более 5 сек тому назад. Конечно, все эти сущности тоже покрыты подписью и не могут быть подменены. Спасибо за вопрос, нужно будет сделать в документации описание.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
MQTT/UDP, предвесенние итоги: дистанционная конфигурация и цифровая подпись