התנהגות הרנדומיזציה של כתובות MAC

התכונה 'רנדומיזציה של כתובת MAC' מאפשרת למכשירים להשתמש בכתובת MAC אקראית כשהם מתחברים לרשת Wi-Fi. הוראות להטמעה מפורטות במאמר הטמעה של הקצאת כתובות MAC אקראיות. בדף הזה מתואר אופן הפעולה של הקצאת כתובות MAC אקראיות ב-Android.

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

התכונה 'רנדומיזציה של כתובת MAC' משפרת את פרטיות המשתמשים באמצעות כתובת MAC אקראית כשמתחברים לרשת Wi-Fi.

כתובות MAC הן באורך 48 ביט, ובדרך כלל הן מיוצגות על ידי 12 ספרות הקסדצימליות (6 אוקטטות, כי כל אוקטטה היא 8 ביט), כמו 00:11:22:AA:BB:CC. התכונה של רנדומיזציה של כתובת ה-MAC מבצעת רנדומיזציה של הכתובת על ידי הגדרת הביט שמוקצה באופן מקומי כ-1, והביט unicast כ-0. שאר 46 הביטים הם אקראיים.

במכשירים שמותקנת בהם גרסת Android 10 ומעלה, המסגרת משתמשת כברירת מחדל בכתובת MAC אקראית. המשתמשים יכולים להפעיל או להשבית את האקראיות של כתובות ה-MAC ברשתות נפרדות באמצעות אפשרות במסך פרטי הרשת בהגדרות, כמו שמוצג באיור 1. אם משתמש משבית את רנדומיזציית כתובות ה-MAC ברשת, המסגרת משתמשת בכתובת ה-MAC של היצרן (כתובת ייחודית בעולם).

אפשרות רנדומיזציה של כתובות MAC

איור 1. אפשרות רנדומיזציה של כתובת MAC.

סוגים של רנדומיזציה של כתובות MAC

במסגרת Android נעשה שימוש בשני סוגים של רנדומיזציה של כתובות MAC: רנדומיזציה קבועה ו רנדומיזציה משתנה. אם המשתמש משבית את האקראיות של כתובת ה-MAC, נעשה שימוש בכתובת ה-MAC של היצרן.

מערכת Android קובעת באיזה סוג של אקראיות של כתובת MAC להשתמש כשהמכשיר משויך לרשת Wi-Fi. כברירת מחדל, מערכת Android משתמשת באקראיות מתמשכת. החל מ-Android 12, מערכת Android משתמשת באקראיות לא קבועה במצבים הבאים:

  • אפליקציה להצעת רשת מציינת שצריך להשתמש באקראיות לא קבועה ברשת באמצעות WifiNetworkSuggestion.Builder#setMacRandomizationSetting API.
  • הרשת היא רשת פתוחה שלא נתקלה בפורטל שבוי, והשכבה העליונה config_wifiAllowEnhancedMacRandomizationOnOpenSsids מוגדרת לtrue. השכבה הזו מושבתת (מוגדרת כ-false) כברירת מחדל.

ארגון בסדר אקראי קבוע

ב-Android, סוג האקראיות הקבוע מוגדר כברירת מחדל כשהתכונה של אקראיות כתובת ה-MAC מופעלת. מערכת Android יוצרת כתובת MAC אקראית וקבועה על סמך הפרמטרים של פרופיל הרשת, כולל SSID, סוג האבטחה או FQDN (ברשתות Passpoint). כתובת ה-MAC הזו לא משתנה עד שמבצעים איפוס להגדרות המפעל. כתובת ה-MAC לא משתנה באופן אקראי אם המשתמש שוכח את רשת ה-Wi-Fi ומוסיף אותה מחדש, כי כתובת ה-MAC תלויה בפרמטרים של פרופיל הרשת.

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

ב-Android מגרסה 10 ומגרסה 11, המסגרת משתמשת ברנדומיזציה מתמשכת לכל הרשתות כשהרנדומיזציה של כתובות MAC מופעלת.

רנדומיזציה לא קבועה

בסוג הרנדומיזציה הלא קבוע, שמשמש ברשתות מסוימות ב-Android 12 ואילך, מודול ה-Wi-Fi יוצר מחדש כתובת MAC אקראית בתחילת כל חיבור, או שהמסגרת משתמשת בכתובת ה-MAC האקראית הקיימת כדי להתחבר לרשת. מודול ה-Wi-Fi מבצע רנדומיזציה מחדש של כתובת ה-MAC במצבים הבאים:

  • התוקף של ההקצאה של כתובת ה-DHCP פג ועברו יותר מ-4 שעות מאז שהמכשיר התנתק מהרשת הזו.
  • כתובת ה-MAC האקראית הנוכחית של פרופיל הרשת נוצרה לפני יותר מ-24 שעות. רנדומיזציה מחדש של כתובת MAC מתבצעת רק בתחילת חיבור חדש. המכשיר לא יתנתק באופן פעיל מרשת ה-Wi-Fi כדי ליצור מחדש כתובת MAC אקראית.

אם אף אחת מהסיטואציות האלה לא מתרחשת, המסגרת משתמשת בכתובת ה-MAC הקודמת שעברה אקראיות כדי להתחבר לרשת.

אפשרות למפתחים לשינוי אקראי לא קבוע

במכשירים עם Android מגרסה 11 ואילך, המשתמשים יכולים להפעיל רנדומיזציה לא קבועה של כתובות MAC באופן גלובלי לכל רשתות ה-Wi-Fi (שבהן מופעלת רנדומיזציה של כתובות MAC) דרך המסך אפשרויות למפתחים. האפשרות להפעיל רנדומיזציה של כתובות MAC משתנות לכל הפרופילים נמצאת בהגדרות > אפשרויות למפתחים > רנדומיזציה של כתובות MAC משתנות ברשתות Wi-Fi.

אפשרות רנדומיזציה של כתובות MAC משתנות ברשתות Wi-Fi

איור 2. אפשרות רנדומיזציה של כתובות MAC משתנות ברשתות Wi-Fi.