The signal is an encrypted communications application for Android and iOS.It uses end-to-end encryption to secure all communications to other Signal users.Any text, video, or image coming from the Android version of Signal is encrypted before it leaves your phone.
It is the most secured Encrypted messaging app and it was certified by security experts.
I am regularly impressed with the thought and care put into both the security and the usability of this app. It’s my first choice for an encrypted conversation. Bruce Schneier,
Use anything by Open Whisper Systems.Edward Snowden,
Use Tor. Use Signal. https://t.co/VLvBsbVHKs
— Edward Snowden (@Snowden) September 21, 2016
With the new Private Contact Discovery Service, signal enables clients to find which of their contacts are enrolled users, yet does not uncover their contacts to the service operator or any gathering that may have compromised the service.
Signal Contact Discovery
Most of the social app uses an existing social graph such as Login with Facebook and Google. Instead with signal once user signed in it uses the contacts from phone address book and compared to entries in a database on Open Whisper Systems servers to determine which users use Signal.
- The client calculates the truncated SHA256 hash of each phone number in the device’s address book.
- The client transmits those truncated hashes to the service.
- The service does a lookup from a set of hashed registered users.
- The service returns the intersection of registered users.
With this current process if someone hacks the Signal service could potentially modify the code so that it logs user contact discovery requests.
Private Contact Discovery Service Signal
Modern-day Intel chips had a feature called Software Guard Extensions (SGX). SGX enables applications to provide a “protected enclave” that is separated from the host operating system and kernel.
Signal customary SGX relationship to run a protected enclave on the server, the SGX enclave on the server-side would empower a support of performing computations on encrypted client data without learning the content of the data or the result of the computation.
Private contact discovery for Signal, technology preview: https://t.co/lcif8wx1dP
— Open Whisper Systems (@whispersystems) September 26, 2017
SGX contact discovery
Private contact discovery using SGX is fairly simple at a high level:
- Run a contact discovery service in a secure SGX enclave.
- Clients that wish to perform contact discovery negotiate a secure connection over the network all the way through the remote OS to the enclave.
- Clients perform remote attestation to ensure that the code which is running in the enclave is the same as the expected published open source code.
- Clients transmit the encrypted identifiers from their address book to the enclave.
- The enclave looks up a client’s contacts in the set of all registered users and encrypts the results back to the client.
Since the enclave bears witness to the software that is running remotely, and since the remote server and OS have zero ability to see into the enclave.They also published source code in Github.
Check it out and let us know what you think! This is a beta technology preview, but we’ll be deploying the service into production and integrating it into clients as we finish testing over the next few months.Says Signal!