ot Nikolay Hristov(18-12-2011)

reiting (16)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Kakvo e DNSCurve?


DNSCurve e nadstroika na standartniia DNS protokol kato ideiata e da napravi trafika mezhdu DNS survurite kriptiran. Po tozi nachin se izbiagvat po-goliamata chast ot problemite na dizaina na DNS protokol.


Kak raboti?

DNSCurve raboti kato preprashtasht (forwarding) dns survur.

   DNS or DNSCurve clients <-> DNSCurve server <-> Authoritative name server (tinydns/PowerDNS/…)

Za tselta triabva da imate instaliran DNSCurve survur na vashite NS zapisi. Dali tova shte e samo forwarding survur ili authoritative+dnscurve zavisi ot implementatsiiata. Ima niakolko implementatsii za momenta - curvedns (forwarding only), gdnsd (authoritative+dnscurve), dnscrypt (cache proxy+client), djbdns dnschache patch za dnscurve poddruzhka.

Ustanoviavane na kriptirana vruzka mezhdu dns klient/survur bez nadstroiki na tekushtiia DNS protokol.

Ideiata e publichnite klyuchove za kriptiraneto da se razmeniat chrez DNS zapisi. V obshti linii se sluchva slednoto

   DNS klientut (ili cache survurut) kazva - Koi sa DNS-ite, koito otgovariat za horizon9.org?

   Otgovorut na zaiavkata e:

   horizon9.org NS uz5wy8l27yn2668yfcm2nvw8nxvr2gldcdvmuhju5d4j6lkmz1gg4r.ns1.horizon9.org
   horizon9.org NS uz519s6hhsm8z379wvkwl80z3mzph8u5wbdhdnlhq33kkd49d892ft.ns2.horizon9.org

   DNS klientut vzema publichniia klyuch i s nego kriptira sledvashtata zaiavka.

   Kakto se doseshtate, klientut sushto triabva da ima generirani klyuchove, koito se generirat pri instaliraneto mu.

   Ot tuk natatuk vsichkite zapitvaniia kum horizon9.org minavat po kriptiran put.

Predimstva

   * Predimstvoto na DNSCurve e, che zaiavkite se pobirat v 512 bytes. Tova oznachava,  che se pobira v edin standarten UDP dns paket koito bi minal bez problem i prez neadekvatno nastroenite firewalls po putia. Za tova ne sa nuzhni nikakvi promeni po tekushtiia DNS protokol i ne e nuzhno da se polzva TCP implementatsiiata (koeto vodi po printsip do zabaviane na otgovorite).

   * Klyuchovete sa survurno bazirani, toest ako poddurzhate poveche ot 1 domein, e nuzhno da generirate samo 1 dvoika klyuchove kato slozhite publichniia v NS zapisite na vseki ot domeinite


   uz5p6wlnqkgbrz6kbupkdylhqsb3btf6265pr0nl6vl6pwny16pb8p.ns1.horizon9.org
   uz5p6wlnqkgbrz6kbupkdylhqsb3btf6265pr0nl6vl6pwny16pb8p.ns1.drundrun.org
   uz5p6wlnqkgbrz6kbupkdylhqsb3btf6265pr0nl6vl6pwny16pb8p.ns1.alabala.com

   ......

   * Suvmestim e s DNSSEC (koito az lichno ne sum implementiral na moite survuri)

   * Poddurzha UDP i TCP zaiavki.

Instalirane na curvedns + djb tinydns

Standartut DNSCurve be predlozhen predi 2 godini ot Dan Bernstein i veche si ima implementatsiia. Ideiata mu e mnogo dobra i problemut, che vse oshte ne e vnedren navsiakude,  nai-veroiatno se dulzhi na tova, che povecheto hora go mraziat, zashtoto se durzhi kato zadnik po meiling listite. Tova ne prechi ideiata mu da e oprostena i napulno prilozhima. Implementatsiiata se naricha curvedns, izpolzvashta networking and cryptography library. Napravena e da raboti s djb daemontools. Eto i printsipa na rabota na curvedns.

   * ns1.horizon9.org 193.22.103.2

   * dns curve survurut slusha na IP 193.22.103.2

   * istinskiiat dns survur slusha na 127.0.0.1

   * dns curve survurut obrabotva zapitvaniiata otnosno *.horizon9.org kato gi preprashta kum 127.0.0.1:53 kudeto raboti istinskiia authoritative survur obsluzhvasht zonata horizon9.org

   * ako zaiavkata e standartna prosto se preprashta kum 127.0.0.1:53

   * ako zaiavkata e tip DNSCurve purvo se ustanoviava sigurna vruzka mezhdu zapitvashtiia i survura i sled tova se predava zaiavkata kum 127.0.0.1:53 kato dannite sa obmeneni po kriptiran put.

Tova reshenie predlaga bez mnogo problemi da se instalira poddruzhka za dnscurve protokola.

Na praktika za da mozhe krainiiat potrebitel da se vuzpolzva ot tova novovuvedenie, toi triabva da ima dns klient ili pone dns cache survur koito da poddurzha protokola DNSCurve .

djb dnscache patch za poddruzhka na dnscurve protokola


Djbdns paketa sudurzha i  dns cache server. Matthew Dempsky napravi patch koito pozvoliava  dnscache da "razbira" protokola dnscurve. Tozi patch promenia i nachina na zapisvane na loga. Dobaveni sa 2 simvola: + i -. Kogato v loga ima +, tova oznachava che vruzkata po koiato e poluchena dns informatsiiata za daden domein e bila kriptirana (dnscurve protokol). Ako e s -, tova oznachava che informatsiiata e pridobita po standarteniia nekriptiran put.

   `--# host -t ns yp.to
   yp.to name server uz5dz39x8xk8wyq3dzn7vpt670qmvzx0zd9zg4ldwldkv6kx9ft090.ns.yp.to.
   yp.to name server uz5hjgptn63q5qlch6xlrw63tf6vhvvu6mjwn0s31buw1lhmlk14kd.ns.yp.to.
   `--#
   `--# cat /service/dnscache/log/main/current|grep +
   @400000004eeba4660a5e3a6c tx 0 2 yp.to. yp.to. + 839b478f 83c1208e
   @400000004eeba47c303bc54c tx 0 1 cr.yp.to. yp.to. + 839b478f 83c1208e
   `--#


OpenDNS dnscrypt

OpenDNS suvsem naskoro pusnaha versii poddurzhashti protokola DNSCurve. Klientska i survurna chast mozhe da izteglite ot tuk: https://github.com/opendns.

Za momenta ima klientska chast prekopilirana samo za MacOSX. Kompilira se na linux, *BSD (ne sum go testval lichno, no taka pishe v README-to). Windows versiia vse oshte niama, no e v protses na razrabotka.

gdnsd - oshte edna implementatsiia na protokola dnscurve.


gdns e oshe edna implementatsiia na authoritative dns server, koito e v aktivna razrabotka.

Networking and Cryptographic library (nacl)

Proekt za razrabotka na biblioteka koiato predlaga tekushti resheniia za problemite v mrezhovata kriptografiia (osnovno - burzodeistvie, siguren algoritum, malko uvelichenie na kritiraniiat paket - x1.15 spored DJB). Proektut se rukovodi ot Tanja Lange (Technische Universiteit Eindhoven) i Daniel J. Bernstein (University of Illinois at Chicago). Tui kato i az ne sum mnogo navutre v matematikata i kriptografiiata niama da vi otegchavam s podrobnosti koito ne razbiram. Algorituma koito se izpolzva e Curve25519. Bibliotekata predlaga C, C++ i Python API-ta za momenta.

Po-interesnoto v tazi biblioteka e edin protokol predlozhen ot DJB - CurveCP.

CurveCP - kriptirame tseliiat internet za nula vreme?

Problemut v momenta v internet e che tekushtite protokoli za kriptirana vruzka sa prekaleno tezhki za protsesorite na mashinite na golemite saitove. Golemite dostavchitsi na web uslugi  ne predlagat iztsialo kriptirani vruzki poradi nedosting na protsesorna mosht. Google, naprimer, ima razliki ako se izpolzva prez http ili https. Prez https lipsvat kartinki, flash, video i vsiakakvi natovarvashti trafika neshta.

Predstavete si che edna dnscurve stane standart v blizkite 5 godini, toest po-goliamata chast ot DNS zonite imat public key v NS zapisite si. Sega si predstavete che iskate da proverite poshtata si prez ueb brauzur. Brauzurut vi shte se opita da ustanovi SSL kritirana vruzka v ueb baziraniia meil po https. Za tselta triabva da se razmeniat pubichnite klyuchove i da se startira sesiiata. Zashto da si razmeniat nanovo klyuchove sled kato publichnite klyuchove mogat da se distributirat chrez DNS? Prosto zapisa v DNS-a za www.horizon9.org shte stane po sledniiat nachin.

   uz5p6wlnqkgbrz6kbupkdylhqsb3btf6265pr0nl6vl6pwny16pb8p.horizon9.org -> 195.177.249.170

   www.horizon9.org -> CNAME -> uz5p6wlnqkgbrz6kbupkdylhqsb3btf6265pr0nl6vl6pwny16pb8p.horizon9.org

Ot tuk natatuk klientut ima vsichko neobhodimo za da ustanovi kriptirana vruzka s otsreshtniia survur. Za da proraboti tova:

* ili brauzurut i otsreshtniia survur da budat pachnati za poddruzhka na CurveCP, toest CurveCP da stane standart.

* ili burzoto i lesno reshenie - izpolzvane na CurveCP proxy i trafikut da bude prehvurlian prez nego. Tova bi stavalo nezabeliazano za krainiiat klient.

Tova bi triabvalo da vazhi ne samo za ueb, no i za vsichkite izpolzvani protokoli v internet.

V nacl bibliotekata e vklyucheno i curvecp proxy.

Kato zaklyuchenie moga da kazha, che nacl i dnscurve sa edna mnogo pravilna stupka napred v internet - sigurnostta. Dokolko tova shte se vuzprieme - vremeto shte pokazhe. Hubavoto e che ako go instalirate na vashite DNS survuri, tova ne bi poprechilo na normalnata im rabota. Instalatsiiata opredeleno e maksimalno oprostena.

Za poveche podrobnosti pregledaite izpolzvanite resursi. Goreshto Vi preporuchvam, ako ste zainteresovan ot DNSCurve da izgledate lektsiiata na Dan Bernstein publikuvana kato video vuv vimeo.com (ima link po-dolu)

Izpolzvani resursi:

http://cr.yp.to/ - DJB site.

http://dnscurve.org/ - DNSCurve protocol spetsifikatsiia.
http://curvedns.on2it.net/ - Forwarding proxy implementatsiia na DNSCurve protokola.

http://nacl.cr.yp.to/ - Networking and Cryptography library.

http://dankaminsky.com/2011/01/05/djb-c... - Dan Kaminski blog.
http://vimeo.com/18417770 - Video na lektsiiata na Dan Bernstein za DNSSEC, DNSCurve, CurveCP.

Kopie na statiiata mozhe da namerite tuk: http://geroyblog.blogspot.com/2011/12/d...


<< Vuvedenie v daemontools (DJB Way) | sbopkg >>