기술 노트/학습 노트

세션 기반 인증 vs 토큰 기반 인증: 차이점과 사용 사례

rexondex 2025. 4. 15. 11:42

세션 기반 인증 vs 토큰 기반 인증

세션 기반 인증 vs 토큰 기반 인증

세션 기반 인증과 토큰 기반 인증은 웹 애플리케이션에서 사용자를 식별하고 권한을 관리하는 두 가지 주요 방식입니다. 작동 방식과 특징에 뚜렷한 차이가 있으며, 특정 상황에 더 적합한 방식이 있습니다.


1. 작동 방식

세션 기반 인증 (Session-based Authentication):

  • 사용자 인증 성공 시, 서버는 사용자 정보를 저장하는 세션(Session)을 생성하고 고유한 세션 ID를 발급합니다.
  • 세션 ID는 쿠키(Cookie)를 통해 클라이언트에게 전달됩니다.
  • 이후 요청 시 클라이언트는 쿠키를 통해 세션 ID를 서버에 전송하여 인증 상태를 유지합니다.
  • 로그아웃 시 서버는 해당 세션을 파기합니다.

토큰 기반 인증 (Token-based Authentication):

  • 사용자 인증 성공 시, 서버는 사용자 정보를 담는 토큰(Token) (주로 JWT)을 생성하여 클라이언트에게 전달합니다.
  • 토큰은 클라이언트 측 저장소 (Local/Session Storage)에 저장됩니다.
  • 인증이 필요한 요청 시 클라이언트는 Authorization 헤더에 토큰을 담아 전송합니다 (Bearer 스키마).
  • 서버는 수신된 토큰의 유효성을 검증하여 사용자를 인증합니다.
  • 로그아웃은 클라이언트 측에서 토큰을 제거하는 방식으로 이루어집니다.

2. 주요 차이점

특징 세션 기반 인증 토큰 기반 인증
상태 관리 서버 상태 유지 (Stateful) 서버 상태 비유지 (Stateless)
저장 위치 서버 (메모리, 데이터베이스) 클라이언트 측 저장소
전송 쿠키 (자동 전송) Authorization 헤더 (명시적 전송)
확장성 수평 확장 제약 발생 가능 (세션 공유) 수평 확장 용이
보안 CSRF 취약성 존재 CSRF 방어에 유리 (토큰 자체 보안)
플랫폼 웹 브라우저에 최적화 다중 플랫폼 지원 용이
로그아웃 서버 측 세션 파기 클라이언트 측 토큰 제거

3. 사용 사례

세션 기반 인증:

  • 단일 서버 환경: 인프라 관리가 단순합니다.
  • 엄격한 보안 요구 사항: 서버에서 세션 생명 주기 및 속성을 중앙 집중적으로 관리합니다.
  • 실시간 상태 추적: 서버에서 사용자 연결 상태 등을 지속적으로 관리해야 하는 경우 (제한적).

예시:

  • 내부 관리 시스템, 전통적인 웹 쇼핑몰 (단일 서버 또는 확장이 제한적인 환경).

토큰 기반 인증:

  • 분산 시스템 (마이크로서비스): 각 서비스가 독립적으로 토큰 유효성을 검증합니다.
  • 다중 플랫폼 지원 (웹, 모바일 앱): 일관된 인증 방식 제공.
  • API 서버: RESTful API의 Stateless 특성에 부합합니다.
  • 높은 확장성: 서버 확장에 용이합니다.

예시:

  • 소셜 로그인 (OAuth 2.0), 최신 웹 애플리케이션 API, 모바일 애플리케이션 인증, 싱글 페이지 애플리케이션 (SPA).

결론

세션 기반 인증과 토큰 기반 인증은 상호 보완적인 측면도 존재하나, 애플리케이션의 특성, 규모, 보안 요구 사항, 확장성 및 클라이언트 환경을 종합적으로 고려하여 최적의 인증 방식을 선택하는 것이 중요합니다. 현대 웹 개발에서는 분산 환경 및 다양한 클라이언트 지원의 필요성 증대로 인해 토큰 기반 인증 방식이 널리 채택되는 추세입니다.

참고 자료

 

Authentication - OWASP Cheat Sheet Series

Authentication Cheat Sheet Introduction Authentication (AuthN) is the process of verifying that an individual, entity, or website is who or what it claims to be by determining the validity of one or more authenticators (like passwords, fingerprints, or sec

cheatsheetseries.owasp.org