Rust๋กœ Tor๋ฅผ ๊ตฌํ˜„ํ•œ Arti์˜ ์ฒซ ๋ฒˆ์งธ ๋ฒ ํƒ€ ๋ฆด๋ฆฌ์Šค

์ต๋ช…์˜ Tor ๋„คํŠธ์›Œํฌ ๊ฐœ๋ฐœ์ž๋Š” Rust๋กœ ์ž‘์„ฑ๋œ Tor ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” Arti ํ”„๋กœ์ ํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฒ ํƒ€ ๋ฆด๋ฆฌ์Šค(0.1.0)๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์‹คํ—˜์ ์ธ ๊ฐœ๋ฐœ ์ƒํƒœ์— ์žˆ์œผ๋ฉฐ C์˜ ๊ธฐ๋ณธ Tor ํด๋ผ์ด์–ธํŠธ ๊ธฐ๋Šฅ๋ณด๋‹ค ๋’ค๋–จ์–ด์ ธ ์žˆ์œผ๋ฉฐ ์•„์ง ์™„์ „ํžˆ ๋Œ€์ฒดํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 1.0์›”์—๋Š” ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ ํ•ฉํ•œ API, CLI ๋ฐ ์„ค์ •์ด ์•ˆ์ •ํ™”๋œ ๋ฆด๋ฆฌ์Šค XNUMX์„ ๋งŒ๋“ค ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ๋” ๋จผ ๋ฏธ๋ž˜์— Rust ์ฝ”๋“œ๊ฐ€ C ๋ฒ„์ „์„ ์™„์ „ํžˆ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€์— ๋„๋‹ฌํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” Arti์—๊ฒŒ Tor์˜ ์ฃผ์š” ๊ตฌํ˜„ ์ƒํƒœ๋ฅผ ๋ถ€์—ฌํ•˜๊ณ  C ๊ตฌํ˜„ ์œ ์ง€๋ฅผ ์ค‘๋‹จํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

์ฒ˜์Œ์—๋Š” SOCKS ํ”„๋ก์‹œ๋กœ ์„ค๊ณ„ํ•œ ํ›„ ๋‹ค๋ฅธ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๊ฒŒ ์กฐ์ •ํ•œ C ๊ตฌํ˜„๊ณผ ๋‹ฌ๋ฆฌ Arti๋Š” ์ฒ˜์Œ์—๋Š” ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“ˆ์‹ ๋‚ด์žฅํ˜• ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜•ํƒœ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ ๊ณผ๊ฑฐ์˜ ๋ชจ๋“  Tor ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ๊ณ ๋ ค๋˜๋ฏ€๋กœ ์•Œ๋ ค์ง„ ์•„ํ‚คํ…์ฒ˜ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ๋”์šฑ ๋ชจ๋“ˆํ™”๋˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” Apache 2.0 ๋ฐ MIT ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

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

๋ฆด๋ฆฌ์Šค 0.1.0์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ค‘์—๋Š” ์ƒ์œ„ ์ˆ˜์ค€ API์˜ ๊ธฐ๋ณธ์ ์ธ ์•ˆ์ •ํ™”์™€ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์™€์˜ ์‹คํ—˜์  ํ†ตํ•ฉ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค€๋น„๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ค‘์—๋Š” ์ฒ˜์Œ ์‚ฌ์šฉ ์‹œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋นŒ๋“œ ๋ฐ ์ดˆ๊ธฐํ™”(๋ถ€ํŠธ์ŠคํŠธ๋žฉ)ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜์—ฌ TorClient ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ API ์ถ”๊ฐ€๊ฐ€ ์–ธ๊ธ‰๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๊ณ ๊ธ‰ API๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฆด๋ฆฌ์Šค 1.0.0์ด ์ถœ์‹œ๋˜๊ธฐ ์ „์— ๊ฐœ๋ฐœ์ž๋Š” Arti์—๊ฒŒ ์ธํ„ฐ๋„ท ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” Tor ํด๋ผ์ด์–ธํŠธ๋กœ ์ž‘๋™ํ•˜๋„๋ก ์™„์ „ํ•œ ์ง€์›์„ ์ œ๊ณตํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค(Onion ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ง€์› ๊ตฌํ˜„์€ ํ–ฅํ›„ ์—ฐ๊ธฐ๋จ). ์—ฌ๊ธฐ์—๋Š” ๋„คํŠธ์›Œํฌ ์„ฑ๋Šฅ, CPU ๋กœ๋“œ ๋ฐ ์•ˆ์ •์„ฑ๊ณผ ๊ฐ™์€ ์˜์—ญ์—์„œ ์ฃผ๋ฅ˜ C ๊ตฌํ˜„๊ณผ์˜ ํŒจ๋ฆฌํ‹ฐ ๋‹ฌ์„ฑ์€ ๋ฌผ๋ก  ๋ชจ๋“  ๋ณด์•ˆ ๊ด€๋ จ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ง€์› ์ œ๊ณต์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€