피드로 돌아가기
Protecting Keycloak Auth with Proof of Work
Dev.toDev.to
Security

Argon2id PoW 도입으로 GPU 기반 Brute-force 공격 비용 극대화

Protecting Keycloak Auth with Proof of Work

Mr. Buch2026년 5월 6일4intermediate

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. 사용자 경험 저하 방지를 위해 기본 난이도와 공격 징후 시 적용할 최대 난이도를 분리하여 설정

원문 읽기