피드로 돌아가기
Dev.toSecurity
원문 읽기
Argon2id PoW 도입으로 GPU 기반 Brute-force 공격 비용 극대화
Protecting Keycloak Auth with Proof of Work
AI 요약
Context
IP 기반 Rate Limiting의 뭉뚱그린 차단 방식과 GPU를 활용한 고속 SHA-256 해싱 공격으로 인한 인증 엔드포인트 취약성 노출. 단순 요청 제한만으로는 분산된 봇넷의 Credential Stuffing 공격을 경제적으로 차단하기 어려운 구조적 한계 존재.
Technical Solution
- Memory Hardness 특성을 가진 Argon2id 알고리즘 채택을 통한 GPU 병렬 연산 효율 저하 및 공격 ROI 제거
- Honeypot 필드 배치를 통한 단순 스크래퍼의 즉각적 필터링 및 서버 자원 낭비 방지
- Timestamp 기반의 Solve-time 검증 로직을 적용하여 오프라인 사전 계산 및 즉각 제출 시도 차단
- 요청 빈도에 따라 Difficulty 레벨을 동적으로 상향하는 Adaptive Challenge 구조 설계
- 브라우저의 UI 응답성 확보를 위한 SHA-256 1차 처리와 서버의 보안 검증을 위한 Argon2id 2차 검증으로 역할 분리
- Keycloak SPI 기반의 확장 구조를 통해 별도 테마 수정 없이 인증, 등록, 비밀번호 재설정 흐름에 통합
실천 포인트
1. GPU 기반 병렬 공격이 예상되는 엔드포인트에 Memory Hard 알고리즘 검토
2. 단순 봇 차단을 위한 Honeypot 필드 및 최소 해결 시간(Minimum solve time) 검증 로직 추가
3. 사용자 경험 저하 방지를 위해 기본 난이도와 공격 징후 시 적용할 최대 난이도를 분리하여 설정