[{"author": "Richard Barnes", "text": "<p>i assume that was audible</p>", "time": "2023-09-28T19:01:48Z"}, {"author": "Tim Geoghegan", "text": "<p>Yes, it was</p>", "time": "2023-09-28T19:01:55Z"}, {"author": "Basel Alnaffouri", "text": "<p>I can hear it</p>", "time": "2023-09-28T19:02:14Z"}, {"author": "Tim Geoghegan", "text": "<p><a href=\"https://notes.ietf.org/notes-ietf-interim-2023-mimi-08-mimi\">https://notes.ietf.org/notes-ietf-interim-2023-mimi-08-mimi#</a></p>", "time": "2023-09-28T19:03:39Z"}, {"author": "Tim Geoghegan", "text": "<p>Thanks Matthew!</p>", "time": "2023-09-28T19:03:44Z"}, {"author": "Andrew Morgan", "text": "<p>we can hear you</p>", "time": "2023-09-28T19:04:56Z"}, {"author": "Benjamin Beurdouche", "text": "<p>MLS Arch 3.6:\"A group in<br>\n   MLS is defined as the set of clients that have knowledge of the<br>\n   shared group secret established in the group key establishment phase<br>\n   of the protocol and have contributed to it.\"</p>", "time": "2023-09-28T19:19:58Z"}, {"author": "Benjamin Beurdouche", "text": "<p>Note that the contribution part is the thing that can be considered the consent</p>", "time": "2023-09-28T19:20:57Z"}, {"author": "Konrad Kohbrok", "text": "<p>Hm. But then a client that has been added to a group is only a member after it has made a commit?</p>", "time": "2023-09-28T19:22:20Z"}, {"author": "Konrad Kohbrok", "text": "<p>Or does the KeyPackage cound as a contribution?</p>", "time": "2023-09-28T19:22:36Z"}, {"author": "Konrad Kohbrok", "text": "<p>count*</p>", "time": "2023-09-28T19:22:43Z"}, {"author": "Benjamin Beurdouche", "text": "<p>Well technically you have the secrets so you are in the group... We have this annoyance that there is no notion of consent, so we had a long discussion about the fact that updating acts as a consent.</p>", "time": "2023-09-28T19:23:57Z"}, {"author": "Benjamin Beurdouche", "text": "<p>Maybe we should clarify by using pending/unconfirmed member in contrast to full member</p>", "time": "2023-09-28T19:24:29Z"}, {"author": "Eric Rescorla", "text": "<p>The point Benjamin is making above is what I was referring to.</p>", "time": "2023-09-28T19:25:06Z"}, {"author": "Konrad Kohbrok", "text": "<p>I would argue that in the context of MLS, that's not a very meaningful distinction, is it? Either you have the key material or you don't.</p>", "time": "2023-09-28T19:25:17Z"}, {"author": "Eric Rescorla", "text": "<p>As I said, it's a technicality.</p>", "time": "2023-09-28T19:25:24Z"}, {"author": "Konrad Kohbrok", "text": "<p>There is no notion of consent in MLS, is there? I agree that it makes sense in the context of MIMI.</p>", "time": "2023-09-28T19:25:44Z"}, {"author": "Benjamin Beurdouche", "text": "<p>It is a lawyer thing more than a technical thing.</p>", "time": "2023-09-28T19:26:01Z"}, {"author": "Benjamin Beurdouche", "text": "<p>If I add you to my anarchist group, did you accept?</p>", "time": "2023-09-28T19:26:17Z"}, {"author": "Benjamin Beurdouche", "text": "<p>I will probably propose unconfirmed member vs confirmed member</p>", "time": "2023-09-28T19:27:08Z"}, {"author": "Konrad Kohbrok", "text": "<p>Ah, so you're saying that we need to be careful what we say in the MLS arch doc, because people might get the wrong idea?</p>", "time": "2023-09-28T19:27:23Z"}, {"author": "Benjamin Beurdouche", "text": "<p>correct</p>", "time": "2023-09-28T19:27:33Z"}, {"author": "Konrad Kohbrok", "text": "<p>I understand. I still think that it should be punted to the application layer. That's worked well in the past ;-)<br>\nBut I guess we're off MIMI topic here.</p>", "time": "2023-09-28T19:28:11Z"}, {"author": "Eric Rescorla", "text": "<p>What I meant when I said \"this is a technicality\" is merely \"if we are going to refer to someone being an inactive or active in the room and that's contingent on MLS membership\" then we need to be very sharp on what MLS membership is</p>", "time": "2023-09-28T19:31:48Z"}, {"author": "Eric Rescorla", "text": "<p>Is it possible that one could be in a state where it is not possible to verify that someone was removed</p>", "time": "2023-09-28T19:32:15Z"}, {"author": "Eric Rescorla", "text": "<p>I do want to respond to this point</p>", "time": "2023-09-28T19:32:55Z"}, {"author": "Konrad Kohbrok", "text": "<p>Good point. I for one was not aware that MLS \"membership\" depended on some form of consent.</p>", "time": "2023-09-28T19:33:13Z"}, {"author": "Benjamin Beurdouche", "text": "<p><a href=\"https://github.com/mlswg/mls-architecture/issues/205\">https://github.com/mlswg/mls-architecture/issues/205</a></p>", "time": "2023-09-28T19:33:45Z"}, {"author": "Eric Rescorla", "text": "<p>I feel like this diagram is not intended as a factual statement\"</p>", "time": "2023-09-28T19:38:07Z"}, {"author": "Eric Rescorla", "text": "<p>Fundamentally these systems just aren't negotiation systems the same way that (say) TLS is in that it's not like counterparties negotiate on an interaction by interaction basis which protocol they use</p>", "time": "2023-09-28T19:45:51Z"}, {"author": "Konrad Kohbrok", "text": "<p>Fair enough. I meant more in the way that MLS is \"negotiating\" via KeyPackages, etc.</p>", "time": "2023-09-28T19:46:33Z"}, {"author": "Eric Rescorla", "text": "<p>@Konrad: 100%</p>", "time": "2023-09-28T19:46:42Z"}, {"author": "Tim Geoghegan", "text": "<p>+1 to ekr, especially since all these docs are in the same WG</p>", "time": "2023-09-28T19:50:26Z"}, {"author": "Daniel Gillmor", "text": "<p>+1 for re-combining documents where we can</p>", "time": "2023-09-28T19:50:33Z"}, {"author": "Konrad Kohbrok", "text": "<p>One reason to have at least the DS as a separate document is that it might serve as a blueprint for others who want to use MLS outside the MIMI context, where they might not need any notion of users, but still need a DS to use MLS.</p>", "time": "2023-09-28T19:53:40Z"}, {"author": "Eric Rescorla", "text": "<p>Well, I think they can reference it</p>", "time": "2023-09-28T19:54:55Z"}, {"author": "Benjamin Beurdouche", "text": "<p>Ideally having something self contained for platforms to implement would be nice if we can instead of having to look into some beast document. The DS is actually a good example.</p>", "time": "2023-09-28T19:58:26Z"}, {"author": "Eric Rescorla", "text": "<p>I'm sensitive to the notion of composability, but I'm just saying trying to read all these drafts together is very difficult.</p>", "time": "2023-09-28T19:58:37Z"}, {"author": "Eric Rescorla", "text": "<p>And the priority of this WG is to deliver something implementable</p>", "time": "2023-09-28T19:59:03Z"}, {"author": "Benjamin Beurdouche", "text": "<p>Fair enough, we can always let the apps implement the MIMI layer.</p>", "time": "2023-09-28T19:59:36Z"}, {"author": "Benjamin Beurdouche", "text": "<p>Hmm, that's not possible at the MLS layer right ?</p>", "time": "2023-09-28T20:04:27Z"}, {"author": "Richard Barnes", "text": "<p>i suspect it's just a convenience / hygeine thing, avoiding things getting wedged</p>", "time": "2023-09-28T20:06:55Z"}, {"author": "Richard Barnes", "text": "<p>... in exactly the way Konrad says</p>", "time": "2023-09-28T20:07:21Z"}, {"author": "Eric Rescorla", "text": "<p>Thank you.</p>", "time": "2023-09-28T20:07:21Z"}, {"author": "Benjamin Beurdouche", "text": "<p>The intuition is that the policy to apply commits at the hub is the same as any other client</p>", "time": "2023-09-28T20:07:34Z"}, {"author": "Benjamin Beurdouche", "text": "<p>Otherwise you can diverge</p>", "time": "2023-09-28T20:07:43Z"}, {"author": "Benjamin Beurdouche", "text": "<p>But there is nothing else it can do than DOS the group</p>", "time": "2023-09-28T20:07:55Z"}, {"author": "Richard Barnes", "text": "<p>one way to view the enforcement -- the hub should reject commits that it knows the clients will reject.  if clients are enforcing that the commit confirms the current state and a commit doesn't, then the hub should reject it.</p>", "time": "2023-09-28T20:09:17Z"}, {"author": "Eric Rescorla", "text": "<p>Naively the cut I would want to draw is \"The hub is responsible for ensuring that correctly functioning clients converge on a state\"</p>", "time": "2023-09-28T20:09:46Z"}, {"author": "Eric Rescorla", "text": "<p>But \"The hub is not responsible for preventing group partition if a client is malicious\"</p>", "time": "2023-09-28T20:09:55Z"}, {"author": "Konrad Kohbrok", "text": "<p>+1</p>", "time": "2023-09-28T20:10:03Z"}, {"author": "Richard Barnes", "text": "<p>sgtm</p>", "time": "2023-09-28T20:10:12Z"}, {"author": "Daniel Gillmor", "text": "<p>seems to me that the more the hub is obliged to keep some sort of state that is synchronized with client state, the more the metadata of the conversation will leak to the hub.  i'd say that means we want to minimzethe amount of enforcement that happens on the hub.</p>", "time": "2023-09-28T20:10:23Z"}, {"author": "Eric Rescorla", "text": "<p>My loose memory is that we need the hub to do <em>some</em> enforcement to ensure correct function</p>", "time": "2023-09-28T20:11:23Z"}, {"author": "Andrew Morgan", "text": "<p>note that if you hit page-down in pdf.js, you'll go one slide down without needing to scroll manually</p>", "time": "2023-09-28T20:11:43Z"}, {"author": "Konrad Kohbrok", "text": "<p>The mute button is greyed out :-(</p>", "time": "2023-09-28T20:11:44Z"}, {"author": "Richard Barnes", "text": "<p>@EKR note that the scheme here is a lot like what you proposed, where the hub proposes to remove Bob's devices</p>", "time": "2023-09-28T20:11:50Z"}, {"author": "Konrad Kohbrok", "text": "<p>Please go ahead!</p>", "time": "2023-09-28T20:11:53Z"}, {"author": "Eric Rescorla", "text": "<p>@Richard: thanks</p>", "time": "2023-09-28T20:12:07Z"}, {"author": "Basel Alnaffouri", "text": "<p>I think as a guiding principle we probably want to have simpler clients and do more heavy lifting on the server (in secure/private way)</p>", "time": "2023-09-28T20:12:58Z"}, {"author": "Richard Barnes", "text": "<p>well, also this WG is only chartered to do S2S stuff :)</p>", "time": "2023-09-28T20:13:44Z"}, {"author": "Basel Alnaffouri", "text": "<p><span aria-label=\"grinning\" class=\"emoji emoji-1f600\" role=\"img\" title=\"grinning\">:grinning:</span></p>", "time": "2023-09-28T20:13:58Z"}, {"author": "Richard Barnes", "text": "<p>the phrase \"jump ball\" always comes to mind when it's not clear who should commit, but i wasn't sure if the reference would be clear <a href=\"https://en.wikipedia.org/wiki/Jump_ball\">https://en.wikipedia.org/wiki/Jump_ball</a></p>", "time": "2023-09-28T20:17:15Z"}, {"author": "Daniel Gillmor", "text": "<p>thanks for the clarification for those of us who aren't up to speed on sportsball, <span class=\"user-mention\" data-user-id=\"526\">@Richard Barnes</span></p>", "time": "2023-09-28T20:18:16Z"}, {"author": "Benjamin Beurdouche", "text": "<p>The case of two concurrent Remove+Commit is interesting since one will be rejected. In that case the Server should propose and enforce that someone else commits the second removal in the next epoch.</p>", "time": "2023-09-28T20:19:08Z"}, {"author": "Richard Barnes", "text": "<p>The fact that MLS Proposals are specific to an epoch is both inevitable and unfortunate</p>", "time": "2023-09-28T20:21:16Z"}, {"author": "Daniel Gillmor", "text": "<p>can someone remind me why the hub needs to know the difference between the participant and their specific clients?  (especially for participants who are not native/local to the hub)</p>", "time": "2023-09-28T20:22:44Z"}, {"author": "Eric Rescorla", "text": "<blockquote>\n<p>The fact that MLS Proposals are specific to an epoch is both inevitable and unfortunateNot with that attitude</p>\n</blockquote>", "time": "2023-09-28T20:22:57Z"}, {"author": "Eric Rescorla", "text": "<blockquote>\n<p>The fact that MLS Proposals are specific to an epoch is both inevitable and unfortunateNot with that attitue</p>\n</blockquote>", "time": "2023-09-28T20:23:13Z"}, {"author": "Eric Rescorla", "text": "<p>Argh</p>", "time": "2023-09-28T20:23:17Z"}, {"author": "Daniel Gillmor", "text": "<p>go back to IRC, ekr</p>", "time": "2023-09-28T20:23:37Z"}, {"author": "Travis Ralston", "text": "<p>@Daniel: it's largely to allow a \"user with zero clients, but doesn't want to go find Alice to get them to send another invite\" case.</p>", "time": "2023-09-28T20:24:37Z"}, {"author": "Travis Ralston", "text": "<p>The hub doesn't realistically need to track the clients themselves: just ensuring at time of Add that the associated user is participating in the room.</p>", "time": "2023-09-28T20:25:24Z"}, {"author": "Daniel Gillmor", "text": "<p><span class=\"user-mention\" data-user-id=\"1025\">@Travis Ralston</span> it seems like overkill for this particular purpose</p>", "time": "2023-09-28T20:25:55Z"}, {"author": "Konrad Kohbrok", "text": "<p><span class=\"user-mention silent\" data-user-id=\"637\">Daniel Gillmor</span> <a href=\"#narrow/stream/354-mimi/topic/ietf-interim/near/89751\">said</a>:</p>\n<blockquote>\n<p>can someone remind me why the hub needs to know the difference between the participant and their specific clients?  (especially for participants who are not native/local to the hub)</p>\n</blockquote>\n<p>MLS is interested in what clients (represented by their key material) are in the room and needs to track them for authentication purposes and to allow external commits, i.e. to allow new clients to add themselves to the group.</p>", "time": "2023-09-28T20:26:13Z"}, {"author": "Konrad Kohbrok", "text": "<p>There are means to reduce the metadata footprint, though. We plan on proposing those once we have established agreement on generally how the flows work.</p>", "time": "2023-09-28T20:26:47Z"}, {"author": "Eric Rescorla", "text": "<p>I wasn't on the design team!</p>", "time": "2023-09-28T20:28:07Z"}, {"author": "Daniel Gillmor", "text": "<p>My understanding of MLS is that it is flexible enough to have \"server responsible separating out the different clients for a given participant\" as well as \"participants manage their own clients without knowledge from the server\".  i want to make sure that latter approach is still maintained in MIMI, because i don't think the servers need to know in principle about different clients.</p>", "time": "2023-09-28T20:28:50Z"}, {"author": "Eric Rescorla", "text": "<p>Like if I were the person writing, it would be one document!</p>", "time": "2023-09-28T20:29:05Z"}, {"author": "Daniel Gillmor", "text": "<p>multiple documents is harder from the consumer view as well, not just the producer as Tim describes.</p>", "time": "2023-09-28T20:30:24Z"}, {"author": "Daniel Gillmor", "text": "<p>generic MLS DS seems distinct from a DS that is capable of handling the federated DS.</p>", "time": "2023-09-28T20:31:58Z"}, {"author": "Richard Barnes", "text": "<p>fwiw, people refer to the TLS presentation syntax all the time, without it being separate from RFC 8446</p>", "time": "2023-09-28T20:32:25Z"}, {"author": "Benjamin Beurdouche", "text": "<p>I don't particularly care about the number of docs as long as we have a selfcontained section for the DS</p>", "time": "2023-09-28T20:33:07Z"}, {"author": "Daniel Gillmor", "text": "<p><span class=\"user-mention\" data-user-id=\"2083\">@Benjamin Beurdouche</span> agreed that there should be a clear section delimiter <span aria-label=\"stuck out tongue\" class=\"emoji emoji-1f61b\" role=\"img\" title=\"stuck out tongue\">:stuck_out_tongue:</span></p>", "time": "2023-09-28T20:33:47Z"}, {"author": "Eric Rescorla", "text": "<p>I think the standard here is \"Can I make sense of the document I am reading with only a cursory understanding of the other document\"</p>", "time": "2023-09-28T20:34:01Z"}, {"author": "Eric Rescorla", "text": "<p>Which, BTW, is <em>also</em> the standard for componentization in a single document. I.e., clear interfaces, information hiding, etc.</p>", "time": "2023-09-28T20:34:34Z"}, {"author": "Eric Rescorla", "text": "<p>+1 to Alissa</p>", "time": "2023-09-28T20:34:44Z"}, {"author": "Eric Rescorla", "text": "<p>I also agree with this.</p>", "time": "2023-09-28T20:35:55Z"}, {"author": "Konrad Kohbrok", "text": "<p><span class=\"user-mention silent\" data-user-id=\"637\">Daniel Gillmor</span> <a href=\"#narrow/stream/354-mimi/topic/ietf-interim/near/89765\">said</a>:</p>\n<blockquote>\n<p>My understanding of MLS is that it is flexible enough to have \"server responsible separating out the different clients for a given participant\" as well as \"participants manage their own clients without knowledge from the server\".  i want to make sure that latter approach is still maintained in MIMI, because i don't think the servers need to know in principle about different clients.</p>\n</blockquote>\n<p>Yes, there is a way to \"hide\" a user's clients underneath a leaf s.t. each leaf represents a user rather than a client. But as far as I'm aware, there are some kinks to be ironed out for that to work. I'm not aware of anyone using MLS using that particular way of representing users. I'm not against it, but we should be sure that we know it actually works and how. Specifically, clients need to synchronize their state very well. But they might have to do synchronize user-level state anyway.</p>", "time": "2023-09-28T20:37:05Z"}, {"author": "Richard Barnes", "text": "<p>200-page document, here we come!</p>", "time": "2023-09-28T20:38:01Z"}, {"author": "Richard Barnes", "text": "<p>homework for the DT: read RFC 9000 / 9001</p>", "time": "2023-09-28T20:38:48Z"}, {"author": "Travis Ralston", "text": "<p>(tabs have been opened)</p>", "time": "2023-09-28T20:39:33Z"}, {"author": "Richard Barnes", "text": "<p>salient \"TLS-shaped hole\" section: <a href=\"https://bifurcation.github.io/qrfc/rfcs/rfc9000.html#section-7\">https://bifurcation.github.io/qrfc/rfcs/rfc9000.html#section-7</a></p>", "time": "2023-09-28T20:39:33Z"}, {"author": "Richard Barnes", "text": "<p>fun fact, the K in EKR is for \"Kombine all the documents\"</p>", "time": "2023-09-28T20:41:54Z"}, {"author": "Eric Rescorla", "text": "<p>It kind of is</p>", "time": "2023-09-28T20:42:58Z"}, {"author": "Benjamin Beurdouche", "text": "<p>All good <span aria-label=\"+1\" class=\"emoji emoji-1f44d\" role=\"img\" title=\"+1\">:+1:</span></p>", "time": "2023-09-28T20:44:02Z"}, {"author": "Richard Barnes", "text": "<p>that schedule sgtm</p>", "time": "2023-09-28T20:44:40Z"}, {"author": "Benjamin Beurdouche", "text": "<p>Bye</p>", "time": "2023-09-28T20:45:29Z"}, {"author": "Daniel Gillmor", "text": "<p>thanks all!  bye</p>", "time": "2023-09-28T20:45:31Z"}]