ํ•ด๋‹น ์žฅ์—์„œ๋Š” HTTP ํŠธ๋žœ์žญ์…˜์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•˜๋Š” ๋ณต์žกํ•˜๊ณ  ์ ๊ทน์ ์ธ ๊ธฐ์ˆ ์„ ์ œ์‹œํ•œ๋‹ค.

HTTP๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ

์€ํ–‰ ๊ฑฐ๋ž˜๋‚˜ ๊ตฌ๋งค์™€ ๊ฐ™์ด ํฐ ๋ˆ์˜ ํŠธ๋žœ์žญ์…˜์ด๋‚˜, ๋ณด์•ˆ ์ƒ ์ค‘์š”ํ•œ ์ž๋ฃŒ๋“ค์˜ ์ ‘๊ทผ ๋“ฑ์— ๋Œ€ํ•ด์„œ๋Š” ๊ธฐ์กด์˜ ๋ฐฉ์‹๋ณด๋‹ค ๋” ์•ˆ์ „ํ•œ ๋ฐฉ์‹์ด ํ•„์š”ํ•˜๋‹ค. ์ด์— HTTP์™€ ๋””์ง€ํ„ธ ์•”ํ˜ธํ™” ๊ธฐ์ˆ ์„ ๊ฒฐํ•ฉํ•œ๋‹ค.

HTTP์˜ ๋ณด์•ˆ ๋ฒ„์ „์€

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

๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋Ÿฌํ•œ HTTP ๋ณด์•ˆ ๊ธฐ์ˆ ์€ ๋ฌด์—‡์ด ์žˆ์„๊นŒ?

HTTPS

HTTPS๋Š” ๊ฐ€์žฅ ๋Œ€์ค‘์ ์ธ ๋ฐฉ์‹์ด๋‹ค. HTTPS๋Š” ๋ชจ๋“  ์š”์ฒญ๊ณผ ์‘๋‹ต ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋„คํŠธ์›Œํฌ๋กœ ๋ณด๋‚ด์ง€๊ธฐ ์ „์— ์•”ํ˜ธํ™”๋œ๋‹ค. ์ด๋Š” HTTP์˜ ํ•˜๋ถ€์— ์ „์†ก ๋ ˆ๋ฒจ ์•”ํ˜ธ ๋ณด์•ˆ ๊ณ„์ธต์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ ๋™์ž‘ํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ๋ณด์•ˆ ๊ณ„์ธต์€ ์•ˆ์ „ ์†Œ์ผ“ ๊ณ„์ธต(Secure Sokcets Layer, SSL)๊ณผ ์ „์†ก ๊ณ„์ธต ๋ณด์•ˆ(Transport Layer Security)๋กœ ๊ตฌํ˜„๋œ๋‹ค. ๋‘˜์€ ๊ฑฐ์˜ ๋น„์Šทํ•˜๋ฏ€๋กœ ๋‘˜ ๋ชจ๋‘๋ฅผ SSL์ด๋ผ๊ณ  ์นญํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ์ธ์ฝ”๋”ฉ์ด๋‚˜ ๋””์ฝ”๋”ฉ์€ SSL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ผ์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” TCP ์ž…๋ ฅ/์ถœ๋ ฅ ํ˜ธ์ถœ์„ SSL ํ˜ธ์ถœ๋กœ ๋Œ€์ฒดํ•˜๊ณ , ์ถ”๊ฐ€ ์„ค์ • ๋ช‡ ๊ฐ€์ง€ ์ •๋„๋งŒ ํ•„์š”ํ•˜๋‹ค.

๋””์ง€ํ„ธ ์•”ํ˜ธํ•™

๋””์ง€ํ„ธ ์•”ํ˜ธ์˜ ๊ธฐ์ดˆ์—์„œ ๋จผ์ € ์ •๋ฆฌํ•ด์•ผ ํ•  ์šฉ์–ด๋“ค์ด ์žˆ๋‹ค.

  • ์•”ํ˜ธ : ํ…์ŠคํŠธ๋ฅผ ์•„๋ฌด๋‚˜ ์ฝ์ง€ ๋ชปํ•˜๋„๋ก ์ธ์ฝ”๋”ฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ํ‚ค : ์•”ํ˜ธ์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ˆซ์ž๋กœ ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜
  • ๋Œ€์นญํ‚ค ์•”ํ˜ธ ์ฒด๊ณ„ : ์ธ์ฝ”๋”ฉ๊ณผ ๋””์ฝ”๋”ฉ์— ๋‹ค๋ฅธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ๋ฒ• : ๋น„๋ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์ปดํ“จํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ
  • ๋””์ง€ํ„ธ ์„œ๋ช… : ๋ฉ”์‹œ์ง€๊ฐ€ ์œ„์กฐ ํ˜น์€ ๋ณ€์กฐ๋˜์ง€ ์•Š์•˜์Œ์„ ์ž…์ฆํ•˜๋Š” ์ฒดํฌ์„ฌ
  • ๋””์ง€ํ„ธ ์ธ์ฆ์„œ : ์‹ ๋ขฐํ• ๋งŒํ•œ ์กฐ์ง์— ์˜ํ•ด ์„œ๋ช…๋˜๊ณ  ๊ฒ€์ฆ๋œ ์‹ ์› ํ™•์ธ ์ •๋ณด

๋น„๋ฐ€ ์ฝ”๋“œ์˜ ๊ธฐ์ˆ ๊ณผ ๊ณผํ•™

์•”ํ˜ธ๋ฒ•

์•”ํ˜ธ๋ฒ•์€ ์•”ํ˜ธ๋ผ ๋ถˆ๋ฆฌ๋Š” ๋น„๋ฐ€ ์ฝ”๋“œ์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๊ณ , ๋ฐ›์€ ๋ฉ”์‹œ์ง€๋ฅผ ๋””์ฝ”๋”ฉ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์•”ํ˜ธ๊ฐ€ ์ ์šฉ๋˜์–ด ์ฝ”๋”ฉ๋œ ๋ฉ”์‹œ์ง€๋Š” ๋ณดํ†ต ์•”ํ˜ธ๋ฌธ์ด๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค.

๋Œ€ํ‘œ์ ์ธ ์•”ํ˜ธ๋กœ, ์œจ๋ฆฌ์šฐ์Šค ์นด์ด์‚ฌ๋ฅด ์•”ํ˜ธ๊ฐ€ ์žˆ๋Š”๋ฐ, ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ์ƒ ์„ธ๋ฒˆ ๋’ค์˜ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ํ†ตํ•ด์„œ ์˜ˆ์ „๋ถ€ํ„ฐ ๋น„๋ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋งŒ๋“ค์–ด ์™”๋‹ค.

์•”ํ˜ธ ๊ธฐ๊ณ„

์ด๋Ÿฌํ•œ ์•”ํ˜ธ๋Š” ์˜›๋‚ ์—๋Š” ์ˆ˜์ž‘์—…์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๋‹จํ•˜๊ณ  ํ’€๋ฆด ์œ„ํ—˜์ด ๋†’์•˜์ง€๋งŒ, ๊ธฐ์ˆ ์ด ์ง„๋ณดํ•˜๋ฉด์„œ ๊ธ€์ž๋“ค์„ ๋‹จ์ˆœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ ๋ฟ๋งŒ์ด ์•„๋‹Œ ๊ธ€์ž ๋Œ€์ฒด, ํšŒ์ „, ์Šคํ”Œ๋ฆฌํŒ…๊ณผ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•œ ์•”ํ˜ธ ๊ธฐ๊ณ„๋ฅผ ๋งŒ๋“ค๊ธฐ๋„ ํ–ˆ๋‹ค.

ํ‚ค๊ฐ€ ์žˆ๋Š” ์•”ํ˜ธ

์ด๋Ÿฌํ•œ ๊ธฐ๊ณ„์—๋Š” ์•”ํ˜ธ์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์ด์–ผ์ด ๋‹ฌ๋ ค์žˆ์–ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธ๋ฅผ ํ•ด๋…ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ–ˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด ํ•ด๋‹น ๊ฐ€์ƒ ์•”ํ˜ธ ๊ธฐ๊ณ„๋“ค์€ ์„œ๋กœ ๋‹ค๋ฅธ ํ‚ค ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ‚ค์— ๋”ฐ๋ผ ์ œ๊ฐ๊ฐ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๊ณ  ๊ฒฐ๊ด๊ฐ’๋„ ๋‹ค๋ฅด๋‹ค.

๋””์ง€ํ„ธ ์•”ํ˜ธ(์™€ ๋น„๋Œ€์นญ ์•”ํ˜ธํ™”)

๋””์ง€ํ„ธ ๊ณ„์‚ฐ์ด ๊ฐ€๋Šฅํ•ด์ง€๋ฉด์„œ ์—ฌ๋Ÿฌ ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๊ฐ€๋Šฅํ•ด์ง€๊ณ , ๋งค์šฐ ํฐ ํ‚ค๋ฅผ ํ†ตํ•ด ๊ฐ€์ƒ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“ค์–ด๋‚ด์–ด ๋ณด์•ˆ์€ ๋”์šฑ ๊ฐ•ํ™”๋œ๋‹ค. ํ‰๋ฌธ์€ ์ธ์ฝ”๋”ฉ ํ‚ค e๋กœ ์ธ์ฝ”๋”ฉํ•˜๊ณ , ๋””์ฝ”๋”ฉ ํ‚ค d๋กœ ๋””์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

์ด๋Ÿฌํ•œ ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•์€ ์ฃผ๋กœ ๋น„๋Œ€์นญ ์•”ํ˜ธํ™”๋กœ ๋ถˆ๋ฆฐ๋‹ค.

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

๋ฐ˜๋Œ€๋กœ ์ด์ „๊ณผ ์ดํ›„์— ๊ฐ™์€ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹๋„ ์žˆ๋‹ค. ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์˜ ๊ฒฝ์šฐ ๋น„๋ฐ€ ํ‚ค K๋ฅผ ๋˜‘๊ฐ™์ด ๊ณต์œ ํ•˜๊ณ , ๊ฐ™์€ ํ‚ค๋กœ ์ธ์ฝ”๋”ฉ ๋ฐ ๋””์ฝ”๋”ฉ์„ ์ง„ํ–‰ํ•œ๋‹ค. ์ž˜ ์•Œ๋ ค์ง„ ๋Œ€์นญํ‚ค ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ DES, Triple-DES, RC2, RC4 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ์ด ์žˆ๋‹ค.

ํ‚ค ๊ธธ์ด์™€ ์—ด๊ฑฐ ๊ณต๊ฒฉ(Enumertaion Attack)

์ด๋Ÿฌํ•œ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์—์„œ๋Š” ์ธ์ฝ”๋”ฉ๊ณผ ๋””์ฝ”๋”ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์•Œ๋ ค์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ตญ ํ‚ค๊ฐ€ ์ œ์ผ ์ค‘์š”ํ•œ ๋น„๋ฐ€์ด๋‹ค. ์ข‹์€ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ํ‚ค๋ฅผ ์•Œ๋ ค๋ฉด ์šฐ์ฃผ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ํ‚ค ๊ฐ’์„ ์‹œ๋„ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ฌด์ฐจ๋ณ„๋กœ ๋ชจ๋“  ํ‚ค๊ฐ’์„ ๋Œ€์ž…ํ•˜๋Š” ๊ณต๊ฒฉ์„ ์—ด๊ฑฐ ๊ณต๊ฒฉ์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ‚ค ๊ฐ’์ด ์ ๋‹ค๋ฉด ๊ธˆ๋ฐฉ ํ’€๋ฆฌ์ง€๋งŒ, ๊ฐ€๋Šฅํ•œ ํ‚ค ๊ฐ’์ด ์•„์ฃผ ๋งŽ์œผ๋ฉด ์ฃฝ์„ ๋•Œ๊นŒ์ง€ ํ•ด๋„ ๋ชปํ•œ๋‹ค.

๊ฐ€๋Šฅํ•œ ํ‚ค ๊ฐ’์˜ ๊ฐœ์ˆ˜๊ฐ™์€ ๊ฒฝ์šฐ, ์œ ํšจํ•œ ํ‚ค์™€ ๊ฐ€๋Šฅํ•œ ํ‚ค์˜ ๋น„ํŠธ ์ˆ˜๋กœ ๊ฒฐ์ •์ด ๋œ๋‹ค. ๋น„ํŠธ๊ฐ€ ๋†’์„ ์ˆ˜๋ก ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ํ•œ์—†์ด ๋Š˜์–ด๋‚˜๊ณ  128๋น„ํŠธ์˜ ํ‚ค๊ฐ™์€ ๊ฒฝ์šฐ 2^128์˜ ํ‚ค๊ฐ’์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ์กฐ๊ฑด์ด๋‹ค. ์ด๋Š” ๊ณง ์•”ํ˜ธ์˜ ๊ธธ์ด๊ฐ€ ๋ณด์•ˆ์„ ๋†’์—ฌ์ค€๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ธฐ๋„ ํ•˜๋‹ค.

๊ณต์œ ํ‚ค ๋ฐœ๊ธ‰ํ•˜๊ธฐ

๋Œ€์นญํ‚ค ์•”ํ˜ธ์˜ ๋‹จ์ ์€ ๊ฐœ์ธ๋ณ„๋กœ ๊ฐ๊ฐ์˜ ๊ฐœ์ธ ํ‚ค๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ๋ฐœ์†ก์ž์™€ ์ˆ˜์‹ ์ž๊ฐ€ ์„œ๋กœ ๋Œ€ํ™”ํ•˜๋ ค๋ฉด ๋‘˜ ๋‹ค ๊ณต์œ ํ‚ค๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ๊ฐ๊ฐ์— ๋Œ€ํ•ด ๋น„๋ฐ€ ํ‚ค๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ์— ๋‘ ์‚ฌ์šฉ์ž ์‚ฌ์ด์—์„œ ๋‘˜๋งŒ์ด ๋Œ€ํ™”๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๊ธฐ ๋–„๋ฌธ์— ๋งค ์‚ฌ์šฉ์ž์˜ ์Œ๋งˆ๋‹ค ์ƒˆ๋กญ๊ฒŒ ํ‚ค๋ฅผ ๋ฐœ๊ธ‰ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋Œ€ํ™” ์ฐธ์—ฌ์ž์˜ ๊ฐ ์Œ์€ ๊ทธ๋“ค๋งŒ์˜ ๊ฐœ์ธํ‚ค ๋˜ํ•œ ํ•„์š”ํ•˜๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํ‚ค์˜ ์ˆ˜๋Š” N^2 ๊ฐœ๊ฐ€ ๋  ์ˆ˜ ๋ฐ–์— ์—†์œผ๋ฉฐ, ์ด๋Š” ํ‚ค๊ฐ€ ์ ์  ๋Š˜์–ด๋‚  ์ˆ˜๋ก ๊ด€๋ฆฌํ•˜๊ธฐ ํž˜๋“ค์–ด์ง„๋‹ค๋Š” ๋ฌธ์ œ์ ์ด ์žˆ๋‹ค.

๊ณต๊ฐœํ‚ค ์•”ํ˜ธ๋ฒ•

ํ•œ ์Œ์˜ ํ˜ธ์ŠคํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ์ธ์ฝ”๋”ฉ/๋””์ฝ”๋”ฉ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹ , ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ ๋ฐฉ์‹์€ ๋‘ ๊ฐœ์˜ ๋น„๋Œ€์นญ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜๋‚˜๋Š” ํ˜ธ์ŠคํŠธ์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋กœ๋Š” ๊ทธ ํ˜ธ์ŠคํŠธ์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๊ธฐ ์œ„ํ•œ ๋””์ฝ”๋”ฉ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ ์ธ์ฝ”๋”ฉ ํ‚ค์˜ ๊ฒฝ์šฐ ๊ณต๊ฐœ๋˜์–ด ์žˆ๊ธฐ์— ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•˜์ง€๋งŒ, ํ˜ธ์ŠคํŠธ๋งŒ์ด ๊ฐœ์ธ ๋””์ฝ”๋”ฉ ํ‚ค๋ฅผ ์•Œ๊ณ  ์žˆ๋‹ค.

์ด๋Ÿฐ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด, ์ธ์ฝ”๋”ฉ์˜ ๊ฒฝ์šฐ์—๋Š” ๋ˆ„๊ตฌ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฝ”๋”ฉ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹ , ๋””์ฝ”๋”ฉ ํ‚ค๋ฅผ ๊ฐ ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ํ•˜๋ฉด ๋˜๋ฏ€๋กœ N^2๊นŒ์ง€ ํ‚ค์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ตœ์•…์˜ ์ƒํ™ฉ์„ ๋ฉดํ•  ์ˆ˜ ์žˆ๋‹ค.

RSA

๊ณต๊ฐœํ‚ค ๋น„๋Œ€์นญ ์•”ํ˜ธ์˜ ๊ฒฝ์šฐ, ๋น„๋ฐ€์ธ ๊ฐœ์ธํ‚ค๋ฅผ ๊ณต๊ฐœํ‚ค, ์•”ํ˜ธ๋ฌธ ์ผ๋ถ€, ๋ฉ”์‹œ์ง€์™€ ์•”ํ˜ธํ™”ํ•œ ์•”ํ˜ธ๋ฌธ ์„ ์•Œ๊ณ  ์žˆ๋”๋ผ๋„ ๊ณ„์‚ฐํ• ์ˆ˜ ์—†์Œ์„ ๋ณด์ฆํ•ด์•ผ ํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ์š”๊ตฌ๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ ์ฒด๊ณ„ ์ค‘ ํ•˜๋‚˜๋Š” MIT์—์„œ ๋ฐœ๋ช…๋œ RSA ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๊ฐœ๋ฐœ์ž Ronย Rivest, Adiย Shamir, Leonardย Adleman ์„ธ ๋ช…์˜ ์ด๋ฆ„์„ ๋”ฐ์„œ RSA๋กœ ๋ถˆ๋ฆฐ๋‹ค. ํ•ด๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ˆซ์ž๋“ค๋ผ๋ฆฌ์˜ ๊ณ„์‹ผ ๊ณผ์ •์—์„œ ์‚ฌ์น™์—ฐ์‚ฐ ๋“ฑ์— ๋Œ€ํ•ด์„œ๋Š” ์‰ฝ์ง€๋งŒ ์†Œ์ธ์ˆ˜๋ถ„ํ•ด ๊ณผ์ •์€ ํ›จ์”ฌ ์–ด๋ ต๋‹ค๋Š” ์ ์„ ์›๋ฆฌ๋กœ ์‚ผ์•„ ๋ฐœ์ „์‹œํ‚จ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ณด์•ˆ๋„๊ฐ€ ๋งค์šฐ ๋†’์•„ ๋Œ€ํ•œ๋ฏผ๊ตญ์„ ํฌํ•จํ•œ ๋Œ€๋ถ€๋ถ„์˜ ์ธํ„ฐ๋„ท ๋ฑ…ํ‚น์—์„œ ํ•ด๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค.

ํ˜ผ์„ฑ ์•”ํ˜ธ ์ฒด๊ณ„์™€ ์„ธ์…˜ ํ‚ค

๋น„๋Œ€์นญ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ ๋ฐฉ์‹์€ ๋ˆ„๊ตฌ๋‚˜ ๊ณต๊ฐœํ‚ค๋งŒ ์•Œ๋ฉด ๊ทธ ํ‚ค์— ๋Œ€์‘๋˜๋Š” ๊ณต๊ฐœ ์„œ๋ฒ„์— ์•ˆ์ „ํ•˜๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ๋‘ ๋…ธ๋“œ๊ฐ€ ์•ˆ์ „ํ•˜๊ฒŒ ์˜์‚ฌ์†Œํ†ตํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๊ฐœ์ธํ‚ค์— ๋Œ€ํ•œ ํ˜‘์ƒ์„ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ ๋ฐฉ์‹์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ณ„์‚ฐ์ด ๋А๋ฆฐ ๊ฒฝํ–ฅ์ด ์žˆ์–ด ๋Œ€์นญ๊ณผ ๋น„๋Œ€์นญ์„ ์„ž์€ ๋ฐฉ๋ฒ•์ด ์“ฐ์ด๊ธฐ๋„ ํ•œ๋‹ค. ์ด๋ฅผ ํ˜ผ์„ฑ ์•”ํ˜ธ ์ฒด๊ณ„(hybrid cryptosystem) ๋ผ๊ณ  ํ•œ๋‹ค.ย ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์˜ ํšจ์œจ์„ฑ๊ณผ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”์˜ ๋ณด์•ˆ์„ฑ์„ ๊ฒฐํ•ฉํ•œ ์•”ํ˜ธํ™” ๊ธฐ๋ฒ•์ด๋‹ค.

  • ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์˜ ํšจ์œจ์„ฑ : ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”๋Š” ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”์— ๋™์ผํ•œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์†๋„๊ฐ€ ๋น ๋ฅด์ง€๋งŒ, ํ‚ค ๊ณต์œ ๊ฐ€ ์–ด๋ ค์›Œ ๋ณด์•ˆ์— ์ทจ์•ฝ
  • ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”์˜ ๋ณด์•ˆ์„ฑ : ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”๋Š” ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”์— ์„œ๋กœ ๋‹ค๋ฅธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํ‚ค ๊ณต์œ ๊ฐ€ ์•ˆ์ „ํ•˜๊ณ , ๊ณต๊ฐœํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”ํ•˜๋ฉด ๊ฐœ์ธํ‚ค๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋งŒ ๋ณตํ˜ธํ™”
  • ๋Œ€์นญํ‚ค + ๊ณต๊ฐœํ‚ค(ํšจ์œจ์„ฑ + ๋ณด์•ˆ์„ฑ) : ํ˜ผ์„ฑ ์•”ํ˜ธ ์ฒด๊ณ„๋Š” ๋จผ์ € ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”๋กœ ๋Œ€์นญํ‚ค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๊ตํ™˜ํ•˜๊ณ , ์ดํ›„ ๋Œ€์นญํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์•”ํ˜ธํ™” ๋ฐ ๋ณตํ˜ธํ™”๋ฅผ ์ˆ˜ํ–‰

๋””์ง€ํ„ธ ์„œ๋ช…

์•”ํ˜ธ ์ฒด๊ณ„๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ  ํ•ด๋…ํ•˜๋Š” ๊ฒƒ๋ฟ ์•„๋‹ˆ๋ผ ๋ˆ„๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ผ๋Š”์ง€ ์•Œ๋ ค์ฃผ๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ์œ„์กฐ๋˜์ง€ ์•Š์•˜์Œ์„ ์ฆ๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”์‹œ์ง€์— ์„œ๋ช…์„ ํ•˜๋„๋ก ์ด์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋ฒ• ์ค‘ ์ธํ„ฐ๋„ท ๋ณด์•ˆ ์ธ์ฆ์„œ์—์ค‘์š”ํ•œ ๋””์ง€ํ„ธ ์„œ๋ช…(digital signing)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

์„œ๋ช…์€ ์•”ํ˜ธ ์ฒดํฌ์„ฌ์ด๋‹ค

๋””์ง€ํ„ธ ์„œ๋ช…์€ ๋ฉ”์‹œ์ง€์— ๋ถ™์–ด์žˆ๋Š” ํŠน๋ณ„ํ•œ ์•”ํ˜ธ ์ฒดํฌ์„ฌ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์„œ๋ช…์€

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

