고유한 QR 코드로 문 잠금 해제
홈페이지홈페이지 > 블로그 > 고유한 QR 코드로 문 잠금 해제

고유한 QR 코드로 문 잠금 해제

Aug 14, 2023

QR 코드의 크기는 21x21(행 및 열)부터 177x177까지입니다. 해당 그리드의 각 사각형은 위치, 정렬 및 오류 수정 사각형을 뺀 비트를 나타냅니다. 이러한 빼기를 무시하면 이는 QR 코드가 441비트에서 31,329비트(약 3.9kB) 사이를 저장할 수 있음을 의미합니다. 따라서 가장 작은 QR 코드라도 고유한 256비트 암호화 키를 나타낼 수 있습니다. TheIoTProject 엔지니어들은 이러한 사실을 활용하여 QR 코드에 의존하는 독특한 도어 잠금 시스템을 구축했습니다.

실제로 이 시스템은 많은 사람들이 사무실에 들어갈 때 사용하는 RFID 카드 스캐너와 매우 유사하게 작동합니다. 이러한 시스템의 문제점은 RFID 카드의 고유 ID가 고정되어 있어 보안 취약점이 발생한다는 것입니다. 악의적인 행위자가 승인된 RFID 카드를 복제할 수 있으면 문을 열 수 있습니다. 이 QR 코드 시스템은 사용할 때마다 새로운 임시 QR 코드를 생성할 수 있다는 점에서 다릅니다. 누군가 문을 열어야 할 때마다 앱이나 웹사이트를 사용하여 필요한 QR 코드를 생성합니다. 추가 보안을 위해 이중 인증이 필요할 수 있습니다. 사용자가 QR 코드로 문을 열거나 일정 시간이 지나면 시스템은 해당 QR 코드를 무효화하여 악의적인 사용자가 복사하여 사용할 수 없도록 합니다.

유효한 QR 코드는 SHA256으로 암호화된 액세스 코드를 나타내므로 암호화 기술을 통한 무차별 공격이나 리버스 엔지니어링이 거의 불가능합니다. 가능한 취약점은 서버에서 사용자 앱으로 코드가 전송되는 것입니다. 그러나 표준 무선 암호화와 적절한 IT 관행은 이를 방지할 수 있으며 유효한 QR 코드의 제한된 수명으로 인해 그러한 공격의 유용성이 제한됩니다.

이 시스템을 시연하기 위해 팀은 Raspberry Pi 단일 보드 컴퓨터, USB QR 코드 스캐너, 전자 잠금 장치를 전환할 수 있는 릴레이 모듈로 구성된 간단한 구현을 구성했습니다. 이는 오픈 소스 시스템이므로 TheIoTProject GitHub 페이지에서 코드와 세부 정보를 살펴볼 수 있습니다.