Question:
Eduroam nécessite l'installation d'un certificat CA - peuvent-ils décrypter le trafic TLS?
Ciprum
2020-04-11 16:50:19 UTC
view on stackexchange narkive permalink

Eduroam est une organisation qui fournit une connexion Wi-Fi gratuite aux établissements d'enseignement et dans certaines villes. Je ne comprends pas complètement comment fonctionne l'authentification, mais pour vous connecter, vous devez installer un certificat CA appelé eduroam_WPA_EAP_TTLS_PAP sur votre appareil. Je sais que les certificats CA sont utilisés pour décrypter le trafic TLS / SSL, cela ne signifie-t-il donc pas qu'Eduroam peut décrypter mon trafic étant donné que mon certificat est installé sur mon téléphone? Toute entrée est appréciée.

Le certificat spécifique ressemble à ceci (numéros modifiés pour la sécurité):

  $ openssl x509 -inform der -in ca.skole.hr.der -noout -texCertificate: Données: Version: 3 (0x2) Numéro de série: 0 (0x0) Algorithme de signature: sha1WithRSAEncryption Issuer: C = HR, ST = Zagreb, L = Zagreb, O = MZOS, OU = CARNet, CN = CA Root certificat skole.hr Validité Pas avant: 15 novembre 14:17:58 2011 GMT Pas après: 12 novembre 14:17:58 2021 GMT Objet: C = HR, ST = Zagreb, L = Zagreb, O = MZOS, OU = CARNet , CN = Certificat racine CA skole.hr Informations sur la clé publique du sujet: Clé publique Algorithme: rsaEncryption Clé publique RSA: (1024 bits) Module: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: e5: d0: 8f: 97: da: 63: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: e5: d0: 8f: 97: da: 63: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: e5: d0: 8f: 97: da: 63: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: e5: d0: 8f: 97: da: 63: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: e5: d0: 8f: 97: da: 63: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: e5: d0: 8f: 97: da: 63: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: e5: d0: 8f: 97: da: 63: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: e5: d0: 8f: 97: da: 63: 00: e5: a0: 99: 17: 88: 9d: 1c: 93 Exposant: 65537 (0x10001) Extensions X509v3: X509v3 Identificateur de clé de sujet: 00: e5: a0: 99: 17: 88: 9d: 1c: 9300: e5: a0: 99: 17: 88: 9d : 1c: 93
Identificateur de clé d'autorité X509v3: keyid: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: 00: e5: a0 X509v3 Basic Contraintes: CA: TRUE Signature Algorithm: sha1WithRSAEncryption 00: e5: a0: 99: 17: 88: 9d: 1c: 93: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: 00: e5: a0 : 99: 17: 88: 9d: 1c: 93: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: 00 : e5: a0: 99: 17: 88: 9d: 1c: 93: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: 00: e5: a0: 99: 17: 88: 9d: 1c : 93: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: 00: e5: a0: 99: 17: 88 : 9d: 1c: 93: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: 00: e5: a0: 99: 17: 88: 9d: 1c: 93: 00: e5: a0: 99 : 17: 88: 9d: 1c: 93: 00: e5  

Il est installé à l'aide de l'application Eduroam dans le stockage des identifiants Android et est "Installé pour le Wi-Fi", ce que je suppose signifie que l'identifiant est appliqué à tout le trafic WiFi.

