https - GANGNAM-JAVA/JAVA-STUDY GitHub Wiki

์ปดํ“จํ„ฐ(ํด๋ผ์ด์–ธํŠธ)์™€ ์ปดํ“จํ„ฐ(์„œ๋ฒ„)๊ฐ€ ๋„คํŠธ์›Œํฌ๋ฅผ ์ด์šฉํ•ด์„œ ํ†ต์‹ ์„ ํ•  ๋•Œ๋Š” 3๊ฐ€์ง€ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰๋œ๋‹ค.

์•…์ˆ˜ -> ์ „์†ก(์„ธ์…˜) -> ์„ธ์…˜ ์ข…๋ฃŒ

Https๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค

HTTP vs HTTPS

HTTP๋Š” Hypertext Transfer Protocol์˜ ์•ฝ์ž๋‹ค.

์ฆ‰ Hypertextdls HTML์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ๊ทœ์•ฝ์„ ์˜๋ฏธํ•œ๋‹ค.

HTTP๋Š” ์•”ํ˜ธํ™”๋ฅผ ํ•˜์ง€ ์•Š์€ ์ฑ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.

๋”ฐ๋ผ์„œ HTTP ๋ฐฉ์‹์œผ๋กœ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฉ”์‹œ์ง€(ํŒจํ‚ท)๋Š” ์œ ์ถœ๋˜๊ธฐ ์‰ฝ๋‹ค.


HTTPS๋Š” Hypertext Transfer Protocol over Secure Socket Layer์˜ ์•ฝ์ž๋‹ค.

์ฆ‰ ๋ณด์•ˆ์ด ๊ฐ•ํ™”๋œ HTTP๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

HTTPS vs SSL

HTTPS์™€ SSL์„ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

์ด๊ฒƒ์€ ๋งž๊ธฐ๋„, ํ‹€๋ฆฌ๊ธฐ๋„ ํ•˜๋‹ค. ๋งˆ์น˜ ์ธํ„ฐ๋„ท๊ณผ ์›น์„ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์ดํ•ดํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

(์ธํ„ฐ๋„ท ์œ„์—์„œ ๋Œ์•„๊ฐ€๋Š” ์„œ๋น„์Šค ์ค‘์˜ ํ•˜๋‚˜๊ฐ€ ์›น) HTTPS๋Š” SSLํ”„๋กœํ† ์ฝœ ์œ„์—์„œ ๋Œ์•„๊ฐ€๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

SSL๊ณผ TLS

๋„ท์Šค์ผ€์ดํ”„๊ฐ€ ๋ฐœ๋ช…ํ•œ SSL์ด ์ ์ฐจ ํญ๋„“๊ฒŒ ์‚ฌ์šฉ๋˜๋‹ค๊ฐ€, ํ‘œ์ค€ํ™” ๊ธฐ๊ตฌ์ธ IETF์˜ ๊ด€๋ฆฌ๋กœ ๋ณ€๊ฒฝ๋˜๋ฉด์„œ TLS๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค.

TLS 1.0์€ SSL 3.0์„ ๊ณ„์Šนํ•œ๋‹ค. (ํ•˜์ง€๋งŒ TLS๋ผ๋Š” ์ด๋ฆ„๋ณด๋‹ค SSL์ด๋ผ๋Š” ์ด๋ฆ„์ด ํ›จ์”ฌ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.)

SSL ๋””์ง€ํ„ธ ์ธ์ฆ์„œ

SSL ์ธ์ฆ์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„์˜ ํ†ต์‹ ์„ ์ œ3์ž๊ฐ€ ๋ณด์ฆํ•ด์ฃผ๋Š” ์ „์žํ™”๋œ ๋ฌธ์„œ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๊ฐ€ HTTPS ๋ฐฉ์‹์œผ๋กœ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋ฉด ๊ณง๋ฐ”๋กœ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ด ์ธ์ฆ์„œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋Š” ์ด ์ธ์ฆ์„œ ์ •๋ณด๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒ€์ฆ(handshake) ํ•œ ํ›„์— ๋‹ค์Œ ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. (๋ณธ๊ฒฉ์ ์ธ ๋ฐ์ดํ„ฐ ์ „์†ก)

