Punkt dostępu (Hotspot 2.0)

Passpoint to protokół Wi-Fi Alliance (WFA) , który umożliwia urządzeniom mobilnym wykrywanie i uwierzytelnianie hotspotów Wi-Fi zapewniających dostęp do Internetu.

Wsparcie urządzenia

Aby obsługiwać Passpoint, producenci urządzeń muszą wdrożyć interfejs suplikanta. Począwszy od Androida 13, interfejs używa AIDL do definicji HAL. W wersjach wcześniejszych niż Android 13 interfejsy i partycje dostawców używają języka HIDL. Pliki HIDL znajdują się w hardware/interfaces/supplicant/1.x , a pliki AIDL w hardware/interfaces/supplicant/aidl . Suplikant zapewnia obsługę standardu 802.11u, w szczególności funkcje wykrywania i selekcji sieci, takie jak ogólna usługa reklamowa (GAS) i protokół zapytań o sieć dostępową (ANQP).

Realizacja

Android 11 lub nowszy

Aby obsługiwać Passpoint na urządzeniach z systemem Android 11 lub nowszym, producenci urządzeń muszą zapewnić obsługę oprogramowania układowego dla standardu 802.11u. Wszystkie pozostałe wymagania dotyczące obsługi Passpoint są zawarte w AOSP.

Android 10 lub starszy

W przypadku urządzeń z systemem Android 10 lub starszym producenci urządzeń muszą zapewnić obsługę zarówno platformy, jak i HAL/oprogramowania sprzętowego:

  • Struktura: Włącz Passpoint (wymaga flagi funkcji)
  • Oprogramowanie układowe: obsługa standardu 802.11u

Aby obsługiwać Passpoint, zaimplementuj Wi-Fi HAL i włącz flagę funkcji dla Passpoint. W device.mk znajdującym się w device/<oem>/<device> zmodyfikuj zmienną środowiskową PRODUCT_COPY_FILES , aby uwzględnić obsługę funkcji Passpoint:

PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml

Wszystkie pozostałe wymagania dotyczące obsługi Passpoint są zawarte w AOSP.

Walidacja

Aby sprawdzić poprawność implementacji funkcji Passpoint, użyj zestawu testów jednostkowych i testów integracyjnych dostępnych w pakiecie Android Comms Test Suite (ACTS).

Testy jednostkowe

Uruchom następujące testy jednostkowe pakietu Passpoint.

Testy serwisowe:

atest com.android.server.wifi.hotspot2

Testy menedżerskie:

atest android.net.wifi.hotspot2

Testy integracyjne (ACTS)

Zestaw testów ACTS Passpoint, znajdujący się w tools/test/connectivity/acts_tests/tests/google/wifi/WifiPasspointTest.py , implementuje zestaw testów funkcjonalnych.

Udostępnianie punktu Passpoint R1

System Android obsługuje Passpoint R1 od wersji Androida 6.0, umożliwiając udostępnianie poświadczeń Passpoint R1 (wersja 1) poprzez pobranie z Internetu specjalnego pliku zawierającego informacje o profilu i poświadczeniach. Klient automatycznie uruchamia specjalny instalator informacji Wi-Fi i umożliwia użytkownikowi przeglądanie części informacji przed zaakceptowaniem lub odrzuceniem treści.

Informacje o profilu zawarte w pliku służą do dopasowywania danych uzyskanych z punktów dostępu obsługujących Passpoint, a poświadczenia są automatycznie stosowane w przypadku każdej dopasowanej sieci.

Implementacja referencyjna systemu Android obsługuje protokoły EAP-TTLS, EAP-TLS, EAP-SIM, EAP-AKA i EAP-AKA'.

Mechanizm pobierania

Plik konfiguracyjny Passpoint musi znajdować się na serwerze internetowym i powinien być chroniony za pomocą protokołu TLS (HTTPS), ponieważ może zawierać hasło w postaci zwykłego tekstu lub dane klucza prywatnego. Treść składa się z zawiniętego, wieloczęściowego tekstu MIME reprezentowanego w formacie UTF-8 i zakodowanego w kodowaniu base64 zgodnie z sekcją 6.8 RFC-2045.

