פרטי כניסה לסשן לפי מכשיר (DBSC) הם יכולת חדשה באינטרנט שנועדה להגן על סשנים של משתמשים מפני גניבה של קובצי Cookie וחטיפת סשנים. התכונה הזו זמינה עכשיו לבדיקה כגרסת Origin Trial בגרסה 135 של Chrome.
רקע
קובצי cookie ממלאים תפקיד חיוני באימות באינטרנט, ומאפשרים למשתמשים להישאר מחוברים במהלך סשנים של גלישה. עם זאת, תוקפים מנצלים יותר ויותר קובצי cookie של אימות גנובים כדי לחטוף סשנים, לעקוף אימות רב-שלבי ומנגנוני אבטחה אחרים של התחברות.
מפעילי תוכנות זדוניות לעיתים קרובות מסלקים קובצי cookie של סשנים ממכשירים שנפרצו, ומאפשרים גישה לא מורשית לחשבונות משתמשים. קובצי cookie הם אסימונים למוכ"ז, ולכן הם מעניקים גישה ללא צורך בהוכחת בעלות, מה שהופך אותם ליעד משתלם לתוקפים.
מטרת התכונה 'פרטי כניסה לסשן לפי מכשיר' (DBSC) היא למנוע גניבה של קובצי cookie על ידי יצירת סשן מאומת שמקושר למכשיר. הגישה הזו מצמצמת את הסיכוי שקובצי cookie שדלפו יוכלו לגשת לחשבונות ממכשיר אחר.
איך זה עובד
DBSC כולל ממשק API חדש שמאפשר לשרתים ליצור סשן מאומת שמקושר למכשיר. כשמתחילים סשן, הדפדפן יוצר זוג מפתחות ציבורי-פרטי, ומאחסן את המפתח הפרטי באופן מאובטח באמצעות אחסון שמבוסס על חומרה, כמו מודול פלטפורמה מהימנה (TPM) אם הוא זמין.
לאחר מכן, הדפדפן מנפיק קובץ cookie רגיל של סשן. במהלך משך הסשן, הדפדפן מוכיח מדי פעם שהוא הבעלים של המפתח הפרטי ומריענן את קובץ ה-cookie של הסשן. אפשר להגדיר את משך החיים של קובץ ה-cookie קצר מספיק כדי שהגניבה של קובץ ה-cookie לא תהיה משתלמת לתוקפים.
רכיבים מרכזיים
רישום סשנים:
- כשמשתמש מתחבר לחשבון, השרת מבקש סשן שמקושר למכשיר באמצעות כותרת ה-HTTP
Sec-Session-Registration
. - הדפדפן יוצר זוג מפתחות חדש, ושומר את המפתח הפרטי באופן מאובטח.
- בנוסף, נוצר קובץ cookie לאימות לטווח קצר שמקושר לזוג המפתחות הזה.
- השרת משיייך את הסשן למפתח הציבורי התואם, כדי לוודא שאפשר להשתמש בסשן רק במכשיר המקורי.
- כשמשתמש מתחבר לחשבון, השרת מבקש סשן שמקושר למכשיר באמצעות כותרת ה-HTTP
רענון הסשן והוכחת בעלות:
- כשפג התוקף של קובץ ה-cookie לטווח קצר, Chrome מפעיל רענון של הסשן.
- הדפדפן שולח בקשה לנקודת קצה לרענון שהוגדרה על ידי השרת (שסופקה במהלך רישום הסשן), ואם השרת מספק אתגר, הוא שולח אתגר חתום באמצעות הכותרת
Sec-Session-Challenge
. - השרת מאמת את הוכחת הבעלות על ידי אימות התגובה החתומה באמצעות המפתח הפרטי של הסשן.
- אם הוא תקף, השרת מנפיק קובץ cookie חדש לטווח קצר, שמאפשר להמשיך את הסשן.
אחד היתרונות של הגישה הזו הוא ש-Chrome דוחה בקשות שבהן לא יהיה קובץ ה-cookie המעודכן לטווח קצר. כך קובצי ה-cookie שמקושרים לסשן יהיו זמינים באופן עקבי לאורך הסשן, ומפתחים יוכלו להסתמך עליהם בביטחון רב יותר בהשוואה לגישות שבהן ייתכן שתוקף קובצי ה-cookie יפוג או שהם ייעלמו בלי חידוש אוטומטי.
דוגמה להטמעה
שרת יכול לבקש סשן שמקושר למכשיר באופן הבא:
HTTP/1.1 200 OK
Sec-Session-Registration: (ES256);path="/refresh";challenge="12345"
כשהסשן פעיל, השרת יכול לאמת אותו באמצעות החלפת אתגר-תגובה:
HTTP/1.1 401 Unauthorized
Sec-Session-Challenge: "verify-session"
הדפדפן מגיב עם:
POST /refresh
Sec-Session-Response: "signed-proof"
יתרונות
- צמצום של גניבת קובצי cookie: גם אם קובצי cookie של סשן נגנבים, אי אפשר להשתמש בהם במכשיר אחר.
- שיפור האבטחה ללא שינויים משמעותיים בחוויית המשתמש: הפעולה מתבצעת באופן שקוף ברקע, בלי צורך באינטראקציה נוספת מצד המשתמש.
- הפחתת התלות בקובצי cookie לטווח ארוך של סשנים: קובצי cookie לטווח קצר מתעדכנים באופן אוטומטי כל עוד הסשן תקף במכשיר המקורי.
- תמיכה במנגנונים קריפטוגרפיים רגילים: כשהאפשרות זמינה, המערכת משתמשת באחסון מאובטח שמבוסס על TPM, ומספקת הגנה חזקה מפני זליגת מידע.
שיקולי פרטיות ואבטחה
תכונת DBSC נועדה לשפר את האבטחה תוך שמירה על פרטיות המשתמשים:
- אין וקטורים נוספים למעקב: כל סשן משויך לזוג מפתחות ייחודי, כדי למנוע מעקב בכמה סשנים.
- אין יצירה של טביעת אצבע של המכשיר לטווח ארוך: השרתים לא יכולים לקשר סשנים שונים באותו מכשיר, אלא אם המשתמש נתן לכך אישור מפורש.
- המשתמשים יכולים למחוק אותם: הסשנים והמפתחות נמחקים כשהמשתמש מנקה את נתוני האתר.
- תואמת למדיניות בנושא קובצי cookie: DBSC פועלת לפי אותם היקפי הגדרה מבוססי-אתר כמו קובצי cookie, וכך מוודאת שהיא לא גורמת לדליפות נתונים ממקורות שונים.
רוצה לנסות?
תקופת הניסיון של 'פרטי כניסה לסשן לפי מכשיר' זמינה בגרסת Chrome 135 ואילך.
לבדיקה מקומית
כדי לבדוק את DBSC באופן מקומי:
- עוברים אל
chrome://flags#device-bound-session-credentials
ומפעילים את התכונה.
לבדיקה ציבורית
כדי לבדוק את DBSC באמצעות גרסת המקור לניסיון בסביבה ציבורית:
- נכנסים אל הדף של גרסת המקור לניסיון ב-Chrome ומירשם.
מוסיפים את האסימון שסופק לכותרות ה-HTTP של האתר:
Origin-Trial: <your-trial-token>
משאבים
הצטרפו אלינו ועזרו לעצב את עתיד אבטחת האינטרנט
הצטרפו אלינו לשיפור האבטחה באימות באינטרנט. אנחנו מעודדים מפתחי אתרים לבדוק את DBSC, לשלב אותו באפליקציות שלהם ולשתף משוב. אתם יכולים ליצור איתנו קשר ב- GitHub או להשתתף בדיונים עם קבוצת העבודה בנושא אבטחת אפליקציות אינטרנט.
באמצעות הטמעת DBSC, אנחנו יכולים להפחית באופן קולקטיבי את הסיכונים לפריצה לסשנים ולשפר את אבטחת האימות של המשתמשים. מתחילים היום ומסייעים לעצב את עתיד אבטחת האינטרנט.