סקירה של שני האתגרים שבהם נתקל צוות Chrome בהטמעת CHIPS, והאופן שבו המשוב מהקהילה שיחק תפקיד מרכזי בהתפתחות העיצוב של ההצעה.
קובצי Cookie עם חלוקה עצמאית למחיצות (CHIPS) היא טכנולוגיה של ארגז החול לפרטיות שמאפשרת למפתחים להעביר קובץ cookie לאחסון 'מפוצל', עם מאגרי קובצי cookie נפרדים לכל אתר ברמה העליונה.
דוגמאות לתרחישים לדוגמה לשימוש ב-CHIPS כוללות כל תרחיש שבו משאבים משניים באתרים שונים דורשים מושג כלשהו של סשן או מצב מתמיד שמוגדר לפעילות של משתמש באתר יחיד ברמה העליונה, כמו ווידג'טים של צ'אט של צד שלישי, הטמעות של מפות, איזון עומסים של CDN במשאבים משניים, ספקי מערכת ניהול תוכן ללא ראש (headless) ועוד.
אנחנו מפתחים את CHIPS במטרה להפוך אותו לתקן פתוח באינטרנט. הנושא הזה נמצא כרגע בבדיקה ב-PrivacyCG, והוא עבר תקופת ניסיון של 7 חודשים במקור, שבמהלכה צוות Chrome קיבל משוב שימושי. במהלך הפיתוח, הצוות עבד עם בעלי עניין מרכזיים כדי לבחון את המשוב הזה, וכתוצאה מכך נוצר עיצוב מעודכן שמתאים יותר לסביבת האינטרנט.
נבחן שני אתגרים שעמדו בפני צוות Chrome בהטמעת CHIPS, ונראה איך המשוב מהקהילה שיחק תפקיד מרכזי בהתפתחות העיצוב של ההצעה.
הסרת הקידומת של המארח ללא דרישה ל-Domain
כדי לעודד שיטות אבטחה טובות, תכנון CHIPS מחייב להגדיר קובצי cookie רק באמצעות פרוטוקולים מאובטחים ולשלוח אותם רק דרך פרוטוקולים מאובטחים, וכן להגדיר קובצי cookie מחולקים באמצעות Secure
.
בנוסף לדרישות האלה, בהצעה המקורית נאסר השימוש במאפיין Domain
בקובצי cookie מחולקים. השמטת Domain
בקובצי cookie מנעה את השיתוף שלהם בין תת-דומיינים שונים של צד שלישי בתוך מחיצה.
במהלך תקופת הניסיון במקור, צוות Chrome שמע משותפים וגורמים אחרים בעלי עניין שהדרישה ללא דומיין מקשה על אתרים עם תת-דומיינים להטמיע את CHIPS. לדוגמה, יהיה קשה יותר ל-shop.example.com
ול-pay.example.com
לשתף קובצי cookie שמחולקים למחיצות. במקרים אחרים, הוא הקשה על תהליכי אימות בהקשרים מוטמעים.
צוות Chrome העריך את המשוב הזה וסיכם שהסרת הדרישה ללא דומיין לא תיצור בעיות פרטיות, אבל תשפר את נוחות השימוש. בתגובה, צוות המוצר של CHIPS פתח דיון ב-GitHub וביקש משוב נוסף לגבי הסרת הדרישה הזו. כמה חברות שבדקו את CHIPS הגיבו והביעו באופן ציבורי את החשיבות של השינוי הזה לתרחיש לדוגמה שלהן.
הצוות של Chrome העביר את המשוב לקבוצת הקהילה בנושא פרטיות של W3C והציג את ההצעה המעודכנת. דפדפני Firefox ו-Edge אישרו את השינוי, ודפדפן Safari לא העלה חששות. למחרת, צוות Chrome עדכן את Blink-Dev והציג את התוכנית להסרת הדרישה במאגר CHIPS ב-Github.
צוות CHIPS הציע את הדרישה הזו בהתחלה כדי להבטיח שאתרים לא יקבלו קובצי cookie חוצי-אתרים מדומיינים משניים זדוניים או שנפרצו, ולצמצם את האפשרות להשתמש בקובצי cookie ברמת הדומיין כערוץ לדליפת נתונים בין דומיינים משניים.
אמנם הדבר הביא לתועלות אבטחה נוספות, אבל ב-Tableau הדגישו שהדבר יצר אתגרים בהטמעת CHIPS, כי חלק מארכיטקטורות האפליקציות הקיימות מסתמכות על שיתוף קובצי cookie בין תת-דומיינים.
אחרי שהשינוי הזה בוצע ב-Chrome, חברת Tableau, שמפתחת את פלטפורמת הניתוח החזותי שנמצאת בבעלות Salesforce, שיתפה:
ההסרה של שינוי השם הופכת את הדרישה ליותר תואמת לשינויים הקודמים להוספת המאפיין SameSite=None, ולכן היא כמות 'מוכרת' יותר. אנחנו מודים ל-Google על כך שהקשיבה למשוב, בדקה את ההשלכות וביצעה את השינוי כדי לעזור בתהליך המעבר. לי גרבר (Lee Graber), ארכיטקטית של מהנדסי תוכנה, Tableau
התהליך הזה הקל על בעלי העניין להטמיע את CHIPS תוך שמירה על פרטיות המשתמשים.
מעבר מהגבלה סטטית על קובצי cookie להגבלה דינמית
האתגר השני בהטמעת CHIPS היה המגבלה על קובצי cookie סטטיים.
כדי למנוע ניצול זיכרון גדול בקובצי cookie, בתכנון הראשוני הוצע להגביל את מספר קובצי ה-cookie ל-10 לכל אתר ולכל מחיצה.
Akamai שיתפה משוב ציבורי לפיו המגבלה המוצעת על קובצי cookie מחולקים עשויה שלא להספיק לשירותים כמו רשתות CDN שמציעות דומיינים ברמה העליונה לאירוח התוכן של הלקוחות שלהן (למשל customer.cdn.xyz). לדוגמה, גם customer1.cdn.xyz וגם customer2.cdn.xyz יכולים לספק תוכן של צד שלישי, וכל אחד מהם יכול להגדיר כמה קובצי cookie משלו. אם כמה אתרים של לקוחות כמו זה מוטמעים באתר אחר, יכול להיות שהם יגיעו למגבלה של 10 קובצי cookie לכל מחיצה.
צוות Chrome קיבל משוב דומה בפורומים אחרים, בפגישות עם שותפים ובדיונים ב-W3C, ולכן הוא בחן את הדרכים הטובות ביותר לפתור את האתגר שהמגבלה על קובצי cookie מציבה בתרחישים לדוגמה האלה.

