התנהגות הרנדומיזציה של כתובות 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 וב-Android 11, ה-framework משתמש ברנדומיזציה קבועה לכל הרשתות כשהרנדומיזציה של כתובות MAC מופעלת.

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

בשיטה של יצירת כתובת 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.