HTTP์ HTTPS
HTTP (Hypertext Transfer Protocol)
์๋ก ๋ค๋ฅธ ์์คํ ์ฌ์ด์์ ํต์ ์ ์ฃผ๊ณ ๋ฐ๊ฒ ํ๋ ํ๋กํ ์ฝ๋ก 80๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ค.
7๊ณ์ธต์ application layer ๋ฐ TCP/IP ์ธํฐํ์ด์ค์ application layer์ ์ํ๋ค.
์๋ฒ์์ ๋ธ๋ผ์ฐ์ ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ์ฉ๋๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ค.
ํ์ง๋ง ์ ์กํ๋ ์ ๋ณด๊ฐ ์ํธํ๋์ง ์์ ๋ณด์ ๊ด๋ จ ์ด์๊ฐ ์กด์ฌํ ์ ์๋ค.
์ค๊ฐ์ ํจํท์ ๊ฐ๋ก์ฑ๋ ๋ฑ
์ฟ ๊ธฐ๊ฐ ์ ํ๋ ์ ์๋ค.
HTTPS (Hypertext Transfer Protocol Secure)
HTTP์ SSL์ ์ฌ์ฉํ ํ๋กํ ์ฝ์ด๋ค.
SSL (๋ณด์ ์์ผ ๊ณ์ธต = Secret Socket Layer) ์๋ฒ์ ๋ธ๋ผ์ฐ์ ์ฌ์ด์ ์์ ํ๊ฒ ์ํธํ๋ ์ฐ๊ฒฐ์ ๋ง๋ค๊ฒ ๋์์ฃผ๊ณ ์๋ฒ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ํด๋น ์ ๋ณด๊ฐ ํ์ทจ๋๋ ๊ฒ์ ๋ง์์ค๋ค.
HTTP ์์ฒด๋ฅผ ์ํธํํ๋ ๊ฒ์ด ์๋๋ผ, HTTP์ Messege Body๋ฅผ ์ํธํํ๋ค.
์ฌ๊ธฐ์ Header๋ ์ํธํ๋์ง ์๋๋ค.
์ HTTPS๋ฅผ ์ฌ์ฉํ ๊น?
๋ณด์์ฑ ํ๋ณด
SEO, ๊ฒ์ ์์ง ์ต์ ํ ๋ฐ ๊ฐ์ํ ๋ ๋ชจ๋ฐ์ผ ํ์ด์ง(AMP)
๊ตฌ๊ธ์ HTTPS๋ฅผ ์ฌ์ฉํ๋ ์น ์ฌ์ดํธ์ ๊ฐ์ฐ์ ์ ๋ถ์ฌํ๋ค. ์์ ์ ์น ์ฌ์ดํธ๊ฐ ๋ ๋ ธ์ถ๋๊ณ ์ถ์ผ๋ฉด HTTPS๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
AMP๋ฅผ ๋ง๋ค๋๋ HTTPS๋ฅผ ์ฌ์ฉํด์ผ ํจ.
SSL/TLS (์ธ์ฆ์ ๋ณด์ฅ์ ์ํ ๋
ธ๋ ฅ)
TLS๋ SSL์ ์ ๊ทธ๋ ์ด๋ ๋ฒ์ ์ด๋ค. ํ์ง๋ง ๋ ๋ค ๋์ผํ ์ฉ์ด๋ก ์ฌ์ฉํ๋ค.
SSL ์ธ์ฆ์๋ฅผ ๋ฌด๋ฃ๋ก ๋ฐ๊ธํด์ฃผ๋ ์๋น์ค
Letโs Encrypt
AWS Certificate Manager
SSL (Secure Sockets Layer)
Netscape์ฌ์์ ์น ์๋ฒ์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ณด์ ๊ฐํ๋ฅผ ์ํด ๋ง๋ ํ๋กํ ์ฝ์ด๋ค.
SSL์ ๊ณต๊ฐํค + ๊ฐ์ธํค, ์ฆ ๊ณต๊ฐํค ๋ฐฉ์๊ณผ ๋์นญํค ๋ฐฉ์์ ํผํฉํด์ ์ฌ์ฉํ๋ค.
๋์นญํค ๋ฐฉ์ ๋์ผํ ํค(Key)๋ฅผ ๊ฐ์ง๊ณ ์ํธํ์ ๋ณตํธํ๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ด๋ค. โ ์๋ณตํธํ์ ์ฌ์ฉํ๋ ํค๊ฐ ๋์ผ ๋๊ตฌ๋ ์ํธํ์ ์ฌ์ฉํ ํค๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ๋ณตํธํํ ์ ์๋ค. ๋์นญํค ๋ฐฉ์์ ์/๋ณตํธํ๊ฐ ์ฝ๊ณ ์ํธํ ์๋๊ฐ ๋น ๋ฅด๋ฉฐ ๋์ฉ๋ ๋ฐ์ดํฐ ์ํธํ์ ์ ํฉํ๋ค. ๋ฐ๋๋ก ํค๋ฅผ ๊ตํํด์ผ ํ๊ธฐ ๋๋ฌธ์ ํค๊ฐ ํ์ทจ๋๋ฉด ๋ฐ์ดํฐ๊ฐ ์ฝ๊ฒ ๋ ธ์ถ๋๋ค. ๋ฐ๋ผ์ ์์ ํ ํค๊ตํ ๋ฐฉ์์ด ์๊ตฌ๋จ. ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก AES, DES, SEED, ARIA๊ฐ ์๋ค. ๊ณต๊ฐํค ๋ฐฉ์
์๋ณตํธํ์ ์ฌ์ฉํ๋ ํค๊ฐ ์๋ก ๋ค๋ฅด๋ฉฐ
๋น๋์นญํค ๋ฐฉ์(์ํธํ)์ด๋ผ๊ณ ํจ. ์๋ณตํธํํค๊ฐ ๋ค๋ฅธ ์ํธํ ๋ฐฉ์์ ์ฌ์ฉํ๊ณ , ๋ฐ์ดํฐ ์ํธํ๋ ๊ณต๊ฐํค๋ฅผ ์ฌ์ฉ, ๋ณตํธํ์๋ ๊ฐ์ธํค๋ฅผ ์ฌ์ฉํ๋ค. ๊ณต๊ฐํค๋ก ์ํธํํ ๋ฐ์ดํฐ๋ ์ค์ง ๊ฐ์ธํค๋ก๋ง ๋ณตํธํํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ณต๊ฐํค๋ ๋ ธ์ถ๋์ด๋ ์๊ด์๋ค. ๋จ์ ์ ๋์นญํค ๋ฐฉ์๋ณด๋ค ์ํธํ ์ฐ์ฐ์๊ฐ์ด ์ค๋๊ฑธ๋ ค ๋น์ฉ์ด ๋ ๋ฐ์ํ๋ค. ๋์นญํค ๋ฐฉ์๊ณผ ๊ณต๊ฐํค ๋ฐฉ์์ ์๋ก์ ์ฅ์ ์ด ๋จ์ ์ด ๋๋ค.

SSL์์๋ ๊ฐ ๋ฐฉ์์ด ๊ฐ์ง๋ ๋จ์ ์ผ๋ก ์ธํด ํ ๋ฐฉ์๋ง ์ฑํํ์ง ์๊ณ ๋๊ฐ๋ฅผ ์ ์ ํ ์์ด ์ฌ์ฉํ๋ค.
SSL ํต์ ๊ณผ์ (SSL Handshake, ์ธ์ฆ ๋ฐ ํค ๊ตํ)
์ ๋ด์ฉ์ ๋ฐํ์ผ๋ก, SSL์ ๊ณต๊ฐํค ๋ฐฉ์์ผ๋ก ๋์นญํค๋ฅผ ์ ๋ฌํ๋ค. ์ด ๋์นญํค๋ก ์๋ณตํธํ๋ฅผ ํ๊ณ , ์๋ฒ์ ๋ธ๋ผ์ฐ์ ๊ฐ ํต์ ์ ์งํํ๋ค.

๋ชฉ์
ํด๋ผ์ด์ธํธ-์๋ฒ๊ฐ ์ฃผ๊ณ ๋ฐ์ ๋ฐ์ดํฐ์ ์ํธํ ์๊ณ ๋ฆฌ์ฆ ๊ฒฐ์
์ฌ์ฉ์๊ฐ ์ ์ํ ์ฌ์ดํธ๊ฐ ์ ํจํ์ง ์ด๋ป๊ฒ ํ์ธํ ๊น?๋ฅผ ํตํด ๋์นญํค๋ฅผ ์ป๋ ๋ฐฉ๋ฒ
Client โ Server ์ฐ๊ฒฐ์ ์๋ํ๋ ํจํท์ ์ ์กํ๋ค.
ํจํท ์์๋ ์ฌ๊ธฐ์ ์ด๋ค ํ๋กํ ์ฝ(SSL/TSL)๋ฅผ ์ฌ์ฉํ ์ง, ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ํธํํ ์ง ํฌํจ๋๋ค.
Server โ Client ์๋ต
์ฐ๊ฒฐ์ ์๋ฝํ๊ณ ์ง์ํ๋ ๋ฐฉ๋ฒ(์ํธํ ๋ฑ)์ ์ ํํ๊ณ ์๋ฒ์ ์ธ์ฆ์, ๊ณต๊ฐํค์ ์ํธํ ๋ฐฉ๋ฒ์ ์๋ต์ ํฌํจ์์ผ ๋ณด๋ธ๋ค.
Server โ Client
2๋ฒ ์๋ต(ํจํท)์ธ์
Certificate๋ผ๋ ํจํท์ ๋ณด๋ธ๋ค. ์ฌ๊ธฐ์๋Server์ SSL ์ธ์ฆ์ ๋ด์ฉ์ด ์๋ค.ํจํท ๋ด๋ถ๋ฅผ ํ์ธํ๋ฉด ์ธ์ฆ์์ Signature algorithm, public key info ๋ฑ ํ์ธํ ์ ์๋ค.
Client์์๋ SSL ์ธ์ฆ์๋ฅผ ๊ฒ์ฆ
Client๋ ํ๋ํ ์ธ์ฆ์์ ๊ณต๊ฐํค๋ก ์์ ์ ๋์นญํค๋ฅผ ์ํธํํด์ Server์ ์ ๋ฌํ๋ค.
Client-Server SSL Handshake ์ข ๋ฃ
์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์ํธํ๋ ๋์นญํค๋ฅผ ์์ ์ ๊ฐ์ธํค๋ก ๋ณตํธํํ์ฌ ํด๋ผ์ด์ธํธ์ ๋์นญํค๋ฅผ ํ๋ํ๊ณ ์ด๊ฒ์ผ๋ก ํต์ ํ ์ค๋น๋ฅผ ๋๋ธ๋ค.
ํต์ ํ ์ค๋น๊ฐ ๋๋ฉด Server โ Client๋ก
Change Ciper Spec์ ๋ณด๋ธ๋ค. ์๋ฒ์ชฝ๋ SSL Handshake ์ค๋น ์๋ฃ๋ผ๋ ์๋ฏธ์ ํจํท์ด๋ค.
๊ณต๊ฐํค + ๋์นญํค ๋ฐฉ์์ ํผํฉํด์ ์ฌ์ฉํ๋ ๋ฒ
๊ณต๊ฐํค + ๋์นญํค ํผํฉ ์ฌ์ฉ ๊ณผ์
แแ ฉแผแแ ขแแ ต + แแ ขแแ ตแผแแ ต แแ ฉแซแแ กแธ3A -> B๋ก ์ ์ ์์ฒญ

