L'authentification par procuration basée sur le certificat dans une application VPN iOS implique plusieurs étapes techniques centrées sur la configuration de VPN et les paramètres de proxy de manière appropriée tout en veillant à ce que les certificats soient déployés et gérés en toute sécurité sur l'appareil iOS. Cette méthode améliore la sécurité en utilisant des certificats numériques pour authentifier le client sur le serveur VPN et le proxy, éliminant ou réduisant le besoin d'identification entre l'utilisateur.
Configuration proxy VPN sur iOS
Dans iOS, la configuration proxy VPN peut être effectuée en spécifiant les paramètres de proxy pour la connexion VPN. Cette configuration peut être gérée manuellement ou automatiquement:
- La configuration du proxy manuel nécessite de spécifier l'adresse du proxy, le port et toute authentification nécessaire.
- La configuration de proxy automatique peut être définie à l'aide de fichiers proxy automatique-configuration (PAC) ou en utilisant le protocole Web de découverte automatique proxy (WPAD). Par exemple, les fichiers PAC peuvent être hébergés sur HTTPS et fournis à l'appareil via une URL.
L'utilisation d'une configuration proxy VPN garantit que le proxy est appliqué soit à toutes les connexions réseau si le VPN fournit l'itinéraire par défaut ou pour les hôtes sélectivement dans les domaines de recherche DNS du VPN si le VPN fonctionne en mode tunnel divisé. Cette configuration est cruciale pour diriger l'authentification du trafic à travers le proxy dans le cadre du tunnel VPN.
Configuration et validation du certificat
La mise en œuvre de l'authentification basée sur le certificat nécessite les considérations de certificat clés suivantes:
- Le serveur VPN doit présenter un certificat d'identité qui contient son nom DNS ou l'adresse IP dans le champ Alternative Nom (SubteralTName) pour valider l'authenticité du serveur au périphérique client.
- Ce certificat doit être signé par une autorité de certificat (CA) fiable par l'appareil client.
- Le périphérique client doit avoir le certificat CA installé pour faire confiance au certificat de serveur.
- Le serveur VPN doit être configuré pour accepter et valider les certificats clients. Ces certificats doivent être émis par un CA de confiance, et le serveur peut utiliser des champs dans le certificat client pour identifier les groupes d'utilisateurs ou les rôles.
- Les certificats doivent être valides, fiables et non expirés. Contrairement à certains protocoles, le serveur des configurations VPN iOS n'envoie pas la chaîne de confiance du certificat, donc l'appareil doit déjà faire installer la chaîne de confiance complète.
Déploiement des certificats sur les appareils iOS
Les appareils iOS peuvent utiliser efficacement l'authentification basée sur les certificats lorsque les certificats sont déployés correctement, souvent via des systèmes de gestion des périphériques mobiles (MDM) tels que Microsoft Intune. Les étapes clés du déploiement comprennent:
1. Importer et faire confiance au certificat CA racine du serveur VPN sur l'appareil. Cela implique généralement l'installation d'un profil de certificat de confiance sur l'appareil.
2. Configuration et déploiement des certificats d'authentification client. Ceux-ci peuvent être poussés à travers des profils qui prennent en charge les certificats de normes de normes de cryptographie (PKC) (PKCS).
3. Attribution des profils VPN qui spécifient l'authentification du certificat comme méthode de connexion.
4. Assurer que les certificats sont signalés de manière appropriée pour l'authentification des clients dans leurs principaux champs d'utilisation.
Les outils MDM aident à gérer ces certificats, en garantissant le respect des politiques de sécurité et en réduisant le risque de clés privées exposées en automatisant le déploiement sécurisé. Sans utiliser un MDM, l'installation manuelle des certificats sur les périphériques iOS échoue souvent pour l'authentification VPN basée sur des certificats, car le système empêche les applications client VPN d'accès librement à des certificats installés manuellement.
Authentification VPN et certificat par application
Apple prend en charge les configurations VPN par APP qui permettent à la connectivité VPN d'être portée à des applications individuelles plutôt qu'à l'échelle du système. Lors de la configuration de VPN par application avec l'authentification du certificat:
- Un profil de certificat racine de confiance doit être créé et poussé vers l'appareil.
- Un profil de certificat (SCEP ou PKCS) qui fournit le certificat client est configuré et attribué.
- Un profil VPN est créé en spécifiant le certificat client comme méthode d'authentification.
- Le VPN est affecté aux groupes de périphériques pour activer l'autorisation VPN par APP.
Cela préserve la sécurité d'authentification basée sur le certificat tout en permettant aux administrateurs de restreindre l'utilisation des VPN à des applications d'entreprise spécifiques, ce qui est particulièrement utile dans les environnements d'entreprise.
Implémentation technique dans les applications VPN iOS personnalisées
Pour les développeurs créant une application VPN iOS personnalisée qui utilise l'authentification par procuration basée sur des certificats, les composants et API suivants sont essentiels:
- Utilisez le framework NetworKextension pour configurer et gérer les connexions VPN.
- Configurez le NevpnManager ou NetUnnelProvider pour spécifier les paramètres de connexion VPN.
- Chargez en toute sécurité les certificats clients dans le portefeuille de l'application. Ces certificats doivent être accessibles par le profil de connexion VPN.
- Configurez l'authentification TLS pour le tunnel VPN et toute communication proxy en faisant référence au certificat client et en validant le certificat de serveur.
- Gérer les paramètres proxy par programmation, en spécifiant l'adresse et le port du serveur proxy dans le cadre de la configuration VPN, en prenant potentiellement les fichiers PAC.
- Implémentez la logique de validation du certificat dans le cadre du cycle de vie de la connexion VPN pour s'assurer que les certificats sont à jour et correspondent aux identités attendues.
- Fournir des mécanismes de renouvellement de certificat ou de réinscription à l'aide d'un protocole sécurisé comme SCEP lorsque les certificats expirent.
Les développeurs doivent également prendre en compte les exigences et les restrictions d'Apple sur l'accès au certificat et la configuration VPN sur iOS. Par exemple, l'application doit avoir des droits appropriés et les utilisateurs peuvent avoir besoin d'accepter l'installation de profils ou de certificats manuellement à moins que Géré via MDM.
défis et considérations
- IOS empêche les applications VPN d'utiliser des certificats clients en dehors des profils gérés via MDM, nécessitant des stratégies de déploiement d'entreprise.
- L'installation manuelle des certificats clients conduit souvent à des problèmes de connectivité en raison des restrictions de sable et d'accès aux certificats iOS.
- Le serveur VPN doit être correctement configuré pour gérer la validation du certificat client et garantir la correspondance des attributs de certificat aux autorisations de l'utilisateur.
- La configuration proxy sur VPN doit être compatible avec les mécanismes de tunneling et de routage du VPN; Le tunneling divisé peut nécessiter une configuration proxy supplémentaire.
- La garantie globale dépend de la gestion minutieuse du cycle de vie des certificats, y compris la délivrance, le renouvellement et la révocation.
Résumé
La mise en œuvre de l'authentification proxy basée sur les certificats dans une application VPN iOS implique la configuration du VPN pour utiliser les paramètres proxy (manuel ou PAC), le déploiement de certificats CA et client de confiance via des solutions MDM et spécifiant l'authentification des certificats dans les profils VPN. Le développement nécessite de tirer parti du framework NetworKextension d'Apple pour configurer les connexions VPN à l'aide de certificats stockés en toute sécurité dans le trousseau, garantissant l'authentification TLS aux niveaux VPN et proxy. En raison des restrictions du système iOS, le déploiement et la gestion des certificats sont généralement gérés via des outils MDM d'entreprise pour activer des expériences d'authentification transparentes et sécurisées.
Cette architecture garantit une authentification solide à l'aide de certificats, améliore la sécurité en supprimant les dépendances de mot de passe et prend en charge les scénarios d'entreprise tels que les configurations VPN par APP, toutes conformes aux cadres de sécurité et de gestion iOS.