jdev - 2025-05-02


  1. lovetox

    moparisthebest, syncing to the server could be optional which would enable different blocklists on different devices

  2. lovetox

    apart from that, what is the privacy problem for you? blocklists are already since years synced to the server by every client

  3. lovetox

    and more than that, every messagers probably does this, thats the first time i heard someone say that they have a problem with the server knowing who they block

  4. moparisthebest

    > apart from that, what is the privacy problem for you? blocklists are already since years synced to the server by every client Sure, lots of things are sync'd to the server and we need that to decrease not increase. It's "fine" as long as it's made clear to users, but at least consider if you can avoid plaintext. Here can't you only upload one way hashes of the room jid and occupant-id ?

  5. theTedd

    How do you extract your blocking list from a list of hashes?

  6. theTedd

    You'd have to rehash for every occupant and then check against it

  7. moparisthebest

    Once you've joined a room you can tell who you have blocked in that room

  8. singpolyma

    Occupant id is already a hash and server already knows what rooms you're in?

  9. lovetox

    moparisthebest, i make an option to not sync to the server

  10. lovetox

    but i will not inform the user about every bit of data that is sent to its server

  11. lovetox

    we dont do this for bookmarks, mds, user tunes, omemo keys, etc

  12. moparisthebest

    > Occupant id is already a hash and server already knows what rooms you're in? Again, absolutely massive difference between data a server only has temporarily while being used vs must store forever The second is subject to data leaks from backups, law enforcement requests etc etc, the first is not

  13. moparisthebest

    lovetox: so what about hashing...

  14. Trung

    yeah just a hash so the server don't know. the less the server knows the better

  15. Zash

    Trust the server, the server is good. ;)

  16. singpolyma

    It's already a hash

  17. Trung

    the blocking list for muc users on pubsub exists already ? As a hash ?

  18. singpolyma

    No the occupant id is already a hash

  19. Trung

    it's got roomjid which aren't hash

  20. singpolyma

    So we can hash it again but I don't see what that accomplishes

  21. singpolyma

    We already store the roomjid on server in bookmarks that's no change

  22. singpolyma

    I'd even suggest we could store the list of muted occupants in bookmarks as well as an extension πŸ˜‰

  23. theTedd

    I believe the point is that while the server knows who is in which rooms, it doesn't need to know who a user wants to ignore/block

  24. Trung

    yeah there's a big different there……

  25. singpolyma

    Some apps will need it to know that in order to prevent push notifications from being generated, but that's a different concern I suppose

  26. singpolyma

    If we hash the occupant id again it won't hide this info from the server

  27. singpolyma

    Need to encrypt properly if we want that really

  28. Zash

    or a keyed hash

  29. theTedd

    hash(roomjid+occupantid+supersecretextrarandomvalue)

  30. moparisthebest

    > So we can hash it again but I don't see what that accomplishes It accomplishes hiding it from your server and backups and law enforcement requests

  31. theTedd

    Are there laws against blocking someone yet?

  32. singpolyma

    >> So we can hash it again but I don't see what that accomplishes > It accomplishes hiding it from your server and backups and law enforcement requests Doesn't though. That's my point. The server has the same info the client has in this case so if the client can figure out who a hash is so can the server

  33. Trung

    under investigation, all details will be examined. you never know.

  34. Trung

    imagine your mom threatning you to prove to her that dad is not blocking her in the family MUC

  35. Trung

    that's a nightmare already to deal with let alone man of the law come knocking on the door

  36. Zash

    Unsubscribe from Elon Musk and go straight to jail.

  37. moparisthebest

    >> It accomplishes hiding it from your server and backups and law enforcement requests > Doesn't though. That's my point. The server has the same info the client has in this case so if the client can figure out who a hash is so can the server singpolyma: no it doesn't, not stored to disk, only if you are actively joined and it goes out of its way to calculate things

  38. moparisthebest

    > Are there laws against blocking someone yet? What does that have to do with the price of tea in China? Not hashing means a permanent record of some MUCs you've joined are on the server when otherwise they don't have to be, that's enough

  39. lovetox

    > I'd even suggest we could store the list of muted occupants in bookmarks as well as an extension πŸ˜‰ Yeah I should use bookmarks why didn't I think of that

  40. theTedd

    > What does that have to do with the price of tea in China? Not hashing means a permanent record of some MUCs you've joined are on the server when otherwise they don't have to be, that's enough Server logs can already show which MUCs you've joined. And if you're worried about a determined investigation seizing the server then they will necessarily go out of their way to calculate things, so an easily derived hash value isn't much protection.

  41. Trung

    passwords are stored as hash ……

  42. theTedd

    with additional salting

  43. Trung

    and yes, I am using that to say "I don't know your password"

  44. Trung

    officer: Is this suspect blocking the drug dealer in this MUC? me: I have no clue officer.

  45. Trung

    drug dealing is death sentence here btw. things get serious real quick

  46. theTedd

    What does blocking someone (who may coincidentally be a drug dealer) prove? I could be blocking them because they talk nonsense, or even they offer drugs - if anything, it proves I want nothing to do with them

  47. Trung

    you never know. And truly, I never want to know either.

  48. theTedd

    Never use technology - live in the forest - you never know!

  49. Trung

    they want to go through everthing on my server. Sure. They want to look at my dickpic on my phone. Sure. But they can't put a bug in my server coz they want to grep data from this suspect for the next 10 years.

  50. Trung

    the less I know, the better.

  51. theTedd

    Then you should avoid all metadata entirely

  52. dwd

    So, "you never know" is a defensive choice?

  53. Trung

    > the less I know, the better. ↑ this is a defensive choice

  54. Trung

    ignorance is bliss

  55. moparisthebest

    >> What does that have to do with the price of tea in China? Not hashing means a permanent record of some MUCs you've joined are on the server when otherwise they don't have to be, that's enough > Server logs can already show which MUCs you've joined. And if you're worried about a determined investigation seizing the server then they will necessarily go out of their way to calculate things, so an easily derived hash value isn't much protection. Servers certainly shouldn't have these kind of logs

  56. moparisthebest

    There is no defense to storing data that doesn't need stored, it doesn't matter how unimportant you think it might be https://www.schneier.com/blog/archives/2016/03/data_is_a_toxic.html

  57. moparisthebest

    > Then you should avoid all metadata entirely correct, as much as possible, always

  58. lovetox

    i think hashing a block list is https://xkcd.com/538/

  59. lovetox

    if you are living in a corrupt country that has laws to fuck you, no they will not trying to get you on your xmpp blocking list

  60. lovetox

    they usually dont need evidence at all to fuck you, and certainly will not need get data from your server

  61. singpolyma

    Especially since the occupant id already tells you nothing unless you join and once you join you can correlate the hashes anyway

  62. Goot the ticklegoblin!

    What is the use case for this? Is it letting the MUC know who is blocked so that it doesn't send the client messages which are going to be blocked anyway?

  63. moparisthebest

    > i think hashing a block list is https://xkcd.com/538/ It's not though, also not your call but glad you are privileged enough not to worry about these things so far

  64. singpolyma

    No. It's so all your clients can mute the same participants

  65. moparisthebest

    Just making more work for the future when we remove server's ability to see roster and bookmarks ;)

  66. singpolyma

    Though your own server does need to know about the mutes if you rely on push notifications

  67. moparisthebest

    When designing protocols the question is not "why should this be hidden" it's "why shouldn't it be hidden" and only if you can come up with great reasons for the second do you not do the default which is hide it

  68. singpolyma

    I haven't added participant mutes to my push clients yet but that'll be a whole thing I'm sure

  69. singpolyma

    moparisthebest: sure but your proposal would not hide it

  70. singpolyma

    Encrypting would

  71. singpolyma

    Then we need a way to sync a secret around but we might need that anyway

  72. moparisthebest

    so would hashing with a salt

  73. singpolyma

    Sure, same problem with syncing the secret around

  74. moparisthebest

    yep, so an option would be hashing with an optional user provided salt, because without one is still better than not hashing as it requires an active attacker, and not just pulling from backups

  75. lovetox

    i dont think hashing is any good

  76. lovetox

    it makes everything just more complicated

  77. lovetox

    if you want to solve the problem in a generic way, provide a spec to encrypt pubsub content

  78. lovetox

    also hashing simply doesnt work for anything beyond the occupant id

  79. lovetox

    say i want to store the reason why the block was made ..

  80. Goot the ticklegoblin!

    Using data stored in bookmarks seems like it might be the best way to handle this instead of as a pubsub thingy in the MUC itself

  81. Goot the ticklegoblin! hasn't read fully into detail the discussion tho at the ATM moment

  82. lovetox

    i will store it in bookmarks

    πŸ‘ 1
  83. moparisthebest

    > it makes everything just more complicated What's more complicated ?

  84. singpolyma

    > i will store it in bookmarks πŸ‘

  85. lovetox

    do you have an answer to storing additional data beyond the occupant-id, because if not any discussing about hashes is useless

  86. moparisthebest

    what more would you like to store

  87. lovetox

    for example the reason

  88. moparisthebest

    Hash for sure won't work for that, that's even more sensitive to upload plaintext for the server to store though

  89. lovetox

    ok lets tell everyone pubsub is no good anymore, shut it down because we all we do is upload plaintext

  90. lovetox

    ok lets tell everyone pubsub is no good anymore, shut it down because all we do is upload plaintext

  91. moparisthebest

    it's fine, clients can just start encrypting before uploading to it

  92. lovetox

    yes, i agree that would be a generic solution for the problem. I feel positive about implementing it if there ever is a proposal

  93. lovetox

    until then the option in Gajim privacy section "Dont sync with server" will have to do

  94. moparisthebest

    "blocked because he sold me bad drugs" "blocked because he's anti-abortion in this abortion help channel" you can see how some of block reasons these could be sensitive, maybe just don't have them until they can be protected properly

  95. doge

    Omemo encryption for blocking reasons when???

  96. Goot the ticklegoblin!

    While being mindful of what data the client shares with whom is vital, stringent cryptography requirements for basic everyday use cases does increase the barrier to entry for clients attempting to implement the specs

  97. Goot the ticklegoblin!

    One of the neat things about XMPP is how easy it is to implement a working client

  98. singpolyma

    > Omemo encryption for blocking reasons when??? Can't use OMEMO for something like this. But there are several options for encryption that will work

  99. doge

    why not?

  100. lovetox

    because if you want to use it as intended, you can only decrypt data once

  101. doge

    oh right

  102. doge

    pgp encrypted blocklist when???

    ❀️ 2
  103. doge

    although I don't see how you'd trust the server with information on what group chats you join and who you talk to but not with your blocklist

  104. lovetox

    this would work, but there are easier options out there

  105. qy

    > pgp encrypted blocklist when??? ❀️

  106. moparisthebest

    > pgp encrypted blocklist when??? ❀️

  107. moparisthebest

    > although I don't see how you'd trust the server with information on what group chats you join and who you talk to but not with your blocklist right, there are still legacy unencrypted things on the server that need fixed, but that's no reason to keep adding more

  108. singpolyma

    They're all optional. You're free to make a single device only hyper locked down app that stores nothing on server

  109. doge

    single device as in talking to itself only lol?

  110. doge

    the server inevitably knows who you're messaging because how else would it route messages

  111. doge

    onion routing over xmpp when??

  112. singpolyma

    I have some thoughts for onion routing yeah

  113. doge

    Simplex already does that

  114. moparisthebest

    > They're all optional. You're free to make a single device only hyper locked down app that stores nothing on server Why not multi-device everything nice we have now except server doesn't have to store things plaintext ?

  115. Goot the ticklegoblin!

    Some people might be interested in making so-called "legacy" clients that don't implement the complex cryptographic functions they would need to understand the encrypted ciphertext that's stored on the server