Android 10 ได้เพิ่มการรองรับ Wi-Fi Protected Access เวอร์ชัน 3 (WPA3) และมาตรฐาน Wi-Fi Enhanced Open ของ Wi-Fi Alliance (WFA) ดูข้อมูลเพิ่มเติมได้ที่ Security ในเว็บไซต์ WFA
WPA3 เป็นมาตรฐานความปลอดภัยใหม่ของ WFA สำหรับเครือข่ายส่วนตัวและเครือข่ายองค์กร โดยมีเป้าหมายเพื่อปรับปรุงความปลอดภัยโดยรวมของ Wi-Fi ด้วยการใช้อัลกอริทึมความปลอดภัยที่ทันสมัยและชุดการเข้ารหัสที่แข็งแกร่งขึ้น WPA3 มี 2 ส่วน ดังนี้
- 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 รองรับการระบุการปิดใช้การเปลี่ยนผ่าน ซึ่งเป็นกลไกที่สั่งให้อุปกรณ์ไม่ใช้ WPA2 และใช้ WPA3 แทน เมื่ออุปกรณ์ได้รับการระบุดังกล่าว อุปกรณ์จะใช้ WPA3 ในการเชื่อมต่อกับเครือข่าย WPA3 ที่รองรับโหมดเปลี่ยนผ่าน นอกจากนี้ Android 12 ยังรองรับการแลกเปลี่ยนการตรวจสอบสิทธิ์ WPA3 Hash-to-Element (H2E) ด้วย ดูข้อมูลเพิ่มเติมได้ใน ข้อมูลจำเพาะของ WPA3
WPA3 และ Wi-Fi Enhanced Open ได้รับการรองรับในโหมดไคลเอ็นต์เท่านั้น
การใช้งาน
หากต้องการรองรับ WPA3 และ Wi-Fi Enhanced Open ให้ใช้ Supplicant HAL Interface
ตั้งแต่ Android 13 เป็นต้นไป อินเทอร์เฟซจะใช้ Android Interface Definition Language (AIDL) สำหรับคำจำกัดความ HAL สำหรับรุ่นก่อน Android 13 อินเทอร์เฟซและพาร์ติชันของผู้ให้บริการจะใช้ HAL Interface Definition Language (HIDL) คุณดูอินเทอร์เฟซ HIDL ได้ที่
hardware/interfaces/wifi/supplicant/1.3/ และอินเทอร์เฟซ AIDL ได้ที่
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
เมธอด Public API พร้อมใช้งานใน Android 10 เพื่อให้แอปตรวจสอบการรองรับฟีเจอร์เหล่านี้ของอุปกรณ์ได้
WifiManager#isWpa3SaeSupportedWifiManager#isWpa3SuiteBSupportedWifiManager#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=yWPA3-Enterprise: ใส่ตัวเลือกการคอมไพล์
CONFIG_SUITEB192และCONFIG_SUITEBในไฟล์การกำหนดค่าwpa_supplicant# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=yWi-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 ผู้ใช้จะเพิ่ม สแกน หรือเชื่อมต่อกับเครือข่ายประเภทเหล่านี้ด้วยตนเองไม่ได้
การตรวจสอบ
หากต้องการทดสอบการใช้งาน ให้เรียกใช้การทดสอบต่อไปนี้
การทำ Unit Test
เรียกใช้ SupplicantStaIfaceHalTest เพื่อตรวจสอบลักษณะการทำงานของแฟล็กความสามารถ
สำหรับ WPA3 และ OWE
atest SupplicantStaIfaceHalTestเรียกใช้ WifiManagerTest เพื่อตรวจสอบลักษณะการทำงานของ Public API สำหรับฟีเจอร์นี้
atest WifiManagerTestการทดสอบ VTS
หากมีการใช้ HIDL Interface ให้เรียกใช้คำสั่งต่อไปนี้
atest VtsHalWifiSupplicantV1_3TargetTestหากมีการใช้ AIDL Interface ให้เรียกใช้คำสั่งต่อไปนี้
atest VtsHalWifiSupplicantStaIfaceTargetTest