피드로 돌아가기
Dev.toSecurity
원문 읽기
WASM 기반 100% Offline Aadhaar QR 디코더 구현으로 개인정보 유출 원천 차단
I built an Aadhaar QR reader that works 100% offline — no server, no data leak
AI 요약
Context
기존 디지털 Aadhaar 검증 도구들이 서버 기반으로 동작하며 발생하는 민감한 생체 ID 데이터의 무분별한 수집 및 유출 리스크 존재. 브라우저 내 로컬 처리만으로 데이터를 검증하는 완전한 Client-side 아키텍처 요구됨.
Technical Solution
- jsQR을 활용한 Raw RGBA 픽셀 데이터 분석 및 Base-10 형태의 대규모 십진수 문자열 추출
- Big-integer 연산을 통한 Decimal to Uint8Array 변환으로 UIDAI 바이너리 페이로드 복원
- 외부 라이브러리 없이 Native Web API인 DecompressionStream을 활용한 Gzip 압축 해제
- Browser 미지원 포맷인 JPEG 2000 디코딩을 위해 Emscripten으로 컴파일된 openjpeg.js WASM 모듈 도입
- DataView와 TextDecoder를 이용한 바이너리 스키마 기반의 고정 위치 필드 파싱
- Vanilla ES Modules 기반의 Zero-dependency 설계를 통한 런타임 오버헤드 및 외부 텔레메트리 제거
실천 포인트
1. 브라우저 Native API(DecompressionStream 등) 지원 범위를 먼저 확인하여 외부 라이브러리 의존성 최소화
2. 브라우저가 지원하지 않는 바이너리 코덱 처리 시 C/C++ 라이브러리를 WASM으로 포팅하여 Client-side 성능 최적화
3. 민감 데이터 처리 시스템 설계 시 Network Call을 물리적으로 제거한 Stateless 아키텍처 검토