# JWT 토큰 보안 구현 과정과 문제 해결
### 소개
JWT 인증 시스템 구현 과정에서 토큰 탈취 취약점 해결 및 보안 강화 방안
### 원인
Access/Refresh 토큰 탈취 시 장기적 시스템 불법 접근 가능성 존재
### 해결방안
1. RTR(Refresh Token Rotation) 도입
2. Redis에 토큰 저장 및 관리
3. Access Token 만료 전 재발급 시도 시 무효화
4. 다중 플랫폼 로그인 처리 로직 구현
### 해당 해결방안을 쓴 이유
토큰 탈취 위험 최소화와 보안 강화를 위해 stateless 원칙보다 보안을 우선시함
### 구현 과정 문제점
1. doFilter 중복 실행 (쿠키 문자열 오류)
2. JWT와 Redis 만료 시간 단위 불일치 (millisecond vs second)
3. 다중 로그인 시 Refresh Token 관리 복잡성
### 결과
효과적인 토큰 보안 시스템 구현 및 Spring Security, Redis에 대한 이해 심화
### 키워드
- JWT 보안
- Refresh Token Rotation
- Redis 토큰 저장
- 토큰 만료 관리
- 다중 플랫폼 인증
JWT 인증 방식에서는 두 가지 토큰을 사용하는 구조로 설계되어 있다. 첫 번째는 사용자의 서비스 이용을 위한 Access Token이며, 두 번째는 Access Token 재발급을 위한 Refresh Token이다. 이 두 토큰은 각각 다른 목적과 생명주기를 가지고 있으며, 시스템 보안에 있어 중요한 역할을 담당한다.