Al igual que SET, SSL
es un protocolo de seguridad para garantizar confidencialidad y autenticar a
los protagonistas de una relación cliente-servidor. Desarrollado por Netscape,
es acaso el más utilizado actualmente en las transacciones a través de Internet
por la mayoría de los navegadores, pero no alcanza los niveles de seguridad de
SET. En principio, porque autenticará siempre al servidor, pero el cliente no
tiene necesariamente por qué hacerlo. En segundo lugar, porque mientras SET
utiliza una doble clave (privada-simétrica: tipo DES, y pública-asimétrica:
tipo RSA), SSL tan sólo utiliza clave pública.
El proceso comienza
por la solicitud del cliente de un URL a un servidor que soporte SSL. Una vez
realizada la solicitud, se negocia la conexión SSL, lo que en la terminología
de este protocolo suele denominarse handshake (apretón de
manos).
El cliente envía el
denominado client hello, lo que supone simplemente que solicita la verificación
del servidor e informa de qué algoritmos de criptografía puede soportar, además
de enviar un número aleatorio. Hasta ahora tan sólo se ha intercambiado una
lista de opciones.
El server hello
consiste en que el servidor responde enviando su identificador digital, que
contiene su clave pública, los algoritmos criptográficos y otro número
aleatorio. (Lo normal es que los algoritmos a utilizar sean los más altos que
puedan soportar ambos: normal 40 bits, mejor 128 bits). Hay que señalar que a
pesar de utilizar claves de 128 bits se han conseguido rupturas de la
seguridad, lo que indica que información muy sensible o transacciones que
impliquen grandes cantidades de dinero no están absolutamente seguras
utilizando protocolo SSL.
La aprobación del
cliente se realiza cuando éste verifica la validez del identificador digital
del servidor desencriptándolo utilizando su clave pública. También se suelen
autenticar fechas, URL, etc. Una vez verificada la identidad, el cliente genera
una clave aleatoria y la encripta utilizando la clave pública del servidor y el
algoritmo concertado. A continuación la envía al servidor.
En este momento
ambos conocen sus respectivas claves de forma que están listos para
intercambiar información de forma segura utilizando la clave secreta acordada y
los algoritmos específicos.
Cuando se abandona
una sesión SSL, normalmente la aplicación presenta un mensaje, advirtiendo que
la comunicación no es segura y confirma que el cliente desea efectivamente
finalizar la sesión.
Handshake
SSL:

El protocolo SSL es
sin duda alguna el más utilizado hoy en día en Internet y lo utilizan casi
todos los servidores de compras, pero mantiene los pequeños defectos que hemos
mencionado antes: utilizar únicamente clave pública y no exigirle verificación
al cliente. Pero su gran ventaja ante SET es precisamente ser tan utilizado,
puesto que ya se encuentra incorporado a la mayoría de los ordenadores y, de
otro lado, que no exige una certificación de cada participante en el
intercambio por parte de las Autoridades de Certificación, algo que para los
actuales usuarios de la red, acostumbrados a la inmensa libertad que ofrece
Internet no parece demasiado asumible.