브라우저 저장소, 안전하게 쓰세요!
by DD
9개월 전
조회수 0
localStorage, sessionStorage, cookie의 차이점을 비교 분석
XSS 공격 취약점 및 HttpOnly 쿠키 설정의 중요성 강조
Refresh Token은 HttpOnly 쿠키, Access Token은 메모리에 저장하는 하이브리드 전략 제시
브라우저 저장소의 동작 원리
localStorage는 도메인 단위, sessionStorage는 탭 단위로 데이터를 저장한다. 쿠키는 서버로 자동 전송되며, HttpOnly 설정을 통해 XSS 공격을 방어한다. 따라서 각 저장소는 데이터의 생명주기와 보안 요구사항에 따라 선택해야 한다.
보안과 성능의 트레이드오프
localStorage는 용량 제한이 크지만, XSS 공격에 취약하다. 쿠키는 모든 요청에 포함되어 CSRF 공격에 노출될 수 있다. HttpOnly 쿠키는 XSS 방어에 효과적이나, SPA 환경에서는 Access Token 관리에 어려움이 있다.
실전 적용을 위한 하이브리드 전략
Refresh Token은 HttpOnly 쿠키에 저장하여 XSS 공격 위험을 줄인다. Access Token은 sessionStorage 또는 메모리에 저장하여 CSRF 공격을 방지한다. localStorage는 사용자 설정 저장에 활용하며, JSON.stringify와 JSON.parse를 통해 객체를 저장한다.