피드로 돌아가기
Securing Apps: Password Hashing, RBAC, OAuth, and OpenID Connect
Dev.toDev.to
Security

bcrypt 및 OAuth 2.0 도입을 통한 Credential 탈취 원천 차단 및 권한 제어 최적화

Securing Apps: Password Hashing, RBAC, OAuth, and OpenID Connect

Akash Kumar2026년 6월 28일27intermediate

Context

Plain text 저장 및 단방향 해싱의 취약점으로 인한 대규모 데이터 유출 사고 빈발. SHA-256 등 고속 해싱 알고리즘의 Rainbow Table 취약성과 Authentication-Authorization 구분 부재로 인한 Privilege Escalation 문제 발생.

Technical Solution

  • Salted Hashing 도입을 통한 동일 비밀번호의 서로 다른 Hash 값 생성 및 Rainbow Table 공격 무력화
  • bcrypt의 Cost Factor 조절을 통한 연산 속도 의도적 지연으로 Brute-force 공격 비용 증가
  • Authentication(신원 확인)과 Authorization(권한 검증)의 논리적 분리를 통한 정밀한 접근 제어 설계
  • RBAC(Role-Based Access Control) 적용으로 사용자 역할 기반의 API 접근 권한 체계 구조화
  • OAuth 2.0 및 OpenID Connect 도입을 통한 제3자 인증 위임 및 Access Token 기반의 세션 관리 최적화
  • Idempotency 및 Token Validation 로직 구현을 통한 Session Hijacking 리스크 최소화

1. 비밀번호 저장 시 SHA 계열 대신 bcrypt, Argon2 등 전용 해싱 함수 사용 여부 검토

2. 각 사용자별 고유 Salt 적용 및 적절한 Work Factor 설정 확인

3. 모든 API 요청 단계에서 Authentication 이후 Authorization 체크 로직이 누락되었는지 전수 조사

4. 외부 서비스 연동 시 사용자 패스워드 직접 수집 대신 OAuth

2.0 Standard Flow 적용

원문 읽기