Skip to content

Instantly share code, notes, and snippets.

@byelipk
Last active August 9, 2017 19:06
Show Gist options
  • Save byelipk/402e055e6c8c5b08a230d848d526aad9 to your computer and use it in GitHub Desktop.
Save byelipk/402e055e6c8c5b08a230d848d526aad9 to your computer and use it in GitHub Desktop.
TLS Everywhere

The SSL protocol was implement by Netscape back in the day to facilitate commerce over the internet. E-commerce, as it became known as, required encryption to ensure that customer's personal information was kept safe, and the proper authentication and integrity guarentees were in place.

When SSL is used correctly, a third party cannot read or modify any of the actual data sent over the connection.

The TLS protocol is designed to provide three services to all applications running above it:

  1. Encryption
  2. Authentication
  3. Integrity

Encryption is a mechanism to obfuscate data sent from point A to point B.

So, if Peter wants to send a message to Paul without John being able to read it, Peter can encrypt the message in such a way that only Paul knows how to decipher it.

Authenticatation is a mechanism to verify the validity of the provided identification material.

Before Peter sends an encrypted message to Paul, Peter has to first verity that he is indeed talking with Paul, and that Paul is able to decipher the message.

Integrity is a mechanism to detect message tampering and forgery.

As Peter and Paul exchange information, they need a way to ensure that messages have not been modified by a third party.

NOTE

See: High Performance Browser Networking

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment