Http
HTTP์ ๋ฌธ์ ์
Https
http๋ ์๋ก ๋ค๋ฅธ ์์คํ ์ฌ์ด์์ ํต์ ์ ์ฃผ๊ณ ๋ฐ๊ฒ ํด์ฃผ๋ ๊ฐ์ฅ ๊ธฐ์ด์ ์ธ ํ๋กํ ์ฝ์ด๋ฉฐ ์น ์ํ์ ํ ๋ ์๋ฒ์์ ์์ ์ ๋ธ๋ผ์ฐ์ ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํด์ฃผ๋ ์ฉ๋๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค. ์ธํฐ๋ท ์ด๊ธฐ์ ๋ชจ๋ ์น ์ฌ์ดํธ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋์๋ ํ๋กํ ์ฝ์ด๊ธฐ๋ ํฉ๋๋ค. ํ๋กํ ์ฝ์ ๊ท์น์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
๊ตฌ์กฐ๋ ์์ ๊ฐ์ต๋๋ค. http๋ ์ ํ๋ฆฌ ์ผ์ด์ ๋ ๋ฒจ์ ํ๋กํ ์ฝ๋ก TCP/IP ์์์ ์๋ํ๋ค. Http๋ ์ํ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์์ stateless ํ๋กํ ์ฝ์ด๋ฉฐ method, path, version, Headers, body๋ฑ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. (๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ผ์ ์์๊ฐ์ ๊ตฌ์กฐ๋ฅผ ํ์ธ ํ ์ ์์ต๋๋ค.)
Http๋ ํ๋ฌธ ํต์
์ด๊ธฐ ๋๋ฌธ์ ๋์ฒญ์ด ๊ฐ๋ฅํ๋ค. (ํ๋ฌธ์ด๋ผ ํจ์ ์ํธํ ๋์ง ์์ ๋ฌธ์๋ฅผ ๊ทธ๋๋ก ๋ณด์ฌ์ฃผ๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.)- ํต์ ์๋๋ฅผ ํ์ธํ์ง ์๊ธฐ ๋๋ฌธ์
์์ฅ
์ด ๊ฐ๋ฅํ๋ค. ์์ ์ฑ
์ ์ฆ๋ช ํ ์ ์๊ธฐ ๋๋ฌธ์๋ณ์กฐ
๊ฐ ๊ฐ๋ฅํ๋ค.
TCP/IP๊ตฌ์กฐ ํต์ ์ ์ ๋ถ ํต์ ๊ฒฝ๋ก ์์์ ์ฟ๋ณผ ์ ์๋ค. ํจํท์ ์์งํ๋ ๊ฒ๋ง์ผ๋ก ๋์ฒญํ ์ ์๋ค. ํ๋ฌธ์ผ๋ก ํต์ ์ ํ ๊ฒฝ์ฐ ๋ฉ์์ง์ ์๋ฏธ๋ฅผ ํ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ํธํํ์ฌ ํต์ ํด์ผ ํ๋ค.
HTTP์ ์ํ ํต์ ์๋ ์๋๊ฐ ๋๊ตฌ์ธ์ง ํ์ธํ๋ ์ฒ๋ฆฌ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๊ตฌ๋ ์ง ๋ฆฌํ์คํธ๋ฅผ ๋ณด๋ผ ์ ์๋ค. IP์ฃผ์๋ ํฌํธ ๋ฑ์์ ๊ทธ ์น ์๋ฒ์ ์ก์ธ์ค ์ ํ์ด ์๋ ๊ฒฝ์ฐ ๋ฆฌํ์คํธ๊ฐ ์ค๋ฉด ์๋๊ฐ ๋๊ตฌ๋ ์ง ๋ฌด์ธ๊ฐ์ ๋ฆฌ์คํฐ์ค๋ฅผ ๋ฐํํ๋ค. ์ด๋ฌํ ํน์ง์ ์ฌ๋ฌ ๋ฌธ์ ์ ์ ์ ๋ฐํ๋ค.
1. ๋ฆฌํ์คํธ๋ฅผ ๋ณด๋ธ ๊ณณ์ ์น ์๋ฒ๊ฐ ์๋ ์๋ํ ๋ฆฌ์คํฐ์ค๋ฅผ ๋ณด๋ด์ผ ํ๋ ์น ์๋ฒ์ธ์ง ํ์ธํ ์ ์๋ค.
2. ๋ฆฌ์คํฐ์ค๋ฅผ ๋ฐํํ ๊ณณ์ ์น์๋ฒ๊ฐ ์๋ ์๋ํ ๋ฆฌ์คํฐ์ค๋ฅผ ๋ณด๋ด์ผ ํ๋ ์น ์๋ฒ์ธ์ง ํ์ธํ ์ ์๋ค.
3. ํต์ ํ๊ณ ์๋ ์๋๊ฐ ์ ๊ทผ์ด ํ๊ฐ๋ ์๋์ธ์ง ํ์ธํ ์ ์๋ค.
4. ์ด๋์์ ๋๊ฐ ๋ฆฌํ์คํธ ํ๋์ง ํ์ธํ ์ ์๋ค.
5. ์๋ฏธ์๋ ๋ฆฌํ์คํธ๋ ์์ ํ๋ค. -> DoS ๊ณต๊ฒฉ์ ๋ฐฉ์งํ ์ ์๋ค.
์ฌ๊ธฐ์ ์์ ์ฑ์ด๋ ์ ๋ณด์ ์ ํ์ฑ์ ์๋ฏธํ๋ค. ์๋ฒ ๋๋ ํด๋ผ์ด์ธํธ์์ ์์ ํ ๋ด์ฉ์ด ์ก์ ์ธก์์ ๋ณด๋ธ ๋ด์ฉ๊ณผ ์ผ์นํ๋ค๋ผ๋ ๊ฒ์ ๋ณด์ฅํ ์ ์๋ ๊ฒ์ด๋ค. ๋ฆฌํ์คํธ๋ ๋ฆฌ์คํฐ์ค๊ฐ ๋ฐ์ ๋ ํ์ ์๋๊ฐ ์์ ํ๋ ์ฌ์ด์ ๋๊ตฐ๊ฐ์ ์ํด ๋ณ์กฐ๋๋๋ผ๋ ์ด ์ฌ์ค์ ์ ์ ์๋ค. ์ด์ ๊ฐ์ด ๊ณต๊ฒฉ์๊ฐ ๋์ค์ ๋ฆฌํ์คํธ๋ ๋ฆฌ์คํฐ์ค๋ฅผ ๋บด์์ ๋ณ์กฐํ๋ ๊ณต๊ฒฉ์ ์ค๊ฐ์ ๊ณต๊ฒฉ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- SSL(Secure Socket Layer)์ด๋ TLS(Transport Layer Security)๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ํ๋กํ ์ฝ๊ณผ ์กฐํฉํ์ฌ HTTP ํต์ ๋ด์ฉ์ ์ํธํ ํ๋ค. ์ฆ SSL์ ์ฌ์ฉํด ์์ ํ ํต์ ๋ก๋ฅผ ํ๋ฆฝํ๊ณ ๋์ ๊ทธ ํต์ ๋ก๋ฅผ ์ฌ์ฉํด HTTP ํต์ ์ ํ๋ ๊ฒ์ด๋ค.(1) => (HTTPS)
- HTTP๋ฅผ ์ฌ์ฉํด์ ์ด๋ฐํ๋
๋ด์ฉ
๋ง์ ์ํธํํ๋ ๊ฒ์ด๋ค. HTTP ์์ฒด๋ฅผ ์ํธํ ํ๋ ๊ฒ์ด ์๋ ์ปจํ ์ธ ๋ง ์ํธํํ๋ ๊ฒ์ธ๋ฐ ๋ค๋ง ์ด๊ฒฝ์ฐ๋ ํด๋ผ์ด์ธํธ์์ HTTP ๋ฉ์์ง๋ฅผ ์ํธํํด์ ์ถ๋ ฅํ๋ ์ถ๊ฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ค.(1) - ์ ์ํธํ ๋ฐฉ๋ฒ์ผ๋ก ์ธ๊ธ๋ SSL๋ก ์๋๋ฅผ ํ์ธํ ์ ์๋ค. SSL์ ์๋๋ฅผ ํ์ธํ๋ ์๋จ์ผ๋ก ์ฆ๋ช ์๋ฅผ ์ ๊ณตํ๊ณ ์๋ค.(2)
- MD5, SHA-SUM, ๋ฑ์ ํด์ ๊ฐ์ ํ์ธํ๋ ๋ฐฉ๋ฒ๊ณผ ํ์ผ์ ๋์งํธ ์๋ช ์ ํ์ธํ๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํ์ง๋ง ํ์คํ ํ์ธ ํ ์ ์๋ ๊ฒ์ ์๋๋ค. ํ์คํ ๋ฐฉ์งํ๊ธฐ์ํด์๋ HTTPS๋ฅผ ์ฌ์ฉํด์ผํ๋ค. SSL์ ์ธ์ฆ์ด๋ ์ํธํ ๊ทธ๋ฆฌ๊ณ ๋ค์ด์ ์คํธ ๊ธฐ๋ฅ์ด ์๋ค.(3)
์์์ ์ค๋ช
ํ ๊ฒ๊ณผ ๊ฐ์ด HTTPS๋ HTTP + SSL/TLS
์ด๋ค. ์๋ฐํ ๋งํ๋ฉด http์ ์์ผ ๋ถ๋ถ์ SSL(Secure Socket Layer)๊ณผ TLS(Transport Layer Secure)๋ก ๋์ฒดํ๋ ๊ฒ์ด HTTPS์ด๋ค. TLS๋ SSL์ ๋ฐํ์ผ๋ก ํ ํ๋กํ ์ฝ๋ก ์ด ํ๋กํ ์ฝ์ ํต์นญํด์ SSL์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
HTTPS๋ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์
๊ณ์ธต์ ํ๋กํ ์ฝ์ด ์๋๋ค. ๊ธฐ์กด์ HTTP๋ ์๋ TCP์ ํต์ ์ ์ง์ ํ์ง๋ง, HTTPS๋ HTTP๋ SSL๊ณผ ํต์ ํ๊ณ SSL์ด TCP์ ํต์
ํ๊ฒ๋๋ค. HTTPS์ SSL์์๋ ๊ณตํตํค ์ํธํ ๋ฐฉ์๊ณผ ๊ณต๊ฐํค ์ํธํ ๋ฐฉ์์ ํผํฉํ ํ์ด๋ธ๋ฆฌ๋ ์ํธ ์์คํ
์ ์ฌ์ฉํ๋ค. ๊ณตํตํค๋ฅผ ๊ณต๊ฐํค ์ํธํ ๋ฐฉ์์ผ๋ก ๊ตํํ ๋ค์์ ๋ค์๋ถํฐ์ ํต์ ์ ๊ณตํตํค ์ํธ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค.
Http๋ client์ browser์ ์๋ฒ๊ฐ ํต์ ์ ์ฃผ๊ณ ๋ฐ๊ฒ ํด์ฃผ๋ ํ๋กํ ์ฝ์ด๋ค. ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ฑฐ๋ ์ ์ก๋ฐ์ ๋ http๋ฅผ ์ฌ์ฉํ๋ค.
ํ์ง๋ง, http๋ ๋ณดํธ๋ง์ ์์ฐ์ง ์์ ํํ์ด๋ฏ๋ก ๋ณด์์ ์ทจ์ฝํ๋ค. ๊ทธ๋์ ๋์จ๊ฒ์ด ๊ธฐ์กด์ TCP๋ก ํต์ ์ ํ๋ HTTP์๋ฅผ SSL์ด๋ TLS๋ก ๊ฐ์ผ ํํ๊ฐ HTTPS
์ด๋ค.
- http๋ stateless, ์ฆ ํ๋ฌธ ํต์ ์ผ๋ก ๋์ฒญ์ด ๊ฐ๋ฅํ๋ค.
- ํต์ ์๋๋ฅผ ํ์ธํ์ง ์๊ธฐ ๋๋ฌธ์ ์์ฅ์ด ๊ฐ๋ฅํ๋ค.
- ์์ ์ฑ์ ์ฆ๋ช ํ ์ ์์ด์ ๋ณ์กฐ๊ฐ ๊ฐ๋ฅํ๋ค -> MIM attack ๊ฐ๋ฅ
- SSL์ด๋ TLS๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ํ๋กํ ์ฝ๊ณผ ์กฐํฉํ์ฌ HTTP ํต์ ์ ์ํธํํ๋ค. -> HTTPS
- HTTP๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฐํ๋ ๋ด์ฉ๋ง ์ํธํํ๋ค. ํด๋ผ์ด์ธํธ ์ ์์์๋ HTTP ๋ฉ์์ง๋ฅผ ๋ณตํธํํ์ฌ ์ถ๋ ฅํ๋ ์ถ๊ฐ ์์ ์ด ์๊ตฌ๋๋ค.
- ์ ์ํธํ ๋ฐฉ๋ฒ์ผ๋ก ์ธ๊ธ๋ SSL๋ก ์๋๋ฅผ ํ์ธํ๋ค. SSL์ ์๋๋ฅผ ํ์ธํ๋ ์๋จ์ผ๋ก ์ 3๊ธฐ๊ด์ ์ฆ๋ช ์๋ฅผ ์ ๊ณตํ๋ค.
- ํด์๊ฐ์ ํ์ธํ๋ ๋ฐฉ๋ฒ๊ณผ ํ์ผ์ ๋์งํธ ์๋ช ์ ํ์ธํ๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํ์ง๋ง ํ์คํ ํ์ธํ ์ ์๋ ๊ฒ์ ์๋๋ค.
- HTTP + SSL/TLS์ด๋ค.
- ์์ผ๋ถ๋ถ์ SSL์ด๋ TLS๋ก ๋์ฒดํ๋ ๊ฒ์ด๋ค. (TLS๋ SSL์ ๋ฐํ์ผ๋กํ ํ๋กํจ์ด๋ค.)
- ๊ธฐ์กด HTTP๋ TCP์ ์ง์ ํต์ ํ์ง๋ง HTTPS๋ HTTP <-> SSL <-> TCP ์ด๋ ๊ฒ ํต์ ํ๋ค.
- HTTP์ HTTPS์ ์ฐจ์ด์ ์ ์ค๋ช ํ์์ค.
- HTTP์ ๋ฌธ์ ์ ์ ์ ์ํ์์ค.
- HTTP์ ๋จ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด์ ์ด๋ป๊ฒ ํด์ผ ํ๋์?
- HTTPS๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ์ค๋ช ํ์์ค.