2010-10-05 22 views
47

Uso una conexión HTTPS sin un certificado SSL válido. ¿La conexión es segura? ¿La información está encriptada?¿Es segura una conexión HTTPS sin un certificado SSL válido?

+10

No puede usar una conexión https sin un certificado SSL, ¿o sí? Probablemente se refiera a usar un * certificado autofirmado * –

+0

¿Por qué esto le pertenece al superusuario? – SilentGhost

+2

Ninguna información o conexión es segura. Si internet es una serie de tubos, esos tubos son translúcidos y cualquiera puede verlos a través de ellos y dentro de su aplicación. – Moses

Respuesta

53

La conexión está encriptada incluso si el certificado SSL no es válido (caducado, aceite de serpiente, CA no confiable, etc.). La validación del certificado SSL solo asegura que se está conectando con las personas a las que cree que se está conectando. El cifrado no le sirve de nada si las personas que descifran sus datos son crackers en lugar de PayPal.

+2

Pero ese es el punto, todavía se requiere un certificado (válido o no) –

+3

Sí, pero puede generar uno autofirmado en segundos. Tomé la pregunta para preguntar si necesitas un certificado válido. – ceejayoz

+1

En ese caso, tiene razón, sin embargo, la pregunta era si se requería un certificado, cuál es o no se cifrará nada. –

2

Nope. Lo que estás haciendo cuando usas HTTPS es decirle al navegador que se conecte a través de un puerto diferente (443) mientras que normalmente te conectas a través de (80). Sin un certificado, el servidor rechazaría la conexión. HTTPS simplemente no es posible sin un certificado. Mire aquí y verá un certificate is needed para que funcione.

+0

el navegador le pregunta si confía en la conexión; si acepto esta conexión, la información transferida no se cifra de todas maneras. – user466981

+4

Si su navegador le pide que confíe en un certificado inválido, la información está encriptada. Simplemente no puedes verificar que la persona que lo recibe es legítima. – ceejayoz

+0

Esto significa que es probable que el certificado esté autofirmado o vencido (por eso se pregunta si está seguro). La pregunta era si se requería un certificado, cuál es. –

9

Si no hubo verificación de certificados SSL, alguien que haya interceptado un canal de comunicaciones podría capturar una solicitud para conectarse al https://www.acmebank.com, enviar su propia solicitud a www.acmebank.com y negociar claves con acmebank.com y el usuario. Después de eso, podría recibir cada bocado de datos del usuario, descifrar con la clave del usuario y cifrar con la clave de acmebank, y hacer lo mismo con los datos de acmebank.com. El efecto neto sería que ni el usuario ni acmebank verían algo incorrecto, pero el interceptor podría descifrar todos los datos entre el usuario y acmebank. El usuario y el banco usarán diferentes claves para manejar su comunicación, pero ninguna de las entidades lo sabrá. Agregar cualquier aspecto estándar al protocolo para averiguar qué tecla está en uso no ayudaría, ya que el interceptor podría detectar tales consultas y cambiar las respuestas de manera apropiada.

SSL previene un ataque de intermediario al requerir que el host envíe al destinatario una copia de la clave que está usando el host, encriptada de forma que un intruso no podrá falsificar (a menos que el el intruso puede falsificar las credenciales de CA, al menos). Si no se utiliza un certificado emitido por CA, habrá poca protección contra un ataque de hombre en el medio, aunque la capa encriptada evitaría el descifrado pasivo o retrospectivo del contenido de la sesión (por cierto, ojalá hubiera estándares para algo). entre comunicación no encriptada y SSL, para situaciones en las que la desencriptación pasiva o retrospectiva es la principal amenaza, pero no sé de ninguna).

+0

Básicamente lo que dices es que usar SSL sin un certificado no tiene sentido, contra hackers experimentados – bobobobo

+0

@bobobobo: SSL sin certificado protege contra algunas amenazas pero no contra otras. Si esa protección es útil o no depende del tipo de protección que se necesite. Si cada parte tuviera un certificado que confirmara a través de algún canal externo que hubiera sido protegido por el otro, no habría necesidad de certificados emitidos por alguna CA externa. Por ejemplo, incluso sin las autoridades de certificación, los bancos podrían publicar en sus carteleras una huella digital de su certificado autoemitido, especificar en todos sus anuncios y correos las ubicaciones en las que tales ... – supercat

+0

... se pueden encontrar vallas publicitarias, y Haga que la gente vea tales vallas publicitarias para asegurarse de que no sean manipuladas. Sus clientes podrían confirmar cuándo se conectan al banco la primera vez que el certificado que reciben tiene una huella digital correcta. En la práctica, esto sería tan complicado que pocos clientes querrían molestarse con él; tener SSL automáticamente usar certificados de un pequeño número de autoridades de confianza simplifica enormemente las cosas. – supercat

23

En realidad, es posible establecer una conexión encriptada entre extraños sin certificado, usando Diffie-Hellman o algoritmos de intercambio de claves similares.

Alice y Bob acuerdan un número aleatorio x. Alice calcula x a, donde a es un número primo grande conocido solo por Alice, y lo envía a Bob. Bob calcula x b y lo envía a Alice. Alice calcula (x b) un, y Bob calcula (x un) b.Desde (x un) b = (x b) un = x ab, Alice y Bob ahora tanto conocer el número x ab y puede utilizarse como una clave de cifrado. La belleza de esto es que Bob no sabe un, Alice no sabe b, y cualquier fisgones no sé cualquiera de los números (ya que el cálculo de un de x un, en el caso de grandes números, tomaría años).

Como supercat señala, esto, por sí solo, sigue siendo susceptible a un ataque de hombre en el medio, y es por eso que al menos un extremo de la transacción debe autenticarse con un certificado. Sin embargo, para ser precisos, no es el servidor el que verifica esto, es el navegador, y la mayoría de los navegadores permitirán que el usuario continúe si el certificado no es válido (o posiblemente incluso basura). En ese caso, la conexión será considerablemente más segura que una conexión normal. Para escuchar, necesitaría poder manipular el enrutamiento IP o las búsquedas de DNS, y tendría que configurarlo antes de que se establezca la conexión por primera vez, lo que no es fácil de hacer.

BTW los pares de llaves en los certificados son no lo que se usa para cifrar el tráfico real; se usan para establecer una nueva clave de uso único para un cifrado simétrico mucho más rápido (como DES) que luego hace el resto del trabajo.

+1

Nota: creo que se olvidó de mencionar que todos los cálculos se realizan en el módulo N, donde N es otro gran número acordado por Alice y Bob. Tenga en cuenta también que ni X ni N necesitan números aleatorios; incluso pueden ser constantes cableadas en el algoritmo; solo ayb son variables y secretos. –

+0

La advertencia está en el hecho de que esto tendría que implementarse en el navegador en primer lugar, ¿verdad? – Amunak

0

Es posible establecer una conexión encriptada, sí, pero aún sería posible que se esté comunicando con un cpmputer crackeado en lugar del servidor real. Así, la computadora rajada le dice al servidor que él sería el cliente, desencriptará todos los datos, los almacenará y enviará los datos encriptados al cliente (y le dirá que él sería el servidor). Entonces, es solo una conexión segura si no hay un punto vulnerable entre el servidor y el cliente, que nadie puede garantizar.

5

Ya no te molestes con el certificado ssl no válido. Ahora puede generar un certificado válido de navegador gratuito para su servidor tan fácilmente como generaría un certificado snakeoil (autofirmado, no válido en el navegador). Vaya a ver https://letsencrypt.org/, es gratis y está abierto a contribuciones.

+0

Es una solución prometedora, especialmente para los proyectos en los que no se puede pedir a las personas que paguen por un certificado "de confianza". Espero que no haya manera de revocar un certificado por razones no técnicas, me preocupa la censura tanto de los gobiernos como de las empresas. Veo Facebook en la lista de patrocinadores, no me tranquiliza. – gouessej

+0

¿De verdad? A menos que planee tener un sitio web seguro de pornografía infantil o alguna nueva mierda terrorista de orden mundial, no tiene nada que ocultar ni temer ... –

+0

Al principio, no estoy interesado en la pornografía infantil. En segundo lugar, Pétain consideró que De Gaulle era un "terrorista" mientras organizaba la resistencia contra los nazis, muestra el significado subjetivo de la palabra "terrorista" que se usa a menudo contra los opositores políticos, todos pueden convertirse en "terroristas" de otra persona. En tercer lugar, la Política de Certificación ISRG no menciona la pornografía infantil y el terrorismo en sus "Usos de Certificados Prohibidos", la redacción es menos precisa. – gouessej

Cuestiones relacionadas