infra & network

HTTPS๋ž€ (SSL / TLS)

devJK93 2024. 8. 11.

๐Ÿ“ HTTPS

HTTPS๋Š” HTTP๊ฐ€ ์ „์†กํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์„ ๋ณด์™„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

TLS ๊ณ„์ธต์„ ๊ฑฐ์น˜๋Š” ๋ฐฉ์‹์œผ๋กœ HTTP๋ฅผ ์šด์˜ํ•˜์—ฌ HTTP์˜ ์ „์†ก ๋ฉ”์‹œ์ง€ ๋ฐ”๋””(์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„)๋ฅผ ์•”ํ˜ธํ™”์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค.

HTTP vs HTTPS (SSL / TLS)

 

HTTPS๋Š” HTTP์— TLS ๊ณ„์ธต์„ ๋”ํ•˜์—ฌ ๋ณด์•ˆ์„ ์ ์šฉํ•œ ๊ฒƒ

(SSL/TLS ํ”„๋กœํ† ์ฝœ๊ณผ CA ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ๋ณด์•ˆ : HTTP๋Š” SSL/TLS ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉ โŒ HTTPS๋Š” SSL/TLS ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉ ๐Ÿ™†‍โ™€๏ธ)

 

๐Ÿ“ SSL / TLS ํ”„๋กœํ† ์ฝœ์€ ๋ฐ์ดํ„ฐ์˜ ์•”ํ˜ธํ™”์ฒ˜๋ฆฌ์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค.

์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฏผ๊ฐํ•œ ์ •๋ณด์ผ ๊ฒฝ์šฐ (ex. ๋กœ๊ทธ์ธ ์ •๋ณด, ๊ฐœ์ธ ์‹๋ณ„ ์ •๋ณด, ๊ฒฐ์ œ ์ •๋ณด, ์˜๋ฃŒ ์ •๋ณด, ๊ธˆ์œต ์ •๋ณด, ๊ฐœ์ธ ๋ฉ”์„ธ์ง€ ๋ฐ ํ†ต์‹  ๋‚ด์šฉ, ์ง€๋ฆฌ์  ์œ„์น˜ ์ •๋ณด, ๋น„์ฆˆ๋‹ˆ์Šค ๊ธฐ๋ฐ€ ๋“ฑ๋“ฑ) ๊ทธ ๋ฐ์ดํ„ฐ๋“ค์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†กํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณต๊ฒฉ์— ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ๋‹ค.

 

1. ํŒจํ‚ท ์Šค๋‹ˆํ•‘(Packet Sniffing)

  • ์„ค๋ช…: ๊ณต๊ฒฉ์ž๋Š” ๋„คํŠธ์›Œํฌ์—์„œ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๊ฐ€๋กœ์ฑŒ ์ˆ˜ ์žˆ๋‹ค. HTTP๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์ „์†ก๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ณต๊ฒฉ์ž๋Š” ์ „์†ก ์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ์˜ˆ์‹œ: ๋กœ๊ทธ์ธ ์‹œ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ID์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋Š”๋ฐ, ๊ณต๊ฒฉ์ž๊ฐ€ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์Šค๋‹ˆํ•‘ํ•˜์—ฌ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค.
๋”๋ณด๊ธฐ

1. ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ์นด๋“œ(NIC)์˜ ๋™์ž‘ ๋ชจ๋“œ ๋ณ€๊ฒฝ

  • ๋ณดํ†ต์˜ ๊ฒฝ์šฐ: ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ์นด๋“œ(NIC)๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ **"ํ”„๋กœ๋ฏธ์Šคํ์–ด์Šค ๋ชจ๋“œ(promiscuous mode)"**๊ฐ€ ์•„๋‹Œ **"๋น„ํ”„๋กœ๋ฏธ์Šคํ์–ด์Šค ๋ชจ๋“œ(non-promiscuous mode)"**๋กœ ๋™์ž‘ํ•œ๋‹ค. ์ด ๋ชจ๋“œ์—์„œ๋Š” NIC๊ฐ€ ์ž์‹ ์—๊ฒŒ ์ง์ ‘ ์ „์†ก๋œ ํŒจํ‚ท๋งŒ ์ˆ˜์‹ ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • ์Šค๋‹ˆํ•‘ ์‹œ: ๊ณต๊ฒฉ์ž๋Š” NIC๋ฅผ ํ”„๋กœ๋ฏธ์Šคํ์–ด์Šค ๋ชจ๋“œ๋กœ ์„ค์ •ํ•˜์—ฌ, ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋ชจ๋“  ํŒจํ‚ท์„ ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์ด ๋ชจ๋“œ์—์„œ๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์˜ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์ด NIC์— ์˜ํ•ด ์ˆ˜์‹ ๋˜๊ณ  ๋ถ„์„๋  ์ˆ˜ ์žˆ๋‹ค.

2. ํŒจํ‚ท ์บก์ฒ˜(Packet Capture)

  • ์„ค๋ช…: ํ”„๋กœ๋ฏธ์Šคํ์–ด์Šค ๋ชจ๋“œ์—์„œ NIC๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์˜ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ์ˆ˜์‹ ํ•œ๋‹ค. ์ˆ˜์‹ ๋œ ํŒจํ‚ท์€ ์Šค๋‹ˆํ•‘ ์†Œํ”„ํŠธ์›จ์–ด(์˜ˆ: Wireshark)๋กœ ์ „๋‹ฌ๋˜์–ด ์บก์ฒ˜๋œ๋‹ค.
  • ๋™์ž‘: ์บก์ฒ˜๋œ ํŒจํ‚ท์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต(์˜ˆ: Ethernet ํ”„๋ ˆ์ž„)์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด IP ๊ณ„์ธต, ์ „์†ก ๊ณ„์ธต(TCP/UDP), ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต(HTTP, DNS ๋“ฑ)์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

