Отпирание дверей с помощью уникальных QR-кодов
ДомДом > Блог > Отпирание дверей с помощью уникальных QR-кодов

Отпирание дверей с помощью уникальных QR-кодов

Aug 14, 2023

Размер QR-кодов варьируется от 21x21 (строки и столбцы) до 177x177. Каждый квадрат в этой сетке представляет собой бит, за вычетом квадратов положения, выравнивания и исправления ошибок. Игнорируя эти вычитания, это означает, что QR-коды могут хранить от 441 до 31 329 бит (около 3,9 КБ). Таким образом, даже самый маленький QR-код может представлять собой уникальный 256-битный ключ шифрования. Инженеры TheIoTProject воспользовались этим фактом, чтобы создать уникальную систему дверных замков, основанную на QR-кодах.

На практике эта система будет работать во многом так же, как сканеры RFID-карт, которые многие люди используют для проникновения в свои офисы. Проблема этих систем заключается в том, что уникальный идентификатор RFID-карты статичен, и это создает уязвимость безопасности. Если злоумышленник сможет клонировать авторизованную RFID-карту, он сможет открыть дверь. Эта система QR-кодов отличается тем, что она может генерировать новый временный QR-код для каждого использования. Каждый раз, когда кому-то нужно открыть дверь, он будет использовать приложение или веб-сайт для создания необходимого QR-кода. Для дополнительной безопасности может потребоваться двухфакторная аутентификация. После того, как пользователь разблокирует дверь с помощью QR-кода или пройдет определенное время, система аннулирует этот QR-код, чтобы его нельзя было скопировать и использовать злоумышленником.

Действительный QR-код будет представлять собой код доступа, зашифрованный как SHA256, что делает практически невозможным перебор или реверс-инжиниринг с помощью криптографических методов. Возможная уязвимость — передача кода с сервера в приложение пользователя. Но стандартное беспроводное шифрование и надлежащие ИТ-практики предотвратят это, а ограниченный срок действия действительного QR-кода ограничит полезность такой атаки.

Чтобы продемонстрировать эту систему, команда собрала простую реализацию, состоящую из одноплатного компьютера Raspberry Pi, USB-сканера QR-кода и релейного модуля, который может переключать электронный замок. Это система с открытым исходным кодом, поэтому вы можете изучить код и подробную информацию на странице TheIoTProject GitHub.