Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TLS Proposal Draft #148

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

TLS Proposal Draft #148

wants to merge 1 commit into from

Conversation

bizzehdee
Copy link

Draft BEP for TLS

@bizzehdee bizzehdee mentioned this pull request Nov 11, 2023
@Saiv46
Copy link

Saiv46 commented Feb 21, 2024

@bizzehdee Didn't we have on-the-wire encryption already?

Though it doesn't have any standard yet (see BEP-13)

@bizzehdee
Copy link
Author

@Saiv46 with it having nothing written for it, i cant really know whether it means TLS, or means an encrypted protocol, or some other method (whatever that may be)... My BEP is aimed to make this a specific implementation for a specific purpose

@DarkBrines
Copy link

I like this idea, but maybe the entire connection should be TLS encrypted, if the final objective is to enhance privacy and protection against MITM listeners.
For this to be achieved, a protocol bit may not be enough, because the handshake already gives out a lot. The tracker should probably help advertise peers that supports this extension...

@the8472
Copy link
Contributor

the8472 commented Nov 24, 2024

MITM protection requires trusted certificates, not just self-signed ones. But then the question becomes where you get that trust from (what's your CA?).

The reserved bitfield is kind of limited and can't convey much information. The extension protocol (BEP 10) is widely implemented and might be a better option to convey information about TLS.

A separate port may not be needed. Bittorrent clients often multiplex several things over a single port anyway and I think an incoming TLS client hello should be distinguishable from other things by matching a few bytes and then routed to a TLS library.

@DarkBrines
Copy link

The trust could come from the tracker, who could distribute the self signed certificates of the peers alongside their address, or directly sign them if using a private tracker.

I don't say these kind of implementations would not push serious drawbacks and performance issues, but it is still something that would get a userbase, from people concerned about their privacy or their ISP/company firewall restricting bittorrent connections in general.

A protocol such as this one has too many implementation considerations for it to be a simple connection upgrade, that goes during or after the handshake. Peers should be aware of another peer compatibility and certificate/CA before they connect, and trackers would be the way to go.

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

Successfully merging this pull request may close these issues.

4 participants