Re: [Standards] NEW: XEP-0397 (Instant Stream Resumption)

2022-08-23 Thread Daniel Gultsch
Hi Flow,

I now realize that I get hung up on PLAIN at little bit in my previous
e-mail. But what I was really saying is that ISR should allow any SASL
mechanism with HT-* being just one possible (although good) choice.

And to be clear when I say PLAIN I mean username+password and not
putting the token in there. I just took PLAIN as an example because it
uses the same number of round trips as HT-*. But in theory you should
be able to do SCRAM-SHA1 too. However before we get hung up on
security properties of PLAIN we can also use EXTERNAL (client
certificates) as an additional example. If we use EXTERNAL (or PLAIN)
we don’t need to request the HT-* token. Hence the token attribute of
the  element and the mechanism attribute of the
 element are not needed. (They are currently a MUST)

And that's the advantage of requesting the HT tokens with SASL2. It
decouples it from ISR and I can choose to do ISR with or without HT-*.

Furthermore it would even allow me to use HT-* without ISR.


That's not at all an attack on HT-* but there are several scenarios
where I can’t use HT-* (I have deployments where we terminate TLS
before it hits the XMPP server. There are also scenarios where we
don’t use TLS at all. I also have customers that use client certs
where doing the ISR auth with EXTERNAL is just more convenient.


WRT: Compressions. Dave in his email refers to it as XEP-0138 which is
why a Ctrl-F didn’t yield any results. To add to Daves points. Making
compression a SASL2 extension also fixes the somewhat weird issue
where the session can not be resumed and the server thus doesn’t know
if compression was enabled previously or not. It just makes
compression explicit rather than handwavey "if it was enabled
previously".

And yes we are currently implementing it. That's why I’m providing
feedback on the XEP. And yes we are using it with compression and yes
we do terminate TLS early and can’t use HT-* and yes we use PLAIN for
regular logins too and therefor we don’t have an issue with the
"downgrade" in security.

cheers
Daniel

On Tue, Aug 23, 2022 at 7:32 PM Florian Schmaus  wrote:
>
> On 22/08/2022 16.07, Daniel Gultsch wrote> I have some new found
> interest in Instant Stream Resumption and after
> > reading the XEP again I find myself agreeing with a lot of what Dave
> > said 4.5 years ago especially with regard to decoupling the HT-*
> > family of authentication from ISR itself. One might argue that more
> > XEPs means more complexity but to the contrary I think it would
> > actually reduce complexity because one could - theoretically -
> > implement ISR with PLAIN and then not having to worry about HT-* and
> > channel binding. (Don’t get me wrong I like channel binding and I like
> > HT-* but if one is in the market for some quick and easy stream
> > resumption being able to do it with PLAIN would help a lot.)
>
> The XEP is written with that in mind (as far as I remember). It has a
> strong bias towards SASL HT-* as this mechanisms protects the token,
> whereas using PLAIN does not. Furthermore, it is not immediately clear
> what Instant Stream Resumption (ISR) and SASL PLAIN exactly is, as there
> are (at least) two approaches imaginable (that also do not rule each
> other out): First, perform ISR + SASL PLAIN with the users password.
> Which would be a big step backwards in terms of security. Second,
> perform ISR + SASL PLAIN with the token obtained by ISR. Obviously
> better than the first variant, while not as secure as HT-*.
>
> I think all variants, including the HT-* one have different advantages
> and disadvantages, and we ultimately need more implementation
> experience. So, by all means, please go ahead.
>
>
> > What Dave outlined in his comment to §4 seems sensible enough to me?!
>
> I am not sure what the advantage of obtaining the ISR token
> simultaneously with the SASL authentication. You need to do the
> request/response pair to enable Stream Management anyway afterwards
> (unless you would use bind2, I assume, in which case it wouldn't matter
> what the parent of the the  XML element is).
>
> What am I missing?
>
>
> > Minor stuff: I’m also agreeing with the feedback on location and
> > compression. However the above (allowing multiple SASL mechanisms) is
> > the urgent one for me right now.
>
> I can't find anything regarding 'compression' in Dave's Mail from
> 2018-01-22. Furthermore, I am not sure how the 'location' attribute from
> Stream Management can be re-used or how that would improve things.
> Again, being slightly jet lagged, I am maybe missing something. Examples
> would probably help.
>
> In summary, please go ahead and implement ISR in any way you feel
> sensible and report back your findings. :)
>
> - Flow
>
> ___
> Standards mailing list
> Info: https://mail.jabber.org/mailman/listinfo/standards
> Unsubscribe: standards-unsubscr...@xmpp.org
> ___
__

[Standards] XMPP Council Agenda 2022-08-24

2022-08-23 Thread Daniel Gultsch
Good morning Council members,

the next XMPP Council Meeting will take place on Wednesday, August
24th 2022 at 15:00 UTC in xmpp:coun...@muc.xmpp.org?join

The Agenda is as follows:

1) Roll call

2) Agenda Bashing

3) Editors update

- UPDATED: XEP-0447 (Stateless file sharing)
- STABLE: XEP-0215 (External Service Discovery)
- NEW: XEP-0469 (Bookmark Pinning)
- NEW: XEP-0470 (Pubsub Attachments)

4) Items for voting

a) XEP-0231: clarify where to find hash algo names
(https://github.com/xsf/xeps/pull/1193)
b) XEP-0004: clarify rules for multi-item forms
(https://github.com/xsf/xeps/pull/1194)

5) Pending votes

