Aprenderemos a manejar la aplicación GNUPG para generar el par de llaves para una comunicación Criptográfica Asimétrica, lo que necesitamos es tener instalado la aplicación GNUPG en nuestro Debían y listo, así:
# apt-get install gnupg
Después de que este instalado debemos de generar el par de llaves para nuestro usuario, para ello debemos de ejecutar el siguiente comando:
Generar par de llaves:
# gpg --gen-key
Con este comando generaremos el par de llaves que necesitamos para la comunicación, después de digitar este comando el nos pedirá el tipo de llave con la cual queremos trabajar para utilizarla en la comunicación, escogeremos la opción que necesitamos o que deseemos, en este caso utilizaremos la primera opción (DSA and Elgamal) esta nos permitirá Cifrar y Firmar, después nos pedirá el tamaño de las llaves, el nos dará varias opciones que están entre 1024 y 4096, en este caso dejaremos la por defecto que es 2048, recordemos que entre más tamaño tenga nuestra llave será más segura la encriptación, pero a mas tamaño se demorara más tiempo en cifrar y descifrar. Después de esto nos preguntara cuanto queremos que dure nuestro par de llaves, nosotros le diremos que 1 mes porque será una práctica, pero le diremos el tiempo que necesitemos (Aquí le diremos 1m para 1 mes, si es si queremos otro valor él nos da las opciones), el nos preguntara si el tiempo que ingresamos es correcto y le diremos que si (y), después de esto nos pedirá información personal en la cual debemos de darle nuestro nombre y apellido (Si queremos), después nuestra dirección de coreo electrónico, un comentario o descripción para el par de llaves y por ultimo la confirmación de estos datos que ingresamos (Nuestro nombre será Practica Sena, el correo electrónico practica@sena.edu.co y el comentario será Practica de llave Asimétrica), para confirmar debemos de ingresar la letra "V" y Enter. Después de la confirmación debemos de ingresar una contraseña o password para poder usar nuestro par de llaves, introducimos la llave y le debemos de confirmar, si las contraseñas coinciden empezara a generarse el par de llaves, dependiendo del tamaño de la llave tomara un tiempo en generarse, para ello recomendamos realizar otro proceso en el computador para que se genere el par de llaves (Ejemplo: Reproducción de un MP3, mover el mouse, navegar en internet, etc.).
Después de que se cree nuestro par de llaves las vamos a verificar, con la ayuda de los siguientes comandos:
# gpg --list-keys
# gpg -k
# gpg -K
# gpg --lis-keys ________
Significado de cada Comando:
- Nos muestra todas las llaves que hay en nuestro equipo
- Nos muestra todas las lleves Publica del equipo
- Nos muestra todas las llaves Privadas del equipo
- Nos muestra solo la llave de la persona que indicamos
Eliminar llaves Públicas y Privadas:
Si en la creación de la llave nos equivocamos en algún parámetro podemos eliminar la llave, tanto el par de llaves como solo una de ellas, lo haremos con la ayuda de los siguientes comandos:
# gpg --delete-keys ________
# gpg --delete-secret-key ________
# gpg --delete-secret-and-public-key ________
Significado de cada Comando:
- Elimina la llave Publica
- Elimina la llave Privada
- Elimina el par de llaves
Exportar e Importar llaves:
Ahora aprenderemos a exportar nuestras llaves, la Publica que será la que debemos de publicar en algún servidor y simplemente al que utilizaran las demás personas que se comunicaran con nosotros, también exportaremos nuestra llave Privada, para tenerla como respaldo si ocurre algo en nuestro equipo o para importarla y usarla en otro equipo, para ello utilizaremos los siguientes comando:
# gpg -a -o Nombrellave.asc --export ______
# gpg -a -o Nombrellave.asc --export-secret-key ______
Significado de cada Comando:
- Exportar la llave Publica
- Exporte la llave Privada
Fuera del ID de la llave esta tiene un numero que la identifica, lo cual convierte a la llave en única, es llamado huella o Fingerprint, para ver el Fingerprint de determinada llave para verificar si si es la llave de la persona con la cual queremos tener una comunicación ejecutaremos el siguiente comando el cual nos dará unos números parecidos a la de una dirección MAC de una NIC, así:
# gpg --fingerprint ________
Significado de cada Comando:
- Nos dará el Fingerprint de la llave
Ahora que ya sabemos verificar la llave, podemos importarla para poder cifrar y descifrar mensajes dentro de una comunicación (Comunicación de Persona 1 a Persona 2), para importar una llave tanto la Publica como la Privada, utilizaremos el mismo comando, así:
# gpg --import ________
Significado de cada Comando:
- Importar llave Pública o Privada
Cifrar y Descifrar:
En este punto ya podemos cifrar y descifrar mensajes con las llaves publicas que importamos a simplemente con nuestro propio par de llaves, para ello utilizaremos el siguiente comando (Recordemos que debemos de tener ya creado un documento que será el que vamos a cifrar):
# gpg -e documento.txt
Significado de cada Comando:
- Cifrar datos
# gpg -d documento.txt.asc
Significado de cada Comando:
- Descifrar datos
Crear Anillo de Confianza:
Para crear el anillo de confianza de nuestras llaves, debemos de firmarlas y decirles que confiamos en ella (Esto es para generar confianza con las llaves que tenemos agregadas en nuestro equipo), debemos de utilizar los siguientes comandos:
# gpg --sign-key ________
Significado de cada Comando:
- Firmar la llave
# gpg --update-trustdb
Significado de cada Comando:
- Actualiza la base de datos de confianza
# gpg --list-sigs
# gpg --list-sigs ________
Significado de cada Comando:
- Lista las llaves y las firmas de todas nuestras llaves
- Lista las llaves y las firmas de la llave especifica
Para firmar una llave en un servidor web debemos de ejecutar el siguiente comando (Esto lo haremos con el fin de que las llaves en las cuales confiamos estén firmadas con nuestra llave no solo local sino también en el servidor):
# gpg --keyserver Nombredelservidor --send-keys ________
Significado de cada Comando:
- Subir Firma a servidor dellaves
# gpg --Keyserver Nombredelservidor --refresh-keys
Significado de cada Comando:
- Actualizar las llaves desde unServidor
Firma Digital:
En este punto aprenderemos a agregarle nuestra firma digital a un archivo, con el fin de que el usuario a quien va enviado el mensaje verifique que el destinatario si es quien dice ser. Para ello utilizaremos los siguientes comandos (Recordemos que debemos de tener listo el documento que vamos a enviar y firmar):
# gpg -a --sign documento.txt
Significado de cada Comando:
- Firma el documento pero borra el contenido
# gpg --clearsign documento.txt
Significado de cada Comando:
- Firma el documento y no borra el contenido
Si queremos verificar la firma digital de algun documento o simplemente la firma, lo que debemos de hacer es utilizar el siguiente comando:
# gpg --verify ________
Significado de cada Comando:
- Verificar la Firma Digital
Certificado de Revocación:
El certificado de revocación nos sirve para eliminar una llave publica que tengamos en un Servidor de Llaves o de nuestro equipo, esto lo haremos si llegamos a perder una llave y no queremos que nadie pueda utilizarla de nuevo o si simplemente cambiamos de llave y no queremos que la utilicen de nuevo, para generar el certificado de revocación necesitamos ejecutar el siguiente comando:
# gpg -a -o Nombredelarchivo.asc --gen-revoke ________
Significado de cada Comando:
- Crea el Certificado de Revocación
Después de tener el certificado, para que nuestra maquina tomes el certificado debemos de importarla, con la ayuda del siguiente comando (Después de importar el certificado de revocación para esta llave no la podremos utilizar de nuevo para cifrar o descifrar):
# gpg --import ________
Significado de cada Comando:
- Importar el Certificado de Revocación
# gpg --Keyserver NombredelServidor --send-keys ________
Significado de cada Comando:
- Subir Certificado al Servidor
0 comentarios: