12.5.2002
<-Hledej - Rozšířené hledání
CW DAILY NEWS

Mobily
Hardware
Počítače do kapsy
Internet
MP3 a digitální hudba
Komentáře
Software
Vývoj a programování
Viry
Testy
Události
Business
Lidé
Sítě a komunikace
Ankety




NOVÝ COMPUTERWORLD
č. 18/2002 vychází 10. 5.
Bezpečí uživatele versus jeho soukromí
(COVER STORY)

České IT firmy útočí za hranice
(TÉMA TÝDNE)

Inkoustový tisk: Kvalitní a levný
(TECHNOLOGIE)

Písmenka z laserových paprsků: Tiskárny pro SOHO
(TEST)


INZERCE
Ceník
Advertising info CW
English version in PDF
Advertising info BW
English version in PDF

VZKAZY A DOTAZY
K článku DNA počítač vybírá automobily
Co si tak pamatuju na své studium, tak problém obchodního cestujícího (dále jen OC) patří do trošku úplně jiného soudku než "výběr automobilu" (VA). Mám zato, že OC je ve svém důsledku kombinatorická úloha. Zatímco VA je "jen" řešení jakési váhové fce...

NAŠE DALŠÍ STRÁNKY
Předplatné v ČR
Předplatné v SR
CW Kariera
Databáze IT akcí

Profil
Kontakt
IDG Czech
PCWORLD
GameStar



KONTAKT
Vaše návrhy, připomínky, komentáře, kritiku (i pochvalu :-)) zasílejte na adresu petr_velecky@idg.cz


Cesta kryptologie do nového tisíciletí: Od asymetrické kryptografie k elektronickému podpisu

13.09.2000 - V minulém díle jste se mohli seznámit s historií kryptologie od prapočátků ve starověku, podívali jsem se i na středověk a přes nedávné dějiny obou světových válek jsme se dostali až k objevu asymetrické kryptologie. A bude to právě tato revoluční metoda, která spolu se standardem DES a jemu podobnými bude ústředním tématem tohoto dílu. Putování historií pak bude uzavřeno opravdu tou nejžhavější současností -– elektronickým podpisem.

Asymetrická kryptografie
Asymetrická kryptografie je založena na této myšlence: Každý subjekt má svůj tajný (soukromý) klíč a k němu veřejný klíč. Tajný klíč je určen k zašifrování a veřejný klíč k odšifrování. V síti o n subjektech je tak potřeba připravit jen 2n klíčů, přičemž veřejné klíče lze opravdu zveřejnit a odpadá tedy nutnost složité, nákladné a nebezpečné distribuce těchto klíčů. Šifrování mezi subjekty A a B pak probíhá takto: A má dvojici klíčů "AS" (soukromý klíč), "AV" (veřejný klíč), B má k dispozici obdobně klíče "BS" a "BV". Klíče "AV", "BV" jsou zveřejněny a jsou tedy A i B známy. Subjekt A připraví text, který chce utajit, zašifruje jej svým klíčem "AS" a dále jej zašifruje veřejným klíčem příjemce "BV" (jinak by zprávu mohl odšifrovat každý, kdo má přístup k veřejnému klíči "AV"). Příjemce B potom nejprve zašifruje přijatou zprávu pomocí svého soukromého klíče "BS" (ten zná jen on) a dále pomocí veřejného klíče odesílatele.
Brzy po zveřejnění teoretického schématu asymetrické kryptografie (1978) se objevuje první šifrový systém založený na této myšlence. Vžil se pro něj název RSA (zkratka z prvních písmen tvůrců systému Rivest, Shamir a Adelmann). Tento systém se po malých úpravách (především prodloužení klíče a stanovení jistých pravidel, která musí klíče splňovat) používá dodnes. Je založen na obtížném matematickém problému -- faktorizaci (rozkladu na prvočísla) velkých čísel. Vše si nejlépe uvědomíme na následujícím jednoduchém příkladě. Zkusíte najít celočíselné dělitele čísla 217502279? Jsou jimi dvě prvočísla 14713 a 14783. Zatímco vyhledání těchto čísel vyžadovalo relativně dost práce, pak vynásobení těchto dvou čísel je velice jednoduchým úkonem.
Vzhledem k tomu, že RSA ovlivnilo kryptologii konce 20. století a význam celého systému v souvislosti se zavedením elektronických podpisů neustále roste, řekněme si něco více o matematických principech tohoto systému.

Postup při vytváření dvojice klíčů (veřejného a tajného) pro RSA je následující:
a) Nejprve náhodně (a nepredikovatelně) vygenerujeme dvě dostatečně velká prvočísla (jejich přibližná velikost, tj. počet bitů, je zadána).
b) Spočteme n = p*q a F (n) = (p-1)*(q-1), kde F (n) je Eulerova funkce určující počet přirozených čísel nesoudělných s n.
c) Zvolíme náhodné číslo e, kde 1 < e < F (n), tak, že největší společný dělitel (e, F (n)) = 1 (tj. e a F (n) jsou nesoudělná).
d) Užitím Eukleidova algoritmu spočteme jednoznačně definované číslo d takové, že 1 < d < F (n) a e*d 1 mod F (n).

Veřejným klíčem je potom dvojice (n,e), tajným klíčem uživatele je d. Číslo n nazýváme modulem, číslo e šifrovacím exponentem a číslo d dešifrovacím exponentem. Patent na algoritmus RSA drží již od jeho vzniku americká společnost RSA Data Security Inc. Právě nyní (tedy přesněji 20. 9. 2000) tento patent vyprší a algoritmus bude uvolněn k veřejnému použití bez poplatků. Jak se dále dozvíme, stane se tak právě v době, kdy může tento algoritmus sehrát rozhodující úlohu v zavádění elektronických podpisů dokumentů.
Jsme ale stále ještě na začátku 80. let. Světová odborná společnost vývojem asymetrické kryptografie slaví velký úspěch. Tajné služby USA a Anglie mlčí a neprozrazují, že jim je celý systém asymetrické kryptografie již znám. Teprve v roce 1997 byl uveřejněn článek Jamese Ellise z britské CESG (Communications -- Electronics Security Group), nazvaný "The history of Non-Secret Encryption" , ve kterém jeho autor popisuje, jak princip asymetrické kryptografie (jím nazývaný jako Non-Secret Encryption, NSE) objevil už v roce 1970. Dále uvádí, že speciální variantu RSA objevil jeho kolega Clifford Cocks v roce 1973. Tajným službám je však přesto jasné, že jejich náskok před světovou veřejností se zmenšuje.

