Współpraca z branżą nad rozwijaniem CHIPS

Omówienie 2 wyzwań, z którymi zespół Chrome’a spotkał się podczas wdrażania CHIPS, oraz tego, jak opinie społeczności odegrały kluczową rolę w rozwijaniu projektu.

Cookies Having Independent Partitioned State (CHIPS) to technologia Piaskownicy prywatności, która umożliwia deweloperom umieszczanie pliku cookie w „partycjonowanym” miejscu na dane z oddzielnymi plikami cookie dla każdej witryny najwyższego poziomu.
Przykładowe przypadki użycia usługi CHIPS obejmują wszystkie scenariusze, w których subresursy w wielu witrynach wymagają pewnego rodzaju sesji lub trwałego stanu, który jest ograniczony do aktywności użytkownika w pojedynczej witrynie najwyższego poziomu, np. widżety czatu innych firm, wstawianie map, równoważenie obciążenia subresursów przez CDN, dostawcy bezserwerowych systemów CMS itp.

Technologia ta jest opracowywana z myślą o tym, aby stała się otwartym standardem internetowym. Jest ona obecnie omawiana w ramach grupy roboczej ds. prywatności, a jej wersja próbna była dostępna przez 7 miesięcy, w których zespół Chrome otrzymywał pomocne opinie. Podczas prac nad tą funkcją zespół współpracował z kluczowymi interesariuszami, aby poznać ich opinie. W efekcie powstała zaktualizowana wersja, która lepiej pasuje do ekosystemu internetu.

Poznaj 2 wyzwania, z którymi zespół Chrome’a spotkał się podczas wdrażania systemu CHIPS, oraz dowiedz się, jak opinie społeczności odegrały kluczową rolę w rozwijaniu projektu.

Usuwanie prefiksu hosta i wymóg Domain

Aby zachęcić do stosowania dobrych metod zabezpieczania, projekt CHIPS wymaga, aby pliki cookie były ustawiane i wysyłane tylko za pomocą bezpiecznych protokołów, a pliki cookie podzielone na partycje – za pomocą Secure.

Oprócz tych wymagań w pierwotnej propozycji zabroniono atrybutu Domain w przypadku plików cookie podzielonych na partycje. Pominięcie w plikach cookie wartości Domain uniemożliwiło ich udostępnianie między różnymi poddomenami innych firm w ramach partycji.

Podczas testów pochodzenia zespół Chrome otrzymał od partnerów i innych zainteresowanych osób informację, że wymóg braku domeny utrudnia wdrażanie CHIPS w przypadku witryn z subdomenami. Utrudniłoby to np. udostępnianie przez shop.example.compay.example.com podzielonych słoików z ciasteczkami. W innych przypadkach utrudniało to procesy uwierzytelniania w ramach kontekstów wbudowanych.

Diagram pokazujący witryny pay.example.com i shop.example.com

Zespół Chrome przeanalizował te opinie i doszedł do wniosku, że usunięcie wymogu dotyczącego domeny nie spowoduje problemów z prywatnością, ale poprawi użyteczność. W odpowiedzi zespół ds. usługi CHIPS rozpoczął dyskusję na GitHub, zapraszając do dzielenia się opiniami na temat usunięcia tego wymagania. Kilka firm, które testowały CHIPS, odpowiedziały i publicznie skomentowały znaczenie tej zmiany w ich przypadku.

Chrome przekazał opinie grupie Privacy Community Group W3C i przedstawił zaktualizowaną propozycję. Firefox i Edge zatwierdziły zmiany, a Safari nie zgłosiło żadnych zastrzeżeń. Następnego dnia zespół Chrome zaktualizował Blink-Dev i przedstawił plan usunięcia wymagań w repozytorium CHIPS na GitHubie.

Ten wymóg został początkowo zaproponowany przez zespół CHIPS, aby zapewnić, że witryny nie będą otrzymywać plików cookie między witrynami z żadnych złośliwych lub naruszonych subdomen oraz ograniczyć możliwość wykorzystywania plików cookie domeny jako kanału do wycieku danych między subdomenami.

Chociaż zapewniało to dodatkowe korzyści związane z bezpieczeństwem, firma Tableau podkreśliła, że stanowiło to wyzwanie dla wdrażania usługi CHIPS, ponieważ niektóre obecne architektury aplikacji polegają na udostępnianiu plików cookie między subdomenami.

