Hợp tác với ngành để phát triển CHIPS

Khám phá hai thách thức mà nhóm Chrome gặp phải khi triển khai CHIPS và vai trò quan trọng của ý kiến phản hồi của cộng đồng trong việc phát triển thiết kế đề xuất.

Cookies Having Independent Partitioned State (CHIPS) (Cookie có trạng thái được phân vùng độc lập) là một công nghệ Hộp cát về quyền riêng tư cho phép nhà phát triển chọn một cookie vào bộ nhớ "được phân vùng", với các lọ cookie riêng biệt cho mỗi trang web cấp cao nhất.
Các trường hợp sử dụng mẫu cho CHIPS bao gồm mọi trường hợp mà tài nguyên phụ trên nhiều trang web yêu cầu một số khái niệm về phiên hoặc trạng thái ổn định trong phạm vi hoạt động của người dùng trên một trang web cấp cao nhất, chẳng hạn như tiện ích trò chuyện của bên thứ ba, tính năng nhúng bản đồ, cân bằng tải CDN tài nguyên phụ, nhà cung cấp CMS không có giao diện người dùng, v.v.

CHIPS đang được phát triển với mục tiêu trở thành một tiêu chuẩn web mở. Tính năng này đang được thảo luận trong PrivacyCG và đã có một thử nghiệm về nguồn gốc trong 7 tháng, trong đó nhóm Chrome đã nhận được phản hồi hữu ích. Trong quá trình phát triển, nhóm đã làm việc với các bên liên quan chính để tìm hiểu ý kiến phản hồi đó, nhờ đó thiết kế mới được cập nhật để phục vụ tốt hơn cho hệ sinh thái web.

Hãy cùng khám phá hai thách thức mà nhóm Chrome gặp phải khi triển khai CHIPS và vai trò quan trọng của ý kiến phản hồi của cộng đồng trong việc phát triển thiết kế đề xuất.

Xoá tiền tố máy chủ lưu trữ và không có yêu cầu về Domain

Để khuyến khích các phương pháp bảo mật hiệu quả, thiết kế CHIPS yêu cầu chỉ được đặt và gửi cookie qua các giao thức bảo mật, đồng thời phải đặt cookie được phân vùng bằng Secure.

Cùng với các yêu cầu này, đề xuất ban đầu không cho phép thuộc tính Domain trên cookie được phân vùng. Việc bỏ qua Domain trên cookie đã ngăn việc chia sẻ cookie giữa các miền con của bên thứ ba khác nhau trong một phân vùng.

Trong quá trình thử nghiệm theo nguyên gốc, nhóm Chrome đã nhận được ý kiến từ các đối tác và các bên liên quan khác rằng yêu cầu không có miền khiến các trang web có miền con khó triển khai CHIPS. Ví dụ: việc này sẽ khiến shop.example.compay.example.com khó chia sẻ các hộp bánh quy được phân vùng hơn. Trong các trường hợp khác, điều này khiến quy trình xác thực gặp khó khăn trong ngữ cảnh nhúng.

Sơ đồ thể hiện các trang web pay.example.com và shop.example.com

Nhóm Chrome đã đánh giá ý kiến phản hồi này và kết luận rằng việc xoá yêu cầu không có miền sẽ không gây ra vấn đề về quyền riêng tư mà còn giúp cải thiện khả năng hữu dụng. Để đáp lại, nhóm sản phẩm CHIPS đã mở một cuộc thảo luận trên GitHub, mời mọi người gửi thêm ý kiến phản hồi về việc xoá yêu cầu này. Một số công ty đang thử nghiệm CHIPS đã phản hồi và bình luận công khai về tầm quan trọng của thay đổi này đối với trường hợp sử dụng của họ.

Chrome đã đưa ý kiến phản hồi này đến Nhóm cộng đồng về quyền riêng tư của W3C và trình bày đề xuất mới cập nhật. Firefox và Edge đã phê duyệt thay đổi này và Safari không nêu bất kỳ mối lo ngại nào. Ngày hôm sau, nhóm Chrome đã cập nhật Blink-Dev và trình bày kế hoạch xoá yêu cầu trên kho lưu trữ Github của CHIPS.

Ban đầu, nhóm CHIPS đề xuất yêu cầu này để đảm bảo rằng các trang web không nhận được cookie trên nhiều trang web từ bất kỳ miền con độc hại hoặc bị xâm phạm nào, đồng thời giảm khả năng sử dụng cookie Miền làm kênh rò rỉ dữ liệu trên các miền con.

Mặc dù điều này mang lại thêm các lợi ích bảo mật, nhưng Tableau đã nhấn mạnh rằng việc này đã gây ra những thách thức cho việc sử dụng CHIPS vì một số cấu trúc ứng dụng hiện tại dựa vào việc chia sẻ cookie giữa các miền con.

Sau khi Chrome thực hiện thay đổi này, Tableau (công ty đứng sau nền tảng phân tích trực quan hiện thuộc sở hữu của Salesforce) đã chia sẻ:

