Discussing End-To-End Encryption Protocols used by messaging applications such as WhatsApp
Due to the highly interconnected world we live in today and the increased dependency on technology in almost every aspect of our lives, the rise of crimes for which technology added another vector that not only makes our lives easier, it has also been utilized by criminals in many ways including the ease of communication. At the same time governments are forced and on occasions takes advantage of this to tap into every aspect of our privacy.
This paper investigates several secure messaging applications and how end-to-end encryption used to secure our communications, not only in transit but also from the moment we initiate this communication from our handset or computer.
We live in a highly interconnected world with almost everything we can think of is connected to the internet, from our computers, mobile phones, refrigerators, critical devices, smart TVs and even the watch that many of us wear on our wrists is connected. In addition to this social networks and social messaging applications is becoming a normal day to day tools that many of us are not only using to chat with our team mates and family members but also used by many of us to publish personal photos, videos and even live location feeds.
From a business perspective these applications or an enterprise version of these applications are used by businesses for team collaborations and group discussions.
Several vulnerabilities has been announced till date in additions to a number of governments trying to put pressure on providers to share data, which breaches the privacy act, making us question the security of these applications and if governments have succeeded in forcing providers to break their privacy commitment to their users.
On the positive side the majority of the information security community and providers of these applications have put a huge effort into how they can make these applications secure without the need of a head to head collision with government agencies whom in many parts of the world take advantage of crime and terrorism to invade our privacy and imprison our freedom.
This movement driven many vendors, especially those whom privacy is at their focus to move towards end to end encryption and the use of deniable key authentication, which basically even if providers are forced to surrender their servers, they are unable to get anything because many of these servers do not store any data because encryption is performed end-to-end on the devices participating in the communication.
END-TO-END ENCRYPTION (E2EE)
End-to-end encryption (E2EE) is a way of securing communication and prevents third-parties from accessing data while it’s transferred from one end system or device to another.
In E2EE, encryption of data occurs on the sender’s system or device and only the participants can decrypt it. This means that nobody in between, whether it is the Internet service provider, application service provider or an adversary, can read it or compromise its integrity.
The encryption keys used to encrypt and decrypt the messages are stored exclusively on the endpoints; this is made possible using public key encryption.
The first widely used E2EE messaging software was Pretty Good Privacy, which secured email and stored files, as well as securing digital signatures.
Text messaging applications frequently utilize end-to-end encryption, including Jabber, TextSecure and Apple’s iMessage, Signal, WhatsApp…
OFF THE RECORD PROTOCOL (OTR)
Off-the-Record is a protocol that was designed to provide features for an underlying instant messaging protocol. It uses the instant messaging protocol as a transport layer and follows four steps during the entire communication:
- OTR starts with the Off-The-Record Authenticated Key Exchange.
- Followed by message transmission.
- Step three is about the re-keying that OTR often does during the conversation between parties.
- Lastly the publishing of MAC-keys.
After the above-mentioned necessary steps, an important protocol is used, which ensures no passive or active attacker, such as Man-in-the-middle, is possible during a conversation.
Step 1: Authenticated Key Exchange
When starting a conversation, both parties need to know if they want to have a conversation with OTR. This is done by one of the parties informing the other that he is willing to use OTR protocol to communicate with him.
- A Query Message requesting is sent from party A to B to start an OTR conversation.
- Party A can also state which version of OTR to use.
- It is up to party B if they accept to communicate with OTR or not.
- This means party B is going to be the one starting the Authenticated Key Exchange if he agrees.
OTR uses a variation of Diffie-Hellman Key Exchanged called SIGMA.
An unauthenticated Diffie-Hellman key exchange is used to set up an encrypted channel, and inside that channel the mutual authentication is performed.
Diffie-Hellman is used to find a way of generating shared secret between two parties, in a way that is not possible for others to compute the same shared secret. The key does not get shared during the exchange, but the two parties create the key together, which is an important distinction.
Step 2: Message Transmission
During Message transmission step, the encryption and authentication of messages happen before sending them over the web. The Off-the-Record Protocol uses AES as its encryption protocol, using it in counter mode.
The message is first encrypted using the AES in counter mode; then the resulting ciphertext is authenticated using a keyed-hash message authentication code (HMAC).
The reason the Off-the-Record team chose AES in counter mode was because it increases deniability. This means that a valid ciphertext cannot relate to any of the communication participants since anyone can create a ciphertext that can be decrypted correctly and then compute a valid MAC from the ciphertext, because old MAC keys are published to the web.
Step 3: Re-key
The third step is to re-key as often as possible. All participants need to pick a new key and then perform a new Diffie-Hellman exchange.
The way OTR performs this, is to change the keys every time the conversation changes directions. Once the new key is established it will be used to encrypt and authenticate new messages, while the previous ones are erased.
The reason to securely erase this information is to get perfect forward secrecy in our instant message conversations.
Step 4: Publish MK
The final step OTR performs is to publish the MAC key. Communication participants do not need to forget since they know that they have moved over to a new MK, hence if one of them gets a message with the old MK, they will know that the message has been forged.
The old MAC keys are added to the next message that the participants send to each other, in plaintext, since they do not care if they are readable.
The reason for publishing it is because by doing this they will let other people forge transcripts of conversations between them, which provides extra deniability to all parties.
Step 5: Socialist Millionaire Protocol (SMP)
Socialist Millionaire Protocol (SMP) solves the problem of checking if both parties are equally rich, using a shared secret only the communicating parties know of, while the adversary does not know this secret.
They use the SMP algorithm to verify that the other party knows the same shared secret, and the job of SMP is to confirm this without revealing anything else. In the end, if the secrets are not equal, the parties only get the information that they are not equal. By this usage, SMP can assure the two parties are indeed exchanging messages with the right person.
The Signal Protocol is designed by Moxie Marlinspike and Trevor Perrin from Open Whisper Systems. Open Whisper Systems wanted to develop a new end-to-end encryption standard which works in both synchronous and asynchronous messaging environments.
The goals of Signal include end-to-end encryption and advanced security properties such as forward secrecy and future secrecy. Initially, Signal was divided into two different application, TextSecure and RedPhone. The former was about SMS and instant messaging, while the latter used as an encrypted VoIP application.
TextSecure was based on the Off-the-Record Protocol by taking the Ratchet from OTR and implemented a Double Ratchet, combining OTR’s asymmetric ratchet with a symmetric ratchet, and naming it Axolotl Ratchet.
Signal have later combined TextSecure and RedPhone to form the new Signal application together with the protocol having the same name. In recent years, the Signal Protocol has been adopted by numerous companies, such as WhatsApp by Facebook, the Messenger also by Facebook, and Google’s new messaging app, Allo which was removed in March 2019.
TOP MESSAGING APPLICATIONS
Although all the above applications have adopted end-to-end encryption on their applications, this feature is not enabled by default on many of them, which leave it the user’s awareness that this functionality exists and that it is not enabled by default. Additionally, not many users would know how to enable it from the application’s settings.
Another concern is how much are these vendors are cooperating to share user data with intelligence agencies or track user behavior. Like for example WhatsApp, which is owned by Facebook and until recently encryption was performed at the vendor server.
Even after WhatsApp adopted end-to-end encryption, it still logs, tracks, saves and analysis user data on the server and Facebook’s user data and user behavior collection and sharing with government agencies is well known.
Therefore, although these vendors may not be able to decrypt user messages; they can still piece together the pieces of the conversation from the meta data they store and use big data analytics to form a story line of the user’s behavior and depending on how much government agencies are interested in the target these pieces of information and data from analytics can be used by cryptanalysts to make more sense of what was communicated. As illustrated on the comparison table the applications that really meet the requirements of true security and privacy are Wickr and Signal, which were recommended by whistleblowers and data privacy activists.