์ธํฐ๋ท ํ๋กํ ์ฝ๊ณผ ์ํคํ
์ฒ๋ฅผ ๊ฐ๋ฐํ๋ IETF(Internet Engineering Task Force)๋ ํด๋น ํ๋ก์ ํธ์์ ๊ฐ๋ฐํ GNS(GNU Name System) ๋๋ฉ์ธ ์ด๋ฆ ์์คํ
์ ํ์คํํ๋ ์์
์ ์ฐฉ์ํ์ต๋๋ค.
GNS์ DNS ์์ญ์ ์ฌ๋ฌ ๊ณต๊ฐ ํค์ ๊ฐ์ธ ํค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐ์ ๋ฉ๋๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ ๊ณ์ธต์ ํค๋ฅผ ๊ตฌํํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ค๋ช
๋ฉ๋๋ค. ์ด๋ฅผ ํตํด Curve25519์ ์ ํ์ฑ ์์ฑ์ ํ์ฉํ์ฌ ๋ฃจํธ ๊ณต๊ฐ ํค๋ฅผ ์ฌ์ฉํ์ฌ ํ์ ๊ณต๊ฐ ํค๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๊ฐ์ธ ๋ฃจํธ ํค๋ฅผ ๋ชฐ๋ผ๋ ํ์ ๊ณต๊ฐ ํค๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ด ๊ธฐ์ ์ ๋ํ
์ถ๊ฐ์ ์ผ๋ก ์ฃผ๋ชฉํ ์ ์๋ ๊ฒ์
GNUnet์ TCP, UDP, HTTP/HTTPS, Bluetooth ๋ฐ WLAN์ ํตํ P2P ๋คํธ์ํฌ ์์ฑ์ ์ง์ํ๋ฉฐ F2F(Friend-to-friend) ๋ชจ๋์์ ์๋ํ ์ ์์ต๋๋ค. UPnP ๋ฐ ICMP ์ฌ์ฉ์ ํฌํจํ์ฌ NAT ํต๊ณผ๊ฐ ์ง์๋ฉ๋๋ค. ๋ฐ์ดํฐ ๋ฐฐ์น๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ถ์ฐ ํด์ ํ
์ด๋ธ(DHT)์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฉ์ ๋คํธ์ํฌ ๋ฐฐํฌ๋ฅผ ์ํ ๋๊ตฌ๊ฐ ์ ๊ณต๋ฉ๋๋ค. ์ ๊ทผ๊ถํ์ ์ ํ์ ์ผ๋ก ๋ถ์ฌ ๋ฐ ์ฒ ํํ๊ธฐ ์ํด ํ์ค์์๋ณ ์์ฑ ๊ตํ ์๋น์ค๋ฅผ ์ด์ฉํฉ๋๋ค.
์ด ์์คํ ์ ๋ฆฌ์์ค ์๋น๊ฐ ์ ๊ณ ๋ค์ค ํ๋ก์ธ์ค ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ ์์ ๊ฐ ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ก๊ทธ ์ ์ง ๋ฐ ํต๊ณ ์์ง์ ์ํ ์ ์ฐํ ๋๊ตฌ๊ฐ ์ ๊ณต๋ฉ๋๋ค. ์ต์ข ์ฌ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ธฐ ์ํด GNUnet์ C ์ธ์ด์ฉ API์ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ฉ ๋ฐ์ธ๋ฉ์ ์ ๊ณตํฉ๋๋ค. ๊ฐ๋ฐ์ ๋จ์ํํ๊ธฐ ์ํด ์ค๋ ๋ ๋์ ์ด๋ฒคํธ ๋ฃจํ์ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ ์๋ง ๋ช ์ ํผ์ด๋ฅผ ํฌ๊ดํ๋ ์คํ ๋คํธ์ํฌ์ ์๋ ๋ฐฐํฌ๋ฅผ ์ํ ํ ์คํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
GNS ์ธ์๋ GNUnet ๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ์ฑ ์ ํ๋ฆฌ์ผ์ด์ ๋ ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค.
- ์ํธํ๋ ํํ๋ก๋ง ๋ฐ์ดํฐ๊ฐ ์ ์ก๋์ด ์ ๋ณด ๋ถ์์ด ๋ถ๊ฐ๋ฅํ๊ณ , GAP ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ๋๊ฐ ํ์ผ์ ๊ฒ์, ๊ฒ์, ๋ค์ด๋ก๋ํ๋์ง ์ถ์ ํ ์ ์๋ ์ต๋ช ํ์ผ ๊ณต์ ์๋น์ค์ ๋๋ค.
- ".gnu" ๋๋ฉ์ธ์ ์จ๊ฒจ์ง ์๋น์ค๋ฅผ ์์ฑํ๊ณ P4P ๋คํธ์ํฌ๋ฅผ ํตํด IPv6 ๋ฐ IPv2 ํฐ๋์ ์ ๋ฌํ๊ธฐ ์ํ VPN ์์คํ ์ ๋๋ค. ๋ํ IPv4-IPv6 ๋ฐ IPv6-IPv4 ๋ณํ ์ฒด๊ณ๋ ๋ฌผ๋ก IPv4-over-IPv6 ๋ฐ IPv6-over-IPv4 ํฐ๋ ์์ฑ๋ ์ง์๋ฉ๋๋ค.
- GNUnet์ ํตํด ์์ฑ ํตํ๋ฅผ ํ๊ธฐ ์ํ GNUnet ๋ํ ์๋น์ค์ ๋๋ค. GNS๋ ์ฌ์ฉ์๋ฅผ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ ์์ฑ ํธ๋ํฝ์ ๋ด์ฉ์ ์ํธํ๋ ํ์์ผ๋ก ์ ์ก๋ฉ๋๋ค. ์ต๋ช ์ฑ์ ์์ง ์ ๊ณต๋์ง ์์ต๋๋ค. ๋ค๋ฅธ ํผ์ด๋ ๋ ์ฌ์ฉ์ ๊ฐ์ ์ฐ๊ฒฐ์ ์ถ์ ํ๊ณ ํด๋น IP ์ฃผ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ๋ถ์ฐํ ์์
๋คํธ์ํฌ ๊ตฌ์ถ์ ์ํ ํ๋ซํผ
์ํ์์ด , ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ์ฌ๋ น ์น์ธ๋ ์ฌ์ฉ์๋ง ๋ฉ์์ง, ํ์ผ, ์ฑํ ๋ฐ ํ ๋ก ์ ์ก์ธ์คํ ์ ์๋๋ก ์๋ํฌ์๋ ์ํธํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉํฐ์บ์คํธ ๋ชจ๋์์ ์๋ฆผ ๋ฐฐํฌ๋ฅผ ์ง์ํฉ๋๋ค(๋ ธ๋ ๊ด๋ฆฌ์๋ฅผ ํฌํจํ์ฌ ๋ฉ์์ง๊ฐ ์ ๋ฌ๋์ง ์์ ์ฌ์ฉ์๋ ์ฝ์ ์ ์์). ); - ์ํธํ๋ ์ด๋ฉ์ผ์ ์ ๋ฆฌํ๋ ์์คํ
๊ฝค ์ฌ์ด ๊ฐ์ธ ์ ๋ณด ๋ณดํธ , ๋ฉํ๋ฐ์ดํฐ ๋ณดํธ๋ฅผ ์ํด GNUnet์ ์ฌ์ฉํ๊ณ ๋ค์ํ ์ง์์ํธํ ํ๋กํ ์ฝ ํค ํ์ธ์ ์ํด; - ๊ฒฐ์ ์์คํ
GNU ํ๋ฌ ๋ ๊ตฌ๋งค์์๊ฒ ์ต๋ช ์ฑ์ ์ ๊ณตํ์ง๋ง ํฌ๋ช ์ฑ๊ณผ ์ธ๊ธ ์ ๊ณ ๋ฅผ ์ํด ํ๋งค์ ๊ฑฐ๋๋ฅผ ์ถ์ ํฉ๋๋ค. ๋ฌ๋ฌ, ์ ๋ก, ๋นํธ์ฝ์ธ์ ํฌํจํ ๋ค์ํ ๊ธฐ์กด ํตํ ๋ฐ ์ ์ํํ ์์ ์ ์ง์ํฉ๋๋ค.
GNUnet 0.13์ ์ฃผ์ ์๋ก์ด ๊ธฐ๋ฅ:
- ๋ฑ๋ก์ด ์คํ๋์์ต๋๋ค.
๊ฐ๋ (GNUnet Assigned Numbers Authority), GNUnet์ ์ด๋ฆ๊ณผ ์ฃผ์ ํ ๋น์ ๋ด๋นํฉ๋๋ค. - ๋ถ์ฐํ ๋๋ฉ์ธ ์ด๋ฆ ์์คํ
GNS์ ๊ตฌํ์ ๋ค์๊ณผ ์ผ์นํฉ๋๋ค.
์ฌ์ , IETF๊ฐ ์ ์ํ ๊ฒ์ ๋๋ค. NSS ํ๋ฌ๊ทธ์ธ "๋ธ๋ก"์ด ๊ฐ์ ๋์์ต๋๋ค. ์ง์ ๋ ๋ผ๋ฒจ์ ๋ช ์์ ์ผ๋ก ๊ฒ์๋์ง ์์์ง๋ง ํด์๊ธฐ์ ์ํด ๋ฐํ๋ ๋ ์ฝ๋์ ๋ํ ์๋ก์ด SUPPLEMENTAL ํ๋๊ทธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ํญ๋ชฉ ์ธ๋ถ์ TLSA ๋๋ SRV ํญ๋ชฉ์ ์ถ๊ฐํ ๋ gnunet-namestore ์ ํธ๋ฆฌํฐ์ ๊ฒฝ๊ณ ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.๋ฐ์ค . - ํค ํด์ง ๋ฉ์ปค๋์ฆ(GNS/REVOCATION)์์ ๋ค์ ํจ์๋
์์ ์ฆ๋ช ์๋ฃ Argon2 ํด์ฑ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋๋ก ์ ํ๋์์ต๋๋ค. - RECLAIM(๋ถ์ฐ์ ์๋ณ ์์ฑ ๊ตํ) ์๋น์ค์์ ํฐ์ผ ํฌ๊ธฐ๊ฐ 256๋นํธ๋ก ๋์ด๋ฌ์ต๋๋ค.
- ๋ฐ์ดํฐ ์ ์ก์ ์ํด UDP ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ์ ์ก ํ๋ฌ๊ทธ์ธ์ ์์ ์ฑ ๋ฌธ์ ๋ก ์ธํด ์คํ์ ๋ฒ์ฃผ๋ก ์ด๋๋์์ต๋๋ค.
- ECDSA ํค ํ์ผ ํ์๊ณผ ๊ฐ์ธ ํค ์ง๋ ฌํ ๋ฐฉ๋ฒ์ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํตํฉ๋ฉ๋๋ค(์ด์ ํค๋ ๋ ์ด์ ์๋ํ์ง ์์).
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ์ ๊ณก์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ํธ๋ฅจ . - gnutls์ ๊ด๋ จ๋์ง ์์ cURL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํธ๋ฆฌํฐ๋ฅผ ๋น๋ํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ง์์ ํตํฉ ์๋ฒ๊ฐ ๋ฐํ๋จ
๋น๋ ๋ด . - ๋น๋ ์ข ์์ฑ์๋ libmicrohttpd, libjansson ๋ฐ libsodium์ด ํฌํจ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru