Artículos

Bitmessage, o las posibilidades de mensajería segura, privada, y a prueba de censura

para Manzana Mecánica

 

Bitmessage es un protocolo de comunicaciones seguro que permite enviar mensajes entre dos personas o entre una persona y un grupo de suscriptores. Los mensajes viajan encriptados, de forma que es muy difícil para alguien leer un mensaje de otra persona. Además, todos los mensajes encriptados son distribuidos a toda la red, de forma que es muy difícil saber en qué parte de la red se encuentra el remitente o el destinatario de un mensaje.

Para entender las posibilidades de Bitmessage primero necesitas entender la idea general de la criptografía de clave pública, que es muy simple. Imagina que Ana y David quieren comunicarse en forma segura. Podrían inventar una clave para cifrar sus mensajes, pero el problema es ¿cómo se hacen llegar la clave? Si alguien intercepta la clave, podría leer todos los mensajes.

La solución es que Ana y David tendrán cada uno una llave (llamada “clave privada”) y un candado abierto (llamado “clave pública”). Cada uno le entrega al otro su candado abierto, que puede usarse para proteger un mensaje que sólo podrá ser leído por el dueño de la respectiva llave. No hay problema si alguien intercepta un candado abierto mientras cada persona mantenga en secreto su llave.

La criptografía de llave pública puede usarse para firmar mensajes de una manera similar. Sin entrar en detalles, una persona puede demostrar que es el dueño(a) de la llave de un cierto candado, sin necesidad de dar a conocer su llave a nadie.

El protocolo Bitmessage

Bitmessage introduce una red P2P que en la práctica crea un único archivo gigante y compartido por todos. En este sentido, funciona en forma similar a Bitcoin, con la diferencia de que el archivo, en vez de ser un libro de contabilidad gigante, es una colección de candados abiertos (llaves públicas) y mensajes protegidos.

De la misma forma que Bitcoin, la operación de escribir en este archivo gigante tiene dos condiciones. Primero, se realiza de manera que nadie puede saber de dónde salió originalmente un elemento del archivo, para ello en la red nadie dice si es el creador de un elemento o un mero intermediario. Segundo, y para evitar abusos, quien quiera escribir en el archivo debe mostrar una “prueba de trabajo“, que es una operación lenta que en el caso de Bitmessage son unos 3-5 minutos de procesamiento en un laptop normal.

Para poder recibir un mensaje, uno simplemente pone una copia de su candado abierto en la nube Bitmessage. Para leer sus mensajes, cada uno prueba si su llave puede abrir alguno de los mensajes cerrados. Los mensajes cifrados en Bitmessage no llevan identificación de su destinatario: si puedes abrir un mensaje con tu llave privada, entonces sabes que el mensaje era para ti, pero nadie más lo sabe.

La red limpia todos los elementos de más de 2 días de antigüedad para asegurar la escalabilidad del sistema.

Suscripciones y chans

Además de enviar mensajes uno-a-uno, uno puede publicar un mensaje no cifrado que puede ser leído por cualquiera que esté interesado, para ello lo firma con su llave privada. Cualquiera puede suscribirse a los mensajes públicos de una persona, y ni esa persona ni sus suscriptores pueden saber la dirección en Internet de los demás.

El mismo mecanismo puede usarse para crear listas de correo. Una lista de correo es una dirección que automáticamente re-publica a la red todos los mensajes que recibe como mensajes públicos.

También existen los chans o foros públicos (tipo 4chan). Bitmessage incluye un mecanismo para materializar una llave basada en un texto cualquiera. Por ejemplo, puedo crear una llave que corresponda a la palabra “news”,BM-2D8ZrxtSU1jf7nnfvqVwRfCVh1Q8NW4td5 (todas las direcciones Bitmessage comienzan con “BM”), y cualquiera en la red puede hacer lo mismo. Luego, todos podemos enviar mensajes a “news” y leer los mensajes dirigidos a este chan, de nuevo, con anonimato para quien envía y para quien recibe.

La interfaz de Bitmessage todavía es muy cruda, pero es perfectamente funcional. Hay una comunidad de desarrolladores grande y activa trabajando para mejorarlo, sobre todo en los aspectos relacionados con experiencia de usuario y chans.

Si todavía no entiendes por qué ésto es tan importante, piénsalo de nuevo. Usar Bitmessage es más difícil que usar Twitter (por ahora), pero:

  • Puedes intercambiar mensajes con alguien sin revelar tu identidad o tu dirección en la red.
  • Puedes publicar y leer foros sin revelar tu identidad o tu dirección en la red.
  • Estos mensajes no pueden ser fácilmente interceptados ni censurados.

Incluso si no lo usas para enviar o recibir mensajes, puedes ser parte de la red y contribuir a la seguridad de ésta, o participar de comunidades emergentes como Bitchirp. Si lo instalas, puedes enviarme un mensaje por Bitmessage a mi dirección pública: BM-GuAgmxYHG6bbTHmrui71ZBt8ZSGTuk9V.

Fuente imágenes: elaboración propia usando imágenes de Open Clipart.