[TECH-QA] HTTP์™€ HTTPS

HTTP์™€ HTTPS

HTTP(HyperText Transfer Protocol)๋Š” ํด๋ผ์ด์–ธํŠธ(์˜ˆ: ์›น ๋ธŒ๋ผ์šฐ์ €)์™€ ์„œ๋ฒ„ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ๊ทœ์•ฝ์œผ๋กœ, ์ฃผ๋กœ ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€, ์ฟผ๋ฆฌ ๋“ฑ์„ ์ „์†กํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ HTTP๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ํ‰๋ฌธ(plain text)์œผ๋กœ ์ „์†ก๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์ œ3์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๋กœ์ฑ„๋ฉด ์‰ฝ๊ฒŒ ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ ํ‰๋ฌธ(plain text) ์ „์†ก ์˜ˆ์‹œ

์˜ˆ) ๋กœ๊ทธ์ธ์‹œ ์‚ฌ์šฉ์ž๊ฐ€ HTTP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์›น์‚ฌ์ดํŠธ(์˜ˆ: http://example.com)์—์„œ ๋กœ๊ทธ์ธ ์–‘์‹์„ ์ž‘์„ฑํ•˜๊ณ  "์•„์ด๋””: user123, ๋น„๋ฐ€๋ฒˆํ˜ธ: pass456"์„ ์ž…๋ ฅํ•œ ๋’ค ์ œ์ถœ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋Š” HTTP ์š”์ฒญ์œผ๋กœ ์„œ๋ฒ„์— ์ „์†ก๋˜๋ฉฐ, ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded

username=user123&password=pass456
๊ณต๊ณต ์™€์ดํŒŒ์ด ๊ฐ™์€ ๋„คํŠธ์›Œํฌ์—์„œ ํ•ด์ปค๊ฐ€ ํŒจํ‚ท ์Šค๋‹ˆํ•‘ ๋„๊ตฌ(์˜ˆ: Wireshark)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, "user123"๊ณผ "pass456"์ด ์•”ํ˜ธํ™” ์—†์ด ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
์˜ˆ) ์‚ฌ์šฉ์ž๊ฐ€ HTTP ์‚ฌ์ดํŠธ์—์„œ ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ๊ฐœ์ธ์ •๋ณด๋ฅผ URL ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, http://example.com/search?ssn=123-45-6789์™€ ๊ฐ™์ด ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋ฅผ ํฌํ•จํ•œ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
GET /search?ssn=123-45-6789 HTTP/1.1
Host: example.com
๋„คํŠธ์›Œํฌ๋ฅผ ๊ฐ์‹œํ•˜๋Š” ์ œ3์ž๋Š” ๋ฌผ๋ก , ์„œ๋ฒ„ ๋กœ๊ทธ๋‚˜ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ก์—๋„ ์ด ๋ฏผ๊ฐํ•œ ์ •๋ณด๊ฐ€ ๊ทธ๋Œ€๋กœ ๋‚จ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. HTTP๋Š” ์•”ํ˜ธํ™”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ(Man-in-the-Middle Attack)์— ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ณต๊ณต ์™€์ดํŒŒ์ด์—์„œ HTTP๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ์ธ ์ •๋ณด๋ฅผ ์ „์†กํ•˜๋ฉด ํ•ด์ปค๊ฐ€ ์ด๋ฅผ ๊ฐ€๋กœ์ฑ„ ๋น„๋ฐ€๋ฒˆํ˜ธ๋‚˜ ๊ฐœ์ธ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด HTTPS๋Š” ์ด๋Ÿฐ ์œ„ํ—˜์„ ํฌ๊ฒŒ ์ค„์—ฌ์ค๋‹ˆ๋‹ค.
HTTPS(HyperText Transfer Protocol Secure)๋Š” HTTP์— SSL/TLS(Secure Sockets Layer/Transport Layer Security) ํ”„๋กœํ† ์ฝœ์„ ์ถ”๊ฐ€ํ•ด ๋ณด์•ˆ์„ฑ์„ ๊ฐ•ํ™”ํ•œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. SSL/TLS๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ , ์„œ๋ฒ„์˜ ์‹ ์›์„ ์ธ์ฆํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์œ„ ๋ฐ์ดํ„ฐ๊ฐ€ ์•”ํ˜ธํ™”๋˜์–ด ์ „์†ก๋˜๋ฏ€๋กœ, ๊ฐ€๋กœ์ฑ„๋”๋ผ๋„ ํ•ด๋…ํ•  ์ˆ˜ ์—†๋Š” ๋‚œ์ˆ˜์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค(์˜ˆ: a8f5g9h2...). HTTP์˜ ํ‰๋ฌธ ์ „์†ก์€ ๋‹จ์ˆœํžˆ ์†๋„์™€ ํŽธ๋ฆฌํ•จ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ๋ณด์•ˆ์ด ์ค‘์š”ํ•œ ํ˜„๋Œ€ ์ธํ„ฐ๋„ท ํ™˜๊ฒฝ์—์„œ๋Š” ์ ์ฐจ ์‚ฌ์šฉ์ด ์ค„์–ด๋“œ๋Š” ์ด์œ ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๊ณต๊ฐœํ‚ค/๊ฐœ์ธํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์˜ ์ž‘๋™ ์›๋ฆฌ

