keybase / keybase/keybase-issues
Using Keybase in a hostile network
- 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