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
Consider using NaCl #180
Comments
compare with enclaveNaCl (or Libsodium or other compatible forks) is potentially less secure than the enclave as it only uses a software implementation. NaCl is designed to exchange data on the internet: no obscure structures, everything is stored as a string ready to be shared/stored. Enclave is more a low level (everything is performed on a secured memory and processor area but more logic has to be defined) We assume here that the enclave doesn't have a hardware flaw/backdoor. compare with software non-NaCl implementationNaCl uses simple primitives (ie. encrypt/decrypt) The main analogy used to differenciate NaCl and an implementation using OpenSSL is the Elevator vs Space Shuttle comparison:
For instance the encrypt function (
The equivalent custom implementation would go through the following steps (example given on NaCl's website):
Another example, the decrypt primitive (
and it will ensure that the message is signed by the sender (a check will be performed against the public key and the secret key provided). pros/cons depending on the usages, when to use?Pros
Cons
is it better to support multiple algorithm and algorithm versionning?We should have a way to deprecate an encryption method, but we also have to care about devices running older versions of the app and that won't be able to open the messages (how to gracefully handle those) tl;drNaCl seems nice but may not suit our need depending how we want to manage forward secrecy and privacy |
Thank you for your feedback Maybe we can keep nacl in mind for 1-1 rpc communications like voice/video while keeping enclave and conversation with offline forward secrecy with our current system Anyway, for now, no need to continue in the nacl way, as we plan to launch publicly with only the base features; it will be easier to have external feedbacks as soon as we are public and open source Thanks again |
Topics to explore:
The text was updated successfully, but these errors were encountered: