šifriranje

Splošna prepoved šifriranja za državljane?

Teroristični napad na Charlie Hebdo je opogumil nekatere državnike po svetu, da so ponovno prišli na plano z idejami o prepovedi šifriranja, saj ob njegovi uporabi država ne more nadzirati komunikacij in pravočasno preprečiti terorističnih napadov (pustimo ob strani dejstvo, da šifriranje ob poboju v Parizu ni igralo popolnoma nobene vloge). Šifriranje je danes na spletu v široki uporabi za e-bančništvo, spletno nakupovanje in prenos naših vsakdanjih sporočil, zato se ga kar ukiniti ne da. Plan B torej: države v šifrirne postopke vgradijo stranska vrata, ki samo njim omogočajo hitro dešifriranje. Vendar ne bo šlo, vsaj ne na hitro.

Katere države?

Vsak državnik ima verjetno v mislih pač svojo državo, ki bi prisilila proizvajalce programja in aplikacij, da bi za njih vgradila stranska vrata. Mogoče bi se nekaj velikih držav vsedlo in podpisalo sporazum, po katerem bi si delile dostop. V luči medsebojnih prisluškovanj med zaveznicami na zahodu, ki jih je razkril Snowden, takšna rešitev danes ni preveč verjetna. Vendar imajo želje po tem tudi drugi režimi, ki med cilji državne politike niti slučajno ne omenjajo svobode govora in zaščite zasebnosti posameznika. Bosta Lukašenko in Kim Jong Un imela isto pravico do stranskih vrat, kot David Cameron? Spomnimo se tudi na probleme državnih trojancev in kam vse so prodali FinFisherja.

Kriminaliziranje neodvisnih rešitev

Pogosta refleksna reakcija v državni upravi za reševanje operativnih problemov je: sprejmimo zakon! Zakon, ki bo recimo določal, da lahko programerji implementirajo le državno-odobrene šifrirne algoritme (s stranskimi vrati in za katere so se medtem morale države uskladiti, kot smo videli malo prej, saj sicer lahko svojo rešitev prodajate samo na domačem tržišču). In Platon reče: “Dobri ljudje ne potrebujejo zakonov da bi delovali odgovorno; medtem, ko slabi ljudje vedno znajo zaobiti zakone.”

Seveda bodo resni teroristi in kriminalci plačali razvoj lastnih kvalitetnih rešitev, zakon seveda ni ovira. Razen, če se zraven še prepove uporabo računalnikov za splošno rabo in se prodaja le še specializirane naprave, nad katerimi nimamo nadzora (blizu temu pride Apple s svojim iOS okoljem in nadzorom aplikacij). Ampak morda kriminalci vendarle lahko pohekajo in sprogramirajo te naprave po lastnih načrtih navkljub prepovedi? Zato potem še omejimo dostopnost znanja o šifriranju in programiranju. Z današnje perspektive, kjer družba uživa sadove odprtokodnega programja in se računalniška industrija zanaša na neodvisne varnostne strokovnjake, ki jim iščejo napake po kodi, povsem absurdno. Neprijetno vprašanje je, ali se bomo začeli premikati v bolj orveljanski svet, kjer bodo takšni ukrepi postali običajni?

Tehnologija

Ne gre pa pozabiti tudi na to, da voditelji držav govorijo eno, kriptografi pa javno razlagajo, kako “zadeva ne bo delovala“. Vendar pa stroka dandanes že ne more biti ovira, ne?

Če pustim cinizem ob strani, lahko končam s pozitivnim primerom. Gre za odziv nizozemske kriminalistke na konferenci o kibernetski varnosti pred kratkim, ki je protestirala ob trditvah, da si organi pregona vedno želijo slabo šifriranje, takšnega ki ga lahko vedno zlomi. Nizozemci so vedno nekaj posebnega.

Tisti, ki želite vedeti več, so oglejte pa še posnetek predavanja Cory Doctorowa: “The coming war on general computing” iz konference 28c3, ki jo vsako leto organizira Chaos Computer Club.

Advertisements

Življenje po Snowdenu

Široko prisluškovanje ameriške NSA že mesec dni vzdržuje zanimanje javnosti. Sedaj je recimo jasno tudi to, da NSA letno nameni kar 250 milijonov dolarjev za slabljenje šifrirnih postopkov. Denar je namenjen vstavljanju ranljivosti v komercialne šifrirne sisteme, ter vplivanju na specifikacije in standarde tehnologij za šifriranje na osnovi javnih ključev. V sodelovanju s proizvajalci strojne in programske opreme NSA in britanska GCHQ poskrbijo, da imajo odprta stranska vrata v razširjene protokole za šifrirano izmenjavo podatkov. Tiste, ki jih vsak dan uporabljamo tudi za nakupovanje po spletu in e-bančništvo. V dokumentih je navedeno, da gre za TLS/SSL, SSH, IPSec in različne VPN rešitve, internet telefonijo, “in še več.” Kako je to mogoče?