๋””์ง€ํ„ธ ์„œ๋ช…์€ ๋น„๋Œ€์นญ ๊ณต๊ฐœํ‚ค์— ์˜ํ•ด ์ƒ์„ฑ๋˜๊ณ , ๊ฐœ์ธ ํ‚ค๋Š” ์˜ค์ง ์†Œ์œ ์ž๋งŒ์ด ์•Œ๊ณ  ์žˆ๋‹ค. ์œ„ ๊ทธ๋ฆผ์€ ๋””์ง€ํ„ธ ์„œ๋ช…์ด ํ•จ๊ป˜ ์ „์†ก๋˜๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์ค€๋‹ค. ๋ฐ์ดํ„ฐ ์†ก์‹ ํ•˜๋Š” ์ชฝ์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ์ •์ œํ•˜์—ฌ ๊ณ ์ •๋œ ๊ธธ์ด์˜ ์š”์•ฝ(digest)๋กœ ๋งŒ๋“ค๋ฉด, ๊ฑฐ๊ธฐ์— ์‚ฌ์šฉ์ž์˜ ๊ฐœ์ธ ํ‚ค๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ•˜๋Š” ์„œ๋ช… ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜์—ฌ ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ถ”๊ฐ€ํ•œ ๋’ค ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ์ˆ˜์‹ ์ž๋Š” ์ด๋Ÿฌํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์€ ํ›„์— ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ„์กฐ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•œ ์—ญํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•จ์œผ๋กœ์จ ์„œ๋ช…์ด ๊ฐ™์€์ง€๋ฅผ ์ฒดํฌํ•˜๋Š” ๊ณผ์ •์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ๋ณด์•ˆ์„ ์œ ์ง€ํ•œ๋‹ค.

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

๋””์ง€ํ„ธ ์ธ์ฆ์„œ๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ด€์œผ๋กœ๋ถ€ํ„ฐ ๋ณด์ฆ ๋ฐ›์€ ์‚ฌ์šฉ์ž๋‚˜ ํšŒ์‚ฌ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. ๋‹ค๋ฅธ ์ธ์ฆ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์œ„์กฐํ•˜๊ธฐ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ์ธํ„ฐ๋„ท์˜ ์‹ ๋ถ„์ฆ์ด๋ผ๊ณ  ๋ถˆ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ์„œ๋ฅผ ํ†ตํ•ด ๋ณด๋‹ค ๋ณด์•ˆ์„ ๋†’์ธ๋‹ค.

์ธ์ฆ์„œ์˜ ๋‚ด๋ถ€

์ธ์ฆ์„œ์—๋„ ๋””์ง€ํ„ธ ์„œ๋ช…๊ณผ ๊ฐ™์ด ๊ณต์‹์ ์œผ๋กœ ์ธ์ฆ ๊ธฐ๊ด€์— ์˜ํ•ด ๋””์ง€ํ„ธ ์„œ๋ช…๋œ ์ •๋ณด์˜ ์ง‘ํ•ฉ์ด ๋‹ด๊ฒจ์žˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š”

  • ๋Œ€์ƒ์˜ ์ด๋ฆ„(์‚ฌ๋žŒ, ์„œ๋ฒ„, ์กฐ์ง ๋“ฑ)
  • ์œ ํšจ ๊ธฐ๊ฐ„
  • ์ธ์ฆ์„œ ๋ฐœ๊ธ‰์ž(๋ณด์ฆ์ธ)
  • ์ธ์ฆ์„œ ๋ฐœ๊ธ‰์ž์˜ ๋””์ง€ํ„ธ ์„œ๋ช… ๋“ฑ์ด ๋‹ด๊ฒจ์žˆ๋‹ค.

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

๋””์ง€ํ„ธ ์ธ์ฆ์„œ๋Š” ์œ„์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๋„๊ณ  ์žˆ๋‹ค.

X.509 v3 ์ธ์ฆ์„œ

๊ตญ์ œ์ „๊ธฐํ†ต์‹ ์—ฐํ•ฉ(ITU-T)์—์„œ ์ •์˜ํ•œ ๊ณต๊ฐœ ํ‚ค ์ธ์ฆ์„œ ํ‘œ์ค€์ด๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์ธ์ฆ์„œ๊ฐ€ ์ด X.509 ๋ผ๋Š” ์„œ์‹์— ์ •๋ณด๋ฅผ ์ €์žฅํ•œ ๋””์ง€ํ„ธ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

v3 ์ธ์ฆ์„œ์˜ ๊ฒฝ์šฐ ์ธ์ฆ ์ •๋ณด๋ฅผ ํŒŒ์‹ฑ ๊ฐ€๋Šฅํ•œ ํ•„๋“œ์— ๋„ฃ์–ด ๊ตฌ์กฐํ™”ํ•˜๋Š” ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ์ •๋ณด๋Š” ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ์•„์ฃผ ์ž˜ ์ •๋ฆฌ๋ฅผ ํ•ด๋†จ๋‹ค

