Programming/SpringSecurity 2

[Security] JWT 기반 인증 vs 세션 기반 인증

JWT 기반 인증과 세션 기반 인증은 각각 다른 방식으로 사용자의 인증 정보를 관리합니다. 아래 표를 통해 주요 차이점을 정리하고, 각각의 장단점을 설명하겠습니다.🔹 JWT 기반 인증 vs. 세션 기반 인증 비교표비교 항목 JWT 기반 인증 세션 기반 인증인증 방식토큰 (JWT) 기반 인증서버 세션 저장 방식저장 위치클라이언트 (로컬 스토리지, 쿠키, 메모리)서버 메모리 또는 DB상태(State)Stateless (무상태)Stateful (유상태)서버 부담낮음 (세션 저장 필요 없음)높음 (서버에 세션 저장 필요)보안 방식서명된 토큰 검증 (HS256, RS256 등)세션 ID 검증 (세션 쿠키)토큰 크기비교적 큼 (Base64 인코딩된 JSON)작음 (세션 ID만 저장)확장성 (Scalability)..

[Security] CSRF란?

❓ CSRF 비활성화가 필요한 이유는?http.csrf().disable(); 설정이 필요한 경우는 주로 Session 기반 인증이 아닌 JWT 또는 API 서버 환경일 때입니다.🔹 CSRF(교차 사이트 요청 위조)란?사용자가 로그인한 상태에서 공격자가 악의적인 요청을 보내 사용자의 권한으로 서버에서 특정 작업을 수행하도록 유도하는 공격 방식입니다.예를 들어, 사용자가 은행 웹사이트에 로그인한 상태에서 악성 스크립트가 특정 계좌로 송금 요청을 자동으로 보내는 경우가 CSRF 공격입니다.🔍 CSRF 비활성화가 필요한 경우REST API 서버에서 JWT 또는 OAuth2를 사용한 인증REST API 서버는 기본적으로 Stateless(무상태) 하기 때문에 CSRF 보호가 필요 없음.JWT나 OAuth2 ..