{"id":2046,"date":"2016-07-13T05:43:24","date_gmt":"2016-07-13T05:43:24","guid":{"rendered":"https:\/\/www.thesslstore.com\/blog\/?p=2046"},"modified":"2023-05-24T12:39:25","modified_gmt":"2023-05-24T16:39:25","slug":"ssltls-certificate-its-architecture-process-interactions","status":"publish","type":"post","link":"https:\/\/www.thesslstore.com\/blog\/ssltls-certificate-its-architecture-process-interactions\/","title":{"rendered":"SSL\/TLS Certificates &#8211; Their Architecture, Process &#038; Interactions"},"content":{"rendered":"<h2>Taking a closer look at SSL\/TLS Certificates and how SSL\/TLS works<\/h2>\n<p>You may have heard of SSL, your website may even employ SSL encryption\u2014but do you know how it works? Do you care? Of course you do. You have an inquisitive mind, that\u2019s why you clicked this link!<\/p>\n<p>In this article we\u2019ll take a look at the inner-workings of SSL, including SSL architecture, digital signatures, PKI and SSL\u2019s interactions and processes.<\/p>\n<h2><strong>SSL Certificates<\/strong><\/h2>\n<p>SSL, which is short for Secure Sockets Layer (today, we actually use its successor Transport Layer Security (TLS) but still colloquially refer to it as SSL), is really two things. It\u2019s a certificate and a protocol.<\/p>\n<p>Think of the certificate as a driver\u2019s license of sorts. It both verifies the identity of its holder while also granting certain permissions. The SSL protocol handles the actual encryption and decryption \u2013 in this car metaphor, the protocol is like the engine \u2013 we\u2019ll talk about how it works later.<\/p>\n<p>SSL Certificates are issued by <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Certificate_authority\" target=\"_blank\" rel=\"noopener noreferrer\">Certificate Authorities<\/a><\/strong>. Certificate Authorities are trusted third parties that authenticate websites and issue SSL certificates. When we say trusted, what we mean is that they are considered trusted by web browsers and operating systems, and are essentially vouching for the authenticity of the websites they\u2019re issuing SSL Certificates to.<\/p>\n<p>As far as a web browser is concerned, there are two tiers of vouching. There\u2019s Domain Validation and Organization Validation, which grant one level of authentication. And then the second tier is Extended Validation, which grants the highest level of authentication.<\/p>\n<span style=\"--tl-form-height-m:150.25px;--tl-form-height-t:121.4583px;--tl-form-height-d:121.4583px;\" class=\"tl-placeholder-f-type-shortcode_12753 tl-preload-form\"><span><\/span><\/span>\n<p>When a company or person wants an <strong><a href=\"https:\/\/www.thesslstore.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">SSL certificate<\/a><\/strong> they first fill out a certificate signing request, or CSR. That is then submitted to the CA who goes through the necessary steps to vet the requester. The certificate is then created, signed and delivered for installation.<\/p>\n<h2><strong>Digital Signatures<\/strong><\/h2>\n<p>In order to grant the certificates, the CA\u2019s must digitally sign them. A digital signature is a lot like a traditional signature, but more secure and they offer additional benefits.<\/p>\n<p><strong>When a document is digitally signed it:<\/strong><\/p>\n<div class=\"imgesulis\">\n<ul>\n<li>Confirms that the CA signed the document<\/li>\n<li>Insures the integrity of the document\u2019s contents<\/li>\n<li>Binds itself to the signing activity, meaning only the CA could have signed the certificate.<\/li>\n<\/ul>\n<\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-2073\" src=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/Certificate-Blog-Image.png\" alt=\"SSL Certificate Verification\" width=\"700\" height=\"490\" srcset=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/Certificate-Blog-Image.png 700w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/Certificate-Blog-Image-300x210.png 300w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/Certificate-Blog-Image-429x300.png 429w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>In order to sign a certificate, a <a href=\"https:\/\/www.thesslstore.com\/blog\/difference-encryption-hashing-salting\/\">hash<\/a> of the data to be signed must be produced. The result is then encrypted with the sender\u2019s public key and appended to the data. This is what protects the integrity of the hash result.<\/p>\n<p>The recipient of the data then uses the corresponding private key (don\u2019t worry, we\u2019ll explain public and private keys in a bit), to decrypt the hash.<\/p>\n<p>A new hash result is then created, it is matched up against the original signed hash result and if the two codes are the same, it indicates that the data hasn\u2019t been altered. This means the recipient can verify the sender, because only the entity with the private key could have signed it.<\/p>\n<h2><strong>PKI (public key infrastructure)<\/strong><\/h2>\n<p>You may be wondering what we meant back there when we referred to public and private keys. That all relates to PKI, or Public Key Infrastructure. PKI is the underlying framework for SSL and many other kinds of encryption. Public Key Infrastructure implements encryption using a process called asymmetric cryptography.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-2075\" src=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/PKI.png\" alt=\"SSL PKI\" width=\"700\" height=\"330\" srcset=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/PKI.png 700w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/PKI-300x141.png 300w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/PKI-500x236.png 500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>Asymmetric cryptography involves two keys, one which performs the encryption and another which performs decryption. The keys are created by the website owner (when they create a certificate signing request, or CSR) and are used in pairs&#8211;there is a private key and a public key. The public key is available to anyone who wants it, but the private key is kept by its owner and should never be handed out.<\/p>\n<p>When someone wants to send information, they use the recipient\u2019s public key to encrypt the information they are sending. The SSL protocol takes care of all of these steps invisibly in the background. The recipient is then the only person (or website) with the private key who can decrypt it.<\/p>\n<h2><strong>SSL Interactions<\/strong><\/h2>\n<p>So how does SSL work? You now understand how a certificate is issued, how it\u2019s signed and what PKI is, but how does it all fit together?<\/p>\n<p>When you visit a site the first thing your computer does is looks for the site\u2019s SSL certificate (well, maybe not the first thing\u2014but one of them). This lets your computer know if the site has been verified and if encryption will be used during communication.<\/p>\n<p>If an SSL certificate is present the computer and the website do something called the SSL handshake, wherein they trade information and capabilities so they can decide exactly how they will be encrypting information.<\/p>\n<p>If the handshake is successful, encrypted communication begins. The \u201cclient\u201d \u2013 which is the computer connecting to the website &#8211; uses the website\u2019s public key to encrypt any information it\u2019s sending \u2013 this can be anything from credit card info to computer requests for which page they want to access \u2013 while the website uses the private key to decrypt the information once its reached its server.<\/p>\n<p>This keeps the information safe from malicious third parties who may want to steal it.<\/p>\n<h2><strong>How SSL\/TLS Works<\/strong><\/h2>\n<p>While there\u2019s plenty of much more in-depth topics when it comes to SSL\/TLS, that\u2019s a basic overview of how SSL\/TLS works.<\/p>\n<p><strong>In summation:<\/strong><\/p>\n<div class=\"imgesulis\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>The certificate request is made to the CA via a CSR, the CA then vets the requester and issues the certificate.<\/li>\n<li>During issuance, the certificate is signed by the CA using a complex hashing algorithm to ensure its contents are not altered<\/li>\n<li>The certificate vouches for the requestor\u2019s identity and allows them use of PKI.<\/li>\n<li>Once the certificate is installed on the requester\u2019s website, it begins to encrypt the data of the site\u2019s visitors by creating secure and encrypted connections via the SSL handshake.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-2076\" src=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/HowSSLWorks-1.png\" alt=\"How SSL Works\" width=\"700\" height=\"200\" srcset=\"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/HowSSLWorks-1.png 700w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/HowSSLWorks-1-300x86.png 300w, https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/02\/HowSSLWorks-1-500x143.png 500w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<\/div>\n<p>We could go into more detail about root certificates, cross signing, <strong><a href=\"https:\/\/www.thesslstore.com\/sha\/sha-2-google-next-steps.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">SHA1 and SHA2<\/a><\/strong>, <a href=\"https:\/\/www.thesslstore.com\/symantec\/ecc-algorithm.aspx\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>ECC Algorithm<\/strong><\/a>, etc. And we will at a later date. But for now, this should serve as a nice entry point into how SSL\/TLS works, its architecture, its processes and its interactions.<\/p>\n\n<span style=\"--tl-form-height-m:861.156px;--tl-form-height-t:899.625px;--tl-form-height-d:899.625px;\" class=\"tl-placeholder-f-type-shortcode_12653 tl-preload-form\"><span><\/span><\/span>","protected":false},"excerpt":{"rendered":"<p>Taking a closer look at SSL\/TLS Certificates and how SSL\/TLS works You may have heard of SSL, your website may even employ SSL encryption\u2014but do you know how it works?&#8230;<\/p>\n","protected":false},"author":2,"featured_media":2836,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":"","tve_updated_post":"","tve_custom_css":"","tve_user_custom_css":"","tve_globals":{},"tcb2_ready":0,"tcb_editor_enabled":0,"tve_landing_page":"","_tve_header":"","_tve_footer":""},"categories":[130],"tags":[],"class_list":["post-2046","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-everything-encryption","post-without-tags"],"views":26470,"jetpack_featured_media_url":"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/08\/Electric_Lock_Photo.jpg","_links":{"self":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts\/2046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/comments?post=2046"}],"version-history":[{"count":0,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts\/2046\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/media\/2836"}],"wp:attachment":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/media?parent=2046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/categories?post=2046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/tags?post=2046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}