HTTPS์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐœํ‚ค(Public Key)์™€ ๊ฐœ์ธํ‚ค(Private Key)๋Š” ๋น„๋Œ€์นญ ์•”ํ˜ธํ™” ๋ฐฉ์‹์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ๊ณต๊ฐœํ‚ค๋Š” ๋ˆ„๊ตฌ๋‚˜ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๊ณ , ๊ฐœ์ธํ‚ค๋Š” ์„œ๋ฒ„๋งŒ์ด ๊ฐ€์ง€๊ณ  ์žˆ์–ด ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ์ดˆ๊ธฐ ์—ฐ๊ฒฐ ์‹œ ๋Œ€์นญํ‚ค(์˜ˆ: AES)๋ฅผ ๊ตํ™˜ํ•˜๋Š”๋ฐ, ์ด๋ฅผ ์œ„ํ•ด ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ดํ›„ ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ „์†ก์€ ๋” ๋น ๋ฅธ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ด "ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•”ํ˜ธํ™”" ๋ฐฉ์‹์€ ๋ณด์•ˆ์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๋™์‹œ์— ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค.

์†๋„ ์ฐจ์ด์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์„ค๋ช…

HTTPS๊ฐ€ HTTP๋ณด๋‹ค ๋А๋ฆฌ๋‹ค๊ณ  ์–ธ๊ธ‰๋˜์—ˆ๋Š”๋ฐ, ์ด๋Š” ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™” ๊ณผ์ •์—์„œ ์•ฝ๊ฐ„์˜ ๊ณ„์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ˜„๋Œ€ ํ•˜๋“œ์›จ์–ด์™€ ์ตœ์ ํ™”๋œ SSL/TLS ํ”„๋กœํ† ์ฝœ ๋•๋ถ„์— ์†๋„์ฐจ์ด๋Š” ๋ฏธ๋ฏธํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ํฐ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ HTTP/2๋‚˜ HTTP/3 ๊ฐ™์€ ์ตœ์‹  ํ”„๋กœํ† ์ฝœ์€ HTTPS์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋ฉฐ ์„ฑ๋Šฅ์„ ์˜คํžˆ๋ ค ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

์ธ์ฆ์„œ ๋ฐœ๊ธ‰๊ณผ ๋น„์šฉ์˜ ํ˜„์‹ค

HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด CA(Certificate Authority, ์ธ์ฆ ๊ธฐ๊ด€)์—์„œ SSL/TLS ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ์—๋Š” ์ธ์ฆ์„œ๊ฐ€ ์œ ๋ฃŒ์˜€์ง€๋งŒ, ํ˜„์žฌ๋Š” Letโ€™s Encrypt ๊ฐ™์€ ๋ฌด๋ฃŒ ์ธ์ฆ์„œ ์ œ๊ณต ์„œ๋น„์Šค๊ฐ€ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋ฉฐ ๋น„์šฉ ๋ถ€๋‹ด์ด ํฌ๊ฒŒ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๋Œ€๊ทœ๋ชจ ์‚ฌ์ดํŠธ๋‚˜ ํŠน์ • ๋ณด์•ˆ ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ(์˜ˆ: EV ์ธ์ฆ์„œ)์—๋Š” ์—ฌ์ „ํžˆ ์œ ๋ฃŒ ์ธ์ฆ์„œ๋ฅผ ์„ ํƒํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

HTTP์™€ HTTPS์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€ ๊ตฌ์ฒดํ™”

HTTPS๋Š” ๊ฐœ์ธ์ •๋ณด(๋กœ๊ทธ์ธ ์ •๋ณด, ์‹ ์šฉ์นด๋“œ ๋ฒˆํ˜ธ ๋“ฑ)๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ํ•„์ˆ˜์ ์ด์ง€๋งŒ, ๋‹จ์ˆœ ์ •๋ณด ์กฐํšŒ ์‚ฌ์ดํŠธ(์˜ˆ: ๊ณต๊ฐœ ์œ„ํ‚ค ํŽ˜์ด์ง€, ์ •์  ์ฝ˜ํ…์ธ )์—์„œ๋Š” HTTP๋กœ๋„ ์ถฉ๋ถ„ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ตฌ๊ธ€ ํฌ๋กฌ ๊ฐ™์€ ๋ธŒ๋ผ์šฐ์ €๋Š” HTTP ์‚ฌ์ดํŠธ์— "๋ณด์•ˆ๋˜์ง€ ์•Š์Œ(Not Secure)" ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•˜๋ฉฐ, SEO(๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”)์—์„œ๋„ HTTPS๊ฐ€ ์œ ๋ฆฌํ•˜๋‹ค๋Š” ์ ์—์„œ HTTPS๋กœ ์ „ํ™˜ํ•˜๋Š” ์ถ”์„ธ๊ฐ€ ๊ฐ•ํ•ฉ๋‹ˆ๋‹ค.

2025๋…„ 3์›” ๊ธฐ์ค€์œผ๋กœ ๋Œ€๋ถ€๋ถ„์˜ ์›น์‚ฌ์ดํŠธ๋Š” HTTPS๋ฅผ ํ‘œ์ค€์œผ๋กœ ์ฑ„ํƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์šฉ์ž ์‹ ๋ขฐ๋„๋ฅผ ๋†’์ด๊ณ , ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋ฉฐ, ๋ธŒ๋ผ์šฐ์ € ์ •์ฑ…์— ๋ถ€ํ•ฉํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ƒˆ๋กœ์šด ์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ์‚ฌ์ดํŠธ๋ฅผ ์œ ์ง€ํ•œ๋‹ค๋ฉด, ๋น„์šฉ๊ณผ ์ƒ๊ด€์—†์ด HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.