๐ก [HTTPS] 1. ์ํธํ์ ๋ํ์ฌ(๋์นญํค, ๊ณต๊ฐํค) ์์ ์ด์ด์ง๋ ๊ธ์ ๋๋ค.
์ค๋์ ์ํธํ ๋ฐฉ์์ ์ด์ด์, HTTPS์ ๋ํด ์์๋ณด๋ ค๊ณ ํ๋ค.
์ด์ ํฌ์คํ ์์ ๋ค๋ฃฌ ๋์นญํค, ๊ณต๊ฐํค ๋ฐฉ์์ HTTPS์์ ์ด๋ป๊ฒ ์ ์ฉํ๊ณ ์๋์ง ํ์ธํด๋ณด์.
์ํค๋ฐฑ๊ณผ์์ ์ ์ํ๊ณ ์๋ HTTPS๋ ๋ค์๊ณผ ๊ฐ๋ค.
Hypertext Transfer Protocol Secure(HTTPS) is an extension of theย Hypertext Transfer Protocol
(HTTP). It is used forย secure communication over aย computer network, and is widely used on the Internet. In HTTPS, theย communication protocol is encrypted usingย Transport Layer Security (TLS) or, formerly, Secure Sockets Layer (SSL). The protocol is therefore also referred to asย HTTP over TLSย orย HTTP over SSL.
์ฌ๊ธฐ์ ์ ์ ์๋ ์ฌ์ค์
ํ ๋ง๋๋ก ์ ๋ฆฌํ๋ฉด, โSSL/TLS์ ์ฌ์ฉํด ์ํธํํ์ฌ ๋ณด์ ํต์ ์ ์ ๊ณตํ๋ HTTP์ ํ์ฅ๋ ๋ฒ์ โ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. HTTP์๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ ๊ณผ์ ์ด ์๊ธฐ ๋๋ฌธ์, ์๋ฒ์ ๋ธ๋ผ์ฐ์ ์ ํต์ ๊ณผ์ ์์ ๋ฐ์ดํฐ๊ฐ ๊ทธ๋๋ก ๋ ธ์ถ๋ ์ํ์ด ํฌ๋ค. ๊ทธ๋์ HTTPS๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ, ๋ณด์์ ๋ฏผ๊ฐํ ์ ๋ณด๋ค์ ์์ ํ๊ฒ ์ ๋ฌํ ์ ์๊ฒ ๋์์ค๋ค.
์ด์ SSL/TLS์ด๋ ๋ฌด์์ด๊ณ , HTTPS๊ฐ ์ด๋ค ๋ฐฉ์์ผ๋ก ๋ณด์ ํต์ ์ ์ ๊ณตํ๋์ง ์์๋ณด์.
์ด๋ฒ์๋ ์ํค๋ฐฑ๊ณผ์ ์๋ ์ ์๋ฅผ ๊ฐ์ ธ์ ๋ณด์๋ค.
Transport Layer Securityย (TLS), the successor of the now-deprecatedย Secure Sockets Layerย (SSL), is aย cryptographic protocolย designed to provide communications security over a computer network. Theย protocolย is widely used in applications such asย email,ย instant messaging, andย voice over IP, but its use in securingย HTTPSย remains the most publicly visible.
SSL/TLS๋ ์์ ์ ์์ฒ๋ผ ์ปดํจํฐ ๋คํธ์ํฌ ์์์ ๋ณด์ ํต์ ์ ์ ๊ณตํ๊ธฐ ์ํด ์ค๊ณ๋ ํ๋กํ ์ฝ์ด๋ค.
TLS๋ SSL์ ์ทจ์ฝ์ ๋ค์ ๊ฐ์ ํ ๋ค์ ๋ฒ์ ์ ํ๋กํ ์ฝ๋ก, ๋ณด์ ํ๋กํ ์ฝ์ด๋ผ๋ ์๋ฏธ์์ SSL๊ณผ ํผ์ฉํด์ ์ฐ์ด๊ธฐ๋ ํ๋ค.
SSL/TLS๋ ํน์ ๋คํธ์ํฌ ๊ณ์ธต์ ์ํ๋ ํ๋กํ ์ฝ์ด ์๋๋ผ, ๋ ์์ ์ผ๋ก ์กด์ฌํ๋ ํ๋กํ ์ฝ์ด๋ค. ์ ํํ๊ฒ๋ ์์ฉ ๊ณ์ธต(Application Layer)๊ณผ ์ ์ก ๊ณ์ธต(Transport Layer) ์ฌ์ด์ ์์นํด, ๋ณด์ ๊ณผ์ ์ ์ํํ๋ค.
HTTPS๋ ์์ฉ ๊ณ์ธต ํ๋กํ ์ฝ์ธ HTTP์ ์ ์ก ๊ณ์ธต ํ๋กํ ์ฝ์ธ TCP ์ฌ์ด์ SSL/TLS ํ๋กํ ์ฝ์ ๊ฑฐ์น๋๋ก ์ค๊ณ๋์ด ์๋ค. ์ธ๋ถ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋๋ HTTP๊ฐ TCP์ ๋ณด๋ด๋ ๊ฒ์ฒ๋ผ ๋ฐ์ดํฐ๋ฅผ SSL์๊ฒ ๋ณด๋ด๋ฉด, SSL์ด ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ TCP์๊ฒ ์ ๋ฌํ๋ค. ์ญ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋๋ TCP๊ฐ HTTP ๋์ SSL์๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ฉด, SSL์ด ๋ฐ์ดํฐ๋ฅผ ๋ณตํธํํ์ฌ HTTP์๊ฒ ์ ๋ฌํ๋ค.
HTTPS๋ ์์ ๋ค๋ฃฌ ๋์นญํค ๋ฐฉ์๊ณผ ๊ณต๊ฐํค ๋ฐฉ์์ ํจ๊ป ์ฌ์ฉํ๊ณ ์๋ค. ๋ณดํต ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ ๋๋ ๋น๊ต์ ๋น ๋ฅธ ๋์นญํค ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฒ์ ๋ํ ์ธ์ฆ๊ณผ ์์ ํ ๋์นญํค ์ ๋ฌ์๋ ๊ณต๊ฐํค ๋ฐฉ์์ ๋ง์ด ์ฌ์ฉํ๋ค.
์๋ฒ์ ๋ธ๋ผ์ฐ์ ๊ฐ์ HTTPS ํต์ ๊ณผ์ ์ ํฌ๊ฒ ๋ ๊ฐ์ง ๊ณผ์ ์ผ๋ก ๋๋์ด ์๊ฐํด๋ณผ ์ ์๋ค.
์ธ์ฆ ๊ณผ์ ์ CA(Certificate Authority)๋ผ๋ ์ ๋ขฐํ ์ ์๋ ์ธ๋ถ ์ธ์ฆ ๊ธฐ๊ด์ ๊ฑฐ์ณ์ ์งํ๋๋ค. CA๋ ํด๋น ์๋ฒ๊ฐ ๋ฏฟ์ ๋งํ ์๋ฒ๋ผ๋ ๊ฒ์ ์ฆ๋ช ํ๋ SSL ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ๋ค. ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ ์ธ์ฆ์๊ฐ ํด๋น CA์์ ๋ฐ๊ธํ ๊ฒ์ด ๋ง๋ ์ง๋ฅผ ํ์ธํ์ฌ, ๋ฏฟ์ ์ ์๋ ์๋ฒ์ธ์ง ๊ฒ์ฆํ ์ ์๋ค.
SSL ์ธ์ฆ์
CA์์๋ ๊ฒ์ฆ๋ ์๋ฒ์ ๋ํ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ๋๋ฐ, ์ด๋ฅผ SSL ์ธ์ฆ์ ํน์ TLS ์ธ์ฆ์๋ผ๊ณ ๋ถ๋ฅธ๋ค. SSL/TLS๋ ๋ณด์์ ์ ๊ณตํ๋ ํ๋กํ ์ฝ์ธ๋ฐ, ์ด ์ธ์ฆ์๋ฅผ ์์ฑํ๋ ๋ฐ ์ง์ ์ ์ธ ์ฐ๊ด์ด ์๋ ๊ฒ์ ์๋๋ค. "SSL/TLS์ ํจ๊ป ์ฌ์ฉํ ์ธ์ฆ์โ๋ผ๋ ์๋ฏธ๊ฐ ์กฐ๊ธ ๋ ์ ํํ๋ค.
์๋ก์ด ์ฌ์ดํธ๋ฅผ ํ๋ ๋ง๋ค์๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ฌ๋ฌ ์ฌ์ฉ์๋ค์ด HTTPS๋ฅผ ํตํด ์ด ์ฌ์ดํธ์ ์ ์ํ ์ ์๊ฒ ํ๋ ค๋ฉด, ๋จผ์ CA๋ก๋ถํฐ SSL ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ ๋ฐ์์ผ ํ๋ค. SSL ์ธ์ฆ์์๋ ์ฃผ๋ก ์๋ฒ์ ๊ณต๊ฐํค๊ฐ ๋ค์ด๊ฐ ์๋๋ฐ, ์ด๋ ๋์ค์ ๋ฐ์ดํฐ ๊ตํ์ ์ํ ๋์นญํค ์ ๋ฌ์ ์ฌ์ฉ๋๋ค. (์์ธํ ๋ด์ฉ์ ์ดํ ๋ด์ฉ์์ ๋ค์ ๋ค๋ฃฌ๋ค.)
์ด์ ์๋ฒ๋ CA์ ๊ฐ์ธํค๋ก ์ํธํ ๋ SSL ์ธ์ฆ์๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ด ์ธ์ฆ์๋ CA์ ๊ณต๊ฐํค๋ก ๋ณตํธํํ ์ ์๊ธฐ ๋๋ฌธ์, ๋ธ๋ผ์ฐ์ ๊ฐ CA๋ก๋ถํฐ ๊ณต๊ฐํค๋ฅผ ์ป์ด๋ด ์ธ์ฆ์์ ์ง์ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์๋ค. CA์ ๊ณต๊ฐํค๋ก ๋ณตํธํ๊ฐ ๊ฐ๋ฅํ๋ค๋ฉด (1) CA์์ ๋ฐ๊ธํ ์ธ์ฆ์์ด๊ณ , (2) ์ด ์ธ์ฆ์๋ฅผ ๊ฐ์ง๊ณ ์๋ ์๋ฒ๋ ์ง์ง ์๋ฒ๋ผ๋ ์ฌ์ค์ ์ฆ๋ช ํ ์ ์๋ค.
์ ๋ขฐํ ์ ์๋ ์๋ฒ์์ด ์ธ์ฆ๋์๋ค๋ฉด, ์๋ฒ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ก ์ด๋ค ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋์นญํค๋ก ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ์ฃผ๊ณ ๋ฐ์์ง ํ์์ด ํ์ํ๋ค. ์ด ๊ณผ์ ์ ์ ์ก ๊ณ์ธต(Transport Layer)์ธ TCP ์ฐ๊ฒฐ์ด ์๋ฆฝ๋ ํ, SSL/TLS ํ๋กํ ์ฝ์์ SSL Handshake์ ํตํด ๊ฒฐ์ ๋๋ค.
SSL Handshake์ ๋ฐ์ดํฐ๋ฅผ ์ค์ ๋ก ์ํธํ ํ๊ธฐ ์ํ ๋์นญํค๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ด ๊ฐ์ฅ ํฐ ๋ชฉ์ ์ด๋ค.
๋ ํธ์ ๋๋ ์ HTTPS์ ๋ํด ๋ค๋ฃจ์ด๋ณด์๋๋ฐ, ์ํธํ์ ๋ํด์ ์ ๋ฆฌํ๊ณ ๋์ ๋ณด๋ ํ์คํ ์ดํด๊ฐ ๋ ์๋๋ ๊ฒ ๊ฐ๋ค. ์ด ํฌ์คํ ๋ถํฐ ์ ํ๋ค๋ฉด ๊ผญ 1ํธ, ์ํธํ์ ๋ํ์ฌ๋ฅผ ์ฝ๊ณ ๋์ ๋ณด๊ธฐ๋ฅผ ์ถ์ฒํ๋ค.
๋ง์ง๋ง์ผ๋ก ์ค๋ ๋ค๋ฃฌ ๋ด์ฉ์ ๋ํ ์์ฝ ์ ๋ฆฌ๋ฅผ ํ๋ฉฐ ๋ง์น๋๋ก ํ๊ฒ ๋ค.