{"id":2744,"date":"2016-07-06T13:19:03","date_gmt":"2016-07-06T13:19:03","guid":{"rendered":"https:\/\/www.thesslstore.com\/blog\/?p=2744"},"modified":"2024-05-20T16:19:00","modified_gmt":"2024-05-20T20:19:00","slug":"an-introduction-to-pinning","status":"publish","type":"post","link":"https:\/\/www.thesslstore.com\/blog\/an-introduction-to-pinning\/","title":{"rendered":"SSL Pinning: Definition &#038; Introduction"},"content":{"rendered":"<h2 id=\"t-1609274274800\">SSL Pinning &amp; how it can protect you.<\/h2>\n<p>If you know the term HPKP (HTTP Public Key Pinning), that is a specific implementation of pinning that is frequently used with SSL. Here we will be covering \u201cpinning\u201d in a more general sense. Please note that pinning and HPKP are different, and not everything discussed here is accurate about HPKP. However, this article will still help you understand some of the concepts involved with HPKP. A follow-up article will specifically discuss HPKP, its implementation, and challenges.<\/p>\n<h2 id=\"t-1609274274801\"><strong>What is Certificate Pinning?<\/strong><\/h2>\n<p>Pinning is an optional mechanism that can be used to improve the security of a service or site that relies on SSL Certificates. Pinning allows you to specify a cryptographic identity that should be accepted by users visiting your site.<\/p>\n<p>That sounds complex, but it\u2019s actually pretty simple. Let\u2019s start by breaking down that down:<\/p>\n<p>A cryptographic identity is a file that can prove the identity of a server\/host through cryptography. An SSL certificate, a public key, and a CSR are all examples of a cryptographic identity. That pin would then tell the client to remember that identity (or identities) and only accept those when establishing future secure connections.<\/p>\n<p>So, if you wanted to use pinning, you would configure your server (in some situations \u2013 think internal systems \u2013 you may also configure the clients) and specify what you wanted to pin. Browsers and other clients would evaluate the pinned identity on every connection. If any other identity was presented, the client would abort the connection.<\/p>\n<p>To think big picture: an SSL connection tells the client to make an encrypted connection with any identity matching that host. Pinning tells the client a <strong>specific <\/strong>identity they should accept when making a secure connection.<\/p>\n<p>So, for example, if our site is <strong><a href=\"https:\/\/www.thesslstore.com\/\">TheSSLStore.com<\/a><\/strong>, we could pin an identity. When a user visits our site, they would receive the pinned information. On a future visit, their browser would take action if we tried to get the client to use a different identity.<\/p>\n<span style=\"display:none\" class=\"tl-placeholder-f-type-shortcode_12753\"><\/span>\n<h2 id=\"t-1609274274802\"><strong>What Pinning Protects You From<\/strong><\/h2>\n<p>One of the inherent risks to the SSL ecosystem is mis-issuance. This is when an unauthorized certificate is issued for a domain\/host you control. This can happen with both public and private <a href=\"https:\/\/www.thesslstore.com\/blog\/how-pki-works\/\">PKIs<\/a>, though the public cases are certainly better known.<\/p>\n<p>Mis-issuance can take multiple forms. In 2011, the Dutch CA DigiNotar was hacked, in what is probably the largest compromise of a public CA. A hacker was able to access their internal systems and issue certificates for any site.\u00a0 This was a total compromise of the CA system because those certificates had inaccurate cryptographic identities and the CA\u2019s issuance systems had been accessed by an unauthorized user.<\/p>\n<p>More recently, Live.fi, a website operated by Microsoft in Finland, was victim of mis-issuance. In this case, the CA was not at fault for the mis-issuance. The Live.fi service, which offers free webmail, mistakenly allowed a user to register an email address that is whitelisted for SSL certificate approval. This allowed someone without proper authorization to get a certificate for a site they did not own.<\/p>\n<p>In both these cases, pinning could have protected users of those sites (and in the case of DigiNotar, many of Google\u2019s services were protected as they were early adopters of pinning). When a user\u2019s device encountered the mis-issued certificate, it would compare that to the pinned data, and see that there was a mismatch. They would then be warned or blocked from visiting the site.<\/p>\n<p>As you can see, mis-issuance is complex. The risk of mis-issuance increases with the profile of your site. A site like gmail.com is much more likely to be attacked than a personal blog. But depending on your threat model, any site may be at risk. State actors have been known to issue fraudulent certificates for a variety of sites, including smaller sites that may have gotten attention for political reasons.<\/p>\n<h2 id=\"t-1609274274803\"><strong>Some Pins Are Better Than Others<\/strong><\/h2>\n<p>In practice, there are objectively better choices on what you pin. For example, pinning a leaf certificate (those are the certificates issued to specific domains, like the certificate for \u201cwikipedia.org\u201d) is not a very good choice. That\u2019s because there are a number of situations where you may want, or need, to change your leaf, and some of these situations may be unpredictable or out of your control.<\/p>\n<p>Returning to our example above about Wikipedia.org; if they had pinned that leaf and then suffered key compromise, they would be in trouble. Remember that pinning is done with a <strong>specific<\/strong> identity (be it a certificate, public key, etc, as discussed before). So even if they got another leaf certificate from the same vendor (and it used the same key pair), pinning would view that as the wrong identity.<\/p>\n<p>Pinning an intermediate certificate gives you more flexibility. If we pinned an intermediate certificate instead of our leaf, we <strong>would<\/strong> be able to switch out our leaf with another leaf from that same intermediate. But, if we were using a public CA, they may change their infrastructure without telling us. So when we renew our certificate the next year, we may get a leaf issued from a different intermediate. So that choice has its own unique downsides.<\/p>\n<p>You can choose to pin multiple identities and back-ups in order to reduce the chance of problems. But pinning best practices are a complicated topic we won\u2019t broach here. Just know that there you should make deliberate choices about <em>what <\/em>you choose to pin.<\/p>\n<p>In a follow-up post, we will talk about HPKP, an implementation of pinning for use on the internet. The specifics of HPKP work a bit differently \u2013 but it\u2019s conceptually similar. We will talk about the pros and cons, and why you may be better off not pinning at all.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SSL Pinning &amp; how it can protect you. If you know the term HPKP (HTTP Public Key Pinning), that is a specific implementation of pinning that is frequently used with&#8230;<\/p>\n","protected":false},"author":2,"featured_media":2842,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":"","tve_updated_post":"<div class=\"thrv_wrapper tve-toc tve-elem-scroll tve-toc-expandable tcb-local-vars-root\" data-columns=\"1\" data-ct=\"toc-60733\" data-transition=\"slide\" data-headers=\"h2,h3,h4\" data-numbering=\"none\" data-highlight=\"heading\" data-ct-name=\"Table of Contents 13\" data-heading-style=\"{&quot;0&quot;:&quot;tve-u-176b041208d&quot;,&quot;1&quot;:&quot;tve-u-176b041208e&quot;,&quot;2&quot;:&quot;tve-u-176b041208f&quot;}\" style=\"\" data-css=\"tve-u-176b0412084\" data-state-default=\"expanded\" data-state-default-d=\"expanded\" data-animation=\"slide\" data-bullet-style=\"{&quot;0&quot;:&quot;tve-u-17399ff41d4&quot;,&quot;1&quot;:&quot;tve-u-17399ffc502&quot;,&quot;2&quot;:&quot;tve-u-17399ffedb7&quot;}\" data-number-style=\"{&quot;0&quot;:&quot;tve-u-17399fecc2c&quot;,&quot;1&quot;:&quot;tve-u-173dc8687ce&quot;,&quot;2&quot;:&quot;tve-u-173dc86929b&quot;}\" data-distribute=\"false\" data-element-name=\"Table of Contents\"><div class=\"thrive-colors-palette-config\" style=\"display: none !important\">__CONFIG_colors_palette__{\"active_palette\":0,\"config\":{\"colors\":{\"11f38\":{\"name\":\"Main Accent\",\"parent\":-1},\"dd1f9\":{\"name\":\"Main Accent Light\",\"parent\":\"11f38\",\"lock\":{\"lightness\":1}}},\"gradients\":[]},\"palettes\":[{\"name\":\"Default\",\"value\":{\"colors\":{\"11f38\":{\"val\":\"rgb(30, 136, 69)\",\"hsl\":{\"h\":142,\"s\":0.63,\"l\":0.32,\"a\":1}},\"dd1f9\":{\"val\":\"rgba(4, 215, 85, 0.08)\",\"hsl_parent_dependency\":{\"h\":143,\"s\":0.96,\"l\":0.42,\"a\":0.08}}},\"gradients\":[]},\"original\":{\"colors\":{\"11f38\":{\"val\":\"rgb(30, 136, 69)\",\"hsl\":{\"h\":142,\"s\":0.63,\"l\":0.32,\"a\":1}},\"dd1f9\":{\"val\":\"rgba(4, 215, 85, 0.08)\",\"hsl_parent_dependency\":{\"h\":143,\"s\":0.96,\"l\":0.42,\"a\":0.08}}},\"gradients\":[]}}]}__CONFIG_colors_palette__<\/div><div class=\"tve-toc-divider\" style=\"position: absolute; width: 0; height: 0; overflow: hidden;\"><div class=\"thrv_wrapper thrv-divider tve-vert-divider\" data-style=\"tve_sep-1\" data-color-d=\"rgb(217, 217, 217)\"><hr class=\"tve_sep tve_sep-1\" style=\"\"><\/div><\/div><svg class=\"toc-icons\" style=\"position: absolute; width: 0; height: 0; overflow: hidden;\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><symbol viewBox=\"0 0 24 24\" id=\"toc-bullet-0\" data-id=\"icon-chevron_right-duotone\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\"><\/path><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\"><\/path><\/symbol><symbol viewBox=\"0 0 24 24\" id=\"toc-bullet-1\" data-id=\"icon-chevron_right-duotone\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\"><\/path><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\"><\/path><\/symbol><symbol viewBox=\"0 0 24 24\" id=\"toc-bullet-2\" data-id=\"icon-chevron_right-duotone\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\"><\/path><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z\"><\/path><\/symbol><\/svg>\n\t<div class=\"tve-content-box-background\" data-css=\"tve-u-176b0412085\" style=\"\"><\/div>\n\t<div class=\"thrv_wrapper tve-toc-title tcb-icon-display reverse tve-no-dropzone tve-prevent-content-edit\" data-css=\"tve-u-176b0412086\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\"><\/div>\n\t<div class=\"tve-cb\" style=\"\">\n\t\t<div class=\"tve-toc-title-icon\" data-icon-code=\"icon-chevron-down-solid\" style=\"\"><svg class=\"tcb-icon\" viewBox=\"0 0 24 24\" data-id=\"icon-chevron-down-solid\" data-name=\"\"><path d=\"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\"><\/path><\/svg><\/div>\n\t\t<div class=\"thrv_wrapper thrv_text_element tve_no_icons\">\t\t\t<div class=\"tcb-plain-text\" data-css=\"tve-u-176b0412087\" style=\"\">table of contents<\/div> \t\t<\/div>\n\t<\/div>\n<\/div><div class=\"tve-cb tve-toc-content tve-prevent-content-edit\">\n\t\t\n\n\t\t<div class=\"thrv_wrapper thrv_contentbox_shortcode thrv-content-box tve-elem-default-pad\" data-css=\"tve-u-176b0412089\" style=\"\">\n\t<div class=\"tve-content-box-background\" style=\"\" data-css=\"tve-u-176b041208a\"><\/div>\n\t<div class=\"tve-cb\"><\/div>\n<\/div><div class=\"thrv_wrapper tve-toc-list tcb-no-delete tcb-no-save tcb-no-clone tve-no-dropzone\" data-css=\"tve-u-176b041208b\" style=\"\">\n\t\t\t<div class=\"tve-content-box-background\" data-css=\"tve-u-176b041208c\" style=\"\"><\/div>\n\t\t\t<div class=\"tve-cb\">\n\t\t\t\t<div class=\"tve_ct_content tve_clearfix\"><div class=\"ct_column\"><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level0 tve_no_icons\" data-tag=\"H2\" data-css=\"tve-u-176b041208d\" data-element-name=\"Heading Level 1\"><a href=\"#t-1609274274800\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">SSL Pinning &amp; how it can protect you.<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level0 tve_no_icons\" data-tag=\"H2\" data-css=\"tve-u-176b041208d\" data-element-name=\"Heading Level 1\"><a href=\"#t-1609274274801\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">What is Certificate Pinning?<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level0 tve_no_icons\" data-tag=\"H2\" data-css=\"tve-u-176b041208d\" data-element-name=\"Heading Level 1\"><a href=\"#t-1609274274802\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">What Pinning Protects You From<\/a><\/div><div class=\"thrv_wrapper tve-toc-heading tve-toc-heading-level0 tve_no_icons\" data-tag=\"H2\" data-css=\"tve-u-176b041208d\" data-element-name=\"Heading Level 1\"><a href=\"#t-1609274274803\" class=\"tve-toc-anchor tve-jump-scroll\" jump-animation=\"smooth\">Some Pins Are Better Than Others<\/a><\/div><\/div><div class=\"thrv_wrapper thrv-divider tve-vert-divider\" data-style=\"tve_sep-1\" data-color-d=\"rgb(217, 217, 217)\"><hr class=\"tve_sep tve_sep-1\" style=\"\"><\/div><\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\" style=\"\"><h2 class=\"\" id=\"t-1609274274800\">SSL Pinning &amp; how it can protect you.<\/h2><p>If you know the term HPKP (HTTP Public Key Pinning), that is a specific implementation of pinning that is frequently used with SSL. Here we will be covering \u201cpinning\u201d in a more general sense. Please note that pinning and HPKP are different, and not everything discussed here is accurate about HPKP. However, this article will still help you understand some of the concepts involved with HPKP. A follow-up article will specifically discuss HPKP, its implementation, and challenges.<\/p><h2 class=\"\" id=\"t-1609274274801\"><strong>What is Certificate Pinning?<\/strong><\/h2><p>Pinning is an optional mechanism that can be used to improve the security of a service or site that relies on SSL Certificates. Pinning allows you to specify a cryptographic identity that should be accepted by users visiting your site.<\/p><p>That sounds complex, but it\u2019s actually pretty simple. Let\u2019s start by breaking down that down:<\/p><p>A cryptographic identity is a file that can prove the identity of a server\/host through cryptography. An SSL certificate, a public key, and a CSR are all examples of a cryptographic identity. That pin would then tell the client to remember that identity (or identities) and only accept those when establishing future secure connections.<\/p><p>So, if you wanted to use pinning, you would configure your server (in some situations \u2013 think internal systems \u2013 you may also configure the clients) and specify what you wanted to pin. Browsers and other clients would evaluate the pinned identity on every connection. If any other identity was presented, the client would abort the connection.<\/p><p>To think big picture: an SSL connection tells the client to make an encrypted connection with any identity matching that host. Pinning tells the client a <strong>specific <\/strong>identity they should accept when making a secure connection.<\/p><p>So, for example, if our site is <strong><a href=\"https:\/\/www.thesslstore.com\/\">TheSSLStore.com<\/a><\/strong>, we could pin an identity. When a user visits our site, they would receive the pinned information. On a future visit, their browser would take action if we tried to get the client to use a different identity.<\/p><p>[thrive_leads id='12753']<\/p><h2 class=\"\" id=\"t-1609274274802\"><strong>What Pinning Protects You From<\/strong><\/h2><p>One of the inherent risks to the SSL ecosystem is mis-issuance. This is when an unauthorized certificate is issued for a domain\/host you control. This can happen with both public and private <a href=\"https:\/\/www.thesslstore.com\/blog\/how-pki-works\/\">PKIs<\/a>, though the public cases are certainly better known.<\/p><p>Mis-issuance can take multiple forms. In 2011, the Dutch CA DigiNotar was hacked, in what is probably the largest compromise of a public CA. A hacker was able to access their internal systems and issue certificates for any site.&nbsp; This was a total compromise of the CA system because those certificates had inaccurate cryptographic identities and the CA\u2019s issuance systems had been accessed by an unauthorized user.<\/p><p>More recently, Live.fi, a website operated by Microsoft in Finland, was victim of mis-issuance. In this case, the CA was not at fault for the mis-issuance. The Live.fi service, which offers free webmail, mistakenly allowed a user to register an email address that is whitelisted for SSL certificate approval. This allowed someone without proper authorization to get a certificate for a site they did not own.<\/p><p>In both these cases, pinning could have protected users of those sites (and in the case of DigiNotar, many of Google\u2019s services were protected as they were early adopters of pinning). When a user\u2019s device encountered the mis-issued certificate, it would compare that to the pinned data, and see that there was a mismatch. They would then be warned or blocked from visiting the site.<\/p><p>As you can see, mis-issuance is complex. The risk of mis-issuance increases with the profile of your site. A site like gmail.com is much more likely to be attacked than a personal blog. But depending on your threat model, any site may be at risk. State actors have been known to issue fraudulent certificates for a variety of sites, including smaller sites that may have gotten attention for political reasons.<\/p><\/div><div class=\"thrv_responsive_video thrv_wrapper\" data-type=\"youtube\" data-rel=\"0\" data-modestbranding=\"1\" data-aspect-ratio=\"16:9\" data-aspect-ratio-default=\"0\" data-float-visibility=\"mobile\" data-url=\"https:\/\/www.youtube.com\/watch?v=3coPpYJgFro\" data-float-position=\"top-left\" data-float-width-d=\"300px\" data-float-padding1-d=\"25px\" data-float-padding2-d=\"25px\" style=\"\">\n\t\n\n\t<div class=\"tve_responsive_video_container\" style=\"padding-bottom: 56.25%;\">\n\t\t<div class=\"tcb-video-float-container\"><div class=\"video_overlay\"><\/div><div class=\"fluid-width-video-wrapper\" style=\"padding-top: 56.2478%;\"><iframe title=\"Responsive Video\" class=\"tcb-responsive-video\" data-code=\"3coPpYJgFro\" data-provider=\"youtube\" frameborder=\"0\" allowfullscreen=\"\" id=\"fitvid0\" data-src=\"https:\/\/www.youtube.com\/embed\/3coPpYJgFro?rel=0&amp;modestbranding=1&amp;controls=1&amp;showinfo=1&amp;fs=1&amp;wmode=transparent\"><\/iframe><\/div><\/div>\n\t<\/div>\n<\/div><div class=\"thrv_wrapper thrv_text_element\"><h2 class=\"\" id=\"t-1609274274803\"><strong>Some Pins Are Better Than Others<\/strong><\/h2><p>In practice, there are objectively better choices on what you pin. For example, pinning a leaf certificate (those are the certificates issued to specific domains, like the certificate for \u201cwikipedia.org\u201d) is not a very good choice. That\u2019s because there are a number of situations where you may want, or need, to change your leaf, and some of these situations may be unpredictable or out of your control.<\/p><p>Returning to our example above about Wikipedia.org; if they had pinned that leaf and then suffered key compromise, they would be in trouble. Remember that pinning is done with a <strong>specific<\/strong> identity (be it a certificate, public key, etc, as discussed before). So even if they got another leaf certificate from the same vendor (and it used the same key pair), pinning would view that as the wrong identity.<\/p><p>Pinning an intermediate certificate gives you more flexibility. If we pinned an intermediate certificate instead of our leaf, we <strong>would<\/strong> be able to switch out our leaf with another leaf from that same intermediate. But, if we were using a public CA, they may change their infrastructure without telling us. So when we renew our certificate the next year, we may get a leaf issued from a different intermediate. So that choice has its own unique downsides.<\/p><p>You can choose to pin multiple identities and back-ups in order to reduce the chance of problems. But pinning best practices are a complicated topic we won\u2019t broach here. Just know that there you should make deliberate choices about <em>what <\/em>you choose to pin.<\/p><p>In a follow-up post, we will talk about HPKP, an implementation of pinning for use on the internet. The specifics of HPKP work a bit differently \u2013 but it\u2019s conceptually similar. We will talk about the pros and cons, and why you may be better off not pinning at all.<\/p><p>[thrive_leads id='14540']<\/p><\/div>","tve_custom_css":"@media (min-width: 300px){:not(#tve) [data-css=\"tve-u-173a4cf6569\"].tve-state-expanded p, li, blockquote, address, .tcb-plain-text, label, h1, h2, h3, h4, h5, h6 { color: var(--tve-color, hsla(calc(var(--tcb-main-master-h, 185) + 2 ), calc(var(--tcb-main-master-s, 59%) - 48% ), calc(var(--tcb-main-master-l, 42%) - 15% ), 1)); --tve-applied-color:var$(--tve-color, hsla(calc(var(--tcb-main-master-h, 185) + 2 ), calc(var(--tcb-main-master-s, 59%) - 48% ), calc(var(--tcb-main-master-l, 42%) - 15% ), 1)); --tcb-applied-color:hsla(calc(var(--tcb-main-master-h, 185) + 2 ), calc(var(--tcb-main-master-s, 59%) - 48% ), calc(var(--tcb-main-master-l, 42%) - 15% ), 1); }:not(#tve) [data-css=\"tve-u-173a4cf65a6\"].tve-state-expanded p, li, blockquote, address, .tcb-plain-text, label, h1, h2, h3, h4, h5, h6 { color: var(--tve-color, hsla(calc(var(--tcb-main-master-h, 185) + 2 ), calc(var(--tcb-main-master-s, 59%) - 48% ), calc(var(--tcb-main-master-l, 42%) - 15% ), 1)); --tve-applied-color:var$(--tve-color, hsla(calc(var(--tcb-main-master-h, 185) + 2 ), calc(var(--tcb-main-master-s, 59%) - 48% ), calc(var(--tcb-main-master-l, 42%) - 15% ), 1)); --tcb-applied-color:hsla(calc(var(--tcb-main-master-h, 185) + 2 ), calc(var(--tcb-main-master-s, 59%) - 48% ), calc(var(--tcb-main-master-l, 42%) - 15% ), 1); }[data-css=\"tve-u-176b041208c\"] { overflow: hidden; border-radius: 15px !important; }[data-css=\"tve-u-176b041208b\"] { padding: 0px !important; margin-top: 0px !important; margin-bottom: 10px !important; }[data-css=\"tve-u-176b0412084\"] { --tve-toc-indent:20px; max-width: 100%; float: none; --tcb-local-color-11f38:rgb(30, 136, 69); --tcb-local-color-dd1f9:rgba(4, 215, 85, 0.08); padding: 15px !important; margin-left: auto !important; margin-right: auto !important; --tve-applied-max-width:100%  !important; }[data-css=\"tve-u-176b0412085\"] { box-shadow: rgba(0, 0, 0, 0.08) 0px 5px 12px 1px; overflow: hidden; border-radius: 0px !important; background-image: linear-gradient(rgb(255, 255, 255), rgb(255, 255, 255)) !important; border-top: none !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }:not(#tve) [data-css=\"tve-u-176b041208c\"] { background-image: none !important; }[data-css=\"tve-u-176b041208a\"] { border-top: 2px solid var(--tcb-local-color-11f38)  !important; border-bottom: none !important; }[data-css=\"tve-u-176b0412089\"] { float: none; width: 40px; z-index: 3; position: relative; margin: 0px auto 5px !important; padding: 0px !important; }[data-css=\"tve-u-176b041208d\"] { font-size: var(--tve-font-size, 16px); --tve-font-size:16px; color: var(--tve-color, rgb(85, 85, 85)); --tve-color:rgb(85, 85, 85); --tcb-applied-color:rgb(85, 85, 85); line-height: var(--tve-line-height, 1.6em); --tve-line-height:1.6em; padding: 8px !important; }[data-css=\"tve-u-176b041208d\"].tve-state-expanded { color: var(--tve-color, rgb(255, 255, 255)); --tve-color:rgb(255, 255, 255); --tcb-applied-color:rgb(255, 255, 255); background-image: linear-gradient(var(--tcb-local-color-11f38), var(--tcb-local-color-11f38))  !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }:not(#tve) [data-css=\"tve-u-176b041208d\"]:hover { background-image: linear-gradient(var(--tcb-local-color-dd1f9), var(--tcb-local-color-dd1f9))  !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; color: var(--tve-color, var(--tcb-local-color-11f38))  !important; --tve-color:var(--tcb-local-color-11f38)  !important; --tcb-applied-color:var$(--tcb-local-color-11f38)  !important; }[data-css=\"tve-u-176b041208e\"] { font-size: var(--tve-font-size, 16px); --tve-font-size:16px; color: var(--tve-color, rgb(85, 85, 85)); --tve-color:rgb(85, 85, 85); --tcb-applied-color:rgb(85, 85, 85); line-height: var(--tve-line-height, 1.6em); --tve-line-height:1.6em; padding: 8px !important; }[data-css=\"tve-u-176b041208e\"].tve-state-expanded { color: var(--tve-color, rgb(255, 255, 255)); --tve-color:rgb(255, 255, 255); --tcb-applied-color:rgb(255, 255, 255); background-image: linear-gradient(var(--tcb-local-color-11f38), var(--tcb-local-color-11f38))  !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }:not(#tve) [data-css=\"tve-u-176b041208e\"]:hover { color: var(--tve-color, var(--tcb-local-color-11f38))  !important; --tve-color:var(--tcb-local-color-11f38)  !important; --tcb-applied-color:var$(--tcb-local-color-11f38)  !important; background-image: linear-gradient(var(--tcb-local-color-dd1f9), var(--tcb-local-color-dd1f9))  !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }[data-css=\"tve-u-176b041208f\"] { font-size: var(--tve-font-size, 16px); --tve-font-size:16px; color: var(--tve-color, rgb(85, 85, 85)); --tve-color:rgb(85, 85, 85); --tcb-applied-color:rgb(85, 85, 85); line-height: var(--tve-line-height, 1.6em); --tve-line-height:1.6em; padding: 8px !important; }[data-css=\"tve-u-176b041208f\"].tve-state-expanded { color: var(--tve-color, rgb(255, 255, 255)); --tve-color:rgb(255, 255, 255); --tcb-applied-color:rgb(255, 255, 255); background-image: linear-gradient(var(--tcb-local-color-11f38), var(--tcb-local-color-11f38))  !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }:not(#tve) [data-css=\"tve-u-176b041208f\"]:hover { color: var(--tve-color, var(--tcb-local-color-11f38))  !important; --tve-color:var(--tcb-local-color-11f38)  !important; --tcb-applied-color:var$(--tcb-local-color-11f38)  !important; background-image: linear-gradient(var(--tcb-local-color-dd1f9), var(--tcb-local-color-dd1f9))  !important; background-size: auto !important; background-position: 50% 50% !important; background-attachment: scroll !important; background-repeat: no-repeat !important; }:not(#tve) [data-css=\"tve-u-176b0412087\"] { letter-spacing: 2px; text-transform: uppercase !important; font-size: 13px !important; color: rgb(0, 0, 0) !important; --tcb-applied-color:rgb(0, 0, 0)  !important; --tve-applied-color:rgb(0, 0, 0)  !important; }[data-css=\"tve-u-176b0412086\"] { padding: 12px 5px !important; margin-bottom: -1px !important; margin-top: 0px !important; }:not(#tve) [data-css=\"tve-u-176b0412086\"] > .tve-content-box-background { background-color: rgb(244, 244, 244) !important; --tve-applied-background-color:rgb(244, 244, 244)  !important; }[data-css=\"tve-u-176b0412086\"] .tve-toc-title-icon { font-size: 16px !important; width: 16px !important; height: 16px !important; }[data-css=\"tve-u-17399fecc2c\"] { padding: 0px !important; }[data-css=\"tve-u-173dc8687ce\"] { padding: 0px !important; }[data-css=\"tve-u-173dc86929b\"] { padding: 0px !important; }}@media (max-width: 767px){[data-css=\"tve-u-176b0412084\"] { padding: 10px 10px 20px !important; }[data-css=\"tve-u-176b041208d\"] { font-size: var(--tve-font-size, 15px); --tve-font-size:15px; padding: 7px !important; }[data-css=\"tve-u-176b041208e\"] { font-size: var(--tve-font-size, 15px); --tve-font-size:15px; padding: 7px !important; }[data-css=\"tve-u-176b041208f\"] { font-size: var(--tve-font-size, 15px); --tve-font-size:15px; padding: 7px !important; }}","tve_user_custom_css":"","tve_globals":{"e":"1","font_cls":[]},"tcb2_ready":1,"tcb_editor_enabled":0,"tve_landing_page":"","_tve_header":"0","_tve_footer":"0"},"categories":[130],"tags":[],"class_list":["post-2744","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-everything-encryption","post-without-tags"],"views":119750,"jetpack_featured_media_url":"https:\/\/www.thesslstore.com\/blog\/wp-content\/uploads\/2016\/08\/iStock_70722447_SMALL.jpg","_links":{"self":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts\/2744","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=2744"}],"version-history":[{"count":0,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/posts\/2744\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/media\/2842"}],"wp:attachment":[{"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/media?parent=2744"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/categories?post=2744"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thesslstore.com\/blog\/wp-json\/wp\/v2\/tags?post=2744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}