ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JWT(Json Web Token)에 대해 알아보자!
    Web 2025. 4. 22. 13:42
    728x90
    반응형

    JWT(Json Web Token)의 장단점과 사용 시 주의할 점

    JWT(Json Web Token)는 웹 인증 및 정보 전달에 자주 사용되는 토큰 기반 인증 방식입니다. 특히 무상태(Stateless) 인증 방식으로 백엔드 서버의 부담을 줄여주는 장점이 있어, 많은 현대 웹 애플리케이션에서 사용되고 있습니다.

    1. JWT란?

    JWT는 Header.Payload.Signature 구조를 가진 문자열로, 주로 사용자의 인증 정보를 담아 서버-클라이언트 간 전달하는 데 사용됩니다.

    eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
    eyJ1c2VyX2lkIjoxMjMsInJvbGUiOiJ1c2VyIn0.
    dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
    • Header: 알고리즘 정보 (예: HS256)
    • Payload: 사용자 정보(Claims)
    • Signature: 토큰 위변조 방지를 위한 서명

    2. JWT의 장점

    • 무상태 인증: 서버는 세션 정보를 저장하지 않아도 됨
    • 확장성 우수: 마이크로서비스 아키텍처에 적합
    • 전송 효율성: JSON 기반이므로 가볍고 빠름
    • 자체 정보 포함: 사용자 정보를 직접 담을 수 있음
    • 크로스 플랫폼 호환: 다양한 언어와 환경에서 사용 가능

    3. JWT의 단점

    • 만료 전 강제 로그아웃 어려움: 토큰은 유효기간 내 사용 가능
    • 토큰 탈취 시 위험: 토큰이 유출되면 악용 가능
    • Payload 암호화되지 않음: 민감 정보 저장 주의
    • 길이 증가 문제: Base64 인코딩으로 인해 길이가 길어질 수 있음

    4. JWT 사용 시 주의할 점

    • HTTPS 필수: 토큰 전송 시 반드시 HTTPS 사용
    • 만료 시간 설정: 적절한 토큰 수명 설정으로 보안 강화
    • 토큰 저장 위치 신중히 선택: LocalStorage 보다는 HttpOnly 쿠키 권장
    • 리프레시 토큰 전략 적용: 액세스 토큰 만료 후 재발급 구조 필요
    • 민감 정보 저장 금지: Payload는 암호화되지 않으므로 주의

    5. 결론

    JWT는 세션 저장 없이 인증을 처리할 수 있어 확장성과 성능 측면에서 많은 장점을 가지고 있습니다. 하지만 그만큼 보안적 고려가 필수이며, 잘못 사용할 경우 큰 보안 취약점이 될 수 있으므로, 사용 시 위의 주의사항을 반드시 숙지해야 합니다.

    728x90
    반응형

    댓글

Designed by Tistory.