티스토리 뷰

WEB

[WEB] 구글 Chrome80 SameSite 이슈

에스파니아 2022. 8. 20. 16:09
728x90
반응형
개요
최근 사이트에 자사제품을 배포하면서, 사용자가 사이트를 이용하다가 iframe 을 통해 로그인 정보를 가지고 있는 쿠키를 호출 시, 쿠키값이 제대로 전달 되지 않는 이슈가 있었다. 해당 내용을 확인하던 중 구글 Chrome80 버전 부터 새로운 쿠키 정책이 적용 되었다는 사실을 발견하였다. Chrome80 버전 이전까지는 쿠키를 외부 사이트와 도메인 주소가 달라도 제한 없이 공유 할 수 있었지만, Chrome80 버전 이후 부터는 도메인 주소가 다를 경우 쿠키의 사용이 제한된다고 한다. 

도메인이 다른 쿠키의 경우와 도메인이 같은 쿠키의 경우

 

Chrome SameSite
위에서 변경된 크롬의 쿠키 정책은 SameSite 속성의 기본값이 변경된 것으로, SameSite 속성의 기본값이 'None' 에서 'Lax' 로 변경 되었다. 변경된 이유는 기본적으로 CSRF(Cross site request forgery) 공격을 막기 위함이고, 의도치 않은 정보 유출을 막기 위함이라고 한다. 

SameSite 속성

SameSite 는 'None', 'Lax', 'Strick' 이라는 3가지의 속성값이 있다.
허용 범위 쿠키 도메인
None 퍼스트 파티 쿠키
서드 파티 쿠키
동일 사이트
크로스 사이트
Lax 퍼스트 파티 쿠키
서드 파티 쿠키(Only Top Level Navigation) 
동일 사이트
안전한 HTTP 메서드 요청
EX) <a> , window.location.replace,
302 redirect
Strick 퍼스트 파티 쿠키 동일 사이트
 * 퍼스트 파티 쿠키 : 사용자가 접속한 페이지와 같은 도메인으로 전송하는 쿠키
 * 서드 파티 쿠키 : 사용자가 접속한 페이지와 다른 도메인으로 전송하는 쿠키

따라서, SameSite 속성 값이 'None' 인 경우, 동일 사이트에서 뿐만 아니라 사용자가 접속한 페이지와 다른 도메인으로 사이트 요청(크로스 사이트 요청) 을 하여도 쿠키가 항상 전송되며, 'Lax' 인 경우, 동일 사이트와 일부 크로스 사이트 요청 일 때만 쿠키가 전송된다. 속성 값이 'Strick' 인 경우, 서드 파티 쿠키는 전송 되지 않고 퍼스트 파티 쿠키만 전송 된다.

그러므로 SameSite 속성 기본값이 'Lax' 로 변경되었기 때문에 <iframce> 이나, <img> 태그를 이용한 http 요청은 'Navigation' 이라고 할 수 없으므로 쿠키가 제대로 전송되지 않고, <iframe> 안에서 페이지를 이동하는 경우는 'Top Level' 이라고 할 수 없으므로 쿠키가 전송되지 않았다는 것을 알 수 있었다.
728x90
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함