Klient wykorzystuje następujące pola nagłówka HTTP do automatycznego uruchomienia instalatora Wi-Fi na urządzeniu:

  • Content-Type musi być ustawiony na application/x-wifi-config .
  • Content-Transfer-Encoding musi być ustawione na base64 .
  • Nie można ustawić Content-Disposition .

Metodą HTTP używaną do pobrania pliku musi być GET. Za każdym razem, gdy żądanie HTTP GET z przeglądarki otrzyma odpowiedź zawierającą te nagłówki MIME, zostanie uruchomiona aplikacja instalacyjna. Pobieranie musi zostać rozpoczęte poprzez dotknięcie elementu HTML, takiego jak przycisk (automatyczne przekierowania do adresu URL pobierania nie są obsługiwane). To zachowanie jest specyficzne dla przeglądarki Google Chrome; inne przeglądarki internetowe mogą, ale nie muszą, zapewniać podobną funkcjonalność.

Skład pliku

Treść zakodowana w standardzie Base64 musi składać się z treści wieloczęściowej MIME z Content-Type multipart/mixed . Poniższe części składają się na poszczególne części wieloczęściowej treści.

Część Typ zawartości (mniej cudzysłowów) Wymagany Opis
Profil application/x-passpoint-profile Zawsze Ładunek w formacie OMA-DM SyncML zawierający MO w formacie Passpoint R1 PerProviderSubscription dla HomeSP i Credential .
Certyfikat zaufania application/x-x509-ca-cert Wymagane w przypadku protokołów EAP-TLS i EAP-TTLS Pojedynczy ładunek certyfikatu X.509v3 zakodowany w formacie Base64.
Klucz EAP-TLS application/x-pkcs12 Wymagane w przypadku protokołu EAP-TLS Struktura PKCS #12 ASN.1 zakodowana w formacie base64, zawierająca łańcuch certyfikatów klienta zawierający co najmniej certyfikat klienta i powiązany klucz prywatny. Kontener PKCS 12, a także klucz prywatny i certyfikaty muszą być zapisane jawnym tekstem i nie zawierać hasła.

Sekcję Profil należy przesłać w postaci tekstu XML zakodowanego w formacie Base64 i UTF-8, który określa części poddrzewa HomeSP i Credential w specyfikacji technicznej Passpoint R2 w wersji 1.0.0, sekcja 9.1.

Węzeł najwyższego poziomu musi mieć MgmtTree , a bezpośredni węzeł podrzędny musi mieć PerProviderSubscription . Przykładowy plik XML znajduje się w Przykładowy profil OMA-DM XML .

W HomeSP używane są następujące węzły poddrzewa:

  • FriendlyName : Należy ustawić; używany jako tekst wyświetlany
  • Nazwa FQDN : wymagana
  • RoamingConsortiumOI

W Credential używane są następujące węzły poddrzewa:

  • Realm : musi być niepustym ciągiem znaków
  • UsernamePassword : wymagane w przypadku protokołu EAP-TTLS z ustawionymi następującymi węzłami:

    • Username : ciąg zawierający nazwę użytkownika
    • Password : ciąg zakodowany w formacie Base64 (ustawiony na cGFzc3dvcmQ= , ciąg zakodowany w base64 dla „hasła”, w przykładzie poniżej)
    • EAPMethod/EAPType : należy ustawić na 21
    • EAPMethod/InnerMethod : Należy ustawić na jedną z wartości PAP , CHAP , MS-CHAP lub MS-CHAP-V2
  • DigitalCertificate : wymagany w przypadku protokołu EAP-TLS. Należy ustawić następujące węzły:

    • CertificateType ustawiony na x509v3
    • CertSHA256Fingerprint ustawiony na poprawny skrót SHA-256 certyfikatu klienta w sekcji MIME klucza EAP-TLS
  • SIM : Wymagana w przypadku EAP-SIM, EAP-AKA i EAP-AKA'. Pole EAPType musi być ustawione na odpowiedni typ EAP, a IMSI musi odpowiadać IMSI jednej z kart SIM zainstalowanych w urządzeniu w momencie udostępniania. Ciąg IMSI może składać się w całości z cyfr dziesiętnych, aby wymusić pełne dopasowanie równości, lub z 5 lub 6 cyfr dziesiętnych, po których następuje gwiazdka (*), aby złagodzić dopasowanie IMSI tylko do MCC/MNC. Na przykład ciąg IMSI 123456* pasuje do dowolnej karty SIM z MCC jako 123 i MNC jako 456.

