jdev - 2023-05-22


  1. antranigv has left

  2. sonny has left

  3. antranigv has joined

  4. sonny has joined

  5. antranigv has left

  6. antranigv has joined

  7. antranigv has left

  8. antranigv has joined

  9. antranigv has left

  10. antranigv has joined

  11. antranigv has left

  12. xnamed has left

  13. techmetx11 has left

  14. Mx2 has left

  15. Mx2 has joined

  16. Mx2 has left

  17. Mx2 has joined

  18. lissine has left

  19. lissine has joined

  20. Yagizа has joined

  21. lissine has left

  22. trollge has left

  23. Trung has joined

  24. atomicwatch has joined

  25. Tobi has joined

  26. Laura has left

  27. mirux has joined

  28. Caesar has joined

  29. Yagizа has left

  30. Yagizа has joined

  31. atomicwatch has left

  32. lissine has joined

  33. atomicwatch has joined

  34. thomaslewis has joined

  35. trollge has joined

  36. tsk has left

  37. thomaslewis has left

  38. Caesar has left

  39. tsk has joined

  40. mirux has left

  41. mirux has joined

  42. Menel has joined

  43. Caesar has joined

  44. lissine has left

  45. thomaslewis has joined

  46. lissine has joined

  47. Tobi_ has joined

  48. Caesar has left

  49. thomaslewis has left

  50. cal0pteryx (wurstsalat) has joined

  51. lissine has left

  52. MSavoritias (fae,ve) has joined

  53. nicoco_ has joined

  54. xnamed has joined

  55. jgart has left

  56. Caesar has joined

  57. nicoco_ has left

  58. marc0s has left

  59. marc0s has joined

  60. Caesar has left

  61. pulkomandy has left

  62. jgart has joined

  63. nicoco_ has joined

  64. trollge has left

  65. trollge has joined

  66. trollge has left

  67. Caesar has joined

  68. jgart has left

  69. trollge has joined

  70. trollge has left

  71. Caesar has left

  72. goffi has joined

  73. kapad has joined

  74. xnamed has left

  75. moparisthebest has left

  76. nicoco_ has left

  77. moparisthebest has joined

  78. moparisthebest has left

  79. Caesar has joined

  80. Trung has left

  81. Trung has joined

  82. lennart has left

  83. moparisthebest has joined

  84. Tobi_ has left

  85. Laura has joined

  86. trollge has joined

  87. Laura has left

  88. Laura has joined

  89. Tobi_ has joined

  90. yvo has left

  91. yvo has joined

  92. paul has left

  93. hearty has joined

  94. antranigv has joined

  95. paul has joined

  96. larma has joined

  97. badlop has joined

  98. marc0s has left

  99. marc0s has joined

  100. Dele Olajide has joined

  101. poliux has left

  102. pulkomandy has joined

  103. Caesar has left

  104. norayr has left

  105. norayr has joined

  106. sonny has left

  107. mirux has left

  108. Kev has joined

  109. Kev has left

  110. reika has joined

  111. norayr has left

  112. norayr has joined

  113. kapad has left

  114. kapad has joined

  115. sonny has joined

  116. mirux has joined

  117. poliux has joined

  118. pulkomandy has left

  119. norayr has left

  120. norayr has joined

  121. Caesar has joined

  122. Menel has left

  123. Menel has joined

  124. pulkomandy has joined

  125. yvo has left

  126. yvo has joined

  127. xnamed has joined

  128. pulkomandy has left

  129. xnamed has left

  130. xnamed has joined

  131. oshn has left

  132. oshn has joined

  133. kapad has left

  134. Caesar has left

  135. lissine has joined

  136. Caesar has joined

  137. lissine has left

  138. lissine has joined

  139. PapaTutuWawa has joined

  140. selurvedu has joined

  141. selurvedu has left

  142. selurvedu has joined

  143. techmetx11 has joined

  144. lissine has left

  145. lissine has joined

  146. lissine has left

  147. lissine has joined

  148. Caesar has left

  149. Caesar has joined

  150. minist3r has left

  151. Menel has left

  152. Menel has joined

  153. nicoco_ has joined

  154. Arne has joined

  155. H3rnand3zzz has joined

  156. Arne has left

  157. H3rnand3zzz

    Hi. Is there any file exchange ways/protocols that use encrypted channels, such as PGP?

  158. Caesar has left

  159. Zash

    Hello H3rnand3zzz. The currently common HTTP upload method should work just fine with PGP, same way it does with OMEMO.

  160. norayr has left

  161. norayr has joined

  162. Zash

    https://xmpp.org/extensions/xep-0454.html

  163. H3rnand3zzz

    Omemo is great. But is there something for PGP?

  164. Zash

    Nothing about it should be specific to OMEMO

  165. H3rnand3zzz

    But the title os "XEP-0454: OMEMO Media sharing"

  166. H3rnand3zzz

    But the title is "XEP-0454: OMEMO Media sharing"

  167. Zash

    The method itself has nothing to do with OMEMO, but of course you must respect the title. :)

  168. Zash

    Mostly it's done that way because of the old version of OMEMO that is used, that can only transport plain text messages.

  169. Zash

    No idea what is the state of methods involving full stanza encryption

  170. H3rnand3zzz

    But if I want to implement some kind of PGP transfer algorithm, how can I do it according to standard? Would it require developing of the proposal?

  171. H3rnand3zzz

    Full stanza encryption would probably require server-side support

  172. Zash

    No

  173. yvo has left

  174. lissine has left

  175. yvo has joined

  176. lennart has joined

  177. Caesar has joined

  178. zhoska has left

  179. zhoska has joined

  180. mirux has left

  181. mirux has joined

  182. mirux has left

  183. atomicwatch has left

  184. mirux has joined

  185. Arne has joined

  186. minist3r has joined

  187. Caesar has left

  188. rubi has left

  189. nicoco_ has left

  190. yvo has left

  191. yvo has joined

  192. techmetx11 has left

  193. H3rnand3zzz

    What would be the most appropriate way to send PGP-encrypted file over XMPP protocol? Ideally, the recipient's client should automatically decrypt the file.

  194. lissine has joined

  195. badlop has left

  196. moparisthebest

    H3rnand3zzz: Conversations just http uploads .pgp files

  197. PapaTutuWawa has left

  198. atomicwatch has joined

  199. lissine has left

  200. nicoco_ has joined

  201. norayr has left

  202. atomicwatch has left

  203. atomicwatch has joined

  204. rubi has joined

  205. antranigv has left

  206. singpolyma has left

  207. mirux has left

  208. singpolyma has joined

  209. atomicwatch has left

  210. Dele Olajide has left

  211. Caesar has joined

  212. nicoco_ has left

  213. antranigv has joined

  214. singpolyma has left

  215. singpolyma has joined

  216. atomicwatch has joined

  217. PapaTutuWawa has joined

  218. jgart has joined

  219. Wojtek has joined

  220. Kev has joined

  221. singpolyma has left

  222. singpolyma has joined

  223. Kev has left

  224. mirux has joined

  225. Dele Olajide has joined

  226. Peter Waher has left

  227. Peter Waher has joined

  228. Wojtek has left

  229. Arne has left

  230. singpolyma has left

  231. singpolyma has joined

  232. atomicwatch has left

  233. Caesar has left

  234. atomicwatch has joined

  235. Wojtek has joined

  236. Arne has joined

  237. Arne has left

  238. pulkomandy has joined

  239. lissine has joined

  240. lissine has left

  241. PapaTutuWawa has left

  242. moparisthebest has left

  243. PapaTutuWawa has joined

  244. atomicwatch has left

  245. moparisthebest has joined

  246. Vaulor has left

  247. Vaulor has joined

  248. snow has joined

  249. spectrum has left

  250. antranigv has left

  251. moparisthebest has left

  252. yvo has left

  253. moparisthebest has joined

  254. yvo has joined

  255. snow has left

  256. spectrum has joined

  257. Wojtek has left

  258. singpolyma has left

  259. singpolyma has joined

  260. xnamed has left

  261. xnamed has joined

  262. xnamed has left

  263. xnamed has joined

  264. snow has joined

  265. spectrum has left

  266. larma has left

  267. kapad has joined

  268. larma has joined

  269. Laura has left

  270. lovetox

    Peter Waher, seems your client which is unknown to me uses sha-256 as hash algo for entity caps

  271. lovetox

    are you the developer of this client?

  272. snow has left

  273. Peter Waher

    yes

  274. lovetox

    any particular reason why you decided on sha-256, when its not mandatory for any client to implement?

  275. mrdoctorwho has left

  276. Arne has joined

  277. Arne has left

  278. larma has left

  279. atomicwatch has joined

  280. Peter Waher

    It is not prohibited, so we chose to use something else than sha-1 (which we consider should be phased out everywhere, if possible, as should md-algorithms). We interpret “MUST implement” in XEP-0115 to mean must support (as recipient of information), not MUST be used when publishing your hash (i.e. the words “An implementation MAY support other algorithms”). Clients should be encouraged to support more modern algorithms in our eyes.

  281. MSavoritias (fae,ve)

    0390 says for sha256

  282. MSavoritias (fae,ve)

    Or we dont follow that?

  283. MSavoritias (fae,ve)

    Mildly interested in whats the current thing here too

  284. Link Mauve

    Peter Waher, I would recommend you to go for it in XEP-0390 (or use an even better algorithm, for instance the faster blake3), but play safe with compatibility in XEP-0115 support.

  285. jonas’

    strictly speaking, https://xmpp.org/extensions/xep-0414.html is the reference for which hash functions to use within XMPP

  286. MSavoritias (fae,ve)

    Thanks 👍

  287. Dele Olajide has left

  288. jonas’

    (and XEP-0300 has a common wire format for transporting hashes and announcing support for hashes, fwiw)

  289. Peter Waher

    XEP-0414 states SHA-1 SHOULD NOT be used, and SHA-256 MUST be supported… But XEP-0414 is also deferred, so I don’t know how much weight it has…

  290. Link Mauve

    jonas’, oh, XEP-0414 still hasn’t been updated for blake3.

  291. MSavoritias (fae,ve)

    Ah yeah 115 says only sha 1

  292. pep.

    Peter Waher, deferred is a lie, it's just that the spec is experimental :)

  293. MSavoritias (fae,ve)

    Which granted thats 390 exists

  294. MSavoritias (fae,ve)

    Which granted thats why 390 exists

  295. lovetox

    Peter Waher, you are right that you are allowed to use anything you want when publishing, its just a weird decision for a protocol extension that is aimed at communicating capabilities to *other* clients, personally i would have chosen something that secures that as many clients as possible can deal with it. Especially as there is no gain in using something like sha256.

  296. MSavoritias (fae,ve)

    Yeah deffered means basically ask to implement imo

  297. pep.

    lovetox, "other clients" can include yourself too

  298. jonas’

    Link Mauve, as they say, patches welcome

  299. Link Mauve

    Sure, will do, I’m just writing other patches for other projects atm.

  300. jonas’

    MSavoritias (fae,ve), no, 390 exists because of collision attacks inherent to '115, the lack of hash agility could've been addressed in a much more simple manner

  301. Peter Waher

    Anyway: What algorithm you support shouldn’t really matter. I guess other clients just match (algorhm, hash) as string comparisons, to be one the safe side (i.e. support new algorithms as they arise), and do not try to decode or regenerate the digests.

  302. singpolyma has left

  303. Peter Waher

    (before they decide to do a service discovery on an entity)

  304. singpolyma has joined

  305. MSavoritias (fae,ve)

    > MSavoritias (fae,ve), no, 390 exists because of collision attacks inherent to '115, the lack of hash agility could've been addressed in a much more simple manner Ah i thought it was the has agility

  306. MSavoritias (fae,ve)

    Noted

  307. pep.

    What's the thing about 300 and 414, is one redundant?

  308. jonas’

    (the agility was part of it, granted, looking back at the motivation section)

  309. jonas’

    pep., no, one is wire format, one is recommendations for which things to actually use

  310. pep.

    Or one updating the other?

  311. pep.

    Ok

  312. jonas’

    pep., they were split from one another so that 300 could advance to Standards Track Stable, while 414 could become Informational Active

  313. pep.

    Ok cool 300 references 414

  314. jonas’

    (and all things can just refer to '414 for hash function recommendations even if they don't or cannot use the '300 wire format for whatever reason)

  315. Link Mauve

    Peter Waher, if a specification hardcodes a single hash in its examples, you can be sure many implementations will only ever support that one hash mechanism.

  316. Peter Waher

    You cannot consider all possible ways developers create bugs on the other hand…

  317. Link Mauve

    This one is a constant.

  318. Caesar has joined

  319. Peter Waher

    where is it defined as a constant?

  320. lovetox

    im not sure what you mean by > and do not try to decode or regenerate the digests. I only except a hash into the cache if i verified that it was correctly computed, and thats why i need to compute it myself from the disco info, this means it depends on the language and ecosystem what hash algos are easily available

  321. lovetox

    im not sure what you mean by > and do not try to decode or regenerate the digests. I only accept a hash into the cache if i verified that it was correctly computed, and thats why i need to compute it myself from the disco info, this means it depends on the language and ecosystem what hash algos are easily available

  322. Link Mauve

    Peter Waher, in human developers I guess.

  323. moparisthebest

    > These recommendations ought to be reviewed yearly by the XMPP Council

  324. moparisthebest

    https://burtrum.org/up/0e49768e-8b47-4c78-bf16-cebbd9b2c0d6/2zo1ki.jpg

  325. jonas’

    moparisthebest, it's not active yet!

  326. pep.

    What are you all waiting for! go make it active :P

  327. Peter Waher

    > i verified that it was correctly computed You cannot determine if it is correctly computed, unless you have the discovery information already (which you try to avoid to get). You can check if it has the correct length, but that would require you to recognize the algorithm used. But remember: The digest is not used to protect the information, just avoid performing a service discovery, similar to ETAG in HTTP, meaning, you perform the service discovery if you don’t recognize the digest from earlier. If it is “correct” or not, is really meaningless, from the receiving end. The point is to perform a new service discovery, only if the digest changes.

  328. jonas’

    Peter Waher, that is one way to use it, but I don't know of any client which implements it that way.

  329. Peter Waher

    (Also, if a client computes it “incorrectly”, but “consistently”, this method would still work.)

  330. jonas’

    The implementations I know have two maps: `jid -> digest` and `digest -> disco#info`. And they only accept entries in the second map after verifying that the digest matches the disco#info.

  331. jonas’

    (and they may persist the second map to disk, even)

  332. Peter Waher

    If you perform a validation of the digest as you say, you should support modern algorithms, btw.

  333. jonas’

    not for '115

  334. jonas’

    where the sha1 is the least of your problems, really

  335. Peter Waher

    anyway, let me know if I do anything incorrectly, that breaks any of the specifications. As I understand it, the use of SHA-256 does not break the specifications. Thanks for the input, good to know how others use the attribute.

  336. lovetox

    Peter Waher, if you dont verify that the hash was computed correctly it would be trivial to poisen your cache

  337. mrdoctorwho has joined

  338. Peter Waher

    lovetox: Not if the cache was implemented as a cache (i.e. limiting number of digests / JID), as a cache should.

  339. moparisthebest

    Only if you share the cache across clients

  340. Peter Waher

    It is allowed to change hash often

  341. jonas’

    moparisthebest, across remote JIDs even

  342. moparisthebest

    Yes sorry that's what I meant

  343. oshn has left

  344. lovetox

    Hm maybe i understand this wrong, you cache a hash per jid? would that make the cache less efficient?

  345. Peter Waher

    Also: You can only introduce new hash values from a JID, if you have access to that account. So a malicious actor injecting hash digests for a JID would have access to the credentials of those accounts. In such cases there are bigger problems.

  346. Peter Waher

    A client can change supported features often, and thus their digests

  347. Caesar has left

  348. Peter Waher

    If your cache is implemented to remember all digests over time, it will grow obviously

  349. lovetox

    i dont see how changing your hash because you change caps is of any relevance to the discussion

  350. Peter Waher

    Needlessly, btw

  351. lovetox

    so did i understand you correctly you save a hash per jid?

  352. Peter Waher

    no

  353. Peter Waher

    I do not save hashes per jid

  354. Peter Waher

    my caches work differently

  355. Peter Waher

    And include time and space considerations

  356. Peter Waher

    Unused elements are purged

  357. oshn has joined

  358. singpolyma has left

  359. singpolyma has joined

  360. lovetox

    so if you query my disco info and i answer with almost no caps, but include the hash of your client, how will your client react to if it receives that hash from another user of your client?

  361. Peter Waher

    I don’t query disco, I receive presence with hash. If hash is not recognized from sender, I perform discovery. I consider every sender as its own universe, and do not assume digests mean the same thing from different senders, for the reasons mentioned above. I treat it as an ETAG basically.

  362. lovetox

    sound to me like you store hash per sender

  363. moparisthebest

    That's the only secure way to do it if you don't validate

  364. lovetox

    of course, and it makes caching less efficient

  365. moparisthebest

    But it's a nice way to support new-shiny-hash-algorithm without even knowing it exists

  366. lovetox

    because it means you will query each and every member of a 1000 member room, even if they all have the same client with the same caps

  367. moparisthebest

    Trade-offs all the way down

  368. moparisthebest

    You could do a combo

  369. moparisthebest

    Validated shared cache for algorithms you understand, per jid for those you don't

  370. Arne has joined

  371. Peter Waher

    Good idea.

  372. lovetox

    i mean all this means nothing if you dont support any p2p stuff anyway

  373. lovetox

    nobody uses disco info for anything serious other than jingle

  374. Peter Waher

    we definitely use it for other things than jingle

  375. lovetox

    for example?

  376. Peter Waher

    IoT and E2EE, just to mention two

  377. Caesar has joined

  378. Peter Waher

    oh, and social networking capabilities, digital identities, smart contracts, tokenization and monetization.

  379. yvo has left

  380. yvo has joined

  381. lovetox

    and all these things dont need to work if someone is offline? Because then the disco info query will not work

  382. moparisthebest

    Even jingle shouldn't really use caps right? If I log into a client that doesn't support calls I still want to see my missed calls when my other clients come back online

  383. lovetox

    yes i think this was solved for jingle calls

  384. lovetox

    they send now some message which is stored in MAM

  385. lovetox

    dont know if this is available for filetransfer as well

  386. moparisthebest

    Yea kind of makes sense for jingle file transfer though

  387. lovetox

    but yeah, ... seems you dont even need disco info for that

  388. lovetox

    now its just for "which client does this user use"

  389. Wojtek has joined

  390. lovetox

    its kind of important for services though, server, MUC etc

  391. techmetx11 has joined

  392. Arne has left

  393. Caesar has left

  394. Dele Olajide has joined

  395. snow has joined

  396. Peter Waher

    BTW: If you share hashes between clients, as mentioned above (in the MUC case), you actually have the possibility to inject/poison caches (if using SHA-1): Consider a malicious user knowing about a new set of disco info, before others on a server (perhaps taking it forom another server). It calculates the hash, reports it to a new server (or many servers) who then perform service discovery, where the malicious user responds with some fake service discovery (which results in the same digest, as is possible now it seems, with SHA-1). As the server takes this as the defacto-response, it will not ask again, when other non-malicious users ask, and services will stop working on the new server, if service discovery is an intrinsical part of the operation. Not sure why anyone would do this, but there always seems to be one…

  397. Peter Waher

    BTW: If you share hashes between clients, as mentioned above (in the MUC case), you actually have the possibility to inject/poison caches (if using SHA-1): Consider a malicious user knowing about a new set of disco info, before others on a server (perhaps taking it from another server, or guessing it). It calculates the hash, reports it to a new server (or many servers) who then perform service discovery, where the malicious user responds with some fake service discovery (which results in the same digest, as is possible now it seems, with SHA-1). As the server takes this as the defacto-response, it will not ask again, when other non-malicious users ask, and services will stop working on the new server, if service discovery is an intrinsical part of the operation. Not sure why anyone would do this, but there always seems to be one…

  398. moparisthebest

    I didn't think generating sha1 collisions was cheap enough to worry about that yet

  399. Peter Waher

    surely it will get cheaper

  400. Dele Olajide has left

  401. moparisthebest

    I mean, git is a way juicier target if so

  402. Peter Waher

    yes

  403. moparisthebest

    We shouldn't worry about XMPP until high profile git repos start getting attacked :)

  404. Peter Waher

    but attackers attack what they can get away with

  405. Peter Waher

    also, there's state-sponsored hacking

  406. Peter Waher

    also, there's state-sponsored "hacking"

  407. moparisthebest

    I agree it's just going to get cheaper/easier though

  408. poliux has left

  409. snow has left

  410. singpolyma has left

  411. singpolyma has joined

  412. lovetox

    lot of work/money to poisen a single hash, of course could happen

  413. Link Mauve

    Peter Waher, XEP-0115 makes it much easier to generate collisions than breaking SHA-1, see http://web.archive.org/web/20230118035239/https://mail.jabber.org/pipermail/security/2009-July/000812.html

  414. Link Mauve

    Much easier.

  415. lovetox

    and with again almost no gain, as said almost nobody uses disco info for anything serious

  416. lovetox

    Does anyone know why the XEP says > Because of how the hash output is used in entity capabilities, the protocol will not be subject to collision attacks even if the hash function used is found to be vulnerable to collision attacks.

  417. lovetox

    great, Link Mauve, so basically to be save against collisions the sha algo does not matter and we would need to cache per jid

  418. Link Mauve

    Correct.

  419. flow

    no, we need ecaps2

  420. Link Mauve

    Or indeed, XEP-0390.

  421. Peter Waher

    It is allowed to note multiple vulnerabilities (plural), and not only consider the most severe vulnerability, one at a time, of course. Especially if discussing implementation.

  422. Peter Waher

    it was a side note, btw

  423. flow

    lovetox, regarding the statement in the xep: that is a good question

  424. flow

    that sentence was added with https://github.com/xsf/xeps/commit/df683bc14448c51796d2bd4c657ad5fab38b01c0#diff-7317d93667443a69e313bdffd7125c1213ad5d6b38c8a2bdf26237fa902737e7R449

  425. flow

    so maybe ask psa

  426. larma has joined

  427. yvo has left

  428. Wojtek has left

  429. yvo has joined

  430. lovetox2 has joined

  431. lovetox2 has left

  432. Vaulor has left

  433. Vaulor has joined

  434. techmetx11 has left

  435. drops has left

  436. singpolyma has left

  437. singpolyma has joined

  438. Arne has joined

  439. antranigv has joined

  440. Kev has joined

  441. Kev has left

  442. Arne has left

  443. drops has joined

  444. antranigv has left

  445. antranigv has joined

  446. Kev has joined

  447. Wojtek has joined

  448. Yagizа has left

  449. MSavoritias (fae,ve) has left

  450. antranigv has left

  451. antranigv has joined

  452. spectrum has joined

  453. techmetx11 has joined

  454. Tobi_ has left

  455. Arne has joined

  456. Kev has left

  457. yvo has left

  458. yvo has joined

  459. Arne has left

  460. Tobi has left

  461. Tobi has joined

  462. moparisthebest has left

  463. Arne has joined

  464. xnamed has left

  465. Menel has left

  466. Trung has left

  467. moparisthebest has joined

  468. Kev has joined

  469. mirux has left

  470. Kev has left

  471. goffi has left

  472. Tobi has left

  473. singpolyma has left

  474. singpolyma has joined

  475. lissine has joined

  476. atomicwatch has left

  477. spectrum has left

  478. antranigv has left

  479. singpolyma has left

  480. singpolyma has joined

  481. Arne has left

  482. Arne has joined

  483. atomicwatch has joined

  484. Beherit has left

  485. lissine has left

  486. Arne has left

  487. Arne has joined

  488. Laura has joined

  489. antranigv has joined

  490. singpolyma has left

  491. spectrum has joined

  492. singpolyma has joined

  493. Arne has left

  494. singpolyma has left

  495. Arne has joined

  496. Arne has left

  497. Arne has joined

  498. PapaTutuWawa has left

  499. singpolyma has joined

  500. poliux has joined

  501. larma has left

  502. pulkomandy has left

  503. pulkomandy has joined

  504. cal0pteryx (wurstsalat) has left

  505. singpolyma has left

  506. jgart has left

  507. singpolyma has joined

  508. Tobi has joined

  509. kapad has left

  510. singpolyma has left

  511. singpolyma has joined

  512. Tobi has left

  513. singpolyma has left

  514. H3rnand3zzz has left

  515. H3rnand3zzz has joined

  516. singpolyma has joined

  517. Peter Waher has left

  518. singpolyma has left

  519. singpolyma has joined

  520. Peter Waher has joined

  521. singpolyma has left

  522. singpolyma has joined