Hi Matthew,

> There are deployments that require PLAIN. That is unlikely to change
> (ever). However this doesn't stop clients from being smart, e.g. by
> pinning support for SCRAM and refusing to downgrade. I don't know if
> any clients actually do this.
Yes, those deployments do exist.
But I want us to move away from that "PLAIN is sometimes needed, let's support 
it in all relevant clients without further interaction by the user and ignore 
any security implications this might have" stance that seems be common, to 
something like "only support PLAIN in clients after configured to do so, to not 
allow for trivial MITM attacks".
That's essentially a "default secure" rather a "default insecure" approach.

While pinning is a valid approach it has some downsides, too.
It does not cover the first connection and depends on ordering of mechanisms.
If you upgrade the pinning to stronger mechanisms as soon as the server 
advertises them, you'll break authentication for your client if the server 
operator just briefly activated these stronger mechanisms and deactivates them 
again.
If you don't upgrade your pinning, your client will remain on a sort of 
security baseline that eventually will be outdated over the years and 
virtually be as good as no pinning at all.

Because all of these I consider pinning to be some solution of last resort if 
you can't come up with something better rather than a go-to solution one 
should always use.

> There is a separate issue which was brought up by Dave in his review,
> which is the inclusion of the upgrade tasks in this XEP. As far as I
> am aware, nobody is opposing the upgrade tasks themselves (I certainly
> think they are desperately needed). The problem is that they are not
> part of the SASL2 framework itself. Just like we don't plan to define
> every possible post-authentication task in this XEP, these tasks are
> mechanism-specific and they don't need to be in XEP-0388. Copy/paste
> them into a new document, and I think everyone will be happy.
I've split out the SCRAM upgrade task definition into a new ProtoXEP: https://
github.com/tmolitor-stud-tu/xeps/tree/scram-upgrades
Rendered version: https://dyn.eightysoft.de/final/xep-scram-upgrade.html

-tmolitor



_______________________________________________
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
_______________________________________________

Reply via email to