Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
криптоподпись_команды [2023/10/24 20:03] admin |
криптоподпись_команды [2023/10/31 11:34] (текущий) Admin [Ограничения] |
В том случае, если надо гарантировать, что, даже получив доступ к локальной сети, MQTT брокеру или HTTP API, потенциальный злоумышленник не сможет выполнить критичную команду (например, открытие ворот), можно использовать механизм цифровой подписи команды. | В том случае, если надо гарантировать, что, даже получив доступ к локальной сети, MQTT брокеру или HTTP API, потенциальный злоумышленник не сможет выполнить критичную команду (например, открытие ворот), можно использовать механизм цифровой подписи команды. |
| |
Для задействования режима, необходимо пересобрать прошивку, добавив в приватный файл опций компиляции (пример custom-build-flags/build_flags_lighthub21 для сборки под lighthub21) следующие опции: | Для задействования режима, необходимо пересобрать прошивку, добавив в приватный файл опций компиляции ([[опции_компиляции]]) (пример custom-build-flags/build_flags_lighthub21 для сборки под lighthub21) следующие опции (приведен пример): |
<code> | <code> |
-D CRYPT | -D CRYPT |
* Контроллер, получив команду с подписью, производит аналогичную операцию по вычислению подписи и, если значения совпали, запрос считается авторизованным | * Контроллер, получив команду с подписью, производит аналогичную операцию по вычислению подписи и, если значения совпали, запрос считается авторизованным |
* Если команда направлена на управление пином контроллера, из перечня PROTECTED_PINS, заданного при компиляции прошивки, то она будет выполнена только том случае, если является авторизованной | * Если команда направлена на управление пином контроллера, из перечня PROTECTED_PINS, заданного при компиляции прошивки, то она будет выполнена только том случае, если является авторизованной |
| |
| |
====Ограничения==== | ====Ограничения==== |
| |
Если пин входит в перечень, заданный при компиляции в опции PROTECTED_PINS, то для него действуют следующие ограничения: | Если пин входит в перечень, заданный при компиляции в опции PROTECTED_PINS, то для него действуют следующие ограничения, смысл которых в том, чтобы сделать крайне сложным подачу высокого логического уровня на выход контроллера (открытие мощных ключей) не имея физического доступа к самому устройству: |
| |
* Он не будет работать на канале типа термостат (THERMO) | * Он не будет работать на канале типа термостат (THERMO) |
* Для канала типа RELAY вывод работает только в не инверсном режиме. То есть, настройками не получится добиться перевода в состояние с высоким уровнем по-умолчанию, не получив подписанной команды. Настройки команды по умолчанию в файле конфигурации, также, будут проигнорированы. требуется цифровая подпись команде для управления таким каналом | * Для канала типа RELAY вывод работает только в не инверсном режиме. То есть, настройками не получится добиться перевода в состояние с высоким уровнем по-умолчанию, не получив подписанной команды. Настройки команды по умолчанию в файле конфигурации, также, будут проигнорированы. требуется цифровая подпись команде для управления таким каналом |
| |
* Восстановление значения канала при перезагрузки из статусных топиков MQTT не будет работать | * Восстановление значения канала при перезагрузке контроллера из статусных топиков MQTT не будет работать |
* Форсуночный увлажнитель не будет инициализирован, если хотя бы один защищенный пин присутствует в его настройках (насос, клапана) | * Форсуночный увлажнитель не будет инициализирован, если хотя бы один защищенный пин присутствует в его настройках (насос, клапана) |
* Данные пины не работают для управления моторизированными воздушными заслонками (канал MOTOR) | * Данные пины не работают для управления моторизированными воздушными заслонками (канал MOTOR) |
* При использовании защищенных пинов в канале типа PWM требуется цифровая подпись команде для управления таким каналом | * При использовании защищенных пинов в канале типа PWM требуется цифровая подпись команде для управления таким каналом |
| * Канал типа RELAYPWM на этом pin работать не будет |
| |
| В качестве дополнительной меры защиты, рекомендуется отключить возможность обновления прошивки по-воздуху (OTA) |
| |