¿Son seguros los certificados SSL autofirmados?

33

Quiero tener una conexión segura cuando inicio sesión en mi correo web, phpMyAdmin , etc.

Por lo tanto, firmé mis propios certificados SSL con OpenSSL y le dije a Apache que escuchara en el puerto 443.

¿Es esto realmente seguro? ¿Todas mis contraseñas se envían realmente a través de una capa segura? ¿Qué diferencia hay si compro un certificado SSL de Verisign o firmo el mío? Al final del día, todos los datos estarán en mi servidor de todos modos. Entonces, ¿cuál es la gran diferencia?

Cherrun
fuente

Respuestas:

40

Esto se trata de confianza. Si obtiene un certificado firmado de verisign, demuestra a clientes aleatorios que su certificado es confiable. Si autofirma el certificado, las personas que no tienen su certificado instalado en su computadora no pueden estar seguros de que no están siendo atacados por un ataque Man-in-the-middle .

Si usted acaba de usar su servidor web, entonces no necesita una CA real (como verisign) para firmar su certificado. Simplemente instale el certificado en las máquinas que desea usar y listo.

Editar: Entonces, para responder a su pregunta: Sí, todo está encriptado y puede estar seguro de que nadie puede leer sus datos confidenciales si sabe que el certificado presentado al navegador web es de hecho con el que ha configurado el servidor web.

monoceres
fuente
12
El propósito de la CA es demostrar a otros que un certificado pertenece a quien usted dice que pertenece. Como ya sabe a quién pertenece el certificado, en términos de acceso a su propio servidor y presentación de su propio certificado, una CA no sirve para nada. Sin embargo, otros no pueden acceder de forma segura a sus servidores, porque no tienen forma de saber en qué certificado confiar. (Ya sabes, confía en el que emitiste).
David Schwartz
Este también sería un enfoque razonable si se accediera al servidor por un número limitado de usuarios que pudieran contactarlo directamente para verificar el certificado: miembros de su familia o el personal de una pequeña empresa, como ejemplos.
bgvaughan
¿Puede un hombre en el medio que está coordinado con una AC anular el certificado autofirmado? Por ejemplo, Bob se conecta al sitio web autofirmado de Alice, Scar le envía a Bob un certificado diferente firmado por CA Scar con el que está coordinado, el navegador de Bob nunca muestra una advertencia SSL. es posible?
Hola Mundo,
14

Esto se trata de confianza.

Digamos que visita un sitio web popular que presenta un certificado. Este es el sitio web diciendo: "Esto es lo que soy, se puede confiar en mí, porque tengo esta carta de presentación firmada por alguien que confíe."

En este caso, 'alguien en quien confía' es una de las autoridades de certificación que, (con suerte) ha hecho el trabajo de piernas para establecer la identidad del presentador del certificado en su nombre.

En lo que realmente está confiando es en la confianza del autor del navegador en la confianza de la autoridad del certificado en la identidad de la persona que presenta el certificado. A menudo también hay más de una autoridad entre usted y el presentador, de ahí el término: 'Cadena de confianza'. [1]

Cuando firma su propio certificado, no hay una cadena de confianza. Su sitio le presentará su propio certificado. Si instala su propio certificado en su navegador como uno que se confía, a continuación, que es tratada como una autoridad, lo mismo que los que vienen pre-instalados. Entonces tiene una cadena de confianza con un solo enlace.

Si luego visita uno de sus propios sitios y su navegador le advierte que está presentando un certificado no confiable, entonces debe ser motivo de preocupación, ya que, como con cualquier otro sitio que presente un certificado no confiable, no puede estar seguro que te estás comunicando con el sitio real.

Tenga en cuenta que todavía no mencioné el cifrado. Los certificados tratan de autenticar la identidad de la parte con la que se está comunicando. A través de los certificados de confianza, hay una manera de estar razonablemente seguro de que su tienda o banco es el verdadero. Una vez que haya establecido su identidad, asegurar las comunicaciones entre usted es el siguiente paso. Sucede que los certificados también contienen dentro de ellos las claves necesarias para facilitar esta seguridad. Suponiendo que haya configurado su SSL correctamente, esta comunicación es tan segura como la que tendría con su tienda o banco, y sus contraseñas están igualmente protegidas. [2]

