๐Ÿ” HTTPS๋ž€? ๋ฐฑ์—”๋“œ๋ฅผ ์œ„ํ•œ ์•”ํ˜ธํ™” ํ†ต์‹ ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์›๋ฆฌ

์—…๋ฐ์ดํŠธ:
1 ๋ถ„ ์†Œ์š”

๐Ÿ” HTTPS๋ž€? ๋ฐฑ์—”๋“œ๋ฅผ ์œ„ํ•œ ์•”ํ˜ธํ™” ํ†ต์‹ ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์›๋ฆฌ


๐ŸŒ HTTP๋ž€?

HTTP (Hypertext Transfer Protocol)
์›น์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ๋น„์•”ํ˜ธํ™” ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ฌธ์ œ๋Š”โ€ฆ

  • ๋ฐ์ดํ„ฐ๊ฐ€ ํ‰๋ฌธ(Plain Text)์œผ๋กœ ์ „์†ก๋จ
  • ์ค‘๊ฐ„์ž(MITM)์— ์˜ํ•ด ํƒˆ์ทจ๋  ์œ„ํ—˜
  • ๋ฏผ๊ฐํ•œ ์ •๋ณด(๋กœ๊ทธ์ธ, ๊ฒฐ์ œ ๋“ฑ)๋Š” ์‰ฝ๊ฒŒ ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Œ

๐Ÿ‘‰ ๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ HTTPS์ž…๋‹ˆ๋‹ค.


๐Ÿ”’ HTTPS๋ž€?

HTTPS (Hypertext Transfer Protocol Secure)
HTTP ์œ„์— ์•”ํ˜ธํ™”(SSL/TLS) ๊ณ„์ธต์ด ์ถ”๊ฐ€๋œ ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.

๐Ÿ“ฆ HTTPS๋Š” ์„ธ ๊ฐ€์ง€๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค:

  1. ๊ธฐ๋ฐ€์„ฑ โ€“ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•ด์„œ ์™ธ๋ถ€ ๋…ธ์ถœ ์ฐจ๋‹จ
  2. ๋ฌด๊ฒฐ์„ฑ โ€“ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„์ค‘์— ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋„๋ก ๊ฒ€์ฆ
  3. ์ธ์ฆ โ€“ ํ†ต์‹  ๋Œ€์ƒ์ด ์ง„์งœ ์„œ๋ฒ„์ธ์ง€ ํ™•์ธ

๐Ÿ“œ HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด?

  1. SSL ์ธ์ฆ์„œ(Certificate)๋ฅผ ๊ตฌ๋งคํ•˜๊ฑฐ๋‚˜ ๋ฌด๋ฃŒ๋กœ ๋ฐœ๊ธ‰ ๋ฐ›๊ธฐ (ex: Letโ€™s Encrypt)
  2. ์„œ๋ฒ„์— ์„ค์น˜ํ•˜๊ณ  ํฌํŠธ 443์„ ํ†ตํ•ด HTTPS ์š”์ฒญ์„ ์ˆ˜์‹ 
  3. HTTPS๋ฅผ ํ†ตํ•ด ์•”ํ˜ธํ™” ํ†ต์‹  ์‹œ์ž‘

์ธ์ฆ์„œ๋Š” CA(Certificate Authority) ๋ผ๋Š” ์‹ ๋ขฐ๊ธฐ๊ด€์—์„œ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.
์˜ˆ: Digicert, GlobalSign, Letโ€™s Encrypt ๋“ฑ


๐Ÿ” HTTPS ๋™์ž‘ ์›๋ฆฌ (TLS Handshake)

1. ํด๋ผ์ด์–ธํŠธ โ†’ ์„œ๋ฒ„

  • ์ง€์›ํ•˜๋Š” ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ชฉ๋ก
  • TLS ๋ฒ„์ „
  • ๋žœ๋คํ•œ ๊ฐ’ (Client Random)

2. ์„œ๋ฒ„ โ†’ ํด๋ผ์ด์–ธํŠธ

  • ์„œ๋ฒ„ ์ธ์ฆ์„œ (CA๋กœ๋ถ€ํ„ฐ ๋ฐœ๊ธ‰๋ฐ›์€ ๊ฒƒ)
  • ์„œ๋ฒ„ ๋žœ๋ค ๊ฐ’ (Server Random)
  • ์„ ํƒ๋œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜

3. ์ธ์ฆ์„œ ๊ฒ€์ฆ

  • ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„ ์ธ์ฆ์„œ๋ฅผ ๋ฐ›์•„ CA์˜ ๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ์ง„์œ„ ํ™•์ธ
  • ๋งŒ์•ฝ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ธ์ฆ์„œ๋ผ๋ฉด ์—ฐ๊ฒฐ ์‹คํŒจ

4. Pre-Master Secret ์ƒ์„ฑ

  • ํด๋ผ์ด์–ธํŠธ๋Š” ์ƒˆ๋กœ์šด Pre Master Secret ๊ฐ’์„ ๋งŒ๋“ค์–ด ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•ด ์ „์†ก

5. ์„œ๋ฒ„๋Š” ๊ฐœ์ธํ‚ค๋กœ ๋ณตํ˜ธํ™”

  • ์„œ๋ฒ„๋Š” Pre Master Secret ๊ฐ’์„ ๋ฐ›์•„ ๋ณตํ˜ธํ™”
  • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ™์€ Master Secret์„ ์ƒ์„ฑ

6. ์„ธ์…˜ ํ‚ค ์ƒ์„ฑ

  • Master Secret์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋Œ€์นญํ‚ค(์„ธ์…˜ ํ‚ค)๋ฅผ ๋งŒ๋“ค๊ณ 
  • ์ดํ›„ ํ†ต์‹ ์€ ์ด ์„ธ์…˜ ํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ฃผ๊ณ ๋ฐ›์Œ (๋น ๋ฅด๊ณ  ์•ˆ์ „ํ•จ)

๐Ÿ” ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐฉ์‹ ์š”์•ฝ

๋‹จ๊ณ„ ๋ฐฉ์‹ ์„ค๋ช…
ํ•ธ๋“œ์‰์ดํฌ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” (๋น„๋Œ€์นญ) ์•ˆ์ „ํ•œ ํ‚ค ๊ตํ™˜์šฉ
๋ณธ๊ฒฉ ํ†ต์‹  ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋น ๋ฅธ ์†๋„๋กœ ์‹ค์ œ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”

๐Ÿ“Œ ์ •๋ฆฌํ•˜๋ฉด?

ํ•ญ๋ชฉ HTTP HTTPS
์•”ํ˜ธํ™” โŒ ์—†์Œ โœ… ์žˆ์Œ (TLS)
์ธ์ฆ์„œ ์‚ฌ์šฉ โŒ ์—†์Œ โœ… ํ•„์š”
๋ณด์•ˆ์„ฑ ๋‚ฎ์Œ ๋†’์Œ (๋„์ฒญ/์œ„์กฐ ๋ฐฉ์ง€)
์‚ฌ์šฉ ํฌํŠธ 80 443

๐Ÿš€ ์‹ค๋ฌด์—์„œ HTTPS๋ฅผ ์ ์šฉํ•˜๋ ค๋ฉด?

  1. SSL ์ธ์ฆ์„œ ๋ฐœ๊ธ‰๋ฐ›๊ธฐ (๋ฌด๋ฃŒ: Letโ€™s Encrypt, ์œ ๋ฃŒ CA)
  2. Nginx ๋˜๋Š” Spring Boot์—์„œ HTTPS ์„ค์ •
  3. ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ ์‹œ, HTTP โ†’ HTTPS ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋„ ํ•จ๊ป˜ ์„ค์ •

ํƒœ๊ทธ: , , , , , , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