Does cloudflare know the decrypted content when using a https connection

cloudflarehttps

CloudFlare provides ssl support. However, if a visitor visits a website protected by CloudFlare, is CloudFlare able to know the plain data transfered during this visit?

There are a few SSL options:

  • Flexible SSL
  • Full SSL
  • Full SSL (strict)

I know that for Flexible SSL, CloudFlare probably knows the plain data, as the data has been decrypted by CloudFlare and send to the web server insecurely.

What about Full SSL and Full SSL (strict)? Does CloudFlare decrypt first then encrypt again to send to the web server?

Best Answer

Refer to the documentation

Cloudflare's docs are fairly clear on this. Obviously (it should be obvious) Flexible ssl means the connection from cloudflare to the origin is unencrypted.

Cloudflare's ssl image

For full ssl (either permutation) the following applies:

Encrypts the connection between your site visitors and CloudFlare, and from CloudFlare to your server.

They are two different connections, So the answer to "Does cloudflare know the decrypted content?" is: "Yes".

Note that for EV or OV SSL certificates - you need to uploaded them to to cloudflare for end-users to see them, it's still 2 connections - not end-to-end encryption.

Reasons to use SSL

Using ssl prevents MITM attacks, it doesn't mean the cdn you're using is oblivious to the content it's serving, for you. You should maybe ask yourself why you want to encrypt the connection.

With no SSL, there are plenty of places a MITM attack can occur:

No ssl, lots of possible attack points

With Flexible SSL - that eliminates most, but not all of them:

Flexible ssl, only one attack point now

With Full SSL - there's still the possibility of a MITM attack:

Full ssl, one attack point but now harder

With Full SSL (Strict) - a MITM attack is now not possible without cloudflare itself being compromised:

Full SSL - no attack possible

If you are concerned that cloudflare can read your data - don't use cloudflare.

Related Topic