Archive for 24 febrero 2015

SSL y repaso del bug Heartbleed

24/02/2015

secured_ssl

Hemos visto en intypedia el video sobre SSL en el que explican como se establece una conexión segura entre un cliente que no tiene ninguna clave ni certificado y un servidor que sí tiene instalado un certificado.

También en la página de Symantec vimos una comparativa de diferentes certificados. También en Dinahosting tenemos una comparativa de certificados (en este caso de la compañia Thawte ) a unos precios mucho más bajos.

En España la FNMT es una autoridad certificadora (AC) y emite certificados para organismos oficiales, como la Xunta de Galicia.  Tiene la particularidad de que el navegador Firefox no la reconoce como AC (no viene por defecto en el navegador) y cuando uno se conecta a una página con un certificado de la FNMT aparece una advertencia de “certificado desconocido”.   No sucede ésto con otros navegadores.

Establecer conexiones seguras es computacionalmente costoso No cuando hablamos de una única conexión pero hay que tener en cuenta que un servidor atenderá a cientos o miles de conexiones simultáneas y  ahí sí que tiene importancia esa dificultad de establecer la conexión.

Precisamente para evitar que se cierre una conexión que es costosa de establecer se estableció el mecanismo de ” latido ”  para mantener activa la conexión. Ese mecanismo tenía un fallo muy grave  que el año pasado se hizo público y que se consideró una de las mayores vulnerabilidades de internet ya que se podían copiar certificados instalados en servidores y reinstalarlos en otras máquinas, con lo que toda la seguridad que se sustenta sobre los certificados quedaba en entredicho. Muchas empresas tuvieron que revocar los certificados y reinstalar otros nuevos. Por supuesto hubo que cambiar también  la librería ssl que tenía el fallo.

Leer  la entrada en el blog sobre Heartbleed

 

 

HASH

04/02/2015

SHA-256

Muy relacionado con la criptografía está el tema de las funciones Hash (en este caso no son siglas, en inglés significa algo así como picar y mezclar)

Las funciones Hash obtienen un valor alfanumérico de un tamaño predefinido a partir del contenido de un fichero. También se les llama función resumen o huella.

En intypedia, en la lección 14 nos explican algunas características  que deben cumplir las funciones hash.

En la actualidad la función hash que más se usa es la SHA-256, la MD5 se utilizó pero se ha demostrado que ya no es segura.

En la wikipedia tenemos una explicación más técnica de la familia de funciones hash  SHA-2

Una de las utilidades de las funciones Hash es comprobar si en la transmisión de un fichero se produce algún cambio, ya sea por error o por manipulación. El procedimiento es el siguiente:

– el que transmite el fichero también transmite el hash de ese fichero;  el que recibe el fichero y el hash  recalcula el hash a partir del fichero recibido. Tiene así dos hashes, el recibido y el calculado, si son iguales quiere decir que el fichero se recibió bien.

Otra utilidad del hash es para firmar digitalmente documentos: con la clave privada de un usuario se encripta el hash de un documento (el documento no se encripta ); el que recibe el documento y el hash encriptado desencripta el hash con la clave pública del autor, si va bien se puede confirmar la autoría (autentificación), y además recalcula el hash a partir del documento y compara el hash calculado con el hash desencriptado, si son iguales significa que el documento no ha sido manipulado (integridad)

Virustotal utiliza el hash SHA-256 de un fichero como método para identificar los ficheros que le envían de modo que un mismo fichero con nombres distintos producirán el mismo hash y por lo tanto queda identificado.

En ciertos sistemas las passwords de los usuarios no se almacenan en texto claro sino que se les aplica una función hash y se guarda el resultado. De modo que si alguien accede al fichero de passwords no obtiene las passwords sino los hashes. Aunque este método ha sido superado, parcialmente,  por las Rainbow Tables.

En el proceso de validación de transacciones de bitcoins también aparecen los hashes, así minar consiste en encontrar un hash que cumpla unas ciertas condiciones para validar una operación.

Se pueden ver los últimos hashes de bitcoins en    (ver que empiezan por una ristra de ceros)
https://blockchain.info/es/blocks