Cifrado con GPG

CIFRADO CON GPG

creado por iLuN

Segun lo que dice nuestra querida wikipedia:
GPG o GNU Privacy Guard es una herramienta para cifrado y
firmas digitales, que viene a ser un reemplazo del PGP (Pretty Good Privacy) pero con la principal diferencia que es software libre licenciado bajo la GPL. GPG utiliza el estándar del IETF denominado OpenPGP.

GPG es estable, calificado como un software para el uso en producción y es comúnmente incluido en los sistemas operativos como FreeBSD, OpenBSD, NetBSD y últimamente con todas las distribuciones GNU/Linux.

Aunque básicamente el programa tiene una interfaz textual, actualmente hay varias aplicaciones gráficas que utilizan recursos de GPG.

GPG cifra los mensajes usando pares de claves individurales asimetricas generadas por los usuarios, es decir, utiliza el "metodo" de seguridad de clave publica y clave privada.

Una breve y no tan detallada explicación sería la siguiente:
Si queremos que alguien lea un mensaje nuestro que hemos encriptado le tenemos que mandar nuestra clave publica, y el con nuestra clave publica y su privada desencriptada el mensaje que le hemos enviado.
Esta explicación se entendra mas adelante con una demostración que presento a continuación.

Despues de esta introducción sobre el GPG mostramos a continuación su uso en un equipo OpenSuSE 11.0 en el cual el programa ya viene incorporado.

1.- Creamos las claves publica y privada en nuestro equipo, para ello seguimos los siguientes pasos.

Abrimos nuestra consola o shell y escribimos lo siguiente: (Estando como root)

#gpg --gen-key

SALE LO SIGUIENTE:

linux-nrop:/home/ilun # gpg --gen-key
gpg (GnuPG) 2.0.9; Copyright (C) 2008 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Por favor seleccione tipo de clave deseado:
(1) DSA y ElGamal (por defecto)
(2) DSA (sólo firmar)
(5) RSA (sólo firmar)
Su elección:

Usaremos la opción por defecto.

Su elección: 1
El par de claves DSA tendrá 1024 bits.
las claves ELG pueden tener entre 1024 y 4096 bits de longitud.
¿De qué tamaño quiere la clave? (2048)

Utilizaremos el tamaño por defecto

El tamaño requerido es de 2048 bits
Por favor, especifique el período de validez de la clave.
0 = la clave nunca caduca
= la clave caduca en n días
w = la clave caduca en n semanas
m = la clave caduca en n meses
y = la clave caduca en n años
¿Validez de la clave (0)?

Elegiremos la opción de la clave nunca caduca y decimos que es correcto.

¿Validez de la clave (0)? 0
La clave nunca caduca
¿Es correcto? (s/n) s

Necesita un identificador de usuario para identificar su clave. El programa
construye el identificador a partir del Nombre Real, Comentario y Dirección
de Correo Electrónico de esta forma:
"Heinrich Heine (Der Dichter) "

Nombre y apellidos:

Insertamos los datos que nos piden a continuación.

Nombre y apellidos: iLuNPr
Dirección de correo electrónico: ilun.pr@gmail.com
Comentario: Pirates Of The Routers
Ha seleccionado este ID de usuario:
"iLuNPr (Pirates Of The Routers) "
¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir?

Y por ultimo le damos a Vale (V)
¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? v
Necesita una frase contraseña para proteger su clave secreta

Ahora nos saldrá una pantalla donde pondremos nuestra clave privada... y aceptamos

Es importante trabajar con el equipo, abriendo ventanas etc para que la clave coja un valor aleatorio como dirá a continuación.

Es necesario generar muchos bytes aleatorios. Es una buena idea realizar
alguna otra tarea (trabajar en otra ventana/consola, mover el ratón, usar
la red y los discos) durante la generación de números primos. Esto da al
generador de números aleatorios mayor oportunidad de recoger suficiente
entropía.

Una vez creada salran los datos correspondientes.

Para ver las claves que contenemos ponemos el siguiente comando:

#gpg --list-keys

Y nos saldrá una lista de las claves creadas e importadas.


2.- Cifrar archivos

Para cifrar archivos ponemos el siguiente comando:

#gpg -a -o [nombre_queramosNombre] -er [email] [archivo_a_cifrar]

Ejemplo:

linux-nrop:/home/ilun/cifrados # gpg -a -o passwd_crypted -er ilun.pr@gmail.com passwd
linux-nrop:/home/ilun/cifrados # ls
passwd passwd_crypted

Aqui tenemos el archivo passwd, que era el que queriamos encriptar y ahora se ha creado el archivo passwd_crypted que le hemos llamado así.

Como es logico y normal borramos el archivo no encriptado...

Para ello:

#rm passwd


3.- Descrifrar archivos

Es tan facil como antes, solo tenemos que poner el siguiente comando:

#gpg -a -o [como_queremosNombre] -d [archivo_cifrado]

Ejem:

linux-nrop:/home/ilun/cifrados # gpg -a -o passwd_des -d passwd_crypted
gpg: cifrado con clave ELG de 2048 bits, ID D1795C00, creada el 2008-12-12
"iLuNPr (Pirates Of The Routers) "
linux-nrop:/home/ilun/cifrados # ls
passwd_crypted passwd_des


4.- Importar y exportar claves publicas

Para que puedan y poder desencriptar archivos se requiere de la clave publica del creador de ese archivo, por lo que en este apartado os enseñare a exportarla para pasarsela a alguien y como importar una que nos han pasado.

EXPORTAR:

Ponemos el siguiente comando:

#gpg -a -o [nombre_queremosNombre.asc] --export [UID]

[UID]: El correo que hemos insertado en la configuracion del par de claves.

Ejemplo:
linux-nrop:/home/ilun/cifrados # gpg -a -o pk.asc --export ilun.pr@gmail.com
linux-nrop:/home/ilun/cifrados # ls
passwd_crypted passwd_des pk.asc

IMPORTAR:

Ponemos el siguiente comando:

#gpg --import [archivo.asc]

Ejemplo:

#gpg --import compañero.asc


5.- Cifrar y descifrar para otros

CIFRAR:

Ponemos el siguiente comando:

#gpg -a -o [archivo_queremosNombre] -er [destinatario] [archivo_no_encriptado]

[destinatario] : Ponemos el email de nuestro compañero, pero no significa que se lo vaya a enviar.

Ejem: (tenemos que tener su clave publica antes)
linux-nrop:/home/ilun/cifrados # gpg -a -o amigos_encrypt -er amigo@hotmail.com amigos

DESCIFRAR:

Ponemos el siguiente comando:

#gpg -a -o [archivo_queremosNombre] -d [archivo_encriptado]

Ejem:
linux-nrop:/home/ilun/cifrados # gpg -a -o hola -d hola_crypted


USUARIOS DE WINDOWS

Aqui os dejo un link con un tutorial del GPG para windows.

http://holait.blogspot.com/2008/06/manual-de-instalacin-y-uso-de-gpg4win.html

iLuN :)

















No hay comentarios:

Publicar un comentario