SSL๊ณผ SSL ๋””์ง€ํ„ธ ์ธ์ฆ์„œ๋ฅผ ์ด์šฉํ–ˆ์„ ๋•Œ์˜ ์ด์ ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๊ณต๊ฒฉ์ž์—๊ฒŒ ๋…ธ์ถœ๋˜๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ ‘์†ํ•˜๋ ค๋Š” ์„œ๋ฒ„๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„์ธ์ง€๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ†ต์‹  ๋‚ด์šฉ์˜ ์•…์˜์ ์ธ ๋ณ€๊ฒฝ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

SSL์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์•”ํ˜ธํ™”์˜ ์ข…๋ฅ˜

SSL์˜ ํ•ต์‹ฌ์€ ์•”ํ˜ธํ™”๋‹ค. SSL์€ ๋‘ ๊ฐ€์ง€ ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•์„ ํ˜ผ์šฉํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๋ฐ”๋กœ ๋Œ€์นญํ‚ค, ๊ณต๊ฐœํ‚ค ๊ธฐ๋ฒ•์ด๋‹ค.

๋Œ€์นญํ‚ค๋Š” ์„ฑ๋Šฅ์ด ์ข‹์ง€๋งŒ ๋ณด์•ˆ์ด ์ทจ์•ฝํ•˜๊ณ  ๊ณต๊ฐœํ‚ค๋Š” ๋ณด์•ˆ์ด ์ข‹์ง€๋งŒ ์„ฑ๋Šฅ์ด ์ทจ์•ฝํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ํ˜ผ์šฉํ•˜์—ฌ ์‚ฌ์šฉ๋œ๋‹ค.

SSL ์ธ์ฆ์„œ์˜ ์—ญํ• 

SSL ์ธ์ฆ์„œ์˜ ์—ญํ• ์€ ๋‹ค์†Œ ๋ณต์žกํ•˜๋‹ค.

๋”ฐ๋ผ์„œ ์ธ์ฆ์„œ์˜ ๋งค์ปค๋‹ˆ์ฆ˜์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€ ์ง€์‹๋“ค์„ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์ธ์ฆ์„œ์˜ ๊ธฐ๋Šฅ์€ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๋‹ค.

  1. ์ธ์ฆ์„œ๋ฅผ ํ†ตํ•ด, ํด๋ผ์ด์–ธํŠธ๋Š” ์ ‘์†ํ•œ ์„œ๋ฒ„๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ์ธ์ฆ์„œ๋ฅผ ํ†ตํ•ด, ํด๋ผ์ด์–ธํŠธ๋Š” SSL ํ†ต์‹ ์— ์‚ฌ์šฉํ•  ๊ณต๊ฐœํ‚ค๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

CA

SSL ์ธ์ฆ์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ ‘์†ํ•œ ์„œ๋ฒ„๊ฐ€ ์˜๋„ํ•œ ์„œ๋ฒ„๊ฐ€ ๋งž๋Š”์ง€๋ฅผ ๋ณด์žฅํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ๋ณด์žฅ์„ ๋„์™€์ฃผ๋Š” ๋ฏผ๊ฐ„ ๊ธฐ์—…๋“ค์ด ์žˆ๋‹ค. ์ด ๊ธฐ์—…๋“ค์„ CA(Certificate authority) ํ˜น์€ Root Certificate ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