์†์„ฑDescription
๋ฒ„์ „์ธ์ฆ์„œ์˜ ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.
์ผ๋ จ ๋ฒˆํ˜ธCA(์ธ์ฆ ๊ธฐ๊ด€)์—์„œ ๋ฐœ๊ธ‰ํ•œ ๊ฐ ์ธ์ฆ์„œ์˜ ๊ณ ์œ  ๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.
์„œ๋ช…CA๊ฐ€ ์ธ์ฆ์„œ์— ์„œ๋ช…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค. ๊ฐ’์—๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹๋ณ„์ž์™€ ํ•ด๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์„ ํƒ์  ๋งค๊ฐœ ๋ณ€์ˆ˜(ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ)๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
๋ฐœ๊ธ‰์ž์ธ์ฆ์„œ ๋ฐœ๊ธ‰ CA์˜ ๊ณ ์œ  ์ด๋ฆ„(DN)์ž…๋‹ˆ๋‹ค.
์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์ธ์ฆ์„œ๊ฐ€ ์œ ํšจํ•œ ํฌ๊ด„ ๊ธฐ๊ฐ„์ž…๋‹ˆ๋‹ค.
Subject์ธ์ฆ์„œ ์ฃผ์ฒด์˜ ๊ณ ์œ  ์ด๋ฆ„(DN)์ž…๋‹ˆ๋‹ค.
์ฃผ์ฒด ๊ณต๊ฐœ ํ‚ค ์ •๋ณด์ธ์ฆ์„œ ์ฃผ์ฒด๊ฐ€ ์†Œ์œ ํ•œ ๊ณต๊ฐœ ํ‚ค์ž…๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์ •๋ณด๊ฐ€ v1์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ์ •๋ณด๋ผ๋ฉด, v2์—์„œ๋Š”
์†์„ฑDescription
๋ฐœ๊ธ‰์ž ๊ณ ์œ  ID๋ฐœ๊ธ‰ CA์—์„œ ์ •์˜ํ•œ ๋Œ€๋กœ ๋ฐœ๊ธ‰ CA๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณ ์œ  ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค.
์ฃผ์ฒด ๊ณ ์œ  ID๋ฐœ๊ธ‰ CA์—์„œ ์ •์˜ํ•œ ์ธ์ฆ์„œ ์ฃผ์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณ ์œ  ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค.
์˜ ์ •๋ณด๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๊ณ ,
v3์—์„œ๋Š” ํ™•์žฅ ํ•„๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๋Š”๋ฐ, ์ด์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
์†์„ฑDescription
๊ธฐ๊ด€ ํ‚ค ์‹๋ณ„์ž์ธ์ฆ์„œ ์ฃผ์ฒด์™€ ์ด ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•œ CA ์ธ์ฆ์„œ์˜ ์ผ๋ จ ๋ฒˆํ˜ธ ๋˜๋Š” ๋ฐœ๊ธ‰ CA์˜ ๊ณต๊ฐœ ํ‚ค ํ•ด์‹œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค.
์ฃผ์ฒด ํ‚ค ์‹๋ณ„์žํ˜„์žฌ ์ธ์ฆ์„œ์˜ ๊ณต๊ฐœ ํ‚ค ํ•ด์‹œ์ž…๋‹ˆ๋‹ค.
์ฃผ์š” ์‚ฌ์šฉ๋Ÿ‰์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ๋น„ํŠธ๋งต ๊ฐ’์ž…๋‹ˆ๋‹ค.
ํ”„๋ผ์ด๋น— ํ‚ค ์‚ฌ์šฉ ๊ธฐ๊ฐ„ํ‚ค ์Œ์˜ ํ”„๋ผ์ด๋น— ํ‚ค ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์œ ํšจ ๊ธฐ๊ฐ„์ž…๋‹ˆ๋‹ค.
์ธ์ฆ์„œ ์ •์ฑ…์ธ์ฆ์„œ ์ฃผ์ฒด์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ •์ฑ… ์ •๋ณด์˜ ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค.
์ •์ฑ… ๋งคํ•‘๊ฐ organization ์ •์ฑ…์„ ๋‹ค๋ฅธ organization ์ •์ฑ…์— ๋งคํ•‘ํ•˜๋Š” ์ •์ฑ… ๋งคํ•‘ ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค.
์ฃผ์ฒด ๋Œ€์ฒด ์ด๋ฆ„์ œ๋ชฉ์— ๋Œ€ํ•œ ๋Œ€์ฒด ์ด๋ฆ„์˜ ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค.
๋ฐœ๊ธ‰์ž ๋Œ€์ฒด ์ด๋ฆ„๋ฐœ๊ธ‰ CA์— ๋Œ€ํ•œ ๋Œ€์ฒด ์ด๋ฆ„์˜ ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค.
์ฃผ์ฒด ๋””๋ ‰ํ„ฐ๋ฆฌ ํŠน์„ฑX.500 ๋˜๋Š” LDAP ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํŠน์„ฑ ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค.
๊ธฐ๋ณธ ์ œ์•ฝ ์กฐ๊ฑด์ธ์ฆ์„œ๊ฐ€ CA ๋˜๋Š” ์‚ฌ์šฉ์ž, ์ปดํ“จํ„ฐ, ๋””๋ฐ”์ด์Šค ๋˜๋Š” ์„œ๋น„์Šค์— ๋ฐœ๊ธ‰๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ œ์•ฝ ์กฐ๊ฑด ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค. ์ด ํ™•์žฅ์—๋Š” ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ํ•˜์œ„ CA์˜ ์ˆ˜๋ฅผ ์ œํ•œํ•˜๋Š” ๊ฒฝ๋กœ ๊ธธ์ด ์ œ์•ฝ ์กฐ๊ฑด๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
์ด๋ฆ„ ์ œ์•ฝ ์กฐ๊ฑดCA์—์„œ ๋ฐœ๊ธ‰ํ•œ ์ธ์ฆ์„œ์—์„œ ํ—ˆ์šฉ๋˜๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ง€์ •ํ•˜๋Š” ์ œ์•ฝ ์กฐ๊ฑด ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค.
์ •์ฑ… ์ œ์•ฝ ์กฐ๊ฑดCA ๊ฐ„์˜ ์ •์ฑ… ๋งคํ•‘์„ ๊ธˆ์ง€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ œ์•ฝ ์กฐ๊ฑด์˜ ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค.
ํ™•์žฅ ํ‚ค ์‚ฌ์šฉํ‚ค ์‚ฌ์šฉ ํ™•์žฅ์—์„œ ์‹๋ณ„๋œ ๋ชฉ์  ์™ธ์— ์ธ์ฆ์„œ์˜ ๊ณต๊ฐœ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‚˜ํƒ€๋‚ด๋Š”ย ํ‚คย ์šฉ๋„ ๊ฐ’์˜ ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค.
CRL ๋ฐฐํฌ ์ง€์ ๊ธฐ๋ณธ CRL(์ธ์ฆ์„œ ํ•ด์ง€ ๋ชฉ๋ก)์ด ๊ฒŒ์‹œ๋˜๋Š” URL ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค.
anyPolicy ์–ต์ œํ•˜์œ„ CA ์ธ์ฆ์„œ์—์„œย ๋ชจ๋“  ๋ฐœ๊ธ‰ ์ •์ฑ…ย OID(2.5.29.32.0)์˜ ์‚ฌ์šฉ์„ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค.
์ตœ์‹  CRL๋ธํƒ€ CRL ๋ฐฐํฌ ์ง€์ ์ด๋ผ๊ณ ๋„ ํ•˜๋Š” ์ด ํ™•์žฅ์—๋Š” ๋ฐœ๊ธ‰ CA์˜ ๋ธํƒ€ CRL์ด ๊ฒŒ์‹œ๋œ ํ•˜๋‚˜ ์ด์ƒ์˜ URL์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์ธ์ฆ์„ ์œ„ํ•ด ์ธ์ฆ์„œ ์‚ฌ์šฉํ•˜๊ธฐ

์•ˆ์ „ํ•œ ์›น ํŠธ๋žœ์žญ์…˜ ๊ณผ์ •์—์„œ ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €๋Š” ์ž๋™์œผ๋กœ ์ ‘์†ํ•œ ์„œ๋ฒ„์—์„œ ๋””์ง€ํ„ธ ์ธ์ฆ์„œ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ๋งŒ์•ฝ ์ด ๊ณผ์ •์—์„œ ์ธ์ฆ์„œ๊ฐ€ ์—†์œผ๋ฉด ๋ณด์•ˆ ์ปค๋„ฅ์…˜์€ ์‹คํŒจํ•œ๋‹ค. ์„œ๋ฒ„ ์ธ์ฆ์„œ๋Š”

  • ์›น์‚ฌ์ดํŠธ์˜ ์ด๋ฆ„๊ณผ ํ˜ธ์ŠคํŠธ๋ช…
  • ์›น์‚ฌ์ดํŠธ์˜ ๊ณต๊ฐœํ‚ค
  • ์„œ๋ช… ๊ธฐ๊ด€์˜ ์ด๋ฆ„
  • ์„œ๋ช… ๊ธฐ๊ด€์˜ ์„œ๋ช… ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ ์„œ๋ช… ๊ธฐ๊ด€์„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ฒ€์‚ฌํ•˜๊ฒŒ ๋œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์—ฌ๋Ÿฌ ์„œ๋ช… ๊ธฐ๊ด€์˜ ์ธ์ฆ์„œ๊ฐ€ ๋ฏธ๋ฆฌ ์„ค์น˜๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ํ†ตํ•ด ์„œ๋ช…์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ ์„œ๋ช…์„ ๋ฏธ๋ฆฌ ๋“ฑ๋กํ•ด๋†“๊ณ  ํ•ด๋‹น ๋””์ง€ํ„ธ ์„œ๋ช…์ด ์ง„์งœ์ธ์ง€ ๊ฒ€์‚ฌ๋ฅผ ํ•œ๋‹ค.

์ธ์ฆ์„œ๊ฐ€ ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๋ฉด ์ด๋Ÿฌํ•œ ์‹์˜ ์•ˆ๋‚ด๊ฐ€ ๋œฐ ์ˆ˜๋„ ์žˆ๋‹ค.

HTTPS์˜ ์„ธ๋ถ€์‚ฌํ•ญ

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

HTTPS ๊ฐœ์š”

HTTPS๋Š” ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์ด HTTP ๋ฉ”์‹œ์ง€๋ฅผ TCP๋กœ ๋ณด๋‚ด๊ธฐ ์ „์— ๋จผ์ € ๊ทธ๊ฒƒ๋“ค์„ ์•”ํ˜ธํ™”ํ•˜๋Š” ๋ณด์•ˆ ๊ณ„์ธต์œผ๋กœ ๋ณด๋‚ธ๋‹ค.

HTTPS ์Šคํ‚ด