אחרי שבדקנו איך לשלב את המשוב מהקהילה, הצגנו ב-TPAC 2022 רעיון מעודכן ל-Chrome, לפיו CHIPS יעברו ממגבלה סטטית של 10 קובצי cookie למגבלה _דינמית_ של 10KB על סמך הזיכרון. מהניתוח עולה שהשינוי הזה אמור לכסות 99% מהתרחישים לדוגמה באינטרנט, ויעמוד בעיקרון הפרטיות ש-Chrome ניסה להשיג (הגבלת כמות המידע שמשותף על המשתמשים בין אתרים שונים), תוך שמירה על שימושים מרכזיים.
ספקים אחרים של דפדפנים הביעו את דעתם והסכימו לפתרון המעודכן. הדבר היה חשוב כדי להבטיח ש-CHIPS תמשיך לתמוך בדפדפנים שונים ב-PrivacyCG.
כתוצאה מכך, ב-Chrome אימצו את המגבלה החדשה ושילבו את הפתרון בתכנון של CHIPS.
עבודה עם התעשייה
שמענו משותפים רבים במהלך הפיתוח של CHIPS, והעבודה המשותפת הייתה חיונית במאמצים לשפר את הפרטיות באינטרנט.
ל-Akamai יש שיתוף פעולה במספר תחומים עם חברות מובילות אחרות בתחום, כמו Google. יכול להיות שהמשוב שסיפקנו לגבי תוכנית CHIPS נראה כמו פרט קטן, אבל השינוי הזה יעזור לנו להבטיח השפעה שלילית מינימלית על תרחישי שימוש טובים, ועדיין להשיג את היעד הסופי. הארגונים שלנו פועלים בדרכים שונות כדי להפוך את האינטרנט למהיר ומאובטח יותר, וכולנו מרוויחים כשאנחנו עובדים יחד. מרטין מאייר (Martin Meyer), ארכיטקט בכיר ב-Akamai Technologies
תוכנית CHIPS הוכיחה שמשוב מהסביבה העסקית חיוני לשיפור הטכנולוגיות בארגז החול לפרטיות. שיחות פתוחות באינטרנט ב-GitHub, פגישות ב-W3C ועזרה שוטפת מצוות Chrome תרמו ישירות לשינויים שהושקו עכשיו בגרסת Chrome היציבה. צוות Chrome רוצה לשמוע את המשוב הזה לגבי מגוון הצעות, והוא משפיע מאוד על האופן שבו הטכנולוגיות מפותחות ומושקות באינטרנט.