CA๋Š” ์‹ ๋ขฐ์„ฑ์ด ์—„๊ฒฉํ•˜๊ฒŒ ๊ณต์ธ๋œ ๊ธฐ์—…๋“ค์ด๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๊ธฐ์—…๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • Symantec (VeriSign, Thawte, Geotrust)
  • Comodo
  • GoDaddy
  • GlobalSign (์ฐธ์กฐํ•˜๋Š” ๊ธ€์ด ๊ฝค ์˜ค๋ž˜ ์ „์— ์ž‘์„ฑ๋œ ํ„ฐ๋ผ (2013๋…„) ํ˜„์žฌ(2020๋…„)์™€๋Š” ์ฐจ์ด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.)

SSL์„ ํ†ตํ•ด์„œ ์•”ํ˜ธํ™”๋œ ํ†ต์‹ ์„ ์ œ๊ณตํ•˜๋ ค๋Š” ์„œ๋น„์Šค๋Š” CA๋ฅผ ํ†ตํ•ด์„œ ์ธ์ฆ์„œ๋ฅผ ๊ตฌ์ž…ํ•ด์•ผ ํ•œ๋‹ค.


๊ฐœ์ธ ๊ฐœ๋ฐœ ๋“ฑ์˜ ์‚ฌ์ ์ธ ๋ชฉ์ ์„ ์œ„ํ•ด์„œ SSL์˜ ์•”ํ˜ธํ™” ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๋ ค ํ•œ๋‹ค๋ฉด ์ž์‹ ์ด ์ง์ ‘ CA ์—ญํ• ์„ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๋ฌผ๋ก  ์ด๊ฒƒ์€ ๊ณต์ธ๋œ ์ธ์ฆ์„œ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ธŒ๋ผ์šฐ์ €๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ๊ณ ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค

๊ณต์ธ๋œ CA๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ชจ์Šต์ด ๋œ๋‹ค.

SSL ์ธ์ฆ์„œ์˜ ๋‚ด์šฉ

SSL ์ธ์ฆ์„œ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

  1. ์„œ๋น„์Šค์˜ ์ •๋ณด(CA, ์„œ๋น„์Šค ๋„๋ฉ”์ธ ๋“ฑ)

  2. ๊ณต๊ฐœํ‚ค(๊ณต๊ฐœํ‚ค์˜ ๋‚ด์šฉ, ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ• ๋“ฑ)

1๋ฒˆ์€ ์ ‘์†ํ•œ ์„œ๋ฒ„๊ฐ€ ์˜๋„ํ•œ ์„œ๋ฒ„๊ฐ€ ๋งž๋Š”์ง€์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด๊ณ 

2๋ฒˆ์€ ์„œ๋ฒ„์™€ ํ†ต์‹ ์„ ํ•  ๋•Œ ์‚ฌ์šฉํ•  ๊ณต๊ฐœํ‚ค์™€ ๊ทธ ๊ณต๊ฐœํ‚ค์˜ ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•๋“ค์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด๋‹ค.

(1, 2๋ฒˆ์˜ ๋‚ด์šฉ๋“ค์€ ์„œ๋ฒ„๊ฐ€ CA๋กœ๋ถ€ํ„ฐ ์ธ์ฆ์„œ๋ฅผ ๊ตฌ์ž…ํ•  ๋•Œ ๋“ฑ๋กํ•˜๊ณ  ์ œ์ถœํ•ด์•ผํ•œ๋‹ค)

CA๋Š” ์ž์‹ ์˜ CA ๋น„๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ์„œ๋ฒ„๊ฐ€ ์ œ์ถœํ•œ ์ธ์ฆ์„œ ์ •๋ณด๋“ค์„ ์•”ํ˜ธํ™”ํ•œ๋‹ค.

CA์˜ ์ž์‹ ์˜ ๋น„๊ณต๊ฐœํ‚ค๋Š” ์ ˆ๋Œ€๋กœ ์œ ์ถœ๋˜์–ด์„œ๋Š” ์•ˆ๋œ๋‹ค. (๋””์ง€๋…ธํƒ€ ๋ผ๋Š” CA ํšŒ์‚ฌ๊ฐ€ ๋น„๊ณต๊ฐœํ‚ค๊ฐ€ ์œ ์ถœ๋˜๋Š” ๋ฐ”๋žŒ์— ํŒŒ์‚ฐ๋˜๊ธฐ๋„ ํ–ˆ๋‹ค.)

๋ธŒ๋ผ์šฐ์ €๋Š” CA๋ฅผ ์•Œ๊ณ  ์žˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ์˜ ๋ธŒ๋ผ์šฐ์ €๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ CA์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฏธ๋ฆฌ ํŒŒ์•…ํ•˜๊ณ  ์žˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ €์˜ ์†Œ์Šค์ฝ”๋“œ ์•ˆ์— CA์˜ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋“ค์–ด์žˆ๋‹ค.

์ด ๋ฆฌ์ŠคํŠธ์— ํฌํ•จ๋˜์–ด์•ผ๋งŒ ๊ณต์ธ๋œ CA๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

CA์˜ ๋ฆฌ์ŠคํŠธ์™€ ํ•จ๊ป˜ ๊ฐ CA์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋‹ค.

SSL ์ธ์ฆ์„œ๊ฐ€ ์„œ๋น„์Šค๋ฅผ ๋ณด์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†ํ•  ๋•Œ ์„œ๋ฒ„๋Š” ์ œ์ผ ๋จผ์ € ์ธ์ฆ์„œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

  2. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•œ CA๊ฐ€ ์ž์‹ ์ด ๋‚ด์žฅํ•˜์—ฌ ์†Œ์œ ์ค‘์ธ CA ๋ฆฌ์ŠคํŠธ์— ํฌํ•จ๋ผ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

  3. ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ํ•ด๋‹น CA์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™”ํ•œ๋‹ค.

CA์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์ด ์ธ์ฆ์„œ๊ฐ€ CA์˜ ๋น„๊ณต๊ฐœํ‚ค์— ์˜ํ•ด์„œ ์•”ํ˜ธํ™” ๋œ ๊ฒƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. (์ „์ž ์„œ๋ช…)

ํ•ด๋‹น CA์˜ ๋น„๊ณต๊ฐœ ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” CA๋Š” ํ•ด๋‹น CA ๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„๊ฐ€ ์ œ๊ณตํ•œ ์ธ์ฆ์„œ๊ฐ€ CA์— ์˜ํ•ด์„œ ๋ฐœ๊ธ‰๋œ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

CA์— ์˜ํ•ด์„œ ๋ฐœ๊ธ‰๋œ ์ธ์ฆ์„œ๋ผ๋Š” ๊ฒƒ์€ ์ ‘์†ํ•œ ์‚ฌ์ดํŠธ๊ฐ€ CA์— ์˜ํ•ด์„œ ๊ฒ€ํ† ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

CA์˜ ๊ฒ€ํ† ๋ฅผ ํ†ต๊ณผํ–ˆ๋‹ค๋Š” ๊ฒƒ์€ ํ•ด๋‹น ์„œ๋น„์Šค๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.


์ด๊ฒƒ์ด CA์™€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํŠน์ • ์„œ๋ฒ„๋ฅผ ์ธ์ฆํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

์ธ์ฆ์„œ๋ฅผ ์ด์šฉํ•ด์„œ ์„œ๋น„์Šค๋ฅผ ๋ณด์ฆ์„ ์™„๋ฃŒํ–ˆ๋‹ค! ๋งจ ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋˜ ์•…์ˆ˜(handshake) ๊ณผ์ •์ด ์™„๋ฃŒ๋œ ๊ฒƒ์ด๋‹ค.

์ด์ œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ž‘์—…์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•ด์„œ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •์ด ๋‚จ์•˜๋‹ค.

์ด ๊ณผ์ •์—์„œ ์ธ์ฆ์„œ์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ๊ณ„์†ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

SSL์˜ ๋™์ž‘ ๋ฐฉ๋ฒ•