Cela vous aiderait beaucoup si vous pouviez fournir le certificat et la documentation où vous êtes invité à l'installer.
Google ne trouve qu'un seul article sur `eduroam_WPA_EAP_TTLS_PAP`, et le certificat qui y est lié est l'autorité de certification racine` T-TeleSec GlobalRoot Class 2` qui est probablement déjà installée sur votre ordinateur - elle figure même sur la [liste de certificats CA inclus] de Mozilla (https: //ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport).
AiliskprewCMT Info ajoutée.
J'ai utilisé eduroam sur plusieurs universités sous Linux et Android, en utilisant les certificats système, sans avoir besoin d'en installer de nouveaux.Votre école a probablement gâché son installation ou sa page d'instructions.
Le fait qu'il s'appelle `WPA_EAP_TTLS_PAP`, qui est un protocole d'authentification utilisé avec le Wi-Fi, suggère qu'il est * destiné * à être utilisé pour crypter votre processus d'authentification.Bien sûr, peut-être qu'un attaquant intelligent appellerait son certificat pour vous induire en erreur, donc cela ne signifie pas qu'il est sûr.
Il devrait être possible de cliquer simplement sur l'avertissement de certificat lors de la première connexion, en l'épinglant ostensiblement pour vérifier d'autres connexions au réseau.L'installation du certificat CA pour l'authentification EAP minimise le risque de connexion à un point d'accès non autorisé, mais la confiance lors de la première utilisation est toujours bien meilleure que les points d'accès ouverts!
"Je sais que les certificats CA sont utilisés pour décrypter le trafic TLS / SSL" - Même s'il s'agissait d'un certificat CA ([et il ne semble pas que ce soit le cas] (https://security.stackexchange.com/a/229705/227004)), cela ne signifierait pas qu'Eduroam pourrait directement "décrypter" votre trafic.Cela signifierait qu'Eduroam pourrait, s'il le voulait, émettre de faux certificats d'entité finale pour foo.com ou autre, puis décrypter le trafic qui utilisait ces certificats particuliers.Toute autorité de certification, par exempleGeoTrust a ce pouvoir.[Ce billet de blog] (https://quuxplusone.github.io/blog/2020/01/26/openssl-part-3/#set-up-the-servers-private-key-and-certificate) pourrait aider à clarifier.
@Quuxplusone: ce certificat a BC.CA = true.Peut-être que c'est _intendu_ que pour 1x comme son nom l'indique, peut-être que c'est _utilisé_ que pour 1x, mais il est absolument _capable_ d'émettre de faux certificats qui pourraient être utilisés pour le décryptage si vous faites confiance (ce qui, d'après les réponses, semble qu'Android ne le fera pas.Cas)
Cinq réponses:
Esa Jokinen
2020-04-11 18:58:49 UTC
view on stackexchange narkive permalink

Ce certificat racine CA skole.hr n'est pas un certificat officiel Eduroam , mais un certificat CA probablement de l'école qui implémente Eduroam WiFi . Il est également plausible qu'il s'agisse d'un certificat d'autorité de certification tiers totalement indépendant utilisé pour l'espionnage; nous ne pouvons pas distinguer cela avec certitude.

Bien qu'il puisse être utilisé pour l'authentification WiFi, comme le suggère le WPA_EAP_TTLS_PAP , installé en tant qu'autorité de certification de confiance, il peut être utilisé pour signer n'importe quel certificat. Si vous installez l'autorité de certification, vous faites confiance à celui qui est derrière, et ils pourraient l'utiliser sur un proxy HTTPS d'interception, entre autres.

Si votre seule intention est de vous connecter au WiFi, il serait possible de sauter complètement l'installation du certificat, de faire confiance à n'importe quel certificat pour cette connexion et d'utiliser l'accès Internet avec prudence, comme vous utiliseriez n'importe quel WiFi gratuit. Cependant, comme cela pourrait compromettre le compte que vous utilisez pour le WiFi, le meilleur choix serait de limiter l’utilisation de l’autorité de certification uniquement pour l’authentification WiFi , comme expliqué dans les réponses de multithr3at3d et Ángel.

bonne explication.Alors en tant que POC, pourquoi ne pas utiliser ce certificat pour effectuer une attaque MITM et voir si le trafic peut être déchiffré?
Comment feriez-vous un POC AVEC ce certificat, sans avoir la clé privée?Vous pouvez le faire en créant un propre certificat avec les mêmes fonctionnalités (à savoir `CA: TRUE`), mais je sais déjà comment il se comporte.
Merci d'avoir répondu.Être connecté au WiFi de l'école tout en ayant ce certificat installé est-il suffisant pour qu'ils décrypteront mon trafic (en supposant que l'école puisse voir tous les paquets sur son réseau)?Ou auraient-ils besoin d'un logiciel supplémentaire installé sur mon appareil pour ce faire?
Une interception HTTPS nécessite de mettre fin à la connexion, c'est-à-dire de chiffrer séparément à la fois vers vous et vers les serveurs.Vous pouvez consulter (par exemple dans votre navigateur) le certificat du site que vous visitez.Vérifiez s'il est émis par cette autorité de certification ou par l'autorité de certification d'origine.
Sûr.Btw, y a-t-il un moyen d'installer ce certificat d'une manière qui lui permettrait uniquement d'être utilisé pour se connecter au WiFi?Mon téléphone Android 9 n'affiche pas le certificat sous "Certificats d'autorité de certification d'utilisateur de confiance", mais sous "Informations d'identification de l'utilisateur" et il est indiqué "Cette entrée contient: un certificat de CA", il est donc possible qu'il ne puisse pas être utilisé pour déchiffrer montrafic?
S'il vous plaît voir ma réponse pour quelques contrepoints.
multithr3at3d
2020-04-12 00:56:16 UTC
view on stackexchange narkive permalink

