Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
sad:t1:p6 [2017/10/23 17:49] José Manuel Guallar |
sad:t1:p6 [2019/01/04 13:18] (actual) |
||
---|---|---|---|
Línea 16: | Línea 16: | ||
<code bash> | <code bash> | ||
- | guallar@debian:~# apt-get install seahorse-plugins | + | guallar@debian:~# apt-get install seahorse-nautilus |
</code> | </code> | ||
Línea 25: | Línea 25: | ||
==== Cifrado Simetrico ==== | ==== Cifrado Simetrico ==== | ||
El primer ejercicio de cifrado simétrico, seria aplicar a un archivo el comando gpg, con los parametros -c para cifrar y -d para descifar | El primer ejercicio de cifrado simétrico, seria aplicar a un archivo el comando gpg, con los parametros -c para cifrar y -d para descifar | ||
+ | |||
<code bash> | <code bash> | ||
guallar@debian:~# echo "hola mundo" > hola.txt | guallar@debian:~# echo "hola mundo" > hola.txt | ||
- | <code bash> | ||
guallar@debian:~# gpg -c hola.txt | guallar@debian:~# gpg -c hola.txt | ||
Línea 34: | Línea 34: | ||
</code> | </code> | ||
+ | Una vez ejecutado el comando gpg nos solicitará una clave para realizar el cifrado. Podermos observar que nos crea un fichero nuevo con extensión .gpg. Este fichero sería la enciptacion del fichero inicial. Para descifrar utilizaremos el comando gpg -d y nos volverá a solicitar la clave introducida en el cifrado | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | guallar@debian:~# gpg -d hola.txt.gpg | ||
+ | |||
+ | </code> | ||
+ | ==== Cifrado Asimétrico ==== | ||
+ | === creacion == | ||
+ | == Creación de claves PGP y su gestión posterior == | ||
+ | Para poder cifrar asimétricamente lo primero tenemos que crear la pareja de claves (publica y privada) con el comando gpg --gen-key | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | guallar@debian:~# gpg --gen-key | ||
+ | </code> | ||
+ | |||
+ | Nos pide elegir el tipo de clave que queremos usar, hay opciones que solo permiten firmar y otras que permiten firmar y cifrar, en nuestro caso usaremos DSA y Elgamal | ||
+ | |||
+ | Nos pide el tamaño de la clave, tomamos la que viene por defecto que es de (2048), y nos pide datos del emisor de la clave y por ultimo nos pide la contraseña de la clave privada | ||
+ | |||
+ | con el comando gpg -k nos muestra nuestro "anillo de claves", lo importante es que veremos la identificación de cada una que es necesaria para poderlas exportar y enviar | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | guallar@debian:~# gpg -k | ||
+ | </code> | ||
+ | |||
+ | === Exportar y enviar la clave publica === | ||
+ | |||
+ | El objetivo principal es que cualquiera nos pueda enviar un archivo cifrado y que solo lo podamos ver nosotros, esto se hace difundiendo la clave pública que acabamos de crear, nunca la privada | ||
+ | |||
+ | para exportarla en un archivo escribiremos... | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | guallar@debian:~# gpg --output c_pub.gpg --export [ID de la clave publica] | ||
+ | </code> | ||
+ | |||
+ | Ahora este archivo c_pub.gpg lo podemos difundir por el medio que queramos, el unico problema de seguridad seria enviar la clave privada en vez de la clave publica | ||
+ | |||
+ | === Subir clave publica === | ||
+ | |||
+ | El siguiente paso será subir la clave publica a servidores donde tengan acceso publico, hay muchos servidores de claves publicas , MIT (gpg.mit.edu), otro servidor en este caso español seria gpg.rediris.es, podemos utilizar cualquiera de los dos servidores | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | guallar@debian:~# gpg --send-keys --keyserver pgp.mit.edu [ID de la clave publica] | ||
+ | si queremos subirlo al servidor español, seria... | ||
+ | guallar@debian:~# gpg --send-keys --keyserver pgp.reiris.es [ID de la clave publica] | ||
+ | </code> | ||
+ | |||
+ | === Importar la clave desde el servidor de claves o desde archivo === | ||
+ | |||
+ | **Para importar la clave desde archivo** lo que tenemos que realizar son dos pasos, el primer paso enviar el archivo con la clave publica al remitente, y el segundo paso es ejecutar el siguiente comando | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | guallar@debian:~# gpg --import c_pub.gpg | ||
+ | </code> | ||
+ | |||
+ | Para importar la clave desde servidor tenemos que usar el comando... | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | guallar@debian:~# gpg --keyserver pgp.mit.edu --recv-keys [ID de la clave publica] | ||
+ | </code> | ||
+ | |||
+ | === Cifrar con la clave publica === | ||
+ | |||
+ | Si deseamos enviar un documento cifrado, para cifrar dicho documento tenemos que escribir lo siguiente | ||
+ | |||
+ | <code bash> | ||
+ | guallar@debian:~# echo "asir montessori" > documento.txt | ||
+ | guallar@debian:~# gpg --encrypt --recipient [ID de la clave publica] documento.txt | ||
+ | </code> | ||
+ | |||
+ | Y nos generará un documento hola.txt.gpg, y ya lo tenemos listo para enviarlo de forma segura | ||
+ | |||
+ | === Descifrar un documento con la clave privada === | ||
+ | |||
+ | Para realizar este ejercicio tenemos que escribir el comando | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | guallar@debian:~# gpg -d documento.txt.gpg | ||
+ | </code> | ||
+ | |||
+ | y nos pedira la contraseña que creamos para guardar la clave privada | ||
+ | |||
+ | ====== Firmar ====== | ||
+ | ===== Firmar archivos ===== | ||
+ | |||
+ | Una medida de seguridad basica es asegurarnos que el emisor es quien dice ser, para asegurarnos de esto exite la firma digital, podemos cifrar un mensaje y a su vez firmarlo | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | guallar@debian:~# echo "este documento lo voy a firmar" > firma.txt | ||
+ | guallar@debian:~# gpg -u [clave privada] --output firma.txt.gpg --sign firma.txt | ||
</code> | </code> | ||
- | ====== creacion ====== | ||
- | ===== Creación de claves PGP y su gestión posterior ===== | ||
+ | El documento ya estaría firmado por nosotros, ahora faltaria asegurar la confidencialidad cifrarlo con la clave publica | ||
+ | {{ youtube>DQWVrdduXZk }} | ||
+ | \\ |