Espacio de tecnologia, software libre y sus derivados. Una horda de monos entrenados escriben de vez en cuando por aqui algunas noticias, opiniones e incluso alguna que otra cosa fuera del tema. Maqueros, favor de abstenerse que no somos lo suficientemente guapos.

Piano daemon

Formas mas usuales de encriptacion sobre sistemas BSD

Aqui les hablare de las 3 mas comunes formas de encriptacion de datos, que actualmente conosco.

  •    Funciones Hash
  •    Cifradores simetricos
  •    Cifradores asimetricos

Funciones Hash
Las funciones hash son faciles de computar pero dificil de aplicarles ingenieria en reversa.
Aque me refiero con esto?, lo explicare con un ejemplo sencillito sobre sistemas bsd:

$ echo "Esto se encriptara mediante una funcion hash" | md5sum
f538fb4f2360fcbb3af0f31cdd479829
$ echo "Esto se encripta mediante una funcion hash" | md5sum
fa5f1a88d876d3974a501b3a9c140e2a

Observemos que la cadena introducida via pipe a el comando md5sum nos ha generado un valor hexadecimal, este valor dificilmente podria llegar a ser igual a otro, que quiero decir con esto? Que no hay dos cadenas que computen el mismo valor. Matematicamente podrias llegar a la siguiente deduccion:

f(x) = valor_resultante_para_x_unico

o bien

md5sum("cadena_a_encriptar") = valor_resultante_para_cadena_a_encriptar_unico

hash_funccion

Uso comun
Un uso muy comun de esto, lo puedes ver cuando te has bajado una distribucion linux. En los servidores ftp donde se pone a disposicion la descarga de las imagenes de los DVDs que componen a una distribucion linux, tambien se te ofrecen los valores hash md5 que corresponden a cada imagen, una vez que has descargado una de las imagenes… Habras de comparar que estas imagenes te den el valor md5 indicado por los fabricantes de dicha distribucion linux.

$ md5sum openbsd5.1.iso
fa5f1a88d876d3974a501b3a9c140a2d

Si el valor fa5f1a88d876d3974a501b3a9c140a2d es el que indica el fabricante de la imagen iso, entonces la imagen que hemos de quemar en un dvd virguen, es la correcta… pero si el valor no es el indicado por el fabricante… lo mas probable sera, que te estes bajando un fichero imagen corrupto, o en el peor de los casos… una copia alterada por alguien que ha vulnerado el servidor ftp.. y te ha colocado un backdoor sobre la distribucion que aun no te has instalado.

Cifrados Simetricos

Un Cifrado Simetrico es una transformacion, que fue llevada a cabo por un llave secreta, Esta llave traduce su entrada conocida como texto plano, a un salida conocida como texto cifrado, de esta manera excluimos el criptoanalisis(accion contraria a la criptografia..) , solo aquella entidades que posean la llave secreta podran recobrar el texto plano que esta oculto sobre el texto cifrado.

Cifrado Simetrico

Los Cifrados Simetricos tienen una larga historia, y han mutado en variantes de los mismos bastante interesantes.. una de estas variantes es el triple-DES… muy usado por routers de prestigio hoy en dia.

Cifradores Asimetricos

Un cifrador asimetrico es semejante a un cifrador simetrico, pero el asimetrico ejerce su poder en el uso de un par de llaves.. y no solo una llave como lo hace el simetrico.

El par de llaves a las cuales hago referencia son las siguientes:

  •    Llaves Publicas -- Usadas para encriptar el texto plano
  •    Llaves Privadas -- Usadas para desencriptar el texto cifrado

Las llaves son generadas de una manera sencilla, lo cual permite deducir cual es la llave privada y cual es la publica. Aplicarle ingenieria en reversa a estas llaves, es algo sumamente dificil.
Esta fabulosa propiedad permite a la gente el intercambiar sus llaves publicas sobre canales o comunidades y mantener conductos de comunicacion completamente privados.

Los mas notables sistemas de cifrado asimetrico inclullen funciones Diffie-Hellman y RSA (como openssl). Los sistemas de encriptacion asimetrica son usados comunmente para intercambiar llaves de sistemas simetricos.

En la practica, las llaves publicas son pasadas con un cacho de informacion adicional llamada certificado, y estos certificados son validados por terceras partes. Por lo regular, una tercera parte validadora es una organizacion que realiza investigacion (impuestos.. creditos..etc) sobre gente que desea tener sus certificados validados.

Algoritmo de firmado digital (Digital Signature Algorithm or DSA)


Seria bueno tener la posibilidad de autenticar mensajes sin tener que compartir nada secreto. Si el Senor X firma su mensaje con su llave secreta de firmado, entonces cualquiera puede usar su llave publica para verificar que el Senor X fue el que firmo el mensaje. Esencialmente, la llave Publica y la Privada son intercambiables. Si el Senor X encripto un mensaje con su llave privada, nadie podra desencriptar este.

Firmando(con llave privada)


$ echo "cadena_original" | openssl dgst -md5 -sign private.key.formato_pem  >  hashmd5_firmado.txt

Verificacion (con llave publica que contiene certificado)


$ echo "cadena_original" | openssl dgst -md5 -verify certificado.cer.formato_pem -signature hashmd5_firmado.txt
Verified OK 

ed

June 15, 2008 @ 5:00 pm

exelente blog, por vos estoy pensando en seguir con la carrera de sistemas, apenas comienzo voy en primer año, ahorita ando en vacaciones pero deje mate y progra, asi que me ando replanteando si quiero seguir toda mi vida matandome resolviendo problemas….. suerte y segui aqui me entero de buenas cosas

Edwin Plauchu

June 16, 2008 @ 10:14 am

Gracias por tus comentarios Ed.
Ed..Los problemas no acaban… pero si suelen volverse cada dia mas pequeños conforme ampliamos mas nuestra vision total de las cosas.

y gracias por leerme :)

Checo

November 21, 2008 @ 4:33 pm

Al chile Edwin esta conmadre estar a 1 metro y medio de distancia de ti en el jale por si tengo dudas

RSS feed para comentarios en esta entrada · TrackBack URI

Comenta