Việc xoá thay đổi về cách đặt tên này giúp yêu cầu phù hợp hơn với các thay đổi trước đó để thêm thuộc tính `SameSite=None` và do đó, số lượng "được biết" sẽ nhiều hơn. Chúng tôi rất cảm ơn Google đã lắng nghe ý kiến phản hồi, xem xét các tác động và thực hiện thay đổi để giúp hỗ trợ quá trình chuyển đổi dễ dàng hơn. Lee Graber, Kiến trúc sư kỹ thuật phần mềm, Tableau

Thông qua quy trình này, CHIPS đã được đơn giản hoá để các bên liên quan dễ dàng triển khai hơn, đồng thời vẫn bảo vệ quyền riêng tư cho người dùng.

Một thách thức khác trong việc triển khai CHIPS là giới hạn cookie tĩnh.
Để ngăn cookie chiếm nhiều bộ nhớ, thiết kế ban đầu đề xuất giới hạn số lượng là 10 cookie cho mỗi trang web trên mỗi phân vùng.

Akamai đã chia sẻ ý kiến phản hồi công khai rằng giới hạn đề xuất cho cookie được phân vùng có thể không đủ cho các dịch vụ như CDN cung cấp miền cấp cao nhất để lưu trữ nội dung của khách hàng (chẳng hạn như customer.cdn.xyz). Ví dụ: customer1.cdn.xyz và customer2.cdn.xyz đều có thể phân phối nội dung của bên thứ ba và mỗi miền có thể đặt một số cookie riêng. Nếu nhiều trang web của khách hàng như vậy được nhúng trên một trang web khác, thì các trang web đó có thể đạt đến hạn mức 10 cookie trên mỗi phân vùng.

Nhóm Chrome đã nhận được ý kiến phản hồi tương tự trong các diễn đàn khác, trong các cuộc họp với đối tác và các cuộc thảo luận trên W3C. Vì vậy, họ đã cân nhắc những cách tốt nhất để giải quyết thách thức mà giới hạn cookie đặt ra trong các trường hợp sử dụng này.

Sơ đồ cho thấy số lượng cookie SameSite=None tối đa mà một miền có trên máy của ứng dụng
Sơ đồ cho thấy số lượng cookie SameSite=None tối đa mà một miền có trên máy của ứng dụng

Sau khi cân nhắc cách kết hợp ý kiến phản hồi của cộng đồng, Chrome đã trình bày một ý tưởng mới tại TPAC 2022, đề xuất CHIPS chuyển từ giới hạn 10 cookie tĩnh sang giới hạn 10 kb _động_ dựa trên bộ nhớ. Phân tích cho thấy thay đổi này sẽ áp dụng cho 99% trường hợp sử dụng trên web và tuân thủ các nguyên tắc về quyền riêng tư mà Chrome đang cố gắng đạt được (hạn chế việc chia sẻ quá nhiều thông tin về người dùng trên các trang web) mà vẫn duy trì các trường hợp sử dụng chính.

Các nhà cung cấp trình duyệt khác đã đưa ra ý kiến cho biết họ đồng ý với giải pháp cập nhật này. Đây là điều quan trọng để đảm bảo CHIPS duy trì khả năng hỗ trợ trên nhiều trình duyệt trong PrivacyCG.

Do đó, Chrome đã áp dụng giới hạn mới và tích hợp giải pháp này vào thiết kế CHIPS.

Làm việc với ngành

Chúng tôi đã nhận được ý kiến của nhiều đối tác trong suốt quá trình phát triển CHIPS. Việc cùng nhau làm việc là yếu tố quan trọng trong nỗ lực cải thiện quyền riêng tư trên web.

Akamai có mối quan hệ hợp tác trên nhiều phương diện với các nhà lãnh đạo khác trong ngành như Google. Ý kiến phản hồi mà chúng tôi đưa ra trong trường hợp của chương trình CHIPS có vẻ như là một chi tiết nhỏ, nhưng sự thay đổi này sẽ giúp đảm bảo tác động tiêu cực ở mức tối thiểu đối với các trường hợp sử dụng hiệu quả, đồng thời vẫn đạt được mục tiêu cuối cùng. Các tổ chức của chúng tôi đang nỗ lực theo cách riêng để giúp Internet trở nên nhanh chóng và an toàn hơn. Khi chúng ta cùng nhau hợp tác, toàn bộ Internet sẽ trở nên tốt đẹp hơn. Martin Meyer, Kiến trúc sư cấp cao tại Akamai Technologies

CHIPS đã cho thấy rằng phản hồi từ hệ sinh thái là yếu tố thiết yếu để cải thiện các công nghệ trong Hộp cát về quyền riêng tư. Các cuộc trò chuyện trên web mở trong GitHub, các cuộc họp của W3C và sự tương tác liên tục với nhóm Chrome đã trực tiếp đóng góp vào những thay đổi hiện đã được triển khai trong phiên bản Chrome ổn định. Nhóm Chrome rất mong nhận được ý kiến phản hồi của bạn về nhiều đề xuất. Điều này sẽ tạo ra sự khác biệt lớn đối với cách phát triển và triển khai công nghệ trên web.