¿Es un certificado SSL autofirmado mucho mejor que nada? [duplicar]

11

Tengo un servidor que aloja mi propio código interno, entre otras cosas. Como solo lo uso yo, generé un certificado y una clave SSL autofirmados, con la esperanza de que me diera un poco más de seguridad que solo HTTP.

Creo que la principal ventaja de tener un certificado firmado es que otra persona autentica y verifica el certificado, es decir: Verisign dice que sitea.com es legítimo y lo certifica. Sin embargo, como no me preocupa que todo el mundo sepa que mi sitio es válido, ¿un certificado autofirmado todavía me da mucha más seguridad que solo HTTP sin formato?

Si esto no es seguro, ¿un certificado del lado del cliente verificado instalado en mis computadoras mejoraría la seguridad? Quiero que esto sea seguro y, de ser posible, no tener que desembolsar un montón de dinero por año para un sitio que solo yo usaré.

    
pregunta Naftuli Kay 11.07.2013 - 00:08
fuente

3 respuestas

20

Certificado autofirmado significa que:

  • Todavía estás usando SSL, así que usas cifrado, así que estás derrotando a los atacantes pasivos: alguien que quiera ver tus secretos tendrá que comprometerse visiblemente al esfuerzo, montando un servidor falso o un man en el ataque central .

  • En el lado del cliente, puede usar "confianza directa", es decir, indicando específicamente a su navegador que confíe en el certificado del servidor específico. La conexión first al servidor es vulnerable a un MitM, pero después está protegido. Consulte esta respuesta para una discusión.

Entonces, sí, en muchas situaciones, SSL con un certificado autofirmado es mucho mejor que ningún SSL. Por supuesto, "mejor" y "bueno" no son lo mismo ...

Un certificado del lado del cliente trata de convencer al servidor de la identidad del cliente. Un servidor falso puede solicitar un certificado de cliente como el servidor original, por lo que no hay mejoras aquí. Sin embargo, un certificado del lado del cliente puede ayudar a MitM, si el servidor genuino está capacitado para requerir un certificado de cliente válido (un MitM verdadero es una doble personificación: el servidor genuino habla con un cliente falso, y el cliente genuino habla con un servidor falso; si el servidor requiere un certificado de cliente, entonces la mitad de MitM no funcionará, es decir, la parte con el cliente falso).

    
respondido por el Thomas Pornin 11.07.2013 - 00:55
fuente
7

Bueno, da más seguridad, si confía en que la entidad que firmó su propio certificado es quien dice ser. Ya que eres tú, es bastante sencillo, asumiendo que puedes estar seguro de que nadie else ha tenido acceso ilimitado a ese certificado.

La firma de certificados por una CA pública es un medio para proporcionar evidencia de identidad a desconocidos más o menos completos que están tratando de encontrar el Facebook "real", el Bank of America o eBay. Cuando se conectan por primera vez, o incluso la primera vez en mucho tiempo, no pueden estar seguros de que la dirección IP que devolvió el servidor DNS es realmente correcta. Por lo tanto, el servidor en el otro extremo envía su certificado, hace coincidir la dirección IP con un nombre y proporciona una prueba de que los datos de ese certificado han sido avalados por otra persona, que a su vez tiene un certificado que ha sido avalado por un tercero y así sucesivamente hasta un pequeño número de "raíces de confianza" en las que simplemente no tiene más remedio que confiar si tiene que confiar en alguien.

Dado que su servidor y su cliente se pueden "introducir" en un entorno seguro, donde puede sentarse en una única silla en una sola habitación, exportar un archivo de clave generado desde el almacén de certificados de su servidor e importarlo a su computadora cliente como un certificado personal de confianza, con todas las máquinas, cables y unidades de memoria USB involucradas sentadas justo enfrente de usted, esta conexión "por primera vez" ocurre en línea. A partir de ese momento, cuando se conecta de forma remota a través de una red, puede verificar la identidad de su servidor, ya que presenta exactamente el certificado en el que se confió a su máquina cliente. Este método se denomina "identificación de certificados" y se usa todo el tiempo en situaciones como la suya, donde una computadora que usted controla necesita probar que está hablando con otra computadora que usted controla.

Una vez que haya respondido a la pregunta de confianza, el túnel creado para la confidencialidad entre sus dos computadoras usando un certificado autofirmado no es diferente al creado con un certificado firmado por una CA. Su cliente encripta asimétricamente y envía una solicitud para establecer un canal de encriptación simétrico de un tipo específico usando un método de intercambio de claves predefinido, el servidor decide si quiere usar ese método y, si es así, responde con información encriptada que le permite al cliente complete el canal en su extremo (o simplemente un acuse de recibo cifrado, si el "método de intercambio de clave" era simplemente para que el cliente le enviara al servidor la clave que deseaba usar).

    
respondido por el KeithS 11.07.2013 - 00:34
fuente
6

¿Es más seguro que HTTP?

Sí, lo es. HTTP transferirá sus datos a través de texto sin formato, mientras que un certificado autofirmado proporcionará la protección mediante el cifrado de sus datos.

¿Los certificados verificados proporcionan más seguridad?

Donde creo que no tener un certificado verificado puede ser un problema es con los ataques de Man in the Middle. Si su computadora no sabe que el certificado es de confianza, a través de una autoridad o un certificado ya almacenado, es posible que alguien pueda interceptar el descifrado, leerlo y volver a cifrarlo utilizando sus propias claves y certificados SSL. Por supuesto, si tiene su certificado almacenado como de confianza en la computadora que está usando, se mostrará una alerta si se tratara de un hombre en el ataque central.

También querrás asegurarte de que tu clave privada esté bien protegida porque pierdes la revocación que proporcionan muchas CA.

    
respondido por el Travis Pessetto 11.07.2013 - 00:30
fuente

Lea otras preguntas en las etiquetas