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?
fuente
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/
fuente
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.
fuente
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.
fuente