Android 10 แนะนำการรองรับ Wi-Fi Alliance's (WFA) Wi-Fi Protected Access เวอร์ชัน 3 (WPA3) และมาตรฐานเปิด Wi-Fi Enhanced สำหรับข้อมูลเพิ่มเติม โปรดดู ที่ ความปลอดภัย ในไซต์ WFA
WPA3 เป็นมาตรฐานความปลอดภัย WFA ใหม่สำหรับเครือข่ายส่วนบุคคลและองค์กร มีจุดมุ่งหมายเพื่อปรับปรุงความปลอดภัย Wi-Fi โดยรวมโดยใช้อัลกอริธึมความปลอดภัยที่ทันสมัยและชุดการเข้ารหัสที่แข็งแกร่งขึ้น WPA3 มีสองส่วน:
- WPA3-Personal: ใช้การตรวจสอบความถูกต้องของค่าเท่ากับ (SAE) พร้อมกันแทนคีย์ที่แชร์ล่วงหน้า (PSK) ซึ่งให้การปกป้องความปลอดภัยที่แข็งแกร่งยิ่งขึ้นแก่ผู้ใช้จากการโจมตี เช่น การโจมตีด้วยพจนานุกรมแบบออฟไลน์ การกู้คืนคีย์ และการปลอมแปลงข้อความ
- WPA3-Enterprise: เสนอวิธีการตรวจสอบสิทธิ์และการเข้ารหัสลิงค์เลเยอร์ที่แข็งแกร่งยิ่งขึ้น และโหมดความปลอดภัย 192 บิตที่เป็นตัวเลือกสำหรับสภาพแวดล้อมการรักษาความปลอดภัยที่ละเอียดอ่อน
Wi-Fi Enhanced Open เป็นมาตรฐานความปลอดภัย WFA ใหม่สำหรับเครือข่ายสาธารณะโดยอิงจากการเข้ารหัสไร้สายฉวยโอกาส (OWE) ให้การเข้ารหัสและความเป็นส่วนตัวบนเครือข่ายแบบเปิดที่ไม่มีการป้องกันด้วยรหัสผ่านในพื้นที่ต่างๆ เช่น ร้านกาแฟ โรงแรม ร้านอาหาร และห้องสมุด Enhanced Open ไม่มีการตรวจสอบสิทธิ์
WPA3 และ Wi-Fi Enhanced Open ปรับปรุงความปลอดภัย Wi-Fi โดยรวม ให้ความเป็นส่วนตัวและความทนทานที่ดีขึ้นต่อการโจมตีที่รู้จัก เนื่องจากอุปกรณ์จำนวนมากยังไม่รองรับมาตรฐานเหล่านี้หรือยังไม่มีการอัปเกรดซอฟต์แวร์เพื่อรองรับคุณลักษณะเหล่านี้ WFA จึงเสนอโหมดการเปลี่ยนภาพต่อไปนี้:
- โหมดการเปลี่ยนผ่าน WPA2/WPA3: จุดเชื่อมต่อที่ให้บริการรองรับมาตรฐาน WPA2 และ WPA3 พร้อมกัน ในโหมดนี้ อุปกรณ์ Android 10 จะใช้ WPA3 เพื่อเชื่อมต่อ และอุปกรณ์ที่ใช้ Android 9 หรือต่ำกว่าจะใช้ WPA2 เพื่อเชื่อมต่อกับจุดเข้าใช้งานเดียวกัน
- โหมดการเปลี่ยนผ่าน WPA2/WPA3-Enterprise: จุดเชื่อมต่อที่ให้บริการรองรับมาตรฐาน WPA2-Enterprise และ WPA3-Enterprise พร้อมกัน
- โหมดการเปลี่ยน OWE: จุดเชื่อมต่อที่ให้บริการรองรับทั้ง OWE และมาตรฐานเปิดพร้อมกัน ในโหมดนี้ อุปกรณ์ Android 10 จะใช้ OWE เพื่อเชื่อมต่อ และอุปกรณ์ที่ใช้ Android 9 หรือต่ำกว่าจะเชื่อมต่อกับจุดเชื่อมต่อเดียวกันโดยไม่มีการเข้ารหัส
Android 12 รองรับการบ่งชี้ Transition Disable ซึ่งเป็นกลไกที่สั่งให้อุปกรณ์ไม่ใช้ WPA2 และใช้ WPA3 แทน เมื่ออุปกรณ์ได้รับการบ่งชี้นี้ อุปกรณ์จะใช้ WPA3 เพื่อเชื่อมต่อกับเครือข่าย WPA3 ที่รองรับโหมดการเปลี่ยน Android 12 ยังรองรับการแลกเปลี่ยนการตรวจสอบสิทธิ์ WPA3 Hash-to-Element (H2E) สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ข้อกำหนด WPA3
รองรับ WPA3 และ Wi-Fi Enhanced Open ในโหมดไคลเอนต์เท่านั้น
การดำเนินการ
เพื่อรองรับ WPA3 และ Wi-Fi Enhanced Open ให้ใช้อินเทอร์เฟซ Supplicant HAL เริ่มต้นด้วย Android 13 อินเทอร์เฟซใช้ AIDL สำหรับคำจำกัดความ HAL สำหรับรุ่นก่อน Android 13 อินเทอร์เฟซและพาร์ติชั่นผู้ขายใช้ HIDL อินเทอร์เฟซ HIDL สามารถพบได้ใน hardware/interfaces/wifi/supplicant/1.3/
และ AIDL interface สามารถพบได้ใน hardware/interfaces/wifi/supplicant/aidl/
,
จำเป็นต้องมีสิ่งต่อไปนี้เพื่อรองรับ WPA3 และ OWE:
แพทช์เคอร์เนล Linux เพื่อรองรับ SAE และ OWE
- cfg80211
- nl80211
wpa_supplicant
พร้อมรองรับ SAE, SUITEB192 และ OWEไดรเวอร์ Wi-Fi พร้อมรองรับ SAE, SUITEB192 และ OWE
เฟิร์มแวร์ Wi-Fi พร้อมรองรับ SAE, SUITEB192 และ OWE
ชิป Wi-Fi พร้อมรองรับ WPA3 และ OWE
วิธีการ API สาธารณะมีอยู่ใน Android 10 เพื่อให้แอปสามารถระบุการสนับสนุนอุปกรณ์สำหรับคุณลักษณะเหล่านี้:
-
WifiManager#isWpa3SaeSupported
-
WifiManager#isWpa3SuiteBSupported
-
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
มีประเภทการจัดการคีย์แบบใหม่ เช่นเดียวกับรหัสคู่ รหัสกลุ่ม รหัสการจัดการกลุ่ม และรหัส Suite B ซึ่งจำเป็นสำหรับ OWE, WPA3-Personal และ WPA3-Enterprise
การเปิดใช้งาน WPA3 และ Wi-Fi Enhanced Open
วิธีเปิดใช้งาน WPA3-Personal, WPA3-Enterprise และ Wi-Fi Enhanced Open ในกรอบงาน Android:
WPA3-Personal: รวมอ็อพชันการคอมไพล์
CONFIG_SAE
ใน ไฟล์คอนฟิกูเรชันwpa_supplicant
# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise: รวมอ็อพชันการคอมไพล์
CONFIG_SUITEB192
และCONFIG_SUITEB
ในไฟล์คอนฟิกูเรชันwpa_supplicant
# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
Wi-Fi Enhanced Open: รวมตัวเลือกการคอมไพล์
CONFIG_OWE
ในไฟล์การกำหนดค่าwpa_supplicant
# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
หากไม่ได้เปิดใช้งาน WPA3-Personal, WPA3-Enterprise หรือ Wi-Fi Enhanced Open ผู้ใช้จะไม่สามารถเพิ่ม สแกน หรือเชื่อมต่อกับเครือข่ายประเภทนี้ได้ด้วยตนเอง
การตรวจสอบความถูกต้อง
ในการทดสอบการใช้งานของคุณ ให้รันการทดสอบต่อไปนี้
การทดสอบหน่วย
เรียกใช้ SupplicantStaIfaceHalTest
เพื่อตรวจสอบการทำงานของแฟล็กความสามารถสำหรับ WPA3 และ OWE
atest SupplicantStaIfaceHalTest
เรียกใช้ WifiManagerTest
เพื่อตรวจสอบการทำงานของ API สาธารณะสำหรับคุณลักษณะนี้
atest WifiManagerTest
การทดสอบบูรณาการ (ACTS)
หากต้องการเรียกใช้การทดสอบการรวม ให้ใช้ไฟล์ Android Comms Test Suite (ACTS) WifiWpa3OweTest.py
ซึ่งอยู่ใน tools/test/connectivity/acts_tests/tests/google/wifi
การทดสอบ VTS
หากใช้อินเทอร์เฟซ HIDL ให้เรียกใช้:
atest VtsHalWifiSupplicantV1_3TargetTest
หากใช้อินเทอร์เฟซ AIDL ให้รัน:
atest VtsHalWifiSupplicantStaIfaceTargetTest