[Network] SSL(Secure Socket Layer)

๊น€๋ฆฌ์˜ยท2025๋…„ 1์›” 30์ผ

Network

๋ชฉ๋ก ๋ณด๊ธฐ
12/13

๐Ÿ“Œ ๋ณธ ๊ฒŒ์‹œ๋ฌผ์€ ์ž๊ธฐ ํ•™์Šต ๋ชฉ์ ์œผ๋กœ ์ž‘์„ฑ๋˜์–ด ์ผ๋ถ€ ๋‚ด์šฉ์ด ๋ถ€์ •ํ™•ํ•˜๊ฑฐ๋‚˜ ์ตœ์‹  ์ •๋ณด์™€๋Š” ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๐Ÿ’ฌ ์ž˜๋ชป๋œ ๋ถ€๋ถ„์ด๋‚˜ ๋ณด์™„ํ•  ์ ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ๊ณต์œ ํ•˜์—ฌ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

1๏ธโƒฃ SSL(Secure Sockets Layer)

  • Netscape์‚ฌ์—์„œ ๊ฐœ๋ฐœํ•œ ํด๋ผ์ด์–ธํŠธ(์›น ๋ธŒ๋ผ์šฐ์ €)์™€ ์„œ๋ฒ„(์›น ์„œ๋ฒ„) ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ

  • ์•”ํ˜ธํ™”๋ฅผ ์œ„ํ•ด RSA ๊ณต๊ฐœํ‚ค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ, X.509 ์ธ์ฆ์„œ ์ง€์›, 443 ํฌํŠธ, ์ „์†ก ๊ณ„์ธต ~ ์‘์šฉ ๊ณ„์ธต์—์„œ ๋™์ž‘

  • ๊ธฐ๋ฐ€์„ฑ, ๋ฌด๊ฒฐ์„ฑ, ์ธ์ฆ์˜ ์„ธ ๊ฐ€์ง€ ๋ณด์•ˆ ์„œ๋น„์Šค ์ œ๊ณต

    โœ… ๊ธฐ๋ฐ€์„ฑ : DES, 3DES, IDEA ๋“ฑ ์—ฌ๋Ÿฌ ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ํ™œ์šฉํ•˜์—ฌ ์†กยท์ˆ˜์‹  ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ
    โœ… ๋ฌด๊ฒฐ์„ฑ : ๋ฐ์ดํ„ฐ ์œ„ยท๋ณ€์กฐ ๋ฐฉ์ง€
    โœ… ์ธ์ฆ : ์„œ๋ฒ„ ์‹ ๋ขฐ์„ฑ ๊ฒ€์ฆ (SSL ์ธ์ฆ์„œ ์‚ฌ์šฉ)


2๏ธโƒฃ SSL์˜ ๋™์ž‘ ๋ฐฉ์‹

  • SSL์€ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ์œ ์ง€

โœ… SSL Handshaking ๊ณผ์ •

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— SSL ์—ฐ๊ฒฐ ์š”์ฒญ (Client Hello)
    • ์ง€์› ๊ฐ€๋Šฅํ•œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ํ‚ค ๊ตํ™˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜, MAC ์•”ํ˜ธํ™” ๋“ฑ ๋ฒ„์ „ ์ •๋ณด ์ „์†ก
  2. Client Hello์—์„œ ์„œ๋ฒ„๊ฐ€ ์ง€์› ๊ฐ€๋Šฅํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „์†ก (Server Hello)
  3. ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ธ์ฆ์„œ๋ฅผ ์ „์†กํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฒ€์ฆ
    • CA(์ธ์ฆ๊ธฐ๊ด€)์—์„œ ๋ฐœ๊ธ‰ํ•œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ์„œ์ธ์ง€ ํ™•์ธ
  4. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„ธ์…˜ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์„œ๋ฒ„์— ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†ก
    • ํด๋ผ์ด์–ธํŠธ๋Š” ์•”ํ˜ธ ํ†ต์‹ ์— ์‚ฌ์šฉํ•  ์„ธ์…˜ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด๊ฒƒ์„ ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ Premaster Key๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์„œ๋ฒ„๋กœ ์ „์†ก
  5. ์„œ๋ฒ„๊ฐ€ ์„ธ์…˜ ํ‚ค ๋ณตํ˜ธํ™” ํ›„, ํด๋ผ์ด์–ธํŠธ์™€ ์•ˆ์ „ํ•œ ํ†ต์‹  ๊ฐœ์‹œ
    • ์ดํ›„ ๋ฐ์ดํ„ฐ ์ „์†ก์€ ๋น ๋ฅธ ์†๋„์˜ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹ ์‚ฌ์šฉ

