쿠키의 독립적 분할 상태 (CHIPS) 오리진 트라이얼

Chrome 100부터 CHIPS 오리진 트라이얼을 사용하면 '파티션을 나눈' 저장소에 쿠키를 선택할 수 있으며, 최상위 사이트마다 별도의 쿠키 jar가 포함됩니다.

변경사항

CHIPS란 무엇인가요?

Cookies Having Independent Partitioned State (CHIPS)는 개인 정보 보호 샌드박스 제안으로, 개발자가 최상위 사이트별로 별도의 쿠키 jar을 사용하여 '파티션을 나눈' 저장소에 쿠키를 선택할 수 있도록 합니다.

파티셔닝된 서드 파티 쿠키는 처음에 설정된 최상위 사이트에 연결되어 다른 곳에서 액세스할 수 없습니다. 서드 파티 서비스에서 쿠키를 설정하도록 허용하되, 쿠키가 처음 설정된 최상위 사이트의 컨텍스트 내에서만 읽을 수 있도록 하는 것이 목적입니다.

오리진 트라이얼의 대상은 누구인가요?

이 트라이얼은 서드 파티 오리진 트라이얼으로 제공되며, 이를 통해 삽입된 콘텐츠 제공업체는 여러 사이트에서 새로운 기능을 사용해 볼 수 있습니다.

사이트가 퍼스트 파티로 무료 체험에 등록한 경우 해당 사이트의 서드 파티 콘텐츠 제공업체도 쿠키 파티셔닝을 사용할 수 있습니다. 이러한 서드 파티 제공업체는 오리진 트라이얼 등록을 나타내는 추가 HTTP 헤더도 받게 됩니다.

무료 체험 기간은 얼마나 되나요?

체험판은 Chrome 100부터 Chrome 105까지 제공됩니다. 계획된 출시일은 Chrome 출시 일정을 확인하세요.

오리진 트라이얼 등록 방법

기본 요건

Chrome 안정화 버전 103.

단계

  1. 오리진 트라이얼에 등록하고 도메인 토큰을 받으려면 CHIPS 오리진 트라이얼 페이지를 방문하세요.

  2. Partitioned가 포함된 Set-Cookie 헤더가 있는 모든 응답에 유효한 토큰이 있는 Origin-Trial 헤더를 포함합니다.

    Origin-Trial: <ORIGIN TRIAL TOKEN>
    
  3. 다음 두 가지 방법 중 하나로 쿠키에 Partitioned 속성을 추가합니다.

    • Set-Cookie헤더:

      Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
      
    • JavaScript의 경우:

      cookieStore.set({
      name: '__Host-name',
      value: 'value',
      secure: true,
      path: '/',
      sameSite: 'none',
      // Set a partitioned cookie using the attribute below.
      partitioned: true,
      });
      

예시

오리진 트라이얼에 참여하는 사이트는 응답에 다음 헤더를 포함해야 합니다.

Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;

작동하는지 확인

헤더 검사

오리진 트라이얼을 성공적으로 선택하고 파티션을 나눈 쿠키를 설정하면 현재 세션이 종료될 때까지 Chrome 클라이언트의 후속 요청에 Sec-CH-Partitioned-Cookies: ?0 요청 헤더가 포함됩니다.

Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value

사이트에서 이 클라이언트 힌트 없이 쿠키를 수신하면 오리진 트라이얼 선택이 실패했으며 수신되는 쿠키는 파티셔닝되지 않습니다.

Partitioned가 있는 Set-Cookie 헤더를 포함하지 않는 응답은 사이트의 오리진 트라이얼 참여 상태에 영향을 주지 않습니다.

Origin-Trial 헤더에 유효한 토큰으로 응답하지 않으면 시스템의 파티션을 나눈 쿠키가 파티션을 나누지 않은 쿠키로 변환됩니다.

자세한 내용은 chromium.org에서 CHIPS 문서를 참고하세요.

DevTools

  1. chrome://flags/#partitioned-cookies로 이동하여 설정을 '사용 설정됨'으로 변경합니다.
  2. 오른쪽 하단에 있는 '다시 시작' 버튼을 클릭하거나 chrome://restart로 이동하여 Chromium을 다시 시작합니다.
  3. chrome://settings/cookies(으)로 이동하여 라디오 버튼이 '모든 쿠키 허용' 또는 '시크릿 모드에서 서드 파티 쿠키 차단'으로 설정되어 있는지 확인합니다.
  4. 삽입되어 있는 사이트를 로드합니다.
  5. DevTools를 열고 Application > Cookies > yourSite로 이동한 다음 DevTools에서 Partition Key 열을 찾습니다.

추가 세부정보

쿠키 요구사항

  • 파티션을 나눈 쿠키는 Secure로 설정해야 합니다. (Path=/는 더 이상 필요하지 않습니다. github.com/privacycg/CHIPS/pull/49 참고).
  • SameParty 속성은 Partitioned.과 함께 사용할 수 없습니다.

Chrome은 쿠키 파티션 나누기의 사용 설정 여부와 관계없이 Partitioned 속성으로 설정된 쿠키에 이러한 규칙을 적용합니다. 잘못 설정된 쿠키는 거부됩니다.

쿠키 파티셔닝이 사용 중지되었지만 쿠키가 올바른 속성으로 설정된 경우 Chrome은 Partitioned 속성을 무시하고 이에 따른 쿠키는 설정된 위치와 다른 최상위 사이트에서 호스트로 계속 요청을 통해 전송됩니다.

파티션을 나눈 쿠키에는 쿠키 파티셔닝을 지원하지 않는 브라우저에서 서드 파티 컨텍스트로 쿠키가 전송될 수 있도록 SameSite=None 속성도 포함되어야 합니다.

JavaScript 및 서비스 워커

오리진 트라이얼을 사용하는 프레임은 document.cookie 및 CookieStore API와 같은 JavaScript API를 사용하여 파티션을 나눈 쿠키를 읽고 쓸 수 있습니다. 체험판의 스크립트에 없는 프레임은 파티션을 나눈 쿠키를 읽거나 쓸 수 없습니다.

서비스 워커에서는 CHIPS 오리진 트라이얼이 지원되지 않습니다.

참여 및 의견 공유