- ๋ชฉ์ฐจ
- ๊ฐ์
- HTTP vs HTTPS
- HTTPS๋ฅผ ์ดํดํ๊ธฐ ์ํ ์ฌ์ ์ง์
- HTTPS ๋์ Flow
- ๋ง์น๋ฉฐ
- ์ฐธ๊ณ
HTTPS๋ฅผ ์ด๊ฒ์ ๊ฒ ๋ฐ๋ผ์ ์ ์ฉ์ํจ ๊ฒฝํ์ด ์๋ค.
ํ์ง๋ง ์ฌ๋ฌ ๋๋ฉ์ธ์ ๋ํ HTTPS๋ฅผ ์ ์ฉ์์ผ์ผํ ํ์์ฑ์ด ๋๊ปด์ก์ง๋ง, ๋์ ์๋ฆฌ๋ฅผ ๋ชจ๋ฅด๋ ์ด๋๋ถํฐ ์ ๋์ผํ ์ง ์ ํ ๋ชจ๋ฅด๊ฒ ๋ค...
HTTPS ๋์ ์๋ฆฌ๊ฐ ๊ทธ์ ๋ง๋ฒ์ฒ๋ผ ๋ณด์ธ๋ค.
์! ์ด ๋ง๋ฒ์ ํ์ด๋ณด๊ณ ์ ์ด๋ฒ ๊ธ์ ์์ฑํ์๋ค :)
์ฐ์ HTTPS๋ฅผ ์ดํดํ๊ธฐ ์ํ ์ฌ์ ์ง์์ ์ ๋ฆฌํ์๊ณ , ์ด ํ์ ๋์ ์๋ฆฌ๋ฅผ ์ถ์์ ์ธ ๊ฒ๋ถํฐ ์์ํ์ฌ 3๋จ๊ณ์ ๊ฑฐ์ณ ๊ตฌ์ฒดํ์ํค๋ ๋ฐฉ์์ผ๋ก ์ ๋ฆฌํ์๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฒ ๊ธ์ ์์ฑํ๋ฉด์ ๊ฐ์ฅ ํฐ ๋์์ ๋ฐ์ ํ์๋์ ๋ธ๋ก๊ทธ์๊ฒ ๊ฐ์ฌํจ์ ์ ํ๊ณ ์ถ๋ค.
ํ์๋ ๊ธฐ์ , ํ๋กํ ์ฝ๋ฑ๋ฑ์ ๋ชจ๋ ๋ฌด์์ด๊ณ , ์ ์ฌ์ฉํด์ผํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์ปจ์ ์ ๊ฐ์ก๋์ง์ ๋ํด์ ์์์ผ ๋ ๊น์ด ์ดํดํ ์ ์๋ค๊ณ ์๊ฐ๋ ๋ค.
๊ทธ๋ฐ ์๋ฏธ์์ HTTPS์ ๋ํ ๋ณต์กํ ๊ฐ๋ ์ ๋ฐ๋ก ๋งํ๊ธฐ๋ณด๋ค๋ HTTP์ HTTPS์ ์ฐจ์ด์ ๊ณผ HTTPS๊ฐ ํ์ํ ์ด์ ๋ฅผ ๋จผ์ ์ ๋ฆฌํด๋ณด์.
HTTP๋ ๋ชจ๋๊ฐ ์๋ค์ํผ Hypertext์ธ HTML์ ์ ์กํ๊ธฐ ์ํ ํต์ ๊ท์ (ํ๋กํ ์ฝ)์ ์๋ฏธํ๋ค.
HTTPS๋ ๊ธฐ์กด HTTP ํต์ ๋ฐฉ์์์ ๋ณด์์ ์ํ ๊ณ์ธต์ ์ถ๊ฐํ ๊ฒ์ด๋ค.
OSI 7๊ณ์ธต์ฒ๋ผ ๋คํธ์ํฌ ํต์ ๊ณ์ธต์์ ํ๋์ ๊ณ์ธต์ด ์ถ๊ฐ๋ ๊ฒ์ด๋ผ๊ณ ๋ณด๋ฉด ์ดํด๊ฐ ๋น ๋ฅด๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๊ณ์ธต์ SSL (Secure Socket Layer) ํน์ TLS (Transport Layer Security)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
SSL๊ณผ TLS์ ์ฐจ์ด์ ์?
- ๊ฐ์ ๋ง์ด๋ค. 1994๋ ๋ท์ค์ผ์ดํ ๋ด๋น๊ฒ์ดํฐ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํด HTTPS๋ฅผ ๋ฐ๋ช ํ์๋๋ฐ, ์ด๋ SSL ํ๋กํ ์ฝ๊ณผ ํจ๊ป ์ฌ์ฉ๋์๋ค.
- ํ์ง๋ง ๋ท์ค์ผ์ดํ ๋ด๋น๊ฒํฐ์ด ์น ๋ธ๋ผ์ฐ์ ๋ง๊ณ ๋ ์ ์ฐจ ๋ง์ด ์ฌ์ฉ๋๋ฉด์ ํ์คํ ๊ธฐ๊ตฌ์ธ IETF์ ๊ด๋ฆฌ๋ก ๋ณ๊ฒฝ๋๋ฉด์ TLS๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝ๋์๋ค๊ณ ํ๋ค.
- ๋ง์ ์ฌ๋๋ค์ด ์์ง๊น์ง๋ SSL์ด๋ผ๊ณ ์นญํ๊ธฐ๋ ํ๋ค. (๋ณธ๋ฌธ์์๋ ์ดํ SSL๋ก ์นญํ๊ฒ ๋ค.)
์! ๋ณต์กํ ์ด์ผ๊ธฐ๋ ๋ฏธ๋ค์ฃผ๊ณ , ์ฝ๊ฒ ์๊ฐํด์ HTTPS๋ HTTP์ ๋ณด์์ด ๊ฐํ๋ ๋ฒ์ ์ด๋ผ๊ณ ๋ณด๋ฉด ์ฝ๋ค.
HTTP๋ ์ ์ฌ์ฉ๋๋๋ฐ ์ ๊ตณ์ด HTTPS๋ผ๋ ๊ฐ๋ ์ ์ด๋ ต๊ฒ ๋ฐฐ์์๊น์ง ์ดํดํด์ผํ ๊น??
๋ค๋ฅด๊ฒ ๋งํ๋ฉด, HTTPS๋ ์ ํ์ํ ๊ฒ์ผ๊น?
ํฌ๊ฒ 3๊ฐ์ง ์ด์ ๊ฐ ์๋ค.
1. ์ํธํ
์ฒซ ๋ฒ์งธ๋ ์ํธํ์ด๋ค.

์ถ์ฒ: https://serverguy.com/ssl/difference-between-http-and-https/
HTTP๋ ๋ณด์์ ์ ํ ์ ๊ฒฝ์ฐ์ง ์๊ธฐ ๋๋ฌธ์, ๊ทธ๋๋ก ๋คํธ์ํฌ๋ฅผ ํตํด ํต์ ์ ํ๋ฉด ์ ์ก ์ค๊ฐ์ ์ค๋ํ์ ๋นํด ๋ด์ฉ์ ๊ทธ๋๋ก ๋ ธ์ถํ ์ ์๋ค.
ํฐ ์ด์๊ฐ ์๋๋ผ๊ณ ์๊ฐํ ์๋ ์์ง๋ง, ๋ก๊ทธ์ธ์ ๊ฒฝ์ฐ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ HTTP๋ฅผ ํตํด ์ ์กํ๋ฉด, ๊ทธ๋๋ก ๋ ธ์ถ๋๋ ํฐ ๋ณด์ ์ด์๊ฐ ๋ฐ์ํ ์ ์๋ค.
๋ฐ๋ฉด์, HTTPS๋ ๋คํธ์ํฌ์์์ ํด์ปค๊ฐ ํจํท์ ๊ฐ๋ก์ฑ๋ ์ํธํ๊ฐ ๋์ด์๊ธฐ ๋๋ฌธ์ ํด์ปค๊ฐ ๋ด์ฉ์ ๋ณผ ์ ์๋ค.
์ฆ, ๋ก๊ทธ์ธํ ๋ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ํธํํด์ ๋ณด๋ด๊ธฐ ๋๋ฌธ์ ๋ณตํธํ ํค๊ฐ ์๋ค๋ฉด ํด์ปค๊ฐ ์ ํ ๋ด์ฉ์ ์์๋ณผ ์ ์๋ค.
2. ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ
๋ ๋ฒ์งธ๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ด๋ค.
HTTPS๋ ๋ฐ์ดํฐ๊ฐ ์ ์ก๋๋ ๋์ ์๋์ ์ด๋ ๊ทธ๋ ์ง ์๋ ๋ชจ๋ฅด๋ ์ฌ์ด์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๊ฑฐ๋ ์์๋๋ ์ผ์ ๋ฐฉ์งํ๋ค.
3. ์ธ์ฆ
์ธ ๋ฒ์งธ๋ ์ธ์ฆ์ด๋ค.
HTTPS๋ ์ 3 ์ธ์ฆ ๊ธฐ๊ด์ ํตํด ์ ์ํ๊ณ ์ํ๋ ์ฌ์ดํธ๊ฐ ์ ๋ขฐํ ์ ์๋ ์ฌ์ดํธ์ธ์ง ํ๋ณํด์ค๋ค. ex. ํผ์ฑ ์ฌ์ดํธ ๋ฐฉ์ง
๋ค์ ๋งํด ์ ์ํ๊ณ ์ํ๋ ์ฌ์ดํธ๊ฐ ๋ฏฟ์ ๋งํ ๊ณณ์ธ์ง ํ๋ณํด์ค๋ค. ์ด๋ ๊ธฐ๊ด์ผ๋ก๋ถํฐ ๊ฒ์ฆ๋ ์ฌ์ดํธ๋ง ์ฃผ์์ HTTPS ์ฌ์ฉ์ด ํ๊ฐ๋๋ค.
์ด๋ ์ฌ์ฉ๋๋ ๊ฒ์ด ๋ฐ๋ก ๋ณด์์ธ์ฆ์(SSL/TLS ์ธ์ฆ์)์ด๋ค.
์ด์ ๊ด๋ จ๋ ๋ด์ฉ์ ์๋์ ๋ค ์์ธํ ๋ค๋ฃฐ ์์ ์ด๋ค!
4. SEO
๋ค ๋ฒ์งธ ์ด์ ๋ ์กฐ๊ธ ๋ณด๋์ค์ธ ๋ถ๋ถ์ธ๋ฐ ๊ฒ์์์ง ์ต์ ํ(SEO)์๋ ์ข๋ค๊ณ ํ๋ค.
์ค์ ๋ก ๊ตฌ๊ธ์ด HTTPS ์น ์ฌ์ดํธ์ ๊ฐ์ฐ์ ์ ์ค๋ค๊ณ ํ๋ค. ์ด๋ก ์ธํด ์ฌ์ฉ์๋ค์ด ๊ฒฐ๊ตญ ์ ์ ์์ ํ๋ค๊ณ ์๊ฐํ๋ ์ฌ์ดํธ๋ฅผ ๋ ๋ง์ด ๋ฐฉ๋ฌธํ๊ฒ ๋๋ ๊ฒ!
๋ณธ๊ฒฉ์ ์ผ๋ก HTTPS๋ฅผ ์ดํดํ๊ธฐ ์ํด์ ์ฌ์ ์ ์ธ ์ง์์ด ์๋ค. ์ด์ ๋ํด์ ์์๋ณด์.
HTTPS์ SSL์ ๋ง์น ์ธํฐ๋ท๊ณผ ์น์ ์ฐจ์ด์ ๋น์ทํ๋ค.
์น์ด ์ธํฐ๋ท ์์์ ๋์๊ฐ๋ ์๋น์ค ์ค์ ํ๋์ธ ๊ฒ์ฒ๋ผ HTTPS๋ SSL ํ๋กํ ์ฝ ์์์ ๋์๊ฐ๋ ํ๋กํ ์ฝ์ค ํ๋์ด๋ค.
SSL์ '๋ณด์ ๊ณ์ธต'์ด๋ผ๋ ๋ ๋ฆฝ์ ์ธ ํ๋กํ ์ฝ ๊ณ์ธต์ ๋ง๋ค์ด, ์์ฉ ๊ณ์ธต๊ณผ ์ ์ก ๊ณ์ธต ์ฌ์ด์ ์ํ๋ค.
HTTPS๋ SSL์์ HTTP ํ๋กํ ์ฝ์ ์น์ด ๋ณด์๋ HTTP ํต์ ์ ํ๋ ํ๋กํ ์ฝ์ ์๋ฏธํ๋ค.
๋์นญํค์ ๋น๋์นญํค์ ๋ ์์ธํ ๊ฐ๋ ์ ์ํธํ ๊ธฐ์ด์ ์ฐธ๊ณ ํ์.
๋์นญํค์ ๋น๋์นญํค์ ํต์ฌ์ ์๋์ ๊ฐ๋ค.
- ๋์นญํค
- ๊ฐ๋
- ํ๋์ ํค๋ก ์ํธํ์ ๋ณตํธํ๋ฅผ ๋ชจ๋ ์ํ.
- ํน์ง
- ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์กฐ๊ฐ ๋จ์ํ๋ฉฐ, ๋น๋์นญํค์ ๋นํด ์ํธํ์ ๋ณตํธํ ์๋๊ฐ ๋น ๋ฅด๋ค.
- ํ์ง๋ง, ํค ๊ด๋ฆฌ์ ์ด๋ ค์์ด ์๋ค.
- ๊ฐ๋
- ๋น๋์นญํค
- ๊ฐ๋
- ๊ณต๊ฐํค(public), ๊ฐ์ธํค(private)๋ฑ ๋ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํ์ ๋ณตํธํ๋ฅผ ์ํ.
- ํน์ง
- ๋์นญํค์ ๋นํด ์๋๊ฐ ๋๋ฆฌ๋ค.
- ๋ค๋ง, ์์ ํ ํต์ ์ด ๊ฐ๋ฅํ๊ณ ํค ๊ด๋ฆฌ๊ฐ ๋น๊ต์ ์ฉ์ดํ๋ค.
- ๊ฐ๋
HTTPS. ๋ ์ ํํ๋ SSL์ ๋์นญํค์ ๋น๋์นญํค์ ์ฅ์ ์ ๋ชจ๋๋ฅผ ํ์ฉํ๋ค.
๋น๋์นญํค ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ์ธ์ฆ์ ๋จผ์ ์๋ฃํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋น๋์นญํค๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ๋์นญํค๋ฅผ ์ ๋ฌํ๊ณ , ๋ฐ์ดํฐ ํต์ ์์ ๋์นญํค๋ฅผ ์ฌ์ฉํ๋ค.
์ฆ, ์ธ์ฆ์ ์ธ์ฆ์๋ ๋น๋์นญํค๋ฅผ ์ฌ์ฉํ๊ณ , ์ดํ์ ๋ฐ์ดํฐ ์ ์ก์๋ ํจ์จ์ฑ์ ์๊ฐํด์ ๋์นญํค๋ฅผ ์ฌ์ฉํ๋ค.
์ด์ ๊ด๋ จ๋ ๋ด์ฉ์ ์๋ HTTPS ๋์ Flow์์ ๋ ์์ธํ ๋ค๋ฃฌ๋ค.
ํ์๋ ์ด๋ค ๊ธฐ์ ์ ์ฒ์ ๋ฐฐ์ธ ๋ ํฐ ๊ทธ๋ฆผ์ ์ฐ์ ์ ์ผ๋ก ๊ทธ๋ ค๋ณด๋ ค๊ณ ๋ ธ๋ ฅํ๋ค.
๊ทธ ์ด์ ๋ ํฐ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ์ง ์๊ณ ๋ฐ๋ก ์ธ๋ถ์ ์ธ ๋ถ๋ถ์ ๊ณต๋ถํ๋ฉด ๊ธธ์ ํค๋งค๊ฑฐ๋, ์ค๊ฐ์ ํฅ๋ฏธ๋ฅผ ์๊ฒ ๋๊ธฐ ๋๋ฌธ์ด๋ค.
์ง๊ธ๊น์ง HTTPS๊ฐ ์ ํ์ํ์ง, ๊ทธ๋ฆฌ๊ณ HTTPS๋ฅผ ์ดํดํ๊ธฐ ์ํ ์ฌ์ ์ง์์ ๋ํด์ ์์๋ณด์์ผ๋, ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก HTTPS์ ํฐ ๊ทธ๋ฆผ์ ์์๋ณด์.
๊ฐ๋ฐ์๊ฐ ์๋ ์ผ๋ฐ์ธ๋ ์์๋ณผ ์ ์๋ ํฐ ๊ทธ๋ฆผ์ ๋จผ์ ๊ทธ๋ ค๋ณด์.
SSL, ์ํธํ ๋ฐฉ์๋ฑ ์ฌ๋ฌ ๋ด์ฉ์ ์ ์ธํ์๋ค.
์ฝ๊ฒ ์๊ฐํด์ SSL ์ธ์ฆ์๋ ์ ๋ถ์ฆ๊ณผ ๊ฐ๋ค.
์ฌ์ด ์์๋ฅผ ๋ค์ด๋ณด์.
- ํธ์์ ์๋ฐ(์น ๋ธ๋ผ์ฐ์ )์ ๊ฐ์ ๋ด๋ฐฐ๋ฅผ ์ฌ๋ ค๋ฉด 19์ด์ด ๋๋๋ค๋ ์ธ์ฆ์ ํด์ผํ๋ค.
- ๋ด๋ฐฐ๋ฅผ ๊ตฌ๋งคํ๊ณ ์ ํ๋ ์๋(์๋ฒ)๊ฐ ๋ค์ด์ค๋ฉด ์ ๋ถ์ฆ์ ์๊ตฌํ๋ค.
- ํธ์์ ์๋ฐ(์น ๋ธ๋ผ์ฐ์ )๋ ์ ๋ถ์ฆ์ ์ ๋ถ์ฆ ์ธ์ฆ ๊ธฐ๊ด์ ์กฐํํ์ฌ ์ธ์ฆ๋ฐ๋๋ค.
์ ์์์ HTTPS ์ธ์ฆ ๊ณผ์ ์ ํฌ๊ฒ ๋ค๋ฅด์ง ์๋ค.
๋ค๋ง, ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ๋ฅผ ์ ์ฉํ๊ฒ๋๋ ๊ณผ์ ์์ ๋ฐ์ดํฐ ์ ์ก์ ์ฌ์ฉ๋๋ ๋์นญํค๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค.
์์์ ๊ต์ฅํ ์ถ์์ ์ผ๋ก HTTPS ๋์ Flow๋ฅผ ์์๋ณด์๋ค.
์ด๋ฒ์ ์กฐ๊ธ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์์๋ณธ๋ค.
์ด๋ป๊ฒ SSL ์ธ์ฆ์๋ฅผ ์์ฑํ๋์ง, ์น ๋ธ๋ผ์ฐ์ ๋ ์ด SSL์ด ์ง์ง์์ ์ด๋ป๊ฒ ์๊ฒ ๋๋์ง, ์น ๋ธ๋ผ์ฐ์ ์ ์๋ฒ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ํธํํ ์ ์๋์งใ ์ ๋ํด์ ์์๋ณธ๋ค.
SSL Handshake๊ณผ์ ์ ์กฐ๊ธ ์ถ์ํํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
1-2. ์๋ฒ (์ฌ์ดํธ): ๋น๋์นญํค(Server_Public, Server_Private)๋ฅผ ์์ฑํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฒ์ ๊ฐ์ข ์ ๋ณด์ Server_Public ํค๋ฅผ ์ธ์ฆ๊ธฐ๊ด์ ์ ๋ฌํ๋ฉด์ SSL ์ธ์ฆ์ ์์ฑ์ ์์ฒญํ๋ค.
2-6. ์ธ์ฆ ๊ธฐ๊ด (CA): ์๋ฒ์์ ์ ์ฆํ๋ ์ ๋ณด (ex. ๋๋ฉ์ธ ์ฃผ์, ์กฐ์ง, ๋๋ผ, ์ ํจ๊ธฐ๊ฐ๋ฑ๋ฑ)๋ฅผ ๋ด์ SSL ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋น๋์นญํค(CA_Public, CA_Private)๋ฅผ ์์ฑํ๊ณ , SSL ์ธ์ฆ์๋ฅผ CA_Private์ผ๋ก ์ํธํํ์ฌ ์๋ฒ์๊ฒ ์ ๋ฌํ๋ค.
7-8. ์๋ฒ (์ฌ์ดํธ): ์๋ฒ๋ CA๋ก๋ถํฐ ๋ฐ์ ์ธ์ฆ์ (CA_Private์ผ๋ก ์ํธํ๋ ์ธ์ฆ์)๋ฅผ ๊ฒ์ํ๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์ ์ ์์ฒญ์ ์ํ ์ธ์ฆ์๋ฅผ ์๊ตฌํ๋ฉด ์ธ์ฆ์๋ฅผ ๋ฐํํ๋ค.
9-12. ํด๋ผ์ด์ธํธ (์น ๋ธ๋ผ์ฐ์ ): CA_Private์ผ๋ก ์ํธํ๋ SSL ์ธ์ฆ์๋ฅผ ์๋ฒ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ผ๋ฉด, CA์๊ฒ CA_Public ํค๋ฅผ ์์ฒญํ๋ค. ๊ทธ๋ฆฌ๊ณ CA_Public ํค๋ก ์ํธํ๋ SSL ์ธ์ฆ์๋ฅผ ๋ณตํธํํ๋ค. ์ด๋ ์๋ฒ์ ์ ๋ณด๊ฐ ๋ด๊ธด SSL ์ธ์ฆ์์ ๊ฐ์ด ์ํธํํด๋ Server_Public ํค๋ฅผ ์ป๋๋ค.
13-15. ํด๋ผ์ด์ธํธ (์น ๋ธ๋ผ์ฐ์ ) - ์๋ฒ (์ฌ์ดํธ): ์น ๋ธ๋ผ์ฐ์ ๋ ๋ฐ์ดํฐ ์ ์ก์ ์ฌ์ฉ๋๋ ๋์นญํค๋ฅผ ์์ฑํ๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ํ Server_Public์ผ๋ก ๋์นญํค๋ฅผ ์ํธํํ์ฌ ์๋ฒ์ ์ ๋ฌํ๋ค. ์๋ฒ๋ Server_Private์ผ๋ก ์ ๋ฌ๋ฐ์ ์ํธํ๋ ๋์นญํค๋ฅผ ๋ณตํธํํ๋ค.
16. ํด๋ผ์ด์ธํธ (์น ๋ธ๋ผ์ฐ์ ) - ์๋ฒ (์ฌ์ดํธ): ์๋ก ๊ฐ์ง๊ณ ์๋ ๋์นญํค๋ก ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๊ณ ๋ณตํธํํ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค.
์ด 3๊ฐ์ ์ํธํค๋ฅผ ๋ง๋ ๋ค.
- ์๋ฒ์์ ์์ฑํ ๋น๋์นญํค: ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ๋ฐ์ดํฐ ํต์ ์ ์ฌ์ฉ๋๋ ๋์นญํค๋ฅผ ์ํธํํ์ฌ ์ ๋ฌํ๊ธฐ ์ํด ์์ฑ.
- CA์์ ์์ฑํ ๋น๋์นญํค: SSL ์ธ์ฆ์์ ์ธ์ฆํ๊ธฐ ์ํด ์์ฑ.
- ๋์นญํค: ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ฃผ๊ณ ๋ฐ๊ธฐ์ํด ์์ฑ.
์ด๋ฒ์ ์์ ๊ตฌ์ฒด์ ์ผ๋ก HTTPS์ ๋์์ ์ดํด๋ณธ๋ค. ๋ค์ ๋งํด SSL Handshake๋ ์ด๋ค ์๋ฆฌ๋ก ๋์ํ๋์ง ์์๋ณธ๋ค.
์ฐ์ SSL Handshake์ ๋ชฉ์ ๊ณผ HTTPS ํต์ ๊ณผ์ ์์์ Handshake๊ฐ ์์นํ๋ ๋ถ๋ถ์ ์ดํด๋ณด์.
SSL Handshake์ ๋ชฉ์
๋ชฉ์ ์ ์ ํํ ํ์ ํด์ผ ๊ธธ์ ํค๋งค์ง ์๋๋ค.
- ์์ ์ฑ์ด ๋ณด์ฅ๋ ๋ฐ์ดํฐ ํต์ ์ ์ํ ๋์นญํค๋ฅผ ๊ตํํ๊ธฐ ์ํจ.
- SSL ์ธ์ฆ์๋ฅผ ์ธ์ฆํ๊ธฐ ์ํจ.
- ์ํธํ ์๊ณ ๋ฆฌ์ฆ(Cipher Suite) ๊ฒฐ์
HTTPS์ ์ ์ฒด์ ์ธ ํต์ ๊ณผ์

