TecnologiasSeguridad.freireAlex.ssl

3

Click here to load reader

description

sig

Transcript of TecnologiasSeguridad.freireAlex.ssl

Page 1: TecnologiasSeguridad.freireAlex.ssl

ESCUELA POLITÉCNICA NACIONALFACULTAD DE INGENIERÍA DE SISTEMAS

CARRERA DE INGENIERIA EN SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN

Laboratorio de: SIC514 – Tecnologías de Seguridad

Nombre: Freire Alex

Fecha: 26/01/2016

Práctica No.: 7

Tema: Programación SSL

Objetivos:

1. Comprender el protocolo de seguridad SSL.

2. Desarrollar programas con la API OpenSSL.

3. Comparar SSL con alternativas, tales como IPSec, SSH, PPTP.

Marco teórico:

SSL es uno de los protocolos más usados en los navegadores por su facilidad de uso y el poco mantenimiento que requiere. Alguna de sus ventajas son la facilidad para encriptar información sensible, el brindar autenticación y la confianza que brinda a los usuarios que acceden a dicho contenido. Algunas de las desventajas de SSL es que se limita sus recursos a la capa de aplicación, el alto costo que implica configurar una infraestructura confiable, el bajo rendimiento en sitios web que pueden tener un gran número de visitas y el gran número de vulnerabilidades que se han detectado en los últimos tiempos.

IPSec al trabajar en la capa de red, brinda seguridad entre dos endpoints. soporta tanto el uso de firmas digitales como el uso de algoritmos de clave secreta; en cambio, SSL únicamente basa su funcionamiento en el uso de firmas digitales. IPSec soporta únicamente autenticación mutua; en cambio, SSL trabaja tanto con autenticación del servidor como del cliente. ara tanto para la accesibilidad de navegadores y para la capacidad de proxy de una VPN. IPSec soporta dos tipos de conecciones: modo tunel y modo transporte. PPTP opera en la capa de enlace de datos.

Uno de los principales beneficios de usar SSH es la posibilidad de establecer un tunel TCP, basado en aplicaciones. SSH no está diseñado para

Uno de los principales usos que tiene SSH es en la ejecución de comandos a través de internet; mientras que, SSL tiene mayor acogida en la transferencia de información en las operaciones bancarias. PPTP es usada en el establecimiento de conexiones sobre lineas seriales y conexiones dialed-up.

https://www.k2esec.com/network-security-protocols-ipsec-vs-tlsssl-vs-ssh-part-ii/

Desarrollo de la práctica:

1. Acceder a la distro de linux “CentOS”.

Page 2: TecnologiasSeguridad.freireAlex.ssl

2. Ejecutar el terminal de linux como root.

3. Instalar las librerías de OpenSSL.

4. Descargarse el código fuente de OpenSSL.

5. Abrir un editor de texto como Vim en el terminal de linux.

6. Crear un archivo server.c, el cual contendrá las siguientes partes:

1. Las librerías necesarias, especialmente sys/socket.h, para la creación de sockets, y openssl/ssl.h, para realizar la encriptación con SSL.

2. Un método para crear un socket en el servidor sobre el cual se implementará SSL.

3. Un método para inicializar el servidor y crear el context server.

4. Un método para cargar los certificados.

5. Un método para mostrar los certificados.

6. Un método para la funcionalidad de servidor como un servicio.

7. Un método principal donde se llamará a todos los métodos anteriores.

7. Crear un archivo cliente.c, el cual contendrá:

1. Las librerías necesarias, especialmente sys/socket.h, para la creación de sockets, y openssl/ssl.h, para realizar la encriptación con SSL.

2. Un método para crear un socket en el servidor sobre el cual se implementará SSL.

3. Un método para inicializar el servidor y crear el context server.

4. Un método para mostrar los certificados.

5. Un método principal donde se llamará a todos los métodos anteriores.

8. Compilar ambos programas y probar su funcionalidad.

Análisis de resultados:

El programa desarrollado cumple su cometido, al permitir la comunicación entre 2 sockets: un cliente y un servidor, con el uso de certificados ssl. Una de las mayores dificultades que se presentó durante el desarrollo del mismo fue buscar mecanismos que permitan contrarrestar las múltiples vulnerabilidades existentes en las distintas versiones de ssl, tales como: heartbleed attack, beast attack y poodle attack. La más difícil de todas fue esta última, debido a que, por internet, solo existía información teórica sobre este ataque;pero, ningún exploit con su código fuente que nos permita entender su funcionamineto. La única solución que se pudo encontrar al respecto fue recurrir al uso de TLS v1.3, en lugar de SSL.

Conclusiones y recomendaciones:

SSL es un protocol que tiene varias vulnerabilidades en todas sus versiones, por tanto, es necesario usar TLS v1.3 para tener una mejor protección frente a posibles ataques.

SSL

Se recomienda el uso de SSL para un uso casual de una extranet; en cambio, para un acceso permanente se recomienda usar IPSec.

Se aconseja el uso del protocolo PPTP cuando se requ

Page 3: TecnologiasSeguridad.freireAlex.ssl

Bibliografía:

https://eprint.iacr.org/2004/314.pdf