B๋ ๊ณต๊ฐํค-๊ฐ์ธํค๋ฅผ ์์ฑํ๊ณ A์๊ฒ ์์ ์ ๊ณต๊ฐํค๋ฅผ ์ ์กํ๋ค.

A๋ ์์ ์ ๋์นญํค๋ฅผ B์ ๊ณต๊ฐํค๋ก ์ํธํํ๋ค.

A์์ ์ํธํํ ๊ณต๊ฐํค๋ฅผ B์๊ฒ ์ ๋ฌํ๋ค.

B๋ A์ ๋์นญํค๋ฅผ ์์ ์ ๊ฐ์ธํค๋ก ๋ณตํธํํ๋ค.
B๋ ๋ณตํธํ์ ๊ฒฐ๊ณผ๋ก A์ ๋์นญํค๋ฅผ ์ป๋๋ฐ ์ฑ๊ณตํ๋ค.

์ด๋ ๊ฒ ํ๋ํ ๋์นญํค๋ฅผ ๊ฐ์ง๊ณ ์๋ก ํต์ ํ๋ค.

์ฌ์ฉ์๊ฐ ์ ์ํ ์ฌ์ดํธ๊ฐ ์ ํจํ์ง ์ด๋ป๊ฒ ํ์ธํ ๊น?
๐์ฌ์ฉ์๊ฐ ์ ์ํ ์ฌ์ดํธ๊ฐ ์ ํจํ์ง ์ด๋ป๊ฒ ํ์ธํ ๊น?
์ฌ์ดํธ๋ ์ฌ์ดํธ ์ธ์ฆ์๊ฐ ํ์ํ๋ค. ์ฌ์ดํธ ์ธ์ฆ์๋ ์ธ์ฆ ๊ธฐ๊ด์์ ์ฌ์ดํธ์๊ฒ ๋ฐ๊ธํด์ฃผ๋ ๋ฌธ์์ด๋ค.
์ฌ์ดํธ์์ ์ธ์ฆ๊ธฐ๊ด์ ์ฌ์ดํธ ์ ๋ณด์ ์ฌ์ดํธ ๊ณต๊ฐํค๋ฅผ ์ ๋ฌํ๋ค.

