WPA3 และ Wi-Fi Enhanced Open

Android 10 มีการรองรับ Wi-Fi Alliance เวอร์ชัน 3 (WPA3) และมาตรฐาน Wi-Fi Enhanced Open ของ Wi-Fi Alliance (WFA) ดูข้อมูลเพิ่มเติมได้ที่ความปลอดภัยในเว็บไซต์ WFA

WPA3 เป็นมาตรฐานความปลอดภัย WFA ใหม่สำหรับเครือข่ายส่วนบุคคลและเครือข่ายระดับองค์กร โดยมีเป้าหมายเพื่อปรับปรุงความปลอดภัย Wi-Fi โดยรวมโดยใช้อัลกอริทึมการรักษาความปลอดภัยที่ทันสมัยและชุดการเข้ารหัสที่รัดกุมยิ่งขึ้น WPA3 มี 2 ส่วนดังนี้

  • WPA3-Personal: ใช้การตรวจสอบสิทธิ์พร้อมกันแบบเท่ากับ (SAE) แทนคีย์แบบแชร์ล่วงหน้า (PSK) ซึ่งช่วยให้ผู้ใช้ได้รับการป้องกันที่รัดกุมยิ่งขึ้นจากการโจมตี เช่น การโจมตีพจนานุกรมออฟไลน์ การกู้คืนคีย์ และการปลอมข้อความ
  • WPA3-Enterprise: มีการตรวจสอบสิทธิ์และวิธีการเข้ารหัสเลเยอร์ลิงก์ที่รัดกุมยิ่งขึ้น รวมถึงโหมดความปลอดภัย 192 บิตที่ไม่บังคับสำหรับสภาพแวดล้อมการรักษาความปลอดภัยที่มีความละเอียดอ่อน

Wi-Fi Enhanced Open เป็นมาตรฐานความปลอดภัย WFA ใหม่สำหรับเครือข่ายสาธารณะโดยอิงตามการเข้ารหัสแบบไร้สายตามโอกาส (OWE) ซึ่งให้การเข้ารหัสและความเป็นส่วนตัวในเครือข่ายแบบเปิดที่ไม่มีการป้องกันด้วยรหัสผ่านในพื้นที่ต่างๆ เช่น คาเฟ่ โรงแรม ร้านอาหาร และห้องสมุด การเปิดที่ปรับปรุงแล้ว ไม่มีการตรวจสอบสิทธิ์

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 ได้รับการสนับสนุนในโหมดไคลเอ็นต์เท่านั้น

การใช้งาน

ใช้อินเทอร์เฟซ HAL ของผู้สมัครเพื่อให้รองรับ WPA3 และ Wi-Fi Enhanced Open ตั้งแต่ Android 13 อินเทอร์เฟซจะใช้ AIDL เพื่อหาคำจำกัดความ HAL สำหรับรุ่นก่อน Android 13 อินเทอร์เฟซและพาร์ติชันผู้ให้บริการจะใช้ 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

เมธอด API สาธารณะพร้อมใช้งานใน Android 10 เพื่อให้แอปกำหนดการรองรับอุปกรณ์สำหรับฟีเจอร์เหล่านี้ได้

WifiConfiguration.java มีประเภทการจัดการคีย์ใหม่ๆ รวมถึงการเข้ารหัส Pairwise การเข้ารหัสกลุ่ม, การเข้ารหัสการจัดการกลุ่ม และการเข้ารหัส 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 ผู้ใช้จะเพิ่ม สแกน หรือเชื่อมต่อกับเครือข่ายประเภทดังกล่าวด้วยตนเองไม่ได้

การตรวจสอบความถูกต้อง

หากต้องการทดสอบการใช้งาน ให้ทำการทดสอบต่อไปนี้

การทดสอบ 1 หน่วย

เรียกใช้ SupplicantStaIfaceHalTest เพื่อตรวจสอบลักษณะการทำงานของแฟล็กความสามารถสำหรับ WPA3 และ OWE

atest SupplicantStaIfaceHalTest

เรียกใช้ WifiManagerTest เพื่อตรวจสอบลักษณะการทำงานของ API สาธารณะสำหรับฟีเจอร์นี้

atest WifiManagerTest

การทดสอบ VTS

หากใช้อินเทอร์เฟซ HIDL ให้เรียกใช้

atest VtsHalWifiSupplicantV1_3TargetTest

หากใช้อินเทอร์เฟซ AIDL ให้เรียกใช้

atest VtsHalWifiSupplicantStaIfaceTargetTest