Premièrement, Android propose deux options d'importation distinctes pour une raison. VPN et applications est destiné au trafic HTTPS général de toutes vos applications, y compris les navigateurs. Vous pouvez installer vos propres autorités de certification ici si vous souhaitez par exemple intercepter votre propre trafic. Le WiFi sert à identifier les réseaux WiFi d'entreprise, mais n'affecte pas le trafic normal, à ma connaissance. Cela nous amène à la partie suivante.

Vous devez toujours spécifier un certificat CA lorsque vous vous connectez aux réseaux WiFi d'entreprise. 802.1X prend en charge un certain nombre de protocoles d'authentification (par exemple EAP-TLS); l'autorité de certification est généralement utilisée pour vérifier le certificat du serveur d'authentification. Si vous ne spécifiez pas d'autorité de certification, votre client acceptera le serveur avec lequel il communique. Le résultat, selon le type d'authentification, est que vous transmettez peut-être des informations d'identification en texte brut (vos informations d'identification pour votre organisation participant à eduroam) à un attaquant. Cela peut être fait facilement avec une attaque jumelle diabolique, en utilisant un outil tel que EAPHammer. Rien n'empêche quelqu'un d'effectuer cette attaque avec l'EDuroam ESSID et de voler vos informations d'identification. Pour cette raison, vous devez toujours spécifier une autorité de certification lors de la connexion.

C'est le revers de la médaille.Ce problème n'existerait pas si le WiFi utilisait un certificat signé par une autorité de certification appropriée au lieu de la leur.Si le système d'exploitation prend en charge la limitation de l'utilisation d'un certificat CA, comme le fait Android ici, c'est la bonne réponse.
@Esa,, malheureusement, l'utilisation d'une autorité de certification publique entraînerait un autre problème: les anciennes versions d'Android n'avaient aucun autre moyen de garantir que vous avez obtenu le certificat _right_ du pair EAP, elles accepteraient littéralement ** tout certificat émis par l'autorité de certification ** - du moins si vousconnecté de la manière habituelle.(Android 6 avait le champ "Domain suffix match", mais il n'était disponible que via l'API, et à partir d'Android 7 seulement, vous pouviez enfin entrer le nom de domaine TLS dans l'interface utilisateur.)
@EsaJokinen Je pensais que d'autres plates-formes avaient également la possibilité de sélectionner une autorité de certification pour une connexion sans fil particulière?Ce n'est certainement pas convivial en tout cas.
Comment cela se fait sur Windows 10 est essentiellement [ceci] (https://security.stackexchange.com/q/203349/70406).Ce n'est certainement pas convivial, mais heureusement, l'utilisation de la stratégie de groupe et de l'authentification de l'ordinateur au lieu de l'authentification de l'utilisateur permet de le faire fonctionner sans aucune interaction de l'utilisateur dans un environnement d'entreprise.
Donc, pour quelqu'un un peu moins technique, vous devez accepter ce certificat une fois (lors de la première connexion), mais à partir de là, ce certificat prouve que vous envoyez vos informations de connexion à eduroam, pas à un faux réseau avec eduroam SSD.Et la raison pour laquelle je dois accepter cela lors de la première connexion est que les anciens systèmes d'exploitation accepteraient n'importe quel certificat émis par CA, plutôt que de se limiter uniquement à ceux avec un domaine correspondant (comme le fait HTTPS), je suppose qu'en raison d'un réseau WiFi n'ayant pas vraiment dedomaine?
@Tim: Oui.Cependant, je suis sûr que le client _peut_ utiliser automatiquement la partie `@somedomain` de votre identité eduroam comme domaine par défaut pour vérifier (ou du moins je ne vois aucune raison pour laquelle cela ne fonctionnerait pas) ... mais malheureusementce n'est pas fait.Au lieu de cela, certains clients implémentent la confiance à la première utilisation (Windows, iOS);les autres clients ont un champ séparé pour le domaine (Android 7+);cependant, d'autres clients nécessitent un provisionnement via une application.Je suppose que personne ne s'attendait à ce que le 802.1X dépasse les réseaux d'entreprise fermés ...
@user1686 eduroam me permet de me connecter à n'importe quel établissement d'enseignement avec les mêmes informations d'identification.Cela nécessiterait probablement la liste de certificats de chaque domaine utilisé par chaque institution du réseau (et je pense qu'il y en a plus que ce que peut contenir un certificat).Cela exigerait également que chaque institution mette à jour le certificat lorsqu'une nouvelle institution est ajoutée à eduroam ...
@Tim: Non - eduroam utilise vos informations d'identification pour acheminer tous les paquets d'authentification ** vers votre institution d'origine **, et cela comprend tout, du premier paquet EAP, à la prise de contact PEAP ou TTLS (où les certificats sont échangés), au final "Approuvé"réponse.Ainsi, tant que vous utilisez les informations d'identification émises par (par exemple) l'Université de Foobar, vous ne parlez qu'au serveur EAP hébergé par U of Foobar et ne voyez que le certificat utilisé par U of Foobar, quelle que soit l'institution que vous visitez physiquement..L'établissement visité n'envoie pas son certificat et ne vérifie pas votre mot de passe.
@Tim: C'est pourquoi certains écrans de connexion WPA-Enterprise (par exemple sur Android ou Linux / GNOME) ont des champs séparés pour «Identité» et «Identité anonyme».Ce dernier est envoyé en clair et utilisé pour acheminer les paquets vers l'institution d'origine correcte (en dehors de l'enveloppe pour ainsi dire), tandis que le premier est crypté et utilisé pour le contrôle d'authentification réel _à_ l'institution d'origine.
Ángel
2020-04-12 21:25:32 UTC
view on stackexchange narkive permalink