Najprej lahko izdelate šibke šifrirne postopke, ki jih znate že vnaprej razbiti ali zaobiti. To je težko, saj so ti algoritmi ponavadi javno znani in izpostavljeni presoji matematikov po vsem svetu, zato vas lahko razkrinkajo. Po drugi strani je res, da je NSA dolga leta veljala za močno avtoriteto na področju kriptografije in je tudi sama predlagala številne standarde, ki jih je sprejel ameriški inštitut NIST in se danes tudi uporabljajo. Vsi algoritmi na koncu živijo v kakšnem čipu, bolj pogosto pa so implementirani v programski opremi. Tu je druga točka napada. Prispevate lahko svoj del kode, ki je ravno prav pokvarjen. Toliko, da vam bistveno skrajša čas, potreben za dešifriranje sporočila (če ste NSA, imate doma namreč ogromen superračunalniški center). Ali pa kar neposredno stopite do proizvajalca in ga s svojo avtoriteto prepričate, da vstavi stranska vrata za lov teroristov v svoje produkte.

Že slišim zmagoslavne krike zagovornikov odprte kode, češ da je rešitev prav pri njih! Tam je izvorna koda na voljo za pregled prav vsem in programerska skupnost bo zato v njej hitro odkrila napake in podtaknjene pomanjkljivosti. Po tej logiji odprtokodni programski paketi skoraj ne bi imeli več varnostnih lukenj, vendar to še zdaleč ni res. Kdo pravi, da so vsi programerji na odprtokodnih projektih vrhunski? Poglejte samo zgodovino lukenj v PHP ali Joomli! Odprtokodni projekt je recimo tudi selinux, modul varnostnih izboljšav za jedro linuxa, kjer je glavni razvijalec prav NSA. Se boste zakopali v izvorno kodo, ali pa boste v luči vseh člankov o NSA sedaj imeli pomisleke pri njegovi namestitvi? Dobro – vzemimo za primer raje openssl, ki verjetno poganja večino šifriranja na spletu. C-jevske kode je okoli 350.000 vrstic. Med njimi so velike, skrbno sestavljene številčne tabele, ki so nujna sestavina uporabljenega šifrirnega algoritma. Pa sedaj najdite podtaknjeno spremembo entropije v njih, če znate.

openssl-1.0.1e/crypto/seed/seed.c

openssl-1.0.1e/crypto/seed/seed.c

Vsej šifrirni kolobociji se izognete, če znate priti do vira komunikacije, se naseliti v sam računalnik in tam prestrežete ključe. To boste naredili s posebno zlonamerno kodo, virusom, ki bo tarčo okužil. Če ga prej podpišete z ukradenim razvijalskim certifikatom, je vaš dostop do tarče še lažji, saj se bo virus recimo predstavil kot nadgradnja gonilnika.

Kaže, da so v omenjenih tajnih službah počeli prav vse od naštetega. To zadnje smo recimo videli pri Stuxnet programu, ki je z okužbo Windows nadzornih postaj za leta 2010 uspešno izvedel fizične sabotaže Siemensovih centrifug za bogatenje urana v iranskem jedrskem programu. Virus je bil podpisan z veljavnima digitalnima certifikatoma podjetij Realtek in JMicron.

Eni bodo seveda rekli, da so to vseskozi vedeli in da je vse to itak normalno delo tajnih služb. Tem ljudem ne verjamem prav zares. Ja, vsi smo leta govorili o Echelon programu prisluškovanja in ugibali, kaj od šifriranja lahko NSA razbije in česa ne. Vendar pa vse do Snowdena nihče ni prišel na plan z jasnimi dokazi, da je kaj takšnega mogoče. Njegova razkritja nam menjajo perspektivo pogleda na omrežje in naše komunikacije v njem. Če se je najprej začelo majati zaupanje v dobroto internet velikanov, ki nam takorekoč zastonj ponujajo vse te lepe oblačne storitve, se sedaj maje naše zaupanje v same tehnološke osnove komunikacijskih protokolov, ki so ustvarjeni ravno za to, da skrijemo podatke pred neželenim prisluškovanjem. Vedno bolj je razločen občutek, da je za boj proti terorizmu sprejemljiva cena zloraba vseh nas. Sam pa sem se to poletje spominjal odgovora kriptografa in guruja informacijske varnosti Bruca Schneierja, lansko leto na konferenci Def Con 20. Na okrogli mizi je dobil vprašanje, kaj si misli o do hekerjev nadvse prijaznem in všečnem vabljenem predavanju direktorja NSA Keitha B. Alexandra dan prej. Odgovor je bil zelo kratek: “Pa mu ja niste nasedli?!”

Kolumna je bila objavljena v oktobrski številki revije Monitor.