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

CHIPS를 구현하는 과정에서 Chrome팀이 당면한 두 가지 과제와 제안 설계를 발전시키는 데 커뮤니티의 의견이 중요한 역할을 하는 방법을 살펴봅니다.

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

CHIPS는 개방형 웹 표준이 되겠다는 목표를 가지고 개발되고 있습니다. PrivacyCG에서 논의 중이며 7개월 동안 오리진 트라이얼을 진행했으며 이 기간 동안 Chrome팀은 유용한 의견을 받았습니다. 개발 과정에서 팀은 주요 이해관계자와 협력하여 해당 피드백을 탐색한 결과, 웹 생태계에 더 나은 서비스를 제공하는 업데이트된 디자인을 얻을 수 있었습니다.

CHIPS를 구현하는 과정에서 Chrome팀이 당면한 두 가지 과제와 제안 설계를 발전시키는 데 커뮤니티의 의견이 어떤 중요한 역할을 했는지 살펴보겠습니다.

호스트 프리픽스 및 Domain 요구사항 삭제

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

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

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

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

Chrome팀은 이 의견을 평가한 결과, 도메인 없음 요구사항을 삭제해도 개인 정보 보호 문제가 발생하지는 않지만 사용성이 개선될 것이라는 결론을 내렸습니다. 이에 따라 CHIPS 제품팀은 GitHub에 대해 토론을 개시하여 이러한 요구사항 삭제에 관한 의견을 더 요청했습니다. CHIPS를 테스트하던 여러 기업에서는 사용 사례에 이러한 변화가 갖는 중요성에 대해 공개적으로 응답하고 의견을 제시했습니다.

Chrome은 W3C의 Privacy Community Group에 피드백을 받아 업데이트된 제안서를 제출했습니다. Firefox와 Edge는 변경사항을 승인했고 Safari는 어떤 우려도 제기하지 않았습니다. 다음 날 Chrome팀은 Blink-Dev를 업데이트하고 CHIPS GitHub 저장소의 요구사항을 삭제하겠다는 계획을 발표했습니다.

CHIPS팀은 처음에 사이트가 악성 또는 손상된 하위 도메인에서 크로스 사이트 쿠키를 수신하지 않도록 보장하고, 하위 도메인 간에 데이터를 유출하기 위한 채널로 도메인 쿠키를 사용할 가능성을 줄이기 위해 이 요구사항을 제안했습니다.

이는 추가적인 보안 이점을 제공했지만 Tableau는 일부 현재 애플리케이션 아키텍처가 하위 도메인 간 쿠키 공유에 의존하기 때문에 CHIPS 채택에 어려움을 겪는다는 점을 강조했습니다.

Chrome에서 이 변경사항을 적용한 후 시각적 분석 플랫폼을 지원하는 회사인 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 프로그램의 사례에서 제공한 피드백은 사소한 것처럼 보일 수 있지만, 이러한 변화는 최종 목표를 달성하는 동시에 우수한 사용 사례에 미치는 부정적인 영향을 최소화하는 데 큰 도움이 될 것입니다. 각 조직은 자체 방식으로 더욱 빠르고 안전한 인터넷을 만들기 위해 노력하고 있으며, 함께할 때 전체 인터넷의 품질이 더욱 향상됩니다. 마틴 마이어, Akamai Technologies 선임 설계자

CHIPS는 개인 정보 보호 샌드박스의 기술 개선을 위해서는 생태계의 의견이 필수적임을 보여주었습니다. GitHub에서 열린 웹 대화, W3C 회의 및 Chrome팀과의 지속적인 참여는 현재 Chrome 안정화 버전에 출시된 변경사항에 직접적인 영향을 미쳤습니다. Chrome 팀은 다양한 제안을 통해 이 의견을 수렴하고자 합니다. 이는 웹에서 기술을 개발하고 배포하는 방식에 큰 변화를 가져올 것입니다.