اندروید ۱۰ پشتیبانی از استانداردهای دسترسی محافظتشده وایفای نسخه ۳ (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=yWPA3-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