'JWT를 localStorage에 저장하지 말라'고 하는 이유와 쿠키(Cookie) 회귀까지의 기술 트렌드 정리

일본의 웹 보안 전문가 도쿠마루 히로시(徳丸浩)의 분석을 통해, 지난 20년간의 웹 세션 트렌드가 JWT(RFC 7519)에서 다시 전통적인 쿠키(Cookie) 방식으로 회귀하는 역사를 4단계로 분석합니다. 2017년 사파리의 ITP 규제와 2024년 'OAuth 2.0 Security BCP(RFC 9700)' 등의 영향으로, 최근 웹 업계는 보안 취약점이 큰 localStorage 대신 BFF(Backend For Frontend)를 이용한 안전한 쿠키 세션 아키텍처를 표준으로 채택하고 있습니다.

AI 요약

일본의 저명한 웹 보안 전문가인 도쿠마루 히로시의 X(구 트위터) 포스팅을 기점으로 지난 20년간의 웹 세션 관리 트렌드 변화를 분석합니다. 과거 2010년대 초반까지는 서버 사이드 렌더링 환경에서 '쿠키(Cookie)'를 통한 세션 관리가 표준이었으나, React 및 SPA(싱글 페이지 애플리케이션)가 대중화되고 2015년 JWT(RFC 7519) 스펙이 도입되면서 클라이언트 측 localStorage에 토큰을 저장하는 방식이 주류로 떠올랐습니다. 하지만 localStorage는 XSS(크로스 사이트 스크립팅) 공격 시 토큰이 쉽게 탈취되는 심각한 보안 결함을 가지고 있었고, 2017년 사파리 ITP 규제와 2020년 크롬의 SameSite=Lax 기본값 적용 등으로 인해 크로스 오리진 쿠키 활용 또한 어려워졌습니다. 이에 업계는 브라우저 영역에서 민감한 토큰을 완전히 격리하기 위해 BFF(Backend For Frontend)를 세우는 대안을 고안해 냈습니다. 결국 BFF 아키텍처가 구축되면 프론트엔드와 BFF 간에는 굳이 JWT를 쓸 필요 없이 HttpOnly 쿠키 세션을 사용하게 되므로, 기술 트렌드가 다시 전통적인 안전한 쿠키 방식으로 완전히 회귀했음을 시사합니다.

핵심 인사이트

  • 도쿠마루 히로시(徳丸浩)의 세션 관리 4단계론: 동일 오리진 쿠키 세션 관리에서 사티파티 쿠키 규제로 인한 토큰(localStorage) 전송 방식으로 변했다가, XSS 보안 위험으로 BFF를 도입한 후, 결국 다시 전통적인 쿠키 세션으로 돌아온 흐름을 일목요연하게 정리했습니다.
  • 2024년 OAuth 2.0 Security BCP (RFC 9700) 공식화: 올해 표준화된 보안 가이드라인에 따라 SPA에서의 암묵적 흐름(Implicit Flow)이 공식 비권장되었으며, 최신 트렌드는 브라우저 내에 원시 토큰을 저장하지 않는 방향으로 고착화되고 있습니다.
  • localStorage의 보안 한계: HttpOnly 속성을 부여할 수 없어 자바스크립트로 접근이 가능한 localStorage는 악성 스크립트 실행(XSS) 환경에서 보안 가드가 전무하다는 치명적 약점을 가집니다.
  • 브라우저 규제 정책의 영향: 2017년 사파리의 ITP(Intelligent Tracking Prevention) 도입과 2020년 구글 크롬의 SameSite 쿠키 정책 변화가 클라이언트 중심 세션 설계의 종말을 이끌었습니다.

주요 디테일

  • 2014년 CORS의 W3C 권고안 승인: XMLHttpRequest.withCredentials = true 설정을 통해 크로스 오리진 환경에서도 쿠키 송신이 가능해지며 한동안 분리형 SPA에서 쿠키 세션이 활발히 쓰였습니다.
  • 2015년 JWT(RFC 7519) 및 IDaaS 보급: 무상태(Stateless) 아키텍처가 환영받던 시절, Auth0 등의 플랫폼과 마이크로서비스 유행에 힘입어 브라우저 단에서 JWT를 발급받아 헤더에 싣는 방식이 급속도로 전파되었습니다.
  • 2019년 OAuth 2.0 Browser-Based Apps 가이드라인: 웹 브라우저 메모리나 로컬 저장소에 토큰을 직접 두는 행위의 위험성을 경고하고, BFF(Token-Mediating Backend) 패턴의 기초 이론을 확립했습니다.
  • Next.js API Routes 및 풀스타ack의 기여: Next.js 9~10 버전부터 포함된 자체 API 기능 덕분에, 추가적인 백엔드 인프라 구축 비용 없이 손쉽게 BFF 아키텍처를 구현하는 경로가 열렸습니다.
  • 2023년 이후 서버 컴포넌트(RSC) 활성화: Next.js App Router, Remix 등 최신 웹 프레임워크가 서버 중심 설계를 채택하면서 자연스럽게 쿠키 기반 인증을 구현하기가 훨씬 용이해졌습니다.

향후 전망

  • BFF가 프론트엔드 설계의 기본 뼈대로 정착: 클라이언트가 직접 외부 API 서버와 JWT를 주고받는 위험한 설계는 소멸하고, 프론트엔드 전용 백엔드 레이어를 갖춘 BFF가 업계 표준 아키텍처로 완전히 자리를 잡을 것입니다.
  • 쿠키 기반 보안 관리의 고도화: 토큰 보관 및 갱신(Refresh Token)과 관련된 복잡한 브라우저 자바스크립트 로직이 대폭 삭제되고, 서버 측 쿠키 및 세션 제어 기술을 중심으로 보안성이 한층 탄탄하게 강화될 전망입니다.
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...