Fortunately, MUC is easy to implement. https://wiki.xmpp.org/web/XEP-Remarks/XEP-0045:_Multi-User_Chat#Matching_Your_Reflected_Message
Martinhas joined
uchas joined
ralphmhas left
Alexhas joined
goffi
Do we have any XEP/way to do item ordering beside using a specific element (e.g. <order>123</order>) and a MAM query?
goffi
I don't think so, but just in case I've missed something
lskdjfhas joined
ralphmhas joined
Martinhas left
Martinhas joined
uchas joined
sonnyhas joined
jubalhhas left
suzyohas joined
blablahas left
Martinhas left
jubalhhas joined
jubalhhas left
jubalhhas joined
Martinhas joined
blablahas left
ralphmhas left
jubalhhas joined
jubalhhas joined
ralphmhas left
uchas joined
uchas joined
blablahas joined
moparisthebesthas joined
jubalhhas left
uchas joined
uchas joined
Guushas left
Guushas left
Alexhas left
jerehas joined
uchas joined
nycohas left
ralphmhas joined
vanitasvitaehas left
uchas joined
remkohas joined
jubalhhas joined
nycohas left
vanitasvitaehas joined
jubalhhas left
uchas joined
lskdjfhas joined
lskdjfhas joined
ralphmhas joined
uchas joined
Dave Cridlandhas left
ralphmhas left
zinidhas left
la|r|mahas joined
SaltyBoneshas joined
ralphmhas left
suzyohas joined
Martinhas left
lumihas joined
boothj5has joined
Alexhas joined
efrithas left
boothj5has left
remkohas left
jerehas joined
lumihas left
ralphmhas left
lskdjfhas joined
moparisthebesthas joined
remkohas joined
hanneshas joined
moparisthebesthas joined
remkohas left
lskdjfhas joined
remkohas joined
jonaswhas left
Martinhas joined
sonnyhas joined
brahas left
brahas joined
mimi89999has joined
ralphmhas joined
sonnyhas joined
tuxhas left
Alexhas left
Alexhas joined
Martinhas left
moparisthebesthas left
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas left
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
Tobiashas joined
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas left
sonnyhas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
Tobiashas joined
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas left
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas joined
Martinhas left
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas left
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas left
brahas left
brahas joined
Martinhas joined
blablahas joined
jjrhhas left
moparisthebesthas left
moparisthebesthas left
moparisthebesthas left
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas left
moparisthebesthas left
moparisthebesthas left
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas left
moparisthebesthas joined
moparisthebesthas joined
moparisthebesthas left
moparisthebesthas left
moparisthebesthas left
zinidhas left
jjrhhas left
SaltyBones
So, why is it that a group chat with jabber doesn't give me the messages that I missed when I come back online?
SaltyBones
It seems there are some related mechanisms in place.
MattJ
There are two mechanisms for that
SaltyBones
And of course for some sorts of chat rooms in doesn't really make sense...
moparisthebest
SaltyBones: it does if mam is enabled on the muc
jonasw
moparisthebest, and the client supports it.
SaltyBones
*and you don't want crypto*
jonasw
thatâs false
moparisthebest
SaltyBones: nope works fine with crypto
jonasw
OMEMO should work fine with archives
SaltyBones
That's what I heard. :)
jerehas joined
jonasw
OTR wonât
moparisthebest
Also pgp
jonasw
gpg too, yes
moparisthebest
Otr doesn't work in mucs at all
SaltyBones
jonasw, but then the archive will contain the decrypted messages or something, right?
moparisthebest
No
jonasw
SaltyBones, no
SaltyBones
Hm.
SaltyBones
So what you're saying is: Everything should totally work. :)
jonasw
iff both client and server support MAM
moparisthebest
and it's enabled on the muc
SaltyBones
I am currently trying to figure that out.
SaltyBones
But neither gajim nor conversations seem to be very helpful. :)
zinid
And what about forward secrecy?
SaltyBones
zinid, probably broken, cannot imagine any other way
moparisthebest
no, that depends on encryption method
moparisthebest
none with pgp, works as expected with omemo
SaltyBones
are there any clients that can display if a muc has mam or is that serverside info only?
moparisthebest
that is, each device can decrypt each message exactly once
moparisthebest
clients know, not sure if any display
zinid
How will you decode a message from archive encrypted with forward secrecy?
moparisthebest
(they have to know to know whether they can mam query or not)
SaltyBones
wait is mam not the same as server side history?
moparisthebest
as MattJ said there are 2 methods so depending what you mean probably not
moparisthebest
you want mam though, the other isn't guaranteed to be complete
SaltyBones
there are two MAMs?
jjrhhas left
Ge0rG
who wants forward secrecy anyway?
Ge0rG
it's even worse than cryptographic deniability.
moparisthebest
dissidents so I hear
suzyohas joined
SaltyBones
Ge0rG, almost nobody but a lot of people want it on principle, including me. :)
moparisthebest
forward secrecy is actually useful unlike deniability imho
Ge0rG
SaltyBones: a lot of people have no clue.
MattJ
SaltyBones, method #1 is a simple cache of recent messages in the room. The MUC tends to send it to you by default, though clients can (and do) filter it
SaltyBones, it's almost universal, but doesn't actually need client support - the recent messages are always just sent to you (most servers default to 20 or so)
SaltyBones
Ge0rG, I would agree if I thought that one of them was good enough.
moparisthebest
s/NSA/GOV_OF_YOUR_CHOICE_HERE/
MattJ
SaltyBones, which is enough to get some context on an ongoing conversation
SaltyBones
MattJ, yeah, that mechanism is pretty obvious in gajim...
Ge0rG
OMEMO is bad because you can't bind a cryptographic identity to a JID in any strong way.
MattJ
SaltyBones, there's a second method (MAM), which requires explicit client and server (i.e. MUC server) support, and supports fine-grained sync, ensuring that you can achieve a full sync of all messages that happened while you were out of the room
jonasw
MattJ, unless the server keeps CSN and other useless things in the history ;-)
MattJ
One client's useless is another client's treasure
SaltyBones
Ge0rG, I think that article is mostly crap but I would be interested in discussing. ;)
jjrhhas left
moparisthebest
> Ge0rG: OMEMO is bad because you can't bind a cryptographic identity to a JID in any strong way.
moparisthebest
uh and what ways do allow you to do that?
moparisthebest
I think, none actually
Ge0rG
moparisthebest: things like TOX, where your ID is your public key
moparisthebest
that's fine if you are talking about an entirely different protocol
Zash
Something something triangle
moparisthebest
that eats battery and is unsuitable for mobile
SaltyBones
IBE requires a trusted third party which I find generally undesirable
Ge0rG
Zash: something something blockchain
SaltyBones
BLOCKCHAIN!
SaltyBones
The funny thing is, blockchain derivates are actually usefull for PKI
moparisthebest
I can feel my synergies aligning already, lets get an IPO and some angel funding asap
SaltyBones
Hm...I am totally in the mood for discussing everything but I have to get some more work done. :/
jjrhhas left
zinid
moparisthebest: I think it's possible to avoid battery consumption with help from very simple relays
let me fix that title s/The Creator of Signal Has a Plan to Fix Cryptocurrency/The Creator of Signal Has a Plan to Finish Construction of His Money Fort/
lskdjfhas left
SaltyBones
cryptocurrencies are bullshit :p
zinid
moparisthebest: but I'm told he is a hero, you're just jealous
lskdjfhas left
lskdjfhas left
lskdjfhas left
suzyohas joined
lskdjfhas left
Ge0rG
moparisthebest, SaltyBones: seriously though: OMEMO is attempting to work around the problem that JIDs are not cryptographic entities, and there will never be a perfect alignment of them.
Ge0rG
if you want E2EE without meta data leaks, XMPP is not the right tool. Have a look at something like https://briarproject.org/ instead.
Ge0rG
If you want XMPP, just give up hiding your metadata and accept reality.
Ge0rG
And once you've realized that, the added benefit of E2EE is minuscule.
valohas joined
SaltyBones
The benefit of e2e is miniscule when there is metadata leakage?
SaltyBones
I completely disagree. :)
lskdjfhas left
ralphmhas left
zinidhas left
jubalhhas joined
jonasw
Iâd argue that the benefit of e2ee should be miniscule since ideally we had friends&family servers exclusively
MattJ
Agreed
MattJ
I don't think it's completely pointless in any scenario, but trusted servers buys you a whole lot more
SaltyBones
That's an interesting point...
SouL
This will not be the case, at least in a not-soon future D:
MattJ
On the other hand some people really value anonymity, which goes in completely the other direction - we should just have an internet full of servers, random JIDs and use E2EE for identity proof and encryption
SaltyBones
Given that most murders are committed by spouses or whatever maybe friends and family servers should be less trusted. :)
Ge0rG
SaltyBones: so if I know my wife's password and lock screen pattern, she's still safe, right?
tuxhas joined
Ge0rG
also related: https://dymaxion.org/essays/usecases.html
SaltyBones
It's not a good idea to argue against securing one part of a system because another part of the system might be insecure. If your wife has an affair maybe she will change her lock screen pattern...
vanitasvitaehas joined
Ge0rG
SaltyBones: in that case I can beat her up. (playing the devil's advocate here, obviously)
Ge0rG
SaltyBones: also I can still see which JIDs are on her roster.
Ge0rG
"So, who is sexy_patrick69@swissjabber.li?"
SaltyBones
Come on, these are all incredibly weak arguments that you can immediately invalidate by yourself.
ralphmhas joined
SaltyBones
This is not a useful discussion. :)
SaltyBones
How do you know you have to beat her up? Just because she changed her lock screen?
Ge0rG
SaltyBones: sure
SaltyBones
Maybe the guy she s seeing is a colleague from work and it s perfectly normal for them to talk
Ge0rG
SaltyBones: how much do you know about abusive partners?
SaltyBones
Abusive partners are not the only adversaries and abusive partners probably also come in all sorts of degrees
Ge0rG
SaltyBones: so you don't even know the attacker model you want protection from?
SaltyBones
I trust my co-admin not to read my messages I still prefer that he simply cannot when I use omemo
boothj5has joined
SouL
SaltyBones, yeah, I agree.
SouL
Even if I don't use OMEMO myself
SaltyBones
I have a sufficiently good idea of my attacker model but it's not formally defined ;)
Ge0rG
SaltyBones: I don't say that E2EE is generally bad. I merely say that it has a cost attached, and that cost is inability to restore archives, various synchronisation problems (why can't I receive messages) and multi-client woes.
Ge0rG
SaltyBones: so for the general audience, OMEMO does more harm than good.
SaltyBones
and I also like that even if my server gets owned I can still send account data and scans of legal documents to people without worrying where they might end up
Ge0rG
And I even haven't started to talk about the two incompatible flavors of OMEMO.
SaltyBones
Ge0rG, oh I completely agree that omemo isn't great but omemo is an implementation of e2e not the definition.
vanitasvitaehas left
vanitasvitaehas left
SaltyBones
Actually, gpg probably has much better usability whilst also protecting against the attacker model we just discussed
Ge0rG
SaltyBones: don't even get me started about the usability of GPG
SaltyBones
:D
SamWhited
"gpg probably has much better usability" is not something anyone has ever said with a straight face before :)
SaltyBones
only people who haven't tried ;D
Ge0rG
SaltyBones: so you haven't tried? Noted.
Ge0rG
"But I want OMEMO in the browser, and I want to access my archive!"
SaltyBones
No, GPG is death by key management...
Ge0rG
SaltyBones: OMEMO is also death by key management..
Ge0rG
or death by `adb backup`, which is even worse.
SaltyBones
Ge0rG, signal however, is not
SaltyBones
and actually omemo works okay
SaltyBones
you have to consider that even if you don't ever validate anything it still protects agains passive adversaries
ralphmhas joined
vanitasvitaehas joined
Ge0rG
SaltyBones: against passive adversaries who have admin access to your server and want to know more than just your metadata.
Ge0rG
and then it's just a command or two to add another key to your identity.
uchas joined
SaltyBones
Yes, and a warning will pop-up that you can chose to not ignore and also they cannot read the history...
Ge0rG
My problem really is that with OMEMO, you have 3+x identities: your JID, your username, and a number of device keys.✎
SaltyBones
And that's total shit, I agree.
Ge0rG
My problem really is that with OMEMO, you have 3+x identities: your JID, your display name, and a number of device keys. ✏
Ge0rG
and those aren't linked in any cryptographically significant way.
SaltyBones
Actually, I don't care much about JID and username...but there should only be one key
SaltyBones
Hm..what kind of linking are you thinking about?
MattJ
One key => key management becomes a real pain
MattJ
In the real world, people lose their phones
Zash
One key per what?
Ge0rG
MattJ: yeah, but what about key cross-signing. If I buy a new device before the previous one is broken, I sign my new key with the old one and my friends auto-trust it
SaltyBones
yeah, that
MattJ
if
lumihas joined
Ge0rG
Is the JID encoded in the public key cert?
Ge0rG
or can I use the same OMEMO key on different JIDs?
Zash
What we need is more X.509!
Ge0rG
what's my identity? The JID or the pubkey?
SaltyBones
Zash, wait here I'll get my pitch fork.
MattJ
On the one hand you're talking about making XMPP easier to use. On the other hand you're talking about asking family members to perform key cross-signing
Zash
What is identity?
MattJ
Your identity is the JID, simple
vanitasvitaehas left
vanitasvitaehas left
MattJ
So just keep it that way
SaltyBones
gngngngn
SaltyBones
what
SaltyBones
stop
SaltyBones
the identity is the key!
SaltyBones
:)
Ge0rG
MattJ: "scan your old device with your new device to auto-configure your jabbers"
MattJ
Ge0rG, the old device is broken, stolen or lost
Holger
Ge0rG: I do WHAT?!
Holger
Ge0rG: Can't we just use WhatsApp please?! That just works!!!
SaltyBones
Yeah, or just get a pop-up: "You want to add a new device. Please confirm!" on the old phone
Ge0rG
SaltyBones: yeah
MattJ
90% of the phone upgrades in my family have been in response to breakage, loss or theft - not planned upgrades
jubalhhas joined
SaltyBones
MattJ, that's fine then just let them also create a new key....
Ge0rG
MattJ: now we are back to the attacker model. Are we talking about trust-by-default in the general population or about secure messaging for dissidents?
MattJ
I'm talking about the general population
vanitasvitaehas joined
Ge0rG
"Where's my chat history???"
MattJ
Niche markets will help themselves, they always do
Ge0rG
E2EE just doesn't work for family chats.
Zash
Trust in the server, the server is good.
suzyohas left
Ge0rG
that's the next thing. The server can completely strip out the OMEMO identification on your comms. What then?
vanitasvitaehas left
vanitasvitaehas left
MattJ
Use a different server and/or don't communicate
MattJ
This is not a novel problem
MattJ
Routers can (and in some cases do) drop TLS handshake packets
Ge0rG
Yes, but OMEMO isn't mandatory on XMPP :P
jonasw
Ge0rG, e2ee seems to work for whatsapp tohugh
SaltyBones
And signal
SaltyBones
and for my bloody family even omemo works ;)
Holger
Because no verification. And no PEP!
SaltyBones
of course I just tell them to shut up when they complain ;)
vanitasvitaehas joined
Kev
jonasw: "works" is relative, though.
jonasw
Kev, inhowfar?
SaltyBones
Holger, PEP?
Kev
In as much as the whatsapp multiaccount story is far worse than XMPP's, and I hate losing messages, and etc.
Holger
SaltyBones: Well OMEMO uses PEP for distribution of pubkeys, and that keeps falling apart.
https://www.reddit.com/r/whatsapp/comments/68sgmx/google_drive_backup_encrypted/dh1w7j3/ "This is where you are wrong"
ralphmhas joined
Zash
-xkcd 538
Guushas left
pep.
heh, I had never seen the alt comment
Zash
Bunneh: Meh
Zash
Where is your wrench now?
lovetoxhas left
Guushas left
Alexhas joined
hanneshas left
hanneshas joined
leonardbadihas joined
lskdjfhas joined
leonardbadihas left
lskdjfhas joined
suzyohas left
suzyohas joined
mimi89999has joined
sezuanhas joined
ralphmhas joined
waqashas joined
waqashas left
sezuanhas left
sezuanhas joined
waqashas joined
goffihas left
suzyohas joined
lskdjfhas joined
blablahas left
Dave Cridlandhas left
Dave Cridlandhas left
jjrhhas left
ralphmhas joined
jjrhhas left
valohas left
valohas joined
ralphmhas joined
moparisthebest
even in the case of trusted servers, I guess all servers are secure and all software well configured? that's not exactly the impression I get
moparisthebest
my xmpp server is in a closet in my house that I'm pretty confident is physically secure, and I like to consider myself competent enough security-wise that no one can hack in, but everyone makes mistakes, and no doubt some software has bugs
moparisthebest
e2e protects against that too
moparisthebest
even just the passive BTBV variants
ralphmhas joined
Holger
Eww all your stanzas pass through a closet?
moparisthebest
they do :)
Holger
Oh the dictionary says "closet" != "toilet".
Holger
Ah the dictionary says there's both meanings :-)
Holger
The German "Klosett" is always a toilet.
moparisthebest
hmm never heard of that meaning, language, fun stuff
moparisthebest
I mean where you'd normally hang clothes in a bedroom :)
Holger
That's ok then :-)
jjrhhas left
moparisthebest
though, an xmpp server inside a toilet would be EXTRA physically secure
moparisthebest
I mean, you can grab it, if you want to, be my guest
zinid
moparisthebest, secure enough if you have no friends
jjrhhas left
jjrhhas left
lumihas left
lumihas joined
moparisthebest
I just got around to reading your "Please Stop Writing Secure Message Tools" blog thing Ge0rG https://dymaxion.org/essays/pleasestop.html
moparisthebest
but it seems like, don't write them unless they check all these boxes
moparisthebest
and xmpp checks every single box
moparisthebest
except it could maybe deal with a little less metadata, but even then, it's scattered all over vs in one silo
lovetoxhas joined
ralphmhas joined
Zash
something something threat model
lskdjfhas left
moparisthebest
that crap where if the NSA isn't after you you don't need encryption is just that, crap, everyone needs privacy
lskdjfhas left
moparisthebest
and if it's a little less user friendly than not encrypted, work on that, see letsencrypt for example
zinid
moparisthebest, do those people dumping their lives in instagram need privacy too?
zinid
privacy is a broad term
moparisthebest
sure, you choose what you want public or not
lskdjfhas left
pep.
zinid, maybe they live double lives, and one of them is protecting the other by sending crap on instagram!!
zinid
who knows
Dave Cridlandhas left
jubalhhas joined
Holger
moparisthebest: If someone says he doesn't like Bananas that's crap, everyone does!
jubalhhas joined
jubalhhas joined
Dave Cridlandhas left
Dave Cridlandhas joined
moparisthebest
that would be a preference vs a statement of fact I guess
Holger
Sure sure.
zinid
"everyone needs privacy" sounds like a statement of fact ;)
zinid
the problem is in definition of privacy
moparisthebest
it's identical to the TLS vs plaintext debate honestly
moparisthebest
and that seems fairly settled nowadays that everything needs to be TLS doesn't it?
Holger
It's not identical in the case of TLS for c2s.
moparisthebest
a valid argument is/was that TLS is harder than plaintext, has useability problems etc etc
Holger
At least not when using PLAIN SASL.
zinid
moparisthebest, TLS is slow shit, I use plain http wherever possible
moparisthebest
haha but you are wrong
moparisthebest
TLS is faster in many cases nowadays
Zash
It's not "everyone needs privacy", it's
> No one shall be subjected to arbitrary interference with his privacy, family, home or correspondence, nor to attacks upon his honour and reputation. Everyone has the right to the protection of the law against such interference or attacks.
how much memory does the rest of a connection take?
moparisthebest
what % is 50kb
zinid
it's highly depends on usage, roster size and so on
zinid
*it
SamWhited
That does seem high; 50k of overhead per connection is much more than I've ever seen; not sure what that could be.
moparisthebest
if a non-tls session takes 1mb of ram and tls adds 50kb, that's 0.09% increase?
zinid
I think he counted wrong, I'm trying to calculate now and I get numbers far above 90Gb if I do 2Mx50kb
moparisthebest
yea that's true
zinid
anyway, 50-100kb is a typical overhead I see in stress tests, so...
Zash
https://www.zash.se/prosody-graphs.html .... is that like 15kb/conn for tls? I might have forgotten how to read those graphs
Zash
Dat CPU usage tho
moparisthebest
but really the % matters, if that's only a 0.09% increase well...
zinid
moparisthebest, that's not 0.09% increase, in production we offload TLS because huge RAM machines are expensive, so we split the RAM between the machines
Holger
First random Google hit:
> OpenSSL tends to allocate about 50KB of memÂory for each connection.
https://www.imperialviolet.org/2010/06/25/overclocking-ssl.html
zinid
why would we do this crazy shit if there was negligible overhead?
Zash
Something something release buffers?
moparisthebest
how much do you allocate for a regular XMPP connection though is what I'm wondering
zinid
Zash, the option is set
moparisthebest
my hunch is it's so much more than 50kb that 50kb is negligble
Holger
Isn't that option for freeing memory on *idle* connections?
jubalhhas joined
jubalhhas joined
jubalhhas joined
zinid
moparisthebest, for empty roster c2s it's no more than 50kb in fact
Holger
moparisthebest: On the two servers I'm involved with it's about 300k, but those are with all bells and whistles enabled (MAM and whatnot), so it's probably less elsewhere.
zinid
It's really hard to say, because there is a crazy garbage collector in Erlang doing some weird shit
lskdjfhas left
zinid
not to mention how great openssl is when you try to connect 2M :)
zinid
you need to patch it, or else it will spend most of the time in locks on a machine with a lot of CPUs