-
Notifications
You must be signed in to change notification settings - Fork 89
Deprecate STARTTLS #211
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
Deprecate STARTTLS #211
Conversation
+1 on deprecating STARTTLS in favour of properly pushing STS instead. If we do go through with this, we should add some explanatory text into the spec itself as well, and some other cleanups. |
_irc/index.md
Outdated
## [STARTTLS]({{site.baseurl}}/specs/extensions/tls-3.1.html) | ||
|
||
STARTTLS allows clients to upgrade their plaintext connections to use TLS | ||
encryption. It is recommended that clients instead implement STS support. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a bit of a crappy explanation, and should be expanded with more reasoning.
This article has a decent explanation of the issue as well as some real-world examples of attacks on STARTTLS in SMTP. I've also heard this attack referred to as STRIPTLS in the past. |
While I agree with deprecating STARTTLS in favor of STS (we've been informally recommending against implementing it for a long while already), it should be noted that the current text of the spec covers downgrade attacks:
It's more of an afterthought, in contrast to how STS was designed around persisting the policy, but it's there. |
Be sure to remove the STARTTLS rows from the support tables as well. |
The problem is the opportunistic behavior itself, not the upgrade process. It's the same with TLS on separate port – you can equally have an opportunistic client that tries port 6697 and is forced to fall back to insecure by active MitM. (The only difference is that separate ports make it much simpler to implement a strict client, since it's the default behavior already.) Regardless of that, I agree that STARTTLS on IRC doesn't offer anything useful compared to direct TLS and should be deprecated. It might be useful to reference RFC 8314 as part of the explanation. |
What would a server, which only wanted to speak TLS, offer on the plain port? I was expecting it to offer (Similar to how many sites redirect http://example.com/foo/ -> https://example.com/foo/ , and if you don't redirect you're doomed.) |
You can use but a server should never advertise a plaintext port if you don't support it, imho. |
Probably the best approach is what @Zarthus suggested along with a NOTICE explaining why the connection is being terminated (for clients that lack |
I've expanded the explanation in the Markdown file a little to try and give some context around the deprecation. Thoughts welcomed |
ping @DanielOaks, is there anything else needed here to progress this issue? |
There's broad consensus here I think with regard to the change itself, and I've not received any further wording related suggestions. Can we get this merged please @jwheare? |
Has already been some discussion on this in #ircv3. I'm in favour of deprecating it for the reasons I outlined there, but happy to see more discussion on the matter.
It's been quite rightly pointed out I should elaborate on reasoning here, so: