Community

[๐Ÿš— ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰์œผ๋กœ ์ž๋™์ฐจ๋ฅผ ํ•ดํ‚นํ•œ ์ด์•ผ๊ธฐ] ์กฐ๊ธˆ ์ถฉ๊ฒฉ์ ์œผ๋กœ ๋ณธ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ ๋‹ค์–‘ํ•œ ์ƒ๊ฐ์„ ๊ฐ–๊ฒŒ ํ•˜๋„ค์š”. ๋ฏธ๋„ค์†Œํƒ€์ฃผ์˜ Daniel Feldman์€ 2021๋…„ ์ฐจ๋Ÿ‰์šฉ ์ธํฌํ…Œ์ธ๋จผํŠธ ์‹œ

[๐Ÿš— ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰์œผ๋กœ ์ž๋™์ฐจ๋ฅผ ํ•ดํ‚นํ•œ ์ด์•ผ๊ธฐ] ์กฐ๊ธˆ ์ถฉ๊ฒฉ์ ์œผ๋กœ ๋ณธ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ ๋‹ค์–‘ํ•œ ์ƒ๊ฐ์„ ๊ฐ–๊ฒŒ ํ•˜๋„ค์š”. ๋ฏธ๋„ค์†Œํƒ€์ฃผ์˜ Daniel Feldman์€ 2021๋…„ ์ฐจ๋Ÿ‰์šฉ ์ธํฌํ…Œ์ธ๋จผํŠธ ์‹œ์Šคํ…œ์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์–ดํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ํ•ฉ๋‹ˆ๋‹ค. 1. ์ธํฌํ…Œ์ธ๋จผํŠธ ์‹œ์Šคํ…œ์€ ์•”ํ˜ธ๋กœ ๋ณดํ˜ธ๋œ ZIP์„ ํŽŒ์›จ์–ด ์—…๋ฐ์ดํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š”๊ฑธ ๋ฐœ๊ฒฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์•”ํ˜ธ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ์˜ shellํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ–ˆ๊ณ  ์••์ถ• ํ•ด์ œ์— ์‚ฌ์šฉ๋˜๋Š” ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์— ์•”ํ˜ธ๋Š” plain text๋กœ ์ ํ˜€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. 2. ์ด์ œ ํŽŒ์›จ์–ด ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค๊ณ , ์ฝ”๋“œ์—์„œ ํ•˜๋“œ์›จ์–ด๋ฅผ ์ œ์–ดํ•  ์ˆ˜์žˆ๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Mobis ์›น์‚ฌ์ดํŠธ์—์„œ ์šฐ์—ฐํžˆ ์‹œ์Šคํ…œ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ZipํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” Linux ์„ค์ • ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ์—๋Š” AES ๋ฐ ์—…๋ฐ์ดํŠธ์— ํ•„์š”ํ•œ ์•”ํ˜ธ๋“ค์ด ์ ํ˜€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. 3. ๊ฑฐ์˜ ๋‹ค ์™”์ง€๋งŒ, ๋ฐ์ดํ„ฐ์˜ ์ผ๋ถ€๊ฐ€ RSA ๊ฐœ์ธํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ช…ํ•ด์•ผ ํ–ˆ๊ณ , ์ด๋ฅผ ๊ฐ–๊ณ  ์žˆ์ง„ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ, RSA ๊ฐœ์ธํ‚ค๋ฅผ ์ฐพ์•„์•ผ ํ–ˆ๊ณ , public ํ‚ค๋ฅผ ํ†ตํ•ด ์ด ํ‚ค๊ฐ€ AES CBC๋ฅผ ์‚ฌ์šฉํ–ˆ์Œ์„ ์•Œ์•„๋ƒ…๋‹ˆ๋‹ค. (AES CBC๋Š” ์ตœ๊ทผ์— ๋”์ด์ƒ ์•ˆ์ „ํ•˜์ง€ ์•Š๋‹ค๊ณ  ์•Œ๋ ค์ง„ ์•”ํ˜ธํ‚ค ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.) 4. ๋†€๋ผ์šด๊ฑด, ๋‚ด๋ถ€์— ๊ณต๊ฐœ ๋˜์–ด ์žˆ๋Š” Public Key๋ฅผ ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰ํ–ˆ๋”๋‹ˆ, github์— ํ•ด๋‹น Public Key๋ฅผ ์‚ฌ์šฉํ•œ ์˜ˆ์‹œ์™€ Private Key๊ฐ€ ๋‚˜์™”์Šต๋‹ˆ๋‹ค. "RSA Encrytion & Decryption Example"์— ๋‚˜์˜จ ํ‚ค๋กœ, ๋งค์šฐ ํ”ํžˆ ์‚ฌ์šฉ๋˜๋Š” ํ‚ค๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. 5. ์ด๋ฅผ ์ด์šฉํ•ด ํŽŒ์›จ์–ด๋ฅผ ๋งŒ๋“ค๊ณ , ํŽŒ์›จ์–ด ์—…๋ฐ์ดํ„ฐ๋ฅผ ์†์—ฌ ์ž์‹ ์˜ ๋งž์ถคํ˜• ํŽŒ์›จ์–ด๋ฅผ ๋งŒ๋“ค๊ณ , ์ฐจ์˜ ์ธํฌํ…Œ์ธ๋จผํŠธ ์‹œ์Šคํ…œ์„ ๋ฐ”๊พธ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ์— ๋ณด์•ˆ ๊ด€๋ จ ์ด์Šˆ๋“ค์ด ๋งŽ์ด ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ Github์œผ๋กœ ์•„๋งˆ์กด ํ‚ค ์œ ์ถœ์ด๋‚˜ ๊ฐœ์ธํ‚ค ์œ ์ถœ์€ ๋„ˆ๋ฌด ์ž์ฃผ ์žˆ์–ด์„œ ์ด์ œ ๋†€๋ž์ง€ ์•Š์€ ์ •๋„์ฃ . ์ด ๋‚ด์šฉ๋„ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  Feldman์˜ ์ˆœ์ˆ˜ํ•œ ๋งˆ์Œ์—์„œ ์‹œ์ž‘ํ–ˆ๊ณ , ๋‹ค์–‘ํ•œ ํ–‰์šด์ด ๊ทธ๋ฅผ ๋”ฐ๋ž์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋ณด์•ˆ์ด ๋šซ๋ ธ๊ณ , ์ž์„ธํ•œ ๋‚ด์šฉ์„ ๊ธฐ์ž…ํ–ˆ์ง€๋งŒ ๋Œ€์‘์ด ์—†๋Š” ํ›„์† ์กฐ์น˜๋Š” ์กฐ๊ธˆ ์•„์‰ฝ์Šต๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์‚ฌ์‹ค์ƒ ์™„๋ฒฝํ•œ ๋ณด์•ˆ์€ ์—†์ง€ ์•Š๋‚˜ ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋“  ์–ด๋””๋“  ์–ผ๋งˆ๋“ ์ง€ ํ•ดํ‚น ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ์— ํ›„์† ์กฐ์น˜๊ฐ€ ๋” ์ค‘์š”ํ•˜์ง€ ์•Š๋‚˜ ์‹ถ์Šต๋‹ˆ๋‹ค. (๊ฐœ์ธ์ ์œผ๋กœ๋Š”์š”!)

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค