WPA3 ו-Wi-Fi משופר

Android 10 כולל תמיכה ב-Wi-Fi Alliance (WFA) Wi-Fi Protected Access גרסה 3 (WPA3) ו-Wi-Fi Enhanced Open רגילים. לקבלת מידע נוסף מידע נוסף, ראה אבטחה באתר של WFA.

WPA3 הוא תקן אבטחה חדש של WFA לשימוש אישי וארגוני עמוקה מאוד, המטרה שלו היא לשפר את האבטחה הכוללת ב-Wi-Fi באמצעות אבטחה מודרנית אלגוריתמים וסוויטות הצפנה חזקות יותר. WPA3 כולל שני חלקים:

  • WPA3-Personal: שימוש באימות סימולטני של שווה (SAE) במקום מפתח משותף מראש (PSK), לספק למשתמשים אבטחה חזקה יותר אמצעי הגנה מפני מתקפות, כמו התקפות מילון אופליין, מפתחות וזיוף הודעות.
  • WPA3-Enterprise: אימות חזק יותר ושכבת קישור גבוהה יותר ומצב אבטחה אופציונלי של 192 סיביות בסביבות אבטחה.

Wi-Fi Enhanced Open הוא תקן אבטחה חדש של WFA ציבורי מבוססות על הצפנה אלחוטית אופורטוניסטית (OWE). הוא מספק הצפנה ופרטיות ברשתות פתוחות שאינן מוגנות באמצעות סיסמה, באזורים כמו בתי קפה, מלונות, מסעדות וספריות. התכונה 'פתיחה משופרת' לא מספקת אימות.

WPA3 ו-Wi-Fi Enhanced Open משפרות את אבטחת ה-Wi-Fi הכוללת ומספקות פרטיות וחוסן מפני מתקפות ידועות. הרבה מכשירים עדיין לא תומכים התקנים האלה או שעדיין לא היו להם שדרוגי תוכנה כדי לתמוך בתכונות אלה, ארגון WFA הציע את מצבי המעבר הבאים:

  • מצב מעבר WPA2/WPA3: נקודת הגישה למילוי בקשות תומכת ב-WPA2 וב-WPA2. תקני WPA3 בו-זמנית. במצב הזה, Android 10 מכשירים משתמשים ב-WPA3 כדי להתחבר, ומכשירים שמשתמשים ב-Android 9 ומטה משתמשים ב-WPA2 כדי להתחבר לאותה נקודת גישה.
  • מצב מעבר WPA2/WPA3-Enterprise: נקודת הגישה למילוי בקשות יש תמיכה בו-זמנית בתקנים WPA2-Enterprise ו-WPA3-Enterprise.
  • מצב מעבר OWE: נקודת הגישה למילוי בקשות תומכת גם ב-OWE וגם ב-Open Bidding בו-זמנית. במצב הזה, Android 10 מכשירים משתמשים ב-OWE כדי להתחבר, ומכשירים עם Android מגרסה 9 ומטה מתחברים לאותה נקודת גישה ללא הצפנה.

ב-Android 12 יש תמיכה בהגדרת 'השבתת מעבר', מנגנון מורה למכשיר לא להשתמש ב-WPA2 ולהשתמש ב-WPA3 במקום זאת. כשמכשיר מקבל את האינדיקציה הזו, הוא משתמש ב-WPA3 כדי להתחבר ל-WPA3 ברשת שתומכת במצב מעבר. 12 Android תומכת גם בחילופי אימות מסוג WPA3 עם גיבוב (hash) לרכיב (H2E). לקבלת מידע נוסף מידע נוסף, אפשר לעיין מפרט WPA3.

תמיכה ב-WPA3 וב-Wi-Fi פתוחה נתמכת רק במצב לקוח.

הטמעה

כדי לתמוך ב-WPA3 וב-Wi-Fi Enhanced Open, צריך להטמיע את הממשק Supplicant HAL. החל מ-Android 13, הממשק משתמש ב-AIDL להגדרת HAL. בגרסאות שלפני Android 13: ממשקים ומחיצות של ספקים משתמשים ב-HIDL. ניתן למצוא את ממשק HIDL ב- hardware/interfaces/wifi/supplicant/1.3/ וממשק AIDL נמצא hardware/interfaces/wifi/supplicant/aidl/,

כדי לתמוך במערכות WPA3 וב-OWE, צריך להוסיף את הפרטים הבאים:

  • תיקונים לליבה (kernel) של Linux לתמיכה ב-SAE וב-OWE

    • cfg80211
    • nl80211
  • wpa_supplicant עם תמיכה ב-SAE, SUITEB192 ו-OWE

  • מנהל התקן Wi-Fi עם תמיכה ב-SAE, SUITEB192 ו-OWE

  • קושחת Wi-Fi עם תמיכה ב-SAE, SUITEB192 ו-OWE

  • שבב Wi-Fi עם תמיכה ב-WPA3 וב-OWE

כדי לאפשר שימוש ב-methods של Public API ב-Android 10 כדי לקבוע אם המכשיר תומך בתכונות הבאות:

WifiConfiguration.java שכולל סוגים חדשים של ניהול מפתחות, וגם צופן צמדים, צופן קבוצות, צפנים לניהול קבוצות והצפנה של Suite B, שנדרשים ל-OWE, WPA3- Personal ו-WPA3-Enterprise.

הפעלת WPA3 ו-Wi-Fi Enhanced Open

כדי להפעיל את ההגדרות WPA3-Personal, WPA3-Enterprise ו-Wi-Fi Enhanced ב-Android framework:

  • WPA3-אישי: כוללים את אפשרות ההידור 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: כוללים את אפשרות ההידור 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 לא מופעלות, המשתמשים לא יוכל להוסיף רשתות, לסרוק אותן או להתחבר אליהן באופן ידני.

אימות

כדי לבדוק את ההטמעה, מריצים את הבדיקות הבאות.

בדיקות יחידה (unit testing)

הפעל SupplicantStaIfaceHalTest כדי לאמת את ההתנהגות של דגלי היכולת עבור WPA3 ו-OWE.

atest SupplicantStaIfaceHalTest

הפעל WifiManagerTest כדי לאמת את ההתנהגות של ממשקי ה-API הציבוריים לתכונה הזו.

atest WifiManagerTest

בדיקות VTS

אם הטמעתם את ממשק HIDL, מריצים את:

atest VtsHalWifiSupplicantV1_3TargetTest

אם ממשק AIDL מוטמע, מריצים את:

atest VtsHalWifiSupplicantStaIfaceTargetTest