CHIPS의 발전을 위한 업계와의 협력

CHIPS를 구현하는 동안 Chrome팀이 당면한 두 가지 과제와 제안 설계를 발전시키는 과정에서 커뮤니티의 의견이 크게 기여한 방식을 살펴봅니다.

Cookies Having Independent Partitioned State (CHIPS)는 개발자가 최상위 사이트마다 별도의 쿠키 저장소를 사용하여 '분할된' 스토리지에 쿠키를 선택할 수 있는 개인 정보 보호 샌드박스 기술입니다.
CHIPS의 사용 사례 예시에는 교차 사이트 하위 리소스에 서드 파티 채팅 위젯, 지도 삽입, 하위 리소스 CDN 부하 분산, 헤드리스 CMS 제공업체 등 단일 최상위 사이트의 사용자 활동으로 범위가 지정된 세션 또는 영구 상태 개념이 필요한 시나리오가 포함됩니다.

CHIPS는 개방형 웹 표준이 되기 위해 개발되고 있습니다. PrivacyCG에서 논의 중이며 7개월 동안 오리진 트라이얼을 진행했으며 이 기간 동안 Chrome팀은 유용한 의견을 받았습니다. 개발 과정에서 팀은 주요 이해관계자와 협력하여 이러한 의견을 살펴본 결과, 웹 생태계에 더 적합한 업데이트된 디자인을 완성했습니다.

CHIPS를 구현하는 동안 Chrome팀이 당면한 두 가지 과제와 제안 설계를 발전시키는 과정에서 커뮤니티의 의견이 크게 기여한 방식을 살펴봅니다.

host-prefix 삭제 및 Domain 요구사항 없음

우수한 보안 관행을 장려하기 위해 CHIPS 설계에서는 쿠키가 보안 프로토콜을 통해서만 설정되고 전송되어야 하며 파티션된 쿠키는 Secure로 설정되어야 합니다.

이러한 요구사항과 함께 초기 제안서에서는 파티션된 쿠키에 Domain 속성을 허용하지 않았습니다. 쿠키에서 Domain를 생략하면 파티션 내의 여러 서드 파티 하위 도메인 간에 쿠키를 공유할 수 없었습니다.

오리진 트라이얼 기간 동안 Chrome팀은 파트너 및 기타 이해관계자로부터 도메인 없음 요구사항으로 인해 하위 도메인이 있는 사이트에서 CHIPS를 구현하기 어렵다는 의견을 받았습니다. 예를 들어 shop.example.compay.example.com가 파티셔닝된 쿠키 저장소를 공유하기가 더 어려워집니다. 다른 경우에는 삽입된 컨텍스트에서 인증 흐름을 어렵게 만들었습니다.

pay.example.com 및 shop.example.com 사이트를 보여주는 다이어그램

Chrome팀은 이러한 의견을 평가한 결과, 도메인 없음 요구사항을 삭제해도 개인 정보 보호 문제가 발생하지 않으며 사용성이 개선된다고 판단했습니다. 이에 따라 CHIPS 제품팀은 GitHub에서 이 요구사항 삭제에 관한 추가 의견을 요청하는 토론을 시작했습니다. CHIPS를 테스트하고 있던 여러 회사가 이 변경사항이 사용 사례에 얼마나 중요한지 공개적으로 의견을 밝혔습니다.

Chrome은 W3C의 개인 정보 보호 커뮤니티 그룹에 의견을 제출하고 업데이트된 제안서를 제출했습니다. Firefox와 Edge는 변경사항을 승인했으며 Safari는 우려사항을 제기하지 않았습니다. 다음 날 Chrome팀은 Blink-Dev를 업데이트하고 CHIPS GitHub 저장소에서 요구사항을 삭제할 계획을 발표했습니다.

CHIPS팀은 사이트가 악성 또는 손상된 하위 도메인으로부터 교차 사이트 쿠키를 수신하지 않도록 하고 도메인 쿠키를 하위 도메인 간에 데이터를 유출하는 채널로 사용하는 가능성을 완화하기 위해 이 요구사항을 처음 제안했습니다.

이로 인해 추가적인 보안 이점이 제공되었지만, 일부 현재 애플리케이션 아키텍처가 하위 도메인 간에 쿠키를 공유하는 것을 사용하므로 CHIPS를 채택하는 데 어려움이 있다는 점을 Tableau에서 강조했습니다.

Chrome에서 이 변경사항을 적용한 후 현재 Salesforce에서 소유하고 있는 시각적 분석 플랫폼의 개발사인 Tableau는 다음을 공유했습니다.

