1
$\begingroup$

Why doesn't TLS provide end-to-end encryption?

This question is somewhat related to this, this and this. If you want to talk to someone, say, through facebook, the TLS connection ends in the facebook server and they may be able to read it, before re-encrypting and sending it to the intended recipient. This seems a little off to me. Assuming the only thing facebook needs to forward the message is the metada which is not encrypted anyway, why TLS enables them to decrypt the message?

$\endgroup$
1
  • 1
    $\begingroup$ Because it was designed as end-to-end not end-to-server-to-end. $\endgroup$
    – kelalaka
    Apr 21, 2020 at 14:23

3 Answers 3

4
$\begingroup$

TLS encrypts a channel, and that channel is between your browser or app and the Facebook server. E2EE usually refers to the ability to send an encrypted message between two users such that the server relaying the message can't read it. But you do not have a TLS connection to the friend you are sending a message to, you have a TLS connection to the relay server. There are messaging protocols that do support end-to-end encryption, but Facebook's is not one of them and TLS doesn't really come into it.

$\endgroup$
4
$\begingroup$

The question is not correct. Two people can establish direct connection between their laptops in the same network and use TLS (assuming they have share public key in advance). In such case TLS does provide E2EE. But such cases are rare in reality.

Briefly: TLS provides security between 2 points only, i.e. on a single leg. Where as E2E connection between 2 people consists often of multiple independent legs.

$\endgroup$
0
$\begingroup$

Assuming the only thing facebook needs to forward the message is the metada which is not encrypted anyway, why TLS enables them to decrypt the message?

Because:

  1. Facebook is not an intended recipient of the message (that's supposed to be able to see its plaintext);
  2. The TLS connection between your device and Facebook uses a secret key that's shared between your device and Facebook;
  3. TLS doesn't by itself provide any additional layer of encryption whose key is known only to you and the intended recipients.

Note that TLS doesn't prevent the application from doing #3. It's just that TLS by itself does nothing to that end. End-to-end encrypted messengers like WhatsApp use two layers of encryption:

  1. End-to-end encryption between the participants of a conversation, with secret keys that don't leave the participants' devices;
  2. Transport encryption between the devices and the servers.

TLS is only doing #2; the applications have to add their own protocols to do #1.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.