|
|
|
|
|
by lawl
4736 days ago
|
|
Wow. > WARNING: Unable to decrypt. One of you may have changed keys or might be an imposter. Run /idexch if you trust this person. This may very well be the worst advice you could possibly give. Suppose Alice and Bob already have a conversation. Then Eve wants to start MITM'ing during middle of the conversation and has already missed the key exchange (where she could easily switch Alice and Bob's public keys because your application doesn't even try to authenticate).
Now she just needs to corrupt the packages so your app tells them to do a key exchange again and now can easily switch alice and bobs public keys for a set of her own ones and read everything. Key exchanging is the hardest problem your app would have to overcome to actually be secure, telling your users to just do it again over an unauthenticated connection is just ... stupid, sorry. Plus from glancing over it it lacks things like session keys etc.? Though that might well be in the NaCl lib, so I'm not sure about this. I'd just ask you to label this as POC or something, because no one should use this application for anything that needs to even remotely stay secret. |
|