Openssl
Upcoming SlideShare
Loading in...5
×
 

Openssl

on

  • 294 views

OPENSSL y SSLCOP

OPENSSL y SSLCOP

Statistics

Views

Total Views
294
Views on SlideShare
294
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Openssl Openssl Document Transcript

  • Pachuca Hgo. 28 de Noviembre del 2013 OPEN SSL Unidad 4 MATERIA: SEGURIDAD EN TECNOLOGIAS DE LA INFORMACION CATEDRATICO: JAVIER HERNANDEZ OROZCO ALUMNA: ANA KAREN VELASCO SOTO N.C. 09200867
  • Contenido INTRODUCCIÓN ..................................................................................................................................... 2 SEGURIDAD EN COMUNICACIONES WEB: SSL ............................................................................................... 2 ¿COMO ES EL MODELO DE CONFIANZA? .................................................................................................................. 2 DESVENTAJAS .................................................................................................................................................... 5 Uso de certificados comodín ...................................................................................................................... 5 Protección ante ataques ............................................................................................................................ 5 SSLCop ............................................................................................................................................................................. 6 OPEN SSL (LA NAVAJA SUIZA DE LA ENCRIPTACIÓN) ................................................................................ 7 REQUISITOS DE INSTALACIÓN ................................................................................................................................. 7 PROCEDIMIENTO DE INSTALACION .......................................................................................................................... 7 Generado claves......................................................................................................................................... 8 CONCLUSIÓN........................................................................................................................................ 13 REFERENCIAS ....................................................................................................................................... 14
  • Introducción SEGURIDAD EN COMUNICACIONES WEB: SSL Es esta época donde todo circula por internet y la información importante puede ser sustraída con facilidad es necesario tener herramientas y habilitar procedimientos para la protección de los datos en tránsito. En la red Internet actual, la gran mayoría de las comunicaciones a nivel de usuario son comunicaciones vía web, hablamos de Facebook, Twitter, acceso a banca online, etc. Con la intención de asegurar las conexiones del mayor número de personas posibles se ve interesante profundizar exclusivamente en la protección de comunicaciones web. Es por tanto necesario asegurar que cuando interactuamos con una página web estamos realmente intercambiando información con la página legítima y no con un atacante. Para ello, se ha implementado un modelo de seguridad basado en una infraestructura de clave pública (PKI, del inglés Public Key Infrastructure) en el protocolo SSL. ¿Como es el Modelo de confianza? Cuando nos conectamos a una página web mediante el protocolo HTTPS (HTTP sobre SSL), nuestro navegador se conecta al servidor web e intenta establecer una sesión segura mediante SSL. Para ello, se llevan a cabo los siguientes pasos: 1. Obtención del certificado del servidor. En primer lugar, el servidor nos envía un certificado digital. Esto sería equivalente a un pasaporte o documento de identidad generado por las autoridades de nuestro país. Básicamente, el certificado incluye el dominio de la página web, el período de validez, la parte pública del par de claves que el servidor va a usar para establecer la comunicación y una firma digital creada por una Autoridad de Certificación (CA, Certification Authority). 2. Comprobación del certificado. Una vez se tiene el certificado, se obtiene la clave pública de la CA y se verifica la validez del mismo. Para que este paso sea válido, la CA debe estar dentro de una lista de autoridades de confianza (por ejemplo, equivaldría a ser generado por un país de la EUA en el mundo real). Para ello, los navegadores contienen una lista de CA de confianza. Si el certificado no ha sido generado por una CA de confianza, es posible no obstante que haya sido por generado por una CA subordinada. En este caso se procede a comprobar la firma digital sobre el certificado de la CA subordinada. Con esto se genera una cadena de certificados, que debe acabar en una autoridad de confianza. Si es posible verificar todos los certificados de la cadena, entonces se asume que la clave pública expuesta por el servidor es de confianza. 3. Comprobación de la identidad del servidor. Una vez establecida la confianza de la clave pública, es necesario establecer la identidad del servidor. Para ello, se utiliza el protocolo SSL para asegurar que el servidor con el que estamos hablando efectivamente tiene conocimiento de la clave privada
  • correspondiente. Además, el protocolo SSL se asegura de introducir datos aleatorios en la comprobación para evitar que un atacante pueda estar reusando comunicaciones almacenadas con anterioridad. 4. Generación de claves simétricas. Finalmente, se utilizan los datos intercambiados entre cliente y servidor para generar dos claves simétricas. Éstas se usarán para asegurar la confidencialidad y la integridad de las comunicaciones durante la sesión web. Sin embargo, SSL no protege frente atacantes capaces de comprometer la seguridad de cualquiera de los dos extremos de la información. Si el cliente ha sido comprometido, es obvio que el atacante tendrá acceso a cualquier comunicación del mismo con un servidor web por mucho que éste utilice SSL. Por otra parte, si un servidor web es comprometido, el atacante sería capaz de inyectar información en las sesiones SSL así como acceder a toda la información a la que tiene acceso el sistema comprometido. Por último, si el atacante es capaz de obtener la clave privada correspondiente al servidor, éste sería capaz también de descifrar las comunicaciones protegidas vía SSL puesto que tendría acceso a toda la información necesaria para derivar las claves simétricas utilizadas en las sesiones web. Así pues, SSL protege la confidencialidad y la integridad de la comunicación pero no puede proteger al usuario ante servidores maliciosos o comprometidos. Generalmente, cuando se accede a un servicio web vía SSL, el navegador se encarga de verificar el certificado y establecer la sesión si dicha verificación se realiza con éxito. Los navegadores más comunes disponen de mecanismos para notificar al usuario que la verificación se ha realizado con éxito, generalmente mediante el uso de un pequeño candado. En la siguiente imagen se muestra un ejemplo del certificado de identidad de gmail, ha sido verificado.
  • La información sobre el certificado: Detalles más a fondo del certificado de identidad:
  • Desventajas Uso de certificados comodín En los certificados utilizados para garantizar la autenticidad de los servidores web existe la posibilidad de utilizar comodines dentro del dominio web. Así pues, se pueden generar certificados válidos para cualquier dominio. Obviamente, para generar dicho certificado se necesitaría la colaboración de CAs o el acceso ilegítimo a ellas. Por ejemplo, en las agencias de espionaje de determinados gobiernos tengan acceso a este tipo de certificados para realizar labores de vigilancia e investigación. Protección ante ataques En vista de los ataques más comunes ante SSL, existen dos formas principales de protegerse como usuario: limitando la lista de CAs de confianza y/o vigilando los certificados de aquellas páginas webs con las que interactuamos. Puesto que la verificación manual de certificados cada vez que visitamos una página web es una tarea tediosa, en esta sección vamos a ver algunas utilidades que nos pueden ayudar en este cometido.
  • SSLCop SSLCop es una herramienta desarrollada con el objetivo de limitar el número de CAs de confianza en sistemas Windows. El concepto básico detrás de esta herramienta es que en general, un usuario español, por ejemplo, no tiene ninguna necesidad de acceder a sitios web con certificados emitidos en Macao. Siguiendo este concepto, la herramienta SSLCop nos permite elegir en qué CAs queremos confiar basándonos en el país de origen de la misma. Cómo se puede ver en esta imagen, la interfaz nos permite seleccionar CAs por países y bloquear aquellos países seleccionados. Una vez presionado el botón BLOCK!, estas CAs son eliminadas de la lista de CAs de confianza de Windows, que es usada entre otros por Internet Explorer y Google Chrome. Cabe aclarar que el certificado se ha borrado pero esto no impide que se pueda visualizar la página.
  • OPEN SSL (la navaja suiza de la encriptación) Requisitos de instalación • • • • Instalar OpenSSL Acceder a la página www.openssl.org Buscar el ejecutable de Windows en la sección Related/binaries Para poder trabajar en d:temp hay que definir el path: c:opensslbin Procedimiento de instalacion Despues de descargar el setup de OPENSSL le damos doble clic y seguimos le procedimiento como se muestra en las siguientes imagenes: 2.1.- 3.- 4.-
  • 5.- 6.- Generado claves Para realizar una encriptacion se necesitan dos claves ya sean asimetricas (diferentes entre ellas) o simetricas(iguales entre ellas) una debe ser de caracter publico y otra privada. Con OPENSSL se generan dichas claves, de forma sencilla y con opciones de nivel de encriptacion (las “vueltas” de cifrado que se le dan al archivo a encriptar). En cmd escribimos el comando openssl? Y observamos que entre ellos aparecen los comandos genrsa y rsa, que nos permitirán generar las claves publica y privada.
  • Como primer ejercicio, vamos a generar una clave privada de 1.024 bits de nombre c4yRSA1 como se observa en la siguiente figura. Para ello usaremos el siguiente comando: C:OpenSSL-Win32bin>openssl genrsa -out c4yRSA1 1024 Seguramente te preguntarás qué significan esos puntos y esas cruces que aparecen en dos líneas mientras se calcula la clave. Se trata de la indicación que nos hace el programa que está intentando encontrar un primo p y luego un primo q, y comprobando que ambos son primos. Más adelante tendrás ocasión de comprobarlo cuando calcules una clave muy grande y por tanto tarde bastante tiempo en generarse. Además comprobamos que si no especificamos nada al respecto, OpenSSL usa como clave pública estándar el número 4 de Fermat: 65.537 ó 0x10001. Ejecutando el siguiente comando se va a generar esta clave “muygrande” de 8.192 bits el programa tarda varios segundos, lo que se observa en la velocidad en que van apareciendo los puntos y las cruces. Esto depende del nivel de cifrado que se le ha dado a la clave, por eso es que tarda unos mili segundos más en encriptar que con la clave anterior.
  • C:OpenSSL-Win32bin>openssl genrsa -out muygrande 8192 Para ver la clave pública, deberemos ejecutar antes el siguiente comando: C:OpenSSL-Win32bin>openssl rsa -in c4yRSA1 -pubout
  • En esta imagen se muestra la diferencia del nivel de cifrado en la clave que se llama “muygrande”. En la ruta siguiente se puede visualizar la clave privada, se debe abrir con wordpad el archivo c4yRSA1 almacenado en la siguiente ruta: C:OpenSSL-Win32bin
  • Y la clave publica:
  • Conclusión OPENSSL es una herramienta para encriptación de datos que normalmente se utiliza para crear certificados digitales que sirve para que el navegador identifique si la página a donde se está accesando es auténtica, estos certificados se utilizan principalmente es páginas que necesitan seguridad extra como lo son Gmail, Outlook, twitter y de banca electrónica entre otras. Cabe destacar que esta herramienta proporciona también claves privadas y públicas para cifrar archivos comunes, con diferentes niveles de encriptación. OPENSSL al ser una herramienta de encriptación podría utilizarse en la última capa de nuestro sistema de seguridad web, pero no por eso debemos subestimarlo sobre lo útil que puede ser al proteger información muy valiosa.
  • Referencias Bioinformatiquillo. (26 de 11 de 2013). Obtenido de http://bioinformatiquillo.wordpress.com/2007/12/16/encriptacion-sencilla-de-ficheroscon-openssl/ Criptored. (20 de 11 de 2013). Obtenido de http://www.criptored.upm.es/crypt4you/temas/RSA/leccion7/leccion07.html INFOW. (24 de 11 de 2013). Obtenido de http://infow.wordpress.com/2009/01/11/openssl-lanavaja-suiza-del-cifrado/ LINGUEE. (20 de 11 de 2013). Obtenido de http://www.linguee.es/inglesespanol/traduccion/openssl+toolkit.html OPENSSL . (24 de 11 de 2013). Obtenido de http://www.openssl.org/docs/apps/genrsa.html Wikipedia. (18 de 11 de 2013). Obtenido de http://en.wikipedia.org/wiki/Convergence_(SSL)