On 31 Mar 2019, at 00:19, Tedd Sterr <teddst...@outlook.com> wrote: > > http://logs.xmpp.org/council/2019-03-27?p=h#2019-03-27-237ca0091c8adb57 > > Dave is having a catastrophic day, so would be grateful for skipping the > meeting this week. > Jonas and Georg would like to at least get the vote started on the Compliance > Suites. > Georg volunteers to chair - Dave takes up his generous offer. > > 1) Welcome everybody, roll call! > Present: Georg, Jonas, Link > Distracted: Dave > Apologies: Kev > > 2) Agenda Bashing > Georg has XEP-0412 (XMPP Compliance Suites 2019) and Automatic Trust Transfer > (ATT). > Jonas notes that there is an open PR. > > 3a) Advance to Draft: XEP-0412 XMPP (Compliance Suites 2019) - > https://xmpp.org/extensions/xep-0412.html > Jonas: +1 > Link: +1 > Georg: +1 > Dave: [on-list] (wonder if we should consider a last call once more given the > change of author) > Kev: [pending]
-0. I’m still of the opinion that our current model of Compliance Suites that we update annually, with lots of noise and time, is unhelpful but won’t block progress. > 3b) Proposed XMPP Extension: Automatic Trust Transfer (ATT) - > https://xmpp.org/extensions/inbox/automatic-trust-transfer.html > Link: [on-list] > Jonas: [on-list] > Dave: [on-list] > Georg: [on-list] > Kev: [pending] There’s weirdness here. It’s not clear to me what’s being bought by using a URI for the trust message format, and that URI seems to be OMEMO-specific, although OMEMO is probably not the long-term future, so some genericity seems appropriate here. It talks about Devices with authentication, but until I reached section 6 I was struggling to understand if this is meant to be a user’s own devices, or any device in the graph - I think this would benefit from mentioning much earlier (or in a way that was clearer to idiots like me). I think the MUSTs on trusting anything sent to you from an authenticated device is wrong here - I might have verified that Dave is Dave, but that’s a long way from saying that I trust Dave to verify that Cath is Cath (this seems to be an authc/authz mismatch issue - I may authenticate Dave, but I don’t necessarily authorise him to perform authentication for me), and I very much don’t trust Dave to authenticate my new devices for me (I might have multiple identities, and ‘own device’ is likely to start breaking down here) - and revoking keys here is much worse. It says “authenticate a key” and things like it frequently when I think it means “treat the key as authenticated” or somesuch. There’s a fun amplification attack here, which probably needs mentioning. "A client MUST save the information of a trust message until the key of the device which sent the trust message is authenticated, so that the key can then be authenticated or revoked” - That seems well-intentioned but open to abuse from malicious users. There are also fun race conditions - you can easily send an approval, then revoke the key you sent the approval to, then revoke the key you approved, and then log in the device to which you sent it, leaving dangling approvals that then get added back into the graph. Indeed, on a large graph, it’s easy to end up with revoked keys getting added back in just because of transmission latency (which includes waiting for devices to come online). " If it is not possible to authenticate a key before encrypting with it but it is desired to communicate with the key's device, it is RECOMMENDED to blindly trust new keys until the first authentication has been made.” Is well-intentioned, but I think needs careful wording to avoid just making TOFU the default. Plus, once that new key is blindly trusted, someone’s going to send it out over ATT. And the minor issue that after reading it I don’t immediately understand what the protocol here is. -1 - I don’t think it’s possible to implement from the spec as-is, but more crucially I think that there are fundamental security considerations here that are missing (or aren’t obvious enough that I understood them on first reading), and given OMEMO’s history of getting picked up and deployed early I think publishing this right now would be ill-advised > 3c) PR #764 - XEP-0308: Clarify correcting a message multiple times > -https://github.com/xsf/xeps/pull/764 > Link thinks this will break existing clients which correct based on the > previous ID (rather than the original, as this PR does) - Jonas believes it > should. > > Jonas: +1 (it's the obvious reading of the XEP in my opinion, though others > may have their own 'obvious readings'; we should pick an official obvious > reading) > Dave: [on-list] > Georg: -1 (the XEP is in dire need of clarification, but it's more logical to > correct the last message, not the first, e.g. when fetching partial MUC > history) > Link: 0 (will break clients, but so will the other way, even if that seems > more logical to me) > Kev: [pending] +1. And whether Georg is right about it being more logical or not, this is a clarification that follows from the existing text that says that correction affects a message’s payloads, not its identity, i-not a change of behaviour and so is largely Editorial. /K _______________________________________________ Standards mailing list Info: https://mail.jabber.org/mailman/listinfo/standards Unsubscribe: standards-unsubscr...@xmpp.org _______________________________________________