Wi-Fi Easy Connect

اندروید ۱۰ پشتیبانی از پروتکل Wi-Fi Easy Connect را معرفی می‌کند که با نام پروتکل تأمین دستگاه (DPP) نیز شناخته می‌شود. Wi-Fi Easy Connect توسط اتحادیه Wi-Fi (WFA) به عنوان جایگزینی برای Wi-Fi Protected Setup (WPS) معرفی شد. WPS در اندروید ۹ منسوخ شد.

اتصال آسان وای‌فای روشی امن برای موارد زیر ارائه می‌دهد:

  • دستگاه‌های وای‌فای (از جمله دستگاه‌های بدون سر) را بدون وارد کردن رمز عبور به شبکه متصل کنید.
  • بدون دانستن یا وارد کردن رمز عبور به شبکه‌های وای‌فای متصل شوید.

بوت‌استرپ و احراز هویت با استفاده از یک URI پیکربندی می‌شوند که با اسکن یک کد QR (با استفاده از دوربین) به دست می‌آید، یا به صورت خارج از باند، مثلاً با استفاده از BLE یا NFC پیکربندی می‌شوند.

Wi-Fi Easy Connect از یک کانال رمزگذاری شده برای ارسال اعتبارنامه‌های Wi-Fi بین دستگاه‌ها استفاده می‌کند و از آنجا که از فریم‌های اقدام عمومی استفاده می‌شود، دستگاه‌ها می‌توانند از نقاط دسترسی موجود استفاده کنند.

اندروید ۱۰ فقط در حالت آغازگر از Wi-Fi Easy Connect پشتیبانی می‌کند (حالت پاسخ‌دهنده پشتیبانی نمی‌شود). این حالت‌های عملیاتی پشتیبانی می‌شوند:

  • آغازگر-تنظیم‌کننده: با اسکن کد QR، اعتبارنامه‌های شبکه را به دستگاه جدید ارسال کنید.
  • آغازگر-ثبت‌نام‌کننده: با اسکن کد QR شبکه به یک شبکه بپیوندید.

اندروید ۱۰ از پروتکل کلید از پیش اشتراک‌گذاری‌شده (PSK) برای WPA2 و پروتکل احراز هویت همزمان برابری‌ها (SAE) برای WPA3 پشتیبانی می‌کند.

اتصال آسان وای‌فای فقط در حالت کلاینت پشتیبانی می‌شود (حالت SoftAP پشتیبانی نمی‌شود).

پیاده‌سازی

برای پشتیبانی از اتصال آسان وای‌فای، رابط درخواست‌کننده ارائه شده در پروژه متن‌باز اندروید (AOSP) را پیاده‌سازی کنید. بسته به رابطی که پیاده‌سازی شده است، این رابط در آدرس زیر قرار دارد:

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

  • وصله‌های هسته لینوکس برای پشتیبانی از DPP:

    • cfg80211
    • nl80211
  • wpa_supplicant با پشتیبانی از DPP

  • درایور وای‌فای با پشتیبانی از DPP

  • سیستم عامل Wi-Fi با پشتیبانی از DPP

APIهای عمومی در اندروید ۱۰ برای استفاده توسط برنامه‌ها در دسترس هستند:

فعال کردن اتصال آسان وای‌فای

برای فعال کردن Wi-Fi Easy Connect در چارچوب اندروید، گزینه کامپایل CONFIG_DPP را در فایل پیکربندی wpa_supplicant ، android.config ، قرار دهید:

# Easy Connect (Device Provisioning Protocol - DPP)
CONFIG_DPP=y

اعتبارسنجی

برای آزمایش پیاده‌سازی خود، آزمایش‌های زیر را اجرا کنید.

تست‌های واحد

برای تأیید رفتار پرچم‌های قابلیت DPP، DppManagerTest را اجرا کنید.

atest DppManagerTest

آزمایش‌های VTS

اگر رابط HIDL پیاده‌سازی شده است، VtsHalWifiSupplicantV1_2TargetTest را اجرا کنید تا رفتار درخواست‌کننده HAL نسخه ۱.۲ را آزمایش کنید.

اگر رابط AIDL پیاده‌سازی شده باشد، VtsHalWifiSupplicantStaIfaceTargetTest را اجرا کنید تا رفتار رابط HAL را آزمایش کنید.