ฟีเจอร์การสุ่ม MAC ช่วยให้อุปกรณ์ใช้ที่อยู่ MAC แบบสุ่ม เมื่อเชื่อมต่อกับเครือข่าย Wi-Fi โปรดดูวิธีการติดตั้งใช้งานในหัวข้อ ใช้การสุ่มที่อยู่ MAC หน้านี้อธิบายลักษณะการทำงานของการสุ่ม MAC ใน Android
อุปกรณ์จะใช้ที่อยู่ MAC เมื่อเชื่อมต่อกับเครือข่าย Wi-Fi หรือจุดเข้าใช้งาน เนื่องจาก MAC Address เหล่านี้ส่งโดยไม่มีการเข้ารหัส จึงอาจถูกดักจับและนำไปใช้เพื่อติดตามตำแหน่งของผู้ใช้ได้ ในอดีต อุปกรณ์ใช้ที่อยู่ 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 address แบบสุ่มโดยค่าเริ่มต้น ผู้ใช้สามารถเปิดหรือปิดใช้การสุ่ม MAC สำหรับเครือข่ายแต่ละเครือข่ายผ่านตัวเลือกในหน้าจอรายละเอียดเครือข่ายในการตั้งค่า ตามที่แสดงในรูปที่ 1 หากผู้ใช้ปิดใช้การสุ่มที่อยู่ MAC สำหรับเครือข่าย เฟรมเวิร์กจะใช้ที่อยู่ MAC จากโรงงาน (ที่อยู่ที่ไม่ซ้ำกันทั่วโลก)
รูปที่ 1 ตัวเลือกการสุ่ม MAC
ประเภทการสุ่ม MAC
เฟรมเวิร์ก Android ใช้การสุ่ม MAC 2 ประเภท ได้แก่ การสุ่มแบบถาวรและ การสุ่มแบบไม่ถาวร หากผู้ใช้ ปิดใช้การสุ่ม 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
รูปที่ 2 ตัวเลือกการสุ่ม MAC ที่มี Wi-Fi ไม่ถาวร