Hlavní navigace

Šifrování není žádná věda

9. 7. 2008

Sdílet

Nejjednodušším, nejlevnějším a zároveň nejjistějším způsobem ochrany elektronických dat před nepovolanými osobami je šifrování. Pojďme se podívat na naprosté základy této technologie, která je mnohem silnější, než si často myslíme

CS24

Základní principy šifrování
Šifrování je – zjednodušeně řečeno – proces, při kterém jsou z původních dat s pomocí šifrovacího klíče a algoritmu vytvořena data šifrovaná. Tedy taková data, která jsou přístupná pouze oprávněné osobě.

Data v zašifrované podobě jsou „nečitelná“, nelze z nich vyčíst původní obsah. Pokud má tento být znovu zpřístupněn, musí být data dešifrovaná. Děje se tak pomocí dešifrovacího klíče a dešifrovacího procesu (jehož součástí je i algoritmus) – ty by měla mít k dispozici právě a jen oprávněná osoba, proto je zajištěna důvěrnost dat.
Šifrovací/dešifrovací algoritmus je přesně stanovený a neměnný postup, kterým dochází k šifrování a/nebo dešifrování dat. Nejde o žádnou černou magii, ale zpravidla o zcela transparentní proces – jeho důvěryhodnost není dána utajením (neboť to by vnášelo do ochrany dat nejistý prvek náhody), ale širokou odbornou oponenturou. Pravděpodobnost použití špatného postupu je v takovém případě velmi blízká nule. Mnohem častěji se lze setkat se špatnou implementací algoritmu: ten pak není nebezpečný sám o sobě, nebezpečné je právě jeho špatné použití.

V případě šifrování potřebujeme také šifrovací klíč. To je hodnota (resp. hodnoty), která je v celém procesu šifrování proměnná. Typicky je klíč jednak náhodně vygenerovanou částí a jednak heslem, s jehož pomocí dochází k šifrování (a bez jehož znalosti těžko provedete dešifrování).

Jak to celé funguje si můžeme ukázat na příkladu. Chceme zašifrovat nějaká data – a to třeba pomocí oblíbeného archivovacího programu WinRAR. Ten standardně používá moderní šifrovací algoritmus AES (Advanced Encryption Standard). V programu vybereme data, která chceme zašifrovat, vložíme heslo (= šifrovací klíč) a program následně provede celý proces šifrování pomocí algoritmu AES. S vzniklým souborem lze manipulovat (kopírovat, přenášet apod.), ale bez znalosti dešifrovacího algoritmu a především dešifrovacího klíče (algoritmů není mnoho a odhadnout ho je otázka několika sekund) není možné získat přístup k původním datům.

Pro úplnost: pokud se pokouší o zjištění původního obsahu dat neoprávněná osoba, pak nehovoříme o dešifrování, ale o luštění.

Hodit se může také pojem staganografie, kdy nedochází k převedení původních dat do zašifrované podoby, ale kdy je vlastní existence nějakého sdělení tajena. Jinými slovy: neoprávněná osoba vůbec netuší, že má v rukou utajovaná data. Typickým příkladem je vkládání různých skrytých dat do elektronických obrázků.

Nová technologie umožní skrýt důvěrná data v dokumentech
Inovativní technologie od Xeroxu umožňuje skrýt informace v dokumentu před uživateli bez příslušných oprávnění. Její unikátnost tkví v tom, že umí zašifrovat pouze sekce nebo odstavce dokumentu, což nebylo dřív možné.

Společnost Xerox představil softwarovou technologii Intelligent Redaction (inteligentní redigování), která automatizuje proces odstraňování důvěrných informací z jakéhokoliv dokumentu. Neoprávněné osoby se tak již nedostanou k vašim soukromým údajům.

Jakmile uživatel označí informaci, kterou chce ochránit, software automaticky zašifruje všechny zmínky o této informaci v celém dokumentu. Může se jednat například o jména a názvy společností, adresy, identifikační a rodná čísla a vztahy mezi nimi. Pro každého uživatele tak může vypadat dokument jinak. Software je navíc schopný danou informaci následně rozpoznat a skrýt i v dalších dokumentech. Tím se docílí konzistentní úrovně zabezpečení ve firmě, úspory času a zvýšení přesnosti celého procesu zpracování.

Technologie inteligentního redigování kombinuje software pro zabezpečení dat, přirozený jazyk a efektivní uživatelské rozhraní a tvoří tak poloautomatické způsoby pro identifikaci a ochranu citlivého obsahu. Technologie vytváří zákulisní audit, který obsahuje citlivé informace a dokumenty, ve kterých se nacházejí.

Redigování je schopnost kontrolovat, co někdo vidí. Tradičně se používá např. v právních dokumentech, kde chrání citlivé informace, které právník od klienta získal. Výsledkem je, že dokument, který je potřeba např. v rámci důkazního řízení předložit dalšímu subjektu, je zcenzurován a určité pasáže v dokumentu jsou zakryté. Díky tomu tak uvidí například soudní rozhodnutí nebo výsledky obchodního jednání jen uživatelé s příslušnými oprávněními.

Symetricky nebo asymetricky?
V šifrování rozlišujeme dva základní principy: symetrický a asymetrický. Zásadní rozdíl mezi nimi spočívá v tom, že symetrický používá pro šifrování i dešifrování shodný klíč. Výhodou je vyšší rychlost a jednoduchost tohoto systému – prostě oprávněná osoba nebo osoby mají jeden jediný klíč. Pak jsou tu ale nevýhody. Pokud jeden klíč slouží k šifrování veškerých dat a stejný klíč slouží i k jejich dešifrování, pak každý oprávněný majitel klíče může číst veškerá zašifrovaná data. Představte si třeba skupinu dvaceti osob, kdy tato vlastnost znamená, že každý může číst všechno a že v rámci této skupiny není možné při symetrickém šifrování komunikovat mezi třeba dvěma osobami diskrétně. (Ledaže by si pořídily vlastní šifrovací klíč.)

Navíc při prozrazení šifrovacího klíče se útočník dostává ke všem datům. A celý systém je tak vlastně ve vteřině položen na lopatky. Z těchto důvodů se symetrické šifrování používá třeba při komunikaci pouze dvou partnerů, kde si data šifrují navzájem a chrání je před zraky „třetí strany“. Nebo v případě šifrování „sám pro sebe“: třeba zálohovaných dat nebo při ochraně dat na počítači. Je to vhodné pro notebook, u něhož hrozí odcizení nebo ztráta. Pokud jsou data zašifrovaná, pak se útočník dostává pouze „k rozsypanému čaji“ a obsah pevného disku (nebo alespoň jeho zašifrovanou část) nepřečte. Přijdete tak sice o hardware, ale nedojde k úniku dat.
Naproti tomu asymetrický princip je mnohem bezpečnější – ale také o něco náročnější na nasazení i používání. Jde o to, že šifrovací klíč je rozdělený na dvě poloviny. První část – veřejná – je k dispozici všem, kdo chtějí šifrovat pro adresáta. S pomocí veřejné části šifrovacího klíče dochází k zašifrování dat.

K dešifrování pak dochází s pomocí soukromé části šifrovacího klíče. Obě části šifrovacího klíče jsou přitom navzájem nezaměnitelné a navíc využívají jednocestné matematické funkce tak, že z veřejné části klíče není možné získat jeho soukromou polovinu. Výhodou je vyšší bezpečnost, protože vždy dochází k šifrování pro konkrétní osobu.

Co z výše uvedeného tedy plyne pro asymetrické šifrování? Každý, kdo chce komunikovat pomocí tohoto systému, si musí vytvořit klíčový pár – část soukromou a část veřejnou. Každý, kdo chce šifrovat data pro určitou osobu, musí nejprve získat jeho veřejnou část klíče. Při kompromitaci (= prozrazení) jednoho soukromého klíče jsou ohrožena jen data zašifrovaná pro tuto osobu, ale nikoliv data všechna. Dále je možné si vybírat, pro které osoby budou data šifrována (pro všechny v systému, jen pro někoho, pro vybranou skupinu…).

On-line nebo na vyžádání?
Pro úplnost dodáváme, že z hlediska provedení šifrování se lze setkat s pojmy on-line a on-demand. On-line znamená, že k šifrování a dešifrování dochází v reálném čase. Např. máte zašifrovaný textový soubor, při pokusu o přístup k němu je určeno, zda jde o oprávněnou osobu (např. zná heslo): pokud ano, pak je dešifrován a mohou být prováděné změny. V okamžiku zavírání souboru je zašifrován. Nikdy se tedy na počítači nevykytuje v nezašifrované podobě (jen v paměti).
On-demand znamená šifrování na vyžádání. Třeba v případě, kdy máme na disku nějak datový soubor a rozhodneme se jej někomu poslat v šifrované podobě – pak využijeme šifrování na vyžádání. Nebo když chceme zašifrovat zálohovaná data. Jinými slovy: pokud data nezašifrujeme, zašifrovaná automaticky nejsou (při on-line šifrování jsou zašifrovaná stále, kromě chvíle, kdy se s nimi pracuje).

Někde mezi on-line a on-demand se nachází šifrování off-line. Jeho implementace se může software od softwaru lišit, nicméně obecný princip je takový, že na počátku práce (většinou při spuštění počítače) jsou dešifrovaná všechna data – a na konci práce (vypnutí počítače) jsou zase zašifrovaná. Výhodou je rychlost práce s daty a relativní bezpečnost, kdy se data na vypnutém počítači fakticky nenacházejí. Tento systém ale není příliš výhodný pro práci s většími objemy dat – zpracování několika gigabajtů může na běžném počítači trvat desítky minut, což značně zpomaluje jeho zapínání i vypínání.

Legální vs. nelegální?
Šifrování je opravdu nesmírně silný nástroj, o čemž svědčí i fakt, že mnohé země začaly vydávat různé restrikce třeba na vývoz nebo dovoz šifrovacích systémů – legendární je dnes příběh Phila Zimmermanna, který v roce 1991 vyvezl zdrojové kódy svého šifrovacího algoritmu PGP vytištěné na papíře. V elektronické podobě byl jejich export z USA totiž zakázaný – stačilo je ale pouze přepsat na papír…

Třeba Velká Británie na bezmoc policistů, kteří se často dostanou k výpočetní technice, ale nejsou z ní schopni díky šifrování získat žádná užitečná data, reagovala přijetím zákona RIPA (Regulation of Investigatory Powers Act, Zákon upravující vyšetřovací techniky). Či přesněji: upravila jej, protože samotný zákon existuje již mnoho let. Upravený byl paragraf 49 požadující, aby vyšetřovaná osoba upravila elektronická data do zpracovatelné formy (= aby zašifrovaná data dešifrovala). A také paragraf 51, který vyžaduje předání dešifrovacích prostředků (algoritmů, klíčů či jakýchkoliv dalších atributů).

Úprava zákona začala platit 1. října 2007, přičemž neposlechnutí obou uvedených paragrafů může být trestáno až dvouletým nepodmíněným odnětím svobody. Což může být v mnoha případech symbolické: pokud si mám vybrat desetiletý trest za vážný zločin nebo dva roky za neprozrazení klíče, ve vlastním zájmu volím mírnější variantu (a doufám, že policie nic dalšího v rukách nemá). Zákon RIPA obsahuje jeden zajímavý dodatek. Ten hovoří o tom, že je trestné se komukoliv jakkoliv zmiňovat o tom, že je vyšetřovaný právě pod tímto zákonem. Je to ale logické: policie často před zkoumáním důkazů neví, co vlastně najde. Zato vyšetřovaný to ví nebo přinejmenším tuší, takže by mohl někoho varovat, čímž by mařil vyšetřování.

Podobný problém je nyní aktuální i ve Spojených státech, kde soud jednomu muži nařídil zašifrovaná data na notebooku zpřístupnit, aby toto nařízení vzápětí soud vyšší instance zamítl s tím, že je v rozporu s pátým dodatkem ústavy Spojených států. Tedy s dodatkem, v němž se praví, že nikdo nemůže být nucen k sebekriminalizaci. Nyní probíhá další odvolání. Jak dopadne, není vůbec jisté, nicméně spor (známý jako Boucher vs. USA) se stane průlomovým ostře sledovaným případem, protože americké právo je postaveno na precedentech (tedy minulých rozsudcích). Celá problematika rozhodně není vůbec jednoduchá.

Podobná situace je i v Česku: v dnešní době neexistuje zákon nebo síla, která by přiměla vyzradit obsah šifrovaných dat. Což může být stejnou měrou důležité pro ochranu soukromí, stejně jako zneužitelné pro únik před spravedlností. Na druhé straně podotýkáme, že třeba v případě odposlechů tvoří jejich obsah jen polovinu důkazů. Druhá polovina mozaiky je poskládána z toho, kdo, kdy, odkud a za jakých okolností telefonoval. Stejné je to i v případě šifrování: nejde jen o to, co je zašifrováno (i když někdy je to jediná otázka), ale i kdy to bylo šifrováno, proč, s kým byla vyměňovaná šifrovaná data atd. V žádném případě tedy nelze vyvodit následující jednoznačný závěr: kdo šifruje kvalitně, nemusí se v případě ilegální činnosti obávat trestu. Aneb lepší než spoléhat na šifrování je dodržovat zákony.oprávněními.

Na co si dát pozor?
Pokud vám z předchozích řádků jde hlava kolem a jen jsme upevnili vaše přesvědčení, že šifrování bylo, je a zůstane výsadou tajných služeb, neodpovídá to realitě. Šifrovat se v podstatě dá i bez znalosti základních pojmů – viz třeba výše zmíněná aplikace WinRAR, kde šifrování probíhá stejným způsobem jako běžná archivace.
Nicméně přesto existuje několik pouček technicko-organizačního charakteru, na které se vyplatí nezapomínat. Jde o časté a typické chyby, jichž se uživatelé běžně dopouštějí.

První z nich je skutečnost, že se často zapomíná na to, že pro odstranění dat z disku pouhé zašifrování nestačí. Aneb pokud původní data nejsou bezpečně smazána (nejlépe několikanásobně přepsána pomocí specializovaného softwaru), lze je bez větších potíží obnovit. Samozřejmě, že toto obnovení je s časem čím dál tím obtížnější, protože původní data na disku jsou postupně „přepsána“, ale okamžitě po zašifrování jsou stoprocentně obnovitelná. Takže: nezapomínejte, že pokud má být zaručena stoprocentní důvěrnost, musíte z disku odstranit i „smazaná“ data.

Často se také lze setkat se slepým spoléháním na silný algoritmus nebo délku klíče. Argument „používáme 128bitové šifrování“ je z hlediska bezpečnosti naprosto nevypovídající. Nejde totiž jen o délku klíče: některé algoritmy dosáhnou stejné bezpečnosti při 64bitovém šifrování jako jiné při 512bitovém šifrování. Takže neposuzujte pouze délku, ale i kvalitu algoritmu. A ani to není všechno: je zapotřebí posuzovat i kvalitu nasazení. Špatně napsaný program může totálně zlikvidovat sebelepší algoritmus.

Na to navazuje další problém: používání slabých hesel. Nespoléhejte na to, že když jsou data šifrovaná, tak se k nim prostě nikdo nedostane. Při dnešních výpočetních kapacitách není problém vyzkoušet během krátké doby (v řádu dnů či týdnů) různé kombinace hesel – viz třeba rozličné programy na odhalování „zapomenutých“ hesel dokumentů DOC nebo archívů ZIP. Takže opět: nespoléhejte se pouze na délku a kvalitu hesla, bezpečnosti musíte pomoci sami!

Častým problémem je také nezálohování šifrovacích klíčů. Zálohují se data, jsou šifrovaná – to je v pořádku. Ale co šifrovací klíče? Jak se asi dostanete k datům ve chvíli, kdy pevný disk odejde do věčných lovišť všech disků? Nebo ve chvíli, kdy se prostě rozhodnete přeinstalovat operační systém, přičemž smažete data na pevném disku? Nezapomínejte na archivaci šifrovacích klíčů – a nejlépe i celých šifrovacích programů a/nebo algoritmů. Vždyť zašifrovaná data můžeme potřebovat i po letech! (V takovém případě se asi vyplatí nějakým způsobem – ovšem jiným než fixou na zálohovací CD/DVD disk – archivovat i použité heslo. Spoléhat se na to, že si na něj po deseti letech ještě vzpomeneme, je asi hodně optimistické…)

Šifrovací programy dostupné zdarma
Na následujících řádcích přinášíme několik tipů na šifrovací programy dostupné zdarma. Nicméně obecně bychom vás chtěli před používáním různých jednoduchých a „no-name“ šifrovacích programů varovat. Nemáte u nich záruku použití kvalitního algoritmu (proprietární algoritmy bývají mj.nekompatibilní), nemáte u nich záruku kvalitní implementace, ani záruku toho, že neobsahují nějaké trojské vlastnosti umožňující neautorizovaný přístup k zašifrovaným datům. Samozřejmě, stoprocentní jistotu nemáte ani u komerčních řešení – ale je rozhodně vyšší. Komerční řešení bývají oponovaná, certifikovaná, využívají licencované algoritmy apod. – což samozřejmě něco stojí. Do našeho přehledu jsme se snažili vybrat co nejlepší programy, třeba „odlehčené“ verze profesionálních řešení. Když už nic jiného, alespoň s nimi poznáte základy šifrování – a pak můžete směle vykročit směrem k profesionálnímu řešení.

Pozor! Nesprávně použité šifrování může být velmi nebezpečné! „Učit se“ je potřeba krok po kroku – a při zkoušení je nutné mít všechna data zálohovaná. Začátečníkům navíc důrazně nedoporučujeme programy šifrující celé disky: jejich nesprávné použití často vede k likvidaci operačních systémů a ztrátě dat na disku.

CryptoExpert 2008 Lite
Web: http://www.secureaction.com/cryptoexpert/lite/


Velmi rychlý šifrovací program, který je zjednodušenou verzí (k dispozici zdarma) silného komerčního řešení. Využívá šifrovacích algoritmů Blowfish, Rijndael, DES a Triple DES. S pomocí CryptoExpert 2008 Lite můžete vyvářet virtuální disky nebo „datové trezory“ – šifrované oblasti na pevném disku, které se dají snadno zálohovat či kopírovat. K datům se dostáváte po zadání hesla, následně je celý proces zcela transparentní (= už nemusíte nic dělat a s daty pracujete, jako by byla na samostatném disku nebo v samostatné složce). Pro případ ohrožení je k dispozici tlačítko, kterým bleskurychle všechny zašifrované oblasti/disky odpojíte – pro další práci s nimi je nutné se opět přihlásit.

FileWaster
Web: http://www.jcmatt.com/filewaster.html


Program známý také pod starším označením File Buddy. Kromě šifrování nabízí uživateli i funkci bezpečného mazání dat, takže tato nezůstanou na počítači k dispozici neoprávněným zvědavcům. Stejně tak je možné ho použít pouze jako „elektronickou skartovačku“, tedy pro bezpečné smazání dat bez nutnosti jejich šifrování. FileWaster před šifrováním soubory komprimuje, takže šetří místo.

FreeOTFE
Web: http://www.freeotfe.org/


Jedná se o zajímavý open source program, který je k dispozici pro PC i PDA. Jím vytvořená zašifrovaná data jsou kompatibilní, tedy navzájem přenositelná. Jeho velkou předností je, že na počítači vytváří virtuální disk, který se ovšem chová jako disk normální. Všechna data na tomto „virtuálním disku“ jsou přitom šifrovaná. Toto řešení má mnoho výhod: uživatel se nemusí starat o to, zda jsou či nejsou data šifrovaná (co je na disku, prostě už šifrované je). Navíc se s „virtuálním diskem“ velmi snadno manipuluje – dá se kopírovat, zálohovat, přenést… Z hlediska uživatele je tedy FreeOTFE maximálně jednoduchý. Podporuje silné algoritmy AES, TwoFish a Serpent.

HandyBit EasyCrypto Deluxe
Web: http://www.handybits.com/easycrypto.htm


Také s touto aplikací se pracuje poměrně jednoduše: vyberete si soubory, které chcete šifrovat (můžete i z několika různých adresářů), zvolíte volbu Encrypt Files, zadáte heslo (jak už to v podobných aplikacích bývá, opakovaně – šifrování opravdu není hračka, se kterou by bylo radno si zahrávat), následně dojde k šifrování. Pozor! Při něm dochází ke smazání původních souborů!
V EasyCrypto máte možnost i vytvořit archív, se kterým se pak snadno pracuje, případně s jeho pomocí zašifrujete soubory do EXE balíčku, takže k získání původních dat nepotřebujete žádný speciální program. (Pozor na posílání tohoto EXE e-mailem: tato příloha bývá často automaticky považována za nebezpečnou a jako taková mazána. Proto je minimálně vhodné ji před posílání ještě „zapouzdřit“ nějakým archivačním programem, třeba do formátu ZIP nebo RAR, a příjemce na odeslání EXE souboru upozornit.) Pro nekomerční použití je HandyBit EasyCrypto Deluxe zdarma, pro komerční je nutné zakoupit licenci.

Kryptel Lite
Web: http://www.kryptel.com/products/krlite/index.php


Jde o zjednodušenou verzi profesionálního šifrovacího programu, proto je jeho kvalita poměrně vysoká. Aplikace funguje nesmírně jednoduše – kontextovým tlačítkem označíte zvolený soubor, který chcete šifrovat. Zadáte z kontextového menu buď volbu Encrypt to EXE nebo Encrypt to EXE and Shred. V prvním případě dojde pouze k zašifrování dat, v druhém i ke smazání dat původních. Následně zadejte heslo a dojde k zašifrování vybraných dat do EXE souboru.
Je to na jedné straně nesmírně jednoduché a praktické: tento soubor můžete bez problémů zálohovat, posílat e-mailem apod. Na získání původních dat nepotřebujete žádný speciální program, ten je obsažený v EXE archívu.