Скачать презентацию Open SSL Gonzalo Ojeda Figueroa Introducción Open Скачать презентацию Open SSL Gonzalo Ojeda Figueroa Introducción Open

792d045a04a003d5be51648b6bd6d82f.ppt

  • Количество слайдов: 42

Open. SSL Gonzalo Ojeda Figueroa Open. SSL Gonzalo Ojeda Figueroa

Introducción Open. SSL, es una implementación de código libre del protocolo SSL (y del Introducción Open. SSL, es una implementación de código libre del protocolo SSL (y del protocolo TSL). v Su principal utilización es para realizar comunicaciones seguras en la Internet. v 2

Motivación Necesidad de Realizar envío de datos confidenciales o secretos por la Internet v Motivación Necesidad de Realizar envío de datos confidenciales o secretos por la Internet v Sólo debe recibida por el destinatario deseado √ es necesario autentificar al destinatario. v Sin embargo, las comunicaciones también pueden ser capturadas en su viaje. √ Las comunicaciones deben viajar protegidas v 3

Motivación v Como alternativa para esto actualmente se cuenta con el protocolo SSL, cuyo Motivación v Como alternativa para esto actualmente se cuenta con el protocolo SSL, cuyo funcionamiento será descrito a continuación. 4

Contenidos 1. Conceptos Generales. 2. Protocolo SSL - Definiciones y aspectos históricos. - Tipos Contenidos 1. Conceptos Generales. 2. Protocolo SSL - Definiciones y aspectos históricos. - Tipos de SSL. - Funcionamiento del protocolo SSL. - Resumen 5

Contenidos 3. Open. SSL - Definición - Protocolo TSL - Instalación - Uso de Contenidos 3. Open. SSL - Definición - Protocolo TSL - Instalación - Uso de Open. SSL 6

1. Conceptos Generales 1. Conceptos Generales

Conceptos Generales v - - - Llaves pública/privada: Información encriptada con una llave solo Conceptos Generales v - - - Llaves pública/privada: Información encriptada con una llave solo puede ser desencriptada por su par. La base es mantener una llave guardada y distribuir la otra. El par de llaves está basado en un número primo. 8

Conceptos Generales v - - Llave Simétrica: Usa la misma llave para encriptar y Conceptos Generales v - - Llave Simétrica: Usa la misma llave para encriptar y desencriptar (más práctico) Mucho más veloz que algoritm asimétrico. Potencialmente inseguro. Transmitir llave simétrica con ayuda de algoritmos asimétricos. 9

Conceptos Generales v - - - Hash: Número dado al aplicar una función hash Conceptos Generales v - - - Hash: Número dado al aplicar una función hash a un mensaje. Función hash es en un solo sentido. Se utiliza para certificar que un mensaje no ha cambiado. Usado en Sistemas de Password. 10

Conceptos Generales v - - Proceso de Firmado: Asumir la autenticidad de un mensaje. Conceptos Generales v - - Proceso de Firmado: Asumir la autenticidad de un mensaje. Crear hash del mensaje, encriptar hash con llave privada y agragar hash al certificado firmado. Se transmite la llave pública a todos los receptores. 11

Conceptos Generales - También es posible firmar un mensaje en conjunto con la firma. Conceptos Generales - También es posible firmar un mensaje en conjunto con la firma. Más simple, cualquier programa puede leer la llave pública y desencriptarlo. Además asegura que el mensaje no fue cambiado. Mensaje viaja encriptado a diferencia del anterior. 12

Conceptos Generales v - Certificado Digital: Certifica que una persona o entidad es quien Conceptos Generales v - Certificado Digital: Certifica que una persona o entidad es quien dice ser. Dirección de Correo, nombre, uso del certificado, ID de entidad que lo firma. CA almacenados en Navegador. Todo certificado es no confiable si no se ha firmado. 13

Ejemplo Certificado Digital 14 Ejemplo Certificado Digital 14

2. SSL 2. SSL

Definiciones SSL: Secure Sockets Layer, capa de sockets seguros. v Establece un canal seguro Definiciones SSL: Secure Sockets Layer, capa de sockets seguros. v Establece un canal seguro en el nivel de transporte entre dos partes. v Ofrece privacidad en las comunicaciones al utilizar cifrado con llave simétrica y usa códigos de autentificación de mensajes. v 16

Historia Originalmente desarrollado por Netscape Communications Corporation, a mediados de los ‘ 90. v Historia Originalmente desarrollado por Netscape Communications Corporation, a mediados de los ‘ 90. v La versión 2 del protocolo fue la primera en ser ampliamente utilizada. v La versión 3, actualmente en uso otorga un mayor número de características, mayor eficiencia y flexibilidad. v 17

Tipos de SSL v - - Existen 2 tipos de uso del protocolo SSL: Tipos de SSL v - - Existen 2 tipos de uso del protocolo SSL: SSL del Servidor: Autentifica que una dirección web pertenece a quien dice ser. SSL del Cliente: Autentifica que la persona que está al otro lado de la conexión es quien dice ser. 18

Funcionamiento SSL - - SSL del Servidor es el más usado, por eso será Funcionamiento SSL - - SSL del Servidor es el más usado, por eso será explicado: El servidor web debe entregar la llave pública de su certificado digital. Antes de aceptar esta llave pública, se debe revisar que el certificado esté firmado por una autoridad de confianza. 19

Funcionamiento - - - Calculo del Hash del certificado (llave pública del CA). Verificación Funcionamiento - - - Calculo del Hash del certificado (llave pública del CA). Verificación de que el certificado se encuentra válido. Comparar URL con la que viene en el certificado. 20

Funcionamiento - Se extrae la llave pública del certificado. Se genera la llave simétrica Funcionamiento - Se extrae la llave pública del certificado. Se genera la llave simétrica (aleatoria). Se encripta la llave simétrica con la llave pública del servidor (certificado) y se envía. Servidor recibe la llave y la decodifica con su llave privada. Comunicación puede comenzar con cifrado simétrico. 21

Resumen El navegador generó una clave simétrica aleatoria y luego la cifró utilizando la Resumen El navegador generó una clave simétrica aleatoria y luego la cifró utilizando la llave pública del servidor, el hecho que el servidor web pueda descifrar la clave simétrica y por ende participar en la conversación, le dice al navegador que él es el servidor real, pues es el único nodo en todo el universo que posee la llave privada capaz de descifrar los datos encriptados con la llave pública, necesaria para desempaquetar la clave simétrica 22

3. Open. SSL 3. Open. SSL

Definición Esfuerzo conjunto para desarrollar una implementación robusta, de nivel comercial, con todas las Definición Esfuerzo conjunto para desarrollar una implementación robusta, de nivel comercial, con todas las características y de tipo Open Source de los protocolos Secure Sockets Layer (SSL v 2/v 3), y Transport Layer Security (TLS v 1), además de bibliotecas con propósitos criptográficos. 24

Definición Principal diferencia con un paquete SSL se puede ver claramente en el slogan Definición Principal diferencia con un paquete SSL se puede ver claramente en el slogan del proyecto: “¿Porque comprar un paquete SSL como una caja negra, cuando puede obtener una abierta y gratis? ” 25

Protocolo TSL v v v Forma superior de SSL v 3 con funciones criptográficas Protocolo TSL v v v Forma superior de SSL v 3 con funciones criptográficas fortalecidas Es considerado el estándar a utilizar para comercio electrónico. Protocolo de Seguridad del Nivel de Transporte (TSL), y protocolo Seguridad a Nivel de Transporte inalámbrico (Wireless Transport Layer Security, WTLS) son descendientes directos del SSL. 26

Instalación Actualmente viene como un paquete en la mayoría de las distribuciones Linux. v Instalación Actualmente viene como un paquete en la mayoría de las distribuciones Linux. v Directorio por defecto de instalación: /var/ssl v Archivo de configuración: /usr/lib/ssl/openssl. cnf v Utilidades y otras librerías: /usr/lib/ssl v 27

Uso de Open. SSL a. ) b. ) c. ) - Creación de Certificados Uso de Open. SSL a. ) b. ) c. ) - Creación de Certificados Digitales. Instalación de Certificados Digitales. Manejo de Certificados Digitales: Generar y Firmar Certificados Revocar Certificados Renovar un Certificado Visualizar un Certificado 28