W systemie Android 11 wprowadzono funkcje, dzięki którym udostępnianie usługi Passpoint R1 jest bardziej elastyczne.

Oddzielna nazwa domeny uwierzytelniania, autoryzacji i rozliczania (AAA).

Administratorzy sieci Passpoint, którzy wymagają nazwy domeny AAA określonej niezależnie od w pełni kwalifikowanej nazwy domeny (FQDN) ogłaszanej przez sieć za pośrednictwem protokołu Access Network Query Protocol (ANQP), mogą określić listę rozdzielonych średnikami nazw FQDN w nowym węźle w poddrzewie Extension . Jest to węzeł opcjonalny i urządzenia z systemem Android w wersji 10 lub starszej ignorują ten węzeł.

  • Android : Poddrzewo rozszerzeń Androida

    • AAAServerTrustedNames : wymagane w przypadku zaufanych nazw serwerów AAA z ustawionymi następującymi węzłami:

      • FQDN : ciąg znaków zawierający zaufane nazwy serwera AAA. Zaufane nazwy oddzielaj średnikami. Na przykład example.org;example.com .
Samopodpisane prywatne główne urzędy certyfikacji
Administratorzy sieci Passpoint, którzy wewnętrznie zarządzają swoimi certyfikatami, mogą udostępniać profile za pomocą prywatnego urzędu certyfikacji z podpisem własnym na potrzeby uwierzytelniania AAA.
Zezwalaj na instalację profili bez certyfikatu głównego urzędu certyfikacji
Certyfikat głównego urzędu certyfikacji dołączony do profilu służy do uwierzytelniania serwera AAA. Administratorzy sieci Passpoint, którzy chcą polegać na publicznych zaufanych głównych urzędach certyfikacji w zakresie uwierzytelniania serwerów AAA, mogą udostępniać profile bez certyfikatu głównego urzędu certyfikacji. W takim przypadku system weryfikuje certyfikaty serwera AAA z publicznymi certyfikatami głównego urzędu certyfikacji zainstalowanymi w magazynie zaufanych certyfikatów.

Udostępnianie Passpoint R2

W Androidzie 10 wprowadzono obsługę funkcji Passpoint R2. Passpoint R2 implementuje rejestrację online (OSU), standardową metodę udostępniania nowych profili Passpoint. Android 10 i nowsze wersje obsługują udostępnianie profili EAP-TTLS przy użyciu protokołu SOAP-XML w otwartym OSU ESS.

Obsługiwane funkcje Passpoint R2 wymagają jedynie kodu referencyjnego AOSP, nie jest wymagana obsługa dodatkowego sterownika ani oprogramowania sprzętowego). Kod referencyjny AOSP zawiera także domyślną implementację interfejsu użytkownika Passpoint R2 w aplikacji Ustawienia.

Gdy system Android wykryje punkt dostępu Passpoint R2, środowisko Androida:

  1. Wyświetla listę dostawców usług reklamowanych przez punkt dostępowy w selektorze Wi-Fi (oprócz wyświetlania identyfikatorów SSID).
  2. Monituje użytkownika o dotknięcie jednego z dostawców usług w celu skonfigurowania profilu Passpoint.
  3. Prowadzi użytkownika przez proces konfiguracji profilu Passpoint.
  4. Po pomyślnym zakończeniu instaluje powstały profil Passpoint.
  5. Powiązuje się z siecią Passpoint przy użyciu nowo udostępnionego profilu Passpoint.

