๏ฃฟ Apple Lover Developer & Artist

์˜์†์ ์ธ ๋””์ž์ธ์— ํ˜„๋Œ€์˜ ๊ณต๊ฐ์„ ์ฑ„์›Œ๋„ฃ๋Š” ๊ณต๋ฐฉ์ž…๋‹ˆ๋‹ค

๐Ÿ–ฅ Computer Science/Computer Security

[๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ] ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•”ํ˜ธ ์‹œ์Šคํ…œ - Part 1

singularis7 2021. 9. 14. 17:51
๋ฐ˜์‘ํ˜•

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

์‹ค์ œ๋กœ HTTPS, SSL, TLS ํ†ต์‹ ์—์„œ ์œตํ•ฉ๋œ ์•”ํ˜ธ ๊ธฐ์ˆ ์ด ์–ด๋–ค ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š”์ง€ ์ดํ•ดํ•ด๋ณด์ž

์•”ํ˜ธ ๊ธฐ์ˆ ํ•˜๋ฉด ๋Œ€ํ‘œ์ ์œผ๋กœ ๋Œ€์นญํ‚ค ์•”ํ˜ธ์™€ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ์•”ํ˜ธํ™” ํ•˜๋Š” ํ‚ค์™€ ๋ณตํ˜ธํ™” ํ•˜๋Š” ํ‚ค๊ฐ€ ๋™์ผํ•˜๋ฉด ๋Œ€์นญํ‚ค, ๋‹ค๋ฅด๋ฉด ๋น„๋Œ€์นญํ‚ค ํ˜น์€ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋Œ€์นญํ‚ค์™€ ๊ณต๊ฐœํ‚ค์˜ ์žฅ๋‹จ์ ์€ ์„œ๋กœ ์—‡๊ฐˆ๋ ค์„œ ์กด์žฌํ•œ๋‹ค. ๋Œ€์นญํ‚ค ์•”ํ˜ธ๋Š” ๋น ๋ฅธ ์†๋„๋กœ ๊ธฐ๋ฐ€์„ฑ์„ ์œ ์ง€ํ•œ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•”ํ˜ธํ™” ํ‚ค์™€ ๋ณตํ˜ธํ™” ํ‚ค๊ฐ€ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์ „์— ๊ณต์œ ๋ฅผ ํ•˜๊ณ  ์žˆ์–ด์•ผ ์•”/๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์‚ฌ๋ก€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

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

์—ฌํŠผ ํ•ต์‹ฌ์€ ์‚ฌ์ „์— ์„œ๋กœ ํ‚ค๊ฐ€ ๊ณต์œ ๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•˜๋Š” ๊ฒƒ์€ ๋™์ผํ•˜๋‹ค.

๊ณต๊ฐœํ‚ค ์•”ํ˜ธ์˜ ๊ฒฝ์šฐ ์•”ํ˜ธํ™”(๊ณต๊ฐœํ‚ค)ํ‚ค์™€ ๋ณตํ˜ธํ™”(๊ฐœ์ธํ‚ค)ํ‚ค๋ฅผ ์ˆ˜ํ•™์  relationship์„ ๋งŒ์กฑํ•˜๋„๋ก ์ƒ์„ฑํ•œ๋‹ค. ์•”ํ˜ธํ™” ํ‚ค์˜ ๊ฒฝ์šฐ ๊ณต๊ฐœํ•˜๋ฉฐ ๋ณตํ˜ธํ™” ํ‚ค์˜ ๊ฒฝ์šฐ ๊ฐœ์ธํ‚ค์—ฌ์„œ ๊ณต๊ฐœํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ณต๊ฐœํ‚ค๋ฅผ ํ†ตํ•ด ์ž๋ฃŒ๋ฅผ ์•”ํ˜ธํ™” ํ•˜๋ฉด ๊ณต๊ฐœํ‚ค์™€ ๋Œ€์‘๋˜๋Š” ๊ฐœ์ธํ‚ค๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ๋งŒ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ณต์œ ๊ฐ€ ํ•„์š”์—†๋‹ค๋Š” ์ธก๋ฉด์—์„œ๋Š” ์žฅ์ ์ด๋‹ค.

์•”ํ˜ธํ™” ํ‚ค์™€ ๋ณตํ˜ธํ™” ํ‚ค๋ฅผ ๋งŒ๋“ค๋•Œ ์ˆ˜ํ•™์  ๊ด€๊ณ„๋ฅผ ๋งŒ์กฑํ•ด์•ผ ํ•˜๋ฉฐ ์•”/๋ณตํ˜ธํ™” ํ•จ์— ์žˆ์–ด์„œ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค. 

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

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

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

๋นจ๊ฐ„ ๊ธ€์”จ: ๋น„๋ฐ€ ์ •๋ณด, ํŒŒ๋ž€ ๊ธ€์”จ: ๊ณต๊ฐœ ์ •๋ณด

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

๋ฐฅ์€ ๋ณธ์ธ์˜ ๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์•จ๋ฆฌ์Šค์—๊ฒŒ ๋ณด๋‚ด์ค˜์•ผ ํ•œ๋‹ค. ์ด๋•Œ ๊ณต๊ฐœํ‚ค๋Š” ์˜คํ”ˆ๋œ ์ž๋ฃŒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ฌด ์ฑ„๋„์—์„œ๋‚˜ ์ž์œ ๋กญ๊ฒŒ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค. ์†ก์‹ ์ž ์•จ๋ฆฌ์Šค์—๊ฒŒ ๊ณต๊ฐœํ‚ค๋ฅผ ์ „์†กํ•œ๋‹ค.

