으스스한 쿠키 금지

쿠키는 신선한 것이 가장 좋습니다. 오래된 쿠키 없이 으스스한 계절을 즐길 수 있는 최신 레시피를 알려 주시겠어요?

쿠키는 신선한 것이 가장 좋습니다. 오래된 쿠키 없이 으스스한 계절을 즐길 수 있는 최신 레시피를 알려 주시겠어요?

Google은 웹 플랫폼 전반에서 서드 파티 쿠키에 대한 지원을 단계적으로 중단하고 있습니다. 이는 크로스 사이트 추적을 처리하는 데 있어 중요한 이정표이지만 꽤 긴 여정의 일부입니다. 지금까지 Google이 얼마나 발전해 왔으며 앞으로 어떤 기술이 개발될지 살펴봅시다.

표면에서 쿠키는 브라우저와 서버 간에 전송되는 간단한 키-값 저장소를 제공합니다. 이렇게 하면 사이트에서 환경설정 저장(theme=bats) 또는 로그인한 사용자의 세션 ID 저장과 같은 유용한 기능을 제공할 수 있습니다.

theme=bats 또는 fav_pumpkins=us-nyc와 같이 간단한 값을 갖는 서드 파티 쿠키

해당 쿠키가 설정된 사이트에서 사용되는 경우 이를 퍼스트 파티 쿠키라고 합니다. 쿠키가 설정된 사이트가 아닌 다른 사이트의 일부로 사용되는 경우를 서드 파티 쿠키라고 합니다. 예를 들어 theme=bats 쿠키가 설정된 사이트를 방문하면 퍼스트 파티 쿠키가 되지만, 다른 사이트의 일부로 iframe 또는 기타 크로스 사이트 리소스에 포함되어 있으면 서드 파티 쿠키가 됩니다.

서드 파티 쿠키의 문제는 쿠키가 크로스 사이트 추적을 사용할 수 있다는 것입니다. 공유 서비스는 테마와 같은 항목을 설정하는 대신 전체 식별자를 저장할 수 있습니다. 그러면 공유 서비스 쿠키가 포함된 여러 사이트를 탐색할 때 동일한 식별자가 전송됩니다. 즉, 하나의 서비스가 이러한 사이트 간의 활동을 관찰하고 연결할 수 있습니다.

고유 ID를 가진 서드 파티 쿠키로, 서드 파티 사이트가 웹에서 사용자를 추적할 수 있게 해줍니다.

기본적으로 퍼스트 파티 쿠키

우리는 이미 이 여정에서 진전을 이루었습니다! 이전에는 일반 쿠키를 설정하기만 하면 동일한 사이트 또는 크로스 사이트 등 모든 컨텍스트에서 theme=pumpkins가 전송됩니다. 대부분의 사이트는 동일한 사이트 컨텍스트에서만 쿠키가 전송되기를 원합니다. 이는 쿠키의 SameSite 속성을 통해 제어할 수 있습니다. 예를 들면 다음과 같습니다.

Set-Cookie: theme=bats; SameSite=Lax

리소스가 최상위 사이트와 일치하는 경우에만 브라우저에 쿠키를 전송하도록 지시합니다. 즉, 사이트에서 퍼스트 파티 쿠키를 원하는 시점을 지정해야 했습니다. 기본적으로 권한을 얻는 것뿐만 아니라 더 많은 권한이 필요할 때 물어보아야 하기 때문에 보안 측면에서 약간 뒤떨어집니다.

이제 SameSite=Lax가 기본값입니다. theme=bats만 설정하면 동일한 사이트 컨텍스트로만 전송됩니다.

기본 SameSite=Lax 값은 서드 파티 컨텍스트에서 쿠키 전송을 중지합니다.

크로스 사이트 또는 서드 파티 쿠키가 필요한 경우 (삽입된 위젯에 테마를 표시해야 할 수 있음) 다음을 지정해야 합니다.

Set-Cookie: theme=bats; SameSite=None; Secure
명시적인 SameSite=None 값은 크로스 사이트 컨텍스트에서 전송될 쿠키를 표시합니다.

이렇게 하면 브라우저에 모든 크로스 사이트 컨텍스트에서 쿠키를 전송하도록 알리지만 보안 연결로만 제한하려고 합니다.

더욱 맛있는 퍼스트 파티 쿠키

기본값이 조금 더 좋아졌지만 이 레시피를 개선할 여지가 있습니다. 간단히 맛보기로 소개하자면 다음과 같습니다.

Set-Cookie:  __Host-theme=bats;
  Secure;
  Path=/;
  HttpOnly;
  Max-Age=7776000;
  SameSite=Lax;

이렇게 하면 퍼스트 파티 쿠키가 하나의 도메인으로만 제한되고, 보안 연결이 유지되고, JavaScript에 의한 액세스가 없으며, 비활성 상태가 되기 전에 자동으로 만료되며, 동일한 사이트 컨텍스트에서만 허용됩니다.

CHIPS로 쿠키의 맛을 더 높여보세요!

웹의 놀라운 기능 중 하나는 여러 사이트를 함께 구성할 수 있다는 것입니다. 다른 사이트에서 최고의 호박 패치 투어 또는 핼러윈 경로를 표시할 수 있는 지도 위젯을 만든다고 가정해 보겠습니다. 내 서비스는 쿠키를 사용하여 사용자가 경로에 따라 진행 상황을 저장할 수 있도록 합니다. 문제는 동일한 서드 파티 쿠키가 트릭오팅 사이트와 같은 호박 패치 사이트에 전송된다는 점입니다. 사이트 간에 사용자를 추적하고 싶지는 않지만 브라우저에서는 하나의 쿠키 단지만 사용합니다. 이 사용량을 분리할 방법이 없습니다.

SameSite=None이 있는 크로스 사이트 쿠키는 여전히 모두 공유 쿠키 jar에 들어갑니다.

바로 이때 Cookies Having Independent Partitioned State(CHIPS)가 필요합니다. 하나의 공유 쿠키 jar가 아니라 최상위 사이트별로 파티션을 나눈 별도의 쿠키 jar가 있습니다. 사이트는 쿠키에 Partitioned 속성을 사용하여 이를 선택합니다.

Set-Cookie: __Host-route=123;
  SameSite=None;
  Secure;
  Path=/;
  Partitioned;
쿠키의 파티션을 나눈 속성은 최상위 사이트별로 별도의 쿠키 jar를 생성함

쿠키 통을 공유하는 대신 각자 원하는 대로 나눠 먹을 수 있어요! 더 간단하고 안전하며 위생적입니다.

Chrome 109에서 Cookies Having Independent Partitioned State(CHIPS)배송 인텐트가 방금 전송되었으므로 12월에 베타로 테스트한 후 2023년 1월에 안정화 버전으로 출시될 예정입니다. 따라서 사이트의 쿠키 레시피를 개선하기 위해 새해 목표를 찾고 있다면 이러한 크로스 사이트 쿠키에 CHIPS를 뿌릴 수 있는지 살펴보세요.

퍼스트 파티 세트를 사용하여 당사자에게 쿠키 초대하기

개발자 의견과 관련하여, 많은 분들이 자신이 제어하는 사이트 간에 서비스를 공유하고 사이트 간에 쿠키를 사용할 수 있기를 바라지만 실제 서드 파티 맥락에서는 전송해서는 안 된다는 점을 분명히 하셨습니다. 예를 들어 pretty-pumpkins.compretty-pumpkins.co.uk가 있을 수 있습니다. 이러한 사이트 전반에서 작동하는 쿠키 기반 싱글 사인온(SSO) 시스템이 있을 수 있습니다. CHIPS는 작동하지 않습니다. 두 사이트 모두에 로그인해야 하기 때문입니다. 관련 사이트에서 동일한 쿠키가 필요하다는 요구사항이었습니다.

Google에서는 이를 실현하기 위해 퍼스트 파티 세트 제안서를 준비하고 있습니다. 한 번의 오리진 트라이얼과 많은 커뮤니티 토론을 거쳐 다음을 목표로 하는 최신 버전을 만들었습니다.

  • 조직이 서로 동일해야 하는 사이트 그룹을 정의하는 방법을 제공합니다.
  • Storage Access API를 활용하여 퍼스트 파티 세트 내의 크로스 사이트 쿠키에 대한 액세스를 요청합니다.
퍼스트 파티 세트는 관련 사이트 간에만 쿠키 jar를 공유할 수 있습니다.

이러한 쿠키는 여전히 오븐에서 모두 사라지지만 테스트할 더 많은 내용이 있으면 퍼스트 파티 세트 개발자 가이드를 확인하거나 WICG/퍼스트 파티 세트 제안서로 넘어가 토론에 참여할 수 있습니다.

쿠키가 비활성 상태로 유지되지 않도록 하세요.

Google의 목표는 2024년 중반부터 Chrome에서 서드 파티 쿠키에 대한 지원을 단계적으로 종료하는 것입니다. 준비할 시간이 있지만, 지금 계획을 시작해야 합니다.

  1. SameSite=None를 사용하여 코드에 쿠키가 있는지 검사합니다. 이러한 쿠키는 업데이트가 필요한 쿠키입니다.
  2. 서드 파티 쿠키가 없는 경우 동일 사이트 쿠키가 최적의 퍼스트 파티 쿠키 레시피를 사용하는지 확인합니다.
  3. 이러한 쿠키를 완전히 포함된 삽입된 컨텍스트에서 사용하는 경우 CHIPS 제안을 조사하고 테스트하세요.
  4. 여러 사이트에 걸쳐 하나의 응집 그룹을 형성하는 쿠키가 필요한 경우 퍼스트 파티 세트 제안을 살펴보세요.
  5. 이러한 옵션 중 어느 것도 해당하지 않는 경우 크로스 사이트 추적을 사용하지 않는 개별 사용 사례를 위해 특별히 빌드된 API를 개발하는 다른 개인 정보 보호 샌드박스 제안을 조사해야 합니다.

간략한 개요에 불과합니다. 작업이 진행되는 동안 더 많은 소식과 안내를 공유해 드리겠습니다. 궁금한 점이 있거나 문제가 있거나 자체 작업 결과를 공유하고 싶은 경우 문의하실 수 있는 다양한 경로를 확인해 보세요.

따라서 쿠키는 맛있을 수 있다는 점도 기억하세요. 하지만 쿠키는 한 번에 몇 개씩만 사용할 수 있으며 다른 사람의 쿠키를 훔치려고 해서는 안 됩니다.