ตั้งแต่ Android 8.0 เป็นต้นไป อุปกรณ์ Android จะใช้ที่อยู่ MAC แบบสุ่มเมื่อ ตรวจสอบหาเครือข่ายใหม่ในขณะที่ไม่ได้เชื่อมโยงกับเครือข่าย ใน Android 9 คุณสามารถเปิดใช้ตัวเลือกสำหรับนักพัฒนาแอป (ปิดใช้โดยค่าเริ่มต้น) เพื่อให้อุปกรณ์ใช้ที่อยู่ MAC แบบสุ่มเมื่อเชื่อมต่อกับเครือข่าย Wi-Fi
ใน Android 10 ระบบจะเปิดใช้การสุ่ม MAC โดยค่าเริ่มต้น สำหรับโหมดไคลเอ็นต์, SoftAp และ Wi-Fi Direct
การสุ่ม MAC จะป้องกันไม่ให้ผู้ดักฟังใช้ที่อยู่ MAC เพื่อสร้างประวัติ กิจกรรมในอุปกรณ์ ซึ่งจะช่วยเพิ่มความเป็นส่วนตัวของผู้ใช้
นอกจากนี้ ระบบยังสุ่มที่อยู่ MAC เป็นส่วนหนึ่งของการดำเนินการ Wi-Fi Aware และ Wi-Fi RTT ด้วย
ดูข้อมูลเพิ่มเติมได้ที่ ลักษณะการทำงานของการสุ่ม MAC
การใช้งาน
วิธีใช้การสุ่ม MAC ในอุปกรณ์
ทำงานร่วมกับผู้ให้บริการชิป Wi-Fi เพื่อใช้เมธอด HAL ต่อไปนี้
IWifiStaIface#setMacAddress
: กำหนดค่าที่อยู่ MAC ของ อินเทอร์เฟซ การติดตั้งใช้งานเริ่มต้นจะปิดอินเทอร์เฟซ เปลี่ยน ที่อยู่ MAC และเปิดอินเทอร์เฟซอีกครั้งIWifiStaIface#getFactoryMacAddress
: รับ MAC จากโรงงานของwlan0
โดยใช้การเรียกioctl
ISupplicantP2pIface#setMacRandomization
: ตั้งค่าการสุ่ม MAC แบบ P2P เปิด/ปิดใน Supplicant
ตั้งค่า
config_wifi_connected_mac_randomization_supported
เป็นtrue
ในการตั้งค่าconfig.xml
(ทำได้ใน การซ้อนทับที่กำหนดเองของอุปกรณ์)- แฟล็กนี้ใช้เพื่อควบคุมว่าจะเปิดใช้การสุ่ม MAC ในโหมดไคลเอ็นต์หรือไม่
ตั้งค่า
config_wifi_p2p_mac_randomization_supported
เป็นtrue
ในการตั้งค่าconfig.xml
(ทำได้ใน การซ้อนทับที่กำหนดเองของอุปกรณ์)- แฟล็กนี้ใช้เพื่อควบคุมว่าจะเปิดใช้การสุ่มที่อยู่ MAC ของ Wi-Fi Direct หรือไม่
ทดสอบการติดตั้งใช้งานโดยใช้วิธีการที่อธิบายไว้ในการตรวจสอบ
UI ของระบบต้องมีลักษณะดังนี้
- มีตัวเลือกในการเปิดหรือปิดใช้การสุ่มสำหรับ SSID แต่ละรายการ
- เปิดใช้การสุ่มที่อยู่ MAC โดยค่าเริ่มต้นสำหรับเครือข่ายที่เพิ่มใหม่ทั้งหมด
ใช้ การใช้งานอ้างอิง ของ UI การตั้งค่าเพื่อใช้พรอมต์ใหม่
อุปกรณ์ที่ใช้ Android 9 หรือต่ำกว่าอาจไม่รองรับการสุ่ม MAC ของ Wi-Fi เมื่ออัปเกรดอุปกรณ์ดังกล่าวเป็น Android
10 คุณจะปิดใช้ฟีเจอร์การสุ่ม MAC ของ Wi-Fi ได้
โดยตั้งค่าแฟล็ก WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION
เป็น "จริง" ใน
ไฟล์ Make ของ HAL ของผู้ให้บริการ Wi-Fi
การตรวจสอบความถูกต้อง
หากต้องการตรวจสอบว่าฟีเจอร์ทำงานได้ตามที่ตั้งใจไว้ ให้ทำการทดสอบด้วยตนเองดังนี้
- ตรวจสอบว่าได้เปิดใช้การสุ่ม MAC ในอุปกรณ์โดยตรวจสอบว่าตั้งค่า
config_wifi_connected_mac_randomization_supported
เป็นtrue
ใน ภาพซ้อนทับของอุปกรณ์ - เชื่อมต่อเครือข่าย Wi-Fi
- แตะเครือข่ายเพื่อไปที่หน้ารายละเอียดเครือข่าย ตรวจสอบว่าเปิดการสุ่ม MAC แล้ว ตรวจสอบว่าที่อยู่ MAC ที่แสดงเป็น MAC แบบสุ่ม ซึ่งมีบิตที่สร้างขึ้นในเครื่องตั้งค่าเป็น 1 และ บิตแบบหลายผู้รับตั้งค่าเป็น 0
- ปิดการสุ่ม MAC เชื่อมต่อกับเครือข่ายเดียวกันและยืนยัน ว่ามีการใช้ MAC จากโรงงาน
- ลบเครือข่ายโดยแตะลืมในหน้ารายละเอียดเครือข่าย
เชื่อมต่อกับเครือข่ายเดียวกันและตรวจสอบว่าใช้ที่อยู่ MAC แบบสุ่มเดียวกัน
หากต้องการทดสอบการสุ่มที่อยู่ MAC ในอุปกรณ์ที่ใช้ Android เวอร์ชันก่อน 10 (รองรับการสุ่มที่อยู่ MAC) ให้อัปเกรดเป็น Android 10 ขึ้นไป
- มีเครือข่ายที่บันทึกไว้ในอุปกรณ์ที่ใช้ Android 9 หรือต่ำกว่าอย่างน้อย 1 เครือข่าย
- แฟลชอิมเมจระบบ Android 10
- ในตัวเลือก Wi-Fi ให้ตรวจสอบว่าได้ปิดการสุ่ม MAC สำหรับเครือข่ายที่บันทึกไว้ทั้งหมดแล้ว
- เปิดการสุ่ม MAC เชื่อมต่อกับเครือข่ายเดียวกันและตรวจสอบ ว่ามีการใช้ MAC แบบสุ่ม