Po wprowadzeniu tej zmiany przez Chrome firma Tableau, która jest właścicielem platformy do analizy wizualnej należącej do Salesforce, opublikowała:

Usunięcie zmiany nazwy sprawia, że wymóg jest bardziej zgodny z poprzednimi zmianami dotyczącymi dodania atrybutu SameSite=None, a zarazem jest bardziej znany. Dziękujemy, że Google wzięło pod uwagę opinie użytkowników, przeanalizowało konsekwencje i wprowadziło zmiany, które ułatwią przejście na nowy system. Lee Graber, architekt inżynierii oprogramowania w Tableau

Dzięki temu zainteresowane osoby mogą łatwiej wdrażać system CHIPS, a użytkownicy mogą zachować prywatność.

Innym wyzwaniem podczas wdrażania CHIPS był limit statycznych plików cookie.
Aby zapobiec zajmowaniu dużej ilości pamięci przez pliki cookie, w ramach początkowego projektu zaproponowano ograniczenie liczby plików cookie do 10 na stronę na partycję.

Akamai udostępnił opinię publiczną, że proponowany limit dla plików cookie podzielonych może nie być wystarczający dla 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 domeny customer1.cdn.xyz i customer2.cdn.xyz mogą dostarczać treści innych firm i mogą ustawiać kilka własnych plików cookie. Jeśli w innej witrynie umieścisz wiele takich witryn klientów, możesz przekroczyć limit 10 plików cookie na partycję.

Zespół Chrome otrzymał podobne opinie na innych forach, podczas spotkań z partnerami i dyskusji w W3C. Dlatego przeanalizował najlepsze sposoby rozwiązania problemu, który w tych przypadkach stwarza limit plików cookie.

Diagram pokazujący maksymalną liczbę plików cookie SameSite=None w domenie na komputerach klientów
Diagram pokazujący maksymalną liczbę plików cookie SameSite=None, które domena może mieć na komputerach klientów

Po przeanalizowaniu opinii społeczności zespół Chrome przedstawił na konferencji TPAC 2022 zaktualizowany pomysł, który zakłada przejście z statycznego limitu 10 plików cookie na _dynamiczny_ limit 10 KB na podstawie pamięci. Analiza wykazała, że ta zmiana powinna obejmować 99% przypadków użycia w internecie i zapewnić przestrzeganie zasad prywatności, których przestrzeganie stara się zapewnić Chrome (ograniczenie nadmiernej ilości informacji udostępnianych o użytkownikach w różnych witrynach), a jednocześnie zachować kluczowe zastosowania.

Inni dostawcy przeglądarek wyrazili zgodę na zaktualizowane rozwiązanie, co było ważne dla zapewnienia obsługi CHIPS w różnych przeglądarkach w ramach PrivacyCG.

W rezultacie Chrome zaimplementował nowy limit i wprowadził rozwiązanie w ramach projektu CHIPS.

Współpraca z branżą

Podczas tworzenia usługi CHIPS współpracowaliśmy z wielu partnerami, którzy pomogli nam w poprawie ochrony prywatności w internecie.

Akamai współpracuje z innymi liderami branżowymi, takimi jak Google, w wielu obszarach. Informacje zwrotne, które przekazaliśmy w przypadku programu CHIPS, mogą wydawać się mało istotne, ale ta zmiana pozwoli nam w największym stopniu ograniczyć negatywny wpływ na właściwe przypadki użycia, a jednocześnie osiągnąć cel końcowy. Nasze organizacje starają się, aby internet był szybszy i bezpieczniejszy, a współpraca przynosi korzyści całemu internetowi. Martin Meyer, starszy architekt w Akamai Technologies

Projekt CHIPS wykazał, że informacje zwrotne z ekosystemu są niezbędne do ulepszania technologii w Piaskownicy prywatności. Otwarte rozmowy na GitHubie, spotkania W3C i ciągłe zaangażowanie zespołu Chrome przyczyniły się bezpośrednio do wprowadzenia zmian w wersji stabilnej Chrome. Zespół Chrome chętnie poznaje opinie na temat różnych propozycji, ponieważ mają one ogromny wpływ na sposób tworzenia i wdrażania technologii w internecie.