Una Introducción a la Criptografía de Llave Pública y PGP

PGP significa Pretty Good Privacy. Que traducido es "muy buena privacidad". Si se utiliza correctamente, puede proteger el contenido de sus mensajes, textos, y archivos, de ser capturados incluso por los programas - bien financiados - de vigilancia del gobierno. Cuando Edward Snowden dice "el cifrado funciona", es de PGP y del software relacionado a este, del que está hablando. Notemos que no es raro para un gobierno robar las llaves privadas de las computadoras de personas en particular (confiscando las computadoras, o introduciendo malware en ellas, usando acceso físicos o con ataques de “phishing,” lo que desmantela la protección e inclusive permite la lectura de correos antiguos. Esto es como decir que tienes una cerradura a prueba de ladrones en su puerta, pero alguien todavía te puede robar la llave en la calle y luego hacerle copia y devolvertela sigilosamente y de esa manera entrar en tu casa sin tener que violar la cerradura.

Desafortunadamente, PGP no es fácil de comprender, o usar. El cifrado de alta seguridad que utiliza PGP - cifrado de clave pública - es genial, pero poco intuitivo. PGP ha estado con nosotros desde 1991, lo que lo hace tan antiguo como las primeras versiones de Microsoft Windows, y su aspecto no ha cambiado mucho desde entonces. La buena noticia es que actualmente hay muchos programas disponibles que pueden ocultar el antiguo diseño de PGP y hacerlo un poco más fácil de usar, especialmente cuando se trata del cifrado y la autenticación del correo electrónico, que es la finalidad principal de PGP. Hemos incluido guías para la instalación y operación de este programa en otros lugares.

Antes de jugar un poco con PGP u otros programas que lo utilizan vale la pena dedicar unos minutos al entendimiento de los conceptos básicos de cifrado de clave pública: lo que puede hacer por ti, lo que no puede hacer, y cuando debería usarlo.

Historia de dos claves

Cuando usamos cifrado para combatir la vigilancia, esto es lo que estamos tratando de hacer:

Tomamos un mensaje claramente legible como "hola mamá" y lo ciframos en un mensaje codificado que es incomprensible para cualquiera que busque en él “OhsieW5ge+osh1aehah6,”. Enviamos el mensaje cifrado a través de Internet, donde puede ser leído por muchas personas, pero - esperamos - no entendido por ninguno de ellos. Cuando llega a su destino, nuestro destinatario, y sólo nuestro destinatario, tiene alguna forma de descifrar el mensaje original.

¿Cómo nuestro destinatario sabe cómo decodificar el mensaje, cuando nadie más puede hacerlo? Debe ser porque conoce algo de información extra que nadie más tiene. Llamemos a esto la clave de decodificación, ya que desbloquea el mensaje dentro del código.

Cómo puede el destinatario conocer esta clave? Generalmente, es debido a que el emisor les ha comunicado previamente la clave, ya sea "Tratar de sostener el mensaje en un espejo" o "tomar cada letra y convertirla a la siguiente letra del alfabeto." Hay un problema con esta estrategia, sin embargo. Si le preocupa ser espiado cuando usted envía su mensaje en clave, ¿cómo enviar al destinatario la clave sin que que alguien espíe esa conversación también? No tiene sentido enviar un mensaje ingeniosamente encriptado si el atacante ya sabe la clave para descifrarlo. Y si usted tiene un camino secreto para enviar claves de decodificación, ¿por qué no utilizarlo para todos sus mensajes secretos?

La criptografía de clave pública tiene una buena solución para esto. Cada persona en una conversación puede crear dos claves. Una es su clave privada, que mantendrán para si y nunca deben permitir que nadie le conozca. La otra es una clave pública, que se entrega a cualquier persona que quiera comunicarse con ellos/as. No importa quién puede ver la clave pública aun cuando la ponga en línea donde todo el mundo pueda verla.

Las "claves" en sí son, en el fondo y en realidad, números muy grandes, con ciertas propiedades matemáticas. La clave pública y la clave privada se conectan. Si codifica algo usando la clave pública, a continuación, otra persona puede descifrarlo con su clave privada correspondiente.

Vamos a ver cómo eso podría funcionar. Usted quiere enviar un mensaje secreto a Aarav. Aarav tiene una clave privada, pero al igual que un buen usuario de cifrado de clave pública, que ha puesto su clave pública conectada en su página web. Usted descarga la clave pública, cifra el mensaje con ella, y lo envía, él puede descifrarlo, porque él tiene la clave privada correspondiente - pero nadie más puede.

Signo de nuestos tiempos

La criptografía de clave pública se deshace del problema del robo de la clave de decodificación de la persona a la que desea enviar un mensaje porque esa persona ya tiene la llave. Usted sólo debe tener la clave de codificación pública correspondiente, que el destinatario ha repartido a todos/as, incluyendo a los espías, ya que es sólo útil para codificar un mensaje mientras es inútil para cualquier persona que intente descifrar el mensaje.

Pero aún hay más! Si codifica un mensaje con una cierta clave pública, sólo puede ser decodificada por la clave privada correspondiente. Pero lo contrario también es cierto. Si codifica un mensaje con una cierta clave privada, sólo puede ser decodificada por su clave pública correspondiente.

¿Por qué sería útil? A primera vista, no parece haber ninguna ventaja en crear un mensaje secreto con su clave privada que todo el mundo (o al menos, todo el que tiene la clave pública) puede descifrarlo. Pero supongo que escribí un mensaje que decía: "Me comprometo a pagarle a Aazul $100," y luego lo vuelvo un mensaje secreto usando mi clave privada. Cualquiera podía descifrar ese mensaje, pero sólo una persona podría haberlo escrito: la persona que tiene mi clave privada. Si he hecho un buen trabajo manteniendo segura la clave privada, es decir, conmigo y solo conmigo. En efecto, mediante la codificación con mi clave privada, me he asegurado de que sólo podría haber venido de mí. En otras palabras, he hecho lo mismo con este mensaje digital como lo hacemos cuando firmamos un mensaje en el mundo real.

Firmar también hace que los mensajes sean a prueba de manipulaciones. Si alguien trata de cambiar "prometo pagar a Aazul $100" por "Me comprometo a pagar a Bob $100," no sería capaz de volver a firmarlo utilizando mi clave privada. Así que un mensaje firmado garantiza que procede de una fuente determinada, y no puede ser alterado con el transporte.

Así que la criptografía de clave pública permite cifrar y enviar mensajes de forma segura a cualquier persona cuya clave pública ya sabes. Si los demás conocen tu clave pública, pueden enviarte mensajes, que sólo tú puedes decodificar. Y si la gente conoce tu clave pública, puedes firmar los mensajes para que esas personas sepan que son tuyos realmente. Y si conoces la clave pública de otras personas, puedes decodificar un mensaje firmado por ellas, y saber que sólo vino de ellas.

Debería estar claro ahora que la criptografía de clave pública se vuelve más útil entre más personas conocen tu clave pública. También debe ser evidente que necesitas mantener tu clave privada muy segura. Si alguien recibe una copia de tu clave privada, puede suplantarte y firmar mensajes que simulen ser escritos por ti. PGP tiene una característica que permite "revocar" una clave privada, y advertir a la gente que ya no es confiable, pero no es una gran solución. La parte más importante del uso de un sistema de criptografía de clave pública es proteger tu clave privada con mucho cuidado.

Como funciona PGP

Pretty Good Privacy se ocupa principalmente de los pequeños detalles de creación y uso de claves públicas y privadas. Puedes crear un par de claves pública / privada con este, proteger la clave privada con una contraseña y utilizarla junto a la clave pública para firmar y cifrar texto. También permitirá descargar las claves públicas de otras personas y subir tus claves públicas a "servidores de claves públicas", que son los repositorios donde otras personas puedan encontrar tu clave. Revisa nuestras guías de instalación de software compatible con PGP en tu cliente de correo electrónico.

Si hay una cosa que hay que sacar de este panorama general es: usted debe mantener su clave privada almacenada en un lugar seguro y protegido con una contraseña larga. Puedes compartir su clave pública a cualquier persona que desee comunicarse con usted, o que quiera confirmar si un mensaje realmente vino de usted.

PGP avanzado: La red de la confianza

Es posible que haya descubierto un defecto potencial en cómo funciona la criptografía de clave pública. Supongamos que yo comencé a distribuir una clave pública que digo pertenece a Barack Obama. Si la gente me cree, podrían empezar a enviar mensajes secretos a Barack, cifradas con la clave. O podrían creer que nada firmado con esa clave es una declaración jurada de Barack. Esto es verdaderamente raro, y sin embargo actualmente le sucede a algunas personas en la vida real, incluyendo a algunos de los autores de este documento, ¡algunos de nosotros hemos sido tontos! (Nosotros no sabemos con seguridad en este caso si en realidad algunas de las personas que han hecho las llaves falsas realmente estaban capacitadas para interceptar los mensajes en transito y leer los mismos, o si esto era meramente un truco para hacer más difícil a las personas tener una conversación segura.)

Otro atentado furtivo es que un atacante se ubique entre dos personas hablando en línea, espiando toda la conversación y ocasionalmente insertando mensajes engañosos en la conversación. Gracias al diseño de la Internet como un sistema que transporta los mensajes en varios equipos diferentes y particulares, este ataque es totalmente posible. En estas condiciones (llamados un "ataque de hombre en medio"), el intercambio de claves sin acuerdo previo puede ser muy arriesgado. "Aquí está mi clave", anuncia una persona que suena como Barack Obama, y le envía un archivo de clave pública. Pero quien dice que alguien no esperó hasta ese momento, interceptar la transmisión de la clave de Obama, y luego insertar su propia clave?

¿Cómo podemos demostrar que una determinada clave pertenece realmente a una persona determinada? Una forma es obtener la clave de ellos directamente, pero eso no es mucho mejor que nuestro desafío de búsqueda de obtener una clave secreta sin que alguien nos detecten. Aún así, la gente hace el intercambio de claves públicas cuando se encuentran, en privado y en cryptoparties públicas.

PGP tiene una solución ligeramente mejor llamada la "red de confianza." En la red de confianza, si creo que una clave pertenece a una determinada persona, puedo firmarla, y luego subir la clave (y la firma) a los servidores de claves públicas. Estos servidores de claves pasarán las claves firmadas a cualquiera que pregunte por ellas.

En términos generales, cuantas más personas en quien confío han firmado una clave, es más probable que voy a creer que la clave pertenece realmente a quien dice. PGP permite firmar claves de otras personas y también le permite confiar en otros firmantes, de modo que si ellos firman una clave, su software cree automáticamente que la clave es válida.

La web de confianza viene con sus propios retos, y organizaciones como EFF están investigando mejores soluciones. Pero por ahora, si quieres una alternativa a entregar las llaves a otros en persona, usando la red de confianza y la red pública del servidor de claves son su mejor opción.

Metadata: Lo que PGP no puede hacer

PGP trata de hacer que el contenido de un mensaje sea secreto, genuino e inalterable. Pero ese no es el único problema de privacidad que puedas tener. Como hemos señalado, la información acerca de tus mensajes puede ser tan reveladora como su contenido (Consulte "metadatos"). Si estás intercambiando mensajes PGP con un disidente conocido en tu país, puedes estar en peligro por el simple hecho de comunicarte con él, aun sin decodificar dichos mensajes. De hecho, en algunos países puedes ser encarcelado simplemente por negarse a descifrar los mensajes cifrados.

PGP no hace nada para ocultar con quien estás hablando o que estás utilizando PGP para hacerlo. De hecho, si subes tu clave pública a los servidores de claves o firmas las claves de otras personas estás demostrando efectivamente al mundo que la clave es tuya y a quien conoces.

No tienes que hacer eso, puedes mantener su clave pública PGP discretamente y sólo darle a la gente con quien te sientes seguro y pedirles que no lo suban a los servidores de claves públicas. No es necesario atar tu nombre a una clave.

Disfrazar que te estás comunicando con una persona en particular es más difícil. Una forma de hacer esto es que ambos usen cuentas de correo electrónico anónimas, y acceder a ellas usando Tor. Si haces esto, PGP seguirá siendo útil, tanto para mantener sus mensajes de correo electrónico privada de otras personas, y demostrar a la otra que los mensajes no han sido alterados.

Última actualización: 
2014-11-07
JavaScript license information