Passpoint ist ein Protokoll der Wi-Fi Alliance (WFA) , mit dem Mobilgeräte WLAN- Hotspots erkennen und sich bei ihnen authentifizieren können, um Internetzugriff zu erhalten.
Geräteunterstützung
Damit Gerätehersteller Passpoint unterstützen können, müssen sie die Supplicant-Schnittstelle implementieren. Ab Android 13 verwendet die Schnittstelle AIDL für die HAL-Definition.
Bei Versionen vor Android 13 werden HIDL für Schnittstellen und Anbieterpartitionen verwendet.
Die HIDL-Dateien befinden sich in hardware/interfaces/supplicant/1.x und die AIDL-Dateien in hardware/interfaces/supplicant/aidl.
Der Supplicant unterstützt den 802.11u-Standard, insbesondere Funktionen zur Netzwerkerkennung und ‑auswahl wie Generic Advertisement Service (GAS) und Access Network Query Protocol (ANQP).
Implementierung
Die Passpoint-Implementierung variiert je nach Android-Version.
Android 11 oder höher
Damit Gerätehersteller Passpoint auf Geräten mit Android 11 oder höher unterstützen können, müssen sie Firmware-Unterstützung für 802.11u bereitstellen. Alle anderen Anforderungen für die Unterstützung von Passpoint sind in AOSP enthalten.
Android 10 oder niedriger
Bei Geräten mit Android 10 oder niedriger müssen Gerätehersteller sowohl Framework- als auch HAL- und Firmware-Unterstützung bereitstellen:
- Framework: Passpoint aktivieren (erfordert ein Funktions-Flag)
- Firmware: Unterstützung für 802.11u
Implementieren Sie die WLAN-HAL und aktivieren Sie das Funktions-Flag für Passpoint, um Passpoint zu unterstützen. Ändern Sie in device.mk unter device/<oem>/<device> die
PRODUCT_COPY_FILES Umgebungsvariable, um Unterstützung für das
Passpoint-Feature einzuschließen:
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml
Alle anderen Anforderungen für die Unterstützung von Passpoint sind in AOSP enthalten.
Validierung
Führen Sie die folgenden Unit-Tests für das Passpoint-Paket aus, um die Implementierung des Passpoint-Features zu validieren:
Diensttests:
atest com.android.server.wifi.hotspot2Manager-Tests:
atest android.net.wifi.hotspot2Passpoint R1-Bereitstellung
Android unterstützt Passpoint R1 seit Android 6.0. Dadurch können Passpoint R1-Anmeldedaten (Version 1) über das webbasierte Herunterladen einer speziellen Datei bereitgestellt werden, die Profil- und Anmeldeinformationen enthält. Der Client startet automatisch ein spezielles Installationsprogramm für die WLAN-Informationen und ermöglicht es dem Nutzer, Teile der Informationen anzusehen, bevor er die Inhalte akzeptiert oder ablehnt.
Die in der Datei enthaltenen Profilinformationen werden verwendet, um Daten abzugleichen, die von Passpoint-fähigen Zugriffspunkten abgerufen wurden. Die Anmeldedaten werden automatisch für jedes übereinstimmende Netzwerk angewendet.
Die Android-Referenzimplementierung unterstützt EAP-TTLS, EAP-TLS, EAP-SIM, EAP-AKA und EAP-AKA'.
Download-Mechanismus
Die Passpoint-Konfigurationsdatei muss auf einem Webserver gehostet und mit TLS (HTTPS) geschützt werden, da sie möglicherweise Klartextpasswörter oder private Schlüsseldaten enthält. Der Inhalt besteht aus umschlossenem mehrteiligem MIME-Text, der in UTF-8 dargestellt und gemäß RFC-2045, Abschnitt 6.8, in Base64 codiert ist.
Die folgenden HTTP-Headerfelder werden vom Client verwendet, um automatisch ein WLAN-Installationsprogramm auf dem Gerät zu starten:
Content-Typemuss aufapplication/x-wifi-configgesetzt sein.Content-Transfer-Encodingmuss aufbase64gesetzt sein.Content-Dispositiondarf nicht festgelegt sein.
Die HTTP-Methode, die zum Abrufen der Datei verwendet wird, muss GET sein. Jedes Mal, wenn eine HTTP-GET-Anfrage vom Browser eine Antwort mit diesen MIME-Headern erhält, wird die Installations-App gestartet. Der Download muss durch Tippen auf ein HTML-Element wie eine Schaltfläche ausgelöst werden. Automatische Weiterleitungen zu einer Download-URL werden nicht unterstützt. Dieses Verhalten ist spezifisch für Google Chrome. Andere Webbrowser bieten möglicherweise ähnliche Funktionen.
Dateizusammensetzung
Der Base64-codierte Inhalt muss aus mehrteiligem MIME-Inhalt mit einem Content-Type von multipart/mixed bestehen. Die einzelnen Teile des mehrteiligen Inhalts bestehen aus den folgenden Teilen.
| Bestandteil | Content-Type (ohne Anführungszeichen) | Erforderlich | Beschreibung |
|---|---|---|---|
| Profil |
application/x-passpoint-profile
|
Immer | OMA-DM-SyncML-formatierte Nutzlast mit dem Passpoint R1 PerProviderSubscription-MO für HomeSP und Credential. |
| Vertrauenswürdiges Zertifikat |
application/x-x509-ca-cert
|
Erforderlich für EAP-TLS und EAP-TTLS | Eine einzelne base64-codierte X.509v3-Zertifikatsnutzlast. |
| EAP-TLS-Schlüssel |
application/x-pkcs12
|
Erforderlich für EAP-TLS | Eine base64-codierte PKCS #12 ASN.1-Struktur, die eine Clientzertifikatskette mit mindestens dem Clientzertifikat und dem zugehörigen privaten Schlüssel enthält. Der PKCS 12-Container sowie der private Schlüssel und die Zertifikate müssen alle im Klartext ohne Passwort vorliegen. |
Der Abschnitt „Profil“ muss als base64-codierter, UTF-8-codierter XML-Text übertragen werden, der Teile der Unterstrukturen HomeSP und Credential in der technischen Spezifikation für Passpoint R2, Version 1.0.0, Abschnitt 9.1, angibt.
Der Knoten der obersten Ebene muss MgmtTree sein und der unmittelbare Unterknoten muss PerProviderSubscription sein. Ein Beispiel für eine XML-Datei finden Sie unter
Beispiel für OMA-DM-XML für Profile.
Die folgenden Unterstrukturknoten werden unter HomeSP verwendet:
FriendlyName: Muss festgelegt sein; wird als Anzeigetext verwendetFQDN: ErforderlichRoamingConsortiumOI
Die folgenden Unterstrukturknoten werden unter Credential verwendet:
Realm: Muss ein nicht leerer String seinUsernamePassword: Erforderlich für EAP-TTLS mit den folgenden Knoten:Username: String mit dem NutzernamenPassword: Base64-codierter String (im folgenden Beispiel aufcGFzc3dvcmQ=gesetzt, den base64-codierten String für „password“)EAPMethod/EAPType: Muss auf21gesetzt seinEAPMethod/InnerMethod: Muss auf einen der folgenden Werte gesetzt sein:PAP,CHAP,MS-CHAP, oderMS-CHAP-V2
DigitalCertificate: Erforderlich für EAP-TLS. Die folgenden Knoten müssen festgelegt sein:CertificateTypeaufx509v3gesetztCertSHA256Fingerprintauf den korrekten SHA-256-Digest des Clientzertifikats im MIME-Abschnitt des EAP-TLS-Schlüssels gesetzt
SIM: Erforderlich für EAP-SIM, EAP-AKA und EAP-AKA'. Das FeldEAPTypemuss auf den entsprechenden EAP-Typ gesetzt sein undIMSImuss mit einer IMSI einer der SIM-Karten übereinstimmen, die zum Zeitpunkt der Bereitstellung im Gerät installiert sind. Der IMSI-String kann entweder nur aus Dezimalziffern bestehen, um eine vollständige Übereinstimmung zu erzwingen, oder aus 5 oder 6 Dezimalziffern, gefolgt von einem Sternchen (*), um die IMSI-Übereinstimmung auf MCC/MNC zu beschränken. Der IMSI-String123456*stimmt beispielsweise mit jeder SIM-Karte überein, bei der MCC123und MNC456ist.
Android 11 führt Funktionen ein, die die Passpoint R1-Bereitstellung flexibler machen.
- Separater AAA-Domainname (Authentifizierung, Autorisierung und Abrechnung)
Passpoint-Netzwerkadministratoren, die einen AAA-Domainnamen benötigen, der unabhängig vom voll qualifizierten Domainnamen (FQDN) angegeben wird, der vom Netzwerk über das Access Network Query Protocol (ANQP) beworben wird, können eine durch Semikolons getrennte Liste von FQDNs in einem neuen Knoten unter der Unterstruktur
Extensionangeben. Dies ist ein optionaler Knoten und Geräte mit Android 10 oder niedriger ignorieren diesen Knoten.Android: Unterstruktur für Android-ErweiterungenAAAServerTrustedNames: Erforderlich für vertrauenswürdige Namen von AAA-Servern mit den folgenden Knoten:FQDN: String mit den vertrauenswürdigen Namen von AAA-Servern. Trennen Sie die vertrauenswürdigen Namen durch Semikolons. Beispiel:example.org;example.com.
- Selbstsignierte private Stammzertifizierungsstellen
Passpoint-Netzwerkadministratoren, die ihre Zertifikate intern verwalten, können Profile mit einer privaten selbstsignierten Zertifizierungsstelle für die AAA-Authentifizierung bereitstellen.
- Installation von Profilen ohne Stamm-CA-Zertifikat zulassen
Das an das Profil angehängte Stamm-CA-Zertifikat wird für die AAA-Serverauthentifizierung verwendet. Passpoint-Netzwerkadministratoren, die für die AAA-Serverauthentifizierung auf öffentlich vertrauenswürdige Stammzertifizierungsstellen setzen möchten, können Profile ohne Stamm-CA-Zertifikat bereitstellen. In diesem Fall werden die AAA-Serverzertifikate anhand der im Trust Store installierten öffentlichen Stammzertifizierungsstellen-Zertifikate überprüft.
Passpoint R2-Bereitstellung
Android 10 hat die Unterstützung für Passpoint R2-Funktionen eingeführt. Passpoint R2 implementiert die Online-Registrierung (OSU), eine Standardmethode zur Bereitstellung neuer Passpoint-Profile. Android 10 und höher unterstützt die Bereitstellung von EAP-TTLS-Profilen mit dem SOAP-XML-Protokoll über offene OSU-ESS.
Für die unterstützten Passpoint R2-Funktionen ist nur AOSP-Referenzcode erforderlich. Zusätzliche Treiber- oder Firmware-Unterstützung ist nicht erforderlich. Der AOSP-Referenzcode enthält auch eine Standardimplementierung der Passpoint R2-UI in der App „Einstellungen“.
Wenn Android einen Passpoint R2-Zugriffspunkt erkennt, führt das Android-Framework Folgendes aus:
- Es zeigt im WLAN-Auswahlmenü eine Liste der vom ZP beworbenen Dienstleister an (zusätzlich zu den SSIDs).
- Es fordert den Nutzer auf, auf einen der Dienstanbieter zu tippen, um ein Passpoint-Profil einzurichten.
- Es führt den Nutzer durch den Einrichtungsprozess für das Passpoint-Profil.
- Bei erfolgreicher Einrichtung wird das resultierende Passpoint-Profil installiert.
- Es stellt mit dem neu bereitgestellten Passpoint-Profil eine Verbindung zum Passpoint-Netzwerk her.
Passpoint R3-Funktionen
Android 12 führt die folgenden Passpoint R3-Funktionen ein, die die Nutzerfreundlichkeit verbessern und es Netzwerken ermöglichen, lokale Gesetze einzuhalten:
- Nutzungsbedingungen
In einigen Orten und Veranstaltungsorten ist die Annahme der Nutzungsbedingungen rechtlich erforderlich, um Netzwerkzugriff zu erhalten. Mit dieser Funktion können Netzwerke unsichere Captive Portals, die offene Netzwerke verwenden, durch ein sicheres Passpoint-Netzwerk ersetzen. Der Nutzer wird benachrichtigt, wenn die Nutzungsbedingungen akzeptiert werden müssen.
Die URL der Nutzungsbedingungen muss auf eine sichere Website mit HTTPS verweisen. Wenn die URL auf eine unsichere Website verweist, wird die Verbindung sofort getrennt und das Netzwerk blockiert.
- URL mit Informationen zum Veranstaltungsort
Netzwerkbetreiber und Veranstaltungsorte können dem Nutzer zusätzliche Informationen zur Verfügung stellen, z. B. Karten, Verzeichnisse, Angebote und Gutscheine. Der Nutzer wird benachrichtigt, wenn das Netzwerk verbunden ist.
Die URL mit Informationen zum Veranstaltungsort muss auf eine sichere Website mit HTTPS verweisen. Wenn die URL auf eine unsichere Website verweist, wird sie vom Framework ignoriert und es wird keine Benachrichtigung angezeigt.
Weitere Passpoint-Funktionen
Android 11 führt die folgenden Passpoint-Funktionen ein, die die Nutzerfreundlichkeit, den Energieverbrauch und die Flexibilität bei der Bereitstellung verbessern.
- Erzwingen von Ablaufdaten und Benachrichtigungen
- Durch das Erzwingen von Ablaufdaten für Profile kann das Framework automatische Verbindungen zu Zugriffspunkten mit abgelaufenen Anmeldedaten vermeiden, die mit Sicherheit fehlschlagen. Dadurch wird die Nutzung der Airtime verhindert und Akku und Backend-Bandbreite werden geschont. Das Framework zeigt dem Nutzer eine Benachrichtigung an, wenn ein Netzwerk, das seinem Profil entspricht, in Reichweite ist und das Profil abgelaufen ist.
- Mehrere Profile mit identischem FQDN
- Mobilfunkanbieter, die Passpoint-Netzwerke bereitstellen und mehrere PLMN-IDs (Public Land Mobile Network) verwenden, können mehrere Passpoint-Profile mit demselben FQDN bereitstellen, eines für jede PLMN-ID. Diese werden automatisch mit der installierten SIM-Karte abgeglichen und verwendet, um eine Verbindung zum Netzwerk herzustellen.
Android 12 führt die folgenden Passpoint-Funktionen ein, die die Nutzerfreundlichkeit, den Energieverbrauch und die Flexibilität bei der Bereitstellung verbessern:
- Präfix für die dekorierte Identität
- Bei der Authentifizierung in Netzwerken mit einem Präfix für die dekorierte Identität können Netzwerkbetreiber den Network Access Identifier (NAI) aktualisieren, um explizites Routing über mehrere Proxys innerhalb eines AAA-Netzwerks durchzuführen (siehe RFC 7542). Android 12 implementiert diese Funktion gemäß der WBA-Spezifikation für PPS-MO-Erweiterungen.
- Umgang mit bevorstehender Deauthentifizierung
- Netzwerkbetreiber können einem Gerät signalisieren, dass der Dienst für die Anmeldedaten, die zur Authentifizierung im Netzwerk verwendet werden, für eine bestimmte Zeit (angegeben durch eine Timeout-Verzögerung) nicht verfügbar ist. Nachdem Geräte dieses Signal erhalten haben, versuchen sie erst nach Ablauf der Timeout-Verzögerung, mit denselben Anmeldedaten eine Verbindung zum Netzwerk herzustellen. Im Gegensatz dazu versuchen Geräte, die diese Funktion nicht unterstützen, möglicherweise wiederholt, eine Verbindung zum Netzwerk herzustellen, während der Dienst nicht verfügbar ist.
Beispiele für OMA-DM-XML-Profile für PerProviderSubscription-MO
Profil mit Anmeldedaten für Nutzername und Passwort (EAP-TTLS)
Das folgende Beispiel zeigt ein Profil für ein Netzwerk mit:
- Netzwerkname auf
Example Networkgesetzt - FQDN auf
hotspot.example.netgesetzt - Roaming-Konsortiums-OIs (für Roaming)
- Anmeldedaten mit Nutzername
user, Passwortpassword(mit Base64 codiert) und Realm aufexample.netgesetzt - EAP-Methode auf
21(EAP-TTLS) gesetzt - Innere Methode der Phase 2 auf
MS-CHAP-V2gesetzt - Alternative AAA-Domainnamen auf
trusted.comundtrusted.netgesetzt
<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 mit Anmeldedaten für ein digitales Zertifikat (EAP-TLS)
Das folgende Beispiel zeigt ein Profil für ein Netzwerk mit:
- Netzwerkname auf
GlobalRoaminggesetzt - FQDN auf
globalroaming.netgesetzt - Roaming-Konsortiums-OIs (für Roaming)
- Realm auf
users.globalroaming.netgesetzt - Anmeldedaten mit einem digitalen Zertifikat mit dem angegebenen Fingerabdruck
<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 mit SIM-Anmeldedaten (EAP-AKA)
Das folgende Beispiel zeigt ein Profil für ein Netzwerk mit:
- Netzwerkname auf
Purple Passpointgesetzt - FQDN auf
wlan.mnc888.mcc999.3gppnetwork.orggesetzt - SIM-Anmeldedaten mit PLMN-ID
999888 - EAP-Methode auf
23(EAP-AKA) gesetzt
<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>
PerProviderSubscription
Hinweis zur Authentifizierung
Geräte mit Android 8.x oder Android 9 mit einem Passpoint R1-Profil für EAP-SIM, EAP-AKA oder EAP-AKA' stellen keine automatische Verbindung zum Passpoint-Netzwerk her. Dieses Problem betrifft Nutzer, Mobilfunkanbieter und Dienste, da es die WLAN-Auslagerung reduziert.
| Segment | Auswirkungen | Umfang der Auswirkungen |
|---|---|---|
| Mobilfunkanbieter und Passpoint-Dienstanbieter | Erhöhte Last im Mobilfunknetz. | Alle Mobilfunkanbieter, die Passpoint R1 verwenden. |
| Nutzer | Verpasste Gelegenheit, automatisch eine Verbindung zu WLAN-Zugriffspunkten des Mobilfunkanbieters herzustellen (APs), was zu höheren Datenkosten führt. | Alle Nutzer mit einem Gerät, das in einem Mobilfunknetz mit Unterstützung für Passpoint R1 verwendet wird. |
Fehlerursache
Passpoint gibt einen Mechanismus an, um einen beworbenen (ANQP) Dienstanbieter mit einem auf dem Gerät installierten Profil abzugleichen. Die folgenden Abgleichsregeln für EAP-SIM, EAP-AKA und EAP-AKA' sind eine Teilmenge von Regeln, die sich auf die Fehler bei EAP-SIM/AKA/AKA' konzentrieren:
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.
Das zweite Kriterium wurde in Android 8.0 geändert:
Else: If the PLMN ID (3GPP Network) matches AND the NAI Realm matches
then the service is a Roaming Service Provider.
Durch diese Änderung wurde keine Übereinstimmung für zuvor funktionierende Dienstanbieter gefunden, sodass Passpoint-Geräte keine automatische Verbindung herstellten.
Problemumgehungen
Um das Problem der geänderten Abgleichskriterien zu umgehen, müssen Mobilfunkanbieter und Dienstanbieter den NAI-Realm (Network Access Identifier) zu den Informationen hinzufügen, die vom Passpoint-Zugriffspunkt veröffentlicht werden.
Die empfohlene Lösung besteht darin, dass Netzwerkdienstanbieter eine Problemumgehung auf Netzwerkseite implementieren, um die Bereitstellungszeit zu verkürzen. Eine Problemumgehung auf Geräteseite hängt davon ab, ob OEMs eine Änderungsliste (Changelist, CL) von AOSP übernehmen und dann Geräte im Feld aktualisieren.
Netzwerkseitige Lösung für Mobilfunkanbieter und Passpoint-Dienstanbieter
Für die Problemumgehung auf Netzwerkseite muss das Netzwerk neu konfiguriert werden, um das ANQP-Element für den NAI-Bereich wie folgt hinzuzufügen. Die Passpoint-Spezifikationen erfordern das ANQP-Element für den NAI-Realm nicht, aber das Hinzufügen dieser Eigenschaft entspricht den Passpoint-Spezifikationen, sodass spezifikationskonforme Clientimplementierungen nicht beeinträchtigt werden sollten.
- Fügen Sie das ANQP-Element für den NAI-Realm hinzu.
- Setzen Sie das Unterfeld für den NAI-Realm so, dass es mit dem
Realmdes auf dem Gerät installierten Profils übereinstimmt. - Legen Sie die folgenden Informationen basierend auf dem jeweiligen EAP-Typ fest:
- EAP-TTLS: Legen Sie
EAPMethod(21)und die unterstützten inneren Authentifizierungstypen (PAP,CHAP,MS-CHAPoderMS-CHAP-V2) fest. - EAP-TLS: Legen Sie
EAPMethod(13)fest. - EAP-SIM: Legen Sie
EAPMethod(18)fest. - EAP-AKA: Legen Sie
EAPMethod(23)fest. - EAP-AKA': Legen Sie
EAPMethod(50)fest.
- EAP-TTLS: Legen Sie
Geräte-/AOSP-Lösung für OEMs
Um eine Problemumgehung auf Geräteseite zu implementieren, müssen OEMs die Patch-CL aosp/718508 übernehmen. Dieser Patch kann auf die folgenden Versionen angewendet werden (gilt nicht für Android 10 oder höher):
- Android 9
- Android 8.x
Wenn der Patch übernommen wurde, müssen OEMs Geräte im Feld aktualisieren.