Computer Science ๐Ÿ“š

[cs] HTTP III - HTTPS vs. HTTP, ๊ณต๊ฐœํ‚ค/๊ฐœ์ธํ‚ค etc.

leejaejae 2024. 7. 12. 19:37

1. HTTPS๋ž€?

  • HTTPS(Hyper Text Transfer Protocol Secure)
    • HyperText Transfer Protocol over Secure Socket Layer, HTTP over TLS, HTTP over SSL, HTTP Secure ๋“ฑ์œผ๋กœ ๋ถˆ๋ฆฌ๋Š” HTTPS๋Š” HTTP์— ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๊ฐ€ ์ถ”๊ฐ€๋œ ํ”„๋กœํ† ์ฝœ
    • HTTPS๋Š” HTTP์™€ ๋‹ค๋ฅด๊ฒŒ 443๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์ค‘๊ฐ„์— ์ œ3์ž๊ฐ€ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์—†๋„๋ก ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”๋ฅผ ์ง€์›ํ•จ
    • HTTPS๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋‚ด๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์ž…๋ ฅํ•˜๋Š” ์ •๋ณด๋ฅผ (ex: form data) ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ํ›”์ณ๋ณด์ง€ ๋ชปํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ๋Šฅ์ž„

    • SSL(Socket Secure Layer)/TLS
      - SSL/TLS์€ ์ „์†ก ๊ณ„์ธต์—์„œ ๋ณด์•ˆ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํ† ์ฝœ
      - ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํ†ต์‹ ํ•  ๋•Œ SSL/TLS๋ฅผ ํ†ตํ•ด ์ œ3์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋„์ฒญํ•˜๊ฑฐ๋‚˜ ๋ณ€์กฐํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•จ.
      - SSL 1.0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.3 ๊นŒ์ง€ ๋ฒ„์ „์ด ์˜ฌ๋ผ๊ฐ€๋ฉฐ ๋งˆ์ง€๋ง‰์œผ๋กœ TLS๋กœ ๋ช…์นญ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋‚˜, ๋ณดํ†ต ์ด๋ฅผ ํ•ฉ์ณ SSL/TLS๋กœ ๋งŽ์ด ๋ถ€๋ฆ„

 

2. HTTPS ๋™์ž‘ ๊ณผ์ •

  • HTTPS๋Š” ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์™€ ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜์—ฌ ๋น ๋ฅธ ์—ฐ์‚ฐ ์†๋„์™€ ์•ˆ์ •์„ฑ์„ ๋ชจ๋‘ ์–ป๊ณ  ์žˆ์Œ
  • HTTPS ์—ฐ๊ฒฐ ๊ณผ์ •(Hand-Shaking)์—์„œ๋Š” ๋จผ์ € ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์— ์„ธ์…˜ํ‚ค๋ฅผ ๊ตํ™˜
    • ์—ฌ๊ธฐ์„œ ์„ธ์…˜ํ‚ค๋Š” ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋Œ€์นญํ‚ค์ด๋ฉฐ, ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ตํ™˜์—๋Š” ๋น ๋ฅธ ์—ฐ์‚ฐ ์†๋„๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ ์„ธ์…˜ํ‚ค๋Š” ๋Œ€์นญํ‚ค๋กœ ๋งŒ๋“ค์–ด์ง
  • ๋ฌธ์ œ๋Š” ์ด ์„ธ์…˜ํ‚ค๋ฅผ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตํ™˜ํ•  ๊ฒƒ์ด๋ƒ ์ธ๋ฐ, ์ด ๊ณผ์ •์—์„œ ๋น„๋Œ€์นญํ‚ค๊ฐ€ ์‚ฌ์šฉ๋จ

  • ์ฆ‰, ์ฒ˜์Œ ์—ฐ๊ฒฐ์„ ์„ฑ๋ฆฝํ•˜์—ฌ ์•ˆ์ „ํ•˜๊ฒŒ ์„ธ์…˜ํ‚ค๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋น„๋Œ€์นญํ‚ค๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด๊ณ , ์ดํ›„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋น ๋ฅธ ์—ฐ์‚ฐ ์†๋„๋ฅผ ์œ„ํ•ด ๋Œ€์นญํ‚ค๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ

[ ์‹ค์ œ HTTPS ์—ฐ๊ฒฐ ์„ฑ๋ฆฝ ํ๋ฆ„ ๊ณผ์ • ]

  1. ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)๊ฐ€ ์„œ๋ฒ„๋กœ ์ตœ์ดˆ ์—ฐ๊ฒฐ ์‹œ๋„๋ฅผ ํ•จ
  2. ์„œ๋ฒ„๋Š” ๊ณต๊ฐœํ‚ค(์—„๋ฐ€ํžˆ๋Š” ์ธ์ฆ์„œ)๋ฅผ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ๋„˜๊ฒจ์คŒ
  3. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ธ์ฆ์„œ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜๊ณ  ์„ธ์…˜ํ‚ค๋ฅผ ๋ฐœ๊ธ‰ํ•จ
  4. ๋ธŒ๋ผ์šฐ์ €๋Š” ์„ธ์…˜ํ‚ค๋ฅผ ๋ณด๊ด€ํ•˜๋ฉฐ ์ถ”๊ฐ€๋กœ ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋กœ ์„ธ์…˜ํ‚ค๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์„œ๋ฒ„๋กœ ์ „์†กํ•จ
  5. ์„œ๋ฒ„๋Š” ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ์„ธ์…˜ํ‚ค๋ฅผ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ์„ธ์…˜ํ‚ค๋ฅผ ์–ป์Œ
  6. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ๋™์ผํ•œ ์„ธ์…˜ํ‚ค๋ฅผ ๊ณต์œ ํ•˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ ์„ธ์…˜ํ‚ค๋กœ ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•จ

3. HTTPS์˜ ๋ฐœ๊ธ‰ ๊ณผ์ •

-  ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„ธ์…˜ํ‚ค๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐœํ‚ค๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ์ธ์ฆ๋œ ๊ธฐ๊ด€(Certificate Authority)์— ๊ณต๊ฐœํ‚ค๋ฅผ ์ „์†กํ•˜์—ฌ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์Œ. ์ž์„ธํ•œ ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™์Œ

  1.  A๊ธฐ์—…์€ HTTP ๊ธฐ๋ฐ˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— HTTPS๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๊ฐœํ‚ค/๊ฐœ์ธํ‚ค๋ฅผ ๋ฐœ๊ธ‰ํ•จ
  2. CA ๊ธฐ์—…์—๊ฒŒ ๋ˆ์„ ์ง€๋ถˆํ•˜๊ณ , ๊ณต๊ฐœํ‚ค๋ฅผ ์ €์žฅํ•˜๋Š” ์ธ์ฆ์„œ์˜ ๋ฐœ๊ธ‰์„ ์š”์ฒญํ•จ
  3. CA ๊ธฐ์—…์€ CA๊ธฐ์—…์˜ ์ด๋ฆ„, ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค, ์„œ๋ฒ„์˜ ์ •๋ณด ๋“ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , CA ๊ธฐ์—…์˜ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ A๊ธฐ์—…์—๊ฒŒ ์ด๋ฅผ ์ œ๊ณตํ•จ
  4. A๊ธฐ์—…์€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์•”ํ˜ธํ™”๋œ ์ธ์ฆ์„œ๋ฅผ ์ œ๊ณตํ•จ
  5. ๋ธŒ๋ผ์šฐ์ €๋Š” CA๊ธฐ์—…์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ๋ฏธ๋ฆฌ ๋‹ค์šด๋ฐ›์•„ ๊ฐ–๊ณ  ์žˆ์–ด, ์•”ํ˜ธํ™”๋œ ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™”ํ•จ
  6. ์•”ํ˜ธํ™”๋œ ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ์–ป์€ A๊ธฐ์—…์˜ ๊ณต๊ฐœํ‚ค๋กœ ์„ธ์…˜ํ‚ค๋ฅผ ๊ณต์œ ํ•จ

