Você está na página 1de 8

Diseo y Construccin: Segundo Momento, Firmas Digitales

RESUMEN: Dado que las nuevas tecnologas se


introducen cada vez ms en nuestra vida
cotidiana, remplazando da a da tareas que hace
tiempo era impensable realizar con un
computador, hoy en da nace la necesidad de un
proceso que emule nuestra firma manual, esta
firma que es necesaria en diversos procesos
cotidianos por ejemplo el banco, las compras
entre otros, teniendo esta las mismas propiedades
y garantas pero con la gran diferencia de que
no necesite de nuestra presencia fsica en un
determinado lugar para poderse llevar a cabo un
proceso.
Por esta razn nace la firma digital, un proceso
potenciado en todos los niveles bien
administrativo, empresarial, bancario, etc, que
no es ms que el equivalente electrnico a la
firma manual.

Palabras claves- Deban, firma digital,
Mquina virtual, Certificado, clave pblica,
encriptacin, clave privada, OpenSSSL, Funcin
HASH.

I . I NTRODUCCI N
La incorporacin de nuevas tecnologas y el
avance de estas, hace que muchas de las personas
y/o organizaciones tomen medidas de proteccin
para los diferentes ataques que surgen con el
pasar de los das, por esto la firma digital al da
de hoy es uno de los mecanismos de proteccin
puesto que esta firma se puede vincular bien sea a
un documento, teniendo la posibilidad de
identificar al autor del mismo o sealar una
conformidad o disconformidad cualquiera que sea
el caso.

Adems se puede asociar la identidad de una
persona o la de un computador con el mensaje y/o
documento permitiendo la transmisin de
mensajes y en la gestin de documentos
electrnicos.


I I . RECOMENDACI ONES
Para llevar a cabo estas prctica, en el entorno
de trabajo de Debia lo que se aconseja es
ingresar a la consola es ser superusuario (root).
Para hallar las contraseas es recomendable
tener un buen equipo de cmputo puesto varia en
tiempo para encontrar las contraseas.

I I I . GENERACI N DE CLAVES
Con el entorno de trabajo debidamente
configurado, se comenzar con la generacin de
las claves y firmar el documento.

Para generar la clave se puede utilizar el
siguiente comando openssl genrsa -aes192 -f4 -
passout pass:unad2014 -out rsa_2048.key 2048
yluego damos ENTER. (Ver imagen).
Fig. 1 Comando para generar clave


Luego de ejecutar el comando anterior, OpenSSl
genera un archivo de forma automtica.

Para encontrar el archivo que se genero se puede
ir por la siguiente ruta: lugares Carpeta
Persona
l (Ver
Imagen)
:







Fig2. Ruta de Ubicacin de archivo
Al ingresar a la ruta descrita anteriormente se
puede observar el archivo que fue creado.
Fig3. Archivo rsa_2048.key creado


Para trabajar con este archivo, se debe
desbloquear y para esto caso se utiliza la
siguiente contrasea unad201, para esto se da
doble sobre el archivo y debe aparecer la
siguiente pantalla (Ver imagen):
Fig4. Desbloqueo del archivo

Luego de ingresar la contrasea correctamente se
podr observar el contenido de este:

Fig5. Informacin del archivo



Luego se extraer la contrasea que se gener
anteriormente, para esto se debe utilizar el
siguiente comando openssl rsa -in rsa_2048.key -
passin pass:unad2014 -pubout -out
rsa_2048_pub.key. (Ver Imagen).
Fig. 6 Extraccin de la clave



El comando anterior genera un archivo llamado
rsa_2048_pub.key (Ver imagen)
Fig7. Archivo rsa_2048_pub.key



Se procede abrir el archivo rsa_2048_pub.key,
para observar la clave pblica, pero esta se
encuentra en formato hexadecimal (Ver Imagen).
Fig8. Archivo de clave pblica



Una vez se tienen los archivos, se utiliza el
siguiente comando openssl dgst -sign
rsa_2048.key -md5 -passin pass:unad2014 -out
firma_archivo_y.txt archivo_y.ps (Ver I magen).
Fig9 Comando para firmar archivo


Despus de ejecutar el comando anterior nos
dirigimos a la ruta Lugares Carpeta Personal,
para verificar que se generara el archivo
firma_archivo_y.txt, el cual contendr la
informacin del archivo archivo_y.txt pero
firmado con la clave privada (Ver Imagen).
Fig10. Ruta donde se encuentra el archivo firmado
Si se intenta abrir el documento que se gener
anteriormente se podr observar que su contenido
es ilegible (Ver Imagen).
Fig11. Contenido del Archivo firma_archivo_y.txt
Luego de esto nos disponemos a verificar la firma
digital del archivo, donde se utilizar el archivo
archivo_y.txt creado anteriormente y la clave
pblica que se encuentra en el archivo
rsa_2048_pub.key, para esto se utilizar el
siguiente comando openssl dgst -verify
rsa_2048_pub.key -md5 -signature
firma_archivo_y.txt archivo_x.ps
Fig12. Comando para Verificar Firma


