ลักษณะการสุ่ม MAC

ฟีเจอร์การสุ่ม MAC ช่วยให้อุปกรณ์ใช้ที่อยู่ MAC แบบสุ่ม เมื่อเชื่อมต่อกับเครือข่าย Wi-Fi โปรดดูวิธีการติดตั้งใช้งานในหัวข้อ ใช้การสุ่มที่อยู่ MAC หน้านี้อธิบายลักษณะการทำงานของการสุ่ม MAC ใน Android

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

ตัวเลือกการสุ่ม MAC

รูปที่ 1 ตัวเลือกการสุ่ม MAC

ประเภทการสุ่ม MAC

เฟรมเวิร์ก Android ใช้การสุ่ม MAC 2 ประเภท ได้แก่ การสุ่มแบบถาวรและ การสุ่มแบบไม่ถาวร หากผู้ใช้ ปิดใช้การสุ่ม MAC ระบบจะใช้ที่อยู่ MAC จากโรงงาน

Android จะกำหนดประเภทการสุ่ม MAC ที่จะใช้เมื่ออุปกรณ์เชื่อมโยงกับเครือข่าย Wi-Fi โดยค่าเริ่มต้น Android จะใช้การสุ่มแบบถาวร ตั้งแต่ Android 12 เป็นต้นไป Android จะใช้การสุ่มแบบไม่ถาวรในสถานการณ์ต่อไปนี้

  • แอปคำแนะนำเครือข่ายระบุว่าควรใช้การสุ่มแบบไม่ถาวร สำหรับเครือข่ายผ่าน API WifiNetworkSuggestion.Builder#setMacRandomizationSetting
  • เครือข่ายเป็นเครือข่ายแบบเปิดที่ยังไม่พบแคพทีฟพอร์ทัล และ การวางซ้อน 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

ตัวเลือกการสุ่ม MAC ที่มี Wi-Fi ไม่ถาวร

รูปที่ 2 ตัวเลือกการสุ่ม MAC ที่มี Wi-Fi ไม่ถาวร