ralphmI'm having this discussion on E2E encryption with michael on Twitter, but what he describes about key exchange sounds like a bug. https://twitter.com/mickael/status/1093128804728557570
ralphmmickael
Tobiashas joined
ralphmThis isn't inherent to the protocol, is it?
lskdjfhas joined
jonas’does it use multi-item PEP?
dwdNo, the key exchange stuff is pretty rubbish.
ZashPEP and MAM on login adds a bit, not sure how significant it is
Tobiashas joined
Tobiashas left
dwdThis isn't helped by the key service really needing more smarts than just a big PEP blob anyway.
ZashMulti-item was less commonly supported by servers before, so would have been a pain to deploy if it was required
Tobiashas left
ralphmdwd: but is it as bad as mickael describes?
Tobiashas left
Tobiashas left
pep.ralphm, bundles are only needed on session init
rtq3has left
pep.So they get fetched at that time
pep.But session init doesn't happen often
rtq3has joined
Danielhas joined
dwdralphm, Well, I don't know about how loaded blatting out a big blob actually makes a server.
ralphmpep.: Yeah, that was my thought, too.
jonas’I think the increased message size in MAM is probably more worrisome
pep.Well that's an issue with e2ee at all right?
jonas’that affects bandwidths (memory, disk and network) and disk storage
jonas’pep., yes, that’s kind of the point
ralphmjonas’: well, I am not surprised about encrypted stuff being bigger in general
pep.k
KevDepends if it's hitting disk for PEP each time or something, I imagine.
ZashThe real problem is that everything is hitting the disk for way more stanzas now than in the past
dwdKev, And if not, the memory pressure is probably greatly increased.
Kevdwd: Quite.
ralphmBut this isn't a property of which protocol we use for e2e, is it?
KevMessage size? No. Key exchange details? Yes.
ralphmThe increase in MAM storage, I mean.
Kev(Or ln -s No Not\ Entirely)
ralphmRight, if the key exchange is suboptimal, then that's a thing we can look into. I'm surprised that mickael says the impact would be 'huge'.
dwdralphm, Yes, it can be. MLS, for instance, would be hugely more efficient in bandwidth terms where OMEMO is used within MUCs, for example.
dwdralphm, But I would personally just treat OMEMO as the experiment it is, and await MLS patiently, and do things properly then.
ralphmI don't think we are talking about group chats at this point, though.
pep.If you don't have to reencrypt for each device, certainly yes :)
goffidwd: I forgot to ask you about that by the way, is there any progress and where can we follow them?
pep.ralphm, for 1:1 you still encrypt for each of your recipient's devices
goffi(mls)
pep.With OMEMO
dwdgoffi, MLS has an IETF working group, and is taking time - lots of effort in the low-level crypto.
ralphmpep.: sure, but what's this about 100s of PreKeys?
dwdralphm, That's a property of most of these algorithms, including MLS. Each device must upload a bunch of prekeys, and a new session takes one.
pep.I'm not exactly sure about prekeys, maybe Syndace can chime in, and why we need 100. I guess that's when people want to start a session with you, and how often you need to renew them
pep.(renew them > the prekeys)
ZashWhat happens if two sessions are started using the same prekey?
dwdralphm, My sketch of a XEP for MLS, for instance, says that servers provide a keying service and hand out a single prekey for each device on demand.
KevAlthough even 'having 100 prekeys' doesn't necessitate our current mechanism.
KevRight, that'd do it.
dwdZash, Nothing - in principle. But it makes the cryptanalysis much harder.
pep.Zash, that happens regularly, because we don't have reliable message delivery. So some clients will use the same prekey until they get an ACK from the other side
ralphm(for reference, the WG is here: https://datatracker.ietf.org/wg/mls/)
dwdralphm, Thanks.
dwdralphm, Note that for each session, the requester will grab all the prekeys, pick a set (one from each device), and then use them. On successful session start, the called device then removes the set from the prekey blob and re-uploads. This new bundle is then pulled by each device.
Daniel> ralphm, My sketch of a XEP for MLS, for instance, says that servers provide a keying service and hand out a single prekey for each device on demand.
This is probably the 'proper' solution. For omemo we deliberately decided against an omemo component in favor of faster adoption. But learning about the limitations of PEP and how fast we can role out components if we need to (http upload) this is one of the regrettable features of omemo.
DanielOr not that much regrettable but rather 'lessons learned'
dwdDaniel, For sure - and I would note that this is a fine design if treated as an experiment.
Yagizahas joined
ralphmdwd: sure, but how often does one have a new session? That's still not a common thing, is it?
dwdralphm, Every new conversation.
pep.dwd, really?
pep.Is it some security thing I don't understand, or is it a limitation, or?
Zashpep.: What thing?
pep.what what
dwdpep., I would think so. The ratcheting means you can re-use a session for lengthy periods, but you'd need to store a fair chunk of cryptographically-sensitive state, so I'd think you'd discard that after a period of inactivity in a conversation and start anew later.
Ge0rGhas joined
ralphmDaniel: when do sessions expire in Conversations?
dwdpep., That said, I've not looked at what OMEMO implementations actually do. The spec more or less says "use libsignal", so it's hard to tell.
pep.I would assume in OMEMO session initiation is not something that happens often, judging by how easy it is to lose messages when negociating a new one. If the other side starts a new session and drops the old one, and I don't, I'll send a message and they won't be able to read it.
Zashpep.: Cryptosystems usually need something like a 3-way handshake. As I understand it, prekeys are the first step in that. (Is that the "what"?)
Danielralphm: they don't
ralphmDaniel: so in Conversations, a session between two users doesn't change keys, until you add/remove devices, or explicitly want to use a new key?
DanielA session is something that exists between devices. So adding a new device will create an additional session and not change something about the existing ones
DanielBut the ratchet for each session is of course moved forward on every received message
ralphmright, I'm trying to understand what the actual traffic behaviour is, with respect to our current key exchange, and whether this is worse in some implementations than others
SyndaceUgh not reading for a day and 500 messages with a lot about OMEMO >.<
Danielralphm: regarding the Twitter?
ralphmyeah
ZashSyndace: Enjoy your FOMO :)
pep.Syndace, stop slacking off!
DanielThis is I assume about the prekeys
ralphmI Slack off all the time, I call it market research, or work, depending who's asking.
SeveHaha
pep.:D
DanielSo on login due to broken pep a client doesn't know if the prekey list on the server is up to date and will update it
DanielWhich as I just mentioned on Twitter is something one could probably fix now that pep isn't broken
ralphmso without session resumption (XMPP session, not OMEMO), this might be often
DanielThat often
Danielralphm: yes
labdsfhas joined
lumihas joined
j.rhas left
j.rhas joined
mimi89999has joined
ThibGhas left
ThibGhas joined
Andrew Nenakhovhas left
architekthas joined
goffihas joined
MattJhas joined
Andrew Nenakhovhas left
lhas joined
mimi89999has joined
Yagizahas joined
goffihas joined
rtq3has left
rtq3has joined
Andrew Nenakhovhas left
mimi89999has joined
grumpyhas joined
grumpyhas joined
karoshihas joined
goffihas joined
rtq3has joined
architekthas joined
lhas joined
Ge0rGI wonder why people insist on PFS, deniability and per-device keys. If you just have a per-account key that is shared between your devices, you can have such a simple e2ee scheme.
ZashGe0rG: Because PFS has more marketing behind it and looks better for ültraparanoid cryptonerds :)
Zashmoparisthebest: Also beacuse crypto wasn't hip and cool and buzzword-compatible enough back then
moparisthebestplus it doesn't have signing or replay prevention
ZashSnowden and Facebook scandals does a lot of marketing for magic crypto dust and these last years seem to have been a good time to push this stuff
Zashmoparisthebest: As I said, '27 is awkward.
dwdmoparisthebest, eSessions ticked most boxes, but wasn't ever deployed either.
ZashGajim had it (removed now?)
dwdmoparisthebest, But also, there's RFC 3923, of course.
dwdZash, Yes, indeed. MattJ and I used to fiddle constantly to stop it encrypting as I recall.
dwdnotes that even RFC 3923 had full-stanza encryption.
lorddavidiiihas left
moparisthebesthas left
Andrew Nenakhovhas joined
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
Andrew Nenakhovhas joined
Ge0rGIt looks like xmpp.org is flapping ipv6 again.
Ge0rGIPv4 is also affected.
Ge0rGSometimes it works, sometimes it fails.
404.cityhas left
Danielhas left
jmpmanhas joined
jonas’my monitoring agrees
Ge0rGBut now also my IRCnet fails, so maybe it's a larger issue somewhere in Yurop
Ge0rGhas left
edhelasthe Brexit has strarted
jonas’bad network weather
ZashDun dun duuuun
debaclehas joined
j.rhas joined
j.rhas joined
j.rhas joined
lumihas left
dwdCouncil meeting about to start over there: --> council@muc.xmpp.org
jonas’/correct Council meeting about to start over there: --> xmpp:council@muc.xmpp.org?join
Zash/sudo -u dwd /correct ...
jonas’I can haz sudo XEP?
ZashSASL sorta has it already actually
jonas’yeah, without reconnecting pls
Zashauthz vs authn something something
ZashBut yeah, overwriting other peoples messages ... might have its uses
ZashTho attaching or somesuch might be fine for most of them
lskdjfhas left
Nekithas left
Nekithas joined
lumihas joined
Danielhas joined
peterhas joined
neshtaxmpphas left
neshtaxmpphas left
Danielhas left
Danielhas joined
goffihas joined
!xsf_Martinhas joined
matlaghas left
waqashas joined
lskdjfhas joined
Andrew Nenakhovhas joined
lovetoxhas joined
Nekithas left
debaclehas left
Marandahas joined
Nekithas joined
Danielhas left
Danielhas joined
goffihas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
jmpmanhas joined
Danielhas left
Danielhas joined
lorddavidiiihas joined
goffihas joined
Guushas joined
tahas joined
Danielhas left
Danielhas joined
rionhas left
rionhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
Danielhas left
Danielhas joined
jjrhhas left
jjrhhas joined
valohas left
valohas joined
valohas left
jjrhhas left
jjrhhas joined
Danielhas left
Danielhas joined
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
alameyohas joined
Andrew Nenakhovhas left
Steve Killehas left
Steve Killehas left
pep.has joined
Andrew Nenakhovhas joined
Andrew Nenakhovhas left
valohas joined
Steve Killehas joined
rtq3has joined
valohas left
Andrew Nenakhovhas joined
tuxhas joined
wurstsalathas joined
Marandahas joined
Marandahas joined
MattJhas left
marc_has joined
Alexhas joined
Tobiashas joined
intosihas left
intosihas joined
valohas joined
labdsfhas joined
rtq3has left
rtq3has joined
rtq3has left
rtq3has joined
debaclehas joined
valohas left
Tobiashas joined
404.cityhas joined
equilhas joined
valohas joined
Guushas left
rtq3has left
rtq3has joined
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
j.rhas joined
j.rhas joined
ThibGhas left
ThibGhas joined
Marandahas joined
Zashhas left
lskdjfhas joined
grumpyhas joined
Guushas joined
debaclehas left
mimi89999has left
APachhas left
APachhas joined
labdsfhas left
labdsfhas joined
igoosehas left
rtq3has left
rtq3has joined
Andrew Nenakhovhas left
rionhas joined
rionhas joined
Andrew Nenakhovhas joined
APachhas left
APachhas joined
sezuanhas joined
sezuanhas joined
moparisthebesthas joined
efrithas joined
dwdhas left
rionhas joined
rionhas left
rionhas joined
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
labdsfhas left
mimi89999has joined
frainzhas left
frainzhas joined
!xsf_Martinhas joined
thorstenhas left
labdsfhas joined
flowSo fun question, is the 'by' attribute of stanza errors (RFC 6120 § 8.3.2) guaranteed to be an JID, or can it be an arbitrary string?
flowI am missing the "the JID of" before "the entity" in the paragraph specifying it, just like it is done everywhere else
sezuanhas joined
sezuanhas left
Andrew Nenakhovhas left
Andrew Nenakhovhas joined
thorstenhas joined
Zashflow: Is there any text that suggests that "entity" is equivalent to JID?
flowZash, yes and no, guess it depends on the type of the entity
Ge0rGflow: you don't want to enforce this in the type system, do you?
ZashI thought it was a JID
Ge0rGI'm really excited to get my client crashed by type system exceptions caused by remote entities!
igoosehas joined
ZashMaybe(JID | String)
ZashHave fun
Ge0rGSomeone is going to mess up my bookmarks with a robot face MUC and I'll end up in an endless connect loop.
Link Mauvehas joined
Zashhas left
ThibGhas left
ThibGhas joined
lorddavidiiihas left
labdsfhas left
labdsfhas joined
equilhas left
equilhas joined
lorddavidiiihas joined
Alexhas left
peterhas left
lnjhas left
lnjhas left
lnjhas joined
lnjhas left
lnjhas left
lnjhas joined
Guushas left
Guushas joined
architekthas joined
Guushas left
frainzhas left
frainzhas joined
architekthas left
rtq3has left
rtq3has joined
nycohas left
goffihas joined
Guushas joined
lnjhas left
lnjhas left
lnjhas joined
404.cityhas left
Link Mauvehas left
peterhas joined
Guushas left
Guushas joined
architekthas joined
waqashas left
tuxhas joined
Danielhas left
Danielhas joined
rionIt seems there is an error in https://xmpp.org/extensions/xep-0261.html examples 9, 10. New SID has to be different for second stream but it has to be the same for for <transport> and <open>
Danielhas left
Danielhas joined
lorddavidiiihas left
Nekithas joined
MattJrion, can you post that to the standards@ list?
rionI'll send a pull request with fix
remkohas left
Danielhas left
Danielhas joined
Link Mauvehas joined
Danielhas left
Danielhas joined
grumpyhas left
lovetoxrion, do you mean example 10 has the wrong sid
Guushas left
Guushas joined
rionlovetox: yes
grumpyhas joined
lovetoxshould be bt8a71h6 instead
j.rhas left
lovetoxyeah seems like a copy/paste error
j.rhas joined
rionhttps://github.com/xsf/xeps/pull/755
Danielhas left
Danielhas joined
j.rhas joined
Guushas left
olihas joined
j.rhas left
j.rhas joined
Danielhas left
Danielhas joined
j.rhas left
j.rhas joined
j.rhas left
j.rhas joined
Tobiashas joined
Link MauveDaniel, could you add IPv6 support to conference.siacs.eu please?
architekthas joined
Link MauveI don’t currently have an IPv4 on my server, and it prevents me from joining.
DanielLink Mauve: it's on the todo list
Link MauveGreat, thanks. :)
Link MauveKev, could you do the same with rooms.swift.im please?
j.rhas joined
Zashhas left
j.rhas left
j.rhas joined
Guushas joined
sezuanhas left
lumihas left
lovetoxhas left
rionanother error https://xmpp.org/extensions/xep-0167.html example 50. wrong action.
pep.rion, please PR :)
moparisthebesthas joined
rionhttps://github.com/xsf/xeps/pull/756
pep.thanks o/
pep.has joined
neshtaxmpphas joined
neshtaxmpphas joined
vaulorhas left
rionxep-0167 example 48 probably should include some candidates to <transport> or at least refer to consequent transport-info actions for transport negotiation.