Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Feature OpenPGP.js #3219

Open
member7me opened this issue Jul 4, 2023 · 7 comments
Open

New Feature OpenPGP.js #3219

member7me opened this issue Jul 4, 2023 · 7 comments
Labels

Comments

@member7me
Copy link
Contributor

Hi. New Feature suggestion - to implement PGP in conversejs.
It's much more secure than OMEMO and more secure as old-dated OTR

OpenPGP implementation for JavaScript
https://github.com/openpgpjs/openpgpjs

@tomfun
Copy link

tomfun commented Jul 13, 2023

Agree. I heard OMEMO has vulnerabilities

@licaon-kter
Copy link
Contributor

licaon-kter commented Jul 14, 2023

@tomfun link to this study/report/research/proof of vulnerabilities please?

@tomfun
Copy link

tomfun commented Jul 16, 2023

Sorry, I hadn't checked it before. My friend said it to me. My research shows this:

The only protection against man-in-the-middle attacks is to verify the fingerprints out of band over a secure channel that the hypothetical attacker does not control. Think phone call, a personal website or even better meeting each other in person.

If Alice has no prior information about Bob, she has no way to distinguish these cases, no matter how secure the protocol is. It's the same for OTR, OMEMO, WhatsApp, Signal, the post, or Twitter.

from https://crypto.stackexchange.com/questions/60082/is-omemo-vulnerable-in-case-of-compromised-jabber-server/68842#68842

As you may see, if there is trusted pgp public key storage, or your friend sent a keys to you (by trusted channel) PGP is secure.

My further research showed me that OMEMO is better if we talk about PGP without refreshed keys. PGP support encryption for multiple receivers (but it is a problem if count is big for traffic!). But anyway the security of a group chat is as strong as its weakest link - and for XMPP it is problem because of: managing an OMEMO-based system's security can be intricate because of various keys for different accounts, different XMPP clients, versions, plugins, and operating systems might all contribute to potential security risks. We can only keep all these components updated. So PGP is not so bad and have a big history (32 years !).

My notes on the topic https://gist.github.com/tomfun/83369d8302972915e58a0c4b21273ca6
I will be glad to hear a word in comments

@member7me
Copy link
Contributor Author

member7me commented Aug 3, 2023

OpenPGP is much more better, it supports offline encryption, PGP is tested over the years, tested by thousands of researchers. OMEMO is young protocol, did not have security tests and third-party audit (did not meet any serious extensive research). Only https://conversations.im/omemo/audit.pdf but this is biased, this is not a third-party audit.

OMEMO and OTR both are vulnerable to man-in-the-middle attacks. OMEMO same as OTR is fully useless and could be compromised if xmpp server is compromised. Xmpp isn't decentralized, so any xmpp may be compromised any time.

@licaon-kter
Copy link
Contributor

OMEMO

You can enable only trusted devices, so MITMs are useless

@member7me
Copy link
Contributor Author

@tomfun-sqdl
Copy link

Could you point or quote what exactly you want to share?

https://xmpp.org/extensions/xep-0373.html
https://xmpp.org/extensions/xep-0374.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants