๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Programming/programming

[HTTPS]๋Œ€์นญํ‚ค์™€ ๋น„๋Œ€์นญํ‚ค & ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹

Hello, I'm Dona!

์ง€๋‚œ ํฌ์ŠคํŒ…์— ์–ธ๊ธ‰ํ•œ HTTPS ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์— ๋Œ€ํ•˜์—ฌ ๊ฐ„๋žตํ•˜๊ฒŒ ํฌ์ŠคํŒ…ํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.

์ง€๋‚œ ํฌ์ŠคํŒ…์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ ธ ๋ถ„๋ฆฌํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ํ•„๊ธฐ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ํ•ด๋‹น ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ ์ฒ˜์Œ ์ ‘ํ–ˆ์—ˆ๋Š”๋ฐ, ์š”์ฆ˜์— ๋– ์˜ค๋ฅด๊ณ  ์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ์—์„œ๋„ ์‚ฌ์šฉ์„ ํ•œ๋‹ค๊ณ  ํ•ด์š”!

์šฐ์„  ๊ฐœ๋…์„ ๋ฝ€๊ฐœ๋ด…์‹œ๋‹ค!


๋Œ€์นญํ‚ค์™€ ๋น„๋Œ€์นญํ‚ค์˜ ์›๋ฆฌ

๊ทธ๋ฆผ๊ณผ ํ•จ๊ป˜ ์ดํ•ดํ•ด๋ด…์‹œ๋‹ค!

๋Œ€์นญํ‚ค๋Š” ๋˜‘๊ฐ™์ด ๋Œ€์นญ์ ์œผ๋กœ ์ƒ๊ฒจ์„œ ๋Œ€์นญํ‚ค์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ํ‚ค๋กœ ์•”ํ˜ธํ™”[๊ฐ์ฃผ:1]์™€ ๋ณตํ˜ธํ™”[๊ฐ์ฃผ:2]๋ฅผ ํ•  ์ˆ˜ ์žˆ์–ด์š”.

๋น„๋Œ€์นญํ‚ค ๋‹ค๋ฅด๊ฒŒ ์ƒ๊ฒจ์„œ ๋น„๋Œ€์นญํ‚ค์ž…๋‹ˆ๋‹ค. ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”์— ๊ฐ๊ฐ ๋‹ค๋ฅธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹์ด์—์š”! ๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ "๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค"๋ผ๊ณ ๋„ ํ•˜๋Š”๋ฐ ์ด์œ ๋Š” ์•„๋ž˜์—์„œ ์•Œ๊ฒŒ ๋˜์‹ค ๊ฑฐ์˜ˆ์š”!

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

 


๋Œ€์นญํ‚ค ๋ฐฉ์‹

๋Œ€์นญํ‚ค ๋ฐฉ์‹

๊ตฌ๊ธ€๊ณผ ์‚ฌ์šฉ์ž(=User=Client)๊ฐ€ ๋กœ๊ทธ์ธ์ด๋ผ๋Š” ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค!

๋Œ€์นญํ‚ค ๋ฐฉ์‹์€ ๊ฐ™์€ ํ‚ค๋กœ ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”๋ฅผ ํ•˜๋Š” ๋ฐฉ์‹์ด์—์š”. ์ฒ˜์Œ๋ถ€ํ„ฐ ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ‚ค ๊ตํ™˜์„ ์œ„ํ•ด์„œ 1๋ฒˆ์€ ์ด ํ‚ค๋ฅผ ์ „๋‹ฌํ•˜๋Š” ํ†ต์‹ ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.  ๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ์— ์ด ํ‚ค๋ฅผ ํ›”์น˜๋ ค๋Š” ํ•ด์ปค๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •์„ ํ• ๊ฒŒ์š”.


๋Œ€์นญํ‚ค ๋ฐฉ์‹

ํ•ด์ปค์—๊ฒŒ ์ด ํ‚ค๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค๋ฉด, ๊ฒฐ๊ตญ ํ•ด์ปค๋„ ์šฐ๋ฆฌ์˜ ์†Œ์ค‘ํ•œ ์ •๋ณด๋ฅผ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ‚ค๊ฐ€ ์žˆ๊ธฐ ์ „์ด๋ž‘ ๋˜‘๊ฐ™์€ ์ƒํ™ฉ์ด๊ฒ ์ฃ ? 

๊ทธ๋ž˜์„œ ์ด ๋Œ€์นญํ‚ค์˜ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ 1976๋…„์— ๋˜‘๋˜‘ํ•œ ์ˆ˜ํ•™์ž๋ถ„๋“ค๊ป˜์„œ ๊ณ ์•ˆํ•œ ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ ๋น„๋Œ€์นญํ‚ค์ž…๋‹ˆ๋‹ค!


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

๋น„๋Œ€์นญํ‚ค ๋ฐฉ์‹

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

๊ทธ๋ž˜์„œ ํ•ด์ปค๊ฐ€ ๊ณต๊ฐœํ‚ค๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋˜์–ด๋„, ์‚ฌ์šฉ์ž๊ฐ€ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋ณด๋‚ธ ๋‚ด์šฉ์„ ๋ณตํ˜ธํ™” ํ•ด์„œ ํ’€์–ด๋ณผ ์ˆ˜๊ฐ€ ์—†์–ด์š”. ๊ทธ๋Ÿฌ๋‹ˆ ์ €์˜ ์•„์ด๋””์™€ ๋น„๋ฒˆ ๋“ฑ์˜ ๊ฐœ์ธ ์ •๋ณด๋„ ์•ˆ์ „ํ•˜๊ฒŒ ๋„˜๊ธธ ์ˆ˜ ์žˆ๊ฒ ์ฃ ?! :)

