BgTA Blog

Keybase.io: Verifica tu perfil, cifra tus ficheros y mensajes.

Keybase.io está tratando de darle un aspecto social a toda la era del cifrado, para hacerlo más accesible a todo el mundo, y no solo me parece una gran idea, sino que me he enamorado de ella.

Keybase toma tú clave pública y la combina con tus redes sociales, para que puedas demostrar que eres quien dices ser.

Lo primero de todo es disponer de unas claves de cifrado PGP. Keybase nos ofrecerá la opción de crear una nueva o bien importar la que ya tengamos.

Keybase Imagen de Perfil

Como podemos ver en la captura anterior, Keybase me permite asociar distintas redes sociales a mi perfil. Para ello me obliga a publicar un post público en cada una de ellas, cullo post incluye una firma digital y así certificar que el perfil es mío. (Podéis ver un ejemplo en mi Gist de Github).

Algo que me encantó también es que podemos hacer esta misma verificación con nuestro dominio si disponemos de uno, a través de una entrada TXT en el DNS.

Captura de entrada TXT en el DNS

En el tema del cifrado por PGP, algo que resulta un poco “tedioso” es certificar que aquella firma digital es de la persona que dices ser. Para ello, en PGP lo que se solía hacer es establecer una Red de Confianza: “Se basa en que los participantes en la red firman entre sí sus claves públicas con sus claves privadas, certificando de esta manera que la clave pública pertenece a la persona física a la que se atribuye. La persona que firma debe establecer esta correspondencia sobre la base de un conocimiento externo, como por ejemplo haberse encontrado físicamente con la persona de la que certifica la clave en el mundo real. El interés del concepto está en que todos los demás conocidos del firmante, aunque se encuentren en un lugar remoto, tienen ahora un vínculo que les asegura que pueden confiar en los mensajes (por ejemplo, código de software) firmados con la clave privada de la persona certificada.” — Extraido de la Wikipedia.

Keybase consigue esto de una manera más sencilla: siguiendo el perfil de la persona que conocemos. Al seguir a alguien en Keybase, estamos estableciendo esta Red de Confianza de la que hablábamos y podemos certificar que dicha persona es quien es de una manera sencilla: a través de los perfiles que tiene asociados y certificados a su perfil. (Podéis encontrar más información en la documentación de Keybase).

Captura de listado de la red de confianza de Keybase

Bueno, y además de todo este jaleo de certificación y verificación, ¿que más ofrece Keybase?

CHATS ENCRIPTADOS

Keybase tiene tanto aplicación de escritorio multiplataforma como aplicación móvil, al más puro estilo de Slack. Dispone de la posibilidad de crear Grupos, con los cuales podremos compartir archivos de una manera seguro y disponer de un repositorio Git cifrado para dicho Grupo.

Además existe una extensión para nuestros navegadores que permite que abramos un chat directamente desde el perfil social de una persona cuando lo visitamos (requiere de la app de escritorio instalada para el tema del cifrado).

Captura de la extensión de Keybase funcionando en un perfil de Twitter

COMPARTIR ARCHIVOS DE MANERA SEGURA CIFRADA

Key base dispone de un sistema de archivos virtual que va totalmente cifrado a través de PGP. Esto nos permitirá compartir archivos con otras personas o Grupos de manera segura. Destacar, que la cuenta gratuita dispone de 10Gb de almacenamiento, y que en su web indican que se puede ampliar, aunque no disponen de un plan de precios, por lo que se deduce que será un “trato personal”.

En el sistema de archivos también disponemos de una carpeta pública a la que cualquier person puede acceder via web. Si en dicha carpeta además subimos un archivo index.md (Markdown) o index.html, disponemos de una Web personalizada.

REPOSITORIOS GIT CIFRADOS

Y por si todo lo anterior no fuera suficiente, también nos ofrece !repositorios de GIT totalmente cifrados! Para ello usa unos repositorios git que tienen su propio protocolo. Funcionan de manera “transparente” a nuestro cliente GIT habitual, pero podremos observar que su dirección en vez de ser la típica git:// o http:// encontraremos que empiezan por keybase:// y como es lógico, requiere de que tengamos el cliente de escritorio instalado.

Recordar que si tal vez nos interesa más usar servicios tipo GitHub para subir nuestro código para que tenga mayor visibilidad, todo el uso que le da Keybase al firmado PGP es un añadido a lo que todo programador deberíamos hacer con nuestro código: Firmar nuestro trabajo. GIT dispone de soporte de firmado por PGP de los Commits que enviamos.

Servicios como GitHub dan soporte a este tipo de firmados, haciendo mucho más visible y fiable nuestro trabajo.

Captura de GitHub con los commits certificados

CLIENTE DE LÍNEA DE COMANDOS

Si todo esto no fuera suficiente, Keybase dispone de un cliente de línea de comandos que nos permitirá hacer cualquier cosa que se nos pase por la cabeza.

keybase help        # general
keybase help follow # help following people
keybase help pgp    # help using PGP keys in Keybase
keybase help prove  # help with proofs
                    # etc.
keybase version              # print the version number
keybase help                 # get help
keybase signup               # if you've never used Keybase
keybase login                # or...if you already have an account
keybase prove twitter        # prove you own a twitter account
keybase prove github         # prove a github account
keybase prove reddit         # prove a reddit account
keybase prove facebook       # prove a facebook
keybase prove hackernews     # prove an HN account
keybase prove https you.com  # prove a website
keybase prove http you.com   # if you don't have a legit cert
keybase prove dns you.com    # prove via a DNS entry

UN PROYECTO OPEN SOURCE

Como no, Keybase es un proyecto de código abierto y que tenéis disponible a través de GitHub.

¿Que os parece? Ya estás tardando en registrarte en Keybase.io.