První symetrický standard -- DES
Přes zjevné výhody systému RSA se systém na přelomu 70. a 80. let ještě moc neprosazuje. Výpočetní složitost je obrovská a tehdejší slabé počítače pracují pomalu. Šifrování dlouhých textů je tak pomalé, že není prakticky použitelné. Je stále potřeba používat symetrickou kryptografii. Asymetrická kryptografie má sloužit v budoucnu jen k distribuci klíčů a k identifikaci a autentizaci. Kryptologové se začínají zabývat hybridními systémy. Pomocí asymetrického šifrového systému se přenese klíč pro symetrický systém, a tím se dále šifruje. Na každou zprávu tak lze použít jiný symetrický klíč. Tato kombinace prakticky řeší a odstraňuje většinu problémů s distribucí klíčů. Zbývá maličkost -- silný a bezpečný symetrický algoritmus. Na scéně se objevuje první celosvětově uznávaný symetrický algoritmus DES (Data Encryption Standard).
Vývoj DES navazuje na vývoj šifrovacího algoritmu Lucifer od Thomase Watsona (IBM). Potřeba standardu jeho vývoj urychluje a DES je v roce 1977 v USA formálně přijat za veřejný standard pro ochranu senzitivních informací, nikoliv však pro ochranu informací utajovaných. Způsob ochrany tajných informací v USA není zveřejněn.
DES šifruje text po blocích délky 64 bitů, aktivní délka klíče je 56 bitů, hlavní prvek tvořící potřebnou nelinearitu, která chrání šifrový text před útoky analytiků, jsou tzv. S-boxy. Hned od počátku jsou zde určité nejasnosti okolo návrhu celého systému. NSA (National Security Agency) přesvědčila IBM o "vhodnosti" redukce délky klíče z původních 128 bitů na 56 bitů. NSA také změnila vnitřní strukturu jednoho z S-boxů. Martin Hellmann poukazuje na nebezpečí, které vyplývá z malé délky symetrického klíče. Celkově se však zdá, že algoritmus DES je prvním opravdu bezpečným algoritmem tohoto typu.
O tom, jaký byl náskok pracovníků NSA před odbornou veřejností, svědčí událost, která se váže se k procesu přijímání DES za standard. V roce 1976 uspořádal NBS (Národní úřad pro standardizaci) dvoudenní konferenci k diskuzi o DES. Na tuto konferenci byli pozváni všichni zástupci výzkumných organizací, univerzit, firem a další zájemci o kryptologii. Zástupce NSA pak ve svých vzpomínkách popisuje, že již během prvního dne bylo jasné, že toto shromáždění nemá dostatečné znalosti pro posouzení tohoto šifrového algoritmu. Dokonce tvrdí, že měl pocit, jako by byla pozvána skupina alchymistů k posouzení atomové bomby...

International Association for Cryptologic Research
Dalším možným mezníkem na naší pouti světem kryptologie je rok 1980. V tomto roce se koná v Santa Barbaře veliká konference věnovaná kryptologii. Konference má výjimečný ohlas a její další konání v roce 1981 (již pod názvem Crypto) zakládá tradici, která nepřetržitě trvá dodnes. Vytváří se nezávislá akademická skupina odborníků, kteří v roce 1982 zakládají IACR (International Association for Cryptologic Research). Od roku 1982 se také pod záštitou IACR konají pravidelná setkání vědců na evropském kontinentu -- Eurocrypty. Tyto pravidelné konference Crypto a Eurocrypt se stávají synonymem pro toto sdružení. Od svého založení vydává tato společnost vlastní a ve své době jediný časopis svého druhu -- Journal of Cryptology. Velice brzy získalo toto sdružení vůdčí postavení ve vědeckém a odborném světě kryptologie. V prostředí, kde po dlouhou dobu trvala absence jakýchkoliv odborných informací, sehrálo neocenitelnou roli a své vůdčí postavení si udržuje dodnes.
Kryptologická veřejnost sdružená v IACR podrobuje analýze blokovou šifru DES. Objevují se jisté teoretické útoky, lineární analýza, diferenční analýza. DES odolává. Dokonce jsou vyslovovány hypotézy, že NSA znala tyto metody již v době návrhu S-boxů.
Koncem osmdesátých a začátkem 90. let se objevuje celá řada dalších symetrických blokových algoritmů -- FEAL, GOST, IDEA, CAST, BLOWFISH atd. Autoři těchto systémů jsou výrazné postavy z komunity IACR. Tato komunita spolu soutěží o vytvoření silného, rychlého a bezpečného symetrického algoritmu. Kompatibilita veřejných systémů se tím sice snižuje, ale DESu se v této komunitě nevěří a hlavně prodej licencí na nové šifrové algoritmy se stává obchodně zajímavý. V ČR se v té době komerčně vyvíjí vlastní šifrovací čip SIC5000 (s algoritmem DVK). Současně se zjišťuje, že některé z těchto systémů, ač na první pohled velice podobné svoji strukturou DES, nejsou tak kvalitní a jsou rozbitelné. Japonský FEAL je totálně rozbit. Je to upozornění -- amatéři a poloprofesionálové nemají na poli kryptologie místo. Bez hluboké znalosti souvislostí nelze navrhnout bezpečný šifrový algoritmus.
Co však nedokázali kryptologové svými analytickými útoky, docílil rozvoj síly výpočetní techniky. Vyluštit šifrový text tzv. hrubou silou znamená, že odzkoušíme všechny možné klíče. Právě velikost klíče "pouze" 56 bitů se stala pro DES osudná. V roce 1993 J. Wiener z Bell Northern Research publikoval zprávu, v níž popsal zařízení, které vyzkouší všechny klíče DES do 7 hodin. Cenu takového zařízení odhaduje na jeden milion dolarů. V roce 1995 se na veřejnost dostává informace, že NSA vlastní stroj, který je schopen DES vyluštit do 15 minut. Toto zařízení sestrojila firma The Harris Corporation. Pro ty, kteří stále pochybovali, bylo komerčně sestrojeno a předvedeno speciální zařízení DES-cracker (1998), které je schopno otestovat všech 256 klíčů do 9 dnů a nalézt tak příslušné řešení.
DES musel být nahrazen jiným standardem. Prozatímně jej NIST (National Institute of Standards and Technology) nahrazuje implementací 3DES (TripleDES). V podstatě se jedná o opakované použití algoritmu DES. Zašifrování nyní probíhá takto: zpráva se zašifruje pomocí algoritmu DES a klíče K1, odšifruje se pomocí klíče K2 a opět se zašifruje pomocí klíče K3 (resp. v jiné verzi klíčem K1). Délka klíče se tak vlastně 3x (resp.2x) prodloužila a toto řešení se tímto stalo odolné proti útoku hrubou silou. FIPS-PUB-46-3 ustavuje jako současně platnou normu obě výše popsané verze algoritmu 3DES. Kryptologické veřejnosti je jasné, že řešení není optimální, a proto v roce 1997 NIST vypisuje veřejnou soutěž na vytvoření nového komerčního standardu pro symetrické šifrování.

