‫WPA3 و Wi-Fi Enhanced Open

‫Android 10 از استانداردهای «دسترسی به Wi-Fi حفاظت‌شده نسخه ۳» (WPA3) و «Wi-Fi باز بهبودیافته» «اتحادیه Wi-Fi» (WFA) پشتیبانی می‌کند. برای اطلاعات بیشتر، به امنیت در سایت WFA مراجعه کنید.

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

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

‫Wi-Fi Enhanced Open استاندارد امنیتی جدید «اتحادیه Wi-Fi» برای شبکه‌های عمومی براساس رمزگذاری بی‌سیم فرصت‌طلبانه (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 به عنصر» (H2E) پشتیبانی می‌کند. برای اطلاعات بیشتر، مشخصات WPA3 را ببینید.

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

پیاده‌سازی

برای پشتیبانی از WPA3 و Wi-Fi Enhanced Open، رابط Supplicant HAL را پیاده‌سازی کنید. از Android 13، این میانای کاربری از «زبان تعریف میانای Android»‏ (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

روش‌های میانای برنامه‌سازی کاربردی عمومی در 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 (Wi-Fi باز پیشرفته): گزینه گردآوری 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 را اجرا کنید.

atest WifiManagerTest

آزمایش‌های VTS

اگر میانای HIDL پیاده‌سازی شده است، این دستور را اجرا کنید:

atest VtsHalWifiSupplicantV1_3TargetTest

اگر میانای AIDL پیاده‌سازی شده است، این دستور را اجرا کنید:

atest VtsHalWifiSupplicantStaIfaceTargetTest