SSL ์ธ์ฆ์„œ๋ฅผ ์ด์šฉํ•ด ์„œ๋ฒ„์˜ ์‹ ๋ขฐ๋„๋ฅผ ํ™•์ธํ•˜๋Š” ์•…์ˆ˜(handshake) ๋‹จ๊ณ„๊ฐ€ ๋๋‚˜๋ฉด

๋ณธ๊ฒฉ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋‹จ๊ณ„๊ฐ€ ์‹œ์ž‘๋œ๋‹ค.

SSL์€ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†กํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๊ณต๊ฐœํ‚ค์™€ ๋Œ€์นญํ‚ค๋ฅผ ํ˜ผํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

๊ณต๊ฐœํ‚ค ๋ฐฉ์‹์˜ ์•”ํ˜ธํ™”๋Š” ์•ˆ์ „ํ•˜์ง€๋งŒ ๋งค์šฐ ๋งŽ์€ ์ปดํ“จํ„ฐ ์ž์›์„ ์‚ฌ์šฉํ•˜๊ณ ,

๋Œ€์นญํ‚ค ๋ฐฉ์‹์˜ ์•”ํ˜ธํ™”๋Š” ํšจ์œจ์ ์ด์ง€๋งŒ ๋ณด์•ˆ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๊ทธ๋ž˜์„œ SSL์€ ํ˜ผํ•ฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•œ๋‹ค.


ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์ฃผ๊ณ  ๋ฐ›๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ๋Š” ๋Œ€์นญํ‚ค ๋ฐฉ์‹์œผ๋กœ ์•”ํ˜ธํ™”ํ•˜๊ณ ,

๋Œ€์นญํ‚ค ๋ฐฉ์‹์œผ๋กœ ์•”ํ˜ธํ™”๋œ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™”ํ•  ๋•Œ ์‚ฌ์šฉํ•  ๋Œ€์นญํ‚ค๋Š”

๊ณต๊ฐœํ‚ค ๋ฐฉ์‹์œผ๋กœ ์•”ํ˜ธํ™”ํ•ด์„œ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค.

  • ์‹ค์ œ ๋ฐ์ดํ„ฐ : ๋Œ€์นญํ‚ค๋กœ ์•”ํ˜ธํ™”

  • ๋Œ€์นญํ‚ค์˜ ํ‚ค : ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”

ํฐ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค๋ณด๊ธฐ ์œ„ํ•ด, ์•…์ˆ˜๋‹จ๊ณ„๋ถ€ํ„ฐ ๋‹ค์‹œ ์ •๋ฆฌํ•ด๋ณด์ž

1. ์•…์ˆ˜(handshake)

๋จผ์ € ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†ํ•œ๋‹ค. ์ด ๋‹จ๊ณ„๋ฅผ Client Hello๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๋‹จ๊ณ„๊ฐ€ ์ฃผ๊ณ  ๋ฐ›๋Š” ์ •๋ณด๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค

- ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์ƒ์„ฑํ•œ ๋žœ๋ค ๋ฐ์ดํ„ฐ :: ์•„๋ž˜ 3๋ฒˆ ์ฐธ์กฐ

- ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ง€์›ํ•˜๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹๋“ค :: ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์ง€์›ํ•˜๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹์ด ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. 

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ƒํ˜ธ๊ฐ„์— ์–ด๋–ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ํ˜‘์ƒ์„ ํ•ด์•ผ ํ•œ๋‹ค. 

์ด ํ˜‘์ƒ์„ ์œ„ํ•ด์„œ ํด๋ผ์ด์–ธํŠธ๋Š” ์ž์‹ ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์ „์†กํ•œ๋‹ค.

