- Published on
JWT와 세션의 차이는 암호화나 성능이 아니라 인증 상태를 서버에 둘 것인가 클라이언트에 둘 것인가 하나입니다. 이 선택에서 즉시 무효화 불가능이라는 JWT의 근본 약점이 따라 나오고, 짧은 만료와 리프레시 토큰과 블랙리스트라는 대응책이 왜 결국 상태를 다시 불러들이는지가 설명됩니다. 토큰 저장 위치를 두고 벌어지는 localStorage의 XSS 노출과 httpOnly 쿠키의 CSRF 노출을 SameSite 속성까지 포함해 비교하고, alg none과 서명 검증 누락 같은 고전적 구현 취약점을 코드로 짚습니다. 세션이 실제로 확장에 문제가 되는 시점은 대부분의 예상보다 훨씬 늦다는 계산과, 대부분의 웹 앱에는 세션 쿠키가 낫다는 결론까지 정리했습니다.