Question: What is end-to-end encryption (E2EE)?
Hudson Bloom, Senior Consultant, Application Security, Optiv: End-to-end encryption is a style of encrypted connection in which secrecy of the message contents is maintained from the sender all the way to the recipient. This is in contrast to encryption schemes where a third party, like an application server, has access to the unencrypted data.
Consider the case of sending a direct message over a social media website. If both you and the recipient are connected to that site via HTTPS, then you are certainly using encryption, and an attacker monitoring you or your recipient's Internet traffic would have to defeat transport layer security (TLS) to be able to decrypt the data. However, an attacker with internal access to the social media website itself would be able to monitor your messages easily because the website will have negotiated TLS encryption with each party separately, and must decrypt and re-encrypt your message before sending it to the recipient. We might also describe this arrangement in terms of there being two separate encrypted channels: one from sender to server, and one from server to recipient.
However, suppose you and your recipient were using a technique like Pretty Good Privacy (PGP) to encrypt these messages before sending them via the website. Attackers watching you or the recipient's Internet traffic would still have to defeat TLS to read what was sent, but even if they did, or even if they had internal access to the social media website, they'd only be able to read the PGP-encrypted message. We could thus describe the PGP encryption as forming an encrypted channel between the sender and the recipient. Third parties relaying the data between those endpoints are unable to read the unencrypted text – it is encrypted, end to end. (PGP is mentioned here as a relatively common example of end-to-end encryption, but it isn't a turn-key solution.)
Many Internet communication services advertise end-to-end encryption, but not all of them actually offer it. Knowing for sure whether the encryption offered is really end-to-end is difficult without expert review of the source code. The above example of using PGP over a less-secure service is not strictly academic; users desiring a higher level of secrecy have employed PGP over less-secure services, like e-mail, for many years. As with all modern digital encryption technologies and techniques, it's important to consider who your potential threat actor is and how much you trust the software you're using, as well as the people who made it.
Hudson Bloom is a senior security consultant in Optiv's Threat Management Team, under the Application Security practice. He spent nearly a decade working as a software developer in the aerospace and medical technology industries before coming to Optiv to focus on security. Hudson specializes in mobile and thick-client reverse engineering, especially against old or esoteric technologies.