Skip to content
This repository has been archived by the owner on Dec 11, 2019. It is now read-only.

Use onion services for built-in Brave connections #12930

Closed
4 tasks
tildelowengrimm opened this issue Jan 30, 2018 · 7 comments
Closed
4 tasks

Use onion services for built-in Brave connections #12930

tildelowengrimm opened this issue Jan 30, 2018 · 7 comments

Comments

@tildelowengrimm
Copy link

tildelowengrimm commented Jan 30, 2018

Once we have Tor working, we should consider using it whenever the browser would otherwise connect directly to a service run by Brave.

If Brave is connecting to on of our services we should probably configure that as an onion service on our end. Should we use a single onion service rather than a full hidden service? We should consider using something like Alec Muffett's Enterprise Onion Toolkit on the infrastructure side.

Tor — even a single onion service — is still probably slower than a regular connection. This may impact it s applicability for some services. But there are certainly background processes for which this is not a problem.

Some specific services which we should consider torifying:

This issue is a meta/tracker for those, and a reminder that there may be services other than those listed above for which this makes sense.

@riastradh-brave
Copy link
Contributor

There are two related questions here:

  1. Should the browser make these connections through Tor?

    • Pro: We bake fewer tracking beacons into the toys we hand out to hapless users.
    • Con: Slower.
  2. If so, should the server be accessible (only) through an onion service?

    • Pro: Natural equivalent of certificate pinning. No DNS/vhost/certificate overhead.
    • Con: Key management issues. Onion management overhead, e.g. with eotk or what-have-you.

@tildelowengrimm
Copy link
Author

I think that a lot of the features under this umbrella don't have to take user time, so they don't need to feel fast. For each feature that's worth implementing over Tor client-side, I think it's worth implementing as an onion service server-side. And for each onion that we stand up, I think it makes sense to retire the regular HTTPS access point after enough versions that we can reasonably expect users not to be running old-enough versions of Brave that they'll need to access the HTTPS versions.

@tildelowengrimm tildelowengrimm added this to the Triage Backlog milestone Apr 4, 2018
@riastradh-brave
Copy link
Contributor

For any built-in service that we route through Tor, there's another advantage to using a (single-hop) onion service over just using an ordinary https host: less load on the exit nodes in the network, which are bottlenecks and which we're (currently) not contributing back to.

(The tradeoff isn't as clear for standard three-hop onion services, but I can't imagine we have any reason to pay the cost in the Tor network commons of server anonymity here.)

@tildelowengrimm
Copy link
Author

Definitely agree: this is exactly the right situation for single-hop onions.

@bsclifton
Copy link
Member

@flamsmark did you want to create an issue for this in brave-core and then close this out?

@NumDeP
Copy link

NumDeP commented Aug 15, 2018

I was wondering if update ping & downloads (#12924) also includes extensions as well and whether torifying Brave's new webstore or simply just the updates in about:preferences#extensions be overkill?

@tildelowengrimm
Copy link
Author

This issue now lives at brave/brave-browser#804.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants