À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release au lieu de aosp-main pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Faire confiance lors de la première utilisation (TOFU)
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Pour les appareils exécutant Android 13 ou version ultérieure, Android est compatible avec l'approche d'authentification Trust on First Use (TOFU) (RFC7435), qui permet aux utilisateurs de faire confiance à un réseau d'entreprise (EAP) en installant l'autorité de certification racine utilisée par le serveur et en définissant son nom de domaine dans un réseau enregistré. TOFU permet à l'appareil d'obtenir une clé publique non authentifiée lorsqu'un utilisateur se connecte pour la première fois à un réseau d'entreprise et de conserver la clé pour les connexions ultérieures.
Arrière-plan
Contrairement aux réseaux personnels qui ne nécessitent qu'un mot de passe, les réseaux d'entreprise utilisent l'authentification par infrastructure à clé publique (PKI), qui nécessite que le client préinstalle des certificats. Sous Android 11 ou version antérieure, les utilisateurs peuvent sélectionner l'option Ne pas valider pour le certificat d'autorité de certification du serveur dans les paramètres réseau, ce qui permet de contourner la validation du certificat côté serveur. Toutefois, pour renforcer la sécurité et se conformer à la spécification WPA R2, Android 12 a introduit une exigence de validation du certificat de serveur pour les réseaux d'entreprise. Cette exigence supplémentaire a constitué un obstacle pour les utilisateurs, car ils doivent installer un certificat d'autorité de certification pour ces réseaux. Le TOFU permet aux utilisateurs de se connecter à un réseau d'entreprise basé sur la PKI en acceptant simplement son autorité de certification racine.
Comportement de la fonctionnalité
Les appareils compatibles avec TOFU affichent le comportement suivant lorsqu'un utilisateur se connecte à un réseau d'entreprise qui ne dispose pas d'une clé publique authentifiée déjà installée.
Se connecter à un nouveau réseau via le sélecteur de réseau Wi-Fi
Sélectionnez un nouveau réseau d'entreprise dans le sélecteur de réseau Wi-Fi.
L'appareil affiche une boîte de dialogue (figure 1) pour confirmer si le réseau est approuvé.
Appuyez sur Oui, connecter pour accepter la connexion au réseau ou sur Non, ne pas connecter pour la refuser.
Si vous appuyez sur Oui, se connecter, l'appareil configure automatiquement les paramètres de sécurité, se connecte au réseau et active la connexion automatique pour le réseau.
Si vous appuyez sur Non, ne pas connecter, l'appareil se déconnecte du réseau et la connexion automatique est désactivée pour le réseau.
Figure 1 : Boîte de dialogue pour la fonctionnalité TOFU
Se connecter à un réseau existant avec la connexion automatique activée
Lorsque vous vous connectez à un réseau d'entreprise pour lequel la connexion automatique est activée, mais qui ne dispose pas d'un certificat d'autorité de certification valide, l'appareil se connecte automatiquement, puis affiche une notification persistante (non ignorable).
Appuyez sur la notification.
L'appareil affiche une boîte de dialogue (figure 1) pour confirmer si le réseau est approuvé.
Appuyez sur Oui, connecter pour accepter la connexion au réseau ou sur Non, ne pas connecter pour la refuser.
Si vous appuyez sur Oui, se connecter, l'appareil configure automatiquement les paramètres de sécurité, se connecte au réseau et active la connexion automatique pour le réseau.
Si vous appuyez sur Non, ne pas connecter, l'appareil se déconnecte du réseau et la connexion automatique est désactivée pour le réseau.
Pour valider l'implémentation du TOFU sur votre appareil, utilisez les tests suivants:
CTS: CtsWifiTestCases
VTS: VtsHalWifiSupplicantStaNetworkTargetTest
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Trust on First Use (TOFU)\n\nFor devices running Android 13 or higher, Android\nsupports the Trust on First Use (TOFU) authentication approach\n([RFC7435](https://datatracker.ietf.org/doc/html/rfc7435.html)),\nwhich lets users trust an enterprise (EAP) network by installing the root CA\nused by the server and setting its domain name in a saved network. TOFU allows\nthe device to obtain an unauthenticated public key when a user first connects\nto an enterprise network and retain the key for subsequent connections.\n\nBackground\n----------\n\nCompared to personal networks that just require a password, enterprise networks\nuse public key infrastructure (PKI) authentication, which requires the client\nto preinstall certificates. In Android 11 or lower, users can select the\n*Do not validate* option for the server CA certificate in the network settings,\nbypassing the validation of the server side certificate. However, to strengthen\nsecurity and comply with the WPA R2 specification, Android 12 introduced a\nrequirement for enterprise networks to have server certificate validation. This\nadditional requirement created a barrier for users as they need to install a CA\ncertificate for such networks. TOFU provides a way for users to connect to a\nPKI-based enterprise network by simply accepting its root CA.\n\nFeature behavior\n----------------\n\nDevices that support TOFU display the following behavior when a user connects\nto an enterprise network that doesn't have an *already-installed*\nauthenticated public key.\n\n### Connect to new network through Wi-Fi picker\n\n1. Select a new enterprise network in Wi-Fi picker.\n\n The device displays a dialog (Figure 1) to confirm whether the\n network is trusted.\n2. Tap **Yes, connect** to accept the network connection, or tap **No, don't\n connect** to decline.\n\n - If you tap **Yes, connect**, the device automatically configures the\n security parameters, connects to the network, and enables autoconnect\n for the network.\n\n | **Note:** Misconfigured networks that use invalid or expired certificates might not allow any security validation by the device. In such cases, the device fails to connect to the network.\n - If you tap **No, don't connect**, the device disconnects from the\n network and disables autoconnect for the network.\n\n **Figure 1.** Dialog for the TOFU feature\n\n### Connect to existing network with autoconnect enabled\n\nWhen connecting to an enterprise network that has autoconnect enabled but\ndoesn't have a valid CA certificate, the device connects automatically, then\ndisplays a sticky (nondismissable) notification.\n\n1. Tap the notification.\n\n The device displays a dialog (Figure 1) to confirm whether the\n network is trusted.\n2. Tap **Yes, connect** to accept the network connection, or tap **No, don't\n connect** to decline.\n\n - If you tap **Yes, connect**, the device automatically configures the\n security parameters, connects to the network, and enables autoconnect\n for the network.\n\n | **Note:** Misconfigured networks that use invalid or expired certificates might not allow any security validation by the device. In such cases, the device fails to connect to the network.\n - If you tap **No, don't connect**, the device disconnects from the\n network and disables autoconnect for the network.\n\nImplementation\n--------------\n\nTo support the TOFU feature, implement the supplicant HALs provided in the\nAndroid Open Source Project (AOSP) at\n[`/hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant`](https://cs.android.com/android/platform/superproject/+/android-latest-release:hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant).\n\nThe following public APIs are available in Android 13\nfor use by apps:\n\n- [`WifiManager#isTrustOnFirstUseSupported()`](https://developer.android.com/reference/android/net/wifi/WifiManager#isTrustOnFirstUseSupported()): Indicates whether the device supports TOFU.\n- [`WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)`](https://developer.android.com/reference/android/net/wifi/WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)): Enables TOFU.\n- [`WifiEnterpriseConfig#isTrustOnFirstUseEnabled()`](https://developer.android.com/reference/android/net/wifi/WifiEnterpriseConfig#isTrustOnFirstUseEnabled()): Indicates whether TOFU is enabled.\n\nValidation\n----------\n\nTo validate the implementation of TOFU on your device, use the following tests:\n\n- CTS: `CtsWifiTestCases`\n- VTS: `VtsHalWifiSupplicantStaNetworkTargetTest`"]]