Ya que las respuestas parecen estar por todas partes (sí, no, podría ser, debería ser), permítanme reiterar primero la respuesta de @ waiwai933: es segura.
Para ser específico, usted preguntó: "Si ese usuario malintencionado olfateó todos mis paquetes entrantes y salientes. ¿Puede calcular las mismas claves y leer mi tráfico cifrado también o incluso enviar mensajes cifrados al servidor en mi nombre?" La respuesta es no y no. Con una nota al pie.
La razón por la que no puede calcular las mismas claves parece paradójica, y de hecho fue un gran avance en la criptografía cuando fue publicada por primera vez por Diffie y Hellman. TLS usa un protocolo de intercambio de claves, como Diffie-Hellman, pero más sofisticado para protegerlo de los ataques del hombre en el medio. El protocolo permite a dos personas que nunca han intercambiado información antes de calcular una clave secreta que nadie puede ver en todos los mensajes.
Una vez que tenga una clave secreta compartida, puede usarla para cifrar su tráfico. Como el usuario malintencionado no conoce la clave, no puede cifrar el tráfico que parece provenir de usted.
Ahora esas notas al pie.
- Estamos asumiendo que el protocolo SSL / TLS es correcto. Con la mayoría de los protocolos criptográficos involucrados, los errores se encuentran y se corrigen de vez en cuando. SSL / TLS tuvo un error reciente (mencionado en algunas respuestas como una razón por la que no es seguro), sin embargo, se ha solucionado temporalmente y ahora fix (RFC 5746) y la solución se encuentra en varias etapas de implementación. (En su escenario, el error permitía a un usuario malintencionado enviar paquetes en su nombre pero no leer su tráfico). Siempre es posible que el atacante sepa cómo romper TLS / SSL debido a un error no publicado en el protocolo.
- Un punto obvio pero que vale la pena repetir: el usuario malintencionado puede ver su solicitud y enviar su propia respuesta utilizando su propio certificado. Así que revisa el certificado.
- Quizás otro punto obvio: solo puede estar seguro de que SSL / TLS se usará para páginas futuras si la página actual es HTTPS. Por ejemplo, si está en una página HTTP que quiere que inicie sesión, y por experiencia anterior, sabe que hacer clic en el botón de inicio de sesión lo redirigirá a una conexión HTTPS, esta funcionalidad podría ser eliminada por un usuario malicioso activo. en su red. Solo inicie sesión en páginas que ya sean HTTPS (a menos que sepa cómo detectar si la página de inicio de sesión se ha modificado).