I V. PREGUNTAS A RESOLVER.

QU RESULTADO OBTUVIERON EN
ESTE PROCESO DE FIRMA DIGITAL,
ESTO S DEBERA SUCEDER O SER
POSIBLE?

Cuando se realiz el proceso de firmar el archivo
(Ver Figura 9) y posterior la verificacin de la
firma digital (Ver Figura 12), donde el resultado
de esta verificacin sale exitosa (Ver Imagen).

Fig13. Mensaje de Verificacin

Se llega a la conclusin que este resultado no
debe ser el indicado ya que al momento ya que
para el proceso que se realiz anteriormente se
utilizaron archivos diferentes, donde se utiliz una
para la firma y otro para archivo para la
verificacin.

QU FI RMARON REALMENTE EN EL
PROCESO QUE SE LLEV A CABO?
Teniendo en cuenta que los archivos
(archivo_y.ps y archivo_x.ps) poseen un
contenido diferente (Ver Imgenes).





Y donde se realiz el proceso de firma con el
archivo_y (Fig9.), Partiendo de que los tres
archivos mencionados anteriormente son
diferentes y luego se realiz la verificacin con el
archivo_x que ya estaba firmado y posterior se
lleva a cabo una verificacin dando como
resultado positivo (OK), se puede rescatar que los
documentos que se firmaron coincidieron con la
llave que se cre.

Por consiguiente, si un usuario A enva un
mensaje un usuario B y quiere tener la certeza de
que un usuario C (atacante) no pueda modificar
su contenido, aunque le es indiferente si este lo
lee, el usuario A calcula un resumen criptogrfico
del mensaje (esto es, el hash mediante un
algoritmo seguro que ha acordado con el usuario
B, podra ser MD5 o SHA, por ejemplo) y lo cifra
con su clave privada. Este mensaje es enviado al
usuario B con los datos en claro y el hash cifrado
a su vez.
El usuario B utiliza la clave pblica de usuario A
para descifrar el resumen criptogrfico.
Al comparar los dos resmenes puede deducir si
un hipottico usuario C ha manipulado o no el
contenido de la carta.

POR QU OBTUVI ERON DI CHO
RESULTADO? CUL ES LA DEBI LI DAD EN
EL SI STEMA DE FI RMA DI GI TAL
OPENSSL?

Posterior al proceso realizado anteriormente se
realiza la comparacin los cdigos Hash para
esto ingresamos a la consola y se puede utilizar el
siguiente comando md5sum + nombre del
archivo. (Ver imagen).
Fig16. Comparacin cdigo Hash

Como se puede observar en la imagen anterior el
cdigo hash del archivo_y.ps y archivo_x.ps son
iguales demostrando que este mtodo no es muy
confiable debido a que es vulnerable. al momento

Cuando se presenta este tipo de situaciones donde
se encuentran dos cdigos hash iguales es debido
a que sufri algn ataque, para este caso, se pudo
detectar una posible vulnerabilidad, la cual se
denomina ataque de colisin se entiende por
COLISIN la existencia de pares (x,y)

,
tales que x y Y h(x)=h(y). Una funcin h
diremos que es RESISTENTE A COLISIONES
si conocido h(x) para un x D, es
computacionalmente iniviable hallar x D con
h(x)=h(x). [2]







V. SEGURI DAD DE LAS
CONTRASEAS

Fig14. Contenido Archivo_x.ps
Fig15. Contenido Archivo_y.ps
Para esta parte se va a realizar un ataque para
verificar la robustez de la contraseas que se
trabajara a continuacin, se encontrar un tabla
que contiene algunos datos como el nmero de
caracteres que contiene la contrasea ya cifrada,
tambin se cuenta con los hash de cada
contrasea, para el ejercicio se hace uso del hash
y el salt de la tabla.
INSTALACION DE JOHN THE RIPPER
Se abre una consola en modo root, luego
escribimos el siguiente comando apt-get install
J ohn









Fig17.Comando Instalacin de John Ripper

Luego debemos digitar la letra S para que se
realice la respectiva instalacin.
Fig 18. Proceso de Instalacin


Antes de esto debemos darle permisos a nuestro
archivo para esto podemos utilizar los siguientes
comando sed -i -e 's/\r$//' + el nombre del
archivo en este caso script y chmod 777 script
(sed -i -e 's/\r$//' script)
Fig19. Comando para dar permiso al Script


Se procede a realizar el proceso de averiguar las
contraseas, se muestra el script con el cual se va
a trabajar.

Fig20. Script


Se da inicio al proceso de hallar las contraseas,
para esto se va utilizar el siguiente comando time
./script zz zzxro5xjinmvM y damos ENTER.
Fig21. Comando para Hallar 1ra. contrasea


Como no lo ensea la imagen anterior el
password es yep y duro alrededor de 14 minutos.

SEGUNDA CONTRASEA

Luego se precede a modificar el script para
averiguar la segunda contrasea


Fig22. Modificacin del Script




