TFC ํ”„๋กœ์ ํŠธ๋Š” 3๋Œ€์˜ ์ปดํ“จํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ ๋ฉ”์‹ ์ €์šฉ USB ๋ถ„๋ฐฐ๊ธฐ๋ฅผ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.


TFC ํ”„๋กœ์ ํŠธ๋Š” 3๋Œ€์˜ ์ปดํ“จํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ ๋ฉ”์‹ ์ €์šฉ USB ๋ถ„๋ฐฐ๊ธฐ๋ฅผ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

TFC(Tinfoil Chat) ํ”„๋กœ์ ํŠธ๋Š” 3๋Œ€์˜ ์ปดํ“จํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ํŽธ์ง‘์ฆ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ๋˜๋Š” ๋ฉ”์‹œ์ง• ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด 3๊ฐœ์˜ USB ํฌํŠธ๊ฐ€ ์žˆ๋Š” ํ•˜๋“œ์›จ์–ด ์žฅ์น˜๋ฅผ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์ปดํ“จํ„ฐ๋Š” ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•˜๊ณ  Tor ์ˆจ๊ฒจ์ง„ ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒŒ์ดํŠธ์›จ์ด ์—ญํ• ์„ ํ•˜๋ฉฐ ์ด๋ฏธ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ์ปดํ“จํ„ฐ์—๋Š” ์•”ํ˜ธ ํ•ด๋… ํ‚ค๊ฐ€ ์žˆ์œผ๋ฉฐ ์ˆ˜์‹ ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ์•”ํ˜ธ ํ•ด๋…ํ•˜๊ณ  ํ‘œ์‹œํ•˜๋Š” ๋ฐ์—๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์„ธ ๋ฒˆ์งธ ์ปดํ“จํ„ฐ์—๋Š” ์•”ํ˜ธํ™” ํ‚ค๊ฐ€ ์žˆ์œผ๋ฉฐ ์ƒˆ ๋ฉ”์‹œ์ง€๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ  ๋ณด๋‚ด๋Š” ๋ฐ์—๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

USB ๋ถ„๋ฐฐ๊ธฐ๋Š” "๋ฐ์ดํ„ฐ ๋‹ค์ด์˜ค๋“œ" ์›๋ฆฌ์— ๋”ฐ๋ผ ๊ด‘์ปคํ”Œ๋Ÿฌ์—์„œ ์ž‘๋™ํ•˜๋ฉฐ ์ง€์ •๋œ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋‘ ๋ฒˆ์งธ ์ปดํ“จํ„ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ  ์„ธ ๋ฒˆ์งธ ์ปดํ“จํ„ฐ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์ปดํ“จํ„ฐ๋ฅผ ์†์ƒ์‹œํ‚ค๋ฉด ์•”ํ˜ธํ™” ํ‚ค์™€ ๋ฐ์ดํ„ฐ ์ž์ฒด์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋‚˜๋จธ์ง€ ์žฅ์น˜์— ๋Œ€ํ•œ ๊ณต๊ฒฉ์„ ๊ณ„์†ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

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

์„ธ ๋ฒˆ์งธ ์ปดํ“จํ„ฐ๊ฐ€ ์†์ƒ๋˜๋ฉด ๊ณต๊ฒฉ์ž๋Š” ๊ตฌ๋…์ž๋ฅผ ๊ฐ€์žฅํ•˜์—ฌ ๊ทธ๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ์“ธ ์ˆ˜ ์žˆ์ง€๋งŒ ์™ธ๋ถ€์—์„œ ๋“ค์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ฝ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(๋‘ ๋ฒˆ์งธ ์ปดํ“จํ„ฐ๋กœ ์ด๋™ํ•˜์—ฌ ๊ทธ๊ณณ์—์„œ ํ•ด๋…๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค).

์•”ํ˜ธํ™”๋Š” 256๋น„ํŠธ XChaCha20-Poly1305 ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ๋Š๋ฆฐ Argon2id ํ•ด์‹œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ํ‚ค๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. ํ‚ค ๊ตํ™˜์—๋Š” X448(Curve448 ๊ธฐ๋ฐ˜ Diffie-Hellman ํ”„๋กœํ† ์ฝœ) ๋˜๋Š” PSK ํ‚ค(์‚ฌ์ „ ๊ณต์œ )๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฉ”์‹œ์ง€๋Š” Blake2b ํ•ด์‹œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์™„์ „ ์ˆœ๋ฐฉํ–ฅ ๋ณด์•ˆ(PFS, Perfect Forward Secrecy) ๋ชจ๋“œ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ์—์„œ๋Š” ์žฅ๊ธฐ ํ‚ค ์ค‘ ํ•˜๋‚˜๊ฐ€ ์†์ƒ๋˜์–ด๋„ ์ด์ „์— ๊ฐ€๋กœ์ฑ„๊ธฐํ•œ ์„ธ์…˜์˜ ์•”ํ˜ธ๋ฅผ ํ•ด๋…ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

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

ํ”„๋กœ๊ทธ๋žจ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค Python์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ GPLv3 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ถ„๋ฐฐ๊ธฐ ํšŒ๋กœ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. (PCB) GNU FDL 1.3 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์Šคํ”Œ๋ฆฌํ„ฐ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ถ€ํ’ˆ์œผ๋กœ ์กฐ๋ฆฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : linux.org.ru

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