Ani cibula nemusi byt az taka zdrava

Vcera vecer som sa zamyslal nad bezpecnostou datovych prenosov z hladiska skryvania ich obsahu a existencie a narazil som na jeden zaujimavy problem, ktory nieje dostatocne rieseny ani technologiou ssl a ani systemom tor, ktory je hojne vyuzivany aj v nebezpecnych situaciach, v ktorich je dolezite, aby nebolo mozne zistit, ze osoba posiela urcity druh dat cez siet inej osobe alebo skupine osob. Priklad:

Peter posiela obsah na web, ktory ma obsahovat informacie pozadovane skupinou ludi. Je dolezite, aby nebolo mozne zistit, ze data na web posiela Peter. Pavol je osobou, ktora z takych ci onakych dovodov nesmie zistit, kto dane data na dany web posiela. Pavol je vsak velmi sikovny, ma velke pravomoci, neobmedzeny rozpocet a ma tiez vytipovanu skupinu ludi, ktorich povazuje za podozrivych z posielania dat na predmetny webserver. Na velkosti tejto skupiny vobec nezalezi, pokial plati, ze Pavol je velmi sikovny a ma neobmedzeny rozpocet a dostatocne pravomoci. Peter je velmi opatrny a pouziva ssl a tor. Data na webe su verejne pristupne, pretoze ide o to, aby k nim malo pristup neobmedzene vela ludi, dolezite je len to, aby Peter nebol odhaleny ako dodavatel tychto dat. Pavol ma pristup k datam prenesenym sietovymi spojeniami vsetkych osob v skupine podozrivych, vratane Petra. Pavol ma tiez pristup k datam zverejnenym na predmetnom webe. Vdaka tymto moznostiam ma Pavol moznost zistit, ze predmetne data posiela na web Peter a dokonca je schopny ho aj usvedcit pred sudom. Ako je to mozne?

Pouzivanie kombinacie ssl a tor sposobi, ze Pavol bude vidiet na sietovom spojeni Petra ssl traffic o urcitej velkosti medzi Petrovim strojom a strojom ineho pouzivatela siete tor. Tam sa stopa konci. Okrem toho bude tiez Pavol vidiet data, ktore sa objavuju na webe (periodicky). Pavol ma teda moznost vziat tieto data, zaSSLovat ich a porovnat ich velkost s kuskami dat, ktore prenasaju vsetci podozrivi vo forme ssl na jednom spojeni. Porovnavanim sa Pavol dostane k Petrovi. Moze tiez vyuzit casove informacie - kedy a kolko dat sa objavilo na sledovanom webe. Pred sudom bude tvrdit, ze data posielane Petrom velkostou a casovymi udajmi odpovedaju datam, ktore sa objavovali na predmetnom webe. Pravdepodobnost nahody bude v tomto pripade podobna ako pravdepodobnost, ze dvaja rozny ludia maju rovnaky odtlacok prstu, co da dostatocne rozumnemu sudcovi moznost uznat toto ako usvedcujuci dokaz.

Tento problem sa da vyriesit posielanim nahodnych mnozstiev dat v nahodnych casovych intervaloch (0.1 az 1 sekunda) v samotnom ssl spojeni s tym, ze tieto data budu prijemcom (a to bud prvym uzlom siete tor v pripade, ze toto bude implementovane v ssl, alebo poslednym uzlom siete tor v pripade, ze toto bude implementovane v systeme tor) zahodene. Mnozstvo prenesenych dat samozrejme narastie (mozno o 10%, mozno mnohonasobne - to zalezi od sposobu/ucelu pouzivania ssl spojenia), v kazdom pripade by to podla mna malo riesit popisovany problem.