Browse > Home /

| Subcribe via RSS

Privacidad real usando GPG

Artículo de Pedro Carrasco


Candado (imagen extraida de la wikipedia)

Candado (imagen extraida de la wikipedia)

¿Qué es GPG?

GPG, tal y como se dice en la Wikipedia, es una herramienta para cifrar y firmar mensajes. Podriamos decir que es el hermano libre de PGP. Existen los proyectos GPG4win y macgpg2 que proveen de una versión de GPG para Windows y Mac respectivamente.

¿Para qué necesito cifrar y firmar mensajes?

Lo más conveniente sería que habitualmente hiciéramos uso de este tipo de herramientas, al menos para las comunicaciones que queramos mantener realmente en privado.

Por si no lo sabías, la mayoría de correos electrónicos, programas de mensajería como Messenger, accesos y contenido de páginas web, herramientas de videoconferencias, y un largo etcétera de utilidades que a priori pueden parecernos suficientemente privadas, se transmiten por Internet sin ningún tipo de encriptación. Esto quiere decir que si alguien es capaz de escuchar esta comunicación (muy sencillo mediante cualquier sniffer), puede llegar a ver todo lo que estamos haciendo.

Puede parecer poco probable que esto suceda, pero ni te imaginas la de oportunidades que se presentan al día para poder ser víctima de este tipo de espionaje: siempre que utilizas tu conexión wifi del móvil o portátil y te conectas a Internet en un bar, en una biblioteca pública, en la red cableada de tu oficina, incluso en la propia red inalámbrica de tu casa (ni te imaginas lo fácil que puede llegar a ser reventar la clave de una red wifi doméstica) puedes estar siendo espiado.

Sí, sé que suena paranoico, y probablemente lo sea, pero si necesitas una privacidad real, la mejor solución es encriptar o cifrar nuestras comunicaciones.

¿Cómo puedo encriptar un mensaje?

Para encriptar un mensaje con GPG (o con cualquier sistema de criptografía asimétrica), necesitamos generar un par de claves. Una de ellas será la clave pública, clave que todo el mundo deberá conocer, y la otra será la clave privada, que debe mantenerse en privado y sólo tú debes conocer, ya que eso nos garantizará los servicios de confidencialidad, autenticación, integridad y no repudio.

Para generar nuestro par de claves, utilizaremos Seahorse, un gestor de claves GPG para Gnome que facilita mucho todo el proceso. Si utilizas Gnome, te interesará instalar también los plugins de seahorse para nautilus, para disponer del menú contextual que te permita encriptar un archivo haciendo clic en el botón derecho. Instalar seahorse y el plugin puedes hacerlo escribiendo en la consola lo siguiente:

root@laptop:/home/root# sudo apt-get install seahorse seahorse-plugins

Tras la instalación, debes reiniciar nautilus. Para hacerlo puedes reiniciar el PC, o cerrar sesión y volver a entrar o simplemente escribiendo:

root@laptop:/home/root# killall nautilus

Aquí están las capturas que nos muestra cómo generar el par de claves paso a paso utilizando Seahorse:

Paso 1: Ejecutamos Seahorse, y vamos al menú Archivo » Nueva...

Paso 1: Ejecutamos Seahorse, y vamos al menú Archivo » Nueva...

Paso 2: Aparecerá una ventana con los tipos de claves que seahorse nos permite crear. Seleccionamos Clave PGP

Paso 2: Aparecerá una ventana con los tipos de claves que seahorse nos permite crear. Seleccionamos Clave PGP

Paso 3: Aparece una nueva ventana en la que deberemos introducir nuestros datos: Nombre, email y comentario (éste último opcional). También podemos seleccionar el tipo de cifrado, la fortaleza de la clave (recomendado 4096 o más) y la caducidad de la misma si hacemos clic en «opciones avanzadas de clave»

Paso 3: Aparece una nueva ventana en la que deberemos introducir nuestros datos: Nombre, email y comentario (éste último opcional). También podemos seleccionar el tipo de cifrado, la fortaleza de la clave (recomendado 4096 o más) y la caducidad de la misma si hacemos clic en «opciones avanzadas de clave»

Paso 4: Escribe una contraseña. Ésta sirve para poder guardar de forma segura la clave privada. Deberás utilizar esta clave siempre que hagas uso de la clave privada, así que procura no olvidarla!

Paso 4: Escribe una contraseña. Ésta sirve para poder guardar de forma segura la clave privada. Deberás utilizar esta clave siempre que hagas uso de la clave privada, así que procura no olvidarla!

Paso 5: En este paso es donde se crea propiamente el par de claves. Este proceso puede tardar bastante, en función de la fortaleza de la clave que hayamos seleccionado antes. Para 4096 tarda unos 3 minutos.

Paso 5: En este paso es donde se crea propiamente el par de claves. Este proceso puede tardar bastante, en función de la fortaleza de la clave que hayamos seleccionado antes. Para 4096 tarda unos 3 minutos.