- ์„ธ์…˜ ์•„์ด๋”” : ์ด๋ฏธ SSL handshake๋ฅผ ํ–ˆ๋‹ค๋ฉด ๋น„์šฉ๊ณผ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ธฐ์กด์˜ ์„ธ์…˜์„ ์žฌํ™œ์šฉํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, <br>์ด ๋•Œ ์‚ฌ์šฉํ•  ์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ์‹๋ณ„์ž๋ฅผ ์ „์†กํ•œ๋‹ค.
์„œ๋ฒ„๋Š” Client Hello์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ Server Hello๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ ์ฃผ๊ณ  ๋ฐ›๋Š” ์ •๋ณด๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

- ์„œ๋ฒ„ ์ธก์—์„œ ์ƒ์„ฑํ•œ ๋žœ๋ค ๋ฐ์ดํ„ฐ :: ์•„๋ž˜ 3๋ฒˆ ์ฐธ์กฐ

- ์„œ๋ฒ„๊ฐ€ ์„ ํƒํ•œ ํด๋ผ์ด์–ธํŠธ์˜ ์•”ํ˜ธํ™” ๋ฐฉ์‹ :: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ „๋‹ฌํ•œ ์•”ํ˜ธํ™” ๋ฐฉ์‹ ์ค‘์—์„œ

์„œ๋ฒ„์ชฝ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์„ ํƒํ•ด์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์ „๋‹ฌํ•œ๋‹ค.

์ด๋กœ์จ ์•”ํ˜ธํ™” ๋ฐฉ์‹์— ๋Œ€ํ•œ ํ˜‘์ƒ์ด ์ข…๋ฃŒ๋œ๋‹ค. 

์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋Š” ์ด ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์ด์šฉํ•ด์„œ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๊ฒŒ ๋œ๋‹ค.

- ์ธ์ฆ์„œ
๊ทธ๋ฆฌ๊ณ  ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ๊ฐ€ CA์— ์˜ํ•ด์„œ ๋ฐœ๊ธ‰๋œ ๊ฒƒ์ธ์ง€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ž์‹ ์—๊ฒŒ ๋‚ด์žฅ๋œ CA ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™•์ธํ•œ๋‹ค. 

CA ๋ฆฌ์ŠคํŠธ์— ์ธ์ฆ์„œ๊ฐ€ ์—†๋‹ค๋ฉด ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฒฝ๊ณ  ๋ฉ”์„ธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. 

๊ทธ๋ฆฌ๊ณ  ๋‚ด์žฅ๋œ CA์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™”ํ•œ๋‹ค.

(๋ณตํ˜ธํ™”์— ์„ฑ๊ณตํ–ˆ๋‹ค๋ฉด ์ธ์ฆ์„œ๋Š” CA์˜ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ๋ฌธ์„œ์ž„์ด ์•”์‹œ์ ์œผ๋กœ ๋ณด์ฆ๋œ ๊ฒƒ์ด๋‹ค.) 

ํด๋ผ์ด์–ธํŠธ๋Š” 1๋ฒˆ์—์„œ ์ž์‹ ์ด ์ƒ์„ฑํ•œ ๋žœ๋ค ๋ฐ์ดํ„ฐ์™€ 2๋ฒˆ์„ ํ†ตํ•ด์„œ ๋ฐ›์€ ์„œ๋ฒ„์˜ ๋žœ๋ค ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํ•ฉํ•ด์„œ 

pre master secret ์ด๋ผ๋Š” ํ‚ค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ด ํ‚ค๋Š” ๋’ค์—์„œ ์‚ดํŽด๋ณผ ์„ธ์…˜ ๋‹จ๊ณ„์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์•”ํ˜ธํ™”์— ์‚ฌ์šฉ๋œ๋‹ค.

์ด ๋•Œ ์‚ฌ์šฉ๋  ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•์€ ๋Œ€์นญํ‚ค์ด๊ธฐ ๋•Œ๋ฌธ์— pre master secret ํ‚ค๋Š” ์ œ 3์ž์—๊ฒŒ ์ ˆ๋Œ€๋กœ ๋…ธ์ถœ๋˜์–ด์„œ๋Š” ์•ˆ๋œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด pre master secret ํ‚ค๋ฅผ ์–ด๋–ป๊ฒŒ ์„œ๋ฒ„์—๊ฒŒ ์ „๋‹ฌํ•  ๊ฒƒ์ธ๊ฐ€?