이름 변경을 삭제하면 이전의 `SameSite=None` 속성 추가 변경사항과 요구사항이 훨씬 더 일치하게 되어 더 '알려진' 수량이 됩니다. Google은 의견을 수렴하고, 영향을 검토하고, 더 쉽게 전환할 수 있도록 변경사항을 적용해 주셔서 감사합니다. 리 그레이버, Tableau 소프트웨어 엔지니어링 아키텍트

이 프로세스를 통해 이해관계자가 사용자의 개인 정보를 보호하면서 CHIPS를 더 쉽게 구현할 수 있게 되었습니다.

CHIPS를 구현할 때의 또 다른 문제는 정적 쿠키 한도였습니다.
쿠키의 메모리 사용량이 커지지 않도록 하기 위해 초기 설계에서는 사이트당 파티션당 쿠키 10개라는 숫자 제한을 제안했습니다.

Akamai는 고객 콘텐츠를 호스팅하기 위해 최상위 도메인 (예: customer.cdn.xyz)을 제공하는 CDN과 같은 서비스에는 제안된 파티션화된 쿠키 한도가 충분하지 않을 수 있다는 공개 의견을 공유했습니다. 예를 들어 customer1.cdn.xyz와 customer2.cdn.xyz는 모두 서드 파티 콘텐츠를 전송할 수 있으며 각각 자체 쿠키를 여러 개 설정할 수 있습니다. 이와 같은 고객 사이트가 여러 개 다른 웹사이트에 삽입된 경우 파티션당 쿠키 10개 제한에 도달할 수 있습니다.

Chrome팀은 파트너 회의와 W3C 토론 등 다른 포럼에서도 비슷한 의견을 접했기 때문에 이러한 사용 사례에서 쿠키 한도가 제기하는 문제를 해결하기 위한 최선의 방법을 모색했습니다.

단일 도메인이 클라이언트 머신에 보유할 수 있는 최대 SameSite=None 쿠키 수를 보여주는 다이어그램
단일 도메인이 클라이언트 머신에 보유한 SameSite=None 쿠키의 최대 개수를 보여주는 다이어그램

커뮤니티 의견을 통합하는 방법을 고려한 후 Chrome은 TPAC 2022에서 업데이트된 아이디어를 발표하여 CHIPS가 정적 10개 쿠키 제한에서 메모리를 기반으로 하는 _동적_ 10kb 제한으로 전환할 것을 제안했습니다. 분석 결과 이 변경사항은 웹의 99% 의 사용 사례를 다루고 Chrome이 달성하고자 하는 개인 정보 보호 원칙 (사이트 간 사용자에 대해 공유되는 정보의 양을 제한)을 준수하면서도 주요 사용 사례를 유지할 수 있는 것으로 나타났습니다.

다른 브라우저 공급업체는 CHIPS가 PrivacyCG에서 교차 브라우저 지원을 유지하는 데 중요한 업데이트된 솔루션에 동의한다고 입을 모았습니다.

이에 따라 Chrome은 새로운 한도를 채택하고 솔루션을 CHIPS 설계에 통합했습니다.

업계와의 협력

CHIPS를 개발하는 과정에서 많은 파트너의 의견을 수렴했으며, 웹에서 개인 정보 보호를 개선하기 위해서는 이러한 협력이 매우 중요했습니다.

Akamai는 Google과 같은 다른 업계 선두 주자와 여러 분야에서 협력 관계를 맺고 있습니다. CHIPS 프로그램의 경우 Google에서 제공한 의견이 사소한 사항처럼 보일 수 있지만, 이번 변경사항은 긍정적인 사용 사례에 미치는 부정적인 영향을 최소화하면서 최종 목표를 달성하는 데 큰 도움이 될 것입니다. Google과 Mozilla는 각자의 방식으로 인터넷을 더 빠르고 안전하게 만들기 위해 노력하고 있으며, 함께 협력할 때 전체 인터넷이 더 나아집니다. 마틴 마이어, Akamai Technologies 선임 설계자

CHIPS는 생태계의 의견이 개인 정보 보호 샌드박스의 기술을 개선하는 데 필수적이라는 것을 보여 주었습니다. GitHub의 공개 웹 대화, W3C 회의, Chrome팀과의 지속적인 협력이 이제 Chrome 안정화 버전에 출시된 변경사항에 직접적으로 기여했습니다. Chrome팀은 다양한 제안서에 대한 의견을 기다리고 있으며, 이러한 의견은 웹에서 기술이 개발되고 출시되는 방식에 큰 영향을 미칩니다.