Paso 6: Una vez haya terminado de generar la clave, aparecerá automáticamente en la lista de claves personales, listo para usarlo!

Paso 6: Una vez haya terminado de generar la clave, aparecerá automáticamente en la lista de claves personales, listo para usarlo!

Si utilizas Windows o Mac, prueba con GPG4Win o macgpg2, el proceso debe ser muy parecido, aunque nunca lo he probado. Si alguien tiene alguna experiencia con estas versiones estaré encantado de saber qué tal funcionan y poder intercambiar opiniones.

¿Y ahora qué?

Bien, pues ahora puedes encriptar y firmar documentos o archivos y enviárselos a quien quieras, con la certeza de que nadie, salvo la persona a la que le envías el mensaje, podrá leerlo. Para hacerlo, la persona que recibirá el mensaje encriptado debe disponer también de un par de claves como los que acabamos de generar, y tú debes conocer la clave pública del destinatario.

Vamos a ver un ejemplo de cómo exportar tu clave pública con Seahorse.

Paso 1: Seleccionar la clave GPG de la que quieres exportar la clave pública y hacer clic en el icono de «Exportar a un archivo»

Paso 1: Seleccionar la clave GPG de la que quieres exportar la clave pública y hacer clic en el icono de «Exportar a un archivo»

Paso 2: Seleccionar el nombre e indicar dónde queremos guardarlo.

Paso 2: Seleccionar el nombre e indicar dónde queremos guardarlo.

Para importar una clave pública y añadirla en tu lista de claves públicas, tan solo tienes que hacer doble clic en el fichero .asc o, dentro de Seahorse, hacer clic en Archivo » Importar… y seleccionar el archivo de clave pública.

Una vez tengas alguna clave pública del destinatario en el apartado de «Otras claves» ya podemos compartir mensajes encriptados con esa persona. El proceso es muy sencillo, aquí van las capturas de cómo cifrar un archivo paso a paso:

Paso 1: Seleccionamos el fichero que queremos cifrar y hacemos clic con el boton derecho. Seleccionamos la opción Cifrar...

Paso 1: Seleccionamos el fichero que queremos cifrar y hacemos clic con el boton derecho. Seleccionamos la opción Cifrar...

Paso 2: Elegimos las personas que van a poder descifrar el mensaje. En este caso seleccionamos a Albert. También podemos elegir si queremos firmar el mensaje que ciframos o no.

Paso 2: Elegimos las personas que van a poder descifrar el mensaje. En este caso seleccionamos a Albert. También podemos elegir si queremos firmar el mensaje que ciframos o no.

Paso 3: Escribimos la contraseña que hemos utilizado para cifrar nuestra clave privada durante el proceso de creación de la clave (ver paso 4, durante la creación de clave)

Paso 3: Escribimos la contraseña que hemos utilizado para cifrar nuestra clave privada durante el proceso de creación de la clave (ver paso 4, durante la creación de clave)

Paso 4: Se genera un archivo cifrado con el mismo nombre que el original y se le añade la extensión PGP. Este es el fichero que debemos enviar, ya que, en este caso, sólo Albert podrá descifrarlo. Ni siquiera yo mismo podría descifrarlo. Si quieres poder descifrarlo tu también, tan solo debes añadirte a ti mismo como destinatario.

Paso 4: Se genera un archivo cifrado con el mismo nombre que el original y se le añade la extensión PGP. Este es el fichero que debemos enviar, ya que, en este caso, sólo Albert podrá descifrarlo. Ni siquiera yo mismo podría descifrarlo. Si quieres poder descifrarlo tu también, tan solo debes añadirte a ti mismo como destinatario.

Ya está! Ahora solo tenemos que enviar el archivo encriptado por correo electrónico, mensajería instantánea o como queramos y nos hemos asegurado de que sólo el destinatario podrá descifrarlo. Si el fichero sufre alguna modificación durante el envío -malintencionadamente o no-, quedará corrupto y no podrá ser devuelto a su estado original (no podrá ser descifrado), por lo tanto se cumple el servicio de integridad. Si además de cifrarlo, hemos optado por firmarlo, el destinatario tendrá la certeza de que sólo quien lo envía ha podido ser el remitente, así que también se cumple el servicio de autenticación. Y desde luego nadie podrá conocer el contenido, salvo Albert en este caso, así que se cumple también el servicio de confidencialidad.

Por cierto, aquí dejo el enlace a mi clave pública por si alguien necesita enviarme algo realmente confidencial.

Tags: , , , ,

Copias de seguridad en volumenes de red con Time Machine

octubre 31st, 2007 | No Comments | Posted in Sistemas de Información
Hoy vamos a dejar de lado los aspectos estratégicos y de negocio para centrarnos en un tópico más técnico: la configuración del entorno necesario para poder realizar copias de seguridad en volumenes de red (SAMBA, NFS, AFP, …) con Time Machine, una de las grandes funcionalidades del recién nacido Mac OS 10.5 (Leopard).
timemachine.jpgEn el ejemplo utilizamos un equipo con Mac OS 10.5 y otro con Ubuntu Server 7.10 (sirve cualquier otra versión de Ubuntu).
Para llevar a cabo nuestro cometido, nos centraremos en los siguientes aspectos:
  • Creación del volumen de red en un servidor remoto.
  • Activaciónd el protocolo de red AFP.
  • Configuración de Mac OS X para utilizar el volumen de red con Time Machine

