피드로 돌아가기
Dev.toSecurity
원문 읽기
Cookies 배제한 Proof-of-Work 기반 7KB 경량 CAPTCHA 설계
CAPTCHA without cookies: a proof-of-work approach
AI 요약
Context
reCAPTCHA 등 기존 솔루션은 사용자 식별 및 Risk Scoring을 위해 Cross-site Cookies와 브라우저 메타데이터 수집에 의존함. 이 구조는 GDPR 준수를 위한 규제 비용을 증가시키며 데이터 전송에 따른 법적 리스크를 유발하는 한계가 있음.
Technical Solution
- Proof-of-Work(PoW) 메커니즘 도입을 통한 상태 저장 없는 인증 체계 구축
- Server-side Cache(Redis)에 Challenge ID 기반 2분 TTL의 세션 상태를 관리하여 Cookie 의존성 제거
- SHA-256(seed || counter) 연산을 통한 클라이언트 측 CPU 리소스 소모 방식으로 봇 공격 비용 증대
- IP 주소와 Server-secret-salt를 조합한 SHA-256 해싱 및 Pseudonymisation 적용으로 개인정보 저장 최소화
- 요청 빈도에 비례하여 PoW 난이도(Difficulty Target)를 동적으로 조절하는 Adaptive Difficulty 시스템 설계
- Gzipped 7KB 수준의 초경량 위젯 번들링을 통한 프론트엔드 오버헤드 최적화
실천 포인트
1. 규제 준수가 필요한 환경에서 Third-party Cookie 기반 인증 대체제 검토
2. 단순 Rate Limiting을 넘어 PoW를 통한 공격 비용(CPU Cost) 증가 전략 적용
3. 개인정보 저장 대신 Salted Hashing을 통한 Pseudonymisation 구현 여부 확인
4. Stateless한 프로토콜 설계를 통해 Compliance 오버헤드 제거