Pravdy o elektronickém podpisu a šifrování | |||||
| POPIS: |
Pravdy o elektronickém podpisu a šifrování (1) - základní pojmy
Stále se setkáváme s případy, kdy jsou základní informace o elektronickém podpisu podávány poněkud „deformovanou“ formou, takže v nich méně znalý uživatel může mít „trošku zmatek“. V tomto krátkém seriálu se vám budeme snažit problematiku šifrování a elektronického podpisu přiblížit srozumitelnou formou jak z teoretické, tak i praktické stránky.
O elektronickém (nebo chcete-li digitálním) podpisu se toho v posledních několika letech napsalo a namluvilo opravdu mnoho. Stále se však setkáváme s případy, kdy jsou základní informace podávány poněkud „deformovanou“ formou, takže v nich méně znalý uživatel může mít „trošku zmatek“. V tomto krátkém seriálu se vám budeme snažit problematiku šifrování a elektronického podpisu přiblížit srozumitelnou formou jak z teoretické, tak i praktické stránky.
Stará známá kryptografie
Asi nejvhodnějším způsobem, jak zahájit naši „procházku“ světem šifrování a elektronického podpisu, je začít u kryptologie jako takové. Pokud se zamyslíme nad jejím historickým vývojem, zjistíme, že lidé se snaží utajit důvěrné informace takříkajíc od nepaměti. Již ve starém Řecku se používaly hole různého průměru, na které se namotával pruh tkaniny. Na ten byla posléze podélně napsána tajná zpráva. Adresát pak musel vědět, jaký průměr hole použít, aby mohl látku znovu namotat a text si přečíst. Dalším významným milníkem byl např. vynález šifrovací mřížky (Kardinál Richelieu). Stejně jako ve spoustě dalších oblastí lidské činnosti nalezla i kryptografie významné uplatnění ve vojenství. Její bouřlivý rozvoj tak můžeme sledovat především v první polovině minulého století v době obou světových válek. Poslední (a pravděpodobně zatím největší) boom však zažila s nástupem moderní výpočetní techniky a výkonných počítačů.
Samotný vědní obor, který nazýváme kryptologie, můžeme dále dělit na kryptografii (vědní disciplína studující problém jak skrýt obsah informace do tvaru, ze kterého tato informace není jednoduše zjistitelná) a kryptoanalýzu (zabývá se rozbíjením existujících šifrovacích algoritmů). Základním prostředkem ke zmíněnému utajení zpráv je šifrování. Šifra (nebo také šifrovací algoritmus) je matematická metoda, pomocí které se za „účasti“ šifrovacího klíče převede čitelný text do nečitelné podoby (šifrovaného textu).
K tomu, aby bylo možno zašifrovaný text převést zpět do otevřené (čitelné) podoby, musíme logicky kromě konkrétního použitého algoritmu znát také šifrovací klíč. Největším problémem tedy zpravidla není jak zprávu zašifrovat, ale jak adresátovi bezpečně předat potřebný klíč. I z tohoto důvodu byly postupem času vyvinuty dva druhy šifrovacích algoritmů: symetrické a asymetrické.
Obr. 1 - Symetrické šifrování
V případě symetrického šifrování se pro zašifrování i pro dešifrování dat používá jeden šifrovací klíč. Stejný klíč musí mít k dispozici všichni, kdo se šifrovanými daty pracují. Logicky tedy vyplývá potřeba zajistit jeho bezpečné předání určeným osobám. Ve chvíli, kdy dojde k jeho prozrazení byť jen jedinou zúčastněnou osobou, jsou všechny jím zašifrované informace prozrazeny.
Mezi nejznámější symetrické šifrovací algoritmy patří DES, 3DES, IDEA, BlowFish a CAST. DES byl vyvinut v laboratořích IBM již v průběhu sedmdesátých let. V roce 1977 se dokonce stal vládní normou USA pro šifrování. Používá klíč, který má délku 56 bitů. Vzhledem k tomu, že se výpočetní technika postupem času výrazně zdokonalila, dnes již DES z hlediska bezpečnosti nedostačuje. Podařilo se jej dokonce prolomit pomocí tzv. „hrubého útoku” (vyzkoušením všech možných kombinací klíče). Proto byla posléze vyvinuta jeho zesílená varianta - 3DES (Triple-DES). Jeho princip je velice jednoduchý. Data jsou jednoduše přešifrována dvakrát nebo třikrát. TripleDES proto pracuje s dvojnásobným (112 bitů) nebo trojnásobným klíčem (168 bitů). Oproti DES u je relativně pomalý, ale mnohem bezpečnější. Jedním z důvodů použití tohoto řešení byla i kompatibilita se staršími systémy používajícími DES. Algoritmus IDEA je poměrně perspektivní. Je vyzbrojen klíčem o délce 128 bitů a vzhledem k DESu je znatelně rychlejší, ale bohužel patentovaný. Další algoritmus BlowFish je zajímavý tím, že může používat proměnnou délku šifrovacího klíče od 32 do 448 bitů. Obvykle se však používá s klíčem 128bitovým. Je rychlý, bezpečný a není zatížen patentovými právy. Velice se mu podobá CAST (tvůrci jsou CarlisleAdams a StaffordTaverns) , který umí taktéž používat proměnnou délku klíče.
Obr. 2 - Asymetrické šifrování
Při asymetrickém šifrování je situace poněkud složitější. Místo jediného klíče zde totiž používáme tzv. klíčový pár, který se skládá z klíče veřejného a soukromého. Veřejný klíč (jak již jeho název napovídá) je určen k volnému šíření a je distribuován všem osobám, se kterými komunikujeme. Naproti tomu soukromý klíč musí zůstat přísně utajen u jeho vlastníka, který by si jej měl úzkostlivě chránit jako oko v hlavě. Proč ale klíčový pár vůbec používáme? Protože to, co bylo zašifrováno veřejným klíčem, lze dešifrovat pouze soukromým a naopak. Jeden jediný klíč nelze použít k zašifrování i opětovnému dešifrování. Důvodem této vlastnosti asymetrických algoritmů jsou použité matematické funkce, jejichž reverzní výpočet je prakticky neproveditelný. Asymetrické šifrovací algoritmy jsou v porovnání se symetrickými obecně výrazně pomalejší. V praxi se nejčastěji používá algoritmus RSA a algoritmy na bázi eliptických křivek (ECC).
Autory RSA jsou Rivest-Shamir-Adleman. Stupeň jeho bezpečnosti je odvislá od použité délky klíče. Pro vytváření elektronického podpisu se standardně používají klíče s minimální délkou 1024 bitů. Samotný algoritmus vznikl v roce 1977 a do podzimu roku 2000 byl chráněn patentem. Jeho prolomení závisí na schopnosti útočníkova systému řešit úlohy faktorizace velkých čísel. Ve srovnání s DES je RSA samozřejmě podstatně pomalejší. Při softwarových realizacích se uvádí, že je to přibližně 100 krát, při hardwarových realizacích dokonce 1000 až 10000krát. RSA je součástí řady používaných norem.
Vývoj několika posledních let v této oblasti do značné míry naznačuje, že budoucnost bude patřit spíše algoritmům na bázi eliptických křivek (ECC). Jedná se o moderní algoritmy založené na řešení úlohy diskrétního logaritmu v grupách na eliptických křivkách. S konceptem jejich využití ke kryptografickým účelům přišli nezávisle na sobě pánové NeilKoblitz (University of Washington) a Victor Miller (tehdy IBM, YorktownHeights) již v roce 1985. Dnes jsou eliptické kryptosystémy plně standardizovány a jsou veřejně k dispozici. Výhodou ECC oproti RSA je především řádově větší bezpečnost při použití výrazně kratšího klíče. K dosažení stejné bezpečnosti, jako má RSA s klíčem o délce 2048 bitů, potřebujeme eliptický klíč s délkou pouze asi 160 až 180 bitů.
V našem výčtu bychom ještě neměli zapomenout na tzv. hybridní šifry. Nejedná se ani tak o další druh šifrovacích algoritmů, jako spíše o nutný kompromis mezi rychlostí symetrických a bezpečností asymetrických šifer. Pokud bychom totiž využívali pro šifrování bloku dat pouze asymetrický algoritmus, bylo by to nesmírně pomalé a tedy nepohodlné. Je tedy daleko výhodnější data zašifrovat symetrickým algoritmem a náhodným klíčem, který je vygenerován jako jedinečný pouze pro danou relaci, ten posléze zašifrovat pomocí asymetrického algoritmu a přibalit k zašifrovaným datům. Celý „balíček“ je pak odeslán příjemci, který nejprve dešifruje symetrický klíč a teprve s jeho pomocí samotná data. Tímto způsobem funguje drtivá většina softwaru používajícího asymetrickou kryptografii (včetně např. PGP).
Pro pozdější vysvětlení digitálního podpisu se ještě musíme zastavit u pojmu HASH algoritmus. Obecně řečeno se jedná o matematickou funkci, kterou lze v jednom (přímém) směru spočítat velice snadno, zatímco v opačném směru (inverzním zobrazení) se výpočty dají provést jen s velkými obtížemi (resp.jsou takřka nemožné). Výsledkem HASH funkce je zpravidla 128 nebo 160 bitů dlouhá sekvence, která jednoznačně charakterizuje vstupní blok dat (dokument, soubor, e-mail apod.). Pokud by se v původních datech změnil třeba jen jeden jediný bit, jejich HASH se výrazně změní. V současné době se nejčastěji používají algoritmy SHA1 nebo MD5.
Teď už známe základní pojmy. Příště se blíže podíváme na symetrické šifrování.
Pravdy o elektronickém podpisu a šifrování (2) - šifrujeme co se dá
V úvodu našeho miniseriálu jsme si mimo jiné vysvětlili fungování symetrických šifrovacích algoritmů. Abychom ale dále nemluvili pouze v teoretické rovině, můžeme si jako praktický příklad takového řešení uvést program TrustPortEncryption z dílny brněnské společnosti AEC.
V úvodu našeho miniseriálu jsme si mimo jiné vysvětlili fungování symetrických šifrovacích algoritmů. Teď už víme, že „čistokrevná symetrika“ používá jeden jediný klíč pro šifrování i dešifrování a vzhledem k „asymetrice“ je výrazně rychlejší. Tyto základní vlastnosti předurčují symetrické algoritmy k praktickému použití spíše tam, kde se zašifrovanými daty pracuje jedna nebo několik málo osob. Typickou oblastí uplatnění je tedy např. zálohování dat, kdy administrátor bezpečnost záložních kopií posílí zašifrováním.
Málokoho by však už napadlo, že symetrické šifrování používají například i aplikace GSM bankovnictví. Překvapivě se zde používá „pouze“ jediný sdílený šifrovací klíč, jehož jeden exemplář se nachází na SIM kartě v mobilním telefonu klienta a druhý v bance (resp. v bankovním systému). Tímto klíčem se pak šifrují a dešifrují jednotlivé bankovní SMS zprávy.
Zůstaňme však u aplikací určených pro „klasické“ počítače. Zde je symetrická kryptografie zastoupena zpravidla jednoduchými programy, které šifrují data (soubory) na základě zadaného hesla. Modelovým příkladem může být případ, kdy e-mailem posíláme jakékoliv citlivější materiály, které chceme před nepovolanými zraky zabezpečit. Pokud již pro komunikaci s daným adresátem nepoužíváme prostředky na bázi digitálního podpisu, postačí, když sáhneme po některém z běžně dostupných programů a dokument zašifrujeme pomocí hesla. Pak jej již můžeme bezpečně poslat e-mailem a heslo předat jiným komunikačním kanálem (např. telefonicky nebo pomocí SMS zprávy).
Abychom stále nemluvili pouze v teoretické rovině, můžeme si jako praktický příklad takového řešení uvést program TrustPortEncryption z dílny brněnské společnosti AEC.
V případě TrustPortEncryption můžeme mluvit hned o celé rodině programů. Kromě TrustPortEncryption pro PC ještě existují programy TPCrypt určené pro mobilní zařízení s operačním systémem Symbian EPOC a Windows CE (Pocket PC). Je tedy vidět, že šifrování je aktuální nejen na „klasických“ počítačích PC, ale i na moderních mobilních platformách.
Obr. 3 - TPCrypt existuje i pro mobilní zařízení
TrustPortEncryption pro PC je primárně určen k šifrování (na požádání - on-demand) jednotlivých souborů a adresářů do archivních souborů ve formátu CAR. Představuje tak jakousi kombinaci mezi „archivátorem“ a šifrovacím programem. Kromě CARu umí jednotlivé soubory šifrovat i do formátu CPH, který je určen pro již zmiňované programy TPCrypt.
Obr. 4 - TPCrypt pro PC je primárně určen k šifrování jednotlivých souborů a adresářů ve formátu CAR
CAR představuje univerzální datový formát určený pro bezpečné uložení a přenos citlivých dat. V podstatě se jedná o obdobu všeobecně známých datových formátů archivních souborů, jako je ZIP, RAR nebo např. ARC. Navíc však dovoluje chránit uložená data pomocí silného šifrování, které odpovídá mezinárodní standardům. Současně s ním však archiv používá účinnou kompresi dat. Přístup k obsahu archivu je chráněn heslem a bez jeho znalosti není možné zjistit nic o jeho obsahu, jménech souborů ani dalších vlastnostech. Formát CAR podporuje dvoubajtové znaky pro heslo i jména uložených souborů. Není tedy problém používat v hesle českou diakritiku. Zadávané heslo je použito pouze jako základ pro šifrovací klíč a nikoliv jako klíč samotný.
Uživatel může archiv vytvořit přímo pomocí příkazu z kontextového menu Windows nebo pomocí grafického uživatelského rozhranní CAR Manageru, kde jej může později i editovat (přidávat nové soubory a adresářové struktury do archivu, mazání souborů a adresářů v archivu, apod.). Při editaci archivu program používá původní soubor zálohuje, takže např. při výpadku proudu v průběhu operace nedojde ke ztrátě dat. Použité kontrolní součty CRC navíc zajišťují konzistenci dat. Originální data lze při vytváření CAR archivu nebo šifrovaného souboru CPH bezpečně smazat pomocí skartační metody se sedmi přepisy (podle standardu U. S. DoD). Zárukou maximální bezpečnosti je také integrovaný správce bezpečné paměti, který zajišťuje, že se žádná citlivá data neobjeví v odkládacím souboru Windows. Jedná se především o hesla a zpracovávaná data.
Program také dovoluje vytvořit šifrovaný samorozbalovací EXE soubor, který v sobě obsahuje i rutinu umožňující archiv rozbalit bez nutnosti instalace programu. Aby se při posílání EXE archivů pomocí elektronické pošty zabránilo jejich případnému automatickému vyřazování antivirovým programem na poštovním serveru, je zde ještě možnost „zapouzdřit“ archiv do formátu ZIP. Ten pak zpravidla jako příloha elektronické pošty bez problémů projde až k příjemci.
Program TrustPortEncryption podporuje sadu algoritmů, volitelných na základě požadavku zákazníka. Implicitně jsou instalovány algoritmy CAST 128, Rijndael a SHA1. Na přání zákazníka (v závislosti na licenčním klíči) pak může používat také algoritmy TwoFish, BlowFish a MD5. Kromě toho lze také v programu nastavit úroveň komprese, přidat k archivu veřejný komentář, konvertovat navzájem mezi CAR a EXE, vytvářet jednoduché instalační balíčky apod.
Obr. 5 - Použití CAR archivů v Total Commanderu
Uživatelé, kteří jsou zvyklí pracovat se souborovým manažerem Total Commander (dříve Windows Commander), mohou diky speciálnímu pluginu používat CAR archivy přímo v jeho uživatelském rozhranní.
Program je k dispozici v anglické, české, španělské a německé jazykové mutaci. Kromě zkušebních trial verzí (s šedesátidenním omezením) je k dispozici i freewarová verze TrustPortEncryption Lite. Ten je určen především uživatelům, kteří pro svoji práci nepotřebují pokročilé funkce programu, ale vystačí se základními úkony, jako je např. vytvoření šifrovaného archívu nebo extrahování souborů z archívu. Oproti „ostré“ verzi má TrustPortEncryption Lite několik funkčních omezení. K šifrování používá výhradně algoritmus DES, ale k dešifrování umí použít všechny podporované algoritmy. Dále mu chybí plug-in do Total Commanderu, nelze vytvářet instalační balíčky a konvertovat soubory mezi formáty CAR a EXE. Zapovězeno zůstává i šifrování do souborů ve formátu CPH, možnost jejich dešifrování ale také zůstává. Výrazným omezením je nemožnost editace vytvořených archívů v uživatelském prostředí CAR Manageru.
Programy TPCrypt pracují se šifrovanými soubory ve formátu CPH. Umožňují na požádání zašifrovat a dešifrovat zvolené soubory. TPCrypt pro PDA se systémem Windows CE navíc dokáže pracovat i přímo s formátem CAR. V systému EPOC jsou soubory CPH asociovány s aplikací TPCrypt, takže lze s nimi pracovat v tzv. pseudo-on-line módu. V praxi to vypadá tak, že šifrovaný dokument se při svém otevření automaticky dešifruje a po provedení úprav je při ukládání opět zašifrován. Oba programy taktéž používají metodu kontrolních součtů CRC pro zajištění konzistence dat.
Program TrustPortEncryption (včetně Lite) je v současné době k dispozici v nejnovější verzi 2.0, která je v angličtině. V české, německé a španělské jazykové mutaci je dostupná starší verze 1.1. Obě zmiňované verze si můžete stáhnout na www.aec.cz.
Tolik tedy k symetrickému šifrování. V příštím pokračování se vrhneme na digitální podpis.
Jak jsme se již zmínili v úvodu našeho miniseriálu, o elektronickém (nebo chcete-li digitálním) podpisu se toho namluvilo více než dost. Bohužel však musíme konstatovat, že nejhmatatelnějším výsledkem těchto diskusí jsou, kromě mediální publicity některých nejmenovaných politiků, právě jen diskuse samy...
Jak jsme se již zmínili v úvodu našeho miniseriálu, o elektronickém (nebo chcete-li digitálním) podpisu se toho namluvilo více než dost. Bohužel však musíme konstatovat, že nejhmatatelnějším výsledkem těchto diskusí jsou, kromě mediální publicity některých nejmenovaných politiků, právě jen diskuse samy... Je sice fakt, že jsme jako jedni z prvních na světě dokázali vypracovat a přijmout zákon o elektronickém podpisu, ale na druhé straně již samotný vznik tohoto zákona provázely problémy a nejasnosti, které se v konečném důsledku projevily v jeho finální podobě na úkor použitelnosti v praxi. Je smutnou skutečností, že po několika letech existence zákona nenašel elektronický podpis větší reálné uplatnění.
Elektronický podpis má přitom hned několik zásadních výhod:
· jeho základní vlastností je nepopiratelnost;
· je prakticky nemožné jej zfalšovat;
· lze jednoduše ověřit jeho autenticitu;
· jeho použitím je zaručena neporušenost zprávy (resp. zjištění jejího porušení);
· v kombinaci se šifrováním je zpráva chráněna před vyzrazením obsahu;
· navíc může obsahovat časovou značku a být tak jednoznačně určen v čase.
Ač se to na první pohled nemusí zdát tak důležité, mezi pojmy elektronický a digitální podpis bychom měli rozlišovat. Elektronický podpis je všeobecný termín, který zahrnuje celou poměrně širokou oblast. Obecně se jedná o veškeré formy prokazování totožnosti elektronickou formou pomocí například snímání otisku prstu či struktury oční duhovky nebo některým jiným způsobem. Digitální podpis je potom podmnožinou elektronického podpisu. Je charakterizován tím, že je realizován na bázi šifrování záznamu v digitální formě. V praxi však oba pojmy často zaměňujeme, takže pokud mluvíme o elektronickém podpise, máme většinou na mysli podpis digitální.
Samotný digitální podpis (držme se raději tohoto označení) pak lze přirovnat spíše k efektu, kterým je identifikace a autentizace např. autora určitého dokumentu. Toho lze v principu dosáhnout více různými způsoby. Náš platný zákon, stejně jako většina zahraničních, předpokládá že tato řešení jsou založena na metodách asymetrickém šifrování, neboli na použití dvojice vzájemně komplementárních klíčů (privátního a veřejného).
Obr. 6 - HASH je zašifrován pomocí soukromého klíče podepisující osoby
Pokud chceme vytvořit digitální podpis určitého souboru, musíme nejprve určit jeho HASH. Jakýkoliv soubor nebo e-mailovou zprávu lze v podstatě chápat jako „obyčejný“ soubor čísel, na který aplikujeme HASH algoritmus. Na jeho výstupu získáme číslo o dané délce jednoznačně reprezentující vstupní data – otisk souboru. HASH je následně zašifrován pomocí soukromého klíče podepisující osoby a digitální podpis je na světě. Poněkud zjednodušeně řečeno je HASH zašifrovaný privátním klíčem digitálním podpisem. Ten se pak může přidat k podepisovaným datům nebo může být transformován do podoby samostatného souboru (extra signature). Zpravidla se k němu ještě přidává i digitální certifikát podepsané osoby, který může posloužit adresátovi k ověření podpisu.
Digitální certifikát se skládá ze dvou základních komponent: veřejného klíče a osobních dat jeho vlastníka. Celistvost certifikátu je zaručena digitálním podpisem, které může vytvořit sám jeho vlastník pomocí soukromého klíče z tohoto klíčového páru (self-signedcertificate) nebo certifikační autorita svým soukromým klíčem. Z hlediska důvěryhodnosti má logicky větší váhu digitální certifikát vydaný certifikační autoritou, která ručí za ověření identity jeho vlastníka. Kromě již zmiňovaných obsahují certifikáty také další údaje, jako je doba vypršení platnosti certifikátu (expirace), jméno vydávající certifikační autority, evidenční číslo certifikátu, certifikační cesta (posloupnost certifikátů certifikační autority, které jsou potřebné k ověření pravosti certifikátu), případně ještě další doplňující údaje.
Aby byla zajištěna vzájemná kompatibilita mezi jednotlivými aplikacemi, které s certifikáty pracují, je jejich struktura jednoznačně definována určitými standardy. Nejrozšířenější používaný formát je definován mezinárodní normou X.509.
Obr. 7 - Ověření podpisu probíhá analogicky k jeho vytvoření.
Ověření podpisu probíhá analogicky k jeho vytvoření. Příjemce jednak znovu vypočte HASH z původního souboru a jednak jej dešifruje pomocí certifikátu odesílatele z podpisu. Certifikát buď již má ověřující osoba k dispozici nebo si jej může třeba stáhnout z webu certifikační autority, která jej vydala. Samotné ověření pak spočívá v porovnání obou HASHů. Pokud jsou stejné, je zřejmé, že podepsanou osobou je skutečně ta, která to o sobě tvrdí (vlastník certifikátu, který jediný má k dispozici privátní klíč). Pokud se HASH liší, může to znamenat pokus o padělání podpisu, pozměnění souboru cestou nebo cokoliv jiného, co ve svém důsledku vedlo k porušení nebo pozměnění dat či podpisu samotného.
Pomocí existujícího klíčového páru však nemusíte pouze podepisovat a podpis ověřovat, ale můžete jej jednoduše využít i k šifrování. Pokud to vlastnosti konkrétního klíčového páru dovolují (může být totiž v některých případech určen výhradně pro vytváření podpisu), není nic jednoduššího než cokoliv zašifrovat pomocí digitálního certifikátu (veřejného klíče) adresáta. Máte pak stoprocentní jistotu, že tato data bude moci dešifrovat pouze on (vlastník soukromého klíče).
Jak vidíte, není digitální podpis opravdu nic složitého. V příštím pokračování se podíváme, jak jej můžeme používat v praxi.
Pokud budete chtít digitální podpis používat i pro zabezpečení vlastní komunikace, je i zde k dispozici více možných řešení. V podstatě můžete využít možností, které vám nabízí operační systém a další nástroje Windows, a podepisovat e-maily přímo v Outlooku či můžete využít software od jiného výrobce.
Pokud budete chtít digitální podpis používat i pro zabezpečení vlastní komunikace, je i zde k dispozici více možných řešení. V podstatě můžete využít možností, které vám nabízí operační systém a další nástroje Windows, a podepisovat e-maily přímo v Outlooku. Nebo můžete využít software od jiného výrobce, který bývá zpravidla pro uživatele daleko více transparentní a dává jim větší možnosti kontroly nad klíčovými páry i šifrovanými/podepisovanými daty.
Jedním z těchto řešení je i TrustMail, který má (stejně jako dříve představený program TrustPortEncryption) v pomyslném rodném listu zapsáno vývojové oddělení brněnské společnosti AEC.
TrustMail je postaven na vlastním kryptografickém jádru AEC, které je hlavní zárukou bezpečnosti. Slouží k off-line podepisování a šifrování souborů (včetně inverzních operací). Jeho poslední verze přímo podporuje vydávání důvěryhodných časových značek (budeme se o nich zmiňovat v jednom z následujících pokračování seriálu) k vytvářenému digitálnímu podpisu. Uživatel může pomocí programu TrustMail vytvořit podepsaný soubor, který obsahuje jak podepisovaná data i samotný podpis (výsledný soubor .sgn) nebo pouze samotný podpis oddělený od podepisovaných dat (výsledný soubor .esg). TrustMail rovněž podporuje šifrování souborů pro více příjemců nebo podepisování jednoho souboru více osobami (tzv. multisigning).
Instalace programu je jednoduchá a intuitivní. Skládá se z kroků, které jsou notoricky známé z drtivé většiny softwaru (umístění jeho souborů apod.). Specialitou je snad jen výběr instalace podpory určených hardwarových zařízení (aplikace podporuje celou řadu čteček, čipových karet a USB tokenů) a stanovení lokálního úložiště soukromých klíčů a certifikátů.
Privátní klíče a digitální certifikáty může uživatel ukládat do lokálních úložišť (storages), která se fyzicky nacházejí na pevném disku počítače, nebo na výměnná paměťová hardwarová zařízení (PKCS#11/PCSC kompatibilní USB tokeny, čipové karty apod.). K dispozici jsou rovněž tzv. hybridní úložiště, v jejichž rámci lze připojit libovolné LDAP (Lightweight Directory Access Protocol) úložiště certifikátů. Jedno z lokálních úložišť může být publikováno, čímž lze z instalace TrustMailu vytvořit plnohodnotný LDAP server, který pak mohou využívat i ostatní uživatelé.V rámci hybridních úložišť má uživatel také přístup k certifikátům v úložištích operačního systému Windows.
Obr. 8 - PKI Storage Manager
Hlavní součástí programu je PKI Storage Manager, který představuje hlavní grafické uživatelské rozhranní. Slouží ke správě jednotlivých klíčů a certifikátů v úložištích. Uživatel zde může generovat nové klíčové páry, exportovat je do souboru nebo importovat do úložišť již existující, měnit hesla chránící přístup k soukromému klíči, importovat CRL (seznamy odvolaných certifikátů) a ověřovat platnost uložených certifikátů. Klíče a certifikáty jsou uspořádány v několika záložkách. Nechybí zde ani vyhledávání.
Obr. 9-12 - TrustMailConfigurator
TrustMailConfigurator slouží k nastavení základních vlastností programu. V první záložce může uživatel importovat zakoupený licenční klíč, kterým se řídí funkčnost celé aplikace. Druhá záložka slouží k výběru preferovaného úložiště, používaného symetrického šifrovacího algoritmu a HASH algoritmu. V další má uživatel možnost určit další certifikáty (My certificate, Supervizor’scertificate a Otherrecipient’scertificates), kterými pak program automaticky navíc šifruje. Tyto osoby mají možnost soubory následně dešifrovat. Poslední záložka je určena k nastavení autority časové značky, která se bude používat pro vystavení časového razítka vytvářeného podpisu.
Příště se podíváme blíže jak to vypadá, když si chce uživatel vygenerovat nový klíčový pár.
PKI Storage Manager představuje hlavní grafické uživatelské rozhranní programu TrustMail. Slouží ke správě jednotlivých klíčů a certifikátů v úložištích. Dnes si ukážeme, jak to vypadá, když si chce uživatel vygenerovat nový klíčový pár. Pojďme se na to podívat blíže...
PKI Storage Manager představuje hlavní grafické uživatelské rozhranní programu TrustMail. Slouží ke správě jednotlivých klíčů a certifikátů v úložištích. Dnes si ukážeme, jak to vypadá, když si chce uživatel vygenerovat nový klíčový pár. Pojďme se na to podívat blíže...
Nejprve je třeba spustit PKI Storage Manager a kliknout na příslušnou ikonu nebo zvolit z menu příkaz pro generování nových objektů (Generateobjects). Tím je aktivován podrobný průvodce, který uživatele vede jednotlivými kroky.
Obr. 13 - PKI Storage Manager - podrobný průvodce
V dalším kroku je třeba zvolit metodu, jakou se bude klíčový pár fyzicky generovat. První možná metoda „generování do úložiště“ (Generateintostorage) slouží pro klíčové páry ukládané do lokálního úložiště na pevný disk. Druhá metoda „generování nad úložištěm“ je určena pro vytváření klíčového páru do čipové karty nebo tokenu. Základní rozdíl mezi nimi je v tom, že v druhém případě probíhá generování přímo v hardwarovém zařízení, které soukromý klíč fyzicky nikdy neopouští. Pro reprezentaci takového soukromého klíče se používá speciální tzv. zástupný klíč vytvářený ve zvoleném lokálním úložišti. Výstupem poslední metody je soubor na disku (Save to file) určený pro pozdější import.
Obr. 14 - metody generování klíčového páru
Dále uživatel určuje cílové úložiště, případně úložiště, ve kterém bude vytvořen zmiňovaný zástupný klíč.
Obr. 15 - určení cílového úložiště
Tento krok se týká soukromého klíče. Uživatel zadává jeho název (Alias name), vybírá asymetrický šifrovací algoritmus a volí délku klíče. Název klíče může prověřit na případnou duplicitu, na kterou by byl tak jako tak programem později upozorněn.
Obr. 16 - podrobnosti soukromého klíče
Následuje samotné generování klíčového páru. Náhodná data jsou sbírána pohyby myší nad určeným oknem programu nebo zadáváním náhodných znaků na klávesnici.
Obr. 17 - generování klíčového páru
V dalších krocích má uživatel možnost zadat vlastnosti certifikátu (jméno, firmu, e-mail apod.) a rozhodnout se mezi vytvořením tzv. self-signed certifikátu nebo žádosti o vydání certifikátu u certifikační autority (certificaterequest).
Obr. 18 - vlastnosti certifikátu
Zbývá již jen zadat heslo, kterým bude chráněn přístup k soukromému klíči, a průvodce sám provede závěrečné operace (import do úložišť apod.). Uživatel je následně automaticky vyzván k aktualizaci zobrazení úložiště se změněným obsahem.
Obr. 19 - 21 - zadání hesla a závěrečné operace
Pro veškerá zadávaná hesla, šifrování dat, generování a další manipulace s klíči je použita tzv. bezpečná paměť. Speciální ovladač zajišťuje, aby se nic z citlivých dat nedostalo do odkládacího souboru Windows nebo do jiných podobných souborů.
Vlastnosti certifikátů a klíčů jsou zobrazovány pomocí vlastního modulu Security ObjectInspector. Standardně jej lze spustit také přímo z kontextové nabídky Windows.
Obr. 22 - 23 - Security ObjectInspector
V dalším díle našeho seriálu si ještě ukažme, jakým způsobem lze pomocí programu TrustMail z dílny brněnské společnosti AEC vytvořit digitální podpis souboru ve formátu „extra signature“. Příště bude na pořadu opět teoretická část - certifikační autorita.
V dalším díle našeho miniseriálu si ještě ukažme, jakým způsobem lze pomocí programu TrustMail z dílny brněnské společnosti AEC vytvořit digitální podpis souboru ve formátu „extra signature“.
Pokud bude chtít uživatel pomocí vygenerovaného klíče cokoliv zašifrovat, podepsat nebo ověřit podpis či dešifrovat, může tak učinit zvolením příslušného příkazu přímo v kontextové nabídce Windows.
Obr. 24
I zde je k dispozici podrobný průvodce jednotlivými kroky.
Obr. 25
Uživatel musí zvolit příslušný soukromý klíč a pro přístup k němu zadat správné heslo.
Obr. 26
Obr. 27
V dalších krocích lze povolit nebo zakázat vytvoření časové značky k danému podpisu, případně vybrat použitou autoritu časové značky a zadat umístění výsledného souboru s podpisem.
Obr. 28
Obr. 29
Následuje fyzické vytvoření podpisu a ukončení průvodce.
Obr. 30
Obr. 31
Pokud vytvořený podpis (prostřednictvím příkazu v kontextovém menu – Check/Decrypt) ověříme, dojde opět ke spuštění krátkého průvodce, z něhož je nejdůležitější tohle okno:
Obr. 32
Tolik tedy k digitálnímu podpisu a jeho praktickému používání. Příště bude na pořadu opět teoretická část - certifikační autorita.
Pravdy o elektronickém podpisu a šifrování (7) - za podpis ručí certifikační autorita
Pokud budete chtít bezpečně komunikovat s pomocí digitálního podpisu, určitě vám časem přestane stačit self-signed certifikát a budete se poohlížet po certifikační autoritě, od které by bylo možno získat certifikát zaštítěný jejím jménem. Certifikační autoritu si můžeme představit jako jistou formu notářského úřadu, figurujícího mezi komunikujícími stranami.
Pokud budete chtít bezpečně komunikovat s pomocí digitálního podpisu, určitě vám časem přestane stačit self-signed certifikát a budete se poohlížet po certifikační autoritě, od které by bylo možno získat certifikát zaštítěný jejím jménem. Certifikační autoritu (dle zákona poskytovatele certifikačních služeb) si můžeme představit jako jistou formu notářského úřadu, figurujícího mezi komunikujícími stranami, o které by se dalo říci, že spojuje veřejný klíč s uživatelem a ozřejmuje jeho autenticitu.
Základním dokumentem, kterým se certifikační autorita řídí je certifikační politika. Zpravidla ji najdete přímo na webových stránkách. Český zákon O elektronickém podpisu... stanovuje řadu požadavků a náležitostí, které musí poskytovatel certifikačních služeb splňovat. Například ručí do stanovené výše za případné škody vzniklé vlastním pochybením, má omezené možnosti dalšího podnikání atp.
Mezi certifikační autoritou a klientem je sepisována smlouva, která jednoznačně definuje pravidla užívání, odvolávání a generování digitálních certifikátů. Stanovuje také další práva a povinnosti obou stran v detailnější formě. Mezi nejdůležitější povinnosti majitele certifikátu patří oznámit v případě nutnosti autoritě prozrazení (diskreditaci) jeho soukromého klíče. Ta poté musí „neprodleně a bez zbytečných odkladů“ (řečeno jazykem práva) certifikát zneplatnit jeho zařazením do seznamu zneplatněných certifikátů (CertificateRevocation List - CRL). Pokud si následně kdokoliv pomocí CRL ověřuje platnost certifikátu zjistí, že ten je odvolaný a digitálnímu podpisu tedy nelze důvěřovat.
Nedílnou součástí každé certifikační autority je minimálně jedna podřízená registrační autorita. Tu si můžeme představit jako kancelář certifikační autority, která od zákazníků přijímá žádosti o vydání certifikátu a ověřuje jejich totožnost. Jedna registrační autorita může spadat vždy pouze pod jednu certifikační autoritu.
Není cílem tohoto seriálu příliš zabíhat do oblasti zákonů a práva (i když to k dané problematice také patří). Zastavme se však u §11 zmiňovaného zákona o EP: „V oblasti orgánů veřejné moci je možné používat pouze zaručené elektronické podpisy a kvalifikované certifikáty vydávané akreditovanými poskytovateli certifikačních služeb. To platí i pro výkon veřejné moci vůči fyzickým a právnickým osobám.“ Faktem je, že abychom tuto zákonnou podmínku splnili, můžeme si nechat vystavit certifikát pouze u První certifikační, a.s. , která jako jediná akreditaci Odboru elektronického podpisu Ministerstva informatiky (dříve tato pravomoc patřila Úřadu pro ochranu osobních údajů) má. Za vystavení kvalifikovaného certifikátu v základní variantě zaplatíte cca 700 Kč, což je dle mého názoru z hlediska jeho využití relativně vysoká částka. Náležitosti kvalifikovaného certifikátu najdete v zákoně. Jejich splnění by určitě nebylo ani pro ostatní certifikační autority problémem. Tím je spíše akreditace a splnění dalších podmínek, které se po finanční stránce mohou jen obtížně vyplatit.
Dostali jsme se k aktuální situaci v oblasti poskytování certifikačních služeb u nás. Jak již bylo řečeno, jediným akreditovaným poskytovatelem je První certifikační (www.ica.cz), která je dceřinou společností PVT. Dále zde ještě funguje několik dalších komerčních certifikačních autorit, které se navzájem liší šíří své nabídky a úrovní poskytovaných služeb:
· AEC TrustPort CA (www.trustport.cz),
· Certifikační autorita Czechia (www.caczechia.cz),
· Certifikační autorita Globe Internet (www.certifikacniautorita.cz),
· Certifikační autorita KPNQwestCzechia(www.nca.cz).
Poměrně kuriózním počinem je Certifikační autorita České pošty PostSignum, která slouží výhradně pro vydávání certifikátů těm klientům, kteří mají s Českou poštu sjednánu službu předávání dat pomocí internetu (e-mailem). Podle pokynů, které lze najít na internetových stránkách České pošty (www.cpost.cz), je celý proces zřízení této služby a vydání příslušného certifikátu složitý a vyžaduje minimálně dvě osobní návštěvy klienta na příslušném „kontaktním místě“. K samotné komunikaci s poštovním úřadem pak slouží speciální klientský software „Crypta“, který je zákazníkovi při první návštěvě nahrán na dvě vlastní přinesené (!) diskety. Přístup České pošty ke svým zákazníkům je tedy natolik „vstřícný“, že se ani neobtěžuje vyrobit instalační CD.
Jak ale certifikační autorita vypadá po technologické stránce? Příště se, stejně jako v předchozích dílech našeho seriálu, podíváme na konkrétní řešení od společnosti AEC.
Petr Nádeníček Tutoriály 6. června 2003
Jak ale certifikační autorita vypadá po technologické stránce? Pojďme se, stejně jako v předchozích dílech našeho seriálu, podívat na konkrétní řešení od společnosti AEC. Certifikační autorita AEC TrustPort CA je modulární řešení, které je postaveno na základech vlastního systému AEC PKI.
Jak ale certifikační autorita vypadá po technologické stránce? Pojďme se, stejně jako v předchozích dílech našeho seriálu, podívat na konkrétní řešení od společnosti AEC.
Certifikační autorita AEC TrustPort CA je modulární řešení, které je postaveno na základech vlastního systému AEC PKI. Celý komplex je složen z několika klíčových součástí. Jádrem systému je tzv. „On-line CA“ server, který provádí fyzické zpracování (podepisování) dodaných žádostí o certifikát, CRL nebo časové značky. Jeden server „On-line CA“ může být využit pro obsluhu hned několika nezávislých virtuálních certifikačních autorit (podepisovacích strojů), které jsou jinak procesně naprosto izolovány. Volná kapacita podepisovacího stroje tak může být využita pro různé další subjekty, které hostují pouze databázový server (úložiště certifikátů) a registrační autoritu. Každá virtuální certifikační autorita disponuje vlastním úložištěm klíčů a certifikátů. Konfigurace každého virtuálního stroje je zcela individuální. Podpisový klíč může být volen v závislosti na použitém algoritmu. Další omezení lze nastavit pomocí filtrů, které omezují vytvoření určitých položek v certifikátech nebo CRL a dovolují také jejich rozšíření o další volitelné údaje.
Obr. 33
Klíčové páry jednotlivých virtuálních certifikačních autorit jsou spravovány pomocí modulu PKI Storage Manager. Vlastní klíče mohou být uloženy jak v lokálních úložištích na pevném disku, tak i v externích hardwarových zařízeních: USB tokeny, čipové karty nebo další speciální zařízení (Chrysalis Luna).
Celé řešení je doplněno o tzv. „RA-CA“ server. Ten také obsahuje databázi, která slouží jako úložiště žádostí o certifikáty, vydaných certifikátů a CRL. Důležitou součást představuje také jmenný server, který udržuje jednoznačnost a unikátnost jmen v rámci určité kořenové certifikační autority. Samotná registrační autorita je potom realizována jako webový server s aplikační logikou potřebnou pro bezpečnou autentizaci úředníků registrační autority, administraci a další práci s webovými stránkami registrační autority. Hlavní výhodou tohoto řešení je mobilita jednotlivých pracovišť registrační autority. V podstatě není vyžadována žádná speciální klientská aplikace. Řešení využívá klasický webový prohlížeč podporující SSL/TLS.
Uživatelské rozhraní registrační i certifikační autority lze jednoduše přizpůsobovat. Je to díky použité technologii AEC Forms, která dovoluje měnit grafické rozhraní a zobrazení jednotlivých položek bez zásahu do samotného programového kódu aplikační logiky.
Přístup k certifikátům je standardně řešen pomocí webového rozhraní s integrovanou vyhledávací službou. Zde však možnosti certifikační autority nekončí. K dispozici jsou i adresářové služby protokolu LDAP. Opět se jedná o speciální řešení - AEC LDAP bránu (Gateway), která zprostředkovává dotazy jednotlivých LDAP klientů a převádí je do podoby vyhledávacích dotazů v databázovém úložišti certifikátů.
V případě, kdy je PKI klient schopen do žádosti o vystavení certifikátu zadat pouze omezenou množinu položek vyžadovaných provozovatelem, lze tyto údaje dynamicky doplňovat přímo na registrační autoritě. Potom je možné bez problému vydávat certifikáty, které jsou v souladu s formátem X.509, RFC 2459, popřípadě i kvalifikované certifikáty podle RFC 3039.
Celé řešení certifikační autority AEC TrustPort CA funguje na operačním systému Microsoft Windows 2000. Důležitou součástí řešení je také MSQL databáze (příp. MS SQL).
Tolik k samotné certifikační autoritě. V příštím pokračování si ukážeme, jaké výhody přináší její rozšíření o autoritu časové značky.
Pokud se hlouběji ponoříme do problematiky digitálního podpisu, určitě dříve či později narazíme na potřebu určení pokud možno přesného časového okamžiku, kdy byl podpis vytvořen. Tento problém je jedním ze zranitelných míst jinak robustní technologie a řeší jej tzv. časové razítko (časová značka).
Pokud se hlouběji ponoříme do problematiky digitálního podpisu, určitě dříve či později narazíme na potřebu určení pokud možno přesného časového okamžiku, kdy byl podpis vytvořen. Tento problém je jedním ze zranitelných míst jinak robustní technologie a řeší jej tzv. časové razítko (časová značka). Časové razítko jednoznačně potvrzuje, že jím označená data existovala v dané podobě nejpozději těsně před uvedeným časovým okamžikem.
V praxi by případné zneužití podpisu bez důvěryhodné časové značky mohlo vypadat tak, že podvodník v čase T1 např. uzavře smlouvu, kterou digitálně podepíše. Následně v čase T2 (>T1) nahlásí „ztrátu“ svého soukromého podpisového klíče a označí jej za zdiskreditovaný. Logicky tedy požádá svého poskytovatele certifikačních služeb o zneplatnění digitálního certifikátu náležejícího ke „ztracenému“ soukromému klíči. V čase T3 (>T2>T1) pak může podvodník prohlašovat svůj digitální podpis vytvořený v čase T1 za neplatný, resp. vytvořený třetí osobou pomocí „ztraceného“ soukromého klíče a zříci se z toho vyplývajících právních závazků.
O vydávání časových razítek se stará autorita časové značky, která funguje velice podobně jako „klasická“ certifikační autorita. Princip celého procesu je poměrně jednoduchý. Začíná tím, že speciální software (klient) zjistí HASH určených dat (viz. závěr prvního dílu našeho seriálu), který doplní dalšími údaji do celkové normalizované podoby žádosti o vydání časové značky. Žádost je následně přes internet odeslána autoritě časové značky. Tam její zpracování probíhá tak, že autorita k dodanému HASHi přidá přesný časový údaj, který se získává např. z přesných „atomových“ hodin, GPS nebo DCF přijímače. Celý „balíček“ je následně digitálně podepsán privátním klíčem autority časové značky. Tímto krokem je zajištěna důvěryhodnost vloženého časového údaje. V poslední fázi je časové razítko doručeno žadateli.
Obr. 34
Ověření platnosti časového razítka je v podstatě ověřením jeho digitálního podpisu a celistvosti označeného souboru. Program, který ověření provádí, zjistí HASH souboru a porovnává jej s HASHem dešifrovaného z časového razítka pomocí certifikátu autority časové značky. Pokud se oba HASHe shodují, je časové razítko neporušené a uvedený časový údaj je platný. Rovněž máme jistotu, že se obsah souboru nezměnil. Pokud by se tak stalo, lišil by se také HASH souboru a časové razítko by pozbylo platnost.
Časové razítko můžeme stejně dobře aplikovat na digitální podpis nebo na jakýkoliv soubor. Potřebujeme k tomu jen vhodný klientský software na straně jedné a serverovou aplikaci (autoritu) na straně druhé, která bude časová razítka vydávat. V české republice prozatím není podobných řešení mnoho – prvním a pravděpodobně zatím jediným je AEC TrustPortTimeStampAuthority (TSA), která již funguje v rámci vzpomínané certifikační autority.
TSA představuje volitelný modul pro „On-line CA“ server. Stejně jako v případě certifikační autority může na jednom „On-line CA“ serveru běžet několik podepisovacích strojů TSA s vlastním izolovaným PKI úložištěm. TSA může běžet v tzv. „corporate“ instalaci společně s certifikační autoritou nebo v tzv. „stand-alone“ módu – pouze autorita časové značky bez certifikační autority.
Stěžejní součástí TSA je TimeServer, který je zdrojem přesného času a zjišťuje jeho případné odchylky od času systémového. TSA, kterou již AEC provozuje, získává přesný čas z GPS (GlobalPositioningSystem - ze satelitů přijímá mimo jiné i časové věty). Další možností je signál DCF šířený z vysílače DCF77 v Mainflingenu na dlouhých vlnách s kmitočtem 77,5 kHz. Pokud provozovateli nevyhovuje ani jeden z těchto způsobů, může přesný čas pro TimeServer získávat jiným způsobem.
Obr. 35
K praktickému využití autority časové značky slouží program AEC TS Client, který si může kdokoliv zdarma stáhnout z webu certifikační autority (www.trustport.cz). Klient umožňuje označit časovým razítkem jakýkoliv soubor. Komunikace klienta s autoritou je realizováno pomocí protokolu HTTP (http://time.trustport.cz:8000/). Mezi klientem a „On-line CA“ je zařazena speciální HTTP brána (Gateway), která filtruje a formálně kontroluje žádosti o časová razítka. Zajišťuje, aby se ke zpracování v „On-line CA“ dostávaly pouze „správné“ žádosti a nedocházelo ke zbytečnému zatěžování podepisovacího stroje.
Klient je taktéž integrován v programu TrustMail (od verze 2.0), kde si uživatel může nechat označit časovým razítkem každý vytvářený digitální podpis.
Řešení TSA od společnosti AEC vychází z RFC 3161 a doporučení ETSI (EuropeanTelecommunicationsStandards Institute). TSA vydává svá časová razítka podle stanovené (a zveřejněné) politiky. Politika má svůj jednoznačný identifikátor, přičemž lze provozovat více TSA, z nichž každá bude mít individuálně nastavenou politiku. Jako klientskou aplikaci lze kromě jmenovaných využít jakoukoliv aplikaci vytvořenou pomocí AEC PKI SDK nebo některou další vycházející z uvedené normy.
Autoritu časové značky najdete na webových stránkách certifikační autority AEC TrustPort CA (www.trustport.cz) v záložce označené „TSA“. Najdete zde politiku autority časové značky i AEC TS Clienta ke stažení. Vydávání časových razítek je zcela ZDARMA.
V dnešní době, kdy je bezpečnost informačních technologií vyzdvihována nade vše ostatní a dokonce i softwaroví giganti, jako je Microsoft, ji považují za nespornou prioritu, jsou systémy infrastruktury veřejného klíče (PKI – Public KeyInfrastructure) stále považovány za jeden z nejúčinnějších léků na nemoci moderního počítačového věku.
V dnešní době, kdy je bezpečnost informačních technologií vyzdvihována nade vše ostatní a dokonce i softwaroví giganti, jako je Microsoft, ji považují za nespornou prioritu, jsou systémy infrastruktury veřejného klíče (PKI – Public KeyInfrastructure) stále považovány za jeden z nejúčinnějších léků na nemoci moderního počítačového věku, které pramení z mnohdy obtížného zabezpečení důvěryhodné personalizace komunikujících stran.
Některým lidem, kteří se již se systémy PKI setkali v praxi, se však při vyslovení pojmu PKI obrazně řečeno zdvihají vlasy hrůzou. Některým se vybaví drahý systém, s jehož uvedením do provozu byla řadu problémů. Systém, který jim přidal nejednu vrásku na čele a stejně nesplnil jejich počáteční požadavky. Není výjimkou, že u řady takových systémů bylo třeba některé bezpečnostní mechanismy spíše obcházet, aby byly alespoň obstojně použitelné v praxi. Systémy PKI, tak jak byly v minulosti navrhovány a následně realizovány, představují opravdu složité kolosy, které sice komplexně zabezpečují veškeré činnosti a služby, ale díky své složitosti jsou zbytečně předimenzované. To v konečném důsledku ztěžuje jejich použitelnost. Na níže uvedeném obrázku vidíte příklad takového řešení.
Obr. 36
Pokud si vezmeme na pomoc jednu z definic, zjistíme, že: „PKI můžeme definovat jako komplexní systém, který svým uživatelům poskytuje služby v oblasti šifrování pomocí asymetrické kryptografie a služby spojené s digitálními podpisy. Účelem infrastruktury veřejných klíčů je pak hlavně správa jednotlivých soukromých klíčů a certifikátů.“
Pokud bychom chtěli realizovat jednoduchý systém PKI, jehož primární funkcí bude správa digitálních certifikátů např. v malé firmě, zjistíme, že se můžeme bez služeb, jako je např. přihlašování do systému, zcela obejít. Ve většině takových případů nám postačí řešení, které dovolí v lokální síti realizovat LDAP úložiště (server) s příslušnými nástroji pro jeho správu. Pokud se nespokojíme se self-signed certifikáty (což by opravdu nebylo nejlepší), nic nám nebrání nechat si těch několik málo certifikátů vydat u některé z komerčních certifikačních autorit. Tento certifikát potom můžeme využít i při komunikaci mimo naší hypotetické firmy. Certifikáty shromážděné v LDAP úložišti, které je pod správou administrátora, jsou k dispozici všem uživatelům ve firemní síti a ti spolu mohou bezpečně komunikovat pomocí digitálního podpisu se všemi jeho výhodami (nepopiratelnost atd.).
Obr. 37
Ten, kdo pozorně četl čtvrtý díl našeho seriálu, už jistě ví, že popisovaný systém lze lehce realizovat také pomocí programu TrustMail. Stačí jednu jeho instalaci ve firemní síti proměnit pomocí LDAP Publisheru v server, který si následně ostatní uživatelé pomocí funkce „AddLDAP Connection“ připojí. Tím je zabezpečena distribuce certifikátů. Jednotliví uživatelé mohou současně pro uložení svých soukromých podpisových klíčů používat různá hardwarová zařízení (čipové karty, tokeny), čímž bude celková bezpečnost řešení dále zvýšena. Implementace celého řešení je naprosto jednoduchá a vzhledem k velkým PKI řešením je i jeho cena přijatelná.
Obr. 38
Obr. 39
Tolik (spíše jen okrajově) k problematice PKI. V dalším pokračování našeho miniseriálu se zastavíme u již několikrát zmiňovaných hardwarových zařízení.
Pravdy o elektronickém podpisu a šifrování (11) - klíče a certifikáty - kam s nimi?
Kam s ním? To je otázka, kterou řešil nejen známý spisovatel Neruda se svým starým slamníkem, ale zcela jistě i nejeden vlastník klíčového páru, resp. tajného soukromého klíče. V předposledním pokračování našeho miniseriálu se tak dostáváme k již několikrát zmiňovaným hardwarovým zařízením.
Kam s ním? To je otázka, kterou řešil nejen známý spisovatel Neruda se svým starým slamníkem, ale zcela jistě i nejeden vlastník klíčového páru, resp. tajného soukromého klíče. V předposledním pokračování našeho miniseriálu se tak dostáváme k již několikrát zmiňovaným hardwarovým zařízením.
První možností uložení klíčů je využít čistě softwarové řešení a svoje klíče skladovat přímo na pevném disku počítače v bezpečně zašifrovaném tvaru. Takto uložený klíč je odšifrován až bezprostředně před použitím na základě zadání správného hesla. Tato operace je z hlediska bezpečnosti kritická a klade velké nároky na zabezpečení vlastního počítače.
Dalším (nepříliš používaným) řešením mohou být různé hardwarové šifrovací a zabezpečovací doplňky k PC, které se většinou montují do volného PC slotu. Tento hardware může odstranit část rizik softwarových řešení (např. bezpečná paměť pro uložení klíčů apod.). I v tomto případě však zůstává potřeba zabezpečit počítač proti neautorizovanému zásahu (například záměna karty za jinou, upravenou ve prospěch narušitele).
Asi nejlepším řešením je použít hardwarové zařízení umístěné mimo vlastní počítač. Typickým představitelem jsou čipové karty, jejichž mechanické provedení se může lišit.
Ač se to na první pohled nezdá, čipové karty dnes najdeme takřka všude: telefonní karty, SIM-karty do mobilních telefonů, různé průkazkové karty sloužící k identifikaci jejich nositele, elektronická peněženka, atp. Méně často už potkáme karty použité jako zabezpečovací.
„Čistokrevné“ čipové karty bývají vybaveny buď kontaktní ploškou (s osmi kontakty) nebo mohou být bezkontaktní (s VF-přenosem dat). Ať již je „balení“ jakékoliv, čipová karta se většinou skládá z těchto základních částí:
· paměť (ROM s firmwarem, RAM pro ukládání mezivýsledků, PROM pro nastavení některých nevratných parametrů karty, EEPROM pro další rozšiřující funkce karty);
· procesor nebo řadič;
· komunikační zařízení (kontakty/VF);
· případně CryptoProcesor(včetně generátoru náhodných čísel).
Pokud je čipová karta používána pouze jako paměťové médium, pak v zásadě nemusí být vybavena procesorem, ale pro přístup do její paměti postačí pouze řadič. Z tohoto pohledu rozlišujeme karty na „procesorové“ a ostatní. Existence procesoru ale ještě nezaručuje podporu zabezpečovacích funkcí, kterých může být na kartě implementováno bezpočet. Ne všechny je ale optimální přímo na kartě využívat. Pro vlastní šifrování rozsáhlých dat je daleko efektivnější použít výkonný procesor počítače.
Karta s kryptografickým procesorem se hodí hlavně pro realizaci podpisu zde uloženým soukromým klíčem nebo k získání symetrického klíče použitého při hybridním šifrování rozsáhlého datového bloku. Důvodem je potřeba zajistit, aby soukromý klíč nemusel hardwarové zařízení nikdy opustit a dostat se do samotného počítače, kde by mohl být zneužit.
Přístup ke klíčům na čipové kartě bývá většinou chráněn PINem (PersonalIdentificationNumber). Toto není zbytečné obtěžování uživatele, ale rozumné opatření pro případ, že by se karta dostala mimo jeho přímou kontrolu. Některé karty mohou podporovat „administrátorský PIN“, který se obvykle označuje jako PUK (PrivilegedUserKey). Většina karet umožňuje zadat PIN o délce až 16 znaků.
Karta je zajištěna i pro případ, že záškodník bude zkoušet zadávat různé hodnoty PINu s cílem najít správnou kombinaci. Tímto zajištěním je omezení počtu neúspěšných zadání PINu, po jehož překročení se karta uzamkne.
Další postup může být u jednotlivých karet různý:
· Zadáním PUK se karta odblokuje a data na ní zůstanou.
· Zadáním PUK se karta odblokuje a zadá se nový PIN, přičemž klíče a data na kartě lze dále používat.
· Zadáním PUK kartu vymažeme a znovu naformátujeme.
· Zadáním PUK je karta nevratně zničena.
Uživatel má zpravidla k dispozici software, kterým může PIN na kartě měnit. Tuto možnost by měl pravidelně využívat, aby omezil nebezpečí jeho prozrazení. Zadávání PINu na klávesnici počítače je slabým místem, protože zde existuje reálné riziko, že případný záškodník dokáže nainstalovat například trojského koně. Tento problém řeší speciální klávesnice (PIN-Pad), která může být integrována například do čtečky. PIN potom neprochází zranitelným prostředím počítače.
Karta po svém vyrobení absolvuje několik „životních fází“. Nová karta obsahuje firmware, který většinou ještě nemá zadány všechny volitelné parametry a definovány vlastnosti. Podle požadavků zákazníka mohou být karty donastaveny (fáze „customizace“). Pro celou objednanou sérii může být nastaven PUK, minimální délka PINu, počet možných neúspěšných zadání apod. U uživatele pak následuje fáze inicializace (formátování) karty Může zadat např. jméno karty (label), uživatelský PIN apod. Tento krok lze většinou provést i u karty, která není nová, ale byla již používána. Následuje užívání karty.
V příštím, již závěrečném díle, se ještě krátce zmíníme o USB tokenech.
V závěrečném díle se ještě krátce zmíníme o USB tokenech - mechanickým provedením umožňujícím připojit čipovou kartu k počítači přímo pomocí USB konektoru. Odolná mechanická konstrukce dovoluje nosit token neustále při sobě (např. na svazku klíčů).
V poslední době se stále častěji setkáváme s mechanickým provedením umožňujícím připojit čipovou kartu k počítači přímo pomocí USB konektoru. O takové čipové kartě hovoříme jako o USB tokenu (nebo jen tokenu). Odolná mechanická konstrukce dovoluje nosit token neustále při sobě (např. na svazku klíčů).
Jedním z výrobců tokenů je italská firma Eutron, kterou v České republice společnost AEC zastupuje. Kromě jiných zajímavých výrobků najdeme v portfoliu Eutronu i token dodávaný pod označením CryptoIdentity.
CryptoIdentity obsahuje speciální RISC (krypto)mikroprocesor, který je jeho výkonným článkem a garantuje bezpečnost celého zařízení. Podporuje silný šifrovací algoritmus RSA s maximální délkou klíče 1024 nebo 2048 bitů. Token vyhovuje standardu PKCS#11 a podporuje taktéž většinu norem vztahujících se k PKI (např. digitální certifikáty ve formátu X.509). Pro uložení klíčů a certifikátů je k dispozici celkem 32 kB paměti. Zabudován je rovněž generátor náhodných čísel. Pro posílení bezpečnosti slouží speciální funkce nucené změny PINu v daném časovém intervalu a samozřejmě i omezený počet jeho chybných zadání.
Token je možno použít na operačních systémech Windows (98, NT 4.0, 2000, XP). Kromě uvedených jsou podporovány i standardy ISO-7816 1 - 4, PC/SC, Full Cryptoki, Microsoft CAPI, šifrovací algoritmy DES (FIPS PUB 46), SHA-1 (FIPS PUB 180-1) a RSA. Zvláštností je integrovaná ochrana proti tzv. Bellcorově útoku (druh kryptografického útoku proti algoritmu RSA založený na jeho matematických vlastnostech).
A tady náš krátký seriál o elektronickém podpisu a šifrování končí. Doufám, že jste z něj kromě notoricky známých faktů načerpali i nějaké nové znalosti. Závěrem bych rád uvedl alespoň jedno: Šifrování ani elektronického (digitálního) podpisu se bát nemusíte.