התכונה 'רנדומיזציה של כתובת 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 של היצרן (כתובת ייחודית בעולם).
איור 1. אפשרות של רנדומיזציה של כתובת MAC.
סוגי רנדומיזציה של MAC
במסגרת Android נעשה שימוש בשני סוגים של רנדומיזציה של כתובות MAC: רנדומיזציה מתמשכת ורנדומיזציה לא מתמשכת. אם המשתמש משבית את הקצאת ה-MAC האקראית, המערכת משתמשת בכתובת ה-MAC של היצרן.
מערכת Android קובעת באיזה סוג יצירת כתובת MAC אקראית להשתמש כשהמכשיר משויך לרשת Wi-Fi. כברירת מחדל, Android משתמש ב-randomization מתמיד. החל מגרסה 12 של Android, מערכת Android משתמשת ברנדומיזציה לא מתמשכת במצבים הבאים:
- אפליקציה להצעות של רשתות מציינת שנעשה שימוש ברנדומיזציה לא עקבית ברשת דרך ה-API
WifiNetworkSuggestion.Builder#setMacRandomizationSetting
. - הרשת היא רשת פתוחה שלא נתקלה בפורטל שבוי, ושכבת-העל
config_wifiAllowEnhancedMacRandomizationOnOpenSsids
מוגדרת ל-true
. שכבת-העל הזו מושבתת כברירת מחדל (מוגדרת כ-false
).
רנדומיזציה קבועה
כשתכונת הרנדומיזציה של ה-MAC מופעלת, מערכת Android משתמשת בסוג הרנדומיזציה הקבוע כברירת מחדל. מערכת 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.
איור 2. אפשרות לרנדומיזציה של כתובות MAC בחיבור לא קבוע ל-Wi-Fi.