๋ค์ด๊ฐ๊ธฐ ์์
์ธํฐ๋ท์ ์ฌ์ฉํ ๋ ์ฐ๋ฆฌ๋ ๋งค์ผ HTTP์ HTTPS๋ฅผ ์ ํ๊ฒ ๋ฉ๋๋ค. ์น ์ฌ์ดํธ์ ์ ์ํ ๋ http:// ๋๋ https:// ๋ก ์์ํ๋ URL์ ๋ณด๊ฒ ๋๋๋ฐ, ์ด ๋ ํ๋กํ ์ฝ์ด ๋ฌด์์ธ์ง, ๊ฐ ํ๋กํ ์ฝ์ ์ญํ ์ด ๋ฌด์์ธ์ง ์ ์ดํดํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด ๊ธ์์๋ HTTP์ HTTPS์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ค๋ช ํ๊ณ , ๊ฐ๊ฐ์ ๊ธฐ๋ฅ๊ณผ ํน์ง์ ๋น๊ตํ์ฌ HTTPS๋ง์ด ๊ฐ์ง๋ ํน๋ณํ ๋์ ๋ฐฉ์์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
HTTP
HTTP (HyperText Transfer Protocol)๋ ์น์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๊ธฐ๋ณธ ํ๋กํ ์ฝ์ ๋๋ค. ์ฌ์ฉ์๊ฐ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์น ํ์ด์ง๋ฅผ ์์ฒญํ๋ฉด, ์๋ฒ๋ ํด๋น ์์ฒญ์ ๋ํ ์๋ต์ ๋ณด๋ด์ค๋๋ค.
HTTP๋ ์ฌ์ฉ์๊ฐ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ง์์ ์ผ๋ก ์์ฒญ๊ณผ ์๋ต์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค. ํ์ง๋ง HTTP๋ ์ฐ๊ฒฐ ์ํ๋ฅผ ์ ์งํ์ง ์๋ ๋ฌด์ํ(stateless) ํ๋กํ ์ฝ์ด๊ธฐ ๋๋ฌธ์, ๊ฐ ์์ฒญ์ด ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ด๋ก ์ธํด ์ฌ์ฉ์๊ฐ ๋งค๋ฒ ์ ๋ณด๋ฅผ ์๋ก ์ ๋ ฅํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์ต๋๋ค.
๋ํ, HTTP๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ง ์๊ธฐ ๋๋ฌธ์ ์ค๊ฐ์ ๊ณต๊ฒฉ ๋ฑ์ ๋ณด์ ์ํ์ ๋ ธ์ถ๋ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ณต๊ฒฉ์ผ๋ก ์ธํด ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ์ฝ๊ฒ ์ ์ถ๋ ์ํ์ด ์์ต๋๋ค.
์ด๋ฌํ ๋ณด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด HTTP ๋ฉ์ธ์ง๋ฅผ ์ํธํํ์ฌ ๋ณด๋ค ์์ ํ๊ฒ ์ ์กํ ์ ์๋ HTTPS๊ฐ ๋ฑ์ฅํ๊ฒ ๋์์ต๋๋ค.
HTTPS
HTTPS (HyperText Transfer Protocol Secure)๋ HTTP์ ๋ฐ์ดํฐ ์ํธํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ, ์ฌ์ฉ์์ ์๋ฒ ๊ฐ์ ๋ชจ๋ ๋ฐ์ดํฐ ์ ์ก์ ์์ ํ๊ฒ ๋ณดํธํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ ๋ณด์ ๊ธฐ๋ฐ์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ณ , ์ค๊ฐ์ ๊ณต๊ฒฉ๊ณผ ๊ฐ์ ๋ณด์ ์ํ์ผ๋ก๋ถํฐ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ์งํฌ ์ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด, HTTPS๋ ์ด๋ค ๊ณผ์ ์ ํตํด ์์ ํ HTTP ํต์ ์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค๊น์?
SSL ์ธ์ฆ์
์ฐ์ HTTPS ํ๋กํ ์ฝ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ธ์ฆ๊ธฐ๊ด(CA)์ผ๋ก ๋ถํฐ SSL ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ์์ผ ํฉ๋๋ค. ์๋ฒ์์ HTTPS ํ๋กํ ์ฝ ์ฌ์ฉ์ ์ํด SSL ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ๋ ๊ณผ์ ์ ์๋์ ๊ฐ์ต๋๋ค.
1. ์๋ฒ์ ๊ณต๊ฐ ํค์ ๋น๋ฐ ํค ์์ฑ
๋จผ์ ์๋ฒ๋ ์ธ์ฆ๊ธฐ๊ด(CA)์ ์ ์กํ ๊ณต๊ฐ ํค์ ๊ฐ์ธ ํค๋ฅผ ์์ฑํฉ๋๋ค.
2. ์ธ์ฆ์ ์์ฒญ ๋ฐ ์๋ฒ ์ ๋ณด ์ ์ก
์๋ฒ๋ SSL ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ๊ธฐ ์ํด ์ธ์ฆ๊ธฐ๊ด(CA)์์ ์ธ์ฆ์ ์์ฒญ์ ๋ณด๋ ๋๋ค. ์ด๋ ์๋ฒ๋ ์ธ์ฆ๊ธฐ๊ด(CA)์ ์์ ์ ๊ณต๊ฐ ํค์ ์๋ฒ์ ๊ดํ ์ ๋ณด๋ฅผ ํฌํจํ ์ธ์ฆ์ ์์ฒญ(CSR)์ ์์ฑํ์ฌ ์ ์กํฉ๋๋ค.
์ธ์ฆ์ ์์ฒญ(CSR)์๋ ์๋ฒ์ ๋๋ฉ์ธ ์ด๋ฆ, ์กฐ์ง ์ ๋ณด, ๊ณต๊ฐ ํค ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
3. ์ธ์ฆ๊ธฐ๊ด(CA)์ ์ธ์ฆ์ ์์ฑ
์ธ์ฆ๊ธฐ๊ด(CA)๋ ์๋ฒ๊ฐ ์ ์ถํ ์ ๋ณด๋ฅผ ๊ฒํ ํ์ฌ, ํด๋น ์ ๋ณด๊ฐ ์ ํํ๊ณ ์ ํจํ์ง ํ์ธํฉ๋๋ค. ์ด ๊ณผ์ ์์ ๋๋ฉ์ธ ์์ ๊ถ ํ์ธ, ์กฐ์ง ์ ๋ณด ๊ฒ์ฆ ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
์ด์ ๋ํ ๊ฒํ ๊ฐ ์๋ฃ๋๋ค๋ฉด, ์ธ์ฆ๊ธฐ๊ด(CA)์ ์๋ฒ์ ๊ณต๊ฐ ํค์ ํ์ธ๋ ์ ๋ณด๋ฅผ ํฌํจํ์ฌ SSL ์ธ์ฆ์๋ฅผ ์์ฑํฉ๋๋ค. ์ธ์ฆ์์๋ ์๋ฒ์ ๊ณต๊ฐ ํค, ์๋ฒ ์ ๋ณด, CA์ ์๋ช ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
4. CA์ ๋น๋ฐ ํค๋ก ์ธ์ฆ์ ์ํธํ
์ดํ ์ธ์ฆ๊ธฐ๊ด(CA)๋ ๋ฐ๊ธํฉ SSL ์ธ์ฆ์๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ์์ ์ ๊ณต๊ฐ ํค์ ๊ฐ์ธ ํค๋ฅผ ์์ฑํฉ๋๋ค. ๊ฐ์ธ ํค๋ SSL ์ธ์ฆ์์ ์๋ช ๋ฐ ์ํธํ์ ์ฌ์ฉ๋์ด ํด๋ผ์ด์ธํธ๊ฐ ์ธ์ฆ์๋ฅผ ์ ๋ขฐํ ์ ์๋๋ก ํฉ๋๋ค.
5. ์ธ์ฆ์์ ์ ๋ฌ ๋ฐ ๋ฐ๊ธ ์๋ฃ
์ธ์ฆ๊ธฐ๊ด(CA)์ ์ํธํ๋ SSL ์ธ์ฆ์๋ฅผ ์๋ฒ์ ์ ์กํ๊ณ , ์ธ์ฆ์๋ฅผ ์ ์ก๋ฐ์ ์๋ฒ๋ ์ธ์ฆ์๋ฅผ ์ค์นํ์ฌ ํด๋ผ์ด์ธํธ์์ ํต์ ์ ์ํด ์ฌ์ฉํ ์ค๋น๋ฅผ ํฉ๋๋ค.
6. ํด๋ผ์ด์ธํธ์ ์ธ์ฆ๊ธฐ๊ด(CA) ๊ณต๊ฐ ํค ์ ์ก
๋ง์ง๋ง์ผ๋ก ์ธ์ฆ๊ธฐ๊ด(CA)๋ ํด๋ผ์ด์ธํธ์ ์น ๋ธ๋ผ์ฐ์ ์ ์์ ์ ๊ณต๊ฐ ํค๋ฅผ ์ ์กํฉ๋๋ค. ์ด ๊ณต๊ฐ ํค๋ ๋ธ๋ผ์ฐ์ ์ ๋ด์ฅ๋์ด ์์ผ๋ฉฐ, ์ดํ SSL ์ธ์ฆ์์ ์ ํจ์ฑ์ ๊ฒ์ฆํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ด๋ ๊ฒ SSL ์ธ์ฆ์๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ฐ๊ธ๋ฐ๊ณ , ํด๋ผ์ด์ธํธ์ ๋ธ๋ผ์ฐ์ ์ ์ธ์ฆ๊ธฐ๊ด(CA)์ ๊ณต๊ฐ ํค๊ฐ ๋ด์ฅ๋ ํ, ์๋ฒ๋ HTTPS ํต์ ์ ์ํ ๋ชจ๋ ์ค๋น๋ฅผ ๋ง์น ์ํ๊ฐ ๋ฉ๋๋ค. ์ด์ ์๋ฒ๋ HTTPS ํต์ ์ ํตํด ์์ ํ ๋ฐ์ดํฐ ์ ์ก ์์ ์ ์ํํ ์ ์์ต๋๋ค.
๋ค์์ผ๋ก SSL ์ธ์ฆ์๋ฅผ ํตํด HTTPS์ ํต์ ๊ณผ์ ์ด ์ด๋ป๊ฒ ๋์ํ๋์ง์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
๋์ ๊ณผ์
HTTPS ์ฐ๊ฒฐ์ ๋ณด์ ๊ณผ์ ์ SSL/TLS์ SSL ํธ๋์ ฐ์ดํฌ ๊ณผ์ ์์ ์์๋ฉ๋๋ค. ์ด ๊ณผ์ ์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์์ ํ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ์ผ๋ จ์ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด ๊ณผ์ ์ ํตํด ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์๋ก์ ์ ์์ ํ์ธํ๊ณ , ์์ ํ ๋ฐ์ดํฐ ์ ์ก์ ์ํ ์ํธํ๋ฅผ ์งํํฉ๋๋ค.
์๋์์๋ถํฐ๋ ์ด ๊ณผ์ ์ด ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ง๋์ง์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
SSL handshake
1. Client Hello
ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์ฐ๊ฒฐ ์์ฒญ์ ๋ณด๋ ๋๋ค. ์ด ์์ฒญ์๋ ํด๋ผ์ด์ธํธ๊ฐ ์ง์ํ๋ ์ํธํ ์๊ณ ๋ฆฌ์ฆ, TLS ๋ฒ์ , ๋๋ค ๋ฐ์ดํฐ ๋ฑ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ด ์ ๋ณด๋ ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ์ ์ด๋ป๊ฒ ์ํธํํ ์ง ๊ฒฐ์ ํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
2. Server Hello
์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์์ ํ ํ, ์์ ์ด ์ฌ์ฉํ ์ํธํ ์๊ณ ๋ฆฌ์ฆ๊ณผ TLS ๋ฒ์ , ๋๋คํ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ ์๋ต์ ํด๋ผ์ด์ธํธ์ ๋ณด๋ ๋๋ค. ๋ํ, ์๋ฒ๋ ์์ ์ SSL ์ธ์ฆ์๋ ํจ๊ป ์ ์กํฉ๋๋ค. ์ด ์ธ์ฆ์์๋ ์๋ฒ์ ๊ณต๊ฐ ํค์ CA์ ์๋ช ์ด ํฌํจ๋์ด ์์ต๋๋ค.
3. SSL ์ธ์ฆ์ ๋ณตํธํ
ํด๋ผ์ด์ธํธ๋ ๋ฐ์ ์ธ์ฆ์๊ฐ ์ ํจํ์ง ํ์ธํ๊ธฐ ์ํด, ๋จผ์ CA๊ฐ ๋ฐ๊ธํ ์ธ์ฆ์ ๋ชฉ๋ก์์ ์๋ฒ๊ฐ ์ ๊ณตํ ์ธ์ฆ์๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ธ์ฆ์๊ฐ ๋ชฉ๋ก์ ์กด์ฌํ ๊ฒฝ์ฐ, ํด๋ผ์ด์ธํธ๋ CA์์ ์ ๊ณตํ ๊ณต๊ฐ ํค๋ฅผ ์ฌ์ฉํด ์ธ์ฆ์๋ฅผ ๋ณตํธํํฉ๋๋ค.
์ด๋ฅผ ํตํด ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ๊ณต๊ฐ ํค์ CA์ ์๋ช ์ ํ๋ํ๊ฒ ๋ฉ๋๋ค.
4. ๋์นญ ํค ์์ฑ ๋ฐ ์ ์ก
๋ณธ๊ฒฉ์ ์ผ๋ก ํค ๊ตํ์ ์ํด, ํด๋ผ์ด์ธํธ๋ ์ค์ ๋ฐ์ดํฐ ํต์ ์ ์ฌ์ฉํ ์์ ๋์นญ ํค๋ฅผ ์์ฑํฉ๋๋ค. ์ด ๊ณผ์ ์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์ด์ ์ ์ฃผ๊ณ ๋ฐ์ ๋๋ค ๋ฐ์ดํฐ๋ฅผ ์กฐํฉํด ์์ ํค๋ฅผ ์์ฑํ ํ, ์๋ฒ์ ๊ณต๊ฐ ํค๋ก ์ด๋ฅผ ์ํธํํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์, ํด๋ผ์ด์ธํธ๋ ์ํธํ๋ ๋์นญ ํค๋ฅผ ์๋ฒ๋ก ์ ์กํฉ๋๋ค.
5. ์ธ์ ํค ์์ฑ ๋ฐ ์ํธํ ์์
์๋ฒ๋ ์ ์ก ๋ฐ์ ๋์นญ ํค๋ฅผ ์์ ์ ๊ฐ์ธ ํค๋ฅผ ์ฌ์ฉํ์ฌ ๋ณตํธํํฉ๋๋ค. ์ด๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ๋์ผํ ์ธ์ ํค๋ฅผ ์์ฑํ๊ฒ ๋ฉ๋๋ค. ์ดํ, ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์ด ์ธ์ ํค๋ฅผ ํตํด์ ๋์นญ ํค ์ํธํ ๋ฐฉ์์ผ๋ก ์์ ํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์กํฉ๋๋ค.
6. ์๋ฃ ๋ฐ ๋ฐ์ดํฐ ์ ์ก
ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์ด์ ์ํธํ๋ ํต์ ์ฑ๋์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ๊ตํํ ์ ์์ต๋๋ค.