์›น ์„œ๋ฒ„๋กœ์˜ ์š”์ฒญ์„ ๋งŒ๋“ค ๋•Œ ์›น ์„œ๋ฒ„์—๊ฒŒ HTTP ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๊ณ  ๋งํ•ด์ค„ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•œ๋ฐ, URL์˜ ์Šคํ‚ด์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์–ด๋ ค์šด ์šฉ์–ด์ผ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, ๊ทธ๋ƒฅ URL ์•ž์— http:// ๋กœ ์‹œ์ž‘ํ•˜๋А๋ƒ https:// ์˜ ์ฐจ์ด์ด๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์›น ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰์„ ์š”์ฒญ๋ฐ›์œผ๋ฉด URL์˜ ์Šคํ‚ด์„ ๊ฒ€์‚ฌํ•˜๊ณ  ์ด์— ๋งž๋Š” ํฌํŠธ๋กœ ์ „์†กํ•œ๋‹ค(http 80, https 443). ์—ฌ๊ธฐ์„œ ์ถ”๊ฐ€์ ์œผ๋กœ https ์Šคํ‚ด์ด ์žˆ๋‹ค๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์™€ ๋ฐ”์ด๋„ˆ๋ฆฌ ํฌ๋งท์œผ๋กœ ๋œ ๋ช‡๋ช‡ SSL ๋ณด์•ˆ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตํ™˜ํ•˜๋ฉด์„œ ํ•ธ๋“œ์…ฐ์ดํฌ๋ฅผ ํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์น˜๊ณ , ์ดํ›„์—๋Š” ์•”ํ˜ธํ™”๋œ HTTP ๋ช…๋ น์„ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค.

SSL ํŠธ๋ž˜ํ”ฝ์€ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋•Œ๋ฌธ์— HTTP์™€๋Š” ์™„์ „ํžˆ ๋‹ค๋ฅด๋ฉฐ, ํŠธ๋ž˜ํ”ฝ์€ 443 ํฌํŠธ๋กœ ์ „๋‹ฌ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ์–ด๋–ป๊ฒŒ ๋ณด์•ˆ ์„œ๋ฒ„์™€์˜ ์ปค๋„ฅ์…˜์„ ์ค€๋น„ํ• ๊นŒ?

๋ณด์•ˆ ์ „์†ก ์…‹์—…

์•”ํ˜ธํ™” ๋˜์ง€ ์•Š์€ HTTP์—์„œ ํด๋ผ์ด์–ธํŠธ๋Š” ์›น ์„œ๋ฒ„์˜ 80๋ฒˆ ํฌํŠธ๋กœ TCP ์ปค๋„ฅ์…˜์„ ๋งบ์€ ํ›„์— HTTP ๋ฉ”์‹œ์ง€๋ฅผ ๊ตํ™˜ํ•œ ํ›„ ์ปค๋„ฅ์…˜์„ ๋‹ซ๋Š”๋‹ค. ํ•˜์ง€๋งŒ HTTPS์˜ ๊ฒฝ์šฐ, ๊ธฐ์กด์˜ ๋ฐฉ์‹์— SSL ์•”ํ˜ธ ๊ณ„์ธต์ด ์ถ”๊ฐ€๋œ ๋ฒ„์ „์ž„์œผ๋กœ ์ค‘๊ฐ„์— ์—ฌ๋Ÿฌ ๊ณผ์ •์ด ์ถ”๊ฐ€๋œ๋‹ค. HTTPS์˜ ๊ฒฝ์šฐ 443 ํฌํŠธ๋กœ TCP ์—ฐ๊ฒฐ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ์•”ํ˜ธ๋ณ„ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๊ตํ™˜ ํ‚ค๋ฅผ ํ˜‘์ƒํ•˜๋ฉด์„œ SSL ๊ณ„์ธต์„ ์ดˆ๊ธฐํ™”์‹œํ‚จ๋‹ค(Handshake). ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด SSL ์ดˆ๊ธฐํ™”๋Š” ์™„๋ฃŒ๋˜๋ฉด์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋ฅผ ํ–ฅํ•ด ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์•ˆ ๊ณ„์ธต์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ณ , ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋Š” ๋‹ค์‹œ ์„œ๋ฒ„๋กœ ์•”ํ˜ธํ™”๋˜์–ด ์ „์†ก๋œ๋‹ค.

SSL ํ•ธ๋“œ์…ฐ์ดํฌ

์œ„์—์„œ ์ด์•ผ๊ธฐ ํ–ˆ๋˜ SSL ํ•ธ๋“œ์…ฐ์ดํฌ์˜ ๊ฒฝ์šฐ,

  • ํ”„๋กœํ† ์ฝœ ๋ฒˆ์ „ ๋ฒˆํ˜ธ ๊ต๋กผ
  • ์–‘์ชฝ์ด ์•Œ๊ณ  ์žˆ๋Š” ์•”ํ˜ธ ์„ ํƒ
  • ์–‘์ชฝ์˜ ์‹ ์›์„ ์ธ์ฆ
  • ์ฑ„๋„์„ ์•”ํ˜ธํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์ž„์‹œ ์„ธ์…˜ ํ‚ค ์ƒ์„ฑ ์˜ ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด์„œ ํ•ธ๋“œ์…ฐ์ดํฌ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์—์„œ ์ž์„ธํ•˜๊ฒŒ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋ƒ๋ฉด ์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด
  1. Client Hello
    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ง€์›ํ•˜๋Š” ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜(์•”ํ˜ธ๊ตฐ, Cipher Suites)๊ณผ TLS ๋ฒ„์ „ ์ •๋ณด ์ „์†ก.
  2. Server Hello
    • ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉํ•  ์•”ํ˜ธ๊ตฐ๊ณผ TLS ๋ฒ„์ „์„ ๊ฒฐ์ •ํ•˜๊ณ , ์ธ์ฆ์„œ(Certificate) ์ „์†ก.
  3. ์ธ์ฆ์„œ ๊ฒ€์ฆ ๋ฐ ํ‚ค ๊ตํ™˜
    • ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์ฆํ•˜๊ณ , ์„ธ์…˜ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ณผ์ •์„ ์ˆ˜ํ–‰.
    • ํ‚ค ๊ตํ™˜ ๋ฐฉ์‹(ECDHE, RSA ๋“ฑ)์— ๋”ฐ๋ผ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ๊ณต์œ ํ•  ํ‚ค๋ฅผ ๊ฒฐ์ •.
  4. Finished ๋ฉ”์‹œ์ง€ ์ „์†ก
    • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ์„œ๋กœ ์„ธ์…˜ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ์•”ํ˜ธํ™”๋œ โ€œFinishedโ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›์œผ๋ฉฐ, ํ•ธ๋“œ์…ฐ์ดํฌ๋ฅผ ์™„๋ฃŒ. ์˜ ๊ณผ์ •์ด ์ด๋ฃจ์–ด์ง€๋ฉฐ, ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์žˆ๋˜ TCP ๊ณ„์ธต์˜ ํ•ธ๋“œ์…ฐ์ดํฌ ๊ณผ์ •์—์„œ ์•”ํ˜ธํ™”ํ•˜๋Š” ๊ณผ์ •์„ ๋”ํ•œ ๋ฒ„์ „์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

์„œ๋ฒ„ ์ธ์ฆ์„œ

SSL์€ ์„œ๋ฒ„ ์ธ์ฆ์„œ๋ฅผ ํด๋ผ์ด์–ธํŠธ๋กœ ๋‚˜๋ฅด๊ณ  ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„œ๋ฅผ ์„œ๋ฒ„๋กœ ๋‚ ๋ผ์ฃผ๋Š” ์ƒํ˜ธ ์ธ์ฆ์„ ์ง€์›ํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„œ๋Š” ๋Œ€๋ถ€๋ถ„ ์“ฐ์ด์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ ๋ณด์•ˆ HTTPS ํŠธ๋žœ์žญ์…˜์€ ์˜ˆ์™ธ์ด๋‹ค. ํ•ญ์ƒ ์„œ๋ฒ„ ์ธ์ฆ์„œ๋ฅผ ์š”๊ตฌํ•œ๋‹ค. ์ธ์ฆ์„œ๋ฅผ ๋งค๋ฒˆ ์š”๊ตฌํ•˜๋Š” ๋ฐ๋Š” ๊ทธ๋งŒํผ ์ค‘์š”ํ•œ ์ •๋ณด์˜ ํŠธ๋žœ์žญ์…˜์ด ์ผ์–ด๋‚œ๋‹ค๋Š” ์†Œ๋ฆฌ๊ธฐ๋„ ํ•˜๋‹ค. ์ž˜ ์•Œ๋ ค์ง„ ์ธ์ฆ๊ธฐ๊ด€์— ์˜ํ•ด ์„œ๋ช…๋œ ์„œ๋ฒ„ ์ธ์ฆ์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ๋ณด๋‚ด๊ธฐ ์ „์— ์„œ๋ฒ„๋ฅผ ์–ผ๋งˆ๋‚˜ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ‰๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๋„์™€์ค€๋‹ค.

์„œ๋ฒ„ ์ธ์ฆ์„œ๋Š” X.509 v3์—์„œ ํŒŒ์ƒ๋œ ์ธ์ฆ์„œ๋กœ, ์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์กฐ์ง์˜ ์ด๋ฆ„, ์ฃผ์†Œ, ์„œ๋ฒ„ DNS ๋„๋ฉ”์ธ ์ด๋ฆ„ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ์ธ์ฆ์„œ์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ด๋Ÿฌํ•œ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์ดํŠธ ์ธ์ฆ์„œ ๊ฒ€์‚ฌ

ํด๋ผ์ด์–ธํŠธ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ด๋Ÿฌํ•œ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด๋Ÿฌํ•œ ์ธ์ฆ์„œ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ธฐ๋ณธ ๊ฒ€์‚ฌ๋ฅผ ํ•˜๊ณ , ์ฒญ์ €ํ•œ ๊ฒ€์‚ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค. ์ด ๊ณผ์ •์—์„œ ์›น ์„œ๋ฒ„ ์ธ์ฆ์„œ ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์›น๋ธŒ๋ผ์šฐ์ € ๊ฒ€์‚ฌ ๊ธฐ๋ฒ•์˜ ๊ธฐ์ดˆ๋ฅผ ๋งˆ๋ จํ–ˆ๋‹ค.

๋‚ ์งœ ๊ฒ€์‚ฌ

๋‚ ์งœ ๊ฒ€์‚ฌ์˜ ๊ฒฝ์šฐ ์ธ์ฆ์„œ์˜ ์‹œ์ž‘ ๋ฐ ์ข…๋ฃŒ์ผ์„ ๊ฒ€์ฆํ•œ๋‹ค

์„œ๋ช…์ž ์‹ ๋ขฐ๋„ ๊ฒ€์‚ฌ

๋ชจ๋“  ์ธ์ฆ์„œ๋Š” CA(Certificate Authority)์— ์˜ํ•ด ์„œ๋ช…๋˜์–ด ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ธ์ฆ์„œ๋Š” ๋ˆ„๊ตฌ๋‚˜ ๋ฐœ๊ธ‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ๋ ‡๋‹ค๊ณ  ๋ฌด์กฐ๊ฑด ์ธ์ฆ์„œ๋ฅผ ๋ฌด์กฐ๊ฑด์ ์œผ๋กœ ๋ฐ›์•„์„œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ฒ˜๋ฆฌํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ์œ„์—์„œ ๋‚˜์™”๋˜ ๋ณด์•ˆ ๊ฒฝ๊ณ ์™€ ๊ฐ™์ด ์•Œ๋ ค์ง€์ง€ ์•Š์€ ์ธ์ฆ ๊ธฐ๊ด€์œผ๋กœ๋ถ€ํ„ฐ ์„œ๋ช…๋œ ์ธ์ฆ์„œ๋Š” ๊ฒฝ๊ณ ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉ์ž๋Š” ์ด๋Ÿฌํ•œ ์ธ์ฆ์„œ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฐ›์•„๋“ค์ผ์ง€, ์•„๋‹ˆ๋ฉด ๋‚˜๊ฐˆ์ง€๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.

์„œ๋ช… ๊ฒ€์‚ฌ

ํ•œ๋ฒˆ ์„œ๋ช…๊ธฐ๊ด€์ด ๋ฏฟ์„ ๋งŒํ•˜๋‹ค๊ณ  ํŒ๋‹จ์ด ๋œ ์ดํ›„์— ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ช…๊ธฐ๊ด€์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์„œ๋ช…์— ์ ์šฉํ•˜์—ฌ ๊ทธ์˜ ์ฒดํฌ์„ฌ๊ณผ ๋น„๊ตํ•ด๋ด„์œผ๋กœ์จ ์ธ์ฆ์„œ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๊ฒ€์‚ฌํ•œ๋‹ค.

์‚ฌ์ดํŠธ ์‹ ์› ๊ฒ€์‚ฌ

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

๊ฐ€์ƒ ํ˜ธ์ŠคํŒ…๊ณผ ์ธ์ฆ์„œ

๊ฐ€์ƒ ํ˜ธ์ŠคํŒ…์ด๋ž€? ๊ธฐ๋ณธ์ ์œผ๋กœ ์›น์„œ๋ฒ„์— ์กด์žฌํ•˜๋Š” ์ฃผ ํ˜ธ์ŠคํŠธ ๋„๋ฉ”์ธ์„ ๋“ฑ๋กํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ ์ถ”๊ฐ€์ ์œผ๋กœ ํ•œ ์„œ๋ฒ„์— ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์„ ๋“ฑ๋กํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ ๋„๋ฉ”์ธ ์ด๋ฆ„, ip ์ฃผ์†Œ, ํฌํŠธ ๋“ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ€์ƒํ˜ธ์ŠคํŒ…์„ ํ•œ๋‹ค

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

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” SNI(Server Name Indication) ์ด๋ผ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ง์ ‘ ๋„๋ฉ”์ธ์ด ์–ด๋”˜์ง€ ์•Œ๋ ค์คŒ์œผ๋กœ์จ ํ•ด๋‹น ๋„๋ฉ”์ธ์— ๋งž๋Š” ์ธ์ฆ์„œ๋ฅผ ์ œ๊ณตํ•˜๋„๋ก ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

SAN(Subject Alternative Name) ์ธ์ฆ ๋ฐฉ์‹์€ ๊ทธ๋ƒฅ ๋น ๊พธ ์—†์ด ํ•˜๋‚˜์˜ ์ธ์ฆ์„œ์— ๋ชจ๋“  ๋„๋ฉ”์ธ์„ ํฌํ•จ์‹œํ‚ค๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

์ง„์งœ HTTPS ํด๋ผ์ด์–ธํŠธ

SSL์€ ๋ณต์žกํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋ฅผ ๊ฐ€๊ณตํ•˜์ง€๋„ ์•Š๊ณ  SSL ํŠธ๋ž˜ํ”ฝ์„ ๋ณด๋‚ด๊ฒŒ ๋˜๋ฉด ์ฒ˜๋ฆฌ๊ฐ€ ์•„์ฃผ ํž˜๋“ค์–ด ์งˆ ๋ฟ๋”๋Ÿฌ ํ•ธ๋“œ์…ฐ์ดํฌ ๊ณผ์ •์—์„œ ์‹คํŒจํ•  ํ™•๋ฅ ์ด ํฌ๋‹ค. ๋”ฐ๋ผ์„œ ์ƒ์šฉ ๋˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ˜๋ฆฌํ•œ๋‹ค.

OpenSSL

SSL๊ณผ TLS์˜ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๊ตฌํ˜„์œผ๋กœ, ๋Œ€๋ถ€๋ถ„์˜ ๋Œ€์นญ/๋น„๋Œ€์นญ ์•”ํ˜ธํ™” ํ”„๋กœํ† ์ฝœ์„ ๊ตฌํ˜„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, 1996๋…„ ๋‹น์‹œ ์ƒ์šฉ๋˜๋˜ SSLeay๋ผ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๊ตฌํ˜„์ฒด๋ฅผ ํฌํฌํ•ด์„œ ๋งŒ๋“  ๊ตฌํ˜„์ฒด์ด๋‹ค. ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ X.509 ํ‘œ์ค€์˜ ์ธ์ฆ์„œ ์ƒ์„ฑ, ์ธ์ฆ ์š”์ฒญ ๋ฐœ๊ธ‰, ์ธ์ฆ, ์ธ์ฆ์„œ ๊ฒ€์ฆ ๋“ฑ์˜ ์ž‘์—…์— ์‚ฌ์šฉ๋œ๋‹ค.