[1] Esto de ninguna manera es un sistema perfecto. Un mercado libre y un negocio de alto margen y bajo margen inevitablemente lleva a la reducción de costos: http://www.theregister.co.uk/2011/04/11/state_of_ssl_analysis/

[2] Al menos, lo suficientemente protegido como para que sea mucho más barato que alguien entre en tu casa y te revele tus secretos en lugar de intentar descifrarlos: http://xkcd.com/538/

SmallClanger
fuente
11

En realidad, los certificados autofirmados pueden ser seguros, pero no bajo el modelo que estamos usando ahora.


Bajo el modelo generalizado de CA (autoridad de certificación) que todos usan actualmente, el propósito del certificado firmado por una CA confiable es proporcionar autenticación.

Cuando obtenemos un certificado, todo lo que realmente vemos es 1's y 0's entrando desde el jack en la pared; no tenemos idea de dónde provienen esos 1 y 0. Sin embargo, debido a que el certificado está firmado por una CA, algo que nadie en el mundo que no sea esa CA puede hacer, y porque confiamos en que la CA verifique la identidad del propietario del certificado, confiamos en que el certificado proviene de quien afirma a.

Por supuesto, si la CA está comprometida o no verifica correctamente al propietario , todas las apuestas están canceladas.


Sin embargo, hay otro modelo, en virtud del cual los certificados auto-firmados no proporcionan autenticidad. Se llama modelo notario .

Esencialmente, en lugar de confiar en una sola CA, distribuimos la confianza a cualquier número de notarios . Estos notarios recorren Internet en busca de certificados, manteniendo un caché de todos los certificados que han visto. Cuando visita un sitio por primera vez y obtiene el certificado, pregunta a varios notarios distribuidos globalmente cuál fue el último certificado que vieron. Si no están de acuerdo con lo que estás viendo, podrías ser parte de un ataque de hombre en el medio.

Según este modelo, los certificados autofirmados son perfectamente seguros, siempre y cuando supongamos que el servidor no se ve comprometido de inmediato antes de que cualquier notario pueda ver su certificado.


El modelo de notario todavía está en su infancia, y es dudoso que alguna vez se haga cargo del modelo de CA (en realidad, no tiene que hacerlo, se pueden usar en conjunto) . El proyecto más prometedor hasta ahora es Convergence.io , que tiene un complemento para Firefox.

BlueRaja
fuente
2

No se trata TODO de confianza ...

Los certificados SSL pueden servir para dos propósitos: 1) es el servidor web al que se está conectando al que desea conectarse; y 2) encriptar las comunicaciones.

Puedes tener el # 2 sin el # 1, que es lo que has logrado. Lo que queda entonces es la verificación de que el cuadro al que se está conectando es el que desea.

Si es MI servidor, no tengo ningún problema con el uso de un certificado autofirmado de mí mismo, aunque existe el riesgo de que alguien pueda falsificar las cosas para hacer que me conecte a su servidor en lugar del mío. Como nadie se preocupa por mí y mi servidor y tengo poco valor aquí, no veo demasiado riesgo en esto.

Por otro lado, si en lugar de un servidor mío fuera un servidor suyo, estaría preocupado.

uSlackr
fuente
¿Ibas a decir: "Si es tu servidor, entonces NO estaría preocupado"?
cherrun
no, él dijo "si es MI servidor, no tengo ningún problema ... si es SU servidor, entonces tengo problemas".
Francesco
Eres incorrecto Nadie podría burlarse de cosas para que te conectes a su servidor en lugar del tuyo. No tienen una clave que corresponda al certificado autofirmado que emitió, y no pueden presentarle un certificado diferente ya que no lo aceptaría.
David Schwartz
@cherun Mi punto es que confío en mí, no en ti (ni en nadie más). Puedes / debes confiar en ti mismo.
uSlackr
1
-1. El cifrado se realiza utilizando claves simétricas negociadas durante el protocolo de enlace. Por supuesto, utiliza el certificado para verificar la identidad de la parte remota, de lo contrario no tendría sentido cifrar la comunicación (podría ser un MITM). Si es su servidor y un certificado autofirmado, importe su certificado explícitamente en su cliente.
Bruno