3. ํŒจํ‚ท ๋ถ„์„(Packet Analysis)

  • ์„ค๋ช…: ์บก์ฒ˜๋œ ํŒจํ‚ท์„ ๋ถ„์„ํ•˜์—ฌ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•œ๋‹ค. ๋ถ„์„ ๊ณผ์ •์—์„œ๋Š” ํŒจํ‚ท์ด ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœํ† ์ฝœ ํ—ค๋” ๋ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์‚ฌํ•œ๋‹ค.
  • ๋ฏผ๊ฐํ•œ ์ •๋ณด ์ถ”์ถœ:
    • ์˜ˆ๋ฅผ ๋“ค์–ด, HTTP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์›น์‚ฌ์ดํŠธ๋กœ ์ „์†ก๋œ ํŒจํ‚ท์€ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ, ๊ณต๊ฒฉ์ž๋Š” ํŒจํ‚ท์—์„œ ์‚ฌ์šฉ์ž ์ด๋ฆ„, ๋น„๋ฐ€๋ฒˆํ˜ธ, ์„ธ์…˜ ์ฟ ํ‚ค, ์‹ ์šฉ์นด๋“œ ์ •๋ณด ๋“ฑ์˜ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

4. ๋ฐ์ดํ„ฐ ์žฌ๊ตฌ์„ฑ(Data Reconstruction)

  • ์„ค๋ช…: ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒจํ‚ท์ด ๋ถ„ํ• ๋˜์–ด ์ „์†ก๋˜๋Š” ๊ฒฝ์šฐ, ๊ณต๊ฒฉ์ž๋Š” ์ด ํŒจํ‚ท๋“ค์„ ์žฌ๊ตฌ์„ฑํ•˜์—ฌ ์›๋ž˜์˜ ๋ฐ์ดํ„ฐ๋‚˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์˜ˆ์‹œ: HTTP ํŠธ๋ž˜ํ”ฝ์—์„œ HTML ํŽ˜์ด์ง€์˜ ์—ฌ๋Ÿฌ ๋ถ€๋ถ„์ด ์—ฌ๋Ÿฌ ํŒจํ‚ท์— ๋‚˜๋‰˜์–ด ์ „์†ก๋  ๊ฒฝ์šฐ, ๊ณต๊ฒฉ์ž๋Š” ์ด๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜์—ฌ ์›น ํŽ˜์ด์ง€์˜ ์ „์ฒด ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

5. ํŒจํ‚ท ์žฌ์ „์†ก(Packet Injection) (์„ ํƒ์ )

  • ์„ค๋ช…: ์ผ๋ถ€ ๊ณต๊ฒฉ์—์„œ๋Š” ๋‹จ์ˆœํžˆ ํŒจํ‚ท์„ ์บก์ฒ˜ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์•…์„ฑ ํŒจํ‚ท์„ ๋„คํŠธ์›Œํฌ์— ์ฃผ์ž…(inject)ํ•˜์—ฌ ํ†ต์‹ ์„ ๋ฐฉํ•ดํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์œ ์ถœ์‹œํ‚ค๊ธฐ๋„ ํ•œ๋‹ค.
  • ์˜ˆ์‹œ: ๊ณต๊ฒฉ์ž๊ฐ€ ์•…์„ฑ ๋ฐ์ดํ„ฐ๋‚˜ ๋ช…๋ น์–ด๋ฅผ ํฌํ•จํ•œ ํŒจํ‚ท์„ ์ฃผ์ž…ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ์—์„œ ๊ณต๊ฒฉ์„ ๊ฐํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

6. ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€(๋ง ๊ตฌ์„ฑ๋ฐฉ์‹) ์— ๋”ฐ๋ฅธ ์˜ํ–ฅ

  • ํ—ˆ๋ธŒ ๊ธฐ๋ฐ˜ ๋„คํŠธ์›Œํฌ: ๋ชจ๋“  ์žฅ์น˜๊ฐ€ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ํŠธ๋ž˜ํ”ฝ์„ ์ˆ˜์‹ ํ•˜๋ฏ€๋กœ, ์Šค๋‹ˆํผ๊ฐ€ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋˜๋ฉด ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ์‰ฝ๊ฒŒ ๊ฐ€๋กœ์ฑŒ ์ˆ˜ ์žˆ๋‹ค.
  • ์Šค์œ„์น˜ ๊ธฐ๋ฐ˜ ๋„คํŠธ์›Œํฌ: ์Šค์œ„์น˜๊ฐ€ ๋ชฉ์ ์ง€ ์ฃผ์†Œ์— ๋”ฐ๋ผ ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์Šค๋‹ˆํ•‘์ด ๋” ์–ด๋ ค์›Œ์ง„๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ณต๊ฒฉ์ž๋Š” ARP ์Šคํ‘ธํ•‘, ์Šค์œ„์น˜ ํฌํŠธ ๋ฏธ๋Ÿฌ๋ง ๋“ฑ์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์Šค์œ„์น˜ ๋„คํŠธ์›Œํฌ์—์„œ๋„ ์Šค๋‹ˆํ•‘์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

(* ์ถœ์ฒ˜ : ChatGPT)

 

2. ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ(Man-in-the-Middle, MITM)

  • ์„ค๋ช…: ๊ณต๊ฒฉ์ž๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์˜ ํ†ต์‹ ์„ ๊ฐ€๋กœ์ฑ„์–ด, ๋ฐ์ดํ„ฐ์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํ›”์ณ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. HTTP๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ํ†ต์‹ ์ด ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ณต๊ฒฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๊ฑฐ๋‚˜ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์˜ˆ์‹œ: ๊ณต๊ฒฉ์ž๊ฐ€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ํ†ต์‹ ์„ ์ค‘๊ฐ„์—์„œ ๊ฐ€๋กœ์ฑ„์–ด, ์€ํ–‰ ๊ณ„์ขŒ ์ •๋ณด๋‚˜ ์‹ ์šฉ์นด๋“œ ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค.
๋”๋ณด๊ธฐ

์ค‘๊ฐ„์ž ๊ณต๊ฒฉ(Man-in-the-Middle, MITM)์€ ๊ณต๊ฒฉ์ž๊ฐ€ ๋‘ ๋‹น์‚ฌ์ž ๊ฐ„์˜ ํ†ต์‹ ์„ ์€๋ฐ€ํžˆ ๊ฐ€๋กœ์ฑ„๊ฑฐ๋‚˜ ์กฐ์ž‘ํ•˜๋Š” ๊ณต๊ฒฉ ๊ธฐ๋ฒ•. ์ด ๊ณต๊ฒฉ์˜ ํ•ต์‹ฌ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ž์‹ ์„ ์–‘์ชฝ ๋‹น์‚ฌ์ž ๋ชจ๋‘์—๊ฒŒ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต์‹  ์ƒ๋Œ€๋ฐฉ์œผ๋กœ ์œ„์žฅํ•จ์œผ๋กœ์จ, ๋‹น์‚ฌ์ž๋“ค์ด ์ž์‹ ๋“ค์ด ์•ˆ์ „ํ•˜๊ฒŒ ํ†ต์‹ ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๋ฏฟ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ์˜ ์›๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.

1. ํ†ต์‹  ํ๋ฆ„ ๊ฐ€๋กœ์ฑ„๊ธฐ

      • ์„ค๋ช…: ๋‘ ๋‹น์‚ฌ์ž(A์™€ B)๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ๊ณต๊ฒฉ์ž(M)๊ฐ€ ์ด๋“ค ์‚ฌ์ด์— ๋ผ์–ด๋“ค์–ด ํ†ต์‹  ํ๋ฆ„์„ ๊ฐ€๋กœ์ฑˆ๋‹ค. ์ด๋•Œ, A์™€ B๋Š” ์ž์‹ ๋“ค์ด ์„œ๋กœ ์ง์ ‘ ํ†ต์‹ ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ์ค‘๊ฐ„์—์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๊ณ„ํ•˜๊ณ  ์žˆ๋‹ค.
      • ๊ธฐ๋ณธ ํ๋ฆ„:
        1. A๊ฐ€ B์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋ฉด, ์ด ๋ฐ์ดํ„ฐ๋Š” ๋จผ์ € ๊ณต๊ฒฉ์ž M์—๊ฒŒ ์ „๋‹ฌ๋œ๋‹ค.
        2. M์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•œ ํ›„, ์ด๋ฅผ B์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค. ์ด๋•Œ, M์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๊ทธ๋Œ€๋กœ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
        3. B๊ฐ€ A์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๋•Œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ๋ฐ์ดํ„ฐ๋Š” M์„ ๊ฑฐ์ณ A์—๊ฒŒ ์ „๋‹ฌ๋œ๋‹ค.

2. ์œ„์žฅ๊ณผ ์‹ ๋ขฐ์„ฑ ํ™•๋ณด

    • ์„ค๋ช…: ๊ณต๊ฒฉ์ž๋Š” A์™€ B ๋ชจ๋‘์—๊ฒŒ ์ž์‹ ์ด ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ƒ๋Œ€๋ฐฉ์ž„์„ ๋ฏฟ๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๊ณต๊ฒฉ์ž๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž์‹ ์˜ ์‹ ๋ขฐ์„ฑ์„ ํ™•๋ณดํ•œ๋‹ค.
    • ๊ธฐ๋ฒ•:
      1. ARP ์Šคํ‘ธํ•‘: ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์—์„œ ๊ณต๊ฒฉ์ž๋Š” ARP ์บ์‹œ ํ…Œ์ด๋ธ”์„ ๋ณ€์กฐํ•˜์—ฌ ์ž์‹ ์„ ๋ผ์šฐํ„ฐ๋‚˜ ๋‹ค๋ฅธ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์น˜๋กœ ์œ„์žฅํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ์ƒ์˜ ํŠธ๋ž˜ํ”ฝ์ด ๊ณต๊ฒฉ์ž์—๊ฒŒ๋กœ ์ „์†ก๋˜๋„๋ก ๋งŒ๋“ ๋‹ค.
      2. DNS ์Šคํ‘ธํ•‘: ๊ณต๊ฒฉ์ž๋Š” DNS ์„œ๋ฒ„๋‚˜ DNS ์ฟผ๋ฆฌ๋ฅผ ๋ณ€์กฐํ•˜์—ฌ, ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ๋„๋ฉ”์ธ์œผ๋กœ ์ ‘์†ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๊ณต๊ฒฉ์ž์˜ ์„œ๋ฒ„๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋˜๋„๋ก ๋งŒ๋“ ๋‹ค.
      3. Wi-Fi ํ•ซ์ŠคํŒŸ ๊ณต๊ฒฉ: ๊ณต๊ฒฉ์ž๋Š” ๊ณต๊ฐœ Wi-Fi ํ•ซ์ŠคํŒŸ์„ ์„ค์ •ํ•˜์—ฌ, ์‚ฌ์šฉ์ž๊ฐ€ ์ด ํ•ซ์ŠคํŒŸ์„ ํ†ตํ•ด ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•˜๊ฒŒ ๋งŒ๋“  ๋’ค, ํŠธ๋ž˜ํ”ฝ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ํ†ต์‹  ๋‚ด์šฉ ๊ฐ€๋กœ์ฑ„๊ธฐ ๋ฐ ์กฐ์ž‘

  • ์„ค๋ช…: ๊ณต๊ฒฉ์ž๊ฐ€ ํ†ต์‹  ํ๋ฆ„์„ ๊ฐ€๋กœ์ฑ„๋ฉด, ์–‘์ชฝ ๋‹น์‚ฌ์ž ๊ฐ„์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ๊ณต๊ฒฉ์ž๋ฅผ ๊ฑฐ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๋กœ์ฑ„์–ด ๋‚ด์šฉ์„ ์ฝ๊ฑฐ๋‚˜, ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ˆ์‹œ:
    1. ๋ฏผ๊ฐํ•œ ์ •๋ณด ํƒˆ์ทจ: ๊ณต๊ฒฉ์ž๋Š” ๊ฐ€๋กœ์ฑˆ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋กœ๊ทธ์ธ ์ •๋ณด, ๊ธˆ์œต ์ •๋ณด, ๊ฐœ์ธ ์‹๋ณ„ ์ •๋ณด ๋“ฑ์„ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค.
    2. ๋ฐ์ดํ„ฐ ์กฐ์ž‘: ๊ณต๊ฒฉ์ž๋Š” ๋ฉ”์‹œ์ง€์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜, ์•…์„ฑ ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜์—ฌ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๊ณต๊ฒฉ์ž๋Š” ์•…์„ฑ ์›น์‚ฌ์ดํŠธ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

4. ํ”ผํ•ด์ž์˜ ํ†ต์‹  ์œ ์ง€

  • ์„ค๋ช…: ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ์˜ ํ•ต์‹ฌ์€ ํ”ผํ•ด์ž๊ฐ€ ๊ณต๊ฒฉ์„ ์ธ์ง€ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ. ์ด๋ฅผ ์œ„ํ•ด ๊ณต๊ฒฉ์ž๋Š” ํ†ต์‹  ์†๋„๋‚˜ ํ’ˆ์งˆ์— ํฐ ๋ณ€ํ™”๋ฅผ ์ฃผ์ง€ ์•Š์œผ๋ฉด์„œ, ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์–‘์ชฝ ๋‹น์‚ฌ์ž ๋ชจ๋‘์—๊ฒŒ ํ•ฉ๋ฒ•์ ์ธ ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•˜๋ฏ€๋กœ, A์™€ B๋Š” ์ •์ƒ์ ์œผ๋กœ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

5. MITM ๊ณต๊ฒฉ์˜ ๋ณ€์ข…๋“ค

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

(* ์ถœ์ฒ˜ : ChatGPT)

 

3. ์„ธ์…˜ ํ•˜์ด์žฌํ‚น(Session Hijacking)

  • ์„ค๋ช…: ์‚ฌ์šฉ์ž์˜ ์„ธ์…˜ ์ฟ ํ‚ค๋ฅผ ํƒˆ์ทจํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•œ ์„ธ์…˜์„ ๊ฐ€๋กœ์ฑ„๋Š” ๊ณต๊ฒฉ. HTTP๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฟ ํ‚ค๊ฐ€ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š๊ณ  ์ „์†ก๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ณต๊ฒฉ์ž๊ฐ€ ์ฟ ํ‚ค๋ฅผ ํ›”์ณ ์‚ฌ์šฉ์ž์˜ ์„ธ์…˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์˜ˆ์‹œ: ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•œ ์ƒํƒœ์—์„œ ๊ณต๊ฒฉ์ž๊ฐ€ ์„ธ์…˜ ์ฟ ํ‚ค๋ฅผ ๊ฐ€๋กœ์ฑ„์–ด ํ•ด๋‹น ์‚ฌ์šฉ์ž์˜ ๊ณ„์ •์— ๋ถˆ๋ฒ•์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

4. ํ”ผ์‹ฑ(Phishing)

  • ์„ค๋ช…: ๊ณต๊ฒฉ์ž๋Š” HTTP ์›น์‚ฌ์ดํŠธ๋ฅผ ํ†ตํ•ด ๊ฐ€์งœ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉ์ž๋ฅผ ์œ ๋„ํ•˜์—ฌ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค. HTTP์—์„œ๋Š” SSL/TLS ์ธ์ฆ์„œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ์›น์‚ฌ์ดํŠธ๊ฐ€ ์•ˆ์ „ํ•œ์ง€ ํ™•์ธํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
  • ์˜ˆ์‹œ: ๊ฐ€์งœ ์€ํ–‰ ์›น์‚ฌ์ดํŠธ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋„๋ก ์œ ๋„ํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํƒˆ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฆ‰, ๋„คํŠธ์›Œํฌ์˜ ์ „ํ˜•์ ์ธ ๊ณต๊ฒฉ์ธ "์ค‘๊ฐ„์ž ๊ณต๊ฒฉ"์— ์ทจ์•ฝํ•˜๋ฉฐ, ์–ธ์ œ๋“ ์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„์ฒญ๋  ์ˆ˜ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‚ด๋‚ด ์œ„ํ—˜ํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“ HTTPS๋ฅผ ์ ์šฉํ•˜๋ฉฐ ์–ป๊ฒŒ ๋˜๋Š” ์ด์ 

