jueves, 6 de febrero de 2014

Firma y verificación de archivos

Hoy vamos a ver como se firman y se verifican archivos:
El primer paso será crear dos archivos en este caso hemos creado 2 archivos de texto

Una vez que ya tenemos los documentos creados el siguiente paso es el de firmarlos para ello usaremos la siguiente linea de comandos.


Con el comando gpg --output doc.copi --detach-sig doc
                          gpg --output firma.copi --detach-sig firma

Con esto lo que conseguimos es firmar los archivos de tal forma que si fueran modificados y se quisieran usar en nuestro nombre gpg no dejaría usar dicho archivo en nombre de esa persona para comprobar esto una vez que ya tenemos los archivos creados lo que haremos será modificar uno de ellos.

A continuación dejo los siguientes archivos:
doc: Download
doc.copia: Download
firma: Download
firma.copia: Download

Ahora que ya tenemos creados los archivos vamos a verificarlos para ello usaremos la siguiente linea de comandos.

Yo para comprobarlo me e descargado los dos archivos  que mi compañero a creado y en las imágenes se puede observar como una de las firmas es correctas y la otra no lo es.

En las imágenes se ve claramente como el archivo POE ha sido modificado porque gpg no está diciendo que ese no es el archivo que se creó originalmente sino que ha sido modificado.
 En esta otra imagen vemos que por el contrario la firma es correcta por tanto este archivo podemos estar seguros de que es el que originalmente se creó y se firmó
Gracias a esto de firmar archivos nos aseguramos de que los archivos que nosotros firmemos no puedan ser modificados y en caso de ser así no puedan usar nuestra firma con fines maliciosos.

lunes, 3 de febrero de 2014

Cifrado y Descifrado de claves

Hoy veremos como se cifran archivos o documentos mediante el uso de las claves públicas
En primer lugar necesitamos conocer las claves públicas de la persona o personas a las cuales queremos enviar archivos o documentos cifrados para que así con su clave privada puedan descifrarlos.
Para conseguir estas claves existen unas páginas de alojamiento de claves públicas llamadas "Keyservers" esta pág es un ejemplo http://keyserver.ubuntu.com

Una vez que ya tenemos nuestras claves públicas mediante ellas vamos a cifrar un archivo para luego enviarlo y que la persona que nosotros queremos que lo reciba y solo esa persona pueda descifrarlo para ello tenemos que hacer lo siguiente.


Mediante el comando gpg --output Archivosecreto.dcp --encrypt --recipient ijimeneza01@informatica.iesvalledeljerteplasencia.es /home/agarciag01/Escritorio/Archivosecreto
lo que conseguimos es cifrar el archivo que se encuentra en la carpeta


  • gpg es el nombre del comando que usaremos para poder realizar el cifrado 
  •  Con el parámetro --output Archivosecreto.dcp le estamos indicando la salida y el nombre del archivo que se creará cifrado
  • El parámetro  /home/agarciag01/Escritorio/Archivosecreto nos indica en donde se encuentra el archivo que vamos a cifrar.
  • El parámetro --recipient ijimeneza01@informatica.iesvalledeljerteplasencia.es nos está indicando el id o datos de la persona dueña de la clave pública con la que vamos a cifrar. En caso de que hubiera más de un destinatario habría que poner --recipient delante de cada id
  • Con el parámetro --encrypt lo que hacemos es cifrar el archivo 


 Una vez que ya tenemos cifrado el archivo vamos a ver como se descifraría


Mediante el comando gpg -- decrypt /home/agarciag01/Descargas/hi.gpg lo que conseguimos es que el el documento indicado sea descifrado mediante nuestra clave privada si lo hemos hecho bien nos pedirá la contraseña de nuestra clave privada y si todo esta bien nos aparecerá en pantalla.

Existe también otro comando por el cual lo que conseguimos es que se cree un archivo ya descifrado en lugar de que aparezca en la pantalla, para ello escribiremos lo siguiente.


Con el comando gpg --decrypt /home/agarciag01/Descargas/hi.gpg>Archivo.txt gracias a este comando consigueremos que se cree un archivo con el nombre Archivo.txt que será el archivo descifrado.