Uso Open. SSL Uso Open. SSL

Creación v Primer paso: Crear un Certificado Raíz: openssl req -new -x 509 -keyout Creación v Primer paso: Crear un Certificado Raíz: openssl req -new -x 509 -keyout private/cakey. pem -out cacert. pem -days 3650. Genera 2 partes: Llave (RSA PRIVATE KEY) private/cakey. pem Certificado (CERTIFICATE) cecert. pem v Proteger el Certificado de posibles ataques o robos y utilizarlo solo para firmar otros certificados. v 30

Creación v - - Existen 2 archivos que llevan un registro sobre los certificados Creación v - - Existen 2 archivos que llevan un registro sobre los certificados creados: index. txt el cual ahora debe encontrarse vacío serial debe contener el valor 01 31

Instalación Se debe instalar el certificado creado como certificado raíz, en el cual se Instalación Se debe instalar el certificado creado como certificado raíz, en el cual se confía. v Almacenar solo la parte del certificado: v openssl x 509 -in cacert. pem -out cacert. crt Poner cacert. crt en el servidor web, para que pueda ser descargado e instalado. v Disponer de más de un método de obtener el certificado. v 32

Manejo de Certificados Manejo de Certificados

Generar y Firmar v openssl req –new keyout newreq. pem –out newreq. pem Generar y Firmar v openssl req –new keyout newreq. pem –out newreq. pem – days 365 Crea una clave privada y una solicitud de certificado ( newreq. pem ). v Usar un nombre común (Common Name): Dirección web para autentificar página. Nombre usuario para autentificar correos de ese usuario. v 34

