Chrome 80 쿠키 SameSite 정책이 변경이슈
카테고리: CS
2020.2.4 구글 크롬(Google Chrome) 80버전으로 업데이트되면서 크롬에 새로운 쿠키 정책이 적용되었다.
내용은 Cookie의 SameSite 속성의 기본 값이 “None”에서 “Lax”로 보안등급을 상향 조절하는 것이다.
일단 이슈설명에 앞서 SameSite 쿠키에 대해 알아보자
SameSite 쿠키는 앞서 언급한 서드 파티 쿠키의 보안적 문제를 해결하기 위해 만들어진 기술이다.
크로스 사이트(Cross-site)로 전송하는 요청의 경우 쿠키의 전송에 제한을 두도록 합니다.
SameSite 쿠키의 정책으로 None, Lax, Strict 세 가지 종류를 선택할 수 있고, 각각 동작하는 방식이 다르다.
- None: SameSite 가 탄생하기 전 쿠키와 동작하는 방식이 같습니다. None으로 설정된 쿠키의 경우 크로스 사이트 요청의 경우에도 항상 전송된다.
즉, 서드 파티 쿠키도 전송된다. 따라서, 보안적으로도 SameSite 적용을 하지 않은 쿠키와 마찬가지로 문제가 있는 방식이다. - Strict: 가장 보수적인 정책이다. Strict로 설정된 쿠키는 크로스 사이트 요청에는 항상 전송되지 않는다. 즉, 서드 파티 쿠키는 전송되지 않고, 퍼스트 파티 쿠키만 전송된다.
- Lax: Strict에 비해 상대적으로 느슨한 정책이다. Lax로 설정된 경우, 대체로 서드 파티 쿠키는 전송되지 않지만, 몇 가지 예외적인 요청에는 전송된다.
구글 Chrome SameSite 이슈에 대하여
SameSite 속성의 기본 값이 “None”에서 “Lax”로 변경되면 각종 문제가 일어날 수 있다.
사용자가 사이트를 이용하다가 갑자기 쿠키가 날아가는 경우가 생길 수 있다는 점이다. 대표적인 예가 로그인 정보이다.
많은 웹사이트들이 로그인을 한 후 Cookies를 사용해 유저의 신원을 확인하여 페이지를 전환해도 재인증을 하지 않아도 되도록 하고 있는데
SameSite 이슈로 쿠키값을 찾지 못하면 로그인시에만 확인할 수 있는 페이지 접근시 다시 로그인페이지로 이동될 것 이다.
왜 SameSite = None에서 Lax로 변경하는가?
SameSite의 기본 설정값을 None에서 Lax로 변경하는 이유는 기본적으로 CSRF(Cross site request forgery)공격을 막기 위함이다.
CSRF란 사이트 간 요청 위조라는 뜻의 웹사이트 취약점 공격 방식 중 하나로, 사용자의 의지와는 관련 없이 공격자가 의도한 행위를 웹사이트에
요청하는것을 의미한다. 대표적으로 2008년도에 옥션이 이 공격으로 개인정보 유출 피해를 입고 2013년 네이버 역시 피해를 입었다.
쿠키의 미래
크로미엄 블로그의 Building a more private web: A path towards making third party cookies obsolete라는 글에는 다음과 같은 내용이 있다.
… and we have developed the tools to mitigate workarounds, we plan to phase out support for third-party cookies in Chrome.
크롬에서는 장기적으로 서드 파티 쿠키에 대한 지원을 단계적으로 제거할 예정이라는 말이다.
결국 미래에는 모든 쿠키가 SameSite=Strict로 설정된 것처럼 동작하게 된다는 의미인데 현재로서는 퍼스트 파티 쿠키가
서드 파티 쿠키의 역할을 모두 대체할 수 없는 상태이다. naver가 naver.dev 와 naver.io 이 두가지 도메인으로 운영된다면,
서로 다른 도메인으로 인식할 것이고, 서드 파티 쿠키가 전송되지 않는다면 이 두 도메인이 통신 할 때마다 전송되지 않는 쿠키로 인해 문제가 생길 것이다.
구글은 이 문제를 해결하기 위해서 First-Party Sets라는 표준을 제안했다. First-Party Sets는 여러개의 도메인을
동일한 사이트로 다룰 수 있도록 만드는 기술입니다. naver.dev에서 “naver.io도 동일한 서비스를 제공중” 이라고 브라우저한테 알려주면 브라우저는
이후에는 그 도메인을 같은 사이트로 관리하는 것이다. 하지만 아직 표준으로 합의되지 않았고 반대도 많다고 한다.
앞으로는 점점 쿠키사용이 까다로울것이다. 지금부터라도 서드 파티 쿠키를 사용불가라고 생각하고 개발을 진행하면 좋을것 같다.
댓글남기기