Question:
Une connexion HTTPS établie signifie-t-elle qu'une ligne est vraiment sécurisée?
Peter Smit
2010-11-12 03:41:53 UTC
view on stackexchange narkive permalink

Du point de vue de quelqu'un qui propose une application Web, lorsque quelqu'un se connecte avec TLS (https) à notre service et soumet les données d'authentification correctes, est-il sûr de transmettre toutes les données sensibles sur cette ligne, ou peut-il y avoir Vous écoutez toujours?

Cette question était Question de sécurité informatique de la semaine .
Lire le 29 juillet 2011 entrée de blog pour plus de détails ou envoyez votre propre Question de la semaine.

Pouvez-vous clarifier votre modèle de menace? Il y a quelques bonnes réponses ici, mais différentes sont justes en fonction de ce qui vous inquiète et de la valeur des données. Un attaquant suffisamment motivé pourrait accéder aux données dans presque tous les cas, mais il peut ne pas être logique de perdre le sommeil pour cela si vous essayez simplement d'empêcher quelqu'un, par exemple de voler l'accès à un service peu coûteux.
De plus, supposons-nous qu'il n'y a pas de MitM?
C'est une question très large, et il y a déjà beaucoup de réponses à certaines parties de celle-ci sur le site. Commencez par l'article Wikipedia et parcourez les questions marquées ssl ici: http://security.stackexchange.com/questions/tagged/ssl Si vous ne voyez pas vos questions spécifiques traitées, faites-le nous savoir!
Pas si vous devez suivre un cadre réglementaire comme [NIST SP800-52 Rev.1] (http://csrc.nist.gov/publications/drafts/800-52-rev1/draft_sp800_52_r1.pdf) qui répertorie des suites de chiffrement spécifiques, ou [FIPS 140-2 Annexe A] (http://csrc.nist.gov/publications/fips/fips140-2/fips1402annexa.pdf), qui répertorie des algorithmes ou des normes comme [ISO / CEI 18033-3: 2010] (http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=54531), spécifiant également des algorithmes. Dans ces cas, vous devez affiner exactement les suites de chiffrement autorisées. Voir aussi [SSLLabs] (https://www.ssllabs.com/)
Dix-huit réponses:
AviD
2010-11-12 03:59:01 UTC
view on stackexchange narkive permalink

Il est important de comprendre ce que fait et ne fait pas SSL, d'autant plus qu'il s'agit d'une source très courante de malentendus.

  • Il crypte le canal
  • Il applique un contrôle d'intégrité
  • Il fournit une authentification

Donc, le rapide La réponse devrait être: "oui, il est suffisamment sécurisé pour transmettre des données sensibles". Cependant, les choses ne sont pas si simples.

  • Les dernières versions de SSL - version 3, ou mieux encore: TLS, même TLS 1.2, sont nettement meilleures que les versions précédentes. Par exemple. SSL 2 était relativement facile à MITM (l'homme au milieu). Donc, d'abord, cela dépend de la version du protocole.
  • Le cryptage du canal et la vérification d'intégrité sont configurables dans le protocole, c'est-à-dire que vous pouvez choisir les algorithmes à utiliser (suite de chiffrement). De toute évidence, si vous utilisez RSA1024 / SHA512, vous êtes beaucoup mieux lotis ... Cependant, SSL prend même en charge un mode de cryptage NULL - c'est-à-dire pas de cryptage du tout, il suffit d'envelopper les requêtes jusqu'au tunnel via le protocole SSL. C'est-à-dire pas de protection. (Ceci est configurable à la fois sur le client et sur le serveur, la suite de chiffrement sélectionnée est le premier ensemble correspondant selon l'ordre configuré).
  • L'authentification SSL a deux modes: authentification serveur uniquement et authentification mutuelle (certificats clients). Dans les deux cas, la sécurité assurée par les certificats cryptographiques est certainement suffisamment forte, cependant la validité de l'authentification réelle n'est aussi bonne que vos contrôles de validité: vous embêtez-vous même à vérifier le certificat? Assurez-vous sa validité? Chaîne de confiance? Qui l'a délivré? Etc.
  • Ce dernier point concernant l'authentification est beaucoup plus simple dans les applications Web, où le client peut facilement visualiser le certificat des serveurs, l'icône de verrouillage est facilement visible, etc. Avec les services Web , vous devez généralement être plus explicite dans la vérification de sa validité (en fonction de votre choix de plateforme). Notez que ce même point a déclenché tant d'applications mobiles - même si le développeur de l'application s'est souvenu de n'utiliser que TLS entre le téléphone et le serveur, si l'application ne vérifie pas explicitement les certificats, le TLS est cassé.
  • Bien qu'il y ait des attaques principalement théoriques sur la cryptographie de SSL, à partir de mon PoV, il est encore assez puissant pour presque toutes les fins, et le sera pendant longtemps.
  • Que fait-on réellement des données à l'autre bout? Par exemple. si ses données ultra-sensibles, ou même de carte de crédit, vous ne voulez pas qu'elles soient dans le cache du navigateur, ou dans l'historique, etc.
  • Les cookies (et donc l'authentification) peuvent être partagés entre un canal SSL sécurisé, et un canal HTTP non sécurisé - sauf s'il est explicitement marqué avec l'attribut "secure".

Alors, réponse plus courte? Oui, SSL peut être suffisamment sécurisé, mais (comme pour la plupart des choses) cela dépend de la manière dont vous l’utilisez. :)

Peut-être vaut-il également la peine de mentionner l'insécurité du contenu mixte comme un autre point?
Peut-être que la première puce devrait être mise à jour?[Wikipédia déclare] (https://en.wikipedia.org/wiki/Transport_Layer_Security#SSL_1.0.2C_2.0_and_3.0) à partir du 20/04/2016: `SSL 2.0 était obsolète (interdit) en 2011 ...`/ `SSL 3.0 est devenu obsolète en juin 2015 ...`
Tronic
2010-11-12 03:54:56 UTC
view on stackexchange narkive permalink

Il y a quelques problèmes ici, le principal étant l'authentification. Les deux extrémités doivent être sûres de parler à la bonne personne ou institution pour contrecarrer les attaques de l'homme du milieu. De votre côté, il est essentiel que vous utilisiez un certificat SSL approuvé par le navigateur de l'utilisateur. Ce faisant, le navigateur de l'utilisateur peut être sûr qu'il parle vraiment au bon site. Une fois la connexion établie, vous pouvez être sûr de parler à cet utilisateur tout le temps et la connexion est cryptée, c'est-à-dire sécurisée contre les écoutes clandestines.

L'authentification dans l'autre sens (c'est-à-dire s'assurer que vous parlez à l'utilisateur réel) est généralement gérée en dehors du protocole SSL au niveau de l'application, par exemple, par nom d'utilisateur / mot de passe, openID ou une autre forme de identifiants.

Comme dernière note, il convient de mentionner que lors de la négociation de connexion SSL, le client et le serveur s'accordent sur une suite de chiffrement et le client peut prétendre ne faire que du "cryptage nul", c'est-à-dire , ne cryptez aucune des données. Si votre serveur accepte cette option, la connexion utilise SSL, mais les données ne sont toujours pas cryptées. Ce n'est pas un problème en pratique car les implémentations de serveur n'offrent généralement pas le chiffrement nul comme option.

Existe-t-il un logiciel SSL / serveur permettant un cryptage nul? Sinon, est-ce que cette note aide vraiment? Si oui, quels sont-ils?
@Jorn, toutes les piles SSL Je connais le support du cryptage nul * en principe *, cela dépend de la façon dont elles sont configurées.
@Jorn, oui, comme l'a dit AviD, cela dépend de la configuration du serveur. Vous pouvez configurer mod_ssl dans apache pour utiliser un cryptage nul (voir http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslciphersuite)
goodguys_activate
2010-12-08 04:44:25 UTC
view on stackexchange narkive permalink

En plus de ce qu'AviD répertorie, SSL n'est aussi sécurisé que l'infrastructure DNS qui vous a dirigé vers ce serveur, et tous les proxys d'entreprise dans le chemin de communication.

Si l'infrastructure DNS est piratée ( empoisonnement du cache, etc.), l'attaquant pourrait soumettre votre utilisateur à de nombreuses attaques.

De plus, si le client utilise un logiciel comme Fiddler, ou un proxy d'entreprise, ce logiciel peut easvdrop sur votre conversation SSL.

Pour atténuer cela, regardez "l'émetteur" du certificat SSL. Si la connexion SSL passe par un proxy, alors l'émetteur sera celui du proxy. Si vous utilisez une connexion directe, vous verrez alors l'autorité de certification de confiance publique pertinente.

[Plus d'informations]

Un proxy HTTPS d'entreprise est quelque chose qui gère la connexion entre le navigateur Web et le proxy (dont l'adresse IP apparaît dans les journaux de votre serveur Web). Dans ce cas, le contenu Web (mot de passe HTTPS également) est décrypté, puis rechiffré au niveau du proxy d'entreprise et présenté à votre serveur.

Selon qui gère le proxy et comment ses journaux sont utilisés, cela peut être acceptable ou une mauvaise chose de votre point de vue.

Pour plus d'informations sur la façon dont l'interception SSL est effectuée , voir ce lien:

Lorsque le proxy SSL intercepte une connexion SSL, il présente un certificat de serveur émulé au navigateur client. Le navigateur client envoie une fenêtre contextuelle de sécurité à l'utilisateur final car le navigateur ne fait pas confiance à l'émetteur utilisé par ProxySG. Cette fenêtre contextuelle ne se produit pas si le certificat d'émetteur utilisé par SSL Proxy est importé en tant que racine de confiance dans le magasin de certificats du navigateur client.

Le ProxySG rend tous les certificats configurés disponibles pour téléchargement via sa console de gestion. Vous pouvez demander aux utilisateurs finaux de télécharger le certificat d'émetteur via Internet Explorer ou Firefox et de l'installer en tant qu'autorité de certification de confiance dans le navigateur de leur choix. Cela élimine la fenêtre contextuelle de certificat pour certificats émulés ...

Certaines entreprises contournent le problème de la fenêtre contextuelle de certificat mentionné ci-dessus en déployant les certificats racine (du proxy) sur chaque poste de travail via GPO. Bien que cela n'affecte que les logiciels qui utilisent le magasin de certificats Microsoft. Les logiciels tels que Firefox et Chrome doivent être mis à jour différemment.

Le point que vous faites au sujet du proxy HTTPS (du type MITM) est correct, mais cela n'a pas grand-chose à voir avec DNS. Si votre magasin de certificats de confiance est vraiment digne de confiance, les attaques DNS ne devraient pas être un problème pour SSL / TLS, car si vous êtes redirigé vers un faux site, il n'aura pas de certificat émis par l'une des autorités de certification de confiance (même s'il prétend avoir le bon nom d'hôte).
@Bruno - J'accepte qu'une session SSL soit sécurisée si le PC local est sécurisé et que * tous * les certificats racine de confiance sont approuvés. Le lien le plus faible est la racine de confiance la plus faible + quel que soit le DNS utilisé.
si quelqu'un est capable de mettre un proxy HTTPS MITM et de contrôler les certificats d'autorité de certification que vous avez, cela implique qu'il contrôle le réseau sur lequel votre machine est connectée. À ce stade, le contrôle de la résolution DNS est à peine pertinent, car ils seraient capables de forger les adresses IP. Les certificats vous protègent contre l'usurpation DNS (à condition que les certificats d'autorité de certification soient approuvés). Il est faux de laisser entendre que DNS est un vecteur d'attaque contre SSL: quelqu'un qui serait capable de falsifier votre connexion SSL et de vous présenter un faux certificat pourrait également usurper les paquets IP. Le DNS n'a rien à voir avec cela.
@Bruno - Conclusion: l'OP devrait savoir quels sont les certificats de confiance dans son magasin. [Si une CA est compromise, alors il est vulnérable aux attaques,] (http://security.stackexchange.com/questions/2268/how) ... ou comme vous l'avez dit, peut-être que son client est sur un réseau géré. Un vecteur d'attaque est DNS, ou un proxy d'un certain type. En outre, je parle de plus que du DNS dans le post ci-dessus. Il a posé des questions sur les méthodes d'écoute clandestine, et j'ai essayé de les fournir. Vous avez raison et j'aurais peut-être dû le formuler ainsi. Les «logiciels espions» d'entreprise comme Bluecoat fonctionnent d'une manière qui pourrait l'intéresser.
"Les logiciels tels que Firefox et Chrome doivent être mis à jour différemment." Ces deux logiciels peuvent également avoir des certificats déployés via GPO, mais l'administration informatique doit établir des règles GPO spéciales pour que cela se produise, donc ce n'est pas que cela ne peut pas arriver, il faut juste des mesures supplémentaires de la part de l'informatique.
Jörn Zaefferer
2010-11-12 03:57:04 UTC
view on stackexchange narkive permalink

Étant donné que SSL repose sur des autorités de certification (CA), et quasiment toute organisation peut devenir une autorité de certification, les attaques man-in-the-middle avec de faux certificats signés par une CA sont toujours possibles. Ainsi, bien que SSL soit toujours une énorme amélioration par rapport au non cryptage du tout, sa sécurité est surfaite en raison du système CA cassé. À cet égard, les certificats auto-signés seraient tout aussi sécurisés que n'importe quel certificat signé par une autorité de certification, mais les navigateurs les marquent comme suspects.

Ceci est maintenant atténué par l'épinglage de certificat. Encore un problème pour les premières visites, mais cela devrait aider. http://security.stackexchange.com/questions/29988/what-is-certificate-pinning
James T
2010-11-12 03:45:40 UTC
view on stackexchange narkive permalink

SSL est très sécurisé, bien que quelqu'un puisse voler le cookie de session de quelqu'un si vous exécutez N'IMPORTE QUELLE page sur une ligne non chiffrée. Si vous pouviez, je rendrais le site entièrement SSL. Ou peut-être que le cookie ne soit envoyé que pour les connexions cryptées et que des pages publiques non sécurisées ne soient pas spécifiques à cet utilisateur.

Magnus
2010-11-12 03:52:58 UTC
view on stackexchange narkive permalink

Il y a toujours la possibilité d'une attaque de type "man-in-the-middle", qui dans votre cas serait que l'utilisateur se connecte à un tiers prétendant être votre site et transmette ensuite la demande. Bien sûr, un utilisateur averti devrait remarquer l'absence de connexion SSL ou le mauvais certificat, mais la plupart des utilisateurs ne sont pas activés et se font tromper par un cadenas favicon.

Ce n'est pas vraiment un problème avec SSL lui-même, juste quelque chose dont il faut être conscient. Vous pouvez supposer en toute sécurité que personne n'est en mesure d'écouter la connexion SSL entre votre site et la source de la connexion. Cependant, vous ne pouvez pas être sûr que la source de la connexion est bien l'utilisateur.

Notez que l'OP a été marqué avec un service Web, il n'y aurait donc pas d'icône de verrouillage du navigateur. C'est à l'application cliente de valider explicitement et de fournir des commentaires. Ou pas.
gbr
2010-11-12 04:02:56 UTC
view on stackexchange narkive permalink

Puisque SSL crypte la transmission, aucune donnée ne peut être écoutée (puisque le certificat est approuvé).

Bien que le problème réside dans l'endroit (et dans quelle mesure) vous utilisez SSL dans votre application Web: par exemple, par exemple, vous avez besoin d'une connexion SSL uniquement pour authentifier votre utilisateur (pour les laisser envoyer des paires utilisateur / pass cryptées à votre serveur), puis lorsque vous renvoyez un cookie, vous devez être conscient qu'il pourrait être facilement intercepté (comme si votre utilisateur est sur une connexion sans fil non protégée).

Le récent drame FireSheep est tout à ce sujet.

Mike Samuel
2014-09-01 22:00:17 UTC
view on stackexchange narkive permalink

Non. L'analyse du trafic peut encore en dire beaucoup à quelqu'un.

L'analyse du trafic est le processus d'interception et d'examen des messages afin de déduire des informations à partir de modèles de communication. Elle peut être effectuée même lorsque les messages sont chiffrés et ne peuvent pas être déchiffrés. En général, plus le nombre de messages observés, voire interceptés et stockés est élevé, plus le trafic peut en être déduit.


TLS est généralement déployé pour préserver la confidentialité - un l'attaquant ne doit pas atteindre un niveau de confiance élevé sur le contenu de la communication.

En supposant,

  1. un attaquant connaît votre protocole,
  2. un attaquant le sait qui communique avec qui
  3. l'attaquant ne peut pas déchiffrer les messages.
  4. vous n'obscurcissez pas votre trafic réel dans beaucoup de trafic absurde (paillettes)

Un attaquant peut probablement dire quand vous êtes éveillé et quand vous dormez quel que soit le protocole, et peut en dire beaucoup plus selon la nature du protocole que vous utilisez.


Si votre protocole est très simple:

  1. Vous envoyez un message "tirez les armes nucléaires sur ..." lorsque vous voulez tirer des armes nucléaires
  2. Vous n'envoyez pas message lorsque vous ne voulez pas tirer d’armes nucléaires.

Un espion qui ne peut pas déchiffrer vos données c et déterminez par la simple présence d'un message que vous voulez tirer des armes nucléaires, mais peut-être pas contre qui.


Si votre protocole est plus complexe:

  1. Vous demander un livre.
  2. Je vous envoie le contenu.

Un attaquant peut ne pas être en mesure de dire qui lit "Guerre et Paix" vs " Atlas Shrugged " mais peut distinguer, en se basant uniquement sur la taille du message, s'ils lisent l'un des romans de 55 pages de l'ancien ou de Kafka" The Metamorphosis ".

En fait, cela [arrive en pratique] (http://tor.stackexchange.com/a/929/3093) aussi.
Jeff Ferland
2011-04-28 02:18:45 UTC
view on stackexchange narkive permalink

SSL effectue deux tâches de base: l'authentification et le cryptage.

L'authentification se fait au moyen d'autorités de certification (CA). Les navigateurs sont livrés avec une liste de certificats SSL pour les clés de signature des autorités de certification. Les autorités de certification signent des certificats qui décrivent la clé publique d'une entité. Par exemple, si je possédais Google.com, je le prouverais à Verisign et ils signeraient mon certificat pendant un certain temps. Des problèmes surviennent avec un CA signe un certificat qu'il ne devrait pas signer. Cela peut se produire lorsque quelqu'un prétend posséder un autre domaine, acquiert un certificat générique qui est trop large ou simplement XKCD la CA en émettant quelque chose de néfaste (les gouvernements, peut-être?). Nous avons vu des exemples de tout ce qui précède se produire, mais c'est assez rare.

Si un certificat pour un site est correctement signé et qu'aucun faux certificat n'existe dans votre chaîne de confiance, alors lorsque vous vous connectez à un site, vous pouvez (à des fins de discussion) être sûr que le certificat correspond. Dans des circonstances normales, cette connexion est cryptée. Cela empêche quiconque de lire vos données.

Les certificats SSL sont très complexes et un certain nombre d'attaques existent contre les implémentations SSL. Ce que SSL peut faire efficacement, c'est m'empêcher de surveiller votre trafic au Starbucks local lorsque vous vérifiez votre courrier électronique sur GMail. Ce qu'il ne peut pas faire, c'est m'empêcher d'utiliser une attaque MITM où je vous relaie tout sans SSL et votre client n'est pas configuré pour vous déranger sur le fait qu'il n'a jamais démarré une session cryptée.

Doozer Blake
2010-11-12 03:59:36 UTC
view on stackexchange narkive permalink

Sans compter les différentes réponses des autres sur d'autres problèmes potentiels, en supposant que vous utilisez SSL 3.0 et un cryptage fort, cela devrait être sécurisé.

En utilisant des protocoles SSL plus anciens (2.0) ou en utilisant une clé de cryptage faible pourrait vous ouvrir à des vulnérabilités.

frankodwyer
2011-04-27 23:54:22 UTC
view on stackexchange narkive permalink

SSL augmente généralement la sécurité en fournissant:

  1. Authentification du serveur (l'utilisateur sait qu'il parle au site 'correct')
  2. L'intégrité des données (l'utilisateur et le serveur savoir que le trafic n'est pas modifié en cours de route)
  3. (facultatif, mais généralement) Confidentialité des données (l'utilisateur et le serveur savent que le trafic n'est pas intercepté en route)
  4. (facultatif , mais rare) Authentification du client, si le client a aussi un certificat

Il existe essentiellement deux types de certificat SSL, le certificat serveur (qui est toujours impliqué) et un certificat client (qui est facultatif).

Ceci est juste un croquis, et il y a beaucoup de si, et et de mais. Dans le scénario le plus typique, SSL basé sur un navigateur, le schéma peut être rompu dans de nombreux cas sans casser la cryptographie ou le protocole, mais simplement en comptant sur l'utilisateur pour faire la mauvaise chose (c'est-à-dire ignorer les avertissements du navigateur et se connecter de toute façon). Les attaques de phishing peuvent également fonctionner en envoyant l'utilisateur vers un faux site protégé par SSL, conçu pour ressembler au vrai à tous égards sauf l'URL.

Cela dit, SSL et son cousin TLS sont toujours très utiles car ils permettent au moins une communication sécurisée, bien que loin d'être infaillible.

frankodwyer
2011-04-19 19:59:55 UTC
view on stackexchange narkive permalink

Lorsque quelqu'un se connecte avec SSL (https) à notre service et soumet les données d'authentification correctes, est-il sûr de transmettre toutes les données sensibles sur cette ligne, ou peut-il encore y avoir une écoute clandestine?

Le maillon faible de cette chaîne n'est presque certainement pas SSL mais l'utilisateur, qui peut généralement être amené à se connecter à un faux site intermédiaire soit par usurpation de sites Web / hyperliens, soit en se voyant présenter un certificat invalide et en rejetant l'avertissement du navigateur et en procédant quand même à la connexion.

Cependant, le système que vous décrivez est une bonne pratique de toute façon, vous ne pouvez pas faire grand-chose d'autre (à part éduquer vos utilisateurs à prendre les avertissements SSL au sérieux si vous le pouvez).

Paweł Dyda
2011-04-27 23:55:49 UTC
view on stackexchange narkive permalink

Lorsque vous n'utilisez pas SSL, toutes les communications peuvent être facilement interceptées - la seule chose à faire est de lancer un renifleur de paquets (par exemple, Wireshark).
SSL empêche cela, tous les paquets sont cryptés donc il y a aucun moyen de savoir ce que vous envoyez. Fondamentalement, il est utilisé pour protéger les mots de passe et le contenu privé contre l'interception. Vous ne voulez évidemment pas que quelqu'un d'autre lise vos e-mails privés, n'est-ce pas?
En ce qui concerne la recherche Google, ils l'ont simplement fait pour cacher ce que les gens demandent. C'est parce que certains gouvernements sont trop curieux à ce sujet.

Comment SSL augmente la sécurité? Cela ne fonctionne pas tout seul. Ce qui fait est une combinaison de cryptage (clé SSL) et PKI (infrastructure à clé publique) - principalement des certificats. OK, la question était de savoir comment. D'un côté, il sécurise votre canal de communication (voir ci-dessus), de l'autre, il garantit que vous parlez à une entreprise légitime - authentifie le serveur. Le canal est donc sécurisé et fiable.

Il existe un certain nombre de certificats SSL, comme il existe de nombreux services PKI. Un service fondamentalement différent nécessite un type de certificat SSL différent. Il existe donc des certificats pour la signature de code, le cryptage et la signature des e-mails, ceux concernant l'authentification du serveur, etc.

Vladimir Jirasek
2013-10-11 01:15:09 UTC
view on stackexchange narkive permalink

La réponse courte est non.Réponse plus longue: une collection des réponses ci-dessus plus: Si nous résolvons l'authentification, donc man-in-the-middle, qu'avec la connexion SSL traditionnelle, quelqu'un qui écoute le trafic pourrait encore le déchiffrer plus tard si ils ont obtenu une clé secrète du serveur (pensez à la NSA et aux lettres de sécurité nationale). Il existe une option dans le protocole TLS pour utiliser le protocole Diffie-Helman pour assurer la liaison de manière confidentielle. Consultez l'image suivante lorsque j'accède à gmail.com à l'aide de Chrome. connection security

Regardez le texte RC4_128 avec SHA1 pour l'authentification de message ECDHE_ECDSA. Ceci se lit comme suit:

  1. Le serveur a offert le canal SSL RC4_128b avec le résumé SHA
  2. À l'intérieur de ce tunnel, chaque message est chiffré avec des courbes écliptiques où la clé est dérivée à l'aide de la fonction Diffie-Helman, et est signé avec le chiffrement Ecliptic Curves à l'aide de l'algorithme de signature numérique

En d'autres termes, même si quelqu'un a la clé privée du serveur SSL, les messages ont été chiffrés avec des clés temporaires qui sont supprimées de la mémoire peu après utilisation. Bonne chance NSA!

dave_thompson_085
2014-02-14 07:27:12 UTC
view on stackexchange narkive permalink

@Vladimir a raison de dire que http://en.wikipedia.org/wiki/Forward_secrecy est souhaitable, mais les détails sont erronés. Le serveur a choisi cette suite de chiffrement parmi celles proposées par le navigateur. «chiffré avec RC4_128 avec SHA1 pour l'authentification des messages» utilise le chiffrement RC4 128 bits et le contrôle d'intégrité HMAC-SHA-1. (Les noms des suites de chiffrement dans SSL / TLS indiquent jusqu'à récemment SHA mais ils signifient SHA-1 et en fait HMAC-SHA-1.) "ECDHE_ECDSA comme mécanisme d'échange de clés" ne s'applique pas aux messages individuels, il fait partie (la plupart) du poignée de main qui se produit une fois au début de la session: ECDHE utilise la variante Elliptic Curve de Diffie-Hellman en mode éphémère (plus quelques étapes supplémentaires non importantes ici) pour créer les clés de session utilisées pour le chiffrement et HMAC ; et l'échange de clé ECDHE (uniquement) est signé par la variante de courbe elliptique de l'algorithme de signature numérique. (Vous ne pouvez jamais crypter quoi que ce soit directement avec DH ou ECDH, ils ne font que la clé ou un autre petit accord secret.)

gnasher729
2014-03-26 22:07:17 UTC
view on stackexchange narkive permalink

Est-ce sans danger pour l'utilisateur ou est-ce sans danger pour vous? Supposons une attaque de type "homme du milieu". L'attaquant parvient à capturer le trafic de l'utilisateur, prétend être vous pour l'utilisateur et prétend être l'utilisateur pour vous. Ce type d'attaque échouait généralement, car le certificat donné à l'utilisateur ne serait pas correct. Par exemple, l'attaquant donne à l'utilisateur un certificat auto-signé pour votre site Web. Cependant, si l'utilisateur agit stupidement, il peut accepter ce certificat auto-signé. Alors maintenant, l'attaquant peut lire et modifier tout le trafic entre l'utilisateur et vous, et pour autant que je sache, il n'y a aucun moyen pour vous de le détecter.

Donc, si l'espionnage et la modification du trafic blessent l'utilisateur, c'est vraiment de leur faute et de leur propre problème. Et vous ne pouvez pas l'empêcher complètement de toute façon, car le MITM peut vous couper complètement et simplement parler à l'utilisateur qui se fait passer pour vous. Mais si l'espionnage et la modification du trafic vous font mal, alors vous devez faire confiance à l'utilisateur pour ne pas être stupide, ou mieux authentifier l'utilisateur également (l'utilisateur aurait besoin d'un certificat, et vous pouvez le vérifier d'une manière que le MITM ne peut pas faux).

sebastian nielsen
2014-09-01 21:39:29 UTC
view on stackexchange narkive permalink

Je pense que les gens ici ne comprennent pas la question:

Si vous avez une ligne non sécurisée et que vous établissez une connexion SSH / SSL réussie sur cette ligne, il demande maintenant s'il est sûr de faire l'hypothèse que la ligne est "sécurisée" et que les données non cryptées peuvent être transmises LE LONGS AVEC la connexion cryptée (par exemple, à la vue, pas à l'intérieur de la connexion SSL / SSH cryptée).

Je dirais non. Dans ce cas, il pourrait y avoir une écoute passive qui ignore simplement les données cryptées et enregistre les données non cryptées.

MAIS vous pouvez être sûr qu'il n'y a pas d'espionnage actif (MITM), ce qui signifie que vous pouvez établir en toute sécurité un SSL / non authentifié. Connexion SSH avec la même source / destination que la ligne authentifiée.Cela à condition qu'il n'y ait aucune écoute sélective de certains connecteurs MITM, MAIS cependant, l'espionnage ne peut pas savoir si vous allez authentifier la connexion ou non, il ne peut donc pas savoir à quelle connexion MITM échapper à la détection. Le MITMer, s'il MITM, MITM toutes les connexions et espère que les gens cliquent simplement à travers toutes les boîtes de dialogue d'authentification.

Ainsi: Si vous vous connectez authentifié à un service SSL de, disons 123.123.123.123 à 24.24.24.24, vous peut également connecter en toute sécurité un client SSH de 123.123.123.123 à 24.24.24.24 sans authentifier mutuellement l'empreinte digitale SSH, à condition que vous puissiez faire confiance à tout ce qui se trouve derrière le routeur NAT ou le pare-feu de l'autre côté.

Mais même si cela signifie généralement sûr , il y a un petit risque qu'une espionne simplement des connexions MITM aléatoires et espère ne pas être détectée, donc puisque vous avez déjà une connexion authentifiée à l'IP cible, pourquoi ne pas utiliser cette connexion authentifiée pour vérifier mutuellement l'empreinte digitale SSH? C'est simple comme publier l'empreinte digitale SSH correcte sur un site Web sécurisé SSL!

user3260912
2017-07-10 19:48:34 UTC
view on stackexchange narkive permalink

Même les versions les plus modernes de HTTPS utilisant TLS peuvent facilement être interceptées par un MitM (par exemple, un périphérique Juniper configuré à cet effet) si le client fait confiance à l'autorité de certification. Dans ce cas particulier, ce n'est pas sécurisé.

Si je comprends bien cet article, il repose sur l'installation d'un certificat.Wireshark peut faire la même chose, mais il nécessite un accès à au moins une des machines sur lesquelles vous écoutez.
Cela n'ajoute vraiment rien à la réponse de LamonteCristo il y a 6 ans.


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 2.0 sous laquelle il est distribué.
Loading...