Member-only story
Deep Dive into TLS
How exactly are secure connections made between two clients and what is happening behind the scenes?
I’m sure we’re all used to dealing with HTTPS and managing certificates, or in most cases, ignoring SSL verification, in order to get some simple connectivity working. This can be especially frustrating for local development environments. However, we take a lot of that lower-level work for granted. In this post, I thought it’d be fun to dig into TLS a little more and gain a better understanding of what is really going on.
The Basics
TLS is a cryptographic protocol that provides end-to-end security of data sent between applications over the Internet. It is most familiar to users through its use in secure web browsing and in particular the padlock icon that appears in web browsers when a secure session is established. However, it can and indeed should also be used for other applications such as e-mail, file transfers, video/audio conferencing, instant messaging, and voice-over-IP, as well as Internet services such as DNS and NTP.
TLS evolved from Secure Socket Layers (SSL) which was originally developed by Netscape Communications Corporation in 1994 to secure web sessions. SSL 1.0 was never publicly released, whilst SSL 2.0 was quickly replaced by SSL 3.0 on which…