์•จ๋ฆฌ์Šค๋Š” ์ž์‹ ์ด ์ƒ์„ฑํ•œ ์„ธ์…˜(๋น„๋ฐ€)ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์•”ํ˜ธ๋ฌธ C1์„ ์ƒ์„ฑํ•œ๋‹ค.

์•จ๋ฆฌ์Šค๋Š” ์„ธ์…˜ํ‚ค๋ฅผ ๋ฐฅ์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์•”ํ˜ธ๋ฌธ C2๋ฅผ ์ƒ์„ฑํ•˜๊ณ  C1๊ณผ ํ•จ๊ป˜ ๋ฐฅ์—๊ฒŒ ์ „์†กํ•œ๋‹ค.

๋ฐฅ์€ ์ž์‹ ์ด ๊ฐ–์€ ๊ฐœ์ธํ‚ค๋ฅผ ํ™œ์šฉํ•˜๋ฉฐ ๋น„๋ฐ€ํ‚ค ์•”ํ˜ธ๋ฌธ C2๋ฅผ ๋ณตํ˜ธํ™”ํ•œ๋‹ค.

๋ณตํ˜ธํ™”๋œ ๋น„๋ฐ€ํ‚ค๋ฅผ ํ†ตํ•ด ์•”ํ˜ธ๋ฌธ C1์„ ๋ณตํ˜ธํ™”ํ•˜์—ฌ ํ‰๋ฌธ์„ ์ƒ์„ฑํ•œ๋‹ค.

์ •๋ฆฌํ•ด๋ณด์ž, ์ „์†ก๋˜๋Š” ์ž๋ฃŒ๋Š” ์•”ํ˜ธ๋ฌธ C1, C2๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.์ฆ‰ ํ‰๋ฌธ์ด ๋…ธ์ถœ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ œ 3์ž๊ฐ€ ํ‰๋ฌธ์„ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐฅ์˜ ๊ฐœ์ธํ‚ค๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋ฑ์˜ ๊ฐœ์ธํ‚ค๋ฅผ ํ†ตํ•ด ์„ธ์…˜ํ‚ค๋ฅผ ๋„์ถœํ•˜๊ณ  ์„ธ์…˜ํ‚ค๋ฅผ ํ†ตํ•ด ์•”ํ˜ธ๋ฌธ์„ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋–„๋ฌธ์ด๋‹ค. 

์ค‘์š” ํฌ์ธํŠธ 

  • ๋ฐฅ์˜ ๊ฐœ์ธํ‚ค๊ฐ€ ์ ˆ๋•Œ ์•Œ๋ ค์ง€๋ฉด ์•ˆ๋œ๋‹ค!!!!

์„ธ์…˜ํ‚ค๋ฅผ ์•”ํ˜ธํ™” ํ•˜๋Š” ์ฃผ์ฒด๋Š” ๊ณต๊ฐœํ‚ค์ด๋‹ค. ์„ธ์…˜ํ‚ค๋Š” AES๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ 128, 192, 256 bit ํ‚ค ๊ธธ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ des๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ 56๋น„ํŠธ ๋งŒํผ๋งŒ ์•”ํ˜ธํ™” ํ•˜๋ฉด ๋œ๋‹ค. ๊ธธ์ด๊ฐ€ ์งง์€ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™” ํ•˜๋Š” ๊ฒƒ์ด ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”์ด๋‹ค. ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”๋Š” ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค๋Š” ใ„ทใ…ใ„ด์ ์ด ์žˆ์—ˆ์ง€๋งŒ ์„ธ์…˜ํ‚ค ๊ธธ์ด ์ •๋„๋Š” ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

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

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•”ํ˜ธ ์‹œ์Šคํ…œ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•จํ˜ธ ๊ธฐ์ˆ ์ด ์‚ฌ์šฉ๋˜์—ˆ๋‹ค.

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

์‹ค์ƒํ™œ์— ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•”ํ˜ธ ์‹œ์Šคํ…œ์ด ๋งŽ์ด ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

์ด๋ฉ”์ผ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ๋•Œ PGP ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์›น๋ธŒ๋ผ์šฐ์ง•์„ ํ•  ๋•Œ HTTPS๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š”๋ฐ ์ด๋•Œ ๋ณด์•ˆ ํ†ต์‹ ์„ ์œ„ํ•ด ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ SSL/TLS ๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค. ๋ชจ๋‘ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•”ํ˜ธ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•œ๋‹ค.

ํ˜„์žฌ๊นŒ์ง€ ์‚ฌ์šฉ๋˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์‹œ์Šคํ…œ์—์„œ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ๋กœ๋Š” RSA, ๋Œ€์นญํ‚ค ์•”ํ˜ธ๋กœ๋Š” AES(๋ธ”๋ก์•”ํ˜ธ CTR ๋ชจ๋“œ)๊ฐ€ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

๋™์ž‘๊ณผ์ •์€ HTTPS ํ”„๋กœํ† ์ฝœ์— ๋ช…์‹œ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰๋œ๋‹ค.

๋ฐ˜์‘ํ˜•