3๏ธโƒฃ SSL ๊ตฌ์„ฑ์š”์†Œ

1. Change Cipher Spec Protocol

  • SSL์—์„œ ํ˜‘์˜๋œ ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•์„ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉํ•  ๊ฒƒ์ž„์„ ์•Œ๋ฆฌ๋Š” ํ”„๋กœํ† ์ฝœ
  • SSL ํ”„๋กœํ† ์ฝœ ์ค‘ ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ”„๋กœํ† ์ฝœ
  • HandShake ๊ณผ์ •์—์„œ ํ˜‘์˜๋œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํ‚ค ๊ตํ™˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜, MAC(Message Authentication Code) ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํ•ด์‹œ(Hash) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋  ๊ฒƒ์ž„์„ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์— ๊ณต์ง€

2. Alert Protocol

  • SSL ํ†ต์‹  ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๋ฐ ์„ธ์…˜ ์ข…๋ฃŒ์™€ ๊ด€๋ จ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๋Š” ํ”„๋กœํ† ์ฝœ
  • SSL ํ†ต์‹  ์ค‘ ์„ธ์…˜ ์ข…๋ฃŒ, ๋น„์ •์ƒ์ ์ธ ๋™์ž‘, ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๋Š” ํ”„๋กœํ† ์ฝœ
  • ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ(Level ํ•„๋“œ) ๊ฐ’์ด 1์ธ ๊ฒฝ์šฐ Warning(๊ฒฝ๊ณ ), ๊ฐ’์ด 2์ธ ๊ฒฝ์šฐ Fatal Alert(์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜) ๋ฐœ์ƒํ•˜์—ฌ ์ฆ‰์‹œ ์„ธ์…˜ ์ข…๋ฃŒ
  • ๋‘ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ์—๋Š” Alert์˜ ์›์ธ(Description ํ•„๋“œ)์ด ํฌํ•จ

3. Record Protocol

  • ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”, ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ, ์••์ถ•ํ•˜์—ฌ ์•ˆ์ „ํ•˜๊ฒŒ ์†กยท์ˆ˜์‹ ํ•˜๋Š” ์—ญํ• 
  • ์ƒ์œ„ ๊ณ„์ธต์—์„œ ์ „๋‹ฌ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”, ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ(MAC), ์••์ถ•ํ•œ ํ›„ ์ „์†กํ•˜๋Š” ์—ญํ• 
  • ๋ฐ์ดํ„ฐ๋Š” SSL์ด ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•œ ํฌ๊ธฐ๋กœ ๋ธ”๋กํ™”ํ•œ ํ›„ ์ „์†ก
  • ์ˆ˜์‹  ์ธก์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™”, MAC ๊ฒ€์ฆ, ์••์ถ• ํ•ด์ œ, ์žฌ๊ฒฐํ•ฉ ํ›„ ์ƒ์œ„ ๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌ

4๏ธโƒฃ OpenSSL

  • SSL/TLS ํ”„๋กœํ† ์ฝœ์„ ๊ตฌํ˜„ํ•œ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”, ๋ณด์•ˆ ํ†ต์‹ , ์ธ์ฆ์„œ ๊ด€๋ฆฌ ๋“ฑ์„ ์ง€์›

๐Ÿ“Œ ํ•˜ํŠธ๋ธ”๋ฆฌ๋“œ(Heartbleed)

  • ํ•˜ํŠธ๋ธ”๋ฆฌ๋“œ(Heartbleed, CVE-2014-0160)๋Š” OpenSSL 1.0.1 ~ 1.0.1f ๋ฒ„์ „์—์„œ ๋ฐœ์ƒํ•œ ์‹ฌ๊ฐํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์ 
  • OpenSSL์˜ TLS/DTLS Heartbeat Extension์˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜์—ฌ ๊ณต๊ฒฉ์ž๊ฐ€ ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ 64KB์”ฉ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ฝ์„ ์ˆ˜ ์žˆ์Œ
๊ณต๊ฒฉ์ž โ†’ ์„œ๋ฒ„: Heartbeat ์š”์ฒญ (ํŒจํ‚ท ๊ธธ์ด ์œ„์กฐ)
์„œ๋ฒ„ โ†’ ๊ณต๊ฒฉ์ž: ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ์˜ 64KB ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜ (๊ธฐ๋ฐ€ ์ •๋ณด ํฌํ•จ)

๐Ÿ“ ์ฐธ๊ณ 

https://www.ssl.com/article/ssl-tls-handshake-ensuring-secure-online-interactions/

0๊ฐœ์˜ ๋Œ“๊ธ€