[์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ] SSL ํ†ต์‹  ๊ณผ์ •

๐Ÿงช Computer Science/Computer Network

SSL๊ณผ TLS

SSL

Secure Socket Layer์˜ ์•ฝ์ž๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ ๋ณด์•ˆ์„ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. 1.0์€ ๋Œ€์ค‘์—๊ฒŒ ๊ณต๊ฐœ๋˜์ง€ ์•Š๊ณ  2.0๋ถ€ํ„ฐ ๊ณต๊ฐœ๋˜์—ˆ๋Š”๋ฐ ๋ช‡ ๊ฐ€์ง€ ์ทจ์•ฝ์  ๋•Œ๋ฌธ์— 1๋…„ ๋งŒ์— SSL 3.0์œผ๋กœ ๋Œ€์ฒด๋˜์—ˆ๋‹ค.

TLS

SSL 3.0์„ ํ‘œ์ค€ํ™”ํ•œ ํ”„๋กœํ† ์ฝœ์ด TLS(Transport Layer Security)์ด๋‹ค. SSL 3.0๊ณผ ๊ทน์ ์ธ ์ฐจ์ด๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ๋‘˜์€ ์„œ๋กœ ์ƒํ˜ธ ์šด์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.


SSL ํ†ต์‹  ๊ณผ์ •

SSL/TLS๋Š” ๋ณดํ†ต SSL ์ธ์ฆ์„œ๋ฅผ ์ด์šฉํ•œ๋‹ค. SSL ์ธ์ฆ์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์˜ ํ†ต์‹ ์„ ๊ณต์ธ๋œ ์ œ 3์ž๊ฐ€ ๋ณด์ฆํ•ด์ฃผ๋Š” ๋ฌธ์„œ๋กœ ๊ณต๊ฐœํ‚ค, ๋ฐœ๊ธ‰์ž, ์œ ํšจ ๊ธฐ๊ฐ„ ๋“ฑ์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋‹ค. ๋ณด์ฆํ•ด์ฃผ๋Š” ์ œ 3์ž๋ฅผ CA(Certificate Authority)๋ผ๊ณ  ํ•œ๋‹ค. ์ธ์ฆ์„œ๋Š” ํ†ต์‹  ๋‚ด์šฉ์ด ๋…ธ์ถœ์ด๋‚˜ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ํ•ด๋‹น ์„œ๋ฒ„๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„์ž„์„ ๋ณด์žฅํ•ด์ค€๋‹ค.

HTTPS๋„ TCP ๊ธฐ๋ฐ˜์˜ ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋•Œ๋ฌธ์— 3-way handshake ๊ณผ์ •์„ ํ†ตํ•ด ๊ฐ€์ƒ ์—ฐ๊ฒฐ์„ ํ™•๋ฆฝํ•œ ํ›„ SSL handshake ๊ณผ์ •์ด ์ด๋ฃจ์–ด์ง„๋‹ค.

๊ณต๊ฐœํ‚ค/๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹(SSL handshake ๊ณผ์ •)

  1. ํด๋ผ์ด์–ธํŠธ โ†’ ์„œ๋ฒ„: ๋žœ๋ค ๋ฐ์ดํ„ฐ์™€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ๋ณด๋‚ธ๋‹ค.
  2. ์„œ๋ฒ„ โ†’ ํด๋ผ์ด์–ธํŠธ: ๋žœ๋ค ๋ฐ์ดํ„ฐ, ์‚ฌ์šฉํ•  ์•”ํ˜ธํ™” ๋ฐฉ์‹๊ณผ SSL ์ธ์ฆ์„œ๋ฅผ ๋ณด๋‚ธ๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ: ์„œ๋ฒ„์—๊ฒŒ ๋ฐ›์€ ์ธ์ฆ์„œ์˜ CA๊ฐ€ ์ž์‹ ์ด ๋“ค๊ณ  ์žˆ๋Š” CA ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์žˆ๋‹ค๋ฉด CA์˜ ๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•œ๋‹ค. ์ด๋Š” ๊ณง CA ๋น„๋ฐ€ํ‚ค์— ์˜ํ•ด ์•”ํ˜ธํ™”๋๋‹ค๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์ธ์ฆ์„œ์˜ ์‹ ์›์„ ๋ณด์ฆํ•ด์ค€๋‹ค.(๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹/๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹)
    ํด๋ผ์ด์–ธํŠธ๋Š” ์ž๊ธฐ๊ฐ€ ๋ณด๋‚ธ ๋žœ๋ค ๋ฐ์ดํ„ฐ์™€ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ๋žœ๋ค ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ž„์‹œ ํ‚ค๋ฅผ ๋งŒ๋“ ๋‹ค.
  4. ํด๋ผ์ด์–ธํŠธ โ†’ ์„œ๋ฒ„: ๋งŒ๋“ค์–ด์ง„ ์ž„์‹œ ํ‚ค๋ฅผ ์ธ์ฆ์„œ์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์„œ๋ฒ„์— ๋ณด๋‚ธ๋‹ค.
  5. ์„œ๋ฒ„: ์ž์‹ ์ด ๋“ค๊ณ  ์žˆ๋˜ ๋น„๋ฐ€ํ‚ค๋กœ ์ž„์‹œ ํ‚ค๋ฅผ ๋ณตํ˜ธํ™”ํ•œ๋‹ค.
  6. ์ด๋กœ์จ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ๋™์ผํ•œ ์ž„์‹œ ํ‚ค๋ฅผ ๊ณต์œ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ผ๋ จ์˜ ๊ณผ์ •์„ ๊ฑฐ์ณ master secret ๊ฐ’์„ ๋งŒ๋“ค๊ณ  ์„ธ์…˜ ํ‚ค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹(session ๊ณผ์ •)

  1. ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์„ธ์…˜ ํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.(๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹)

  2. ์„ธ์…˜์ด ์ข…๋ฃŒ๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๋ชจ๋‘ ์„ธ์…˜ํ‚ค๋ฅผ ํ๊ธฐํ•œ๋‹ค.


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

  • ๊ณต๊ฐœํ‚ค/๋น„๋Œ€์นญํ‚ค ๋ฐฉ์‹์€ ์ปดํ“จํ„ฐ ํŒŒ์›Œ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์š”์ฒญ์ด ์ ๋ฆฌ๋Š” ๊ฒฝ์šฐ ์„œ๋ฒ„๋Š” ๊ณผ๊ธˆ์„ ๋‚ด์•ผ ํ•œ๋‹ค.
  • ๋Œ€์นญํ‚ค ๋ฐฉ์‹์€ ์•”ํ˜ธ๋ฅผ ํ‘ธ๋Š” ์—ด์‡ ์ธ ๋Œ€์นญํ‚ค๋ฅผ ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ ์ค˜์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ํ‚ค๋ฅผ ์ „์†กํ•˜๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•˜๋‹ค.

๊ทธ๋ž˜์„œ ์ฑ„๋„์„ ์ˆ˜๋ฆฝํ•  ๋•Œ์—๋Š” ๊ณต๊ฐœํ‚ค ๋ฐฉ์‹์„ ์ด์šฉํ•ด ๋ณด๋‹ค ์•ˆ์ „ํ•œ ์ฑ„๋„์„ ์ˆ˜๋ฆฝํ•˜๊ณ , ์ดํ›„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ๋Œ€์นญํ‚ค๋ฅผ ํ†ตํ•ด ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.