์•”ํ˜ธํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์•”ํ˜ธํ•™์—์„œ ํ•ต์‹ฌ์œผ๋กœ ๋‘๋Š” 3๊ฐ€์ง€ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ฑ์„ ์–ป๊ฒŒ ๋œ๋‹ค. (CIA)

 

1. ๊ธฐ๋ฐ€์„ฑ(Confidentiality)

๊ตํ™˜๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋„์ฒญํ•ด๋„ ์˜๋ฏธ๊ฐ€ ์—†๊ฒŒ๋” ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ•๋ ฅํ•œ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์•”ํ˜ธํ™”๋œ๋‹ค.

๋Œ€์นญ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”๋œ๋‹ค.

 

2. ๋ฌด๊ฒฐ์„ฑ(Integrity)

์ •๋ณด๊ฐ€ ์ค‘๊ฐ„์— ๋ณ€์งˆ๋˜์ง€ ์•Š์•˜์Œ์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. (์ค‘๊ฐ„์— ์ค‘์š”ํ•œ ์ •๋ณด๋งŒ ๊ฐ€๋กœ์ฑ„๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€)

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ์ „์ž ์„œ๋ช…(Digital Signature)์„ ํ†ตํ•ด ํ†ต์‹ ์„ ๋งบ์–ด ์‹ ๋ขฐ์„ฑ์„ ํ™•๋ณดํ•œ๋‹ค.

 

3. ์ธ์ฆ(Authentication)

์‘๋‹ต์ž๊ฐ€ ์•ˆ์ „ํ•œ ์‘๋‹ต์ž์ธ์ง€ ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์„๊นŒ?

์ด๋ฅผ ์œ„ํ•ด์„œ ์ธ์ฆ์„œ ์ œ๋„๋ฅผ ์šด์˜ํ•œ๋‹ค. ์ธ์ฆ์„œ ๊ธฐ๊ด€์„ ํ†ตํ•ด ํ•ด๋‹น ์„œ๋ฒ„๊ฐ€ ์•ˆ์ „ํ•œ ์„œ๋ฒ„๋ผ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

HTTPS๋Š” ์š”์•ฝํ•˜๋ฉด ๋‹ค์Œ์„ ํ†ตํ•ด ๋ณด์•ˆ์„ฑ์„ ๊ฐ•ํ™”ํ•œ๋‹ค.

1. ํด๋ผ์ด์–ธํŠธ๋Š” CA ์ธ์ฆ์„œ๋ฅผ ํ™•์ธํ•ด์„œ ์•ˆ์ „ํ•œ ์„œ๋ฒ„์ž„์„ ํ™•์ธํ•œ๋‹ค.

2. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ๊ณต๊ฐœํ‚ค/๊ฐœ์ธํ‚ค(๋น„๋Œ€์นญ ์•”ํ˜ธํ™”)๋ฅผ ํ†ตํ•ด์„œ ์•ˆ์ „ํ•œ ํ†ต์‹  ์„ธ์…˜์„ ๋งบ๋Š”๋‹ค. (๋Œ€๋ถ€๋ถ„ RSA)

3. ๊ณต๊ฐœํ‚ค/๊ฐœ์ธํ‚ค๋กœ ๊ณต์œ ํ•œ ๋Œ€์นญํ‚ค๋ฅผ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™” ๋ณตํ˜ธํ™”ํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ๊ธฐ๋ฐ€์„ฑ์„ ์–ป๋Š”๋‹ค.

 

* ์•”ํ˜ธํ™” / ๋ณตํ˜ธํ™”์—์„œ ๋Œ€์นญํ‚ค์™€ ๋น„๋Œ€์นญํ‚ค์˜ ์ฐจ์ด

๋Œ€์นญํ‚ค vs ๋น„๋Œ€์นญํ‚ค

 

๐Ÿ“ HTTPS์˜ ํ†ต์‹  ์ ˆ์ฐจ (TLS ํ•ธ๋“œ์‰์ดํฌ)

TLS Layer

TCP/IP ์„ธ์…˜์„ ์—ฐ๊ฒฐํ•˜๋Š” 3-way handshake ๋‹ค์Œ์œผ๋กœ ๋ณด์•ˆ์„ ์œ„ํ•œ SSL/TLS handshake ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค. 

 

TLS handshake

 

TLS handshake

 

1. [ํด๋ผ์ด์–ธํŠธ] Client Hello

TCP ์—ฐ๊ฒฐ์„ ์œ„ํ•ด 3-Way Handshake๋ฅผ ์ˆ˜ํ–‰ํ•œ ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„๊ฐ€ HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜๊ณ  ์•„๋ž˜ ๋ชฉ๋ก์˜ ์ •๋ณด๋“ค์„ ์ „์†กํ•œ๋‹ค.

  • ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” SSL / TLS ๋ฒ„์ „ ์ •๋ณด
  • ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›ํ•˜๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹ ๋ชจ์Œ (cipher suite)
  • ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ˆœ๊ฐ„์ ์œผ๋กœ ์ƒ์„ฑํ•œ ์ž„์˜์˜ ๋‚œ์ˆ˜
  • ๋งŒ์•ฝ ์ด์ „์— SSL ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ์™„๋ฃŒ๋œ ์ƒํƒœ๋ผ๋ฉด, ๊ทธ ๋•Œ ์ƒ์„ฑ๋œ ์„ธ์…˜ ์•„์ด๋”” (Session ID)
  • ๊ธฐํƒ€ ํ™•์žฅ ์ •๋ณด (extension)

๐Ÿ“˜ Cipher Suite๋ž€ ๋ณด์•ˆ์˜ ๊ถ๊ทน์  ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ํŒจํ‚ค์ง€ ํ˜•ํƒœ๋กœ ๋ฌถ์–ด๋†“์€ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

  • ์•ˆ์ „ํ•œ ํ‚ค ๊ตํ™˜
  • ์ „๋‹ฌ ๋Œ€์ƒ ์ธ์ฆ
  • ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๋ฉ”์‹œ์ง€ ๋ฌด๊ฒฐ์„ฑ ํ™•์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

2. [์„œ๋ฒ„] Server Hello

  • ๋ธŒ๋ผ์šฐ์ €์˜ ์•”ํ˜ธํ™” ๋ฐฉ์‹ ์ •๋ณด ์ค‘์—์„œ ์„œ๋ฒ„๊ฐ€ ์ง€์›ํ•˜๊ณ  ์„ ํƒํ•œ ์•”ํ˜ธํ™” ๋ฐฉ์‹ (cipher suite)
  • ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๊ฐ€ ๋‹ด๊ธด SSL ์ธ์ฆ์„œ. ์ธ์ฆ์„œ๋Š” CA์˜ ๋น„๋ฐ€ํ‚ค๋กœ ์•”ํ˜ธํ™”๋˜์–ด ๋ฐœ๊ธ‰๋œ ์ƒํƒœ.
  • ์„œ๋ฒ„๊ฐ€ ์ˆœ๊ฐ„์ ์œผ๋กœ ์ƒ์„ฑํ•œ ์ž„์˜์˜ ๋‚œ์ˆ˜
  • ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„œ ์š”์ฒญ (์„ ํƒ์‚ฌํ•ญ)

3. [ํด๋ผ์ด์–ธํŠธ] ์„œ๋ฒ„์˜ SSL ์ธ์ฆ์„œ๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธ

๋Œ€๋ถ€๋ถ„ ๋ธŒ๋ผ์šฐ์ €์—๋Š” ๊ณต์‹ ๋ ฅ ์žˆ๋Š” CA๋“ค์˜ ์ •๋ณด์™€ CA๊ฐ€ ๋งŒ๋“  ๊ณต๊ฐœํ‚ค๊ฐ€ ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ธ SSL ์ธ์ฆ์„œ๊ฐ€ ์ •๋ง CA๊ฐ€ ๋งŒ๋“  ๊ฒƒ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด์žฅ๋œ CA ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™” ํ•ด๋ณธ๋‹ค. ์ •์ƒ์ ์œผ๋กœ ๋ณตํ˜ธํ™”๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด CA๊ฐ€ ๋ฐœ๊ธ‰ํ•œ ๊ฒƒ์ด ์ฆ๋ช…๋˜๋Š” ์…ˆ. ๋งŒ์•ฝ ๋“ฑ๋ก๋œ CA๊ฐ€ ์•„๋‹ˆ๊ฑฐ๋‚˜, ๋“ฑ๋ก๋œ CA๊ฐ€ ๋งŒ๋“  ์ธ์ฆ์„œ์ฒ˜๋Ÿผ ๊พธ๋ช„๋‹ค๋ฉด ์ด ๊ณผ์ •์—์„œ ๋ฐœ๊ฐ์ด ๋˜๋ฉฐ ๋ธŒ๋ผ์šฐ์ € ๊ฒฝ๊ณ ๋ฅผ ๋ณด๋‚ธ๋‹ค.

 

4. [ํด๋ผ์ด์–ธํŠธ] ์ž์‹ ์ด ์ƒ์„ฑํ•œ ๋‚œ์ˆ˜์™€ ์„œ๋ฒ„์˜ ๋‚œ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ premaster secret ์ƒ์„ฑ.

์›น ์„œ๋ฒ„ ์ธ์ฆ์„œ์— ๋”ธ๋ ค์˜จ ์›น ์‚ฌ์ดํŠธ์˜ ๊ณต๊ฐœํ‚ค๋กœ ์ด๊ฒƒ์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์„œ๋ฒ„๋กœ ์ „์†ก. 

 

5. [์„œ๋ฒ„] ๋น„๋ฐ€ํ‚ค๋กœ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ณด๋‚ธ premaster secret ๊ฐ’์„ ๋ณตํ˜ธํ™”.

๋ณตํ˜ธํ™” ํ•œ ๊ฐ’์„ master secret ๊ฐ’์œผ๋กœ ์ €์žฅ. ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฉ๊ธˆ ๋ธŒ๋ผ์šฐ์ €์™€ ๋งŒ๋“ค์–ด์ง„ ์—ฐ๊ฒฐ์— ๊ณ ์œ ํ•œ ๊ฐ’์„ ๋ถ€์—ฌํ•˜๊ธฐ ์œ„ํ•œ session key๋ฅผ ์ƒ์„ฑ. ์„ธ์…˜ ํ‚ค๋Š” ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์— ์‚ฌ์šฉํ•  key์ด๋‹ค. ์ด๊ฒƒ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„ ์‚ฌ์ด์— ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ  ๋ณตํ˜ธํ™”ํ•œ๋‹ค.

 

6. [์„œ๋ฒ„ / ํด๋ผ์ด์–ธํŠธ] SSL handshake๋ฅผ ์ข…๋ฃŒํ•˜๊ณ , ์ด์ œ HTTPS ํ†ต์‹ ์„ ์‹œ์ž‘.

๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„๋Š” SSL handshake๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ๊ณ , ์ด์ œ๋Š” ์›น์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ธ์…˜ ์นด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”ํ•˜๋ฉฐ HTTPS ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. HTTPS ํ†ต์‹ ์ด ์™„๋ฃŒ๋˜๋Š” ์‹œ์ ์—์„œ ์„œ๋กœ์—๊ฒŒ ๊ณต์œ ๋œ ์„ธ์…˜ ์นด๋ฅผ ํ๊ธฐ. ๋งŒ์•ฝ ์„ธ์…˜์ด ์—ฌ์ „ํžˆ ์œ ์ง€๋˜๊ณ  ์žˆ๋‹ค๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” SSL handshake ์š”์ฒญ์ด ์•„๋‹Œ ์„ธ์…˜ ID๋งŒ ์„œ๋ฒ„์—๊ฒŒ ์•Œ๋ ค์ฃผ๋ฉด ๋œ๋‹ค. ์ด ๋ถ€๋ถ„์€ 1๋ฒˆ์—์„œ ์–ธ๊ธ‰๋˜์—ˆ๋‹ค.

 

๐Ÿ“™ ์›น์„œ๋ฒ„์— SSL/TLS ์ธ์ฆ์„œ ์„ค์ •

์›น ์„œ๋ฒ„์— SSL ์ธ์ฆ์„œ๋ฅผ ์„ค์ •ํ•  ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ ์„ธ ๊ฐ€์ง€ ํŒŒ์ผ์ด ํ•„์š”ํ•˜๋‹ค.

  1. SSL ์ธ์ฆ์„œ ํŒŒ์ผ (Certificate): ๋ณดํ†ต .crt ๋˜๋Š” .cert ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์ธ์ฆ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. ์ด ํŒŒ์ผ์€ ์„œ๋ฒ„์— ์„ค์น˜๋˜๋Š” ์ฃผ๋œ SSL ์ธ์ฆ์„œ.
  2. ๊ฐœ์ธ ํ‚ค ํŒŒ์ผ (Private Key): ๋ณดํ†ต .key ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ธ์ฆ์„œ์™€ ์ง์„ ์ด๋ฃจ๋Š” ๋น„๋ฐ€ ํ‚ค. ์ด ํŒŒ์ผ์€ ์•”ํ˜ธํ™”๋œ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฉฐ, ์„œ๋ฒ„์—์„œ ์ ˆ๋Œ€ ๋…ธ์ถœ๋˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.
  3. CA ๋ฒˆ๋“ค ํŒŒ์ผ (CA Bundle, Intermediate Certificate): ๋ฃจํŠธ ์ธ์ฆ์„œ์™€ ์„œ๋ฒ„ ์ธ์ฆ์„œ ๊ฐ„์˜ ์‹ ๋ขฐ ์ฒด์ธ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ค‘๊ฐ„ ์ธ์ฆ ๊ธฐ๊ด€(CA)์˜ ์ธ์ฆ์„œ๋“ค์„ ํฌํ•จํ•œ ํŒŒ์ผ์ด๋‹ค. ์ด ํŒŒ์ผ์€ ๋ณดํ†ต ca-bundle.crt, chain.crt ๋˜๋Š” intermediate.crt ๋“ฑ์˜ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ๋œ๋‹ค.

(* ์ตœ๊ทผ์— ํšŒ์‚ฌ์—์„œ ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ณ  ์žˆ๋Š” ํ™ˆํŽ˜์ด์ง€์˜ SSL ์ธ์ฆ์„œ๋ฅผ ๊ต์ฒดํ•  ๋•Œ๋„ 3ํŒŒ์ผ์„ Apache์„œ๋ฒ„์˜ SSL ๊ด€๋ จ ๋””๋ ‰ํ† ๋ฆฌ์— ์ €์žฅํ•œ ๋’ค `httpd.conf` ์„ค์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜์˜€๋‹ค.)

SSLCertificateFile /path/to/your/certificate.crt
SSLCertificateKeyFile /path/to/your/private.key
SSLCertificateChainFile /path/to/your/ca-bundle.crt

 

๊ฐ ํŒŒ์ผ์˜ ์—ญํ• ์€ ๋ฌด์—‡์ผ๊นŒ?

1. SSL ์ธ์ฆ์„œ ํŒŒ์ผ (Certificate)

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

2. ๊ฐœ์ธ ํ‚ค ํŒŒ์ผ (Private Key)

  • ์—ญํ• : ๊ฐœ์ธ ํ‚ค๋Š” SSL ์ธ์ฆ์„œ์™€ ์ง์„ ์ด๋ฃจ๋ฉฐ, ์„œ๋ฒ„์—๋งŒ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋น„๋ฐ€ ํ‚ค. ์ด ํ‚ค๋Š” ์•”ํ˜ธํ™”๋œ ํ†ต์‹ ์„ ํ•ด๋…ํ•˜๊ฑฐ๋‚˜, ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ์— ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
  • ์ฃผ์š” ๊ธฐ๋Šฅ: ํด๋ผ์ด์–ธํŠธ์™€์˜ ํ†ต์‹ ์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ œ3์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ›”์ณ๋ณด๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•œ๋‹ค. ๋˜ํ•œ, ์ด ํ‚ค๋Š” ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ค์ œ๋กœ ํ•ด๋‹น ์„œ๋ฒ„์—์„œ ์™”์Œ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

(* ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ๊ณต๊ฐœ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ , ์„œ๋ฒ„๋Š” ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ž์‹ ์˜ ๊ฐœ์ธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ๋ณตํ˜ธํ™”ํ•œ๋‹ค. ์ด ๊ณผ์ •์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ3์ž๊ฐ€ ์ค‘๊ฐ„์—์„œ ๊ฐ€๋กœ์ฑ„๋”๋ผ๋„ ๋‚ด์šฉ์„ ํ•ด๋…ํ•  ์ˆ˜ ์—†๋„๋ก ๋ณดํ˜ธํ•œ๋‹ค.)

