SSL o Secure Sockets Layer (en español capa de conexión segura) es un protocolo de seguridad estándar el cual usa certificados para establecer una conexión cifrada segura entre un servidor y un cliente, normalmente un servidor Web (sitio Web) y un navegador, o un servidor de correo electrónico y un cliente.
Recientemente el SSL ha sido sustituido por TLS (Transport Layer Security) el cual está basado en SSL y son compatibles.
¿Para que se usa?
SSL permite que la información confidencial, como números de tarjetas de crédito, números de seguridad social, y las credenciales de inicio de sesión se transmitan de forma segura. Más específicamente, SSL es un protocolo de seguridad. Estos protocolos describen cómo se deben utilizar los algoritmos, en este caso, el protocolo SSL determina las variables de la encriptación, tanto para el enlace y los datos que se transmiten.
Clave pública y clave privada
Un certificados SSL tienen un par de claves, una pública y una privada. Estas teclas funcionan juntas para establecer una conexión cifrada. El certificado también contiene lo que se llama el “sujeto”, que es la identidad del propietario del certificado/sitio Web.
Firmado digitalmente por un CA de confianza
La parte más importante de un Certificado SSL es que está firmado digitalmente por una CA de confianza. Cualquier persona puede crear un certificado, pero los navegadores sólo confían en los certificados que provienen de una organización en su lista de CA de confianza.
Los navegadores vienen con una lista pre-instalada de CA de confianza, conocido como el almacén de CA de raíz de confianza. Para ser añadido a la tienda de CA raíz de confianza, la empresa debe cumplir y ser auditado contra la seguridad y los estándares de autenticación establecidos por los navegadores.
Un certificado SSL emitido por una CA (Trusted Root CA tienda) a una organización y su dominio/sitio Web, verifica que un tercero de confianza ha autenticado la identidad de la organización. Dado a que el navegador confía en la CA, el navegador ahora confía en la identidad de la organización también. El navegador permite al usuario saber que el sitio es seguro, y el usuario puede tener la confianza de poner su información confidencial.
¿Cómo funciona el Certificado SSL para crear una conexión segura?
Cuando un navegador intenta acceder a un sitio Web que está garantizado por SSL, el navegador y el servidor Web establecen una conexión SSL usando un proceso llamado “Handshake SSL” (apretón de manos). Tenga en cuenta que el protocolo de enlace SSL es invisible para el usuario y ocurre instantáneamente.
Esencialmente, tres teclas se utilizan para establecer la conexión SSL: las claves públicas, privadas y de la sesión. Cualquier cosa cifrada con la clave pública sólo puede ser descifrada con la clave privada, y viceversa.
Debido a que para cifrar y descifrar con la clave privada y pública se necesita mucha potencia de procesamiento, sólo se utilizan durante el protocolo de enlace SSL para crear una clave de sesión simétrica. Después se hace la conexión segura, y se usa la clave de sesión para cifrar todos los datos transmitidos.
Comunicación del navegador y el servidor: proceso
1- El navegador se conecta a un servidor Web (sitio Web) asegurado con SSL (https). El navegador solicita que el servidor se identifique.
2- El servidor envía una copia de su certificado SSL, incluyendo la clave pública del servidor.
3- El navegador comprueba el certificado raíz con una lista de CA de confianza y que el certificado es vigente, no revocado, y que su nombre común es válido para el sitio Web con el que esta conectando. Si el navegador confía en el certificado, crea, encripta, y devuelve una clave de sesión simétrica utilizando la clave pública del servidor.
4- El servidor descifra la clave de sesión simétrica utilizando su clave privada y envía un acuse de recibo cifrado con la clave de sesión para iniciar la sesión cifrada.
5- El servidor y el navegador ahora encriptan todos los datos transmitidos con la clave de sesión.