๊ฐ„๋‹จํ•œ HTTPS ํด๋ผ์ด์–ธํŠธ

const tls = require("tls");
const fs = require("fs");
 
const options = {
  host: "example.com", // ์—ฐ๊ฒฐํ•  ์„œ๋ฒ„
  port: 443, // HTTPS ๊ธฐ๋ณธ ํฌํŠธ
  rejectUnauthorized: false, // ์„œ๋ฒ„ ์ธ์ฆ์„œ ๊ฒ€์ฆ ๋น„ํ™œ์„ฑํ™” (ํ…Œ์ŠคํŠธ์šฉ, ์‹ค์ œ ํ™˜๊ฒฝ์—์„œ๋Š” true)
  ca: fs.readFileSync("/etc/ssl/certs/ca-certificates.crt"), // ์‹ ๋ขฐํ•  CA ๋ชฉ๋ก (์˜ต์…˜)
};
 
const client = tls.connect(options, () => {
  console.log("๐Ÿ”’ TLS Handshake ์™„๋ฃŒ!");
  console.log("๐Ÿ”— ์„œ๋ฒ„ ์ธ์ฆ์„œ ์ •๋ณด:", client.getPeerCertificate());
 
  // HTTPS ์š”์ฒญ ๋ณด๋‚ด๊ธฐ
  client.write(
    "GET / HTTP/1.1\r\n" +
      "Host: example.com\r\n" +
      "Connection: close\r\n" +
      "\r\n"
  );
});
 
// ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 
client.on("data", (data) => {
  console.log("๐Ÿ“ฅ ์„œ๋ฒ„ ์‘๋‹ต:\n", data.toString());
});
 
// ์—๋Ÿฌ ์ฒ˜๋ฆฌ
client.on("error", (err) => {
  console.error("โŒ ์˜ค๋ฅ˜ ๋ฐœ์ƒ:", err.message);
});
 
// ์—ฐ๊ฒฐ ์ข…๋ฃŒ
client.on("end", () => {
  console.log("๐Ÿ”š ์—ฐ๊ฒฐ ์ข…๋ฃŒ");
});

์ฑ…์—์„œ๋Š” C ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ HTTPS ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ์ž‘์„ฑํ•˜์ง€๋งŒ,,, ๋‚˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฌ๋ฒ„์ด๋ฏ€๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ HTTPS ํด๋ผ์ด์–ธํŠธ ์˜ˆ์ œ๋ฅผ ๋“ค๊ณ  ์™”๋‹ค. ์‚ฌ์‹ค C๋งŒํผ์˜ low level์ด ์•„๋‹Œ ์ด์ƒ ์›ฌ๋งŒํ•œ ๋ถ€๋ถ„์€ ์ถ”์ƒํ™” ๋˜์–ด ์žˆ๊ธฐ ๋–„๋ฌธ์— ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์˜ˆ์ œ์—์„œ๋Š” ์ฒ˜์Œ ์„น์…˜์ด ๋งŒ๋“ค์–ด์ง€์ž๋งˆ์ž tls(ssl) ์ปค๋„ฅ์…˜์„ ๊ฐ–๊ฒŒ ๋œ๋‹ค. ํ•ด๋‹น connect ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ํด๋ผ์ด์–ธํŠธ๋Š” ์ปค๋„ฅ์…˜์˜ ์ƒํƒœ์™€ ์„ ํƒ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ๋ฌผ์–ด๋ณด๊ณ  ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค. ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๊ณผ์ •์—์„œ ์„œ๋ฒ„ ์‚ฌ์ดํŠธ์˜ ์ธ์ฆ์„œ์— ๋Œ€ํ•œ ์กฐ์ง ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์š”์ฒญ์— ๋Œ€์‘ํ•˜๋Š” ํ˜ธ์ŠคํŠธ๋ช…์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. SSL ์ฑ„๋„์ด ์ˆ˜๋ฆฝ๋œ ํ›„์— ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์ดํŠธ ์ธ์ฆ์„œ๋ฅผ ์•ˆ์‹ฌํ•˜๊ณ  ๋ฐ›์•„๋“ค์ด๊ฒŒ ๋˜๋ฉด HTTP ์š”์ฒญ์„ ๋ณด์•ˆ ์ฑ„๋„์„ ํ†ตํ•ด ์ „์†กํ•œ๋‹ค.

ํ”„๋ฝ์‹œ๋ฅผ ํ†ตํ•œ ๋ณด์•ˆ ํŠธ๋ž˜ํ”ฝ ํ„ฐ๋„๋ง

ํด๋ผ์ด์–ธํŠธ๋Š” ์›น ์„œ๋ฒ„์— ์ ‘๊ทผํ•ด์ฃผ๋Š” ์›น ํ”„๋ฝ์‹œ ์„œ๋ฒ„๋ฅผ ์ข…์ข… ์ด์šฉํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ ํšŒ์‚ฌ์—์„œ ๊ธฐ์—… ๋„คํŠธ์›Œํฌ์™€ ๊ณต๊ณต ๋„คํŠธ์›Œํฌ ์‚ฌ์ด์˜ ๊ฒฝ๊ณ„์— ํ”„๋ฝ์‹œ๋ฅผ ์„ค์น˜ํ•จ์œผ๋กœ์จ ํšŒ์‚ฌ ๋‚ด๋ถ€๋ง์—์„œ ํŠน์ • ์‚ฌ์ดํŠธ๋ฅผ ์ฐจ๋‹จํ•˜๊ณ  ์•”ํ˜ธํ™”๋œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋“ฑ ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๋ณด์•ˆ ์›น ๊ฒŒ์ดํŠธ์›จ์ด(Secure Web Gateway, SWG) ๋˜๋Š” ํ”„๋ก์‹œ ๋ฐฉํ™”๋ฒฝ(Proxy Firewall) ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

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

์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ HTTPS๊ฐ€ ํ”„๋ก์‹œ์™€๋„ ์ž˜ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋ก์‹œ์—๊ฒŒ ์–ด๋””๋กœ ์ ‘์†ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ๋งํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค. ๋งŽ์ด ์“ฐ์ด๋Š” ๋ฐฉ๋ฒ•์€ HTTPS SSL ํ„ฐ๋„๋ง ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋Š” ๋จผ์ € ์ž์‹ ์ด ์—ฐ๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ์•ˆ์ „ํ•œ ํ˜ธ์ŠคํŠธ์™€ ํฌํŠธ๋ฅผ ์•”ํ˜ธํ™”๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „ ํ‰๋ฌธ์˜ ํ˜•ํƒœ๋กœ ์•Œ๋ ค์ค€๋‹ค. ์ด๋Š” HTTP์˜ CONNECT๋ผ ๋ถˆ๋ฆฌ๋Š” ํ™•์žฅ ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค.

CONNECT๋Š” ์•ˆ์ „ํ•œ ์› ์„œ๋ฒ„์˜ ํ˜ธ์ŠคํŠธ ๋ช…๊ณผ ํฌํŠธ๋ฅผ ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„๋œ ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•˜๋Š” ํ•œ ์ค„์˜ ํ…์ŠคํŠธ ๋ช…๋ น์ด๋‹ค

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

ํ”„๋ฝ์‹œ๋Š” ๋‹ค์‹œ ์ด ์ค‘๊ฐ„์—์„œ ์š”์ฒญ์„ ํ‰๊ฐ€ํ•˜์—ฌ ์œ ํšจํ•œ ์š”์ฒญ์ด๋ฉด์„œ ํ—ˆ๊ฐ€๋ฅผ ๋ฐ›์€ ์ปค๋„ฅ์…˜์ธ์ง€ ํ™•์ธํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ ๋ฒ•ํ•  ๊ฒฝ์šฐ ํ”„๋ฝ์‹œ๋Š” ๋ชฉ์ ์ง€ ์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐํ•˜๊ณ  200 Connection Established ์‘๋‹ต์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ด์ค€๋‹ค.