Principy bezpečné komunikace
Úvod do problematiky
Výměna informací v elektronické podobě je trendem dnešní doby. Ne
každá informace je však určená očím a uším každého. Jinak řečeno, data je často
třeba chránit. Pokud se jedná o elektronické transakce ve sféře státní správy,
financí, zdravotnictví, obchodu, dopravy a služeb aj. je nutné aby byly stejně
důvěryhodné jako klasické procedury prováděné na základě osobního styku
používající postupy ověřování totožnosti, vlastnoruční podpisy a archivaci
dokumentů. Na základě této úvahy lze v souladu s mezinárodními normami (ITSEC
a ITSEM) definovat základní bezpečnostní cíle, jejichž plnění by měl důvěryhodný
systém zajistit.
- důvěrnost informací - systém musí zabezpečit, že neautorizované subjekty
nebudou mít možnost přístupu k důvěrným informacím
- integrita - systém musí zabezpečit informace proti neautorizované modifikaci
- neodmítnutelnost odpovědnosti - systém musí zabezpečit prevenci proti ztrátě
schopnosti přesvědčit třetí nezávislou stranu o přímé odpovědnosti subjektu za
odeslání, případně přijetí zprávy.
Otázkou zůstává jak tohoto stavu dosáhnout.
Fyzická ochrana přenosu je často náročná, většinou však nemožná. Nelze si
představit ochranu byť jen několik kilometrů dlouhé linky tak, aby z ní nebylo
možné signál odposlechnout. Často se navíc využívá komutované linky, která na
každém uzlu k odposlechu přímo vybízí. Jistou bezpečnost snad nabízí spojení
pomocí optického kabelu, ale ani v tomto případě nelze mluvit o vysokém stupni
ochrany.
Nabízí se tedy možnost logické ochrany dat, neboli šifrování. Znamená to
zašifrovat data na straně odesilatele, odeslat je a na straně příjemce zase dešifrovat.
obr.1 : Přenos zpráv šifrovaným kanálem.
Kvalita logické ochrany zprávy je dána šifrovací metodou, typem užitého
algoritmu, jeho aplikací, a délkou šifrovacího klíče.
Šifrovací metody
V zásadě rozlišujeme dvě šifrovací metody.
Symetrická kryptografie
První z nich je metoda symetrické šifry. Znamená to, že stejný klíč, který
byl užit k zašifrování zprávy na straně odesilatele bude užit i na straně příjemce pro
dešifrování zprávy. Z toho vyplývá nutnost před začátkem komunikace předat
důvěryhodným kanálem šifrovací klíč spolu s dalšími údaji (konkrétní typ
algoritmu) druhé straně.
obr.2: Šifrování zpráv symetrickou šifrou.
Současná komerčně dostupná výpočetní technika aplikuje tyto algoritmy
(např. DES, TRIPLEDES, IDEA) téměř v reálnem čase. Na druhé straně i
nejmodernější výpočetní technika je schopna dešifrovat data bez znalosti
příslušných klíčů jen za relativně dlouhé časové období a s velkými finančními
náklady. Pomocí matematických metod lze poměrně přesně vyčíslit náklady a čas
potřebný k dešifrování dat, které jsou šifrovány definovaným algoritmem. Volbou
délky klíče lze navíc tento výsledek výrazně ovlivnit. Při použití klíče s délkou 40
bitů je možné zdolat šifru za pomocí paralelního algoritmu s použitím 1200
propojených počítačů za necelé 4 hodiny. Doba rozkódování z délkou klíče roste
velmi rychle (128 bitů - 1000počítačů a 3.10exp22 let). USA, které jsou na špičce
v šifrovacích technologiích většinu algoritmů a technologií patentovala, a tím
omezují vývoz. V současné době je povoleno užití délky klíče 56 bitů. Nakolik je
doba nutná ke zdolání šifry dostačující je dáno individuálními podmínkami
uživatele. Tato doba také určuje časové rozpětí výměny klíčů.
Použití symetrických algoritmů představuje způsob, jak zabezpečit
důvěrnost transakcí definovaným způsobem s možností přesného stanovení hrozeb,
kterým toto zabezpečení odolává.Tyto algoritmy však neřeší důležitý požadavek
neodmítnutelnosti odpovědnosti. Nelze totiž určit, která strana zprávu odeslala a
která přijala.
Asymetrická kryptografie
Oproti symetrické kryptografii se zde užívá dvojice klíčů. Tuto dvojici klíčů
si vygeneruje uživatel pomocí některého z běžně dostupných SW produktů (např.
SSL) a stává se tak jejich jediným majitelem. Princip spočívá v tom, že data
šifrovaná jedním z klíčů lze v rozumném čase dešifrovat pouze se znalostí druhého
z dvojice klíčů a naopak. Jeden z nich, takzvaný privátní klíč je s maximální
bezpečností ukrýván majitelem (čipové karty, disketa v trezoru, ...), zatímco druhý
klíč je zveřejněn. Známe-li tedy vlastníka veřejného klíče, kterým jsme zprávu
dešifrovali, známe odesilatele. Protože je veřejný klíč obecně znám všem, nelze
zprávu zašifrovanou podle výše popsaného postupu považovat za zašifrovanou
v plném smyslu slova (důvěrnou), ale pouze za podepsanou.
obr.3a: Přenos neadresované, nezašifrované (veřejné), ale podepsané (autorizované)
zprávy.
Tímto způsobem lze za pomocí asymetrické kryptografie řešit integritu dat a
neodmítnutelnost odpovědnosti na straně odesilatele. Jestliže příjemce pošle
podepsané potvrzení o přijetí zprávy, je zajištěna neodmítnutelnost odpovědnosti i
ze strany příjemce. Není tak ovšem vyřešena otázka důvěryhodnosti zpráv, tedy
nečitelnosti pro neautorizované subjekty. K tomu lze využít šifrování zpráv pomocí
veřejného klíče adresáta. Při zašifrování zprávy tímto klíčem máme jistotu, že ji
přečte pouze adresát se svým privátním klíčem. Situace je znázorněna na obrázku
3b.
obr. 3b : Přenos adresované, zašifrované (důvěrné), ale nepodepsané (neautorizované)
zprávy.
Celý systém pro šifrování a podepisování zpráv pomocí asymetrické
kryptografie pracuje tedy následujícím způsobem. Zpráva je obvykle na straně
odesilatele nejprve podepsána, podepsán je čitelný text zprávy, a potom šifrována.
Na straně příjemce je zpráva nejprve dešifrována privátním klíčem příjemce, čímž
je zajištěna adresnost zprávy a teprve potom je pomocí veřejného klíče ověřena
identifikace odesilatele. Situaci zobrazuje obrázek 3c.
obr.3c: Přenos adresované, zašifrované (důvěrné) a podepsané (autorizované) zprávy.
Praktické využití
Aplikace asymetrických algoritmů je výrazně pomalejší než užití algoritmů
symetrických. Je to dáno matematickou podstatou asymetrických algoritmů. Proto
se mnohdy při tvorbě podpisu nešifruje privátním klíčem odesilatele celá zpráva, ale
nejprve se na data použije takzvaná hashovací funkce. Hashovací funkce je
jednosměrná transformace, která z variabilních vstupních veličin vrací
jednoznačnou hodnotu (textový řetězec) pevné délky, která se jmenuje hash
hodnota. Hash hodnota představuje zhuštěnou hodnotu dlouhé zprávy ze které byla
vypočtená, ve významu ädigitálního otisku prstuô velkého dokumentu. Opačný
proces je nemožný. Příkladem nejznámějších algoritmů hashovacích funkcí jsou
MD2 a MD5. Výpočet hash hodnoty zprávy je velmi rychlý. Nejprve se při
podpisu zprávy vypočte hash hodnota zprávy, která bývá výrazně kratší než
podepisovaná zpráva, a ta se zašifruje některým asymetrickým algoritmem (RSA)
s použitím privátního klíče. Výsledkem je takzvaný digitální podpis, který je potom
odeslán jako příloha zprávy nebo v samostatném bloku. Výhodou digitálního
podpisu je, že splňuje stejná bezpečnostní kritéria jako podpis celého dokumentu,
provedení však trvá nesrovnatelně kratší dobu.
Kontrola digitálního podpisu zprávy u příjemce probíhá tak, že ke zprávě je
podle dohodnutého algoritmu (MD5) samostatně dopočítána nová hash hodnota a
ta je potom srovnávána s dešifrovanou (pomocí veřejného klíče předpokládaného
odesilatele) hash hodnotou obsaženou v dodatku zprávy. Obě hodnoty si musí být
rovny.
obr.4a: Bezpečná komunikace s využitím digitálního podpisu
Odesilatel zprávy nejprve vypočte hash hodnotu zprávy a tu zašifruje svým
privátním klíčem čímž vznikne digitální podpis zprávy. Potom zprávu zašifruje
veřejným klíčem adresáta (äznečitelníô pro neautorizované subjekty). Takto
upravená zpráva je spolu s digitálním podpisem předána ( zaslána po síti, předána
na disketě, ...) adresátovi. Ten nejprve zprávu dešifruje za pomocí svého privátního
klíče a tím se zpráva stane čitelná. Podpis ověří výpočtem hash hodnoty zprávy a
jejím srovnáním s dešifrovanou hash hodnotou z digitálního podpisu.
Tímto způsobem lze splnit kritéria bezpečnosti z úvodu. Protože je však
v při tomto postupu třeba nejméně jednou zašifrovat celou zprávu pomocí
asymetrického algoritmu (äznečitelněníô zprávy), což by v případě delších zpráv
trvalo na obou komunikujících stranách neúměrně dlouho, není toto užití
v bezpečné komunikaci typické. Častěji se k šifrování zpráv používá model, ve
kterém je asymetrická kryptografie použita pouze ke tvorbě digitálního podpisu a
bezpečné výměně klíčů pro symetrickou kryptografii, která je užita k vlastnímu
šifrování přenášených dat. Tato komunikace vyžaduje dohodu o formátu
přenášených dat a systému jejich šifrování. Příklad jednoduché, prakticky užívané
komunikace je zobrazen na obrázku 4b.
obr.4b: Bezpečná komunikace s využitím digitálního podpisu a šifrováním zprávy symetrickou šifrou
Správa klíčů
Zřejmě nejproblematičtějším bodem bezpečné komunikace je správa a
uchování klíčů. Při užití symetrické kryptografie je třeba s maximální možnou
mírou bezpečnosti uchovávat klíče se seznamem komunikačních partnerů. Tento
požadavek je však v rozporu s nutností poměrně časté změny klíče v souvislosti
s dobou rozkódovatelnosti těchto algoritmů. Jednodušší situace je při užití
asymetrické kryptografie. Nestačí však střežit jen svůj privátní klíč. Je také nutné
uchovávat veřejné klíče všech komunikujících účastníků a k nim jednoznačnou
identifikaci vlastníků těchto klíčů. Předání klíčů je před začátkem vůbec první
vzájemné komunikace bezpečným kanálem je nezbytnou nutností. Při větším počtu
vzájemně komunikujících subjektů to může být problém dosti závažný. Uchování
těchto informací se tak stává nejslabším článkem bezpečné komunikace a může
zcela znehodnotit snahy o vysoké utajení přenášených dat.
Certifikáty
Certifikační autorita a certifikáty.
Řešením problému zprávy, distribuce a uchování klíčů je využití služeb
Certifikační autority. Tyto instituce se podobají státním notářům. Certifikační
autorita vystupuje při vzájemné komunikaci dvou subjektů jako třetí nezávislý
důvěryhodný subjekt, který prostřednictvím jím vydaného certifikátu jednoznačně
svazuje identifikaci subjektu s jeho dvojicí klíčů respektive s jeho digitálním
podpisem. Certifikát se tak stává jakýmsi elektronickým průkazem totožnosti.
Certifikáty obsahují ve své nejjednodušší formě veřejný klíč, jméno a další údaje
zajišťující nezaměnitelnost subjektů. Běžně používané certifikáty též obsahují
datum počátku platnosti, datum ukončení platnosti, jméno certifikační autority,
která certifikát vydala, sériové číslo a některé další informace. Certifikační autorita
garantuje jedinečnost subjektů podle užité identifikace subjektu. To je zajištěno
legislativními a technickými pravidly provozu instituce Certifikační autority. Splnění
těchto požadavků potvrdí Certifikační autorita podepsáním dokumentu svým
privátním klíčem a následným vydáním tohoto certifikátu.
obr.5: Certifikát
Znamená to že certifikát je podepsaným dokumentem se všemi důsledky
z toho plynoucími, tedy zejména autorizace (Certifikační autorita jako garant
pravosti dokumentu) a integrita dat (nelze zaměnit klíč nebo identitu klienta). Tím ,
že Certifikační autorita zaručuje správnost jí vydaného certifikátu , odstraňuje
nutnost smluvní důvěryhodné výměny klíčů mezi dvěma subjekty navzájem a jejich
dohoda spočívá pouze v domluvě o společně uznávané Certifikační autoritě. Příklad
běžného certifikátu vydaného fiktivnímu klientovy a certifikátu certifikační autority
je v příloze k tomuto dokumentu. Důležité je, že se utajovaná data na straně klienta
redukují pouze na bezpečné uchovávání privátního klíče, protože ostatní je řešeno
certifikáty. Ty si můžeme kdykoliv ověřit se znalostí veřejného klíče certifikační
autority, repektive jejího certifikátu. Existence Certifikační autority také umožňuje
důvěryhodnou komunikaci i subjektů, jenž se navzájem fyzicky nikdy nepotkali
nebo neabsolvovali složitou proceduru vzájemné důvěryhodné výměny svých klíčů.
Tvorba a životnost certifikátů
Tvorba certifikátu má 6 kroků:
- Generování klíčů. Každý potenciální žadatel o certifikát si nejprve sám
pomocí dostupného SW vybavení vygeneruje dvojici klíčů pro použití
v asymetrické kryptografii.
- Příprava identifikačních dat. Žadatel o certifikát shromáždí podle
požadavků certifikační autority osobní identifikační materiály nutné pro
vydání certifikátu, jako IČO, DIČO, resp. číslo OP, rodné číslo a
podobně.
- Předání veřejných klíčů a identifikačních údajů certifikační autoritě.
Žadatel předá certifikační autoritě data nutná pro vydání certifikátu spolu
s doklady o jejich pravosti.
- Ověření informací. Certifikační autorita si na příslušných místech ověří,
že může vydat žadateli certifikát.
- Tvorba certifikátu. Certifikační autorita vytvoří digitální dokument
příslušného formátu a ten poté podepíše svým privátním klíčem.
- Předání certifikátu. Podle dohody je certifikát žadateli předán (disketa),
zaslán, nebo zveřejněn.
Doba platnosti certifikátů je omezená a je uvedena v každém certifikátu.
Tato veličina je velmi důležitá. Pokrok ve zvyšování výkonnosti výpočetní techniky
a možnost objevení mezer v protokolech nebo algoritmech by ve velkém časovém
horizontu mohl způsobit, že by se certifikáty staly nespolehlivé. Běžné certifikáty
jsou proto vydávány s platností 6 měsíců, nejvíce 1 rok. I během této doby je
možné zrušit platnost certifikátu. Důvodem pro toto opatření může být například
vyzrazení privátního klíče.
obr.6: Životní cyklus certifikátu.
Zrušený certifikát je zařazen do seznamu zneplatněných certifikátu
(CRL). Seznam zneplatněných certifikátů je tedy jakási černá listina, na které jsou
uvedeny neplatné certifikáty, jejichž doba platnosti ještě nevypršela Tento seznam
je obdobou případu seznamu zrušených kreditních karet. Banka nemůže donutit
klienta aby neužíval svou kreditní kartu, stejně jako certifikační autorita nemůže
zabránit klientovi v užívání certifikátu. Při každé transakci pomocí certifikátů je
možné si pomocí této listiny certifikát ověřit.. Seznam zneplatněných certifikátů je
veřejná listina podepsaná certifikační autoritou a chráněná tedy stejně jako
certifikát.
|