est "Installé pour le Wi-Fi", ce qui, je suppose, signifie que les informations d'identification sont appliquées à tout le trafic WiFi.

Non. Cela ne veut pas dire cela.

Il existe plusieurs façons dont un réseau WiFi peut authentifier un utilisateur. Les plus courants sont:

  • WPA-PSK Les deux parties utilisent un P re S hared K ey pour s'authentifier. C'est le mécanisme pour tous ceux qui n'utilisent qu'un mot de passe. Toute personne connaissant le mot de passe peut se connecter au WiFi. En plus d'usurper l'identité du WiFi en créant un autre avec le même nom.
  • WPS (Wi-Fi Protected Setup) Cela permet d'utiliser un code PIN court pour récupérer le mot de passe PSK complet. Non sécurisé.
  • Les utilisateurs WPA-802.1X (WPA-Entreprise) s'authentifient avec une paire d'utilisateur / mot de passe sur un serveur RADIUS.
  • Portail captif. En fait, ce n'est pas un moyen d'authentifier les utilisateurs sur le réseau WiFi, mais une authentification au sommet d'un WiFi ouvert.

Chaque fois que vous souhaitez autoriser en toute sécurité un grand nombre d'utilisateurs, vous devez utiliser WPA- 802.1X - c'est ce que fait Eduroam. Cela nécessitera que vous envoyiez au point d'accès (AP) un utilisateur et un mot de passe. Ces informations d'identification (qui peuvent être les mêmes que celles que vous utilisez pour vous authentifier auprès de votre université, par exemple pour les e-mails) doivent être protégées. Cependant, un acteur pervers pourrait mettre en place un AP nommé Eduroam afin que votre ordinateur / téléphone s'y connecte (c'est-à-dire lui fournir vos informations d'identification Eduroam). La manière pour votre appareil d'identifier qu'il s'agit du point d'accès légitime est de vérifier un certificat présenté par celui-ci. Tout comme ceux utilisés pour authentifier un serveur en HTTPS. Le certificat que vous avez reçu est celui utilisé par l'AP (ou, comme dans votre cas, un certificat parent qui signe ceux de l'AP).

Les téléphones modernes stockent ces certificats séparément de l'autorité de certification globale, vous ajoutez donc le certificat à la connexion WiFi, plutôt que d'installer une autorité de certification qui pourrait signer des sites Web. C'est pourquoi il indique qu'il est "Installé pour le Wi-Fi". Cela ne signifie pas qu'il est autorisé à signer les certificats des pages HTTPS lorsqu'elles sont accessibles via Wi-Fi. Cela signifie qu'il ne sera utilisé que pour certifier la connexion Wi-Fi.

Une fois que vous êtes connecté au Wi-Fi, vos applications utiliseront le bundle CA normal pour valider les certificats de serveur (comme si ce n'est pas le cas en utilisant le Wi-Fi).

En résumé, avec ce certificat, installé uniquement pour le Wi-Fi sur votre appareil, ne leur permettra pas d'espionner votre trafic chiffré (HTTPS) (pas plus qu'ils ne le pourraient sans le certificat installé), et en fait, vous devriez l'installer pour éviter de divulguer vos informations d'identification à un point d'accès non autorisé.

PS: En remarque, un certificat RSA 1024 bits utilisant sha1 est considéré comme daté de nos jours, ils devraient le mettre à jour. Ce qu'ils seront obligés de faire de toute façon avant le 21 novembre 2021.

Excellente explication.Il y a deux perspectives à cela: en tant qu'administrateur réseau, il est seulement bon que les utilisateurs fassent confiance au certificat, et sur les réseaux d'entreprise, il est facile de forcer cela en arrière-plan.En même temps, il est difficile de faire confiance aux autres, surtout s'il semble qu'il y ait des défauts.Limiter l'utilisation à l'authentification WiFi est en effet la meilleure alternative.
Deuxième paragraphe, quatrième mot sp / was / ways ... c'est la seule faute d'orthographe que je vois et pas assez pour que je puisse le modifier.
Oups, merci @CGCampbell!Fixé.
Juste pour être complet, 802.1X ne signifie pas nécessairement une paire utilisateur + mot de passe, 802.1X (et le protocole EAP sous-jacent) est extensible, et il existe de nombreuses autres méthodes d'authentification, y compris ... les certificats clients :-) Aussi, dans le contexted'itinérance, le certificat du serveur doit être celui du réseau "domestique", et non celui visité, s'ils sont différents.
Ohad Cohen
2020-04-12 21:45:39 UTC
view on stackexchange narkive permalink

Réponse courte:

Si vous voulez savoir si votre réseau déchiffre le trafic SSL - utilisez firefox et voyez s'il signale des problèmes SSL (FF ne fait pas confiance aux certificats système)

Réponse longue:

A. Eduroam utilise un schéma d'authentification / vérification un peu différent pour chaque institut impliqué, je ne peux pas obtenir les détails exacts des informations que vous avez fournies.

B. le certificat que vous mentionnez doit être utilisé par votre ordinateur pour vérifier que vos informations d'identification sont envoyées à votre université et ne sont pas utilisées ailleurs (je ne sais pas si et comment le système vérifie l'identité de l'institut hôte.

C. Je n'ai jamais installé de certificat de navigateur pour eduroam (surtout pas pour Firefox - qui ne font pas confiance aux certificats installés par le système) - cela signifie qu'ils n'ouvrent pas le cryptage SSL.

kaya atabey
2020-04-13 01:13:52 UTC
view on stackexchange narkive permalink

Le certificat ici n'est pas pour le trafic SSL. C'est uniquement pour l'authentification 802.1x. La plupart des universités utilisent PEAP-TTLS. Ce qui nécessite un certificat du serveur. Le client n'a pas besoin de fournir de certificat. Le nom d'utilisateur et le mot de passe suffisent pour l'authentification. La plupart des universités ne prennent pas la peine d'acheter un certificat officiel pour l'authentification et poussent un certificat auto-signé. Cela se traduit par une invite d'avertissement de sécurité indiquant «faites-vous confiance à ce certificat». Cela n'a rien à voir avec votre trafic SSL. Parce qu'une fois l'authentification terminée, vous êtes autorisé à accéder au réseau sans fil eduroam et vous avez terminé avec ce certificat.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...