The latest beta releases of Signal for Android and iOS let you put a pin in PINs and disable them completely. This option is for advanced users who don’t want to lose their ability to lose everything.
This is a academical discussion. Storing signal contacts encrypted with a password + sgx has no practical security impact. Users are reading this discussion and switching to wire or telegram. Where this data and all your messages on telegram is stored in PLAINTEXT on serverss
Also this discussion ignores reality. If you ever used an other big messenger all your contacts have been uploaded in plaintext. If a person who has your phone number used e.g WhatsApp your contact was uploaded in plaintext. If you sync your contacts: also uploaded in plaintext
Signal is the ONLY Messenger / App that uses contact information where the information is encrypted + you have control over the password used for encryption, so this data can be stored for it to be uncrackable by bruteforce.
The issue is that they replaced the registration lock PIN with one also doing sync and they didn't properly explain what was happening to them. The app doesn't explain what gets backed up or how it's encrypted.
They also encourage a weak PIN due to using SGX and they exaggerate the security it provides. Providing an opt-out doesn't resolve the problems. Under the hood, the opt-out just generates a high entropy random PIN which you could already do. They treated this as only a PR issue.
This is not about Signal in comparison to other apps, it's about Signal. Signal has told users they don't store their contacts:
https://signal.org/bigbrother/eastern-virginia-grand-jury/…
If they explained to users how it's used and generated a strong passphrase for them by default, it would be a lot different.
SGX does not provide strong security properties. It's not even an actual secure element. The attestation they depend on is based on a root of trust. Thread:
https://twitter.com/DanielMicay/status/1281481813337214984…
Every Intel CPU with SGX has a key that can be leaked and used to fake attestations for any CPU.
Secure elements are a nice way to supplement baseline privacy/security. The design should work without it. Changing your design due to having a secure element is problematic. Encouraging a weak PIN when you would have otherwise wanted a strong passphrase is a problem.