Šifrování na Internetu (2)

4. 6. 2009

Sdílet

Hlavní výhodou útoků typu Side Channel Attacks je to, že se vyhýbají matematické podstatě šifer (tedy zdaleka nejsilnějšímu bodu obrany) a místo toho raději udeří na způsob implementace.

První díl

Jak pravděpodobně sami víte, problematice dešifrování se věnuje tzv. kryptoanalýza. Vznik tohoto oboru bývá datován do 10. století našeho letopočtu, kdy arabští kryptoanalytikové odhalili způsob, jak zlomit tzv. monoalfabetickou šifru. Od těch časů se mnohé změnilo jak v oblasti vymýšlení šifer (kryptografii), tak přirozeně i na druhé straně pomyslné barikády. Jde vlastně o takový ukázkový příklad evolučního „závodu ve zbrojení“, kdy někdy má navrch kryptografie a jindy zase kryptoanalýza.

S jakými metodami útoků se můžete setkat v dnešní době a existuje vůbec něco jako „neprolomitelná šifra“, pokud pomineme šifry s klíčem stejně dlouhým jako samotná zpráva nebo kvantová kouzla?

Spousta současných šifer (DES, AES aj.) je zdánlivě „neprolomitelných“ v praxi, nikoliv ale v teoretické rovině. A konkrétní případy z historie nám ukazují, že občas se někomu podaří právě takových teorií použít i k vymyšlení zbrusu nového a účinného typu útoku. Už jenom ze samotné rychlosti vývoje ve světě informačních technologií vlastně lze usoudit, že žádná ochrana není stoprocentně bezpečná v dlouhodobém horizontu. Přesto se ideálu „absolutního zabezpečení“ můžete zkusit alespoň přiblížit, a ztížit tak práci všem zájemcům o data vaše či vašich klientů.

Pokud používáte symetrické šifrování, pak je hlavním kritériem jeho síly vlastní délka klíče. Při populárním Brutal Force Attack totiž útočník bude postupně zkoušet právě „všechny“ možné klíče. Například DES 56bit (používaný tradičně v bankovním sektoru v USA) by v dnešní době bylo možné prolomit již velmi snadno i rychle. Oproti tomu asymetrické šifry obvykle stojí a padají na vybraných speciálních číslech (prvočísla aj.) a útok je potom soustředěn právě na jejich analýzu. Příkladem asymetrické šifry může být známý algoritmus RSA. Oba jeho klíče (veřejný i soukromý) jsou funkcí dvojice velkých prvočísel a při pokusu o prolomení se stává problémem rozklad součinu na dva činitele.

V praxi se daří lámat RSA šifry s délkou nad 660 bitů, přičemž délka 1 024 bitů se již považuje za naprosto bezpečnou. Ovšem... Abyste si udělali lepší představu o tom, jak by vlastně Brutal Force Attack na takovou šifru musel vypadat, vraťme se krátce do roku 2008. To společnost Kaspersky Lab (v reakci na trojského koně Gpcode) vyzvala k pokusu o prolomení právě šifry RSA 1024 bit. Aby byl takový pokus úspěšný čistě hrubou silou, bylo by do něj nutné zapojit minimálně 15 miliónů počítačů, pracujících na problému alespoň jeden rok.

Je tedy dobře patrné, že Brutal Force Attack není v případě kvalitní šifry dostatečně efektivní metodou, neboť běžný smrtelník 15 miliónů PC nevlastní a ani k různým superpočítačům přístup nemá. Existují však pochopitelně i jiné způsoby jako třebas Side Channel Attacks. V roce 2003 byla nalezena slabina, umožňující s využitím právě postranních kanálů provést úspěšný útok na protokoly SSL/TLS. Server používající RSA 1024bit při testech podlehl v celé polovině případů už do cca 55 hodin, což je zcela nesrovnatelné s časovými (i finančními) nároky zmíněnými výše.

 

Útoky postranním kanálem

Hlavní výhodou útoků typu Side Channel Attacks je to, že se vyhýbají matematické podstatě šifer (tedy zdaleka nejsilnějšímu bodu „obrany“) a místo toho raději udeří na způsob implementace. Postranní kanál bývá dnes už často definován jako „každá informace, kterou program dá o fungování šifrovacího systému k dispozici útočníkovi“. To může být poněkud zavádějící, takže se raději podíváme na nějaký konkrétní příklad.

Nechť platí, že používáme skutečně absolutně bezpečnou šifru a současně si je tohoto faktu vědom i sám útočník. Ví tedy, že ať vyzkouší nakrásně jakoukoliv metodu, nedokáže stejně nikdy naší šifru prolomit. Má i přesto šanci na úspěch? Nutno vzít v potaz, že nyní již pečlivě zašifrovaná informace byla přesto v jednu chvíli bez problémů dostupná a v jednu chvíli také ještě bez problémů dostupná bude (konkrétně po dešifrování ze strany příjemce). Oba tyto kritické okamžiky nabízejí mnohdy vynikající příležitost, jak se vlastní zprávy zmocnit. Co když nevědomky používáte takový šifrovací software, do kterého autoři vložili backdoor? A co když tento backdoor někdo náhodou odhalí?

bitcoin_skoleni

To ale zdaleka není všechno. Existují další speciální typy Side Channel Attacks, které se soustřeďují na vlastní průběh šifrování. Řekněme, že našim záměrem je tentokrát pokusit se o prolomení RSA, přičemž chceme redukovat množinu faktorizace. K tomuto účelu získáme použitelnou hodnotu měřením času nutného k šifrování. Konkrétně tato metoda se osvědčila dokonce natolik, že byla následně úspěšně využita i u řady jiných šifer.

Z výše napsaného tedy plyne, že ani eventuální „neprolomitelná šifra“ by rozhodně nebyla zárukou stoprocentní bezpečnosti – zvláště tehdy, pokud máme ve zvyku podceňovat i otázky implementace a vše pro nás v zásadě končí u prostého nainstalování (byť vysoce kvalitního) šifrovacího softwaru...