25학년도 2학기 프로젝트 주제를 QR코드와 큐싱 관련해서 주제를 정하기로 해서, 사전 조사를 위한 포스팅을 한번 작성하게 되었습니다. QR코드는 편리함으로 최근 사용하는 분야가 점점 넓어지고 보편적으로 되고 있는데, 분명히 정보보안 측면에서 취약할 수 밖에 없다고 생각하고 큐싱과 같은 범죄에 사람들이 경계의식이 거의 없다고 생각해서 주제로 정하게 되었습니다.
QR 코드는 Quick Response의 약자로서, 2차원 바코드를 의미하고 있습니다.
바코드는 한쪽 방향으로만 숫자 정보가 저장 가능한 반면 QR코드는 가로 세로로 2차원 형태를 가져 최대 4296가지 문자를 담을 수 있습니다.

위의 사진은 QR코드의 구성입니다. 위치심볼, 버전 정보, 포맷 정보, 정렬 심볼, 데이터 및 오류 정정 키로 구성되어 있습니다.
QR코드는 일반 사이트에 가면 손 쉽게 생성하여 이미지, 링크 등의 정보를 담을 수 있습니다.


스캔 레벨부터 디자인까지 원하는대로 생성할 수 있습니다.
QR코드에 ECC레벨(오류 정정 레벨)이 있는데 L(=7%),M(=15%),Q(=25%),H(=35%)가 있으며 숫자가 높아질 수록 복원력(*손상되어도 인식 가능)이 올라가는데 수용 용량이 내려갑니다.
QR코드는 흰색칸이 0 검은색 칸이 1로 저장이 되어서 저장이 된 형태입니다.

https://poiri3r.tistory.com/의 링크를 ASCII로 보면 다음과 같습니다.
68 74 74 70 73 3A 2F 2F 70 6F 69 72 69 33 72 2E 74 69 73 74 6F 72 79 2E 63 6F 6D 2F
이 이진수를 8비트로 변환한 데이터 비트를 만든 뒤
01101000 01110100 01110100 01110000 ...
패딩 바이트를 번걸아서 채우고 오류 정정 코드(ECC)를 이어서 코드를 만듭니다.
이 비트열을 QR 구조에 맞춰서 배치하면 완성 됩니다.
QR코드에서는 고정된 패턴이 몇개 있는데
Finder Pattern, Alignment Pattern, Timing Pattern, Format Information, Version information 이 고정 패턴으로 들어있습니다.

먼저 Finder Pattern은 왼쪽 위, 오른쪽 위, 왼쪽 아래의 7*7 정사각형입니다.
스캔 시 방향.위치 인식용입니다.

Alignment Pattern입니다. 중앙 근처의 5x5모듈 크기의 작은 패턴입니다.
스캔될 때 생기는 왜곡과 기울어짐을 보정하는 역할을 하고 있습니다.

Timing Pattern입니다. 행 6번과 열 6번 전체입니다. Finder 패턴 사이를 연결하는 한 줄로 검정/흰색이 번갈아서 반복되는 1픽셀의 줄입니다.
QR 리더기가 스캔할 때, Timing 패턴을 이용해 각 모듈(네모칸)의 정확한 크기를 계산해서, 왜곡,축소, 확대 여부를 보정하는 기준선 역할을 합니다.

Format Information은 15비트의 정보로 중복 저장되어 있어 한쪽이 가려져도 복구가 가능합니다.
이 비트들은 오류 보정 수준(ECC Level)과 마스크 패턴 번호를 가지고 있으며 나머지는 BCH 오류 검출 코드로 구성됩니다.


마지막으로 Version Information입니다. Version Information은 18비트로 버전 번호 6비트와 BCH 오류 검출 코드 12비트로 들어있습니다. 버전 7 이상에만 존재합니다.두 군데에 중복해서 저장합니다.
여기까지 QR코드의 기능 패턴 혹은 고정 패턴이라고 하는 정보에 대해 알아봤습니다.
프로젝트때문에 처음 조사를 해보는데 생각보다 공부할게 엄청 많으면서도 자료가 풍부한 내용은 아니라 조금 어려운 것 같습니다.
다음에는 정보가 담기는 과정에 대해 조사해보겠습니다.
읽어주셔서 감사합니다~

https://scienceon.kisti.re.kr/srch/selectPORSrchArticle.do?cn=JAKO201225736641168
[논문]QR 코드의 보안 취약점과 대응 방안 연구
최근 스마트폰의 보급 확대로 인해 QR 코드의 활용이 급속히 확산되고 있다. 2차원 바코드의 일종인 QR 코드는 간단한 URL이나 명함 등에 폭넓게 사용되고 있으며, 특히 기업의 홍보 수단으로 많이
scienceon.kisti.re.kr
(*포스팅에 사용된 사진 출처입니다)
'프로젝트' 카테고리의 다른 글
| [텀프로젝트] 파일 압축&암호화 유틸리티 개발 - 1 ( 파일 선택 구현 ) (1) | 2025.12.11 |
|---|---|
| [프로젝트]언후킹 과정 상세 분석 (0) | 2025.10.27 |
| Conti-Ransomware 분석 (0) | 2025.10.14 |
| dropper(js확장자) 분석 (edward-social-lactose-zebra) (1) | 2025.09.18 |
| 정보 보안 침해 사고 (0) | 2025.09.10 |