{"id":243,"date":"2025-10-22T14:30:41","date_gmt":"2025-10-22T05:30:41","guid":{"rendered":"https:\/\/hed-g.me\/?p=243"},"modified":"2025-10-20T14:39:55","modified_gmt":"2025-10-20T05:39:55","slug":"https-tls-hsts","status":"publish","type":"post","link":"https:\/\/hed-g.me\/?p=243","title":{"rendered":"HTTPS TLS, HSTS"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">HTTP\uc758 \ud55c\uacc4<\/h2>\n\n\n\n<p>\uae30\ubcf8\uc801\uc73c\ub85c HTTP \ud504\ub85c\ud1a0\ucf5c\uc740 \ud3c9\ubb38(plain text)\uc73c\ub85c \ub370\uc774\ud130\ub97c \uc8fc\uace0 \ubc1b\uace0,<\/p>\n\n\n\n<p>\uc774\ub294 \ub85c\uadf8\uc778 \uc815\ubcf4, \uc138\uc158 \ucfe0\ud0a4, API \uc751\ub2f5 \ub4f1 \ubaa8\ub4e0 \ud1b5\uc2e0 \ub0b4\uc6a9\uc774 \ub178\ucd9c\ub420 \uc218 \uc788\ub294 \uc704\ud5d8\uc744 \ub0b4\ud3ec\ud55c\ub2e4.<\/p>\n\n\n\n<p>\uc774\ub7f0 HTTP\uc758 \ud55c\uacc4\ub97c \uc774\uc6a9\ud55c \ub300\ud45c\uc801\uc778 \uacf5\uaca9\uc73c\ub85c\ub294<\/p>\n\n\n\n<p>\uc911\uac04\uc790 \uacf5\uaca9(MITM, Man-in-the-Middle)\uc774 \uc788\uc73c\uba70, \uacf5\uaca9\uc790\ub294 \uc774 \uacf5\uaca9\uc744 \ud1b5\ud574 \uc0ac\uc6a9\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c<\/p>\n\n\n\n<p>\ud2b8\ub798\ud53d\uc744 \uac00\ub85c\ucc44\uace0 \ub0b4\uc6a9\uc744 \uc5f4\ub78c\ud558\uac70\ub098 \uc218\uc815\ud560 \uc218 \uc788\ub2e4. (e.g. \uce74\ud398 \uc640\uc774\ud30c\uc774\uc5d0\uc11c \ube44\ubc00\ubc88\ud638 \uc720\ucd9c)<\/p>\n\n\n\n<p>\uc774\ub97c \ud574\uacb0\ud558\uae30 \uc704\ud574, \ud3c9\ubb38\uc758 \ub370\uc774\ud130\ub97c \uc804\uc1a1, \uc989 \uc8fc\uace0 \ubc1b\uc744 \ub54c<\/p>\n\n\n\n<p>\uc774 <strong>\uc804\uc1a1 \uad6c\uac04\uc744 \uc554\ud638\ud654(Encryption)<\/strong> \ud558\ub294 \uac83\uc744 \ub3c4\uc785\ud558\uace0\uc790 \ud588\ub2e4.<\/p>\n\n\n\n<p>\uc774 \uc554\ud638\ud654\ub97c \uc218\ud589\ud558\ub294 \uae30\uc220\uc744 <strong>TLS(Transport Layer Security)<\/strong> \ub77c \ud55c\ub2e4.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TLS?<\/h2>\n\n\n\n<p>\uc6f9 \ud1b5\uc2e0\uc744 \uc554\ud638\ud654\ud558\uae30 \uc704\ud55c \ud45c\uc900 \ud504\ub85c\ud1a0\ucf5c,<\/p>\n\n\n\n<p>\uc774\uc804\uc5d0\ub294 SSL(Secure Sockets Layer)\uc774\ub77c \ubd88\ub838\uc9c0\ub9cc, \uc5ec\ub7ec \ubcf4\uc548 \uacb0\ud568\uc774 \ubc1c\uacac\ub418\uc5c8\ub2e4.<\/p>\n\n\n\n<p>\uc5ec\ub7ec \ubcf4\uc548 \uacb0\ud568\ub4e4\uc744 \ud574\uacb0\ud558\uace0 \ucd94\uac00\uc801\uc778 \ubcf4\uc548 \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub3c4\ub85d \uac1c\uc120\ub41c \uac83\uc774 TLS(\ubc84\uc804 \uc5c5\uadf8\ub808\uc774\ub4dc).<\/p>\n\n\n\n<p>TLS\ub294 \ud1b5\uc2e0 \uacfc\uc815\uc5d0\uc11c \ub2e4\uc74c \uc138 \uac00\uc9c0\ub97c \ubcf4\uc7a5\ud55c\ub2e4.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uae30\ubc00\uc131(Confidentiality): \uc81c3\uc790\uac00 \ub370\uc774\ud130\ub97c \uc77d\uc744 \uc218 \uc5c6\uc74c.<\/li>\n\n\n\n<li>\ubb34\uacb0\uc131(Integrity): \ub370\uc774\ud130\uac00 \uc911\uac04\uc5d0\uc11c \ubcc0\uc870\ub418\uc9c0 \uc54a\uc74c.<\/li>\n\n\n\n<li>\uc778\uc99d(Authentication): \uc11c\ubc84 \ub610\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uc2e0\ub8b0\ud560 \uc218 \uc788\ub294 \ub300\uc0c1\uc784\uc744 \uac80\uc99d.<\/li>\n<\/ul>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TLS \ud578\ub4dc\uc170\uc774\ud06c \uacfc\uc815<\/h2>\n\n\n\n<p>TLS\ub294 \uc2e4\uc81c \ub370\uc774\ud130 \uc804\uc1a1 \uc804\uc5d0 \uc554\ud638\ud654\ub41c \uc5f0\uacb0\uc744 \uc218\ub9bd(handshake)\ud55c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">&nbsp;<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">Client Hello<\/h3>\n\n\n\n<p>\ube0c\ub77c\uc6b0\uc800(\ud074\ub77c\uc774\uc5b8\ud2b8)\uac00 \uc11c\ubc84\uc5d0 TLS\ub97c \uc0ac\uc6a9\ud558\uace0 \uc2f6\uc740 \uc758\uc0ac\uc640 \uac00\ub2a5\ud55c \uc554\ud638\ud654 \uc54c\uace0\ub9ac\uc998\uc744 \uc81c\uc548\ud55c\ub2e4.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Server Hello<\/h3>\n\n\n\n<p>\uc11c\ubc84\uac00 \uc554\ud638\ud654 \uc54c\uace0\ub9ac\uc998\uc744 \uc120\ud0dd, \uacf5\uac1c\ud0a4\uac00 \ub2f4\uae34 SSL \uc778\uc99d\uc11c\ub97c \uc804\ub2ec\ud55c\ub2e4.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\uc778\uc99d\uc11c \uac80\uc99d<\/h3>\n\n\n\n<p>\ube0c\ub77c\uc6b0\uc800\ub294 \uc774 \uc778\uc99d\uc11c\uac00 \uc2e0\ub8b0\ud560 \uc218 \uc788\ub294 \uae30\uad00(CA, Certificate Authority)\uc5d0\uc11c \ubc1c\uae09\ub41c \uac83\uc778\uc9c0 \uac80\uc99d,<\/p>\n\n\n\n<p>\uc778\uc99d\uc11c\uc5d0 \ud3ec\ud568\ub41c \ub3c4\uba54\uc778, \ub9cc\ub8cc\uc77c, \uc11c\uba85 \uc815\ubcf4 \ub4f1\uc744 \uac80\uc0ac\ud55c\ub2e4.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ube44\ubc00\ud0a4 \uad50\ud658<\/h3>\n\n\n\n<p>\ube0c\ub77c\uc6b0\uc800\uc640 \uc11c\ubc84\ub294 \uacf5\uac1c\ud0a4 \uc554\ud638\ud654\ub97c \ud1b5\ud574 \uc138\uc158 \ud0a4\ub97c \uad50\ud658,<\/p>\n\n\n\n<p>\uc774\ud6c4 \ub370\uc774\ud130\ub294 \uc774 \uc138\uc158 \ud0a4\ub85c \ub300\uce6d \uc554\ud638\ud654\ub418\uc5b4 \ud1b5\uc2e0\ud55c\ub2e4.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTTPS\ub294 TLS \uc704\uc758 HTTP<\/h2>\n\n\n\n<p>HTTPS = HTTP + TLS<\/p>\n\n\n\n<p>HTTP\uc758 \ub0b4\uc6a9(\uc694\uccad \uba54\uc11c\ub4dc, \ud5e4\ub354, \ubc14\ub514 \ub4f1)\uc740 \uadf8\ub300\ub85c, \u2018\uc804\uc1a1\ud558\ub294 \uacfc\uc815\u2019\ub9cc \uc554\ud638\ud654\ud55c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">HTTPS\uc758 \ud6a8\uacfc<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud1b5\uc2e0 \uc911 \ube44\ubc00\ubc88\ud638, \ucfe0\ud0a4, API \uc751\ub2f5\uc774 \ub178\ucd9c\ub418\uc9c0 \uc54a\uc74c.<\/li>\n\n\n\n<li>\uc138\uc158 \ud558\uc774\uc7ac\ud0b9(Session Hijacking), \ucfe0\ud0a4 \ud0c8\ucde8 \ub4f1\uc758 \uc704\ud5d8\uc774 \ud06c\uac8c \uc904\uc5b4\ub4e0\ub2e4.<\/li>\n\n\n\n<li>HTTP\/2, HTTP\/3 \ub4f1 \ucd5c\uc2e0 \ud504\ub85c\ud1a0\ucf5c\uc740 \ubaa8\ub450 HTTPS\ub97c \uae30\ubc18\uc73c\ub85c \ub3d9\uc791.<\/li>\n<\/ul>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HSTS(HTTP Strict Transport Security)<\/h2>\n\n\n\n<p>HTTPS\ub97c \uc801\uc6a9\ud588\ub2e4\uace0 \uc644\uc804\ud788 \uc548\uc804\ud55c \uac83\uc740 \uc544\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ucd5c\ucd08 \uc811\uc18d\uc774 HTTP\ub85c \uc774\ub8e8\uc5b4\uc9c0\ub294 \uc0c1\ud669\uc744 \uc0dd\uac01\ud574\ubcf4\uc790.<\/p>\n\n\n\n<p>e.g.<\/p>\n\n\n\n<p>\uc0ac\uc6a9\uc790\uac00 <a href=\"http:\/\/example.com\">http:\/\/example.com<\/a> \uc744 \uc785\ub825\ud558\uc5ec \uc811\uc18d \uc2dc\ub3c4,<\/p>\n\n\n\n<p>\ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c\ub294 \uba3c\uc800 HTTP\ub85c \uc694\uccad \u2192 \uc11c\ubc84\uac00 301 \ub9ac\ub2e4\uc774\ub809\ud2b8 \u2192 HTTP\ub85c \uc774\ub3d9\ud558\uac8c \ub41c\ub2e4.<\/p>\n\n\n\n<p>\uc774\ub54c, \uc774 \uccab \uc694\uccad \uc0ac\uc774\uc5d0 \uacf5\uaca9\uc790\uac00 \uac1c\uc785\ud558\uba74 \uc5ec\uc804\ud788 \uc911\uac04\uc790 \uacf5\uaca9 \uac00\ub2a5\uc131\uc774 \uc874\uc7ac\ud558\uac8c \ub41c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">HSTS\ub85c \ud574\uacb0\ud560 \uc218 \uc788\ub2e4<\/h3>\n\n\n\n<p>HSTS\ub294 \uc11c\ubc84\uac00 \ube0c\ub77c\uc6b0\uc800\uc5d0 \ub2e4\uc74c \ud5e4\ub354\ub97c \ub0b4\ub824\uc8fc\ub294 \ubc29\uc2dd\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Strict-Transport-Security: max-age=3153600; includeSubDomains; preload<\/code><\/pre>\n\n\n\n<p>\uc774\ud6c4 \ube0c\ub77c\uc6b0\uc800\ub294 \ud574\ub2f9 \ub3c4\uba54\uc778\uc5d0 \ub300\ud574,<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ubb34\uc870\uac74 HTTPS\ub85c\ub9cc \uc811\uc18d\ud558\ub3c4\ub85d \uac15\uc81c.<\/li>\n\n\n\n<li>HTTP \uc694\uccad \uc2dc\ub3c4\ud558\uc9c0 \uc54a\uc74c(\ub9ac\ub2e4\uc774\ub809\ud2b8 \uc774\uc804\uc5d0 \ucc28\ub2e8)<\/li>\n\n\n\n<li>preload \uc635\uc158\uc744 \ub4f1\ub85d \uc2dc \uc8fc\uc694 \ube0c\ub77c\uc6b0\uc800\uc758 HSTS Preload List\uc5d0 \ub3c4\uba54\uc778\uc774 \ud3ec\ud568\ub418\uc5b4, \uccab \ubc29\ubb38 \uc804\uc5d0 HTTPS\ub9cc \uc0ac\uc6a9 \uac00\ub2a5.<\/li>\n<\/ul>\n\n\n\n<p>\uc989, \uc0ac\uc6a9\uc790\uac00 <strong>HTTP\ub85c \uc811\uc18d\ud558\ub3c4\ub85d \ud5c8\uc6a9\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/strong><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>HTTP\uc758 \ud55c\uacc4 \uae30\ubcf8\uc801\uc73c\ub85c HTTP \ud504\ub85c\ud1a0\ucf5c\uc740 \ud3c9\ubb38(plain text)\uc73c\ub85c \ub370\uc774\ud130\ub97c \uc8fc\uace0 \ubc1b\uace0, \uc774\ub294 \ub85c\uadf8\uc778 \uc815\ubcf4, \uc138\uc158 \ucfe0\ud0a4, API \uc751\ub2f5 \ub4f1 \ubaa8\ub4e0 \ud1b5\uc2e0 \ub0b4\uc6a9\uc774 \ub178\ucd9c\ub420 \uc218 \uc788\ub294 \uc704\ud5d8\uc744 \ub0b4\ud3ec\ud55c\ub2e4. \uc774\ub7f0 HTTP\uc758 \ud55c\uacc4\ub97c \uc774\uc6a9\ud55c \ub300\ud45c\uc801\uc778 \uacf5\uaca9\uc73c\ub85c\ub294 \uc911\uac04\uc790 \uacf5\uaca9(MITM, Man-in-the-Middle)\uc774 \uc788\uc73c\uba70, \uacf5\uaca9\uc790\ub294 \uc774 \uacf5\uaca9\uc744 \ud1b5\ud574 \uc0ac\uc6a9\uc790\uc758 \ub124\ud2b8\uc6cc\ud06c \ud2b8\ub798\ud53d\uc744 \uac00\ub85c\ucc44\uace0 \ub0b4\uc6a9\uc744 \uc5f4\ub78c\ud558\uac70\ub098 \uc218\uc815\ud560 \uc218 \uc788\ub2e4. (e.g. \uce74\ud398 \uc640\uc774\ud30c\uc774\uc5d0\uc11c \ube44\ubc00\ubc88\ud638 \uc720\ucd9c) \uc774\ub97c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[41],"tags":[163,58,162,171,172,72],"class_list":["post-243","post","type-post","status-publish","format-standard","hentry","category-computer-science","tag-hsts","tag-http","tag-https","tag-ssl","tag-tls","tag-72"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hed-g.me\/index.php?rest_route=\/wp\/v2\/posts\/243","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hed-g.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hed-g.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hed-g.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hed-g.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=243"}],"version-history":[{"count":3,"href":"https:\/\/hed-g.me\/index.php?rest_route=\/wp\/v2\/posts\/243\/revisions"}],"predecessor-version":[{"id":249,"href":"https:\/\/hed-g.me\/index.php?rest_route=\/wp\/v2\/posts\/243\/revisions\/249"}],"wp:attachment":[{"href":"https:\/\/hed-g.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hed-g.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hed-g.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}