keybase / keybase/keybase-issues

Using Keybase in a hostile network

Open
#3,312 0 comments 5 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
899
Forks
40
PR merge metrics
No merged PRs in 30d

Description

Hi, there was a previous issue regarding adding "trusted" CA certs for proxies in corporate environments at https://github.com/keybase/keybase-issues/issues/3143

I'd like to explore this topic a little deeper. Imagine that instead of a "trusted" corporate proxy, instead you were connected to a network that has a malicious upstream router that arbitrarily chooses to terminate SSL (without you having configured to use a proxy imagine a real active MITM attacker). Is it possible to use Keybase in a fully hostile, untrusted network? If not, would it be possible to use Keybase in a fully hostile network if some kind of initial setup were done on a trusted network (for example you figure out who you want to talk to ahead of time then cache their keys)?

I poked at the docs a bit and didn't see too much information on how Keybase is architected. In Signal you can send a message then verify the safety number out of band. In Keybase, I'm assuming that messages are sent over the alluded-to RPC and that this is over HTTP. I'm curious if there is some way to reach a state where you can safely ignore TLS errors by having the HTTP bodies encrypted and signed using keys that were established in an out of band way (for example, distributed in the binary or manually inserted). That way, you won't care if there is an active MITM attack because you still have confidentiality and integrity due to the HTTP bodies itself being encrypted and signed. If the system is built to withstand that type of attack, then it sounds to me like you should be able to ignore TLS-level errors/warnings. Kind of like cert pinning, but at the HTTP layer instead of TLS layer. You could throw a warning to the user that the network is hostile, but the communications are still safe due to the hardened design.

Is this something you all have thought about when designing this product? Is this something you think would be a valuable addition? Is this type of attack part of your threat model?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the architecture documentation and the referenced issue #3143, then clarify how Keybase's RPC and HTTP communication fit the hostile-network threat model. Done would be a documented decision on whether the existing design protects confidentiality and integrity under active MITM attacks, and whether a hardened mode is a valuable addition.

Written by the indexing model from the issue text.

Assessment

Domain
networking, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.