์ธํฐ๋ท ์์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์์์ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฐ๋ ํต์ ๊ท์ฝ.
์ฃผ๋ก HTML ๋ฌธ์, ์ด๋ฏธ์ง, ๋น๋์ค ๋ฑ ์ ์ก์ ์ฌ์ฉ๋๋ค.
ํน์ฑ
HTTP ํ๋กํ ์ฝ์ด ๋น์ฐ๊ฒฐ์ฑ์ธ ์ด์
์๋ฒ๋ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํด์ผ ํจ์ผ๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋น์ฐ๊ฒฐ์ฑ์ผ๋ก ๋์๋๋ค.
์ด๋ฌํ ํน์ฑ์ HTTP์ ํ์ ์ฑ์ ๊ฐ์ ธ๋ค์ฃผ๋ฉฐ, ์๋ฒ๊ฐ ๋ง์ ์์ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ ์ํ๋ฅผ ์ถ์ ํ๊ณ ๊ด๋ฆฌํ๋ ๋ถ๋ด์ ์ค์ฌ์ค๋ค.
๊ตฌ์ฑ : ์์์ค, ํค๋, ๋ณธ๋ฌธ์ผ๋ก ๊ตฌ์ฑ
SSL(Secure Socket Layer)/TLS(Transport Layer Security)์ ํ๋กํ ์ฝ์ ์ฌ์ฉํจ์ผ๋ก์จ HTTP์ ํต์ ๋ด์ฉ์ ์ํธํํ ์ ์๋ค.
SSL์ ์กฐํฉํ HTTP๋ฅผ HTTPS(HTTP Secure) ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
ํํ ๊ณ์ธต๊ณผ ์ธ์ ๊ณ์ธต ์ฌ์ด์์ ๋์๋๋ ํ๋กํ ์ฝ. TCP/IP ๋ชจ๋ธ์์๋ ์ ์ก ๊ณ์ธต ๋ฐ๋ก ์.
์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ํต์ ์ด ์์ ํ๊ฒ ์ด๋ฃจ์ด์ง ์ ์๋๋ก ๋ฐ์ดํฐ ์ํธํ/๋ณตํธํ๋ฅผ ์ ๊ณตํ๋ค.
SSL ํ๋กํ ์ฝ์ SSL ์ธ์ฆ์๋ผ๋ ๋ฐ์ดํฐ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ ๋ฐ์ดํฐ ์ ์ก์ ๋ณด์ฅํ๋ค.
์ฃผ์ ๊ธฐ๋ฅ
๋์ ์๋ฆฌ..?
์์์ ์ค๋ช ํ ์ธํฐ๋ท ์์์ ์ ๋ณด๋ฅผ ์ํธํํ๋ SSL ํ๋กํ ์ฝ์ ์ฌ์ฉํด ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์์์ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฐ๋ ํต์ ๊ท์ฝ
์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋ HTTP ํ๋กํ ์ฝ์์ ๋ฐ์ดํฐ ์ ์ก ์ SSL/TLS๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํํ๊ณ , ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ณตํธํํ๋ ๊ณผ์ ์ ์ถ๊ฐ์ํจ ๊ฒ.
์๋ HTTP๋ TCP์ ์ง์ ํต์ ํ์ง๋ง, HTTPS์์๋ SSL๊ณผ ํต์ ํ๊ณ SSL์ด TCP์ ํต์ ํ๊ฒ ๋๋ค.
HTTP์ HTTPS์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด๋ณด์ธ์.
HTTP๋ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ ๋ณด ๊ตํ์ ์ํด ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ์ ๋๋ค. HTTP๋ ์ ๋ณด๋ฅผ ์ํธํ ํ์ง์๊ณ ํ๋ฌธ์ผ๋ก ์ ์กํ์ฌ ๋ณด์์ ์ทจ์ฝํ ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค.
HTTPS๋ ์ด๋ฌํ HTTP์ ๋ฌธ์ ์ ์ ๋ณด์ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๊ณ ์ธ์ฆ์๋ฅผ ํ์ฉํด ์์ ํ ๋ฐ์ดํฐ ์ ์ก์ ๋ณด์ฅํฉ๋๋ค.
๊ตฌ์ฒด์ ์ผ๋ก๋ HTTP๋ ์ธํฐ๋ท ์์์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์๋ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ด๊ณ HTTPS๋ ์ด๋ฌํ HTTP ํ๋กํ ์ฝ์ ์์ ๊ตฌ์ฑ๋์ด HTTP ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ํธํ/๋ณตํธํํ๋ ๋ณด์ ๊ณ์ธต์ผ๋ก ์์ฉ๋๋ค.
๋์นญํค์ ๊ณต๊ฐํค์ ์ฐจ์ด๋ฅผ ์ค๋ช ํด๋ณด์ธ์
๋์นญํค๋ ์ํธํ์ ๋ณตํธํ์ ๋์ผํ ํค๋ฅผ ์ฌ์ฉํ๋ค. ์ด ๋ฐ์ดํฐ๋ ์ ์ก ์ ์ ์์ฑ๋๊ณ ๊ณต์ ๋๋ค.
๋น๊ต์ ๊ณต๊ฐํค๋ณด๋ค ๋น ๋ฅด์ง๋ง ํค๊ฐ ์ ์ก๋๋ ๊ณผ์ ์์ ์ํ์ ๋ ธ์ถ ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
๊ณต๊ฐํค ์ฆ ๋น๋์นญํค๋ ์ ๋ฌธ์ ํด๊ฒฐ์ ์ํด ์๋ฒ๋ ์์ ๋ง์ ๊ณต๊ฐํค์ ๊ฐ์ธํค๋ฅผ ์์ฑํฉ๋๋ค.
๋ฐ์ดํฐ๋ ์๋ฒ์์ ์์ฑ๋ ๊ณต๊ฐํค๋ฅผ ํตํด ์ํธํํ๊ณ ์๋ฒ์์ ๋ฐ์ ๋ฐ์ดํฐ๋ ์์ ๋ง์ ๊ฐ์ธํค๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ณตํธํ ํฉ๋๋ค.
๊ณต๊ฐํค๋ ์์ ๋ง์ ๊ฐ์ธํค๋ก ๋ณตํธํธํ๊ธฐ ๋๋ฌธ์ ๋ณด์์ฑ์ด ๋์ง๋ง ๋ฐฉ์์ด ๋ณต์กํ์ฌ ์ฒ๋ฆฌ๊ฐ ๋๋ฆฝ๋๋ค.
CA : Certificate Authority๋ก ๊ณต๊ฐํค๋ฅผ ์ ์ฅํด์ฃผ๋ ์ ๋ขฐ์ฑ์ด ๊ฒ์ฆ๋ ๋ฏผ๊ฐ๊ธฐ์
HTTPS์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํต์ ์
SSL ์ธ์ฆ์๋ก ์ ๋ขฐ์ฑ ์ฌ๋ถ๋ฅผ ํ๋จํ๊ธฐ ์ํด ์ฐ๊ฒฐํ๋ ๋ฐฉ์
client hello ๋ฉ์์ง๋ฅผ ๋ด์ ์๋ฒ๋ก ๋ณด๋ธ๋ค. ์ด๋ ๋ฉ์์ง์๋ ํด๋ผ์ด์ธํธ์์ ์์ฑ๋ ๋๋ค ๋ฐ์ดํฐ, ์ง์ํ๋ ์ํธํ ๋ฐฉ์, ์ธ์
ID๋ฅผ ํฌํจํ๋ค.์ธ์
ID์ CA ์ธ์ฆ์๋ฅผ server hello ๋ฉ์์ง์ ํจ๊ป ๋ด์ ์๋ตํ๋ค.CA ์ธ์ฆ์์๋ ํด๋ผ์ด์ธํธ์์ ์์ฑ ๋ ๋์นญํค๋ฅผ ์ํธํํ CA๋ฅผ ํตํด ์์ฑํ ์๋ฒ์ ๊ณต๊ฐํค๋ฅผ ๋ด๊ณ ์๋ค.CA ์ธ์ฆ์์ ๋ํด ์ ๋ขฐํ ์ ์๋์ง CA์ ๊ณต๊ฐํค๋ฅผ ์ฌ์ฉํด ์ธ์ฆ์๋ฅผ ๋ณตํธํํ๋ค.pre-master-key๋ฅผ ์์ฑํ๋ค.pre-master-key ํค๋ฅผ ์๋ฒ์ ๊ณต๊ฐํค๋ก ์ํธํ ํ ํ ์๋ฒ๋ก ์ ์กํ๋ค.pre-master-key๋ฅผ ๊ฐ์ธํค๋ก ๋ณตํธํํ ํ master-key๋ก ์ถ์ถํ ํ ์ดํ session-key๋ก ๋ณํํ๋ค.