Współpraca z branżą nad rozwijaniem CHIPS

Omówienie 2 wyzwań, z jakimi borykał się zespół Chrome przy wdrażaniu CHIPS, oraz tego, w jaki sposób opinie społeczności odegrały kluczową rolę w kształtowaniu oferty pakietowej.

Pliki cookie oparte na niezależnym stanie partycjonowania (CHIPS) to technologia Piaskownicy prywatności, która umożliwia deweloperom zapisywanie pliku cookie w „partycjonowanym” miejscu na dane. Dla każdej witryny najwyższego poziomu znajdują się osobne słoiki plików cookie.
Przykładowe zastosowania CHIPS obejmują sytuacje, w których zasoby podrzędne z innych witryn wymagają określenia sesji lub stanu trwałego, którego zakres jest ograniczony do aktywności użytkownika w jednej witrynie najwyższego poziomu. Są to na przykład zewnętrzne widżety czatu, osadzone mapy, równoważenie obciążenia CDN, dostawcy systemów CMS bez interfejsu graficznego i inne.

Projektujemy CHIPS, aby stać się otwartym standardem internetowym. Jest ono obecnie omawiane w PrivacyCG. Przez 7 miesięcy korzystano z wersji próbnej origin, w trakcie których zespół Chrome otrzymuje przydatne opinie. W trakcie tworzenia aplikacji zespół współpracował z najważniejszymi zainteresowanymi osobami, aby przeanalizować te opinie. W rezultacie poprawił się układ, który lepiej działa ekosystemem internetowym.

Przyjrzyjmy się 2 wyzwaniom, z którymi borykał się zespół Chrome przy wdrażaniu CHIPS, i dowiedzieliśmy się, w jaki sposób opinie społeczności odegrały kluczową rolę w kształtowaniu oferty.

Usunięcie prefiksu hosta i braku wymogu Domain

Z myślą o zachowaniu dobrych praktyk w zakresie bezpieczeństwa projekt CHIPS wymaga, aby pliki cookie były ustawiane i wysyłane wyłącznie przez bezpieczne protokoły, a podzielone pliki cookie muszą być ustawiane za pomocą metody Secure.

Zgodnie z tymi wymaganiami pierwotna oferta nie zezwala na stosowanie atrybutu Domain w partycjonowanych plikach cookie. Pominięcie parametru Domain w plikach cookie uniemożliwiło udostępnianie ich między różnymi subdomenami zewnętrznymi w ramach partycji.

W trakcie testowania origin zespół Chrome usłyszał od partnerów i innych zainteresowanych osób, że wymóg braku domeny utrudnił wdrożenie CHIPS w witrynach z subdomenami. Utrudni to na przykład shop.example.com i pay.example.com udostępnianie partycjonowanych słoików plików cookie. W innych przypadkach utrudniało to proces uwierzytelniania w przypadku osadzonych kontekstów.

Schemat przedstawiający witryny pay.example.com i sklep.example.com

Zespół Chrome sprawdził te opinie i stwierdził, że usunięcie wymogu braku domeny nie spowoduje powstawania problemów związanych z prywatnością, ale poprawi łatwość obsługi. W odpowiedzi zespół usługi CHIPS rozpoczął dyskusję na GitHub, prosząc o opinię na temat usunięcia tego wymogu. Kilka firm, które testowały CHIPS, odpowiedziało na komentarz i publicznie stwierdziło, jak ważna jest ta zmiana w swoim przypadku użycia.

Chrome zapoznał się z opinią grupy Społeczności ds. prywatności w W3C i przedstawił zaktualizowaną propozycję – Firefox i Edge zatwierdzili zmianę, ale Safari nie wywołała żadnych wątpliwości. Następnego dnia zespół Chrome zaktualizował stronę Blink-Dev i przedstawił plan usunięcia tego wymogu z repozytorium CHIPS na GitHubie.

Zespół CHIPS początkowo zaproponował to wymaganie, aby zagwarantować, że witryny nie będą otrzymywać plików cookie pochodzących z różnych stron ze złośliwych lub zaatakowanych subdomen, a także zmniejszyć ryzyko wykorzystania plików cookie domeny jako kanału do wycieku danych między subdomenami.

Przyniosło to dodatkowe korzyści w związku z bezpieczeństwem, ale firma Tableau podkreślała, że przedstawia wyzwania związane z wdrożeniem CHIPS, ponieważ niektóre obecne architektury aplikacji bazują na udostępnianiu plików cookie między subdomenami.