Funkcje Passpoint R3

W systemie Android 12 wprowadzono następujące funkcje Passpoint R3, które poprawiają wygodę użytkownika i umożliwiają sieciom zgodność z lokalnymi przepisami:

Regulamin

Aby zapewnić dostęp do sieci, w niektórych lokalizacjach i miejscach wymagana jest akceptacja warunków. Ta funkcja umożliwia wdrożeniom sieciowym zastąpienie niezabezpieczonych portali przechwytujących, które korzystają z sieci otwartych, bezpieczną siecią Passpoint. Gdy użytkownik musi zaakceptować warunki, wyświetlane jest powiadomienie.

Adres URL warunków musi wskazywać bezpieczną witrynę internetową korzystającą z protokołu HTTPS. Jeśli adres URL wskazuje na niebezpieczną witrynę, framework natychmiast rozłącza się i blokuje sieć.

Adres URL informacji o miejscu

Umożliwia operatorom sieci i obiektów dostarczanie użytkownikowi dodatkowych informacji, takich jak mapy obiektów, katalogi, promocje i kupony. Po podłączeniu sieci do użytkownika wyświetlane jest powiadomienie.

Adres URL informacji o miejscu musi wskazywać bezpieczną witrynę internetową korzystającą z protokołu HTTPS. Jeśli adres URL wskazuje na niebezpieczną witrynę internetową, platforma ignoruje adres URL i nie wyświetla powiadomienia.

Inne funkcje Passpointa

W systemie Android 11 wprowadzono następujące funkcje Passpoint, które poprawiają wygodę użytkownika, zużycie energii i elastyczność wdrażania.

Egzekwowanie i powiadamianie o dacie ważności
Wymuszanie dat wygaśnięcia profili pozwala platformie uniknąć automatycznego łączenia się z punktami dostępu z wygasłymi poświadczeniami, które z pewnością zawiodą. Zapobiega to wykorzystaniu czasu antenowego oraz oszczędza baterię i przepustowość zaplecza. Struktura wyświetla powiadomienie użytkownikowi, gdy sieć odpowiadająca jego profilowi ​​znajdzie się w zasięgu, a profil wygaśnie.
Wiele profili z identyczną nazwą FQDN
Operatorzy wdrażający sieci Passpoint i korzystający z wielu identyfikatorów publicznej lądowej sieci komórkowej (PLMN) mogą udostępnić wiele profili Passpoint z tą samą nazwą FQDN, po jednym dla każdego identyfikatora PLMN, który jest automatycznie dopasowywany do zainstalowanej karty SIM i używany do łączenia sieci.

W systemie Android 12 wprowadzono następujące funkcje Passpoint, które poprawiają wygodę użytkownika, zużycie energii i elastyczność wdrażania:

Ozdobiony przedrostek tożsamości
Podczas uwierzytelniania w sieciach z dekoracją prefiksu, dekorowany prefiks tożsamości umożliwia operatorom sieci aktualizację identyfikatora dostępu do sieci (NAI) w celu wykonania jawnego routingu przez wiele serwerów proxy w sieci AAA (patrz RFC 7542 ). Android 12 implementuje tę funkcję zgodnie ze specyfikacją WBA dla rozszerzeń PPS-MO .
Natychmiastowa obsługa cofnięcia uwierzytelnienia
Umożliwia operatorom sieci sygnalizowanie urządzeniu, że usługa jest niedostępna dla danych uwierzytelniających używanych do uwierzytelniania w sieci przez określony czas (określany za pomocą opóźnienia). Po odebraniu tego sygnału urządzenia nie będą próbowały ponownie połączyć się z siecią przy użyciu tych samych danych uwierzytelniających, aż do upłynięcia limitu czasu. Natomiast urządzenia, które nie obsługują tej funkcji, mogą wielokrotnie próbować ponownie połączyć się z siecią, gdy usługa jest niedostępna.