์ถ์ฒ: HTTP ์๋ฒฝ ๊ฐ์ด๋ 14์ฅ
์ค์ํ ์ ์ SSL Handshakeํ๊ธฐ ์ ํ๋ก TCP ์ปค๋ฅ์ ์ ์๋ฆฝํ๊ณ ๋ซ์์ผํ๋ค๋ ๊ฒ์ด๋ค. (3, 4 way handshake)
์ฆ, ๊ธฐ์กด์ HTTP ํต์ ์ฌ์ด์ SSL Handshake๋ฅผ ํ๊ณ , ์ด๋ฅผ ํตํด ์ป์ ๋์นญํค๋ก ๋ณด์์ ๊ฐํํ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก SSL Handshake ๋ถ๋ถ์ ์ดํด๋ณด์.
์ถ์ฒ: Classification of SSL Servers based on their SSL Handshake for Automated Security Assessment
ClientHello
์ํธํ ์๊ณ ๋ฆฌ์ฆ ๋์ด ๋ฐ ์ ๋ฌ
- ์ญํ
- Client๊ฐ Server์ ์ฐ๊ฒฐ์ ์๋ํ๋ฉฐ ์ ์กํ๋ ํจํท.
- Client๋ ์ด๋ค ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์ ์๋์ง ํ์ธํ๊ธฐ ์ํด ๋ณด๋ด๋ ์ ์ก.
- ์ ์กํ๋ ๋ด์ฉ
- ์์ ์ด ์ฌ์ฉ ๊ฐ๋ฅํ Cipher Suite (์ํธํ ์๊ณ ๋ฆฌ์ฆ)๋ชฉ๋ก.
- Session ID
- SSL Protocol Version
- Random byte๋ฑ๋ฑ
Server Hello
์ํธํ ์๊ณ ๋ฆฌ์ฆ ์ ํ
- ์ญํ
- Client๊ฐ ๋ณด๋ด์จ Cipher Suite์ค ํ๋๋ฅผ ์ ํํ๊ณ , SSL Protocol Version๊ณผ ํจ๊ป Client์๊ฒ ์๋ฆผ. (Server๊ฐ ์ฌ์ฉ๊ฐ๋ฅํ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ์ฌ ์ ๋ฌ.)
- ์ ์กํ๋ ๋ด์ฉ
- Cipher Suite
- SSL Protocol Version
Certificate
์ธ์ฆ์ ์ ๋ฌ
- ์ญํ
- Server๊ฐ ๊ฐ์ง๊ณ ์๋ ์ํธํ๋ SSL ์ธ์ฆ์๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌ. ์ธ์ฆ์ ๋ด๋ถ์ Server๊ฐ ๋ฐํํ ๊ณต๊ฐํค๋ ํฌํจ๋์ด ์๋ค.
- Client
- Client๋ CA์๊ฒ ๊ณต๊ฐํค๋ฅผ ์์ฒญํ๊ณ ๋ฐ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ์๋ฒ๊ฐ ๋ณด๋ธ CA์ ๊ฐ์ธํค๋ก ์ํธํ๋ SSL ์ธ์ฆ์๋ฅผ ๋ณตํธํํ๋ค.
- ๋ณตํธํ๊ฐ ์ฑ๊ณตํ๋ฉด CA๊ฐ ์๋ช ํ ๊ฒ์ด ๋ง์ผ๋ ๊ฒ์ฆ ์๋ฃ.
- ์ ์กํ๋ ๋ด์ฉ
- Server๊ฐ ๊ฐ์ง๊ณ ์๋ CA ๊ฐ์ธํค๋ก ์ํธํ๋ SSL ์ธ์ฆ์.
Server Key Exchange (option) / ServerHello Done
์ธ์ฆ์ ๊ฒ์ฆ ์๋ฃ ๋ฐ Server ๊ณต๊ฐํค ์ ๋ฌ
- Server Key Exchange (option)
- Server์ ๊ณต๊ฐํค๊ฐ ๋ณตํธํํ SSL ์ธ์ฆ์ ๋ด๋ถ์ ์์ ๊ฒฝ์ฐ, Server๊ฐ ์ง์ ์ ๋ฌํ๋ ๊ณผ์ ์ ์๋ฏธํ๋ค.
- ๋ฌผ๋ก , SSL ์ธ์ฆ์ ๋ด๋ถ์ ์กด์ฌํ๋ฉด ์ด ๊ณผ์ ์ ์๋ต๋๋ค.
- ServerHello Done
- Client๊ฐ Server๋ก๋ถํฐ ์ ๋ฌ ๋ฐ์ ์ธ์ฆ์๋ฅผ ๋ณตํธํํ์ฌ ์ธ์ฆ ์๋ฃํ๊ณ Server ๊ณต๊ฐํค๋ฅผ ํ๋ณดํ๋ ๊ณผ์ .
- ๊ทธ๋ฆฌ๊ณ Server๊ฐ ํ๋์ ๋ง์ณค์์ ์ ๋ฌํ๋ ํจํท.
Client Key Exchange
๋ฐ์ดํฐ๋ฅผ ์ํธํํ ๋์นญํค ์ ๋ฌ
- ์ญํ
- Client๊ฐ ๋์นญํค๋ฅผ ์์ฑํ์ฌ SSL ์ธ์ฆ์ ๋ด๋ถ์์ ์ถ์ถํ Server์ ๊ณต๊ฐํค๋ก ์ํธํํ ํ Server์ ์ ๋ฌํ๋ค.
- ์ฐธ๊ณ ๋ด์ฉ
- ์ค์ ๋ก ๋์นญํค๋ฅผ ๋ณด๋ด์ง ์๊ณ ํค๋ฅผ ์์ฑํ ์๋ฃ๋ฅผ ๋ณด๋ธ๋ค. ์ด์ ๊ด๋ จํด์๋ ๋ณด์๊ณผ ๊ด๋ จ๋ ๋ ๊น์ ๋ด์ฉ์ ๋ค๋ค์ผํ๋ฏ๋ก ์๋ตํ๋ค.
Change CipherSpec / Client Finished
์์ ํ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ค๋น๊ฐ ๋์์์ ์๋ฆผ.
- ์ญํ
- Client์ Server๊ฐ ์ธ์ฆ๊ณผ ๋ณด์์ ์ํด ๊ตํํ ์ ๋ณด๋ฅผ ๋ชจ๋ ์๋ฃํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ค๋น๊ฐ ๋์์์ ์๋ฆผ.
- ๊ทธ๋ฆฌ๊ณ ClientFinished๋ฅผ ์ ๋ฌํจ์ผ๋ก์จ SSL Handshake๊ฐ ์ข ๋ฃํ๊ฒ ๋จ.
์๋ ์ด๋ฏธ์ง๋ ์ด์ ์ ์คํฐ๋๋ฅผ ํ๋ฉฐ ์ ๋ฆฌํ๋ ๋ด์ฉ์ด๋ค.
SSL Handshake๋ฅผ ํ ๋์ ๋ณด๊ธฐ ํธํ๋ค๊ณ ์๊ฐ๋ค์ด ์ฐธ๊ณ ์ฉ์ผ๋ก ์ฌ๋ ค์ค๋ค!
์ด์ ์ HTTPS๋ฅผ ์ ์ฉ์ํค๊ธฐ์ํด ๋ฌด์์ ์ฌ๋ฌ ์๋ฃ๋ค์ ๋ฐ๋ผ ์ ์ฉ์์ผฐ๋ค.
๋ฌผ๋ก ๋์ํ๋ ์๋ฆฌ๋ ๋ง๋ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค.. ์ด๋ ๊ฒ ์ ๋ฆฌ๋ฅผ ํ๊ณ ๋๋ ๋ง๋ฒ์ด ์๋ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
๊ธฐ์ ์ ํ๋ํ๋ ์ดํดํ๋๊ฑด ๊ต์ฅํ ์ฌ๋ฐ๋ ๊ฒ ๊ฐ๋จ ์๊ฐ์ ๋ ํ๋ฒ ํ๊ฒ๋ ๊ณ๊ธฐ์ธ ๋ฏํ๋ค.
์! ์ด์ ์ ๋ง ๊ฐ๋จํ HTTPS๋ฅผ ์ ๋ฆฌํด๋ณด์.
๐ค HTTP๋ ํต์ ๊ณผ์ ์์ ์ค๋ํ ๋นํ๊ธฐ ์ฌ์ฐ๋ ๋ณด์์ ๊ฐํํ๊ณ ์ถ์๋ฐ ์ด๋ป๊ฒ ํ ๊น?
๐โโ๏ธ HTTP๋ก ๋ณด๋ผ ๋ด์ฉ์ Client์ Server๊ฐ ๋ชจ๋ ๊ฐ์ง๊ณ ์๋ ๋์นญํค๋ก ์ํธํํ์ฌ ๋ณด๋ด๋ฉด ๋๋ค. (๋น๋์นญํค๋ ์ฑ๋ฅ์ด ์ข์ง ์๋ค.)
๐ค ๊ทธ๋ ๋ค๋ฉด ๋์นญํค๋ ์ด๋ป๊ฒ ๊ตํํ๋๊ฐ? ๊ทธ๋ฆฌ๊ณ ์๋ฒ๊ฐ ํ์ดํฌ๊ฐ ์๋์ง ์ด๋ป๊ฒ ์ธ์ฆํ๋๊ฐ?
๐โโ๏ธ ์ด๋ ์งํํ๋ ๊ฒ์ด SSL Handshake์ด๋ค. ์ด ๊ณผ์ ์์ ๋น๋์นญํค๋ฅผ ์ด์ฉํด Client์ Server์ ์ ๋ขฐ์ ๋์นญํค ๊ตํ์ ์ 3์์ธ CA๊ฐ ๋์์ค๋ค.
๐โโ๏ธ SSL Handshake๋ฅผ ํตํด ๋์นญํค๋ฅผ ๋ชจ๋ ๊ฐ๊ฒ๋์๋ค๋ฉด ์ด์ ๋ฐ์ดํฐ ํต์ ์ ํ๊ณ ์๋ฃ๋๋ฉด ๋ซ์ผ๋ฉด ๋๋ค!