Generar y Firmar v Para firmar la solicitud anterior: openssl ca -policy_anything -out newcert. Generar y Firmar v Para firmar la solicitud anterior: openssl ca -policy_anything -out newcert. pem -infiles newreq. pem Transforma cacert. pem en el certificado newcert. pem. v Se crea un archivo en el directorio newcerts/ v Los archivos index. txt y serial serán actualizados. v 35

Revocar Actualizar base de datos de Certificados: openssl –revoke newcert. pem v Actualizar lista Revocar Actualizar base de datos de Certificados: openssl –revoke newcert. pem v Actualizar lista de Certificados Revocados: openssl ca –gencrl –out crl/sopac-ca. crl v Esta lista de Certificados Revocados (CRL) también debe estar disponible en el servidor web. v 36

Renovar Un usuario envía su certificado antiguo o crea uno nuevo usando su llave Renovar Un usuario envía su certificado antiguo o crea uno nuevo usando su llave privada. v También es posible obtener el nombre en index. txt de acá se obtiene el serial “xx” y se obtiene el archivo cert”xx”. pem. v Realizar el proceso manualmente para asegurarse de las fechas. v 37

Renovación v v openssl ca –policy_anyting –out  newcert. pem –infiles newreq. pem Renovación v v openssl ca –policy_anyting –out newcert. pem –infiles newreq. pem -startdate [now] –eddate [end_date] Reemplazar los valores [now] y [end_date] con los valores correctos. 38

Visualizar v Se puede tener un certificado en forma encriptada, para leerlo: Openssl x Visualizar v Se puede tener un certificado en forma encriptada, para leerlo: Openssl x 509 –in newcert. pem –noout –text 39

Comentarios Finales v Index. txt: este archivo contiene información de los certificados manejados por Comentarios Finales v Index. txt: este archivo contiene información de los certificados manejados por Open. SSL, todas las entradas del archivo están marcadas con R de revocado, V de válido y E de expirado. 40

Comentarios Finales Posee compatibilidad con distintos aplicaciones de uso masivo como por ejemplo: Apache, Comentarios Finales Posee compatibilidad con distintos aplicaciones de uso masivo como por ejemplo: Apache, protocolos de correo como IMAPS o POP, Microsoft Key Manager y para correo electrónico seguro, donde puede funcionar con certificados mime, ser utilizado con el Outlook, Netscape Messenger y varios otros clientes de correo. 41

Consultas o comentarios. . . Consultas o comentarios. . .