Przykłady profili XML OMA-DM PerProviderSubscription-MO

Profil z podaniem nazwy użytkownika/hasła (EAP-TTLS)

Poniższy przykład ilustruje profil sieci z:

  • Przyjazna nazwa sieci ustawiona na Example Network
  • FQDN ustawiona na hotspot.example.net
  • Identyfikatory konsorcjum roamingowego (dla roamingu)
  • Dane uwierzytelniające z nazwą użytkownika user , password zakodowanym w formacie Base64 i dziedziną ustawioną na example.net
  • Metoda EAP ustawiona na 21 (EAP-TTLS)
  • Metoda wewnętrzna fazy 2 ustawiona na MS-CHAP-V2
  • Alternatywne nazwy domen AAA ustawione na trusted.com i trusted.net
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>Example Network</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>hotspot.example.net</Value>
        </Node>
        <Node>
          <NodeName>RoamingConsortiumOI</NodeName>
          <Value>112233,445566</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>example.net</Value>
        </Node>
        <Node>
          <NodeName>UsernamePassword</NodeName>
          <Node>
            <NodeName>Username</NodeName>
            <Value>user</Value>
          </Node>
          <Node>
            <NodeName>Password</NodeName>
            <Value>cGFzc3dvcmQ=</Value>
          </Node>
          <Node>
            <NodeName>EAPMethod</NodeName>
            <Node>
              <NodeName>EAPType</NodeName>
              <Value>21</Value>
            </Node>
            <Node>
              <NodeName>InnerMethod</NodeName>
              <Value>MS-CHAP-V2</Value>
            </Node>
          </Node>
        </Node>
      </Node>
      <Node>
        <NodeName>Extension</NodeName>
        <Node>
            <NodeName>Android</NodeName>
            <Node>
                <NodeName>AAAServerTrustedNames</NodeName>
                <Node>
                    <NodeName>FQDN</NodeName>
                    <Value>trusted.com;trusted.net</Value>
                </Node>
            </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

Profil z poświadczeniem certyfikatu cyfrowego (EAP-TLS)

Poniższy przykład ilustruje profil sieci z:

  • Przyjazna nazwa sieci ustawiona na GlobalRoaming
  • FQDN ustawiona na globalroaming.net
  • Identyfikatory konsorcjum roamingowego (dla roamingu)
  • Dziedzina ustawiona na users.globalroaming.net
  • Poświadczenie z certyfikatem cyfrowym z określonym odciskiem palca
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>GlobalRoaming</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>globalroaming.net</Value>
        </Node>
        <Node>
          <NodeName>RoamingConsortiumOI</NodeName>
          <Value>FFEEDDCC0,FFEEDDCC1,009999,008888</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>users.globalroaming.net</Value>
        </Node>
        <Node>
          <NodeName>DigitalCertificate</NodeName>
          <Node>
            <NodeName>CertificateType</NodeName>
            <Value>x509v3</Value>
          </Node>
          <Node>
            <NodeName>CertSHA256Fingerprint</NodeName>
            <Value>0ef08a3d2118700474ca51fa25dc5e6d3d63d779aaad8238b608a853761da533</Value>
          </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

Profil z danymi uwierzytelniającymi SIM (EAP-AKA)

Poniższy przykład ilustruje profil sieci z:

  • Przyjazna dla sieci nazwa ustawiona na Purple Passpoint
  • FQDN ustawiona na wlan.mnc888.mcc999.3gppnetwork.org
  • Dane uwierzytelniające SIM z identyfikatorem PLMN 999888
  • Metoda EAP ustawiona na 23 (EAP-AKA)
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>Purple Passpoint</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>purplewifi.com</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>wlan.mnc888.mcc999.3gppnetwork.org</Value>
        </Node>
        <Node>
          <NodeName>SIM</NodeName>
          <Node>
            <NodeName>IMSI</NodeName>
            <Value>999888*</Value>
          </Node>
          <Node>
            <NodeName>EAPType</NodeName>
            <Value>23</Value>
          </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

Doradztwo dotyczące uwierzytelniania

