
{"id":7753,"date":"2020-10-15T12:55:10","date_gmt":"2020-10-15T12:55:10","guid":{"rendered":"https:\/\/rax-stg-wp-aws.com\/blogs\/the-ssl-and-tls-handshake-process\/"},"modified":"2026-11-03T19:29:01","modified_gmt":"2026-11-03T19:29:01","slug":"the-ssl-and-tls-handshake-process","status":"publish","type":"blogs","link":"https:\/\/www.rackspace.com\/en-gb\/blogs\/the-ssl-and-tls-handshake-process\/","title":{"rendered":"The SSL and TLS handshake process"},"content":{"rendered":"<p><em><strong>This post introduces Secure Sockets Layer (SSL) and Transport Layer Security&nbsp;(TLS) protocols, how these protocols work, and why you might use them.<\/strong><\/em><\/p>\n<p><strong>&nbsp;Secure Sockets Layer<\/strong><\/p>\n<p>The SSL handshake layer provides data integrity and privacy for communication&nbsp;between a client and a server. The server and client exchange the necessary&nbsp;information to establish secure communication during a handshake.<\/p>\n<p><strong>Types of SSL handshakes<\/strong><\/p>\n<p><strong>There are two types of SSL handshakes:<\/strong><\/p>\n<p>&#8211; <strong>One-Way SSL<\/strong>: With this handshake, only the client validates the server&#8217;s&nbsp;identity. Whenever you browse HyperText Transport Protocol Secure (HTTPS) URLs,&nbsp;you&#8217;re using one-way SSL. The browser (client) validates the identity of the&nbsp;website (server).<\/p>\n<p>&#8211; <strong>Two-Way SSL (Mutual SSL)<\/strong>: In this case, the client and server can validate each other&#8217;s identity. Two-way SSL is mostly used in server-to-server&nbsp;communication where both ends need to validate each other&#8217;s identity.<\/p>\n<p><strong>SSL versions<\/strong>:&nbsp;Netscape developed SSL in 1994. The Internet Engineering Task Force (IETF)&nbsp;picked up the protocol and standardized it as a protocol. SSL 3.0 is the current&nbsp;SSL version in use.<\/p>\n<p>SSL versions include the following ones:<\/p>\n<ul>\n<li><strong>SSL 1.0<\/strong>: Due to security flaws, Netscape did not release SSL v1.0.<\/li>\n<li><strong>SSL 2.0<\/strong>: Netscape released SSL v2.0, the first public release of SSL, in&nbsp; 1995, but there were design flaws. Netscape deprecated SSL v.2.0 in 2011.<\/li>\n<li><strong>SSL 3.0<\/strong>: SSL v3.0 fixed the security design flaws of SSL v2.0. However,&nbsp;&nbsp; SSL v3.0 was deemed insecure in 2004 due to the Padding Oracle on Downgraded.<\/li>\n<li>Legacy Encryption (POODLE) attack, which exploits a vulnerability in the SSL<\/li>\n<li>v3.0 protocol (CVE-2014-3566).<\/li>\n<\/ul>\n<p><strong>Transport Layer Security<\/strong><\/p>\n<p>TLS, a cryptographic protocol successor of SSL v3.0, was released in 1999.<\/p>\n<p>TLS versions include the following ones:<\/p>\n<p>&#8211; <strong>TLS 1.0<\/strong>: TLS v1.0, an upgradable version of SSL v.3.0, was released in 1999, but it allows connection downgrade to SSL v3.0. Further releases include&nbsp;TLS 1.1, TLS 1.2, and TLS 1.3.<\/p>\n<p>&#8211; <strong>TLS v1.3<\/strong>: This version, released in 2018, had features that differed significantly from TLS v1.2, including the following features:<\/p>\n<ul>\n<li>&nbsp; &nbsp;Removes MD5 and SHA-224 support.<\/li>\n<li>&nbsp; &nbsp;Requires a digital signature.<\/li>\n<li>&nbsp; &nbsp;Uses perfect forward secrecy for public-key-based key exchange.<\/li>\n<li>&nbsp; &nbsp;Handshake messages are encrypted after the *Server Hello* message.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Differences between SSL and TLS<\/strong><\/p>\n<p>The differences between SSL and TLS are minor. Only a technical person&nbsp;can differentiate between the two protocols. The following<em> list <\/em>includes some&nbsp;differences:<\/p>\n<ul>\n<li><strong>Cipher suites<\/strong>: SSL protocol offers support for the Fortezza&amp;reg; cipher suite, and TLS doesn&#8217;t.TLS follows a better standardization process that makes defining new cipher suites easier like RC4, Triple DES, AES, IDEA, and so on.<\/li>\n<li><strong>Alert messages<\/strong>: SSL has a <em>*No certificate<\/em>* alert message. TSL protocol removes the alert message and replaces it with several other alert messages.<\/li>\n<li><strong>Record Protocol<\/strong>: SSL uses a Message Authentication Code (MAC) after encrypting each message. In contrast, TLS uses a Hash-Based Message Authentication Code (HMAC) after encrypting each message.<\/li>\n<li><strong>Handshake process<\/strong>: In SSL, the hash calculation also comprises the master secret and pad, while TLS calculates the hashes over handshake messages.<\/li>\n<li><strong>Message Authentication<\/strong>: SSL message authentication adjoins the key details and application data in an ad hoc way, while TLS relies on HMAC.<\/li>\n<\/ul>\n<p>SSL and TLS are cryptographic protocols that authenticate data transfer between servers, applications, systems, and end users. SSL was the first cryptographic<br \/>\nprotocol of its kind, and TLS is a recently upgraded version of SSL.<\/p>\n<p><strong>Note<\/strong>: In a nutshell, SSL is obsolete, and TLS is the new name of the older&nbsp;protocol that everyone uses to meet the latest encryption standard. Technically,&nbsp;TLS is more accurate, but everyone is more familiar with SSL. SSL handshakes are now called <em>TLS handshakes<\/em>, although the <em>SSL<\/em>&nbsp;name is still widely used.<\/p>\n<p><strong>The handshake<\/strong><\/p>\n<p>The following image depicts the SSL Handshake process:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26486-body-Picture1_23.png\" alt=\"SSL TSL Handshake\" \/><\/p>\n<p><a href=\"https:\/\/dzone.com\/articles\/what-is-ssl-how-do-ssl-certificates-work\">Image Source<\/a><\/p>\n<p><strong>SSL or TLS handshake process<\/strong><\/p>\n<p>The following scenario demonstrates the SSL or TLS handshake process:<\/p>\n<ul>\n<li><strong>Client<\/strong>: Hello, server. I want to establish secure communication between us. Here are my compatible SSL\/TLS versions and cipher suites.<\/li>\n<li><strong>Server<\/strong>: Hello, Client. I have checked your cipher suites and SSL\/TLS version. We are good to go ahead. Here are my certificate and public key details.<\/li>\n<li><strong>Client<\/strong>: Let me verify your certificate. (Pause.) Okay, but I need to verify your private key. I&#8217;ll generate and encrypt a pre-master (shared secret key) key<\/li>\n<li>by using your public key. Decrypt it using your private key, and we will use the master key to encrypt and decrypt the information. (Symmetric encryption.)<\/li>\n<\/ul>\n<p><strong>Server: <\/strong>Done<\/p>\n<p>Now that both ends know who they are talking to, the information transferred&nbsp;between them is secured by using the master key. The encryption takes place&nbsp;through the master key only, also known as symmetric encryption.<\/p>\n<p><strong>Client<\/strong>: I&#8217;m sending you this sample message to verify that our master key works. Send me the decrypted version of this message.<\/p>\n<p><strong>Server<\/strong>: It works. I think we&#8217;re all set.<\/p>\n<p>After that, all data transmitted between the server and client is encrypted,&nbsp;which sums up the SSL or TLS handshake process.<\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>In a digital economy, data is more valuable than ever. Protecting and securing&nbsp;information is one of the essential aspects of surviving in the IT world because&nbsp;data leaks and thefts can damage an organization&#8217;s reputation and adversely impact<br \/>\ncustomers. End-to-end encryption is a must for ensuring safe data transfer<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The SSL and TLS handshake process<\/p>\n","protected":false},"author":2,"featured_media":7755,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","format":"standard","meta":{"content-type":"","nid":"26486","content_type":"blog","created_by":"10130","authored_on":"2024-01-14T13:55:10+00:00","field_article_industries":"","tag_category":"Technical","field_blog_author_text":"by Narayana swamy Thota, Network Security Engineer, Rackspace Technology","seo_description":"Essential tasks in IBM DB2 Database administration. License, configuration, installations, clients, tablespaces, and more.\r\n","field_featured_image":"","insights_image":"\/wp-content\/uploads\/2026\/blog_technical_images\/26486-insights_image-security-technical-blog-1-insights.jpg","field_partners":"","rxt_platforms":"Cloud-Native Security, Rackspace Security Essentials","product":"","publisheddate":"2020-10-15T12:55:10","rxt_solutions":"Security, Application Security","opengraph_tag":"","x_tag":"","teaser_flag":"Technical Blog","seo_titile":"SSL and TLS handshake process | Rackspace Technology","field_topics":"","field_slug":"the-ssl-and-tls-handshake-process","footnotes":""},"categories":[178],"tags":[204],"class_list":["post-7753","blogs","type-blogs","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-technical"],"_links":{"self":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/7753","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs"}],"about":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/types\/blogs"}],"author":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/comments?post=7753"}],"version-history":[{"count":3,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/7753\/revisions"}],"predecessor-version":[{"id":9653,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/7753\/revisions\/9653"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/media\/7755"}],"wp:attachment":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/media?parent=7753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/categories?post=7753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/tags?post=7753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}