* 이전 포스팅의 시리즈입니다.
3. RefreshToken Rotation
- RefreshToken Rotation은 RefreshToken 의 보안 취약점을 최소화하는 기법입니다.
- 만약 RefreshToken가 탈취되었다면, 서버는 RefreshToken 사용자가 악의적인 사용자인지 식별할 수 없습니다.
- RefreshToken Rotation은 이러한 취약점을 보완하고자 도입되었습니다.
- 클라이언트가 새로운 AccessToken을 요청할 때마다 RefreshToken도 함께 새로 발급해주는 방식을 말합니다
- RefreshToken를 통해 AccessToken를 새로 발급받을 경우
- 만약 AccessToken을 요청할 때마다 RefreshToken을 새로 발급하게 되면
- 공격자가 RefreshToken를 새로 발급 받고 사용자가 이전 RefreshToken로 AccessToken를 요청할 경우
- 서버에 저장된 RefreshToken와 요청자의 RefreshToken간의 불일치가 발생합니다.
- 이러한 경우 서버는 RefreshToken이 노출되었다 판단하고 기존의 RefreshToken을 지웁니다
- 서버는 새로운 RefreshToken을 생성하여 저장소에 저장합니다.
- 불일치할 경우 서버는 클라이언트에게 로그인 창으로 리다이렉트 시킵니다.
'Spring > Spring Security' 카테고리의 다른 글
[Spring Security] 4-1. 보안: CSRF (0) | 2023.10.06 |
---|---|
[Spring Security][KoLiving] 4-5. BlackList Token (0) | 2023.10.03 |
[Spring Security][KoLiving] 4-3. RefreshToken (2) | 2023.10.03 |
[Spring Security][KoLiving] 4-2. JwtProvider (2) | 2023.10.03 |
[Spring Security][KoLiving] 4-1. JwtAuthenticationFilter (0) | 2023.10.03 |