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