[LUGOS-MOZILLA] Thunderbird - zaščita pošte z geslom
Ford Prefect
ford.prefect at abakus.si
Mon Nov 1 19:00:21 CET 2004
Zelo pohvalno, ker si se potrudil in tako nadzorno predstavil zadevo. Še
več takih sporočil bi bilo zaželenih :-)
LP Boris
Matej Kovacic wrote:
> Ziv!
>
>> Ce ti nekdo dekriptira maile, ti tudi kriptiranje ne pomaga. Za
>> Windowse obstajajo programi, s katerimi lahko "skrivas" izbrane
>> imenike, ampak mislim, da niso brezplacni. Najbolje, da gres kar z
>> md5() cez vse maile, bo najbolj varno. ;)
>
>
> No, tole zahteva dodatno pojasnilo. Bo malce daljše, ampak če boste
> prabrali ne bo nikomur škodilo. :-)
>
> Ko govorimo o varnosti elektronske pošte MED PRENOSOM, govorimo o
> šifriranju, digitalnem podpisovanju sporočil in overjanju javnih
> ključev. Sporočilu lahko dodamo tudi potrdilo potrdilo (certificate),
> ki vsebuje še čas nastanka, podatke o lastniku, rok veljavnosti ipd.
>
> Digitalni podpis zagotavlja verodostojnost sporočila (da ga ni niče
> spremenil). Naredimo ga takole: z zgostitvenim algoritmom izračunamo
> "prstni odtis" sporočila, ta prstni odtis pa nato zašifriramo s svojim
> zasebnim ključem. Prejemnik bo z našim javnim ključem dešifriral
> podpis (ter pridobil "prstni odtis" v njem), hkrati pa bo iz sporočila
> ponovno izračunal "prstni odtis” ter ga primerjal s tistim, ki ga je
> dobil v
> podpisu. Če je sporočilo prišlo do njega nespremenjeno, se oba "prstna
> odtisa" ujemata.
>
> Najbolj znana zgostitvena algoritma sta MD5 in SHA. MD4 je leta 1990
> razvil Ron Rivest, ga izboljšal in leta 1992 je nastal MD5 (MD =
> Message Digest).
> SHA-0 pa je leta 1993 razvila ameriška tajna služba National Security
> Agency. Leta 1995 je NSA v SHA-0 odkrila varnosto luknjo (katere
> podrobnosti niso hoteli razkriti) in potem je NSA predstavil a SHA-1
> (SHA = Secure Hash Algorithm). MD5 uporabljajo nekateri stareši
> sistemi, SHA pa je trenutno najbolj "in".
>
> Torej, če sporočilo "zaščitiš" z MD5, s tem zagotoviš samo to, da boš
> vedel, če je sporočilo nekdo spremenil. Vsebina bo še vedno vidna.
>
> Razlog, zakaj ljudje pogosto zamešajo MD5 (ali SHA) s šifrirnimi
> algoritmi pa je v tem, da se zgostitveni algoritmi uporabljajo za
> shranjevanje gesel v sistemih.
> Ko se prijavim v nek sistem moram vpisati geslo. Kako pa sistem ve, da
> je geslo pravo? Tudi on mora imeti kopijo gesla.
> Vendar pa je precej nevarno kopijo gesla shraniti v sistem. ČE nekdo
> vdre v sistem, bo lahko s krajo baze ukradel vsa gesla, ne?
> No, zato se v sistemu shrani samo "MD5 hash" našega gesla. Ko se
> prijavimo, sistem sprejme naše geslo in izračuna njegov "hash". Potem
> pogleda v bazo in vidi ali se "hasha" ujemata.
>
> No, zdaj pa pridemo do še ene pomembne zadeve. Zgostitveni algoritmi
> so enosmerni. To pomeni, da lahko iz gesla izračunam hash, iz hasha pa
> ne morem dobiti gesla. (Še en razlog zakaj ni dobro sporočila
> "zaščititi" z MD5 - pote jih ne bi mogli dobiti nazaj!). Druga zadeva
> pa je, da ne sme priti do kolizije - se pravi, da ne obstajata dve
> različni gesli, ki bi imeli isti hash.
>
> Letos poleti je bilo precej govoric, da so SHA uspeli razbiti, že pred
> tem pa so neodvisni raziskovalci demonstrirali uspešen "napad" na MD5
> in SHA-0. Dejstvo je, da zaenkrat niso našli nič kritičnega, oziroma
> nič takega, kar bi bilo kritično s stališča navadnega uporabnika.
>
> To je bilo glede MD5.
>
> Zdaj pa glede šifriranja.
>
> Verjetno marsikdo med vamipozna programček Windows Password Changer.
> Zadeva dela takole. Program posnamemo na bootable CD, CD vstavimo v
> računalnik in ga zaženemo. Naloži se neka okleščena verzija Linuxa in
> zažene ta program. Ta program gre gledat v windows datoteko kjer so
> shranjeni "hashi" gesel, nakar vas vpraša za novo geslo, iz njega
> izračuna hashin le-tega zapiše v datoteko. Po ponovnem zagonu vpišete
> novo geslo in ste v Windowsih.
> Seveda lahko spremenite tudi administratorsko geslo.
>
> Tukaj sta zdaj kritični dve zadevi.
> 1. kaj če je v BIOSU onemogočen zagon računalnika iz CDja?
> 2. lastnik računalnika bo opazil, da je bilo geslo spremenjeno (ker
> njegovo ni več veljavno).
>
> Problem je v tem, da to nista kritični zadevi. 1. Obstajajo namreč
> splošna ("servisna") BIOS gesla, relativno enostavno pa je tudi iz
> računalnika vzeti disk ven in ga priklopiti na drug računalnik.
> 2. Nekateri "password changerji" omogočajo "backup" starega "hasha".
> Stari hash lahko kasneje zapišete nazaj in nihče ne bo vedel, da je
> bilo geslo vmes spremenjeno.
>
> Kaj pa sedaj?
>
> V tem primeru je najboljša možnost, da imate kritične datoteke
> spravljene na šifriranem disku. V tem primeru lahko napadalec vzame
> vaš disk domov, ve vaše administratosko geslo, pa mu še vedno nič ne
> pomaga - ker ne ve gesla za šifrirani disk.
>
> Seveda obstaja možnost, da bo nekdo delal kriptoanalizo in dešifriral
> te podatke. Ampak ta možnost je v praksi - če uporabljate varne
> algoritme zelo majhna. Varni algoritmi so IDEA, AES, itd. Skratka,
> algoritmi, ki jih vsebuje paket PGP. (OK, pri AES-u so našli neko
> varnostno ranljivost, vendar je bolj teoretična, oziroma je bil
> problem v implementaciji - kolikor vem, je zadeva že odpravljena).
>
> Vedno je pa možen "brute force" napad. To pomeni, da napadalec
> preiskusi vsa možna gesla. Seveda ima lahko srečo in v prvo ugane
> pravo. Lahko pa ima smolo in bo pravega uganil šele nazadnje. V
> povprečju, ga ugane na polovici.
>
> Torej izračunajmo koliko časa potrebuje, da preveri vse kombinacije
> pri 10 mestnem geslu. Uporabimo lahko 25 črk in 10 številk (za
> enostavnost izračuna bom izpustil ločila). Torej imamo 10^35
> kombinacij, oziroma 100000000000000000000000000000000000 kombinacij.
> Recimo, da računalnik lahko preveri 1 milijon kombinacij na sekundo.
> Če se nisem zmotil v izračunu, bi vse možne kombinacije preverili v
> 3251144402829800000000 letih. V povprečju lahko pričakujemo, da bo
> napadalec dešifriral naše geslo na polovici tega časa.
>
> OK, druga možnost je pa "klasična" frekvenčna analiza. To so delali
> med 2. svetovno vojno (in kasneje). Proti temu se borimo z
> randomizacijo. Če imamo neko dovolj veliko besedilo, in ga
> zašifriramo, je mogoče ugotoviti frekvenco pojavljanja določenih
> znakov in zaporedij znakov. Ker je znano kakšne so frekvenčne
> distribucije za različne jezike, je mogoče ugotoviti katere prave
> znake predstavlja zaporedje šifriranih znakov. (no, zadeva je malce
> bolj zapletena, ampak približno tako to gre).
> Kaj pa, če šifriramo ZIP datoteko? No, pri ZIP datoteki je stvar taka,
> da izgleda naključno. Zato, ker če je porazdelitev znakov dovolj
> naključna, je psoledica, da je datoteka dobro stisnjena. Če torej
> šifriramo ZIP datoteko, je frekvenčna analiza bistveno težja (če ne
> nemogoča). Velja tudiobratno: če imamo dober algoritem, je šifrirano
> datoteko nemogoče stisniti oziroma je stopnja stiskanja zelo majhna.
>
> Pri šifriranem disku pa imamo naslednji problem. Recimo, da imam disk
> velik 600 Mb, podatkov pa le za 100 Mb. Torej je mogoče ugotoviti, da
> je 500 Mb praznega prostora. Ker tudi vemo kakšne so nekatere
> datoteke (recimo ThunderBird.exe, itd.) imamo že velikovhodnih
> podatkov. Praktično nam manjkajo samo še maili, ki pa so šifrirani po
> enakem ključu kot exe in ostale datoteke iz profila, za katere pa
> imamo in vhodne in izhodne podatke.
> Zato priporočam, da šifrirani disk napolnite z naključnimi znaki - le
> ti se še dodatno zašifrirajo. Torej bo napadalec imel kot vhodni
> podatek znano število znanih datotek (exe,...), neznano število mailov
> in neznano število naključnih podatkov. Ker je vse premešano, si ne
> more pomagati s frekvenčno analizo, ker ne more ločiti kaj je kaj.
>
> Skratka - krriptoanaliza je možna, vendar v praksi zelo težko
> izvedljiva. Za razliko od dostopa do diska, ki je v praksi zelo
> eostavno izvedljiv.
>
> Če se komu vse skupaj zdi zapleteno, naj si zapomni le tole:
> 1. šifriranje diska je smiselno, ker je mogoče do podatkov na disku
> priti relativno enostavno;
> 2. predvsem so kritični podatki na prenosnikih, ki nam ga lahko kdo
> ukrade, pa tudi: računalnik lahko odnesemo na servis, domov nam lahko
> pride policija ali SOVA, v službi ima dostop do računalnika sodelavec
> ali šef,... ja, ADSL ali kabel uporabniki so lahko tarča hekerjev, ki
> imajo kompleten dostop do vašega diska preko interneta;
> 3. obstaja brezplačni odprtokodni program PGPdisk;
> 4. priporoča se, da se PGPdisk napolni z naključnimi znaki (s
> programom CleanDisk Security).
>
> In ja, grožna je realna, saj sem za 1. in 2. videl kar nekaj primerov,
> kako enostavno je priti do "zaščitenega" računalnika.
>
> lp, Matej
>
More information about the lugos-mozilla
mailing list