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