ALTE DOCUMENTE
|
||||||||||
Obsah 2
Úvod 3
Program ScriptCrypt 3
Obsluha programu 3
Instalace a spustění .......... ..... ...... . 3
Sifrování .......... ..... ...... ...... 4
Generování náhodných čísel pro klíče .............. 18318b18s .......... 4
Odsifrování .......... ..... ...... ..... 5
Konec programu .......... ..... ...... ... 5
Pozadavky na běh programu ........................... 5
Licenční podmínky .......... ..... ...... . 5
Závěr 5
Asi větsina uzivatelů výpočetní techniky se jistě setkala s problémem, jak ochránit data před neoprávněnou manipulací. Neoprávněnou manipulací můze být třeba odcizení dat (z média či během přenosu), nechtěná úprava dat, nebo "obyčejné" spehování. K vasim datům se můze dostat nejen osoba, ale i téz zlomyslný počítačový program. Aby se předeslo těmto problémům, pouzívá se sifrování. Sifrování ocení snad vsechny osoby pouzívající sdílený počítač (skola/práce). Existují různé druhy sifer lisící se zabezpečením, které jsou vhodné k pouzití nejen proti zvědavým kamarádům-vidlákům, ale i proti tajným agentům a policii (z toho důvodu bylo v USA zakázáno vyvázet silné sifry a známý sifrovací program PGP musel být vyvezen ilegálně). Podstatný rozdíl je mezi siframi symetrickými a asymetrickými. Symetrické sifrování prování zasifrování i odsifrování pomocí jednoho a toho samého klíče nebo hesla, kdezto asymetrické umozňuje zasifrovat data veřejným klíčem a odsifrování je mozné provést jen soukromým (tajným) klíčem. Obojí sifrování má své výhody i nevýhody. Program ScriptCrypt pouzívá sifrování symetrické.
Kazdá sifra má určitou délku klíče a určitý algoritmus. S vhodnou délkou klíče jsou dobré sifry rozlustitelné bez znalosti klíče za dobu, která mnohařádově překoná délku lidského zivota a tak jsou dostatečně odolné vůči prolomení při současné technologii. Protoze kazdý algoritmus má své výhody, pouzívá program ScriptCrypt současně az 18 druhů sifer. Jedná se o ty nejlepsí současné symetrické sifry, samozřejmostí je podpora standardu AES (sifra Rijndael), téz jsou pouzity ostatní sifry, které kandidovaly ve výběrovém řízení na AES a dalsí nové i starsí sifry (DES, Tripple DES, IDEA, CAST.). Pokud se nějaká z sifer zdá někomu málo bezpečná, prostě pouzije jinou z nabídky, popřípadě více jiných. Program ScriptCrypt umozňuje libovolné zřetězení sifer za sebou (i opakované), kromě generovaného klíče můze pracovat i s heslem, které se neukládá do zádného souboru.
Program je snadno a intuitivně ovladatelný.
Program ScriptCrypt vychází svým způsobem práce ze starsího programu HyperCrypt. Program HyperCrypt získal řadu příznivců a nenasel se jediný uzivatel, který by povazoval program HyperCrypt a způsob, na kterém je zalozen, za spatný. Někteří uzivatelé mi zaslali návrhy na vylepsení a na podporu nových funkcí a proto o rok později vznikl tento program ScriptCrypt. Jméno HyperCrypt nebylo pouzito, protoze jsem na Internetu narazil na jiný produkt pod stejným názvem. ScriptCrypt je zcela nově napsaný (neobsahuje zádný kód HyperCryptu) produkt a své jméno získal podle toho, ze sifrování probíhá podle skriptu, ve kterém jsou ulozeny informace o klíčích. Jednou z výtek, které mi byly zaslány k programu HyperCrypt totiz bylo to, ze soubory s klíčem (slo o čistě binární soubory) jsou nepřehledné a není poznat, co v nich vlastně je. Program ScriptCrypt ukládá klíče v textovém formátu, který lze snadno číst v textových editorech a případně v něm provádět změny bez nutnosti spustit aplikaci. Jen pozor na poskození klíče během editace.
Instalace a spustění:
Program pracuje ihned po spustění bez nutnosti instalace a konfigurace (u některých programů, dokonce i komerčních, bývá problém je vůbec nainstalovat nebo spustit J
Sifrování:
Program pouzívá dva druhy klíčů - globální (ovlivní klíče vsech pouzitých sifer) a lokální (projeví se jen pro přislusnou sifru). Aby bylo mozné sifrovat nebo desifrovat, je třeba vygenerovat globální klíč (tlačítko Randomize) a vytvořit v seznamu alespoň jednu sifru. Sifry je mozno generovat automaticky (stiskem tlačítek se jménem algoritmu sifry, popřípadě hromadně tlačítkem "Generate", přičemz počet vygenerovaných sifer je v editační řádce "Ciphers") a nebo ručně. Ručně je třeba nejprve vybrat sifru (klíč je vygenerován po výběru sám, je mozné jej změnit tlačítkem "Randomize") a pak odeslat do seznamu tlačítkem "Set". Výběr je značný a s pouzitím více sifer značně vzrůstá jiz tak spolehlivá bezpečnost. Bez znalosti klíče je totiz kromě klíče (popř. hesla) nutná jestě znalost toho, jaké sifry byly vůbec pouzity a v jakém pořadí. Tyto informace se vsak neukládají do sifrovaného souboru, ale do klíče a tak se při pokusu o prolomení sifry "není čeho chytit". Podobně se postupuje při editaci seznamu - v tabulce "Local cipher info" se vzdy zobrazí vybraná sifra a změny se potvrdí tlačítkem "Set". Kromě klíče je mozné lokálně i globálně nastavit heslo (nikam se neukládá a je třeba ho pokazdém načítání klíčů zadat znovu) a klíčový soubor, který můze (nebo nemusí, pokud se nezvolí) být součástí sifrování. Při pouzití klíčového souboru, kde nelze předvídat jeho obsah je docíleno toho, ze počet bitů sifry je stejný, jako počet bitů sifrovaného souboru (i stovky MB) a tudíz je sifra absolutně neprolomitelná. Klíčový soubor se podobně jako heslo neukládá do skriptu s klíči a uzivatel si ho musí pamatovat. V globální části je mozné zamknout sifrovaný soubor na konkrétní počítač (součástí klíče bude obsah ROM BIOSu), zapnout podporu více souborů a adresářové struktury a zapnout kompresi. Pozor - ScriptCrypt není primárně komprimační program a pouzitý algoritmus balí dobře jen texty. Jiné soubory můze naopak znatelně prodlouzit. Pokud se tak stane, je o tom uzivatel informován a doporučuje se kompresi vypnout.
V lokální části je mozné zadat, ze soubor bude sifrován odzadu. To jednak znemozňuje při útoku na sifrovaná data desifrovat jen malý kousek dat s tím, ze se třeba podle hlavičky pozná, jestli byl útok úspěsný, ale je třeba desifrovat vzdy celý soubor. Druhá výhoda je v tom, ze je třeba teoreticky dvojnásobný počet útoků při neznalosti klíčů. Pokud je pouzita jedna sifra a útočník neví která, bylo by normálně 18 (program pouzívá 18 algoritmů) mozností (přičemz kazdá z těchto mozností můze odolávat útoku po dobu značně přesahující lidský zivot). Pokud útočník navíc neví, ze soubor mohl být sifrovaný odzadu, je uz 36 mozností. Tato drobnost můze zvýsit dobu potřebnou k úspěsnému útoku například z 10000000000000000000000000000000 na 20000000000000000000000000000000 let, pokud je pouzito větsí mnozství sifer, jsou správně vygenerovány klíče a útočník nemá přístup k heslu, klíčům a klíčovým souborům.
CriptCrypt nemá implicitně zádnou kontrolu správnosti dat, ale pokud si uzivatel přeje, můze pro některý lokální klíč zadat, ze bude přidán hash kód. Na jedné straně to pomůze odhalit spatně zadané heslo nebo poskození dat, ale na straně druhé to můze usnadnit útok na zasifrovaný soubor. Program má díky implicitní absenci zabezpečení bezkonkurenční ochranu proti útoku hrubou silou, jelikoz bez kontrolního kódu nelze nijak poznat, jestli byla data rozlustěna správně a nebo jestli má útok pokračovat.
Lokální sifru lze pojmenovat v řádce "Step name", například zde můze být ulozena výzva k zadání hesla.
Seznam klíčů je mozné editovat a polozky je mozné jednotlivě nebo hromadně smazat. Vygenerované klíče je mozno ulozit do skriptu a opět je načíst tlačítky "Save script" a "Load script".
Jakmile je korektně zadán klíč, je mozno přejít k sifrování dat. V pravé části se vybere soubor (pokud je povoleno "Multiple files", tak i více souborů, popřípadě adresář v horní části obsahu disku - začleněny budou vsechny soubory včetně podadresářů a prázdné adresáře). Tlačítky "Encrypt" začne probíhat sifrování, jehoz průběh můze uzivatel sledovat na ukazateli v dolní části plochy aplikace. Sifrování i desifrování můze probíhat i delsí dobu, pokud se pouzije více sifer. Je absolutně nevhodné pouzít na celocédéčkový soubor 1024 sifer, sifrování by probíhalo az několik dní. Na CD doporučuji tak 4 sifry. Na krátké dopisy (několik KB) pouzijte klidně i tisíce sifer. Přesto, ze ScriptCrypt má vlastní kompresi, doporučuji data raději zabalit v RARu na nejvyssí kompresi, solid archive a nejvyssí dictionary size a interní kompresi ScriptCryptu vypnout.
Protoze pseudonáhodné generátory pouzívané v programovacích jazycích nejsou pro účely sifrování pouzitelné, je pro vygenerování klíčů třeba zásah uzivatele. Podobně jako u programu PGP se náhodná čísla generují podle pohybu mysi po plose programu. Čím chaotičtěji bude uzivatel pohybovat mysí, tím lépe. Nicméně náhodná čísla jsou generována podle více kritérií (souřadnice mysi, rychlost pohybu mysi, aktuální datum a čas s přesností na milisekundy), takze i nesmělé popotahování mysičky v rohu splní svůj účel. Generování klíče probíhá na začátku sifrování a v případě, ze dojde buffer s náhodnými čísly, je uzivatel pozádán o vygenerování nového. Při generování větsího mnozství klíčů můze zabrat generování více bufferů poměrně dost času (i několik minut hýbání mysičkou J ). Program ScriptCrypt generuje náhodná čísla i během pouzívání programu, například zatímco vyplňujete informace o klíčích. Zároveň je implementována podpora externího programu ExternalRND, který náhodná čísla generuje na pozadí, zatímco uzivatel například píse dopis v OpenOffice nebo jakkoli jinak pracuje s počítačem. Pokud chceme vyuzít externí generátor, je třeba pouze nastavit adresář, kde se nachází buffery s náhodnými čísly vygenerované programem ExternalRND.
Odsifrování:
Pro odsifrování je třeba nahrát (nebo ručně zadat) stejný klíč, který byl pouzit pro zasifrování. Hesla ani klíčové soubory nejsou nijak kontrolovány - úmyslně, aby byl vyloučen útok hrubou silou. Je třeba přesně vyplnit celý postup, který byl pouzit při sifrování - tedy i pouzití zámku na počítač, vícenásobné soubory, komprese, soubory pozpátku a pouzití hash kódů. Vse je ale (s výjimkou hesla a klíčových souborů) ulozeno do skriptu. Se skriptem je třeba zacházet nanejvýs obezřetně ! Pokud by se ke skriptu útočník dostal, záviselo by prozrazení dat uz jen na kvalitě pouzitých hesel !
Pozor: pokud uzivatel nezapne pouzití hash kódu pro některou ze sekcí, program úmyslně pro vyssí bezpečnost nekontroluje, zda byly pouzity správné algoritmy, správné heslo a správná metoda desifrování !!! Uzivatel si musí desifrovaná data buď překontrolovat sám (obrázek lze zobrazit, text lze číst.) nebo musí sifrovat archívy, které jsou samy chráněny před změnami dat.
Tento způsob zabezpečení velice ztězuje pokusy o prolomení sifry, protoze útočník nemá moznost ověřit, zda jsou data desifrována správně. Bez znalosti klíče je tedy nemozné při pokusu o prolomení sifry poznat, zda byl klíč zadán spatně (zkousení vsech klíčů můze zabrat i miliardy let při současné technologii pro jeden algoritmus) a nebo zda byla data desifrována správně, ale následuje dalsí algoritmus ze seznamu (ale který ? J
Konec programu:
Program se ukončuje tlačítkem "Exit" nebo standardním zavíracím křízkem.
Pozadavky pro běh programu:
Program ScriptCrypt nemá zádné zvlástní pozadavky pro spustění a pouzívání. Lze jej provozovat na vsech 32bit operačních systémech Windows (Win95, Win98, WinME, WinNT, Win2000, WinXP). Program nic neukládá do registrů ani kamkoli jinam, lze jej pouzívat ihned po spustění bez nutnosti instalace a odinstalovat pouhým smazáním. Program pracuje optimální rychlostí, která je srovnatelná s běznými komprimačními programy, pouzívat jej lze i na starsích počítačích. Rychlost klesá v závislosti na počtu pouzitých algoritmů (pochopitelně J
Licenční podmínky:
Program ScriptCrypt zle volně sířit a zdarma pouzívat za dodrzení licenčních podmínek ZOA, ale přes to, ze je program zdarma, nebudou odmítnuty zádné případné penězité ani věcné dary J
Program plně vyhovuje standardu AES, ale díky implementování starsích prověřených sifer můze program pouzít i ten, kdo nedůvěřuje neprověřeným novinkám.
Program ScriptCrypt povazuji za natolik bezpečný, ze jej pouzívám i pro svoje data J :-) I při pouzití jednoho z bohatého výběru a dobrého utajení klíče a hesla je v současné době nemozné v bězných podmínkách prolomit sifrovaná data. Pokud se dokonce pouzijí vsechny nabízené sifry a to v libovolném pořadí a několikrát, můze se cítit bezpečně státní agent i galaktický gigaterorista J
|