Ejecutamos el siguiente comando time ./script OO
OOxtB6h5YruaA y damos ENTER
Fig23.Comando para Hallar 2da. Contrasea



TERCERA CONTRASEA

Para hallar esta contrasea se modific el Script
en dos partes una de ellas se le agrego en el
space4 el guion.
Fig24. Modificacin del Script tercera contrasea

Ejecutamos el siguiente comando time ./script U.
U./Se8tPqytD2 y damos ENTER
Fig24.Comando para Hallar 3ra. Contrasea






CUARTA CONTRASEA

Ejecutamos el siguiente comando time ./script 4Y
4Yy77AHdCPNqY y damos ENTER
Fig24.Comando para Hallar Cuarta Contrasea

QUI NTA CONTRASEA


Modificamos nuevamente el Script para hallar
esta quinta contrasea
Fig24. Modificacin del Script Quinta contrasea

Ejecutamos el siguiente comando time ./script bb
bbzNErQvUSZOI . y damos ENTER y debemos
esperar varios minutos.

Fig24.Comando para Hallar Quinta Contrasea
SEXTA CONTRASEA
Esta contrasea se encontr con el mtodo de
John Ripper (ver imagen)
Fig25.Comando para Hallar Sexta Contrasea


TABLA DE DATOS

Alfabeto Nmero
caracteres
Salt Hash contrasea Contrasea Tiempo
Alfabeto 1 3 zz zzxro5xjinmvM yep real 14m9.060s
user 1m2.500s
sys 7m1.706s
Alfabeto 2 3 OO OOxtB6h5YruaA YEP real 47m9.090s
user 25m2.500s
sys 15m1.706s
Alfabeto 3 3 U. U./Se8tPqytD2 ;-) real 50m11.033s
user 15m41.023s
sys 10m25.079s
Alfabeto 4 3 4Y 4Yy77AHdCPNqY 9Y; real 50m0.090s
user 35m6.500s
sys 18m1.806s
Alfabeto 1 5 bb bbzNErQvUSZOI. marta real 16m30.822s
user 0m56.204s
sys 14m13.109s
Alfabeto 1 6 uu uuFPJnWAcNys2 madrid SE OBTUVO CON JOHN THE
RIPPER




























VI. GLOSARIO

Autenticidad: Permite garantizar la identidad del
emisor de la transaccin. ste tiene la llave
privada nica que est almacenada en el Token.
Esto certifica que nadie ms genera transacciones
hacindose pasar por el usuario.

Certificado Digital: Una estructura de datos
creada y firmada digitalmente por un certificador.
Su propsito es posibilitar a sus suscriptores la
creacin de firmas digitales, as como la
identificacin personal en transacciones
electrnicas.

Criptografa: Tcnica para mantener los
mensajes secretos. Hay dos tipos: Simtrica (uso
de llave secreta) y la Asimtrica (uso de llave
pblica y privada).

Documento electrnico: Cualquier manifestacin
con carcter representativo o declarativo,
expresada o transmitida por un medio electrnico
o informtico.

Firma Digital: Conjunto de datos asociados a un
mensaje que permite asegurar la identidad del
firmante y la integridad del mensaje. La firma
digital no implica que el mensaje est encriptado,
es decir, que este no pueda ser ledo por otras
personas.

Firma Digital Certificada: Firma Digital emitida
bajo el amparo de un certificado digital vlido y
vigente y expedido por un certificador registrado.

I ntegridad: Caracterstica de un documento
electrnico que indica que el contenido y la
identificacin del firmante no han sido alteradas
desde su emisin. Si fue alterado despus se
realiz con el consentimiento de ambas partes, el
firmante y el receptor del documento.

Verificacin de firma: Con relacin a la firma
digital, significa determinar con precisin: (1)
que la firma ha sido creada durante el perodo
operacional de un certificado vlido, utilizando la
llave pblica listada en el certificado; y, (2) que el
mensaje no ha sido alterado desde que la firma
fue creada.





VII. CONCLUSIONES

El uso de los algoritmos HASH ha
permitido una mejora en los sistemas de
seguridad de autentificacin, pero sus
recientes debilidades los hacen
susceptibles, aunque en menor manera
que otros mtodos de cifrado.
La firma al estar certificada se comporta
igual que una manuscrita ya que esta se
toma como una firma hologrfica
plasmada en los documentos fsicos.
La firma digital adems de autenticar un
documento le ofrece mayor seguridad a
las partes ya que no podr ser plagiada y
sta acreditada por la ley cundo ella
cuente con un carcter de firma
avanzada

VIII. REFERENCIAS

[1] Algoritmos HASH (II): Atacando MD5 y SHA-
1disponible:
http://gaussianos.com/algoritmos-hash-ii-
atacando-md5-y-sha-1/
[2] Funciones HASH disponible:
http://ocw.bib.upct.es/pluginfile.php/5313/mo
d_resource/content/1/FUNCIONES_HASH.p
df
[3]Crackeando Hash md5 disponible:
http://comunidad.dragonjar.org/f152/crackea
ndo-hash-md5-completisimo-8226/