Advanced Encryption Standard
Pro název tohoto nového algoritmu se vžilo označení AES (Advanced Encryption Standard). Vybraný standard má být velice flexibilní, lehce implementovatelný, má pracovat s 32bitovým mikroprocesorem, 64bitovým procesorem, ale i 8bitovým (v tzv. režimu smart card). AES má být 128bitová bloková šifra, musí podporovat klíče délky 128, 192 a 256 bitů. Výběr takového algoritmu, který je určen pro všechny typy aplikací a nasazení (klasický software pro PC, terminály pro elektronickou komerci, čipové karty), není opravdu lehký. Autoři tvrdí, že nově vzniklý standard by snad mohl být standardem pro celé 21. století! Algoritmus nesmí být patentován a pro vítěze je připravena odměna -- prestižní uznání kryptologické veřejnosti -- tzv. "zlatý vavřín kryptologie".

Elektronický podpis
Vraťme se ale zpět k asymetrické kryptografii. Dalším závažným využitím, mimo šifrování, je možnost elektronicky podepisovat dokumenty. Popišme si stručně, jak obecně probíhá proces elektronického podpisu nějakého dokumentu.
K výkladu potřebujeme ještě jeden kryptografický modul kromě asymetrické šifry, o které jsme se již podrobně zmínili. Tím modulem je hash. Hashovací funkce mají za úkol vytvořit takzvaný otisk zprávy. Vstupem hashovací funkce může být libovolná zpráva (libovolně dlouhá), na výstupu obdržíme její otisk, který má pevnou délku (128 nebo 160 bitů). Pokud bychom ve zprávě změnili byť i jediné písmenko, dostaneme na výstupu úplně jiný otisk. Hashovací funkce jsou obecně známé a kdokoli si může z jakékoliv zprávy takový otisk udělat. Navíc platí, že je výpočetně velice obtížné vytvořit k libovolné zprávě jinou zprávu, která má stejný otisk. Obtížnost tohoto úkonu je ekvivalentní obtížnosti rozšifrování zprávy bez znalosti klíče.
Nejznámějšími a nejpoužívanějšími představiteli hashovacích funkcí jsou MD5 (message digest, otisk délky 128 bitů) a SHA-1 (Secure Hash Algorithm, otisk délky 160 bitů).
Podepisující osoba musí mít dále připravenu sadu svých klíčů (soukromý a veřejný klíč) pro některý asymetrický algoritmus . Nejznámějším je RSA, ale mohou se použít i asymetrické algoritmy založené na diskrétním logaritmu nebo eliptických křivkách.
Proces elektronického podpisu pak probíhá takto: Podepisující osoba vypočte hash dokumentu, který chce podepsat, hash dále zašifruje pomocí zvoleného asymetrického algoritmu a pomocí svého soukromého klíče. Získaný výsledek "V" je přiložen k původní zprávě. Takto upravená zpráva je tzv. elektronicky podepsána. Jak postupujeme při ověření? K otevřenému textu vypočteme hash, označme jej "H1". Odšifrujeme "V" pomocí veřejného klíče podepsané osoby a dostaneme jím spočtený hash "H2". Nyní porovnáme "H1" a "H2". Pokud jsou tyto hodnoty shodné, pak nebyl dokument cestou změněn (hashe jsou shodné) a dokument podepsala osoba, které přísluší veřejný klíč (jen ta mohla "H2" zašifrovat pomocí svého soukromého klíče).
V praxi celý systém vyžaduje ještě třetí důvěryhodnou stranu. Tato třetí strana eviduje veřejné klíče a stvrzuje identitu jejich majitelů. Takováto strana se nazývá certifikační autorita. Používání elektronických podpisů však potřebuje zákonnou úpravu. Velice zhruba řečeno, musí být elektronický podpis (a jeho jednotlivé bezpečnostní varianty) přesně definován, je potřeba uznat rovnost elektronického podpisu s podpisem normálním, zajistit neodmítnutí elektronického podpisu z důvodu, že je proveden elektronicky a musí být stanovena pravidla chování certifikačních autorit a podmínky, které musejí tyto instituce splňovat, případně musí být stanoven určitý režim a dohled nad službami certifikačních autorit. Koncem roku 1999 přijala evropská komise Směrnici o elektronických podpisech (1999/93/EC) v rámci Evropské unie. Tento dokument je pro členy EU závazný a své zákony musí s tímto dokumentem postupně harmonizovat. Zároveň probíhal proces schvalování zákona o elektronickém podpisu i v České republice. Do tohoto zákona se podařilo včlenit většinu požadavků Směrnice. Po schválení v parlamentu a senátu podepsal 11. 7. 2000 tento důležitý zákon i prezident České republiky.



Pavel Vondruška
Související články
Cesta kryptografie do nového tisíciletí: Od Kámasutry k osobním zápiskům K. H. Máchy
Cesta kryptologie do nového tisíciletí: Od zákopové války k asymetrické kryptografii

Verze pro tisk

NEJČTENĚJŠÍ ČLÁNKY
Hračky pro Windows XP
Tenká paměť: Věčný záznam na obzoru
Bitva o 64 bitů: Opteron a Itanium 2
Věda ve službách Microsoftu: Kde bere Bill Gates své vize
DDR SDRAM nebo RDRAM: Rozhodnou uživatelé
Objektově-relační databáze: Nové prostředí pro staré aplikace
NEJNOVĚJŠÍ ČLÁNKY
Komentář: Jsme pozadu?
Mobilní zařízení budou nebezpečná
Duplexní laser značky Brother
Servodata začlenila DataScript
Test: Projektor s technologií LCOS
Micron odvržen, Hynix zrušil plánovanou fúzi

IDG Czech, a.s.