Existen ocasiones donde es necesario ocultar información o que la información viaje de manera segura, como es el caso en el que existe un fichero en el cual guardas todas las contraseñas de tus cuentas en los sitios en los cuales se requiere un proceso de autenticación (login), éste fichero para que siga siendo seguro debe ser cifrado de tal manera que si alguien ingresó de manera autorizada (o no autorizada) en tu equipo no pueda leer la información que existe en dicho fichero, protegiendo esa información, para el proceso de cifrado existen muchas herramientas tanto propietarias como libres, en ésta sección se explicará el uso de PGP en GNU/Linux mediante seahorse sin abordar cuestiones técnicas, para lo que no estoy capacitado.
Con PGP se pueden entre otras:
Significa que la información es modificada mediante procesos (algoritmos) matemáticos de tal manera que la información sea ilegible a menos que se descifre, este proceso puede aplicarse a texto plano como a archivos de cualquier tipo.
Significa que en el caso de que la información cifrada sea compartida con un tercero él posea un mecanismo para garantizar que la información recibida proviene de donde "parece" provenir.
Para realizar estos procesos se debe saber que:
Es una "Contraseña" o mejor, una "Frase contraseña", la cual es escogida convenientemente por el usuario, se debe evitar que sean frases célebres, o palabras conocidas, no es necesaria (aunque se recomienda) una "Frase contraseña" de varias palabras, que combinen mayúsculas, minúsculas, caracteres especiales, números, etc.
Es una secuencia de caracteres que es generada a partir de un PassPhrase y de otras variables como la fecha de creación de la clave, como su nombre lo indica ésta debe permanecer privada por lo que no se debe distribuir a terceros.
Es una secuencia de caracteres. Cada Clave Privada tiene asignada una clave pública, como su nombre lo indica es pública y debe ser distribuida entre las personas con las cuales se desea establecer comunicaciones o compartir archivos de manera cifrada.
Examinarémos un ejemplo, existe (como mencioné antes) un fichero que tiene el nombre de usuario y la contraseña de todos los sitios web a los que accedo:
SITE: USER: PASSWORD http://site0.org/ Andr_s0 MiContraseÑa0 http://site1.org/ Andr_s1 MiContrasEña1 http://site2.org/ Andr_s2 MiContraSeña2 http://site3.org/ Andr_s3 MiContrAseña3 http://site4.org/ Andr_s4 MiContRaseña4 http://site5.org/ Andr_s5 MiConTraseña5Y deseo cifrarlo mediante PGP.
Se requieren instalar unos cuantos paquetes, aunque ciertas distribuciones sulen traerlos en la instalación básica:
sudo aptitude install seahorse seahorse-plugins
El paquete seahorse integra GnuPGP (una implementación libre de PGP) con el escritorio gnome, lo que permite, por ejemplo, cifrar y descifrar texto plano directamente desde gedit.
Ejecuto seahorse:
Menú File/New/PGP Key & Continue:
porcionan los datos solicitados:
Se introduce el/la PassPhrase:Se genera el par Clave pública - Clave Privada, éste proceso puede durar algunos minutos.
Después de esto en la interfaz de seahorse aparecerá la clave creada en la sección My Personal Keys. Para compartir la Clave Pública, en la interfaz gráfica de seahorse selecciona su clave, click izquierdo y copiar, y la pega en gedit y se la envía a cualquier persona con la que se quiera comunicar y/o compartir información cifrada.
Habilito en gedit el plugin de seahorse: Menú Edit/Preferences/Plugins habilitar TextEncryption, Lo cual habilitará las opciones Encrypt, Decrypt/Verify, Sign en el menu Edit de gedit.
Finalmente, se abre el archivo y se selecciona la opción Edit/Encrypt y se selecciona la Clave Pública de la persona con la que se desea compartir la información, como el presente ejemplo, se quiere simplemente cifrar el contenido para el usuario Andr_s0 se seleccionó dicha clave pública.
Obteniendo:
Para cifrar un archivo, con la instalación de seahorse en nautilus se habilita la opción Encrypt en el menú File.
Para cifrar el texto/archivo con el fin de compartirlo con un tercero se debe tener la Clave Pública del "tercero" y cifrarla seleccionando ésta clave (no la nuestra).
Para importar una Clave Pública en seahorse puede copiarla en gedit y luego en el menú Edit ejecutar Decrypt/Verify.
Para descifrar texto se selecciona en gedit la opción Decrypt del menú Edit y se introduce la PassPhrase. Descifrar sólo es posible hacerlo en el equipo donde se tiene la Clave Privada, esta puede exportarla como se explica más adelante.
Cuando se descifran archivos, es necesario tener cuidado y borrar de manera segura con herramientas como shred el archivo descifrado después de consultarlo y/o modificarlo.
PassPhrase y Clave Privada NO son lo mismo, si se conoce el PassPhrase pero se eliminó la Clave Privada no se puede recuperar la información cifrada, un mismo PassPhrase no genera la misma Clave Privada.
Cada información se cifra al destinatario mediante su Clave Pública.
En caso de que el PassPhrase se halla visto comprometido, se puede cambiar por uno nuevo sin que esto modifique la Clave Pública.
No se recomienda llevar la Clave Privada de computador en computador, sin embargo, siempre que se requiera se puede exportar de la siguiente forma:
Éste aporte pretende ser una breve introducción práctica al cifrado de información mediante GnuGP, tenga presente que la palabra correcta es Cifrar, cualquier duda, crítica, corrección, comentario, bienvenida será.
This work is licensed under a
Creative Commons Attribution-ShareAlike 2.5 Colombia License.
I'm committed to the privacy of k-lab users. Each time you access content delivered by http://www.k-lab.tk/, information like referrer, anonymized IP (255.255.X.X), date, time and requested resources are sent to a Google Analytics. This is done in order to know user preferences to adapt our content for users needs and to detect failures in the website. However, respecting your decision we don't store any of this information if you have enabled Do Not Track option in your web browser (Preferences/Privacy/Tracking/Tell Websites I do not want to be tracked). Protect your privacy.