Ge0rGbut maybe a full history of all abandoned networks will be less funny of a read than I imagine
Ge0rGOh, https://waher.se/IoTGateway/SimpleIoTClient.md is back up
moparisthebestha I didn't know that "The term "Instant Messenger" is a service mark of Time Warner and may not be used in software not affiliated with AOL in the United States."
stevenwtf is that true??
MattJThings like that are why we ended up with the term "roster", when at the time everyone was talking about your "buddy list(TM)" (e.g. https://www.bizjournals.com/sanjose/stories/1999/05/31/story7.html )
Ge0rGAlso why we ended up with XMPP.
ZashTrademarks are why we can't have nice things
Ge0rGtrademarks don't expire, right?
ZashNo they don't
MattJi.e. if you register a trademark you have to renew it after ~10y
Zash> This search session has expired. Please start a search session again by clicking on the TRADEMARK icon, if you wish to continue.
Ge0rGIt's just the "BUDDY LIST" result, it's still registered to AOL
ZashYou also have to actively protect it as well, right? Ie go after people using it without permission and stuff.
ZashHm, but then I'm not sure which is whic hof ™ and ®
pep.https://slashdot.org/comments.pl?sid=15607&cid=2048734 "clients are quite easy to write", fast forward 20 years later
Andrew NenakhovClients are indeed easy to write. It's just good clients that aren't.
lovetoxalso 20 years ago there was no MAM and Carbons no phones etc
lovetoxno encryption, so it was basically, download the roster, and send a message
Steve Killehas left
Steve Killehas left
Steve Killehas joined
goffiHi, happy new year everybody. In XEP-0060, if I have an item with id "abc", I publish an other item with it "def", then I publish a new item with the first id ("abc") which will overwrite it. if I then request items with max=1, should I get "abc" or "def" ? § 7.1.2 says that item is overwritten and § 6.5.7 says that items returned are the "most recent". So I guess it should be "abc", right ?
pep.I think that question was also raised by edhelas a few months ago(?) I don't know if there's a clear answer
ZashIf you think about it as publishing a new item that just happens to also delete an older item, then it makes sense that the 'abc' one is the last item you get
GuusI'd argue, without looking at the xep, that something that's overwritten is not 'new'
goffiI got the same 2 thoughts, so it's confusing because 2 options could make sense.
goffithe XEPs states that the mosts recents items must be returned, so even if you overwritte, the "abc" one is the more recent.
GuusThe identity is not new
goffiyes, but the item is
GuusIs it new, or is the old one changed?
ZashI prefer the way where I don't have to throw out all the append-only assumptions from everywhere
stevenSo I've coined this idea a few times the last few weeks in random MUCs, but I'm not sure how to approach taking it further than an idea:
I (and I'm sure others) have been thinking quite a bit about OMEMO key fetching and how easy it is for server admins to just serve extra keys for contacts etc. I don't think there is a single client that does not automatically accept all keys by default. (Conversations has an "expert setting" that lets you turn of accepting new keys. I think Gajim has something similar.)
I've been thinking about PGP to help improve this. My personal main objection to using PGP for encrypted messaging is that I prefer to not have my private key on my device at all times (in unencrypted form) like you need for XEP-0374. Instead, one could sign OMEMO keys with a PGP key to just have to do this once for each new device. In theory, this would not need to have your PGP key on a mobile device, for example. Since you could verify the OMEMO key fingerprint on on your desktop and then sign it there.
On the mobile device you only need to import your own public key and signed public keys of your contacts.
pep.Hah, Syndace ^
stevenNot sure I'm missing something that makes this hard to use. Also I don't know if PGP is still used at all.
oliwhy not encrypt the messages with pgp?
pep.We've been discussing with Syndace a bit and trying to find solutions about your concerns on the server being able to inject devices etc.
stevenoli, because this needs the pgp private key to be available at all times
stevenOMEMO keys are single-use-case and can easily be replaced when confiscated
pep.The idea with PGP is that the key would be stored on the server and the client can unlock it, but that has other pitfalls
stevenA PGP key is kinda like your ultimate beacon of trust 😀 We use it a lot at work f.e. for automatic deployments etc
stevenSo I never have my laptop or phone have it unencrypted and need to enter a lenghty passphrase for every use.
pep.(Well technically it could be done any way, but that's what I hear the most, that makes the most sense UX-wise)
stevenI don't think it's nice to type a passphrase for every message 😀
pep.Not for every message
Wiktorsteven: good idea, but this would require OpenKeychain on Andoird to verify the signature and/or sign the statement
stevenpep., I don't know how XEP-0374 works, tbh. Does it just use one master key all the time? Or does it use ephemeral subkeys or so?
stevenWiktor, to verify yes. But to sign your own mobile key, you could do manual fingerprint verification with a desktop client like Gajim and sign your mobile's OMEMO key there and send the signature to the server. (Just thinking out loud here, though.)
pep.You choose? I don't know it that much either, I'm definitely not the reference here. I also know other people have concerns about 374, but I'm waiting on them to tell because I don't have the knowledge to back these claims
WiktorYeah, actually Conversations already has similar code but using X.509 instead of OpenPGP
pep.steven: so you want cross-signing basically right
pep.I think the way you're trying to implement it is going a bit far
stevenpep., yeah well it's also possible of course to sign on the mobile client
stevenstill you'd have to enter the passphrase only once
steveninstead of very often/every message?
SyndaceI saw you proposing that before but I didn't see a way to do that in a way which is not overkill.
SyndaceBut now that I think about it again you could probably do it without too much complexity
SyndaceYou might not even need GPG itself, rather a master key of any soet
SyndaceBut I'm busy right now, I'll take some time to think about it later/tomorrow
stevenSyndace, well, "a master key of any sort" isn't much better. The thing is that quite some people already have some form of web of trust with PGP keys and verified identities. (The company I work for is fully remote so at our annual offsite we do a quick PGP key signing ritual. From then on we can f.e. introduce a new coworker by having him meet a single colleague that signs his key.)
stevenBasically PGP is identity-based while OMEMO is device-based. So to tie a device to an identity, it makes sense to use PGP I think.
Ge0rGsteven: PGP is a can of worms, especially but not exclusively regarding UX. Not even hardcore cryptowhores figure out all of its quirks
Ge0rGI like the matrix idea of a master olm(?) key.
stevenGe0rG, true. But it's an accepted default.
stevenGe0rG, many people say the same about XMPP 😀
Ge0rGNo need to mix different crypto libraries with each other.
> Ge0rG, true. But it's an accepted default.
Nope. S/MIME is the accepted default.
Ge0rGThe PGP web of trust is just silly. I've verified your identity, therefore I trust you to verify other people's identities?
Ge0rGI think that PGP has a place in xmpp indeed, but without OMEMO then.
Ge0rGJust have an account key, exchange it with your friends, share it between all your devices, problem solved. You leak your key? All of your chat history is compromised.
Ge0rGYou lose your device? Lucky you if you still have the key / recovery password. Then you'll regain all your logs.
Ge0rGOMEMO trust management is just madness. What do you do if you verified one of your friend's devices, but none of your own other device keys?
Ge0rGIt barely works as long as you have exactly one device and it doesn't get lost, stolen or broken.
stevenGe0rG, I don't think you have much experience using OMEMO..
stevenI have the Conversations "paranoid mode" where I have to manually approve new device keys and it works fine.
Andrew NenakhovI don't like the whole idea of omemo/otr. The only improvement in it over gpg is PFS but too many drawbacks. And gpg is good enough to stop any realistic state wide spying efforts. So PFS is needed to those who REALLY has reasons not to be spied and MitMed and traffic decrypted, and we know all too well who these people are. :-/
stevenWhen I first start chatting with a new contact, I will just blindly hit "ok" (I'm not gonna call them to spell it out for me), but after that when I get sent new device keys, I just ask them first if they started using another client.
stevenSo yeah in theory the admin could still hijack the key on the moment someone starts using a new client. That's why I'd prefer to just have my contacts' PGP keys and have them sign their OMEMO keys.
Andrew NenakhovSo, which keys could admin hijack?
> I have the Conversations "paranoid mode"
> When I first start chatting with a new contact, I will just blindly hit "ok" (I'm not gonna call them to spell it out for me)
I rest my case.
Andrew NenakhovIf he hijacks your public keys, then what?
stevenAndrew Nenakhov, the admin could install a module that whenever a user adds a new device, it broadcasts a different key instead that it owns itself. Because I described that I would only ask "did you start using a new client?" without also verifying the fingerprint.
stevenIdeally I just send them the fingerprint using their first OMEMO key to verify.
Ge0rGAndrew Nenakhov: the server Admin could add another device key to your account, or replace your key with his own.
stevenAndrew Nenakhov, he could but only if he's already doing that at the moment of the first encounter.
Ge0rGsteven: how do you ask your friends whether they got a new device? With the old key? Via SMS?
stevenGe0rG, with the old key(s).
stevenUsually it's someone that opened the webchat for the first time or downloads a desktop client or so.
Ge0rGsteven: so if they lost their phone, you are out of luck.
stevenSo yeah I should ask them to verify the fingerprint. But I don't have such highly sensitive conversations yet. Just thinking that in case I have, I'd prefer PGP instead of manually messing with fingerprints.
stevenGe0rG, if they lost their phone and have never used a desktop/web client, yes.
moparisthebesthow do you verify their PGP key though?
> in case I have, I'd prefer PGP instead of manually messing with fingerprints.
Now with *that* I can totally agree.
steven(Also note that I'm the server admin of the server my social network is on, so I should have been targeted by a hacker for shady things to happen.)
stevenmoparisthebest, well, you only have to do that once. And you could delegate that to people you trust to do it thoroughly.
stevenAlso for higher-profile people, their PGP keys might be publicly known and signed by a bunch of people.
Andrew Nenakhovsteven, that what fingerprints check is for, so you should verify your contact fingerprints via an independent means of communication.
WiktorYou already specify your own PGP key in C, one can check if your contacts PGP key is signed by you
stevenAndrew Nenakhov, or with a signature of an authority you trust.
Andrew NenakhovCool. So this authority could be compromised and all your struggle and pain with encryption will be for nothing.
Ge0rGThere is no trusted authority on PGP. This is what S/MIME is for...
stevenLike say some guy from The Guardian contacts you. He uses an OMEMO key. Most likely, his PGP key will be known, online on several websites and signed by people from other newspapers etc. If he signs the OMEMO key with that PGP key that I can find in multiple places with multiple signatures from other keys I can find in even more independent places, I would personally rest assured.
Andrew NenakhovIt never ceases to amaze me how people want security and privacy but not the inconveniences that mandatory come with them.
stevenAndrew Nenakhov, there's several levels of privacy of course. Of course I'd like the conversations with my friends to be private from petty hackers and bad admins getting government orders. But I know that these conversations are not safe from high-profile cyberspecialists. That's fine. If I'm about to become a whistleblower and talking with a newspaper, I'll up my security and me tolerace to the nuisances that come with it.
pep.> Ge0rG> There is no trusted authority on PGP. This is what S/MIME is for...
Trusting that authority is another story. DANE anybody? Does S/MIME even work with that
Ge0rGsteven: you've heard of https://evil32.com/ already?
Ge0rGpep.: there was a proposal
Ge0rGI'd love to have an implementation of that.
Ge0rGpep.: but not just the fingerprint, store the whole certificate in DNS
steven> steven: you've heard of https://evil32.com/ already?
Ge0rG, hmm, I don't use the shortIDs personally. Not sure how, but my `gpg --list-keys` prints full IDs.
Ge0rGsteven: the point is that the key of your journalist is fake, together with all the keys that signed it
Wiktorsteven: defaults of gpg change over time, no automated system should use short fingerprints (OpenKeychain follows this)
WiktorGe0rG: not necessarily, first of all legacy sigs used long key ids not short 32 bit but for years the full fingerprint is embedded in the signature
Ge0rGWhy isn't anyone complaining that HTTP upload to a MUC exposes your domain to all muc participants?
Link MauveGe0rG, because Conversations displays a picture instead of an URL.
Ge0rGWiktor: Chance fifty fifty
moparisthebestyour avatar exposes things too
Link MauveSo people are not aware of that.
moparisthebestprobably a bunch of other things
Link Mauvemoparisthebest, uh, no, it doesn’t.
moparisthebestin a different way, it lets me tell 'dwd' in one channel is the same as 'Dave' in another channel etc etc
moparisthebestif I happen to have the same person in my roster, that too
Ge0rGEverybody should use the same avatar!
WiktorGe0rG: this is 4 years old: https://gnupg-devel.gnupg.narkive.com/Z0EFUBU7/issuer-fingerprint-was-vanity-keys
Ge0rGWiktor: I'm speaking about obtaining a key out of band
Wiktor> Wiktor: Chance fifty fifty
> Wiktor: I'm speaking about obtaining a key out of band
WiktorOpenKeychain uses qr codes, full fingerprint
Ge0rGBut you can't scan the fingerprint of some journalist
WiktorThis one uses full fingerprint https://theintercept.com/staff/micah-lee/
oliGe0rG: i complain all the time (in my head)
oliregarding http upload
lovetoxsteven, 1. Gajim doesnt blind trust, but every single user tells me i should implement it
2. you just exchange one verification for another, you dont want to verify the omemo fingerprint, and trust an pgp signature on it, but next you dont want to verify the pgp fingerprint, then you just trust some names on a list that maybe work in a newspaper
lovetoxthats not how it works, if you want to be really secure, you have to put in the work
lovetoxthere is no magic solution how a computer can tell you that you can absolutly be sure that on the other end is Human X
lovetoxat somepoint, someone has to check this in the real world
Wiktorlovetox, I think steven mentioned that their company's employees verify their PGP fingerprints in real world
lovetoxand then the next thing you have to realize is, that clients are not developed for 1% paranoid people
lovetoxWiktor, yeah so they know how this works, then they can do it with omemo fingerprints
lovetoxall of your pgp signing theorys are way to complex to implement, its already hard to get omemo as is working in a usable way
Wiktoryes, but for PGP once you sign a key the person can rotate subkeys freely and the trust is retained
Wiktorwith OMEMO there is no master key to hold device keys together
Wiktorjust clarifying what's the scope, I actually had an idea how to implement it outside clients using PGP but without modification from XMPP client developers using verified XMPP URIs (what basically is in the OMEMO QR code)
lovetoxAnd? do you see anyone using pgp in xmpp?
> with OMEMO there is no master key to hold device keys together
And you have O(n*m) manual key management overhead
Wiktorpgp has two components, identity verification and signing/encryption, pgp for xmpp as is today is used only for signing/encryption, not identity verification
Ge0rGWhere n is your devices, and m the other users.
Wiktoryou already do M when you verify your users OMEMO keys?
Wiktorthe problem is you need to repeat it for every new device key
lovetoxThats the whole story of signal, no master key, its a feature that enables you easily add new devices
lovetoxthat is what makes it usable for the masses
lovetoxnow you want to "secure" that down to pgp levels
lovetoxjust use pgp
Wiktorthere is no way to use pgp identity verification in xmpp currently
Wiktorpgp fingerprints are transferred in band in all pgp xeps I've seen
lovetoxxmpp is just a transport protocol, everything pgp offers you can use
lovetoxits like email in that sense, it transports the encrypted payload, you can verify around that with keyservers or whatever crazy construct you think up
Wiktorverification of pgp keys can be done with QR codes like with OMEMO and with OpenKeychain, nothing uses that so bascially pgp in xmpp as it is now relies on server telling the fingerprints to clients, there is no paranoid mode like in OMEMO
Wiktorbut I think what steven proposed (as far as I understood) would be to use pgp keys that already have trust between them (bidirectional signing) to sign OMEMO device keys
lovetoxand how do i get the public key to verify the sign?
lovetoxdont tell me from a server :D
Wiktoryou get the fingerprint by scanning QR code, this is identical to OMEMO