๊ณผ๊ฑฐ์๋ ์ธ์ฆ์๋ฅผ ์๋์ผ๋ก ๊ฐฑ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ธ์ฆ์๊ฐ ๋ง๋ฃ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ต๋๋ค. ์ฌ๋๋ค์ ๋จ์ง ๊ทธ ์ผ์ ํ๋ ๊ฒ์ ์์ด๋ฒ๋ ธ์ ๋ฟ์
๋๋ค. Let's Encrypt์ ๋ฑ์ฅ๊ณผ ์๋ ์
๋ฐ์ดํธ ์ ์ฐจ๋ก ์ธํด ์ด ๋ฌธ์ ๋ ํด๊ฒฐ๋์ด์ผ ํ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค. ํ์ง๋ง ์ต๊ทผ
์ด์ผ๊ธฐ๋ฅผ ๋์น ๊ฒฝ์ฐ๋ฅผ ๋๋นํด 4๋
2019์ XNUMX์ผ ์์ ์ ๊ฑฐ์ ๋ชจ๋ Firefox ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๊ฐ์๊ธฐ ์๋์ ๋ฉ์ท์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก Mozilla๋ก ์ธํด ๋๊ท๋ชจ ์คํจ๊ฐ ๋ฐ์ํ์ต๋๋ค.
Mozilla๋ ์๋ชป๋ ์ธ์ฆ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๋ชจ๋ ํ์ฅ ๊ธฐ๋ฅ์ด ์ ์์ผ๋ก ๋์๊ฐ๋ Firefox 66.0.4 ํจ์น๋ฅผ ์ ์ํ๊ฒ ์ถ์ํ์ต๋๋ค. ๊ฐ๋ฐ์๋ ์ค์น๋ฅผ ๊ถ์ฅํ๊ณ
๊ทธ๋ฌ๋ ์ด ์ด์ผ๊ธฐ๋ ์ธ์ฆ์ ๋ง๋ฃ๊ฐ ์ค๋๋ ์๋ ์ฌ์ ํ ๊ธด๊ธํ ๋ฌธ์ ๋ก ๋จ์ ์์์ ๋ค์ ํ ๋ฒ ๋ณด์ฌ์ค๋๋ค.
์ด์ ๊ด๋ จํ์ฌ, ํ๋กํ ์ฝ ๊ฐ๋ฐ์๊ฐ ์ด ์์
์ ์ฒ๋ฆฌํ ๋ฐฉ์์ด ๋ค์ ๋
์ฐฝ์ ์ธ ๋ฐฉ์์ ์ดํด๋ณด๋ ๊ฒ์ ํฅ๋ฏธ๋กญ์ต๋๋ค.
DNSCrypt
DNSCrypt๋ DNS ํธ๋ํฝ ์ํธํ ํ๋กํ ์ฝ์ ๋๋ค. ์ฐจ๋จ ๋ฐ MiTM์ผ๋ก๋ถํฐ DNS ํต์ ์ ๋ณดํธํ๊ณ DNS ์ฟผ๋ฆฌ ์์ค์์ ์ฐจ๋จ์ ์ฐํํ ์๋ ์์ต๋๋ค.
์ด ํ๋กํ ์ฝ์ UDP ๋ฐ TCP ์ ์ก ํ๋กํ ์ฝ์ ํตํด ์๋ํ๋ ์ํธํ ๊ตฌ์กฐ๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ DNS ํธ๋ํฝ์ ๋ํํฉ๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํด๋ผ์ด์ธํธ์ DNS ํ์ธ์ ๋ชจ๋ DNSCrypt๋ฅผ ์ง์ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 2016๋
152์๋ถํฐ DNS ์๋ฒ์ Yandex ๋ธ๋ผ์ฐ์ ์์ ํ์ฑํ๋์์ต๋๋ค. Google ๋ฐ Cloudflare๋ฅผ ํฌํจํ ๋ค๋ฅธ ์ฌ๋ฌ ์ ๊ณต์
์ฒด๋ ์ง์์ ๋ฐํํ์ต๋๋ค. ์ํ๊น๊ฒ๋ ๊ทธ ์๊ฐ ๋ง์ง ์์ต๋๋ค(๊ณต์ ์น์ฌ์ดํธ์๋ XNUMX๊ฐ์ ๊ณต์ฉ DNS ์๋ฒ๊ฐ ๋์ด๋์ด ์์ต๋๋ค). ํ์ง๋ง ํ๋ก๊ทธ๋จ์
DNSCrypt๋ ์ด๋ป๊ฒ ์๋ํ๋์? ์ฆ, ํด๋ผ์ด์ธํธ๋ ์ ํํ ๊ณต๊ธ์์ ๊ณต๊ฐ ํค๋ฅผ ๊ฐ์ ธ์ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆ์๋ฅผ ํ์ธํฉ๋๋ค. ์ธ์
์ ๋จ๊ธฐ ๊ณต๊ฐ ํค์ ์ํธ ๋ชจ์ ์๋ณ์๊ฐ ์ด๋ฏธ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ๋ ๊ฐ ์์ฒญ์ ๋ํด ์ ํค๋ฅผ ์์ฑํ๋๋ก ๊ถ์ฅ๋๋ฉฐ ์๋ฒ๋ ํค๋ฅผ ๋ณ๊ฒฝํ๋๋ก ๊ถ์ฅ๋ฉ๋๋ค. 24์๊ฐ๋ง๋ค. ํค๋ฅผ ๊ตํํ ๋ ์๋ช
์๋ EdDSA, ๋ธ๋ก ์ํธํ์๋ XSalsa25519-Poly20 ๋๋ XChaCha1305-Poly20์ X1305 ์๊ณ ๋ฆฌ์ฆ์ด ์ฌ์ฉ๋ฉ๋๋ค.
ํ๋กํ ์ฝ ๊ฐ๋ฐ์ ์ค ํ ๋ช
์ธ Frank Denis
์ฒซ์งธ, ๋ณด์์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ์๋ฒ๊ฐ ์์๋๊ฑฐ๋ ํค๊ฐ ์ ์ถ๋๋ฉด ์ด์ ์ ํธ๋ํฝ์ ํด๋ ํ ์ ์์ต๋๋ค. ํค๊ฐ ์ด๋ฏธ ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ด๋ ๊ณต๊ธ์๊ฐ ์ํธํ๋ ํธ๋ํฝ์ ํฌํจํ ๋ชจ๋ ํธ๋ํฝ์ ์ ์ฅํ๋๋ก ๊ฐ์ ํ๋ ์ผ๋ก๋ฐ์ผ๋ฒ(Yarovaya Law) ์ํ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ด๋ ํ์ํ ๊ฒฝ์ฐ ๋์ค์ ์ฌ์ดํธ์์ ํค๋ฅผ ์์ฒญํ์ฌ ์ํธ๋ฅผ ํด๋ ํ ์ ์๋ค๋ ์๋ฏธ์ ๋๋ค. ํ์ง๋ง ์ด ๊ฒฝ์ฐ ์ฌ์ดํธ๋ ๋จ๊ธฐ ํค๋ฅผ ์ฌ์ฉํ๊ณ ์ค๋๋ ํค๋ฅผ ์ญ์ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๋จ๊ธฐ ํค๋ก ์ธํด ์๋ฒ๊ฐ ์ฒซ๋ ๋ถํฐ ์๋ํ๋ฅผ ์ค์ ํ๋๋ก ํ๋ค๋ ๊ฒ์ ๋๋ค. ์๋ฒ๊ฐ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋์ด ์๊ณ ํค ๋ณ๊ฒฝ ์คํฌ๋ฆฝํธ๊ฐ ๊ตฌ์ฑ๋์ง ์์๊ฑฐ๋ ์๋ํ์ง ์๋ ๊ฒฝ์ฐ ์ด๋ ์ฆ์ ๊ฐ์ง๋ฉ๋๋ค.
์๋ํ๊ฐ ๋ช ๋ ๋ง๋ค ํค๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ ๋ขฐํ ์ ์์ผ๋ฉฐ ์ฌ๋๋ค์ ์ธ์ฆ์ ๋ง๋ฃ๋ฅผ ์์ด๋ฒ๋ฆด ์ ์์ต๋๋ค. ๋งค์ผ ํค๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ฆ์ ๊ฐ์ง๋ฉ๋๋ค.
๋์์ ์๋ํ๊ฐ ์ ์์ ์ผ๋ก ๊ตฌ์ฑ๋๋ฉด ํค๊ฐ ์ผ๋ง๋ ์์ฃผ ๋ณ๊ฒฝ๋๋์ง๋ ์ค์ํ์ง ์์ต๋๋ค(๋งค๋ , ๋ถ๊ธฐ๋ง๋ค ๋๋ ํ๋ฃจ์ ์ธ ๋ฒ). ๋ชจ๋ ๊ฒ์ด 24์๊ฐ ์ด์ ์๋ํ๋ค๋ฉด ์์ํ ์๋ํ ๊ฒ์ด๋ผ๊ณ Frank Denis๋ ์ผ์ต๋๋ค. ๊ทธ์ ๋ฐ๋ฅด๋ฉด, ํ๋กํ ์ฝ์ ๋ ๋ฒ์งธ ๋ฒ์ ์์ ์ผ์ผ ํค ์ํ ๊ถ์ฅ ์ฌํญ๊ณผ ์ด๋ฅผ ๊ตฌํํ๋ ๊ธฐ์ฑ Docker ์ด๋ฏธ์ง๊ฐ ํจ๊ป ๋ง๋ฃ๋ ์ธ์ฆ์๊ฐ ์๋ ์๋ฒ ์๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ค์ด๋ ๋์์ ๋ณด์์ ํฅ์์์ผฐ์ต๋๋ค.
๊ทธ๋ฌ๋ ์ผ๋ถ ๊ณต๊ธ์๋ ์ฌ์ ํ ๊ธฐ์ ์ ์ธ ์ด์ ๋ก ์ธ์ฆ์ ์ ํจ ๊ธฐ๊ฐ์ 24์๊ฐ ์ด์์ผ๋ก ์ค์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด ๋ฌธ์ ๋ dnscrypt-proxy์ ๋ช ์ค์ ์ฝ๋๋ก ๋๋ถ๋ถ ํด๊ฒฐ๋์์ต๋๋ค. ์ฌ์ฉ์๋ ์ธ์ฆ์๊ฐ ๋ง๋ฃ๋๊ธฐ 30์ผ ์ ์ ์ ๋ณด ์ ๊ณต์ฉ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ๊ณ , ๋ง๋ฃ 7์ผ ์ ์ ์ฌ๊ฐ๋๊ฐ ๋ ๋์ ๋ ๋ค๋ฅธ ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ , ์ธ์ฆ์์ ๋จ์ ์๋ ๊ฒ์ด ์์ผ๋ฉด ์ค์ํ ๋ฉ์์ง๋ฅผ ๋ฐ๊ฒ ๋ฉ๋๋ค. ์ ํจ ๊ธฐ๊ฐ์ 24์๊ฐ ๋ฏธ๋ง์ ๋๋ค. ์ด๋ ์ฒ์์ ์ ํจ ๊ธฐ๊ฐ์ด ๊ธด ์ธ์ฆ์์๋ง ์ ์ฉ๋ฉ๋๋ค.
์ด๋ฌํ ๋ฉ์์ง๋ ์ฌ์ฉ์์๊ฒ ๋๋ฌด ๋ฆ๊ธฐ ์ ์ ์ธ์ฆ์ ๋ง๋ฃ๊ฐ ์๋ฐํ์์ DNS ์ด์์์๊ฒ ์๋ฆด ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์๋ง๋ ๋ชจ๋ Firefox ์ฌ์ฉ์๊ฐ ๊ทธ๋ฌํ ๋ฉ์์ง๋ฅผ ๋ฐ์๋ค๋ฉด ๋๊ตฐ๊ฐ ๊ฐ๋ฐ์์๊ฒ ์๋ฆฌ๊ณ ์ธ์ฆ์๊ฐ ๋ง๋ฃ๋๋ ๊ฒ์ ํ์ฉํ์ง ์์ ๊ฒ์ ๋๋ค. Frank Denis๋ โ๊ณต์ฉ DNS ์๋ฒ ๋ชฉ๋ก์์ ์ง๋ XNUMX~XNUMX๋ ๋์ ์ธ์ฆ์๊ฐ ๋ง๋ฃ๋ DNSCrypt ์๋ฒ๋ ๋จ ํ๋๋ ๊ธฐ์ต๋์ง ์์ต๋๋ค.โ๋ผ๊ณ ์ผ์ต๋๋ค. ์ด์จ๋ ๊ฒฝ๊ณ ์์ด ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋นํ์ฑํํ๋ ๊ฒ๋ณด๋ค ๋จผ์ ์ฌ์ฉ์์๊ฒ ๊ฒฝ๊ณ ํ๋ ๊ฒ์ด ๋ ๋์ ๊ฒ์ ๋๋ค.
์ถ์ฒ : habr.com