Šifrování

Definujme si šifrování jednoduše: Je to umění a věda zabývající se tím, jak udržet informace v bezpečí. To zahrnuje využití šifrování (a dešifrování). Použití šifrování v dnešním světě znamená, že zde musí být také nějaké prostředky zajišťující, že komunikace byla skutečně napsána osobou, která o sobě prohlašuje, že je jejím autorem (tedy použití digitálních podpisů). Navíc musí šifrovací systémy zajistit, že zpráva po dešifrování odpovídá původní zprávě před jejím zašifrováním.

Tradiční systémy šifrování jsou založeny na tom, že jak odesílatel, tak i příjemce, mají stejný tajný klíč, tj. ten samý klíč je použit k zašifrování i k dešifrování. Tato metoda je známá jako symetrické šifrování. Problém této metody spočívá v tom, že odesílatel musí nějakým způsobem doručit tento tajný klíč příjemci; a odesílatel nemůže zaručit, že klíč nebude cestou zachycen neautorizovanou osobou.

Správa klíčů

Správa klíčů popisuje generování, přenos a uložení šifrovacích klíčů. Protože symetrické šifrování se od počátku potýkalo s problémy se správou klíčů, byl uveden na svět koncept šifrování s veřejnými klíči.

Šifrování s veřejnými klíči

V šifrování s veřejnými klíči obdrží každá osoba pár klíčů, jeden z nich je soukromý a druhý je veřejný. Veřejné klíče jsou dostupné komukoliv, ale soukromé klíče jsou udržovány v tajnosti. Při komunikaci dochází k přenosu veřejných klíčů, zatímco soukromý klíč není nikdy nikam přenášen ani není s nikým sdílen. Zašifrované zprávy jsou odesílány otevřeně a po přijetí jsou dešifrovány soukromými klíči. Jediným požadavkem je, aby veřejné klíče byly přiřazeny svým vlastníkům (např. v důvěryhodném adresáři). Tato metoda může být také použita pro autentizaci zpráv (pomocí digitálního podpisu).

Zašifrování

Jestliže chce Zuzana poslat tajnou zprávu Františkovi, použije Františkův veřejný klíč k zašifrování zprávy a pak ji odešle. František pak užije svůj soukromý klíč k dešifrování zprávy, takže si ji může přečíst. Nikdo jiný nemůže dešifrovat zprávu, protože nemá Františkův soukromý klíč. Bezpečnost tohoto komunikačního systému tedy stojí na skutečnosti, že není možné získat soukromé klíče ze znalosti odpovídajících veřejných klíčů.

Digitální podpisy

Jestliže chce Zuzana podepsat svou zprávu Františkovi, provede výpočet, který zahrnuje jak její soukromý klíč, tak i zprávu samotnou. Výsledek tohoto výpočtu je nazýván digitální podpis, a ten je připojen ke zprávě před jejím odesláním. Po té, co František zprávu přijme, chce prověřit její pravost. Proto provede výpočet, který využívá zprávu, podpis, který obdržel, a Zuzanin veřejný klíč. Jestliže je výsledek tohoto výpočtu kompatibilní s jednoduchým matematickým vztahem, pak František ví, že zpráva je pravá, tj. že nebyla podvržena ani pozměněna cestou.

Šifrování s veřejnými klíči má určité přednosti oproti symetrickému šifrování:

Tak jako u všeho, i zde jsou jisté nevýhody:

Existují situace, kdy není šifrování s veřejnými klíči nutné, a samotné šifrování s tajnými klíči je dostačující, např. v situaci, kdy se obě strany osobně setkají k výměně tajných klíčů.

Navíc šifrování s veřejnými klíči není nutné ani v případě prostředí jednoho uživatele, takže, jestliže si přejete zašifrovat své vlastní osobní soubory, můžete použít jakýkoliv šifrovací algoritmus s tajnými klíči a použít, řekněme, své osobní heslo jako tajný klíč.

Obecně, šifrování s veřejnými klíči je nejvhodnější pro otevřené multiuživatelské prostředí, a nepředpokládá se, že by nahradilo šifrování s tajnými klíči. Kombinace obou metod zajišťuje nejlepší úroveň bezpečnosti.

Algoritmy pro šifrování

DES

DES znamená Data Encryption Standard a je to bloková šifra definovaná a schválená vládou USA jako oficiální šifrovací standard.

DES je symetrický šifrovací systém, tj. je-li použit ke komunikaci, pak jak odesílatel, tak i příjemce musí znát stejný tajný klíč, který je použit jak k zašifrování, tak i k dešifrování zprávy. Tato šifra využívá bloky o velikosti 64 bitů a pro šifrování používá klíč dlouhý 56 bitů.

DES může být rovněž použit pro šifrování jediným uživatelem, tj. umožňuje uživateli uložit si své soubory na pevný disk v zašifrované podobě.

Nejsou známy žádné snadné metody útoku na algoritmus DES; jediný vhodný způsob prolomení algoritmu DEs je investovat několik milionů dolarů do výpočetní síly, která je nutná k prolomení tohoto algoritmu.

Je-li DES používán ke komunikaci, je třeba měnit často klíče a věnovat speciální pozornost správě klíčů. Nejlepším způsobem, jak použít DES k šifrování souborů na pevném disku je neměnit často DES klíče, protože to by znamenalo dešifrovat a pak znovu šifrovat všechny zvolené soubory při každé takové výměně klíče. Místo toho je lepší mít nějaký master DES klíč, kterým zašifrujeme seznam DES klíčů používaných k šifrování souborů.

Triple DES je algoritmus, který se stále více dostává do povědomí odborné veřejnosti. Jeho označení indikuje, že dochází třikrát k šifrování DES algoritmem, a ne pouze jednou. Vysoká úroveň bezpečnosti je zajištěna tím, že při každém z těchto šifrování je použit jiný klíč.

IDEA

IDEA reprezentuje pravděpodobně nejlepší a nejbezpečnějí blokový šifrovací algoritmus, který je v současnosti k dispozici. Zdá se, však, že jeho popularita je negativně ovlivněna skutečností, že je tento algeritmus patentován (a to jak v Evropě, tak i v USA), na rozdíl od algoritmu DES. Navíc je to algoritmus relativně nový, byl uveden na veřejnost teprve v roce 1992. Přesto se jeho popularita stále zvyšuje, a to i v souvislosti se skutečností, že tento algoritmus je částí systému PGP.

Algoritmus IDEA je při šifrování přibližně dvakrát rychlejší než algoritmus DES. Vyšší úroveň bezpečnosti algoritmu IDEA ve srovnání s algoritmem DES se vysvětluje skutečností, že IDEA využívá klíčů o délce 128 bitů. Takže IDEA je dvakrát rychlejší než DES a současně nabízí více než dvakrát vyšší úroveň bezpečnosti.

Abychom si ilustrovali úroveň bezpečnosti algoritmu IDEA, uveďme, že útok silou by vyžadoval 228 (1038) šifrování k nalezení klíče. aby toto bylo možno provést, museli bychom mít k dispozici počítačový čip schopný otestovat bilion klíčů za sekundu. Trvalo by to tedy 1013 let nalézt klíč.

Myslím, že nikdo nemůže odmítnout tvrzení, že rozlousknout algoritmus IDEA je velmi nesnadný úkol.

Shrnutí symetrického šifrování (systémy se soukromými klíči):

RSA

Algoritmus RSA je bezesporu nejznámější algoritmus veřejných klíčů na světě.

Společnost RSA Data Security Inc. vyvinula symetrický algoritmus RSA, na který má USA patent až do roku 2000. Algoritmus RSA se bez pochyby stal nejvíce využívaným asymetrickým algoritmem. Jeho vývojáři prohlašují, že po celém světě se používá 25 milionů kopií RSA technologie. Mnohé společnosti slavných jmen používají RSA algoritmus ve svých produktech, např. IBM, Microsoft, Lotus, Apple, Novell, AT&T a Digital. Interně jej pak používají společnosti jako jsou Boeing, Shell Oil, DuPont, Raytheon a Citicorp.

Ve skutečnosti je algoritmus RSA jakýmsi šifrovacím standardem ve většině světa, i když nezískal plné ocenění a označení ISO. Jednotlivé státy (jako např. Austrálie) se rozhodly přijmout algoritmus RSA jako standard, stejně jako některá odvětví průmyslu (např. francouzský bankovní sektor).

Důležitou funkcí algoritmu RSA je jeho systém prověřování pomocí digitálních podpisů.

Digitální podpis:

Shrnutí asymetrického šifrování (systémy s veřejnými klíči):

Co je to šifrovací systém využívající eliptických křivek(EEC)?

Šifrovací systémy využívající eliptických křivek (EEC) využívají algebraický systém definovaný na bodu nějaké eliptické křivky k získání šifrovacích lagoritmů veřejných klíčů (asymetrického), které mohou být použity k:

RSA, ElGamal a Diffie-Hellmanovo schéma výměny klíčů jsou založeny na matematických operacích s poli prvočísel nebo s okruhy tříd reziduí. Obtížnost prolomení těchto schémat spočívá ve velmi nesnadném řešení problémů operací s velkými prvočísly a v řešení problémů spojených s diskrétními logaritmy. Slabost schématu RSA je dána skutečností, že používá nízké exponenty, které mohou být snadno nalezeny pomocí tzv. 'rychlých útoků'.

Společnost AEC vyvinula softwarové řešení, které umožňuje praktické využití šifrovacího algoritmu ELLIPT, který představuje šifrovací algoritmus veřejných klíčů, pracující na principu eliptických křivek (ECC). Algoritmus ELLIPT využívá šifrování, digitální podpisy a správu klíčů, a díky nim poskytuje vysokou úroveň bezpečnosti. Tím se stává ideální volbou pro ta nejnáročnější prostředí. společnost AEC v současné době implementuje algoritmus ELLIPT do svých produktů řady IronWare, aby zajistila vysoce bezpečnou komunikaci po Internetu. Systém ECC je rovněž návrhován jako standard třemi hlavními standardizačními organizacemi: Institutem elektrického a elektronického inženýrství (IEEE), Mezinárodní standardizační organizací (ISO) a Americkým národním institutem pro standardizaci (ANSI).

ECC Matematická historie

Problém eliptických křivek nad konečným prostorem je dobře znám už mnoho let.

Problém eliptických křivek v systémech veřejných klíčů byl poprvé popsán panem Neal Koblitzem z washingtonské univerzity. Základní myšlenkou je využít skupinu bodů (nazvanou Galoisovo pole) z eliptické křivky a aplikovat ji na existující systémy založené na diskrétních logaritmech. Bezpečnost eliptických křivek a diskrétních logaritmů byla studována po mnoho let mnohými odborníky, včetně následujících:

N. Koblitz A. Menezes, T. Okamoto a S. Vanstone V. Miller

Podorobné a vyčerpávající studie nebyly schopny identifikovat žádné slabiny této metody, které by mohly ovlivnit její výkonnost.

Navzdory komplexnosti matematických výpočtů, které jsou vyžadovány v systémech ECC, algoritmus ELLIPT vyžaduje pro šifrování a generování klíče přibližně stejný čas jako algoritmus RSA. Algoritmus ELLIPT společnosti AEC však poskytuje mnohem vyšší úroveň bezpečnosti, aniž by byla narušena snadnost jeho použití.

Proč má ECC skvělou buducnost?

Nedávná zdokonalení v operacích s celými čísly a současný vývoj jasně povedou k požadavkům na větší délku klíčů používaných ve většině současných systémů veřejných klíčů. Delší klíče učiní systémy veřejných klíčů pomalejšími. Použití ECC umožní zvětšit délku klíčů a jejich sílu, aniž dojde ke ztrátě rychlosti.

Současné ECC standardy

  1. IEEE, P1363 - Eliptické křivky jsou uvedeny v návrhu standardu IEEE P1363 (Standard pro šifrovací systémy veřejných klíčů), který zahrnuje mechanismy šifrování, digitálních podpisů a správy klíčů. Jsou podporovány eliptické křivky jak nad Zp, tak i nad F2m. V případě F2m jsou podporovány polynomické báze a normální báze prostoru F2m nad libovolným podpolem F2l.
  2. ANSI X9 - Algoritmus pro digitální podpois pomocí eliptických křivek (Elliptic Curve Digital Signature Algorithm neboli ECDSA), X9.62, je návrh standardu v pracovní skupině X9F1. ECDSA popisuje metodu digitálního podpisu za pomoci eliptické křivky analogické k NIST DSA.
  3. ANSI X9 - Transportní protkoly a správa klíčů eliptických křivek (Elliptic Curve Key Agreement and Transport Protocols), X9.63, je novou pracovní položkou skupiny X9F1. Tento materiál předkládá několik metod pro výměnu klíčů v šifrovacích systémech používajících eliptické křivky.
  4. IETF - Materiál OAKLEY protokol pro práci s klíči (OAKLEY Key Determination Protocol) vypracovaný organizací Internet Engineering Task Force (IETF) popisuje protokol pro práci s klíči, který je variantou Diffie-Hellmanova protokolu. Může být použit pro řadu různých skupin, včetně eliptických křivek nad F2155 a F2210.