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

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

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

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

כתובות MAC הן באורך 48 ביט, ובדרך כלל הן מיוצגות על ידי 12 ספרות הקסדצימליות (6 אוקטטות, כי כל אוקטטה היא 8 ביט), כמו 00:11:22:AA:BB:CC. התכונה של רנדומיזציה של כתובת MAC מבצעת רנדומיזציה של הכתובת על ידי הגדרת הביט שמוקצה באופן מקומי ל-1, והביט לשידור יחיד ל-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, ה-framework משתמש ברנדומיזציה מתמשכת לכל הרשתות כשהרנדומיזציה של כתובות 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.