- ์ธ์ฆ์„œ๋Š” CA์˜ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์‹ ๋ขฐ์„ฑ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๊ณ , ํด๋ผ์ด์–ธํŠธ๋Š” A ๊ธฐ์—…์˜ ๊ณต๊ฐœํ‚ค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— A๊ธฐ์—…๋งŒ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ์›๋ณธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Œ(์—ฌ๊ธฐ์„œ ์ธ์ฆ์„œ์—๋Š” A๊ธฐ์—…์˜ ๊ณต๊ฐœํ‚ค๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, A ๊ธฐ์—…์˜ ๊ณต๊ฐœํ‚ค๋ผ๊ณ  ๋ด๋„ ๋ฌด๋ฐฉ)

- ๋˜ํ•œ ๋ธŒ๋ผ์šฐ์ €์—๋Š” ์ธ์ฆ๋œ CA ๊ธฐ๊ด€์˜ ์ •๋ณด๋“ค์ด ์‚ฌ์ „์— ๋“ฑ๋ก๋˜์–ด ์žˆ์–ด ์ธ์ฆ๋œ CA ๊ธฐ๊ด€์˜ ์ธ์ฆ์„œ๊ฐ€ ์•„๋‹ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ณด์—ฌ์ง€๊ฒŒ ๋จ

 

4. ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์™€ ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”

- HTTS๋Š” ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹๊ณผ ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Œ. ๊ฐ๊ฐ์˜ ์•”ํ˜ธํ™” ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Œ

  • ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”
    • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ๋™์ผํ•œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”๋ฅผ ์ง„ํ–‰
    • ํ‚ค๊ฐ€ ๋…ธ์ถœ๋˜๋ฉด ๋งค์šฐ ์œ„ํ—˜ํ•˜์ง€๋งŒ ์—ฐ์‚ฐ ์†๋„๊ฐ€ ๋น ๋ฆ„
  • ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”
    • 1๊ฐœ์˜ ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค๋ฅผ ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ
    • ํ‚ค๊ฐ€ ๋…ธ์ถœ๋˜์–ด๋„ ๋น„๊ต์  ์•ˆ์ „ํ•˜์ง€๋งŒ ์—ฐ์‚ฐ ์†๋„๊ฐ€ ๋Š๋ฆผ

    • ๊ณต๊ฐœํ‚ค/๊ฐœ์ธํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”, ๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค๋Š” ์„œ๋กœ๋ฅผ ์œ„ํ•œ 1์Œ์˜ ํ‚ค์ž„
      • ๊ณต๊ฐœํ‚ค: ๋ชจ๋‘์—๊ฒŒ ๊ณต๊ฐœ ๊ฐ€๋Šฅํ•œ ํ‚ค
        → ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ํšจ๊ณผ: ๊ฐœ์ธํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™” ๊ฐ€๋Šฅ(๊ฐœ์ธํ‚ค๋Š” ๋‚˜๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๋‚˜๋งŒ ๋ณผ ์ˆ˜ ์žˆ์Œ)
      • ๊ฐœ์ธํ‚ค: ๋‚˜๋งŒ ๊ฐ€์ง€๊ณ  ์•Œ๊ณ  ์ž‡์–ด์•ผ ํ•˜๋Š” ํ‚ค
        → ๊ฐœ์ธํ‚ค ์•”ํ˜ธํ™” ํšจ๊ณผ: ๊ณต๊ฐœํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™” ๊ฐ€๋Šฅ(๊ณต๊ฐœํ‚ค๋Š” ๋ชจ๋‘์—๊ฒŒ ๊ณต๊ฐœ, ๋‚ด๊ฐ€ ์ธ์ฆํ•œ ์ •๋ณด์ž„์„ ์•Œ๋ ค ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ ๊ฐ€๋Šฅ)