์ด ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ ๊ณต๊ฐœํ‚ค ๋ฐฉ์‹์ด๋‹ค. 

์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์ธ์ฆ์„œ ๋‚ด์˜ ๊ณต๊ฐœํ‚ค๋กœ pre master secret ํ‚ค๋ฅผ ์•”ํ˜ธํ™”ํ•ด์„œ ์„œ๋ฒ„๋กœ ์ „์†กํ•œ๋‹ค. 

์„œ๋ฒ„๋Š” ์ด ์•”ํ˜ธํ™”๋œ ํ‚ค๋ฅผ ์ž์‹ ์˜ ๋น„๊ณต๊ฐœํ‚ค๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. 
๋งˆ์ง€๋ง‰์œผ๋กœ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ „์†กํ•œ pre master secret ํ‚ค๋ฅผ ์ž์‹ ์˜ ๋น„๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•œ๋‹ค.

์ด๋กœ์จ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๋ชจ๋‘ pre master secret ๊ฐ’์„ ๊ณต์œ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋Š” ๋ชจ๋‘ ์ผ๋ จ์˜ ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ pre master secret ํ‚ค๋ฅผ master secret ํ‚ค๋กœ ๋งŒ๋“ ๋‹ค. 

master secret ํ‚ค๋Š” session key๋ฅผ ์ƒ์„ฑํ•˜๋Š”๋ฐ, ์ด session key ๊ฐ’์„ ์ด์šฉํ•ด์„œ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋Š” 

๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€์นญํ‚ค ๋ฐฉ์‹์œผ๋กœ ์•”ํ˜ธํ™”ํ•œ ํ›„์— ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.

์ด๋ ‡๊ฒŒ ํ•ด์„œ ์„ธ์…˜ํ‚ค๋ฅผ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ๋ชจ๋‘ ๊ณต์œ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” handshake ์ข…๋ฃŒ๋ฅผ ์„œ๋กœ์—๊ฒŒ ์•Œ๋ฆฌ๊ณ  ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€์นญํ‚ค ๋ฐฉ์‹์œผ๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†กํ•œ๋‹ค.(์„ธ์…˜ ์‹œ์ž‘)

2. ์ „์†ก(์„ธ์…˜)

์„ธ์…˜์€ ์‹ค์ œ๋กœ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋‹จ๊ณ„์ด๋‹ค.

์ด ๋‹จ๊ณ„์—์„œ ํ•ต์‹ฌ์€ '์ •๋ณด๋ฅผ ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ ์ „์†กํ•˜๊ธฐ ์ „์— session key ๊ฐ’์„ ์ด์šฉํ•ด์„œ ๋Œ€์นญํ‚ค ๋ฐฉ์‹์œผ๋กœ ์•”ํ˜ธํ™” ํ•œ๋‹ค'๋Š” ์ ์ด๋‹ค.

์•”ํ˜ธํ™”๋œ ์ •๋ณด๋Š” ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ ์ „์†ก๋  ๊ฒƒ์ด๊ณ , ์ƒ๋Œ€๋ฐฉ๋„ session key ๊ฐ’์„ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•”ํ˜ธ๋ฅผ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ์ „์†ก(์„ธ์…˜) ์ข…๋ฃŒ

๋ฐ์ดํ„ฐ์˜ ์ „์†ก์ด ๋๋‚˜๋ฉด SSL ํ†ต์‹ ์ด ๋๋‚ฌ์Œ์„ ์„œ๋กœ์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค.

์ด ๋•Œ ํ†ต์‹ ์—์„œ ์‚ฌ์šฉํ•œ ๋Œ€์นญํ‚ค์ธ session key๋ฅผ ํ๊ธฐํ•œ๋‹ค.