Moderní metody šifrování |
autor: Redakce PCT , publikováno 19.7.2005 |
Seznam kapitol |
---|
1. Úvod |
V dnešní době je často potřeba posílat citlivé informace přes veřejné komunikační kanály, což jsou telefonní a počítačové sítě a zejména celosvětová počítačová síť internet. Po těchto sítích posílají tajná a citlivá data nejen komerční firmy, ale i státy, diplomaté, nebo armády celého světa (bohužel taky teroristické nebo kriminální organizace). V otevřených sítích, jako je internet, je jednoduché jakoukoliv informaci odposlechnout, proto vznikla potřeba šifrovat data a skrýt je tak před nepovolanými osobami.
Kryptografie používaná na internetu je poměrně nová věc, která se rychle rozvíjí. Zvětšováním internetu vznikla potřeba silných šifer, které jsou založeny na matematických principech a jsou závislé na výkonných počítačích. Teprve nedávno rychlost počítačů splnila požadavky šifrovacích metod tak, že je mohl používat každý.
V dnešní době se uživatel počítače a internetu o šifrování často ani nestará, počítače si zprávy mezi sebou šifrují (pokud je to třeba) na pozadí. Pokud v následujících kapitolách budu mluvit o odesilateli a příjemci, můžou to být počítače, například server, který poskytuje klientovi citlivá data.
Šifrujeme tak, aby se útočníkovi nevyplatilo šifru prolomit. Musí platit tato nerovnost:
NÁKLADY > ZISK
Náklady útočníka na dešifrování by měly být větší než zisk, který by útočník měl v případě úspěšného dešifrování.
Data, která chceme zašifrovat, např. e-maily, obrázky, tabulky, jsou v počítači vyjádřena velkými čísly. Šifrovací programy provádějí s těmito čísly složité operace. Rozlišujeme dva typy šifrovacích metod: symetrické a asymetrické.
Symetrické šifrování
Symetrické šifrování je mnohem jednodušší než asymetrické šifrování. Jednak nepotřebuje tak výkonné počítače, jednak je jednodušší jeho princip. Vzniklo mnohem dříve.
U tohoto typu šifrování je potřeba stejný klíč k zašifrování i k dešifrování, což je zároveň jeho největší slabina. Klíč se musí dostat od odesilatele k adresátovi bezpečným kanálem (cestou), aby adresát mohl zprávu dešifrovat. Pokud takový bezpečný kanál existuje, je často jednodušší zprávu nešifrovat a poslat ji rovnou tímto kanálem.
Při symetrickém šifrování používáme stejný klíč k šifrování i k dešifrování
Tento způsob se může použít například tehdy, jestliže se obě strany (odesílatel i adresát) předem dohodly na klíči ještě v době, kdy bezpečný komunikační kanál existoval. Klíč si mohly předat i osobně. Když kanál zanikne, začnou strany komunikovat šifrovaně s předem dohodnutým klíčem.
Kromě problému distribuce klíče má tento typ šifrování další nevýhodu: pokud je účastníků komunikace víc, vzrůstá počet klíčů kvadraticky. Pokud chceme mít pro každou dvojici komunikujících stran jiný klíč, potřebujeme n(n-1)/2 klíčů, kde n je počet účastníků. (Jestliže je počet komunikujících malý, příliš to nevadí.)
Asymetrické šifrování
Asymetrické šifrování řeší problém distribuce klíče k příjemci. Zde, na rozdíl od symetrického šifrování, není potřeba dostat tajný klíč bezpečně k druhé straně. Už z názvu plyne, že se používá jiný klíč k zašifrování a jiný zpátky k dešifrování.
Každý účastník komunikace má dva klíče. První z nich je veřejný, ostatní ho mohou nebo dokonce musejí znát. Druhý je privátní (soukromý). Tato dvojice klíčů má takovou vlastnost, že jedním se zpráva zašifruje a druhým, který k němu patří, se zpráva dešifruje.
Odesilatel tedy zašifruje zprávu veřejným klíčem adresáta. Ten přijme zašifrovanou zprávu a dešifruje ji svým privátním klíčem. Protože je jediný, kdo má tento privátní klíč, zprávu nemůže nikdo cizí přečíst. (Při použití jiného klíče, který nepatří ke klíči, kterým se šifrovalo, dostaneme samozřejmě nesmysl).
Při asymetrickém šifrování používáme dva klíče, které k sobě patří: jedním zprávu zašifrujeme, druhým dešifrujeme.
Šifrovací metoda RSA je zatím jedna z nejrozšířenějších, používá Malou Fermatovu větu a modulární aritmetiku. Modulární aritmetika je část matematiky, která se zabývá zbytky po dělení celých čísel. Síla této šifry je založena na tom, že ještě neznáme rychlý způsob, jak rozložit velká čísla na prvočinitele. Pokud někdo objeví rychlý způsob rozložení velkých čísel na prvočinitele, bude šifra prolomena. Dnes ale ještě není známo, zda takový rychlý způsob vůbec existuje.)
Každý účastník komunikace má jeden privátní a jeden veřejný klíč. celkový počet klíčů je 2n, tedy přímo úměrný počtu účastníků n.
Hybridní šifrování
Asymetrické šifrování má jednu velkou nevýhodu. Je velmi náročné na matematické operace, tedy i na výkon počítače. V praxi se proto používá kombinace symetrického a asymetrického šifrování. Tomuto způsobu se říká hybridní šifrování. Využijeme výhod obou: rychlost symetrického šifrování a „použitelnost" asymetrického šifrování.
Odesilatel zvolí klíč, kterým symetricky zašifruje zprávu. Tento klíč zašifruje veřejným klíčem adresáta a pošle ho spolu se zprávou adresátovi. Adresát tedy dostane asymetricky zašifrovaný klíč a symetricky zašifrovanou zprávu. Klíč dešifruje svým privátním klíčem a použije ho k dešifrování textu. Tím zaniká problém distribuce klíče při symetrickém šifrování a zároveň se celý proces zrychlí. (Asymetrické šifrování je pro dlouhé zprávy pomalé).
Ve skutečnosti je to ještě trošku jinak. Pokud chtějí dva počítače komunikovat přes otevřenou síť, kde je každý může „odposlechnout“, vytvoří relaci. Na začátku relace vygeneruje jeden z nich klíč, zašifruje ho veřejným klíčem druhého počítače a pošle mu ho. Druhý počítač si klíč dešifruje, takže teď už mají oba dva stejný klíč, který kromě nich nikdo jiný nezná. Můžou už tedy používat symetrické šifrování, protože to je daleko rychlejší. Každá jejich další komunikace, která probíhá během relace, je symetricky zašifrovaná.
Pokud chceme používat hybridní šifrování mezi n účastníky, potřebujeme stejně jako u asymetrického šifrování 2n klíčů. Zde je sice ještě navíc potřeba symetrický klíč, ten však při každé relaci jeden z počítačů vygeneruje, takže po skončení relace už není potřeba.
Závěr
Na závěr bych rád popsal některé způsoby útočníků, kterými zašifrovanou zprávu rozluští bez znalosti klíče.
Rozluštění hrubou silou
Někteří útočníci spoléhají na hrubou sílu. Mechanicky zkoušejí všechny klíče a doufají, že se někdy trefí. V praxi to samozřejmě dělají počítače. Doba, kterou k tomu počítač potřebuje, se zdvojnásobí každým bitem klíče navíc. Délka klíče se tedy volí tak, aby luštění „hrubou silou" trvalo tak dlouho, než zpráva ztratí platnost.
Kryptoanalytika
Když je šifrovací metoda nedokonalá, je často rychlejší pro útočníka zkusit najít nějakou slabinu, periodu atd. Tím se zabývá kryptoanalytika. Kryptoanalytici hledají například něco, co se opakuje, nebo nějakou pravděpodobnost výskytu písmen, kterou pak porovnávají s pravděpodobností výskytu písmen v průměrném textu stejného jazyka.
Tyto dvě metody používá k rozluštění podezřelých zpráv i CIA. V Americe bylo dlouho omezení na export šifrovacích programů. Délka klíče byla omezená na 56 bitů, aby Americká rozvědka dokázala dešifrovat co nejvíce zpráv.
Lidské selhání
Většina rozluštěných zpráv je však rozluštěna tak, že útočník získá nebo ukradne klíč. Často využije neopatrnosti vlastníka klíče. Jindy útočníkovi pomůže k získání klíče někdo "zevnitř" za finanční odměnu.
Redakce si vyhrazuje právo odstranit neslušné a nevhodné příspěvky. Případné vyhrady na diskuze(zavináč)pctuning.cz
ingenie ingenius
Jinak fandim pctuningu !!
Btw, odkud jsou ty obrázky?
Více o šifrování (GPG, Thunderbird a Enigmail, PGP a další) a praktické postupy jsou třeba zde:
http://hulan.cz/blog/item/sifrovani-pro-lamy-instalace-gnupg-gpg-na -windows
http://hulan.cz/blog/item/sifrovani-pro-lamy-thunderbird-s-enigmail -a-gnupg
http://hulan.cz/blog/item/paranoia-sifrovani-dat-na-disku
http://hulan.cz/blog/item/pgp-desktop-umi-sifrovat-cely-bootovaci-disk a>
Hodně lidí řeší otázku, jako je s výkonem athlon 64 vs. semprom na stejné frekvenci nebo ratingu.
Nebo test chladičů na VGA. Ne dva chladiče, aole třebas 5. Zalman, Artic, Primecooler, atd.Například na 6600GT AGP se cokoliv těžko schání.
Nebo testy vlivu pamětí na výkon. Zda je lepší DDR 400 CL.2 nebo 500 s CL.3, zda a jak se projeví timing pamětí ve hrách atd. Jak u AMD tak i intelu.
Nápadů je hodně...
Od tohoto čláku jsem čekal více. Například návod jak poslat šifrovanou zprávu kamarádovi nebo zašifrovat data na HDD.
článek spíše pro matematiky než pro PC štouraly:-)
Neříkám že článek byl špatný, ale mě se nelíbil.
Nadpis neodpovida obsahu...
Cela redakce 30hal dolu ;)
Kde jsou ty doby, kde tu byly clanky ohledne pripojeni LCD z PS1 na PC, ztisovani kejsu a tak...
Cisco ruleZz
Tohoto tématu se jakštakš drží pouze na
www.pretaktovani.cz
Taky bych se přimlouval za zmínku o jednotlivých programech, zvláště pokud by byly zdarma.
A najlepsia rubrika su novinky...
Ale nie o tom je mi len trocha luto ze autor nespomneul QuantumComputers kde vypocetna sila rastie exponencialne a kde by aj taka 2048 bitova sifra bola zvladnuta v rozumnom case...Samozrejme ze je to len utopia aj ked vo vyvoji kvantovych pocitacov sa za poslednych par rokov zaznamenal velky pokrok ale v takomto clanku by som cakal aspon zmienku o tom.... Aj ked co my vieme niake vyskumne centrum v LosAlamos mozno uz dekryptuje davno ...:o))
Ten kto pozna aspon z dostupnych iformacii desifrovaci globalny desifrovaci satelitny system pod kodovym nazvom "Eshelon", zdokonaleny "Encoridge" z prosukcie NSA + CIA vie o com hovorim.
Treba si uvedomit, ze tieto zlozky vzdy musia byt o minimalne krok, dva vpred ako vacsina "uzivatelov" a to nie len HW vybavou, SW kryptovacimi algoritmami, a ludskym potencialom na desifrovanie.
Individualna osoba je pre nich nezaujimava pokial nevykonava nezakonnu cinnost v globalnom meritku, ale napr. priemyslelna spionaz sa da vzdy zneuzit, hlavne ked chce mat konkurencia Vase informcie alebo technologie, ci dokonca poznat Vasu cenovu ponuku pri nejakej verejnej sutazi atd.
Zoznam nejakych tych programov na zabezpecenie vasich dat, kde vyuzijete kryptovanie, ale aj bezpecne mazanie suborov z Vasho disku pomocou RNG (random number generator) resp. carodejnikov:
1/ asi najznamejsi PGP Whole Disk
2/ vynikajuci CyberScrub Privacy Suite 4.0 (VIA PadLock certifikat)
3/ netreba zabudat na postovy klient Thunderbird s Enigmail a GnuPG
4/ dalej skvely WinZIP 9.0 AES 128/192/256
5/ velmi rychly MarcoPolo Software KryptON 2.2 a MarcoPolo Software DataDESTROYER 1.1
6/ TurboCrypt AES Version
7/ TrueCrypt (open source projekt-nulova cena)
8/ Advanced Archive Password Recovery
atd................ je ich velmi vela.
HARDWAROVE KRYPTOVANIE VIA CPU.
Velkou prednostou VIA C3/Eden/Eden-N jadro Nehemiah je zabudovana hardwarova podpora kryptovania a dekryptovania nahodnych cisiel PadLock RNG (Random Number generator) ACE (Advanced Cryptografi Engine) ktory dokaze rychlo kryptovat a dekryptovat data v znamom AES 128,192,256 bits. Vyuzitie je napr. pri WinZIP 9,0 ako aj programoch PGP, SyberScrub Privacy Suite 4.0 (vyuzitie je napr. utajenie subor a dat pred okolitym svetom napr. uctovnictvo, rozne projekty, a mnoho ineho co ten ktory uzivatel povazuje za dolezite mat zabezpecene pred okolitym svetom ) Na porovnanie kryptovania a dekryptovania tabulka VIA C3 1.2GHz vs. P4 3.0GHz. Menej je lepsie v sekundach. P4 vyuziva samozrejme len softwarove kryptovanie a C3 Nehemiah C5P hardwarove. Procesory VIA sa zamozrejme vyznacuju nizkou spotrebou energie vo Watoch. C3 1.0GHz 11W, C3 1.2GHz 18W. To su maximalne hodnoty optimum je pri beznej praci okolo 6-8W.
VIA C7 prinasa do tejto oblasti omnoho vacsi benefit, tak je sa na co tesit.
AES 128-bit
CPU ECB CBC CFB OFB
P4 18.875 22.625 22.188 21.64
VIA C3 1.022 2.053 2.053 4.026
AES 192-bit
CPU ECB CBC CFB OFB
P4 24.406 26.593 26.226 25.516
VIA C3 1.472 2.684 2.604 4.256
AES 256-bit
CPU ECB CBC CFB OFB
P4 28.516 30.75 30.437 29.765
VIA C3 1.702 3.074 2.985 4.276
VIA C3 (Nehemiah C5P) PadLock Security Suite (2x RNG, ACE)
VIA C7 (Esther C5J)PadLock Security Suite ( 2x RNG, ACE, NX-Bit, Secue Hash (Full SHA-1, SHA-256, 20Gbps peak), + RSA hardware assist (Montgomery Multiplier) +CBC/CFB-MAC/ CTR modes, enhanced performance + feeds to SHA.
Tak tiez sa pripajam, ze tento clanok bol dobry, a zostava mi dufat, ze bude mat aj pokracovanie, nevadilo by aj "troska" viac sofistikovanejsie.
Umi steganografii pro BMP, GIF a PNG.
Jinak co se tyce steganografie pak mam zkusenosti jeste s algoritmem "F5" od Andrease Westfelda (TU Dresden), pouzivam interface "Frontend" [java] od Christiana Wohneho.
"F5" umi schovat data do souboru BMP, GIF a JPEG.