More »

Tags: , , , , , ,

Sistemas de Información inseguros

octubre 29th, 2007 | No Comments | Posted in Seguridad, Sistemas de Información

¿O deberiamos hablar de "organizaciones irresponsables".

El viernes estuve en la FIST Conference de Barcelona (muy recomendable) y ello me hizo recordar varios ejemplos de fallos de seguridad importantes en los sistemas de información de muchas organizaciones, y lo simple que resulta aprovechar estas vulnerabilidades; esto no debería preocuparnos si las empresas trabajasen duro para evitar estos "problemillas".

Os cuento cinco experiencias (de entre muchas):

  • Información desprotegida:  Hace algo más de un año pasé un par de meses en la ciudad de Pune (India) para trabajar en un proyecto de la empresa. Durante ese tiempo me alojé en un hotel de la ciudad, el cual, entre otros servicios, ofrecía acceso a Internet. Yo, aficionado a desconfiar de la seguridad en los sistemas de información, reviso los logs de mi equipo y observo que alguien desde el hotel intenta conectarse a mi equipo. Indagando el origen de tan macabro intento de perturbar mi tranquilidad, me topo con una red llena de agujeros, entre los cuales se encuentra el acceso bastante simple a la facturación y datos de clientes del hotel.
  • Asignación de privilegios: Utilizo una base de datos para gestionar las operaciones en
    las que intervienen varias personas. Dado que en lugar de asignarme
    permisos de usuario convencional me asignan permisos de
    administrador, hago click en un link para enviar un mensaje a otra
    persona y me encuentro que en lugar de un sistema de mensajes ese
    enlace me lleva a los datos personales de ese empleado.
  • Autenticación simple: Supongamos un país X en el que la autenticación para la
    sanidad pública se compone de un un identificador formado por
    fragmentos de datos personales fácilmente deducibles. Como usuario,
    ciertos datos que componen el identificador coinciden con los de
    otra persona a excepción de alguna cifra. Un día tecleando me
    equivoco y dada la cuestionable seguridad de autenticación, accedo a
    todos los datos personales de esa persona, pudiendo incluso realizar
    cambios en los datos.
  • Acceso a información sensible: Accedo a la web de una gran consultoría con el fin de
    aplicar a una oferta de empleo. Envío mi curriculum y su página web
    me ofrece previsualizar el envío, con lo que muestra un enlace tipo
    "http://www.empresa.com/careers/database/userxxxxx/mi_documento/".
    Sorprendido porqué me muestran la ruta, decido comprobar que mis
    datos están en buenas manos y voy accediendo a niveles inferiores,
    donde me encuentro que todos los datos personales de los candidatos
    pueden ser leídos, descargados e incluso eliminados de la base de datos.
  • Autenticación cruzada: Alegremente reviso mi expediente en la página web de una de las universidades por las que he pasado (previa autenticación con mi login) y en un momento de aburrimiento, decido cambiar el "?id" final de la URL por el siguiente número consecutivo. ¡Tachán! Accedo a todos los datos de otro estudiante.

Estos casos, por si solos no són tremendamente alarmantes, aunque si peligrosos. No es que me pase el día buscando agujeros de seguridad en los sistemas ajenos, ni mucho menos practico el habilidoso hobby de atacar organizaciones; en cualquier caso, me gusta saber si la información que me concierne se encuentra a buen recaudo.

Normalmente, en el mismo instante que detecto las vulnerabilidades de los sistemas, lo comunico a las organizaciones, y en el mejor de los casos, tardan meses en corregir el fallo.

Enlaces relacionados:

Carlos Fragoso

Blog S21Sec 

More »

Tags: , ,

Seguridad en el entorno corporativo

febrero 13th, 2006 | No Comments | Posted in Seguridad
Hoy en día es patente la necesidad de fuertes medidas de protección frente a problemas de seguridad, ya sean propiciados por personas externas, virus y troyanos o causas naturales. Por lo tanto, debemos entender como seguridad no solo aquellas cuestiones relativas a intentos maliciosos de causar daño, sinó también a aquellos problemas que puedan comprometer la integridad de nuestros sistemas, y sobretodo nuestra información.

Quizás deberiamos preguntarnos qué está fallando cuando un sistema de seguridad no es eficiente. Sin embargo, ¿somos conscientes de las consecuencias reales que puede tener no dedicar los suficientes esfuerzos -humanos y tecnológicos- para contrarestar los problemas de seguridad? Generalmente existe la percepción equivoca de que un sistema de seguridad avanzado brinda una total protección ante cualquier tipo de sucesso.

More »

Tags: , , ,