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) |
Ceník Advertising info CW
English version in PDF Advertising info BW
English version in PDF
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...
Předplatné v ČR Předplatné v SR CW
Kariera Databáze IT akcí
Profil Kontakt IDG Czech PCWORLD GameStar
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
Verze pro tisk
|
|
|