ํ•˜์ง€๋งŒ ์ด ๋น„๋Œ€์นญํ‚ค์—๋„ ๋‹จ์ ์ด ์žˆ๋Š”๋ฐ, ์ปดํ“จํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ํž˜๋“ค์–ดํ•ฉ๋‹ˆ๋‹ค.

"๋Œ€์นญํ‚ค๋กœ๋Š” ์•”ํ˜ธํ™”๊ฐ€ ํž˜๋“ค๊ณ , ๋น„๋Œ€์นญํ‚ค๋Š” ์ปดํ“จํ„ฐ์— ๋ถ€๋‹ด์ด ๊ฐ€๋Š”๋ฐ ์–ด๋–กํ•˜์ง€?" ์—์„œ ๋‚˜์˜จ ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ ๋Œ€์นญํ‚ค์™€ ๋น„๋Œ€์นญํ‚ค๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์—์š”!


๋น„๋Œ€์นญํ‚ค + ๋Œ€์นญํ‚ค๋ฅผ ํ†ตํ•œ ์•”ํ˜ธํ™”

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

์‚ฌ์šฉ์ž๊ฐ€ ๊ฒ€์€์ƒ‰ ๋Œ€์นญํ‚ค๋ฅผ ๋น„๋Œ€์นญํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•ด์„œ ๊ตฌ๊ธ€์—๊ฒŒ ์ „๋‹ฌํ•˜๋ฉด, ๊ฐœ์ธํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด์ปค๋Š” ๋Œ€์นญํ‚ค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†๊ณ , ์‚ฌ์šฉ์ž์™€ ๊ตฌ๊ธ€์€ ๋งˆ์Œ ํŽธํ•˜๊ฒŒ ๋Œ€์นญํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋Œ€์นญํ‚ค์™€ ๋น„๋Œ€์นญํ‚ค์˜ ์›๋ฆฌ์— ๋Œ€ํ•ด์„œ ์‰ฝ๊ฒŒ ์ด์•ผ๊ธฐํ•ด ๋ณด์•˜๋Š”๋ฐ, HTTPS์—์„œ ๋ณด์•ˆ์ธ S๊ฐ€ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์•”ํ˜ธํ™”๋˜์–ด ์ง€์ผœ์ง€๊ณ  ์žˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์œ ํŠœ๋ธŒ ์˜์ƒ์„ ํ†ตํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์ •๋ฆฌํ•ด ๋ณด์•˜๋Š”๋ฐ, ์•„๋ž˜ REFERENCE์— ์žˆ์œผ๋‹ˆ ์˜์ƒ ์ฐธ๊ณ ํ•˜์…”๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”:)

(์–„์ฝ” ์ฝ”๋”ฉ ๊ฐ•์ถ”!)


[์ •๋ฆฌ]

๋Œ€์นญํ‚ค

  • ์žฅ์  : ์•”ํ˜ธํ™”๋ฐฉ์‹์— ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ , ๋Œ€์šฉ๋Ÿ‰ Data ์•”ํ˜ธํ™”์— ์ ํ•ฉํ•˜๋‹ค.
  • ๋‹จ์  : ํ‚ค๋ฅผ ๊ตํ™˜ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ, ํƒˆ์ทจ ๊ด€๋ฆฌ ๊ฑฑ์ •
  • ๊ธฐ๋ฐ€์„ฑ์„ ์ œ๊ณตํ•˜๋‚˜, ๋ฌด๊ฒฐ์„ฑ/์ธ์ฆ/๋ถ€์ธ๋ฐฉ์ง€ ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์Œ

๋น„๋Œ€์นญํ‚ค(๊ณต๊ฐœํ‚ค, ๊ฐœ์ธํ‚ค)

  • ์žฅ์  : ๊ธฐ๋ฐ€์„ฑ/์ธ์ฆ/๋ถ€์ธ๋ฐฉ์ง€ ๊ธฐ๋Šฅ ์ œ๊ณต
  • ๋‹จ์  : ์†๋„๊ฐ€ ๋Š๋ฆผ, ์ปดํ“จํ„ฐ์— ๋ถ€๋‹ด
  • ์˜ˆ์‹œ :
    • ๊ณต๊ฐœํ‚ค๋กœ ์ž ๊ทธ๊ณ , ๋น„๋ฐ€ํ‚ค๋กœ ์—ฐ๋‹ค : ๋น„๋ฐ€ํ‚ค์˜ ์ฃผ์ธํ•œํ…Œ ๋ฉ”์„ธ์ง€๋ฅผ ๋ชฐ๋ž˜ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉ
    • ๋น„๋ฐ€ํ‚ค๋กœ ์ž ๊ทธ๊ณ , ๊ณต๊ฐœํ‚ค๋กœ ์—ฐ๋‹ค : ๋””์ง€ํ„ธ ์„œ๋ช…(๋น„๋ฐ€๋ฒˆํ˜ธ, ๊ณต์ธ์ธ์ฆ์„œ ๋“ฑ์˜ ๋ณธ์ธ์ธ์ฆ), ๋ธ”๋ก์ฒด์ธ ๋“ฑ์—์„œ ์‚ฌ์šฉ

REFERENCE

  1. ์•”ํ˜ธํ™” (= Encrypt / Encryption / Encoding) :
    ํ‰๋ฌธ์„ ์•”ํ˜ธ๋ฌธ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ • [๋ณธ๋ฌธ์œผ๋กœ]
  2. ๋ณตํ˜ธํ™” (= Decrypt / Decryption / Decoding) : 
    ์•”ํ˜ธ๋ฌธ์„ ํ‰๋ฌธ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ • [๋ณธ๋ฌธ์œผ๋กœ]