3. CA ๋ฒˆ๋“ค ํŒŒ์ผ (CA Bundle, Intermediate Certificate)

  • ์—ญํ• : CA ๋ฒˆ๋“ค ํŒŒ์ผ์—๋Š” ๋ฃจํŠธ ์ธ์ฆ์„œ์™€ ์„œ๋ฒ„ ์ธ์ฆ์„œ ์‚ฌ์ด์— ์œ„์น˜ํ•œ ์ค‘๊ฐ„ ์ธ์ฆ ๊ธฐ๊ด€(CA)์˜ ์ธ์ฆ์„œ๋“ค์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์˜ SSL ์ธ์ฆ์„œ๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š”๋‹ค.
  • ์ฃผ์š” ๊ธฐ๋Šฅ: ์‹ ๋ขฐ ์ฒด์ธ์„ ์™„์„ฑํ•˜์—ฌ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์˜ SSL ์ธ์ฆ์„œ๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ ๋‹ค. ํด๋ผ์ด์–ธํŠธ์˜ ์‹ ๋ขฐ๋œ ๋ฃจํŠธ ์ธ์ฆ์„œ์™€ ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ ์‚ฌ์ด๋ฅผ ์—ฐ๊ฒฐํ•ด ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์ „์ฒด์ ์ธ ์ž‘๋™ ์›๋ฆฌ

  1. **์„œ๋ฒ„ ์ธ์ฆ์„œ(SSL ์ธ์ฆ์„œ ํŒŒ์ผ)**๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
  2. ๊ฐœ์ธ ํ‚ค๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ํ†ต์‹ ์„ ์•ˆ์ „ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
  3. CA ๋ฒˆ๋“ค์€ ์ธ์ฆ์„œ์˜ ์‹ ๋ขฐ ์ฒด์ธ์„ ์™„์„ฑํ•˜์—ฌ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•ด๋‹น ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š”๋‹ค.

 

 

 


๐Ÿ“š ์ถœ์ฒ˜

https://www.cloudflare.com/learning/ssl/what-is-https/

https://www.cloudflare.com/learning/ssl/what-is-encryption/

https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/

https://www.cloudflare.com/learning/ssl/what-is-ssl/

 

HTTPS์™€ HTTP์˜ ์ฐจ์ด์ . ํ•ต์‹ฌ์€ SSL/TLS [ ๋„คํŠธ์›Œํฌ ๋ฉด์ ‘์งˆ๋ฌธ 6 ]

WHY CS์—์„œ ๋ณด์•ˆ ์งˆ๋ฌธ์„ ์ง์ ‘์ ์œผ๋กœ ํ•˜๋Š” ํŽธ์€ ๋“œ๋ฌธ๋ฐ ๊ทธ ์ด์œ ๋Š” ๋„คํŠธ์›Œํฌ์—์„œ ์งˆ๋ฌธํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋ณด์•ˆ์€ ๋„คํŠธ์›Œํฌ์™€ ์—ฐ๊ด€๋œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ์— ๋„คํŠธ์›Œํฌ ๋ถ„์•ผ๋ฅผ ๊ณต๋ถ€ํ•˜

murphymoon.tistory.com

 

TLS handshake๊ฐ€ ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •

์—…๋กœ๋“œ์ค‘..TLS๋ž€?TLS๋Š” Transport Layer Security๋กœ TCP handshake(3-way handshake)๊ฐ€ ์ผ์–ด๋‚˜๊ณ  ๋‚œ ๋’ค, TLS handshake๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.TLS๋Š” ์ธํ„ฐ๋„ท ์ƒ์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์œ„ํ•œ ๊ฐœ์ธ ์ •๋ณด์™€ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์„ ์šฉ์ดํ•˜๊ฒŒ

velog.io

 

HTTPS๋ฅผ ์œ„ํ•œ SSL/TLS ํ•ธ๋“œ ์…ฐ์ดํฌ ์ž‘๋™์›๋ฆฌ

์•ˆ์ „ํ•œ ์›น์„ ์œ„ํ•œ HTTPS | ์ธํ„ฐ๋„ท์—์„œ ๊ท€์ค‘ํ•œ ๋‚ด ์ •๋ณด๋ฅผ ์–ด๋””๋ก ๊ฐ€ ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜, ์—ด๋žŒํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ํฌํ„ธ ์‚ฌ์ดํŠธ์— ๋‚ด ID์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋กœ๊ทธ์ธ์„ ํ•˜๊ฑฐ๋‚˜, ๊ฑฐ๋ž˜ ์€ํ–‰ ์›น

brunch.co.kr

 

HTTPS ์˜ ๋™์ž‘์›๋ฆฌ

์œ ์ €๊ฐ€ ์–ด๋–ค ์›น์‚ฌ์ดํŠธ์— ๋ณด๋‚ด๋Š” ์ •๋ณด๋ฅผ ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€ ํ›”์ณ๋ณด์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จex)HTTP๋กœ ๋งŒ๋“ค์–ด์ง„ ๋„ค์ด๋ฒ„์— ๋กœ๊ทธ์ธ ์‹œ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋„ค์ด๋ฒ„์˜ ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ๋‹ค๊ณ  ํ–ˆ์„๋•Œ์ž…๋ ฅํ•œ ํ…์ŠคํŠธ

velog.io

 

๋Œ“๊ธ€