Keybase: What, Why, How?

christianchomiak (Christian Chomiak) on Keybase
christianchomiak (Christian Chomiak) is now on Keybase, an open source app for encryption and cryptography.

That is my Keybase profile. It guarantees that I am this guy on Twitter, this guy on GitHub and that this is even my website.

When I first heard of Keybase a few years ago, I was baffled. Why would anyone need that? It wasn't until last year that I rediscovered it and decided to give it a try.

What is Keybase?

Keybase offers a wide variety of services, all built around the idea of security.

In a nutshell, they describe themselves as:

End-to-end encryption for things that matter.

Their service includes several features – secure messaging and even file-sharing being a couple.

One feature in particular caught my attention: Keybase is also a centralised directory of identities. Users can prove their identities on a list of supported platforms –GitHub, Twitter, Reddit, Bitcoin wallet, personal websites, etc.– guaranteeing someone else that they all identify the same person.

This is possible since the system is built upon the principle of trust. For a given person with potential identities A and B, if:

  • We trust their identity A.
  • A trusted mediator guarantees that both A and B are identities of the same person.

Then, by transitivity, we can also trust that B is also a real identity of said person.

Why use Keybase?

Due to the nature of the Internet, it is useful for an individual to prove the its identities. Especially for sensitive or critical information.

There's an old Russian proverb that says:

Trust but verify.

Luckily for us, the software takes care of verifying that each identity is real. It achieves this by checking that the user has the necessary permissions to access each one of them. More on that in a bit.

Aside from this, their file-sharing solution –KBFS (Keybase File System)– offers 250GB of space and is a great place to host files that are encrypted and proved as being provided by the user.

Files in KBFS have end-to-end encryption and can either be:

  • Public and available online via${username}/.
  • Private and only available from authorised devices.

Despite this, the service lacks the usability of other file sharing platforms, like Dropbox, so it might not be as easy to ditch them in favour of it.

How to use Keybase?

Creating an account on Keybase is very simple and free. After that, it's just a matter of linking the identities we are interested to prove.

The verification process varies per platform but they all boil down to a piece of data, issued by Keybase, that must be publicly obtainable from said identity.

For instance, this is a tweet that guarantees that I am who I claim to be, on Twitter:

And this is the verification for my GitHub account:
GitHub Gist: instantly share code, notes, and snippets.

In the case of personal websites, it is possible to verify them by using one of two methods:

This software is also available on all major platforms: PC (Windows, GNU/Linux, macOS) and mobile (Android, iOS). Once installed, the device becomes linked to the user's profile and verified as with the online identities.

On computers, installing it adds a command line tool and a GUI. On Windows, for example, it also creates a fake KBFS partition (K: by default).

More detailed information can be found here:

All in all, I find the idea of proving identities interesting. Despite not using it to its full potential yet, I reckon it's one of those things that are better to have when you don't need it than needing it when you don't have it.

Do you use Keybase? What creative ways to use it have you found so far?