Déverrouiller les portes avec des codes QR uniques
MaisonMaison > Blog > Déverrouiller les portes avec des codes QR uniques

Déverrouiller les portes avec des codes QR uniques

Aug 14, 2023

La taille des codes QR varie de 21 x 21 (lignes et colonnes) à 177 x 177. Chaque carré de cette grille représente un bit, avec les carrés de position, d'alignement et de correction d'erreur soustraits. En ignorant ces soustractions, cela signifie que les codes QR peuvent stocker entre 441 bits et 31 329 bits (environ 3,9 Ko). Ainsi, même le plus petit code QR peut représenter une clé de cryptage unique de 256 bits. Les ingénieurs de TheIoTProject ont profité de ce fait pour créer un système de verrouillage de porte unique qui repose sur des codes QR.

En pratique, ce système fonctionnerait un peu comme les scanners de cartes RFID que de nombreuses personnes utilisent pour accéder à leur bureau. Le problème avec ces systèmes est que l'identifiant unique de la carte RFID est statique, ce qui introduit une faille de sécurité. Si un acteur malveillant parvient à cloner une carte RFID autorisée, il peut déverrouiller la porte. Ce système de code QR est différent, car il peut générer un nouveau code QR temporaire à chaque utilisation. Chaque fois que quelqu'un a besoin de déverrouiller la porte, il utilise une application ou un site Web pour générer le code QR nécessaire. Ceux-ci pourraient nécessiter une authentification à deux facteurs pour plus de sécurité. Une fois que l'utilisateur a déverrouillé la porte avec un code QR ou qu'un laps de temps défini s'est écoulé, le système invalide ce code QR afin qu'il ne puisse pas être copié et utilisé par un mauvais acteur.

Un code QR valide représenterait un code d'accès crypté en SHA256, ce qui rendrait presque impossible la force brute ou l'ingénierie inverse via des techniques cryptographiques. Une vulnérabilité possible est la transmission du code du serveur à l'application de l'utilisateur. Mais le cryptage sans fil standard et les pratiques informatiques appropriées empêcheraient cela, et la durée de vie limitée d'un code QR valide limiterait l'utilité d'une telle attaque.

Pour démontrer ce système, l'équipe a mis au point une implémentation simple composée d'un ordinateur monocarte Raspberry Pi, d'un scanner de code QR USB et d'un module de relais capable d'activer un verrou électronique. Il s'agit d'un système open source, vous pouvez donc explorer le code et les détails sur la page GitHub de TheIoTProject.