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