Как закрыть Zigbee‑сеть от чужих устройств

Чтобы защитить Zigbee и запретить неизвестные устройства, держите permit‑join выключенным по умолчанию, включайте join только на короткое окно, а для добавления используйте install code/уникальные link‑keys и (если доступно) белый список на координаторе (Trust Center). Ниже — как это работает и что настроить.

Оглавление

Ключи Zigbee: что действительно важно

В Zigbee безопасность в основном упирается в то, как устройство получает сетевой ключ и можно ли это перехватить.

  • Network Key (сетевой ключ, AES‑128) — общий ключ сети. Кто его знает, тот часто может читать и подделывать значимую часть трафика на сетевом уровне.
  • Link Key (ключ на уровне APS) — используется для защищённой доставки Network Key при присоединении. Бывает:
    • общий “дефолтный” (общеизвестный) — удобно, но рискованно;
    • уникальный (на устройство или на партию) — заметно лучше.
  • Install Code → производный link key — практичный «аналог пароля на устройство»: без правильного install code устройство не должно пройти безопасное присоединение.

Что выбирать в доме

Быстрое сравнение вариантов присоединения

ВариантУдобствоРиск перехвата при joinКогда оправдан
Дефолтный (общеизвестный) link keyВысокоеВысокийТолько если иначе устройство не добавляется, и вы жёстко контролируете join‑окно
Уникальный link key (преднастроенный)Среднее/высокоеСредний/низкийКогда вы контролируете парк устройств и ключи
Install Code (уникальный)СреднееНизкийЛучший вариант для «не пускать чужих»

Если вы добавляете устройства через общеизвестный (дефолтный) ключ и держите join открытым долго, злоумышленнику достаточно «подслушать» момент вступления, чтобы получить сетевой ключ.

Join/permit‑join: где чаще всего «дырка»

Permit‑join — режим, когда координатор временно разрешает новым устройствам присоединяться. Главная ошибка — оставлять сеть «открытой всегда».

Как сделать правильно:

  1. Join по умолчанию: OFF.
  2. Открывайте join только вручную и на короткое время.
  3. Добавили устройство — сразу закрыли join.

Для квартиры обычно достаточно окна 30–120 секунд. Если добавляете много устройств подряд — держите join открытым минимально необходимое время и не делайте это «на ночь».

Отдельно проверьте настройки безопасности присоединения: в некоторых реализациях встречаются режимы, где сетевой ключ может быть передан «слишком просто» (условно — без достаточной защиты). Если есть выбор, всегда выбирайте защищённое присоединение (через link key / install code).

Запрет неизвестных устройств: рабочие стратегии

Надёжный результат даёт комбинация методов — от простых к сильным.

  1. Закрытый join как правило
    Это базовый «замок на двери». Без него остальные меры часто теряют смысл.

  2. Белый список (allowlist) устройств на Trust Center
    Идеальная политика: разрешать вступление только заранее известным устройствам (обычно по IEEE/EUI‑64). Тогда даже при случайно открытом join шанс «чужого» сильно падает.

  3. Install Code для новых устройств (если поддерживается)
    Сценарий выглядит так: вы заранее вводите install code (и иногда IEEE‑адрес), затем включаете join, и только «правильное» устройство может корректно завершить процедуру и получить Network Key.

  4. Отключить/ограничить упрощающие режимы комиссионинга
    Если в вашей системе есть дополнительные способы «быстрого спаривания» (часто ради удобства), лучше их отключить или ограничить по времени. Удобство таких режимов иногда достигается ценой более слабой модели доверия.

  5. Контроль rejoin (повторного входа)
    Если платформа позволяет выбирать строгий/упрощённый rejoin — выбирайте строгий. Упрощённые варианты удобны при проблемах связи, но могут облегчать повторное подключение постороннего устройства.

  6. Что делать при подозрении на компрометацию ключа
    Если есть основания считать, что Network Key «утёк» (странные устройства, неожиданные команды), самый надёжный путь — пересоздать сеть (новый ключ и повторное добавление устройств). Если ваша платформа поддерживает безопасную смену сетевого ключа (rekey), используйте её, но учитывайте совместимость устройств.

Частые ошибки

  • Join включён постоянно — фактически «открытая дверь» для всех в радиусе.
  • Добавление устройств без контроля периметра — присоединение лучше делать, когда вы понимаете, кто рядом (особенно в плотной застройке).
  • Ставка на «незаметность» вместо криптографии — выбор канала/ID не заменяет ключи и политику Trust Center.
  • Один слабый сценарий присоединения (дефолтные ключи, упрощённый commissioning) обесценивает остальные меры.

FAQ

Можно ли сделать Zigbee “как Wi‑Fi с паролем”?
Ближайший аналог: install code/уникальные link‑keys + закрытый permit‑join + allowlist. «Один общий ключ для всех» по смыслу ближе к открытому подъезду, чем к Wi‑Fi с сильным паролем.

Что важнее: сильные ключи или короткое join‑окно?
Нужны оба. Самая быстрая победа — закрыть join по умолчанию, затем переходить к install code/уникальным ключам и allowlist.

Если кто-то узнал Network Key, он уже “внутри”?
Во многих домашних сценариях — да: это позволяет читать NWK‑трафик и нередко подделывать команды. Поэтому защищайте именно момент присоединения и не держите join открытым.