์ธ์ฆ๊ธฐ๊ด์ ์ฌ์ดํธ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํด์ฃผ๊ธฐ ์ , ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ฆํ๋ค.
์ธ์ฆ ๊ธฐ๊ด์ ๊ณต๊ฐํค-๊ฐ์ธํค ์์ ์์ฑํ๋ค. ๊ฒ์ฆ์ ์๋ฃํ๋ฉด ์ด ๋ฐ์ดํฐ๋ฅผ ์ธ์ฆ๊ธฐ๊ด์ ๊ฐ์ธํค๋ก ์๋ช ํ๊ณ ์ฌ์ดํธ ์ธ์ฆ์๋ฅผ ์์ฑํ๋ค.

๊ฒ์ฆ์ด ๋๋๊ณ ์์ฑ๋ ์ธ์ฆ์๋ฅผ ์ฌ์ดํธ์ ์ ๋ฌํ๋ค.

์ธ์ฆ๊ธฐ๊ด์ ์ฌ์ฉ์์๊ฒ ๊ณต๊ฐํค๋ฅผ ์ ๋ฌํ๋ค.

์ ๋ฌ๋ฐ์ ๊ณต๊ฐํค๋ ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ์ ์๋์ผ๋ก ๋ด์ฅ๋๋ค.

์ด ๊ณผ์ ๊น์ง๋ ์์ง ์ฌ์ฉ์๊ฐ ์ฌ์ดํธ์ ์ ์ํ๊ธฐ ์ ์ํฉ์ด๋ค.
๐์ฌ์ฉ์๊ฐ ์ฌ์ดํธ ์ ์์ ์์ฒญํ์ ๊ฒฝ์ฐ
์ฌ์ฉ์๊ฐ ์ฌ์ดํธ์ ์ ์ ์์ฒญ์ ํ๋ค.

์ฌ์ดํธ๋ ์ ๋ขฐํ ์ ์๋ ์ฌ์ดํธ๋ฅผ ์ฆ๋ช ํ๊ธฐ ์ํด์ ์ธ์ฆ์๋ฅผ ์ ๋ฌํ๋ค.

์ฌ์ฉ์๋ ์ธ์ฆ๊ธฐ๊ด ๊ณต๊ฐํค๋ฅผ ๊ฐ์ง๊ณ ์ธ์ฆ์๋ฅผ ๋ณตํธํํด์ ๊ฒ์ฆํ๋ค.
๋ณตํธํ์ ์ฑ๊ณตํ๋ฉด ์ฌ์ดํธ ์ ๋ณด์ ์ฌ์ดํธ ๊ณต๊ฐํค๋ฅผ ํ๋ํ ์ ์๋ค.

ํ๋ํ ์ฌ์ดํธ ๊ณต๊ฐํค๋ฅผ ๊ฐ์ง๊ณ ์์ ์ ๋์นญํค๋ฅผ ์ํธํํ๋ค.

์ํธํ๋ ์ฌ์ฉ์ ๋์นญํค๋ฅผ ์ฌ์ดํธ์ ์ ๋ฌํ๋ค.

์ฌ์ดํธ๋ ์์ ์ ๊ฐ์ธํค๋ก ์ฌ์ฉ์ ๋์นญํค๋ฅผ ๋ณตํธํํด์ ์ฌ์ฉ์ ๋์นญํค๋ฅผ ํ๋ํ๋ค.

์ด์ ์ด ๋์นญํค๋ก ์๋ก ์ํธ๋ฌธ์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค.
์ฆ, SSL ํต์ ์ด ์์๋๋ค.

TLS Handshake ์ฃผ๊ธฐ
TLS ํธ๋์์ดํฌ ๊ณผ์ ์์ ๋ฐ์ํ๋ ์ธ์
ID์๋ ์ ํจ๊ธฐ๊ฐ์ด ์ค์ ๋์ด ์๊ณ , ์ด ๊ธฐ๊ฐ์ด ๋ง๋ฃ๋๋ฉด ๋ค์ ํธ๋์์ดํฌ๋ฅผ ์ํํด์ผ ํ๋ค. ๊ทธ ์ธ์๋ ์ธ์
์ ์ฌ์ค์ ํ๊ฑฐ๋ ํน์ ์ค์ ์ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ ๋ค์ TLS ํธ๋์์ดํฌ๊ฐ ์ํ๋๋ค.
์ฐธ๊ณ ์๋ฃ : https://www.youtube.com/watch?v=wPdH7lJ8jf0
Last updated