none

See Spreadsheet of Doom:
https://docs.google.com/spreadsheets/d/1aA6tQJ8XJ_UjCKrcJ6CyG-l3L5xETSlBrPRR-37Z_1E/edit?usp=sharing

6) Date of Next

7) AOB

8) Close
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


[Standards] NEW: XEP-0470 (Pubsub Attachments)

2022-08-23 Thread XSF Editor
Version 0.1.0 of XEP-0470 (Pubsub Attachments) has been released.

Abstract:
This specification provides a way to attach elements to a pubsub item.

Changelog:
Accepted by vote of Council on 2022-07-27. (XEP Editor (jsc))

URL: https://xmpp.org/extensions/xep-0470.html

Note: The information in the XEP list at https://xmpp.org/extensions/
is updated by a separate automated process and may be stale at the
time this email is sent. The XEP documents linked herein are up-to-
date.
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


[Standards] NEW: XEP-0469 (Bookmark Pinning)

2022-08-23 Thread XSF Editor
Version 0.1.0 of XEP-0469 (Bookmark Pinning) has been released.

Abstract:
This document defines an XMPP protocol extension to allow users to pin
PEP Native Bookmarks.

Changelog:
Accepted by vote of Council on 2022-07-27. (XEP Editor (jsc))

URL: https://xmpp.org/extensions/xep-0469.html

Note: The information in the XEP list at https://xmpp.org/extensions/
is updated by a separate automated process and may be stale at the
time this email is sent. The XEP documents linked herein are up-to-
date.
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


[Standards] STABLE: XEP-0215 (External Service Discovery)

2022-08-23 Thread XSF Editor
Version 1.0.0 of XEP-0215 (External Service Discovery) has been
released.

Abstract:
This document specifies an XMPP protocol extension for discovering
services external to the XMPP network.

Changelog:
Accept as Stable as per Council Vote from 2022-08-03. (XEP Editor
(jsc))

URL: https://xmpp.org/extensions/xep-0215.html

Note: The information in the XEP list at https://xmpp.org/extensions/
is updated by a separate automated process and may be stale at the
time this email is sent. The XEP documents linked herein are up-to-
date.
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


[Standards] UPDATED: XEP-0447 (Stateless file sharing)

2022-08-23 Thread XSF Editor
Version 0.2.0 of XEP-0447 (Stateless file sharing) has been released.

Abstract:
This specification describes a protocol for stateless asynchronous
file sharing with integrity and transport flexibility. It allows
clients to provide a good interoperable user experience in combination
with Carbons and MAM.

Changelog:
Add disposition attribute to signal when inlining is desired. (lmw)

URL: https://xmpp.org/extensions/xep-0447.html

Note: The information in the XEP list at https://xmpp.org/extensions/
is updated by a separate automated process and may be stale at the
time this email is sent. The XEP documents linked herein are up-to-
date.
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___


Re: [Standards] NEW: XEP-0397 (Instant Stream Resumption)

2022-08-23 Thread Florian Schmaus
On 22/08/2022 16.07, Daniel Gultsch wrote> I have some new found 
interest in Instant Stream Resumption and after

reading the XEP again I find myself agreeing with a lot of what Dave
said 4.5 years ago especially with regard to decoupling the HT-*
family of authentication from ISR itself. One might argue that more
XEPs means more complexity but to the contrary I think it would
actually reduce complexity because one could - theoretically -
implement ISR with PLAIN and then not having to worry about HT-* and
channel binding. (Don’t get me wrong I like channel binding and I like
HT-* but if one is in the market for some quick and easy stream
resumption being able to do it with PLAIN would help a lot.)


The XEP is written with that in mind (as far as I remember). It has a 
strong bias towards SASL HT-* as this mechanisms protects the token, 
whereas using PLAIN does not. Furthermore, it is not immediately clear 
what Instant Stream Resumption (ISR) and SASL PLAIN exactly is, as there 
are (at least) two approaches imaginable (that also do not rule each 
other out): First, perform ISR + SASL PLAIN with the users password. 
Which would be a big step backwards in terms of security. Second, 
perform ISR + SASL PLAIN with the token obtained by ISR. Obviously 
better than the first variant, while not as secure as HT-*.


I think all variants, including the HT-* one have different advantages 
and disadvantages, and we ultimately need more implementation 
experience. So, by all means, please go ahead.




What Dave outlined in his comment to §4 seems sensible enough to me?!


I am not sure what the advantage of obtaining the ISR token 
simultaneously with the SASL authentication. You need to do the 
request/response pair to enable Stream Management anyway afterwards 
(unless you would use bind2, I assume, in which case it wouldn't matter 
what the parent of the the  XML element is).


What am I missing?



Minor stuff: I’m also agreeing with the feedback on location and
compression. However the above (allowing multiple SASL mechanisms) is
the urgent one for me right now.


I can't find anything regarding 'compression' in Dave's Mail from 
2018-01-22. Furthermore, I am not sure how the 'location' attribute from 
Stream Management can be re-used or how that would improve things. 
Again, being slightly jet lagged, I am maybe missing something. Examples 
would probably help.


In summary, please go ahead and implement ISR in any way you feel 
sensible and report back your findings. :)


- Flow



OpenPGP_signature
Description: OpenPGP digital signature
___
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
___