Urządzenia z systemem Android 8.x lub Android 9 z profilem Passpoint R1 EAP-SIM, EAP-AKA lub EAP-AKA nie będą automatycznie łączyć się z siecią Passpoint. Ten problem wpływa na użytkowników, operatorów i usługi, zmniejszając obciążenie Wi-Fi.

Człon Uderzenie Rozmiar wpływu
Przewoźnicy i dostawcy usług Passpoint Zwiększone obciążenie sieci komórkowej. Każdy operator korzystający z Passpoint R1.
Użytkownicy Stracona szansa na automatyczne połączenie z punktami dostępu Wi-Fi (AP) operatora, co skutkuje wyższymi kosztami transmisji danych. Każdy użytkownik posiadający urządzenie działające w sieci operatora obsługującej Passpoint R1.

Przyczyna niepowodzenia

Passpoint określa mechanizm dopasowujący reklamowanego dostawcę usług (ANQP) do profilu zainstalowanego na urządzeniu. Poniższe reguły dopasowujące dla EAP-SIM, EAP-AKA i EAP-AKA' stanowią częściowy zestaw reguł skupiających się na błędach EAP-SIM/AKA/AKA':

If the FQDN (Fully Qualified Domain Name) matches
    then the service is a Home Service Provider.
Else: If the PLMN ID (3GPP Network) matches
    then the service is a Roaming Service Provider.

Drugie kryterium zostało zmodyfikowane w Androidzie 8.0:

Else: If the PLMN ID (3GPP Network) matches AND the NAI Realm matches
    then the service is a Roaming Service Provider.

Dzięki tej modyfikacji system nie zaobserwował dopasowania do wcześniej działających dostawców usług, więc urządzenia Passpoint nie łączyły się automatycznie.

Obejścia

Aby obejść problem zmodyfikowanych kryteriów dopasowywania, przewoźnicy i dostawcy usług muszą dodać dziedzinę identyfikatora dostępu do sieci (NAI) do informacji publikowanych przez punkt dostępowy Passpoint.

Zalecanym rozwiązaniem dla dostawców usług sieciowych jest wdrożenie obejścia po stronie sieci, które skraca czas wdrożenia. Rozwiązanie po stronie urządzenia polega na tym, że producenci OEM pobiorą listę zmian (CL) z AOSP, a następnie zaktualizują urządzenia w terenie.

Poprawka sieciowa dla operatorów i dostawców usług Passpoint

Rozwiązanie po stronie sieci wymaga ponownej konfiguracji sieci w celu dodania elementu ANQP dziedziny NAI, jak opisano poniżej. Specyfikacje Passpoint nie wymagają elementu ANQP dziedziny NAI, ale dodanie tej właściwości jest zgodne ze specyfikacjami Passpoint, więc implementacje klientów zgodne ze specyfikacją nie powinny się zepsuć.

  1. Dodaj element ANQP dziedziny NAI.
  2. Ustaw podpole dziedziny NAI tak, aby odpowiadało Realm profilu zainstalowanego na urządzeniu.
  3. Ustaw następujące informacje w oparciu o każdy typ protokołu EAP:

    • EAP-TTLS: Ustaw EAPMethod(21) i obsługiwane typy uwierzytelniania wewnętrznego ( PAP , CHAP , MS-CHAP lub MS-CHAP-V2 )
    • EAP-TLS: Ustaw EAPMethod(13)
    • EAP-SIM: Ustaw EAPMethod(18)
    • EAP-AKA: Ustaw EAPMethod(23)
    • EAP-AKA': Ustaw EAPMethod(50)

Poprawka urządzenia/AOSP dla producentów OEM

Aby zaimplementować obejście po stronie urządzenia, producenci OEM muszą wybrać poprawkę CL aosp/718508 . Tę poprawkę można zastosować w następujących wersjach (nie dotyczy Androida 10 i nowszych):

  • Androida 9
  • Android 8.x

Po pobraniu łatki producenci OEM muszą zaktualizować urządzenia w terenie.