ArticleslgStudy

computer science

Keybase

Keybase is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Keybase rather than just read about it. In short: Keybase is a key directory that maps social media identities to encryption keys (including, but not limited to PGP keys) in a publicly auditable manner. Additionally it offers an end-to-end encrypted chat and cloud storage system, called Keybase Chat and the Keybase Filesystem respectively.

Keybase — main illustration
Keybase — illustration

Key takeaways

  • Keybase belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Keybase to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Keybase from memory before moving on to harder problems.

Reference excerpt

Keybase is a key directory that maps social media identities to encryption keys (including, but not limited to PGP keys) in a publicly auditable manner. Additionally it offers an end-to-end encrypted chat and cloud storage system, called Keybase Chat and the Keybase Filesystem respectively. Files placed in the public portion of the filesystem are served from a public endpoint, as well as locally from a filesystem union-mounted by the Keybase client. Keybase supports publicly connecting Twitter, GitHub, Reddit, and Hacker News identities, including websites and domains under one's control, to encryption keys. It also supports Bitcoin, Zcash, Stellar, and QRL wallet addresses. Keybase has supported Coinbase identities since initial public release, but ceased to do so on March 17, 2017, when Coinbase terminated public payment pages. In general, Keybase allows any service with public identities to integrate with Keybase. On May 7, 2020, Keybase announced it had been acquired by Zoom, as part of Zoom's "plan to further strengthen the security of [its] video communications platform". Since the acquisition, development has stopped, but the service has been kept functional.

Identity proofs Keybase allows users to prove a link between certain online identities (such as a Twitter or Reddit account) and their encryption keys. Instead of using a system such as OAuth, identities are proven by posting a signed statement as the account a user wishes to prove ownership of. This makes identity proofs publicly verifiable – instead of having to trust that the service is being truthful, a user can find and check the relevant proof statements themselves, and the Keybase client does this automatically.

App In addition to the web interface, Keybase offers a client application for Windows, Mac, Android, iOS, and most desktop Linux distributions, written in Go with an Electron front end. The app offers additional features to the website, such as the end-to-end encrypted chat, teams feature, and the ability to add files to and access private files in their personal and team Keybase Filesystem storage. Each device running the client app is authorized by a signature made either by another device or the user's PGP key. Each device also has a device-specific key to enable the user to establish their identity using any of their devices.

Chat Keybase Chat is an end-to-end encrypted chat built in to Keybase launched in February 2017. A distinguishing feature of Keybase Chat is that it allows Keybase users to send messages to someone using their online aliases (for example a reddit account), even if they haven't signed up to Keybase yet. If the recipient (the online alias owner) has an account on Keybase, they will seamlessly receive the message. If the recipient doesn't have a Keybase account, and later signs up and proves the link between the online account and their devices, the sender's device will rekey the message for the recipient based on the public proof they posted, allowing them to read the message. Since the Keybase app checks the proof, it avoids trust on first use.

Keybase Filesystem (KBFS)

Keybase allows users to store up to 250 GB of files in a cloud storage called the Keybase Filesystem for free. There are no storage upgrades available, but paid plans allowing for more data are planned. The filesystem is divided into three parts: public files, private files, and team files. On Unix-like machines, the filesystem is mounted to /keybase, and on Microsoft Windows systems it is usually mounted to the K drive. Currently, mobile versions of the Keybase client can only download files from kbfs, and can not mount it. However, they do support operations such as rekeying files as necessary. In October 2017 Keybase brought out end-to-end encrypted Git repositories.

Public files Public files are stored in /public/username, and are publicly visible. All files in the public filesystem are automatically signed by the client. Only the user who the folder is named after can edit its contents, however, a folder may be named after a comma-separated list of users (e.g. a folder /public/foo,bar,three would be editable by the users foo, bar, and three). Public files can be accessed by any user. Single user folders are displayed at keybase.pub and are also accessible by opening the directory in the mounted version of the filesystem. Multi user folders (such as /public/foo,bar,three) are only accessible through the mounted version of the system.

Private files Private files are stored in /private/username, and are only visible to username. Private folders, like public folders, can be named after more than one user (e.g. a folder /private/foo,bar,three would be readable and editable by the users foo, bar, and three). Private files can also be read only for users after "#" (e.g. a folder /private/writer1,writer2,#reader1,reader2 would be readable and editable by the users writer1 and writer2 but only readable for reader1 and reader2). Unlike public files, all private files are both encrypted and signed before being uploaded, making them end-to-end encrypted.

Team files Team files are stored in /team/teamname, and are publicly visible to team members. All files in the team filesystem are automatically encrypted and signed by the client. Only users who are marked as writers can edit its contents, however, any readers can access the files stored there.

Teams In September 2017, Keybase launched Keybase Teams. A team is described as "...a named group of people." Each team has a private folder in the Keybase filesystem, and a number of chat channels (similar to Slack). Teams can also be divided into "subteams" by placing a . in the team name. For example, wikipedia.projects would be a subteam of wikipedia, while wikipedia.projects.foobar would be a subteam of wikipedia.projects (and therefore, also of wikipedia).

Team administration Teams are largely administered by adding signatures to a chain. Each signature can add, remove, or change the membership of a user in a team, as well as when changes are made to subteams. Each chain starts with a signature made by the team owner, with subsequent actions signed on by team admins or users. This ensures that every action is made by an authorized user, and that actions can be verified by anyone in possession of the public key used.

References

External links

Official website Keybase on GitHub

Illustrations

Keybase illustration
Keybase: Keybase screenshot showing a user's keys
Keybase screenshot showing a user's keys

Worked examples

Example 1 — a first encounter with Keybase

Start with the simplest possible case. Write down what Keybase claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Keybase before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Keybase ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Keybase

In research
Keybase appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Keybase in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Keybase is common in secondary-school and first-year university syllabi. It links to neighbouring topics 2020 mergers and acquisitions, Free software programmed in Go, Internet properties established in 2014, so understanding it makes those chapters shorter.
In everyday life
Look for Keybase outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Keybase” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Keybase in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Keybase means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Keybase out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Keybase in simple terms?

Keybase is a key directory that maps social media identities to encryption keys (including, but not limited to PGP keys) in a publicly auditable manner. Additionally it offers an end-to-end encrypted chat and cloud storage system, called Keybase Chat and the Keybase Filesystem respectively.

Why does Keybase matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Keybase?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Keybase.

Tags

  • 2020 mergers and acquisitions
  • Free software programmed in Go
  • Internet properties established in 2014
  • Key management
  • OpenPGP
  • Software using the BSD license
  • Tor onion services

Keep exploring