WPA3 و Wi-Fi Enhanced Open

Android 10 پشتیبانی از Wi-Fi Alliance (WFA) Wi-Fi Protected Access نسخه 3 (WPA3) و استانداردهای باز پیشرفته Wi-Fi را معرفی می کند. برای اطلاعات بیشتر، به امنیت در سایت WFA مراجعه کنید.

WPA3 یک استاندارد امنیتی جدید WFA برای شبکه های شخصی و سازمانی است. هدف آن بهبود امنیت کلی Wi-Fi با استفاده از الگوریتم‌های امنیتی مدرن و مجموعه‌های رمز قوی‌تر است. WPA3 دارای دو بخش است:

  • WPA3-Personal: از احراز هویت همزمان برابر (SAE) به جای کلید مشترک (PSK) استفاده می کند و به کاربران محافظت های امنیتی قوی تری در برابر حملاتی مانند حملات فرهنگ لغت آفلاین، بازیابی کلید و جعل پیام ارائه می دهد.
  • WPA3-Enterprise: احراز هویت قوی‌تر و روش‌های رمزگذاری لایه پیوند و حالت امنیتی 192 بیتی اختیاری را برای محیط‌های امنیتی حساس ارائه می‌دهد.

Wi-Fi Enhanced Open یک استاندارد امنیتی جدید WFA برای شبکه های عمومی مبتنی بر رمزگذاری فرصت طلبانه بی سیم (OWE) است. رمزگذاری و حریم خصوصی را در شبکه های باز و بدون رمز عبور در مناطقی مانند کافه ها، هتل ها، رستوران ها و کتابخانه ها فراهم می کند. Open Enhanced احراز هویت ارائه نمی کند.

WPA3 و Wi-Fi Enhanced Open امنیت کلی Wi-Fi را بهبود می بخشد و حریم خصوصی و استحکام بهتری را در برابر حملات شناخته شده ارائه می دهد. از آنجایی که بسیاری از دستگاه‌ها هنوز از این استانداردها پشتیبانی نمی‌کنند یا هنوز نرم‌افزاری برای پشتیبانی از این ویژگی‌ها به‌روزرسانی نکرده‌اند، WFA حالت‌های انتقال زیر را پیشنهاد کرده است:

  • حالت انتقال WPA2/WPA3: نقطه دسترسی سرویس دهنده از استانداردهای WPA2 و WPA3 به طور همزمان پشتیبانی می کند. در این حالت، دستگاه‌های اندروید 10 از WPA3 برای اتصال استفاده می‌کنند و دستگاه‌هایی که اندروید 9 یا پایین‌تر دارند از WPA2 برای اتصال به همان نقطه دسترسی استفاده می‌کنند.
  • حالت انتقال WPA2/WPA3-Enterprise: نقطه دسترسی سرویس از استانداردهای WPA2-Enterprise و WPA3-Enterprise به طور همزمان پشتیبانی می کند.
  • حالت انتقال OWE: نقطه دسترسی سرویس دهی از استانداردهای OWE و Open به طور همزمان پشتیبانی می کند. در این حالت، دستگاه‌های اندروید 10 برای اتصال از OWE استفاده می‌کنند و دستگاه‌هایی که اندروید 9 یا پایین‌تر دارند، بدون هیچ گونه رمزگذاری به همان نقطه دسترسی متصل می‌شوند.

اندروید 12 از نشانگر Transition Disable پشتیبانی می کند، مکانیزمی که به دستگاه دستور می دهد از WPA2 استفاده نکند و به جای آن از WPA3 استفاده کند. هنگامی که دستگاهی این نشانه را دریافت می کند، از WPA3 برای اتصال به شبکه WPA3 که از حالت انتقال پشتیبانی می کند استفاده می کند. اندروید 12 همچنین از تبادل احراز هویت WPA3 Hash-to-Element (H2E) پشتیبانی می کند. برای اطلاعات بیشتر، مشخصات WPA3 را ببینید.

WPA3 و Wi-Fi Enhanced Open فقط در حالت کلاینت پشتیبانی می شوند.

پیاده سازی

برای پشتیبانی از WPA3 و Wi-Fi Enhanced Open، رابط Supplicant HAL را پیاده سازی کنید. با شروع اندروید 13، این رابط از AIDL برای تعریف HAL ​​استفاده می کند. برای نسخه‌های قبل از Android 13، رابط‌ها و پارتیشن‌های فروشنده از HIDL استفاده می‌کنند. رابط HIDL را می توان در hardware/interfaces/wifi/supplicant/1.3/ و رابط AIDL را می توان در hardware/interfaces/wifi/supplicant/aidl/ یافت.

برای پشتیبانی از WPA3 و OWE موارد زیر مورد نیاز است:

  • وصله های هسته لینوکس برای پشتیبانی از 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 شامل انواع مدیریت کلید جدید، و همچنین رمزهای زوجی، رمزهای گروهی، رمزهای مدیریت گروه و رمزهای 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 فعال نباشد، کاربران نمی توانند به صورت دستی این نوع شبکه ها را اضافه، اسکن یا متصل کنند.

اعتبار سنجی

برای تست پیاده سازی خود، تست های زیر را اجرا کنید.

تست های واحد

برای بررسی رفتار پرچم‌های قابلیت WPA3 و OWE SupplicantStaIfaceHalTest را اجرا کنید.

atest SupplicantStaIfaceHalTest

WifiManagerTest را برای تأیید رفتار APIهای عمومی برای این ویژگی اجرا کنید.

atest WifiManagerTest

تست های VTS

اگر رابط HIDL پیاده سازی شده است، اجرا کنید:

atest VtsHalWifiSupplicantV1_3TargetTest

اگر رابط AIDL پیاده سازی شده است، اجرا کنید:

atest VtsHalWifiSupplicantStaIfaceTargetTest