Desbloqueando portas com códigos QR exclusivos
LarLar > blog > Desbloqueando portas com códigos QR exclusivos

Desbloqueando portas com códigos QR exclusivos

Aug 14, 2023

Os códigos QR variam em tamanho de 21x21 (linhas e colunas) a 177x177. Cada quadrado nessa grade representa um bit, com os quadrados de posição, alinhamento e correção de erros subtraídos. Ignorando essas subtrações, isso significa que os códigos QR podem armazenar entre 441 bits e 31.329 bits (cerca de 3,9 kB). Assim, mesmo o menor código QR pode representar uma chave de criptografia exclusiva de 256 bits. Os engenheiros do TheIoTProject aproveitaram esse fato para construir um sistema exclusivo de fechadura de porta que depende de códigos QR.

Na prática, esse sistema funcionaria de forma muito semelhante aos scanners de cartões RFID que muitas pessoas usam para entrar em seus escritórios. O problema com esses sistemas é que a identificação exclusiva do cartão RFID é estática e isso introduz uma vulnerabilidade de segurança. Se um malfeitor conseguir clonar um cartão RFID autorizado, ele poderá destrancar a porta. Este sistema de código QR é diferente, pois pode gerar um novo código QR temporário para cada uso. Sempre que alguém precisar destrancar a porta, usará um aplicativo ou site para gerar o código QR necessário. Isso pode exigir autenticação de dois fatores para segurança adicional. Depois que o usuário desbloqueia a porta com um código QR ou um determinado período de tempo passa, o sistema invalida esse código QR para que não possa ser copiado e usado por um malfeitor.

Um código QR válido representaria um código de acesso criptografado como SHA256, tornando quase impossível a força bruta ou a engenharia reversa por meio de técnicas criptográficas. Uma possível vulnerabilidade é a transmissão do código do servidor para o aplicativo do usuário. Mas a criptografia sem fio padrão e as práticas de TI adequadas impediriam isso, e a vida útil limitada de um código QR válido limitaria a utilidade de tal ataque.

Para demonstrar este sistema, a equipe montou uma implementação simples que consiste em um computador de placa única Raspberry Pi, um leitor de código QR USB e um módulo de relé que poderia alternar uma fechadura eletrônica. Este é um sistema de código aberto, então você pode explorar o código e os detalhes na página TheIoTProject GitHub.