SSL : Una herramienta necesaria para navegar seguro

¡Hola amigos informáticos! Es momento de escribir un poco sobre uno de los protocolos de seguridad más utilizados, la mayoría de las veces, sin conocimiento. Este protocolo es cosa del día a día ya que al abrir nuestras cuentas de correo lo estamos utilizando, otro momento es al hacer alguna transacción con tarjetas de crédito, home banking, y un largo etc. Por eso creo que debemos saber como funciona. Si te interesa el desarrollo web, si sos administrador, o simplemente un usuario que hace las cosas tipicas en la internet, deberías saber como funciona y como lograr una navegación segura y confiable en todo momento….Por si todavía no lo reconoces, este funciona junto a HTTP, formando HTTPS que pone un candado y cambia de color la barra de direcciones de los navegadores al comenzar la conexión segura…..

Fijensé lo importante que es SSL que lo desarrolló la Netscape Communications Corporation para que sea utilizado en su famoso navegador y empresas de tarjetas importantes, como American Express, lo aprobaron y aplicaron a sus transacciones.

Hoy en día podemos encontrar que SSL se utiliza para muchas cosas, desde cuentas de correo, hasta una VPN como es el caso de OPENVPN.Sólo voy a abarcar la navegación web para no ser tan extenso y más que nada, voy a dar los conceptos básicos para que sepamos que es, ya que el conocimiento profundo del funcionamiento me llevaría muuuuuchas hojas.

Vamos a definirlo para meternos un poco más en tema:

Secure Sockets Layer – Capa de Sockets segura. Socket se refiere un lugar a donde uno puede conectarse.

SSL es un protocolo y se encuentra en la pila OSI entre los niveles de TCP/IP y de los protocolos HTTP, FTP, SMTP, etc ( va desde capa 4 hasta la 7).
Da seguridad porque cifra los datos intercambiados entre cliente-servidor con un algoritmo simétrico (este tipo de cifrado usa la misma clave para cifrar y descifrar), típicamente RCA4 o IDEA, y cifrando la clave de sesion de RCA4 o IDEA con un algorítmo de cifrado de clave pública (cifrado asimétrico que usa una clave pública y una privada), tipicamente el RSA.
La clave de sesión es la que se utiliza para cifrar los datos que vienen del cliente y van al servidor seguro. En cada transacción se genera una clave nueva, así que cualquier ataque y descifrado no servirá para descifrar transacciones futuras (¡¡¡gran ventaja !!!).

La autenticación más utilizada tiene una extensión de 128 bits, lo cual lo hace seguro y confiable para ser utilizado en medios CLIENTE-SERVIDOR.

FUNCIONAMIENTO

Para resumir, hay tres pasos básicos para realizar una conexion SSL :

1) Se comunican el cliente y el servidor para negociar cual va a ser el algoritmo que usarán durante la comunicacion (RSA, Diffie-Hellman, DSA o Fortezza).

2) Intercambian la clave publica y la autenticacion basada en certificados digitales.

3) Cifran el tragfico usando un cifrado Simétrico (RC2, RC4, IDEA-Internationa Data Encryption Algorithn, DES- Data Encription Starndar, Triple DES o AES -Advanced Encryption Standard).
Con funciones hash: MD5 o de la familia SHA

Eso es lo que sucede antes de comenzar la conexión. Luego de esto comienza un Handshake como el que utiliza TCP (saludo en vías), donde se envían paquetes hello de parte del cliente (clientHello)y del servidor (ServerHello) y donde se define la compresion, la version y algo muy importante que son los certificados digitales. Acá hago un pequeño paréntesis porque es algo que debemos conocer y saber como funciona.

Certificados Digitales:

La analogía es que los humanos tenemos documentos de ideantidad, pasaportes, etc y las pc tiene certificados digitales. No son más que eso, es un certificado que emite una entidad aprobada y reconocida y que es única para cada server o cliente (la analogía sería como el número de pasaporte único). Muchas veces al entrar a un sitio web, nos piden que aceptemos el certificado, que no es mas que una planilla con datos de la empresa que tiene el server, etc pero que detrás de eso hay una entidad que lo emitió y se hace cargo de lo que sucede en el sitio, que cumple con las normas, etc . Así aparece un candado y cambia el color de la barra de direcciones del navegador, al aceptar el certificado digital.

La mayoría de las veces es el servidor quien da el certificado digital, pero a veces el servidor puede que pida un certificado al cliente…(son las menos, pero igualmente es muy sencillo crear un certificado con tus datos desde el navegador…..).

Algunas imágenes para aclarar lo explicado anteriormente:

Como seleccionar SSL en Firefox

Aviso y pedido de certificado digital en Firefox

Ver certificados digitales almacenados y posibilidad de borrado en Firefox

De esta manera, y despues de todos los pasos vistos anteriormente, comienza la conexión segura. La rotacion de encriptación de cada transacción y la comprobación de identidad mediante los certificados digitales, son lo que hace que SSL sea una buena medida de seguridad.

Para poner la tecnología a disposición nuestra, ahora que sabemos como funciona, debemos ver que las transacciones importantes se hagan bajo HTTPS (SSL bajo HTTP) al navegar día a día, si son desarrolladores, deberían adentrarse en esto de la seguridad y escribir código que use este tipo de protocolos.

Espero que les haya servido y cualquier duda escriban que para eso estamos….¡¡¡un abrazo y hasta la próxima !!!!

Juancitux 😉

Sin categoría

Deja una respuesta