Есть ли какие-либо проблемы безопасности, которые могут возникнуть, когда клиент mqtt не предоставляет сертификат ключа publi c во время рукопожатия TLS? - PullRequest
0 голосов
/ 08 января 2020

Я создаю небольшую iot-подобную систему, где mqtt-устройства (клиенты) отправляют и получают важную информацию или команды, связанные с безопасностью.

Я должен знать, что TLS-соединение может быть построено по желанию. без аутентификации клиента через сертификат PK на стороне клиента.

Обычно клиентским устройствам mqtt не хватает ресурсов для поддержки PKI, где сначала нужно хранить сертификат и время от времени обновлять его с недавно выпущенными, когда срок действия истек или когда исходный сертификат был отозван.

Я думаю, именно поэтому многие из брокеров mqtt имеют возможность настраивать включение / выключение аутентификации клиента во время рукопожатия TLS.

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

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

Ответы [ 2 ]

1 голос
/ 08 января 2020

Отсутствие аутентификации клиента означает, что каждый, включая злоумышленника, может претендовать на статус действительного клиента. Могут быть случаи использования, такие как publi c services, где это не является проблемой, и есть другие случаи использования, когда сервер хочет ограничить доступ только к указанным c только известным клиентам.

0 голосов
/ 08 января 2020

Нет однозначного ответа на этот вопрос, он всегда будет зависеть от следующих факторов, и только вы, как разработчик, можете ответить на них:

  1. Какая модель угрозы вы используете работа с? Например, кого вы пытаетесь не пускать в систему и почему, каковы последствия того, что кто-то подключает клиента румян?
  2. Сколько вы готовы потратить? Если вы собираетесь развернуть сертификат клиента или даже уникальный логин / пароль для каждого устройства, как оно будет защищено? Поддерживает ли оборудование, которое вы намереваетесь использовать, безопасное хранилище секретов анклава / оборудования? Имеется в виду, как трудно злоумышленнику извлечь имя пользователя / пароль или секретный ключ клиента из устройства?
  3. Какие другие меры безопасности у вас есть? Есть ли у вас контроль доступа? Списки для защиты, на какие темы клиент может публиковать / подписываться? Есть ли у вас мониторинг для обнаружения вредоносных действий от клиентов, чтобы их можно было отключить и запретить?
...