Po wprowadzeniu tej zmiany w Chrome Tableau, firma tworząca platformę do analizy wizualnej, która obecnie należy do Salesforce, udostępniła:

Ta zmiana nazewnictwa sprawia, że wymóg dodania atrybutu „SameSite=None” jest znacznie bardziej zgodny z poprzednimi zmianami, czyli bardziej „znana” ilość. Cieszymy się, że Google słucha opinii, analizuje konsekwencje i wprowadza te zmiany, aby ułatwić użytkownikom przejście na nową wersję. Lee Graber, architekt oprogramowania, Tableau

Dzięki temu procesowi uprościliśmy wdrożenie CHIPS zainteresowanych osób przy jednoczesnym zapewnieniu ochrony prywatności użytkowników.

Kolejnym wyzwaniem podczas implementacji CHIPS był limit statycznych plików cookie.
Aby zapobiec dużemu zużyciu pamięci przez pliki cookie, początkowo zaproponowaliśmy limit wynoszący 10 plików cookie na witrynę na partycję.

Firma Akamai przedstawiła publiczne opinie, że proponowany limit partycjonowanych plików cookie może być niewystarczający w przypadku usług takich jak sieci CDN, które oferują domeny najwyższego poziomu do hostowania treści klientów (np. customer.cdn.xyz). Na przykład: klient1.cdn.xyz i klient2.cdn.xyz mogą dostarczać treści należące do osób trzecich, a każdy z nich może tworzyć kilka własnych plików cookie. Jeśli wiele takich witryn klienta jest umieszczonych w innej witrynie, może osiągnąć limit 10 plików cookie na jedną partycję.

Zespół Chrome usłyszał podobne opinie na innych forach, podczas spotkań partnerów i dyskusji w W3C. Omówił więc najlepsze sposoby rozwiązania problemu, jakim jest limit plików cookie w tych przypadkach użycia.

Diagram przedstawiający maksymalną liczbę plików cookie SameSite=None w pojedynczej domenie na komputerach klientów
Diagram przedstawiający maksymalną liczbę plików cookie SameSite=None na komputerach klientów, które znajdują się w jednej domenie

Po zastanowieniu się, jak uwzględnić opinie społeczności, podczas TPAC 2022 przedstawiliśmy zaktualizowany limit CHIPS ze statycznego limitu 10 plików cookie na _dynamiczny limit _10 KB oparty na pamięci. Analiza wykazała, że ta zmiana powinna obejmować 99% przypadków użycia w internecie i zachować zasady ochrony prywatności, które starała się osiągnąć Chrome (ograniczenie zbyt dużej ilości informacji o użytkownikach w różnych witrynach), a jednocześnie utrzymać kluczowe zastosowania.

Inni dostawcy przeglądarek ważyli się, twierdząc, że zgodzili się na zaktualizowane rozwiązanie, co było ważne dla zapewnienia CHIPS obsługi różnych przeglądarek w ramach PrivacyCG.

W związku z tym Chrome przejął nowy limit i uwzględnił to rozwiązanie w projekcie CHIPS.

Współpraca z branżą

Podczas opracowywania CHIPS słyszeliśmy od wielu partnerów, że współpraca ma kluczowe znaczenie dla poprawy ochrony prywatności w internecie.

Akamai współpracuje na wielu płaszczyznach z innymi liderami w branży, takimi jak Google. Opinie, które przekazaliśmy w przypadku programu CHIPS, mogą wydawać się drobnymi detalami, ale ta zmiana znacznie ograniczy negatywny wpływ tej zmiany na dobre przypadki użycia, a jednocześnie nadal pozwoli osiągnąć ostateczny cel. Nasze organizacje pracują nad zwiększeniem szybkości i bezpieczeństwa internetu, a współpraca w internecie jest korzystna. Martin Meyer, starszy architekt w firmie Akamai Technologies

CHIPS wykazało, że opinie z ekosystemu mają kluczowe znaczenie dla ulepszania technologii w Piaskownicy prywatności. Otwieranie rozmów internetowych w GitHubie, spotkania W3C i ciągła współpraca z zespołem Chrome bezpośrednio przyczyniły się do zmian, które obecnie wdrożyliśmy w wersji stabilnej Chrome. Zespół Chrome z chęcią pozna te opinie, przedstawiając szereg propozycji, a to ma ogromny wpływ na sposób tworzenia i wdrażania technologii w internecie.