اندروید ۱۰ پشتیبانی از استانداردهای دسترسی محافظتشده وایفای نسخه ۳ (WPA3) و وایفای پیشرفته باز اتحادیه وایفای (WFA) را معرفی میکند. برای اطلاعات بیشتر، به بخش امنیت در سایت WFA مراجعه کنید.
WPA3 یک استاندارد امنیتی جدید WFA برای شبکههای شخصی و سازمانی است. هدف آن بهبود امنیت کلی Wi-Fi با استفاده از الگوریتمهای امنیتی مدرن و مجموعههای رمزنگاری قویتر است. WPA3 دو بخش دارد:
- WPA3-Personal: از احراز هویت همزمان برابرها (SAE) به جای کلید از پیش اشتراکگذاری شده (PSK) استفاده میکند و محافظت امنیتی قویتری را در برابر حملاتی مانند حملات دیکشنری آفلاین، بازیابی کلید و جعل پیام در اختیار کاربران قرار میدهد.
- WPA3-Enterprise: روشهای قویتر احراز هویت و رمزگذاری لایه پیوند و یک حالت امنیتی ۱۹۲ بیتی اختیاری برای محیطهای امنیتی حساس ارائه میدهد.
Wi-Fi Enhanced Open یک استاندارد امنیتی جدید WFA برای شبکههای عمومی مبتنی بر رمزگذاری بیسیم فرصتطلبانه (OWE) است. این استاندارد، رمزگذاری و حریم خصوصی را در شبکههای باز و بدون رمز عبور در مناطقی مانند کافهها، هتلها، رستورانها و کتابخانهها فراهم میکند. Enhanced Open احراز هویت ارائه نمیدهد.
WPA3 و Wi-Fi Enhanced Open امنیت کلی Wi-Fi را بهبود میبخشند و حریم خصوصی و مقاومت بهتری در برابر حملات شناخته شده ارائه میدهند. از آنجایی که بسیاری از دستگاهها هنوز از این استانداردها پشتیبانی نمیکنند یا هنوز ارتقاء نرمافزاری برای پشتیبانی از این ویژگیها نداشتهاند، WFA حالتهای گذار زیر را پیشنهاد کرده است:
- حالت انتقال WPA2/WPA3: نقطه دسترسی ارائه دهنده به طور همزمان از استانداردهای WPA2 و WPA3 پشتیبانی میکند. در این حالت، دستگاههای اندروید ۱۰ از WPA3 برای اتصال استفاده میکنند و دستگاههایی که اندروید ۹ یا پایینتر دارند از WPA2 برای اتصال به همان نقطه دسترسی استفاده میکنند.
- حالت انتقال WPA2/WPA3-Enterprise: نقطه دسترسی ارائه دهنده به طور همزمان از استانداردهای WPA2-Enterprise و WPA3-Enterprise پشتیبانی میکند.
- حالت انتقال OWE: نقطه دسترسی ارائه دهنده به طور همزمان از OWE و استانداردهای باز پشتیبانی میکند. در این حالت، دستگاههای اندروید ۱۰ از OWE برای اتصال استفاده میکنند و دستگاههایی که اندروید ۹ یا پایینتر را اجرا میکنند، بدون هیچ رمزگذاری به همان نقطه دسترسی متصل میشوند.
اندروید ۱۲ از نشانگر غیرفعالسازی انتقال پشتیبانی میکند، مکانیسمی که به دستگاه دستور میدهد از WPA2 استفاده نکند و به جای آن از WPA3 استفاده کند. وقتی دستگاهی این نشانگر را دریافت میکند، از WPA3 برای اتصال به شبکه WPA3 که از حالت انتقال پشتیبانی میکند، استفاده میکند. اندروید ۱۲ همچنین از تبادل احراز هویت WPA3 Hash-to-Element (H2E) پشتیبانی میکند. برای اطلاعات بیشتر، به مشخصات WPA3 مراجعه کنید.
WPA3 و Wi-Fi Enhanced Open فقط در حالت کلاینت پشتیبانی میشوند.
پیادهسازی
برای پشتیبانی از WPA3 و Wi-Fi Enhanced Open، رابط Supplicant HAL را پیادهسازی کنید. با شروع از اندروید ۱۳، این رابط از زبان تعریف رابط اندروید (AIDL) برای تعریف HAL استفاده میکند. برای نسخههای قبل از اندروید ۱۳، رابطها و پارتیشنهای فروشنده از زبان تعریف رابط HAL (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 - درایور وایفای با پشتیبانی از SAE، SUITEB192 و OWE
- سیستم عامل Wi-Fi با پشتیبانی از SAE، SUITEB192 و OWE
- تراشه وایفای با پشتیبانی از WPA3 و OWE
متدهای API عمومی در اندروید ۱۰ در دسترس هستند تا برنامهها بتوانند پشتیبانی دستگاه از این ویژگیها را تعیین کنند:
-
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 در چارچوب اندروید:
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: گزینه کامپایل
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
برای تأیید رفتار APIهای عمومی برای این ویژگی، WifiManagerTest
را اجرا کنید.
atest WifiManagerTest
آزمایشهای VTS
اگر رابط HIDL پیادهسازی شده است، دستور زیر را اجرا کنید:
atest VtsHalWifiSupplicantV1_3TargetTest
اگر رابط AIDL پیادهسازی شده است، دستور زیر را اجرا کنید:
atest VtsHalWifiSupplicantStaIfaceTargetTest