Tor for bootstrapping #766
nothingmuch
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Onion-LocationHTTP header can be providedDiscussion
OHTTP encapsulation requires a public key, which can be obtained by sending a
GETrequest to the directory's/.well-known/ohttp-gatewayresource, but normally this bootstrap requires TLS in order to authenticate the directory's response. Since certificate authorities these days are mainly domain validation signing oracles, they can be removed as trusted parties by using DANE to authenticate, but this still necessitates a TLS software stack.After bootstrap, the relay is normally accessed using HTTPS over clearnet, and it connects to the directory over clearnet, allowing clients to access the directory using OHTTP.
In environments where Tor is available, relays and directories accessible via Tor hidden services and the hidden service addresses are authentic, this protects end to end encryption on the Tor network, and therefore makes it possible to bootstrap the OHTTP configuration as well as access the relay without trusting DNS or certificate authorities, and without directly requiring TLS (Tor still uses TLS, so it's still an indirect dependency).
If a directory is available over a hidden service, OHTTP requests can be submitted to it without going through an OHTTP relay first, and the target resources could even be made available directly since OHTTP is redundant at this point. Note that if this is distinguishable by the directory, whereas OHTTP requests submitted by relays are not. This is primarily a censorship concern.
Conversely, if a client can access a relay but not Tor, a relay with Tor connectivity can serve as a bridge allowing such clients to communicate with directories that are only available via an onion address, such as a self hosted directory that is not publicly reachable on clearnet.
Beta Was this translation helpful? Give feedback.
All reactions