-
Ge0rG
Fortunately, MUC is easy to implement. https://wiki.xmpp.org/web/XEP-Remarks/XEP-0045:_Multi-User_Chat#Matching_Your_Reflected_Message
-
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
-
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. :)
-
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?
-
Ge0rG
who wants forward secrecy anyway?
-
Ge0rG
it's even worse than cryptographic deniability.
-
moparisthebest
dissidents so I hear
-
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
-
Ge0rG
https://dymaxion.org/essays/pleasestop.html - "Please Stop Writing Secure Messaging Tools"
-
moparisthebest
point being it works fine with muc + mam
-
moparisthebest
Ge0rG, clearly written by NSA plant
-
MattJ
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. ;)
-
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. :/
-
zinid
moparisthebest: I think it's possible to avoid battery consumption with help from very simple relays
-
moparisthebest
I call those xmpp servers :P
-
moparisthebest
though, not simple
-
zinid
moparisthebest: "simple"
-
Ge0rG
https://www.wired.com/story/mobilecoin-cryptocurrency/
-
moparisthebest
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/
-
SaltyBones
cryptocurrencies are bullshit :p
-
zinid
moparisthebest: but I'm told he is a hero, you're just jealous
-
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.
-
SaltyBones
The benefit of e2e is miniscule when there is metadata leakage?
-
SaltyBones
I completely disagree. :)
-
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?
-
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...
-
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.
-
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
-
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.
-
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
-
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.
-
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
-
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
-
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
-
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
-
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.
-
Ge0rG
that's the next thing. The server can completely strip out the OMEMO identification on your comms. What then?
-
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 ;)
-
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.
-
Ge0rG
jonasw: https://www.reddit.com/r/whatsapp/comments/68sgmx/google_drive_backup_encrypted/
-
Kev
(Plus the recent vulnerabilities in it)
-
jonasw
whatsapp loses messages?
-
jonasw
that’s new to me
-
Kev
It does when you lose your phone.
-
SaltyBones
hehehe
-
pep.
https://www.reddit.com/r/whatsapp/comments/68sgmx/google_drive_backup_encrypted/dh1w7j3/ "This is where you are wrong"
-
Zash
-xkcd 538
-
pep.
heh, I had never seen the alt comment
-
Zash
Bunneh: Meh
-
Zash
Where is your wrench now?
-
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
-
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 :-)
-
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
-
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
-
Zash
something something threat model
-
moparisthebest
that crap where if the NSA isn't after you you don't need encryption is just that, crap, everyone needs privacy
-
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
-
pep.
zinid, maybe they live double lives, and one of them is protecting the other by sending crap on instagram!!
-
zinid
who knows
-
Holger
moparisthebest: If someone says he doesn't like Bananas that's crap, everyone does!
-
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.
-
Zash
It's a human right. Whatever the of privacy is.✎ -
zinid
moparisthebest, sure, you know better
-
Zash
It's a human right. Whatever the definition of privacy is. ✏
-
moparisthebest
zinid, don't take my word for it https://www.troyhunt.com/i-wanna-go-fast-https-massive-speed-advantage/ https://istlsfastyet.com/
-
moparisthebest
plain http today is slower than https, there is no debate about it
-
zinid
that's why I use http on some sites, I'm just blind and cannot see how https is much faster
-
Zash
but is it fast enough to counteract the ever increasing bloat?
-
Zash
... no, it just encourages more bloat
-
Zash
can't have fast things
-
moparisthebest
says a guy who enjoys shuffling XML streams around... :)
-
Zash
pretty sure my messages aren't in the order of megabytes
-
SamWhited
neither are my webpages; they're still ~20% faster if I'm using TLS.
-
waqas
I've been browsing with JS disabled, or selectively first-party-only enabled, and it has been a pretty great experience.
-
zinid
my 1-hour poezio's XML log is 300kb, horrible bloat
-
SamWhited
Oh, TLS won't speed anything up on XMPP, but it's not slow either. Basicaly negligable.
-
zinid
and here come servers where you need twice RAM to support TLS connections
-
SamWhited
You really don't
-
SamWhited
Machines are optimized for it these days; TLS's extra resource use is basically negligable unless you have a much bigger server than I think you do.
-
moparisthebest
even google, which has servers way bigger than any xmpp deployment, says it's essentially no overhead
-
zinid
ever tried to connect 1M of XMPP sessions?
-
moparisthebest
and that was years ago
-
zinid
with TLS or without
-
moparisthebest
TLS
-
Zash
You are both wrong. More than negligable, but not double memory consumption.
-
Zash
TLS handshakes are quite the CPU hog too.
-
zinid
moparisthebest, because HTTP doesn't have long-lived connections
-
moparisthebest
the long lived part really is 0 overhead
-
zinid
yeah, sure ;)
-
moparisthebest
any overhead is just on setup, so from that perspective, http over TLS is more overhead than xmpp over TLS
-
moparisthebest
and since https isn't a problem, xmpps certainly isn't
-
zinid
even nginx author says it's about 50k-100k overhead per connection
-
moparisthebest
zinid, I mean you were right in 2005 for sure, maybe even 2008 or whatever, whenever aes-ni became a thing
-
zinid
there is a recent issue in our bugtracker where a guy complaining about huge memory consumption when TLS is enabled
-
zinid
30Gb overhead
-
zinid
on 1M connections
-
zinid
but, possible, 30Gb is nothing for google
-
moparisthebest
is that a public bugtracker? sounds interesting
-
zinid
sure
-
zinid
it's on github issues, but I'm too lazy to find it, anyway, Holger will not let me lie, he laughed at the issue too ;)
-
SamWhited
What's the total memory usage?
-
moparisthebest
iirc when google forced https for gmail the usage increase was like 1.2% and that was pre-http2
-
moparisthebest
can't actually find that right now...
-
zinid
SamWhited, 70Gb or so, I don't remember actually
-
moparisthebest
https://github.com/processone/ejabberd/issues/2062
-
moparisthebest
is that it?
-
zinid
yes
-
moparisthebest
impressive
-
moparisthebest
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 memory 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?
-
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
-
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