MKRI – Kryptografie v informatice –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– 1. Základní pojmy: kryptologie, kryptografie, steganografie, kryptoanalýza, princip symetrických a asymetrických šifer. ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Kryptologie: Nauka o metodách utajování. Název z řeckého slova „kryptós“ = skrytý. Kryptologie je souhrnný název pro kryptografii, steganografii a kryptoanalýzu.
Kryptografie: Technika a věda o utajování zpráv. Zabývá se šifrovacími technologiemi, algoritmy, mechanizmy, stavebními bloky a transformacemi používanými pro utajování zpráv. Kryptografie šifrované zprávy vytváří.
Steganografie: Věda zabývající se „skrýváním zpráv“. Základem je utajený algoritmus na veřejném klíči, což může znamenat komunikaci tam, kde se zdá, že žádná komunikace není. (V praxi – text uložený v obrázku na místech, kde se vyskytuje náhodný šum.)
Kryptoanalýza: Věda zabývající se získáváním obsahu zašifrovaných zpráv, aniž by bylo použito tajného klíče. Tzv.: prolamování kódu. Kryptoanalýza šifrované zprávy luští a tím testuje odolnost kryptografických systémů.
Princip symetrických šifer: Základem je takový šifrovací algoritmus,který pro šifrování a dešifrování používá jediný tajný klíč. Klíč je jeden a znají ho jen Ti dva co spolu komunikují => problém s distribucí klíčů. Výhodou sym. šifer je velká rychlost šifrování oproti asymetrickým. Druhy symetrických šifer: Proudové šifry – šifrování bit po bit (byte po byte). Např.:Vernamova šifra,RC4 Blokové šifry – šifrování po blocích konstantní délky (např.:64, 128bit). Pokud je zpráva jinak dlouhá než je velikost bloku, tak se dle různých algoritmů buď rozdělí na bloky,nebo doplní na požadovanou délku. Např.: DES, AES
Princip asymetrických šifer: Základem je šifrovací algoritmus, kde se pro zašifrování a dešifrování používají 2 odlišné klíče (veřejný [VK] a soukromý [SK]). Výhodou asymetrického šifrování je, že ten kdo šifruje, nemusí s příjemcem zprávy sdílet žádné tajemství. Nejběžnějším použitím v praxi je elektronický podpis (viz. otázka č.: 8). Pomocí SK majitel klíčů zprávu zašifruje a VK volně poskytne, aby si každý mohl ověřit autentičnost a integritu zprávy. Druhou možností použití asymetrického šifrování je, že VK majitel klíčů uveřejní a kdokoli jím může šifrovat jemu určené zprávy. Dešifrovací klíč je soukromý, majitel jej drží v tajnosti a pomocí něj může tyto zprávy dešifrovat.
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– 2. Matematické základy kryptologie: modulární aritmetika, inverse „modulo“, Euclidův algoritmus, Eulerova funkce, prvočísla – princip generování. ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Modulární aritmetika Definice: Obecně platí a ≡ b(mod n), jestliže a=b + kn pro nějaké celé číslo k. Bude-li a nezáporné číslo a b číslo mezi 0 a n, pak b můžeme chápat jako zbytek po dělení a číslem n. Číslu b někdy říkáme residuo a, modulo n a o číslu a říkáme že je kongruentní (shodné) s číslem b modulo n. Množina celých čísel od 0 do n-1 tvoří úplnou množinu residuí modulo n. To znamená, že reziduem modulo n jakéhokoliv celého čísla a je nějaké číslo mezi 0 a n-1. Modulo prakticky: Přepočet z 24hodinového formátu na 12cti hodinový. Příklad pro 11 hodin večer: 23mod12 = 11.
Inverse „modulo“ Definice (nejlépe přečíst kompletní z elearningu 3přednáška strana 97-99): Nechť ☼ vyjadřuje nějakou algebraickou číselnou operaci. ☼ může například vyjadřovat operaci +, nebo ×. Číslo i bude identickým prvkem pro ☼ pakliže x ☼ i = x a i ☼ x = i pro každé číslo x. => Existují 2 druhy inverse. Inverse pro operaci sčítání a ta je: x + i =
-1-
MKRI – Kryptografie v informatice x (i = 0, protože a + (-a) = 0 ) a inverse pro operaci násobení a ta je: x × i = x (i = 1, protože a × 1/a = 1). Konkrétní multiplikativní inverse 4 je ¼ jelikož 4× ¼ = 1. V aritmetice modulů je však problém: 4 × x ≡ 1(mod 7) řešením je hledání takových x, která by splňovala: -1 4x = 7k + 1 => hledáme x pro které platí 1 = (a × x) mod n což lze zapsat a ≡x (mod n). Problém je, že někdy řešení existuje a někdy ne ! Přesvědčit se můžeme když si uvědomíme že modulární aritmetika na operacích + a × vytváří matematický útvar, kterému se říká komutativní okruh. Budou-li po operaci inversi čísla různá od nuly, půjde o tzv. Galoisovo těleso. Důsledek je ten, že inversi modula zjistíme podle tabulky sestavené pro dané modulo (tabulka složitá, uvedena jen pro úplnost, důležitý je důsledek pod ní – přesto příklad: inverse 5 modulo 14 = 3 )
Tabulka pro odečítání inverse mod 14 -1
Důsledek je, že a ≡x (mod n) má jediné řešení jen tehdy, jestliže čísla a a n nemají společného dělitele. Jestliže -1 a a n mají společného dělitele, pak a ≡x (mod n) nemá žádné řešení! Pokud chceme lehčí způsob, který však již není triviální, jako tento, zvolíme Euclidův algoritmus.
Euclidův algoritmus Nejstarší netriviální algoritmus (vznik cca 500l.př.n.l, popsán Euclidem 300let př.n.l. ) Je to algoritmus pro určení největšího společného dělitele dvou přirozených čísel. Toto číslo je označováno gcd (z angl.: Greatest Common Divisor). Definice: a = m × b + r kde m=a/b a r vyjadřuje zbytek. Příklad: Mějme čísla a=40902, b=24140 a 40902 24140 16762 7378 2006 1360 646 68 34
b 24140 16762 7378 2006 1360 646 68 34 0
a=m×b+r 40902=24140×1+16762 24140=16762×1+7378 16762=7378×2+2006 7378=2006×3+1360 2006=1360×1+646 1360=646×2+68 646=68×9+34 68=34×2+0 konec algoritmu
Euclidův algoritmus pro výpočet gcd Největším společným dělitelem čísel 40902 a 24140 je číslo 34.
-2-
MKRI – Kryptografie v informatice Eulerova funkce Teoretická příprava: Používá se pro výpočet inverse mod n, avšak ne vždy lze použít. Redukovaná množina residuí (zbytků) mod n je podmnožinou úplné množiny residuí ,jejíž prvky nemají s n žádné společné součinitele. Bude-li n prvočíslem, pak redukovanou množinu residuí mod n budou všechna čísla od 1 do n-1 . Eulerova funkce: zapisována: φ(n), reprezentována počtem prvků redukované množiny residuí modulo n udává počet celých kladných čísel menších než n, přičemž žádné z těchto čísel nemá s n společného dělitele. Bude-li n prvočíslo, pak φ(n) = n-1, bude-li n =pq, kde p a q jsou prvočísla, pak φ(n) = (p – 1) × (q – 1). V praxi se těchto čísel využívá v algoritmech veřejného klíče. (Pozn.: na tomto algoritmu je postaven systém RSA – pokud bychom dokázali efektivně vypočítat eulerovu funkci bez rozkladu argumentu, dokázali bychom pak dopočítat z veřejného klíče klíč soukromý.)
Prvočísla – princip generování. Algoritmy veřejného klíče potřebují prvočísla, zde je o nich pár zajímavých poznatků: pokud použijeme velikost 151 čísla 512 bitů, počet různých prvočísel bude 100 , pravděpodobnost že si dva lidé zvolí stejné prvočíslo je tedy 151 1/100 . Vytvořit tedy databázi všech prvočísel velikosti 512 je nemožné. Špatná cesta k hledání prvočísel je vygenerovat si čísla a ta pak rozkládat, dokud nenarazíme na prvočísla. Správný postup je vygenerovat čísla a ta testovat na prvočíselnost. Testů založených na pravděpodobnostním přístupu je celá řada. Tyto testy určují s nějakou pravděpodobností, zda vygenerované číslo může být prvočíslem. Takovýmto prvočíslům se říká průmyslová prvočísla = pravděpodobná prvočísla se zanedbatelně malou chybou. 15 (pravděpodobnost chyby 1 ku 10 – nemusíme řešit). Pro ověření existuje řada testů namátkou: Solovay-Strassenův test, Rabin-Millerův test (testovaní mocí funkce modulo). Princip generování v praxi. (1.) Vygenerujeme n-bitové náhodné číslo p. (2.) nejvyšší a nejnižší bit musí být 1 (nejvyšší oznamuje správnost požadované délka čísla, spodní bit že jde o liché číslo) (3.) Prověříme že číslo p není dělitelné malými prvočísly (3,5,7…251 rozsah je do 256) (4.) Provedeme Rabin-Millerův test. Pomocí malého náhodně vygenerovaného čísla a test se provede 5×. Pokud p nevyhoví vygenerujeme jiné číslo a postup hledání opakujeme.
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– 3. Generování náhodných čísel, princip, kongruenční generátory, testování generátorů, baterie testů. ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Generátory náhodných čísel, principy Generátor náhodných čísel (bitů) je zařízení sestrojené k produkci posloupnosti statisticky nezávislých a rovnoměrně rozdělených (binárních) náhodných veličin. Musí splňovat: rovnoměrnost – pravděpodobnost vygenerovaných „nul“ a „jedniček“ se rovná 0.5, nezávislost měřítka – co platí pro celou posloupnost musí platit i pro libovolnou posloupnost, konzistenci – chování generátoru nezávisí na vstupní hodnotě, nepredikovatelnost, rychlé generování. Využití generátorů náhodných čísel: simulace – např. metody Monte Carlo (numerické metody, které dokáží vypočítat poměrně přesný výsledek použitím naprosto náhodných čísel), loterie, kryptografie o přímé šifrování náhodným heslem - příkladem může být systém One-time pad (dokonalé šifrování), o generování klíčů pro symetrické šifry, o generování klíčů pro asymetrické šifry, o generování dat pro vytváření elektronických podpisů (zvláštní případ využití asymetrických šifer).
Generátory náhodných čísel (bitů) může rozdělit na tří základní druhy: Fyzikální generátory - označovány jako TRNG = True Random Number Generator, - obsahují fyzikální zdroj náhodných informací.
-3-
MKRI – Kryptografie v informatice -
-
podle typu náhodnosti je dělíme na: o fundamentálně náhodné – náhodnost je zahrnuta přímo ve fyzikální podstatě jevu a jev je jako náhodný popsán fyzikálními zákony (radioaktivní rozpad, tepelný šum, dopad světelného kvanta) o prakticky náhodné – po teoretické stránce je systém deterministický, ale je popsán často neúplnými parametry nebo není znám jeho počáteční stav (ruleta, losovací zařízení Sazky, …), výhody: naprostá neopakovatelnost, nevýhody: nízká rychlost generování, problémy při technické realizaci.
Algoritmické generátory - označovány jako PRNG = Pseudo Random Number Generator, - zdrojem náhodných informací je matematický algoritmus (nějaká jednosměrná funkce), - množina generovaných čísel zůstane vždy konečná, - výhody: vysoká rychlost generování, lacinější realizace, - nevýhody: periodicita. Smíšené generátory - kombinace TRNG a PRNG generátorů, - důvodem je spojit kryptografické a statistické výhody obou typů generátorů (v pseudonáhodných generátorech je možné využít funkce, které nejsou striktně jednosměrné jako LFSR – lineární registry se zpětnou vazbou), - zvláštním případem smíšených generátorů je použití velmi jednoduchých funkcí (filtrů) na korekci fyzikálního generátoru za účelem zlepšení pravděpodobnostních charakteristik četnosti bitu „1“ a „0“. Mezi nejznámější funkce (filtry) pro korekci patří: o technika xorování – jeden výstupní bit vytvoříme ze dvou po sobě následujících úspěšných realizací experimentu podle následujícího schématu:
o
filtr von neumanna – opět vytváříme jeden výsledný bit ze dvou po sobě následujících úspěšných realizací experimentu
Kongruenční generátory Kongruenční generátory můžeme zařadit do skupiny algoritmických generátorů, kde zdrojem náhody je nějaký matematický algoritmus s jednosměrnou funkcí (mod). Princip metody: 1. Vhodnou funkcí z předchozích členů posloupnosti vypočteme y. 2. Operací modulo m zařadíme číslo do příslušné třídy a vytvoříme tím následující člen posloupnosti. xn+1 = f(xn, xn-1, ... xn-k) mod m y = f(xn, xn-1, ... xn-k) Kongruence Dvě čísla x, y jsou kongruentní podle modulu m (m N) pokud je rozdíl x – y beze zbytku dělitelný m, zapisuje se: x ≡ y mod m . Kongruencí je množina celých čísel rozdělena na třídy vzájemně ekvivalentních reprezentantů. Lineární kongruentní generátor Lineární kongruentní generátor má následující rovnici: xn+1 = (a0xn + ... + akxn-k + b) mod m. Pro volbu konstant mají generátory svoje názvy: Aditivní: xn+1 = (xn + xn-1) mod m Multiplikativní: xn+1 = (axn) mod m Smíšený kongruentní: xn+1 = (axn + b) mod m
-4-
MKRI – Kryptografie v informatice Pro volbu m, b, a existuje celá řada zásad a doporučení, např. m co největší, m, b nesoudělná, ...
Testování generátorů Testování generátoru spočívá v ověření, zda generátor poskytuje hodnoty, které lze považovat za nezávislé. Existují dva základní typy testů: teoretické testy (vycházejí z teorie čísel) - metodika návrhu, - zobrazení ve vícedimenzionálních prostorech, - zjištění entropie, kompresní techniky, Mauren&Coron (universální kryptografický test). klasické testy: - test frekvence, - test n-tic (serial test, poker test), - test sérií (run test), - test rozložení sérií, - autokorelační test. Žádný test ovšem nedává definitivní jistotu že čísla jsou skutečně náhodná. Úspěšnost v několika testech zvyšuje důvěru v náhodnost čísel.
Baterie testů Přehled nejpoužívanějších testovacích baterií:
FIPS 140-1 (NIST USA) o použité testy: test frekvence, poker test, test sérií, test extrémně dlouhé série, o základní testovací baterie generátorů, má odhalit testy v HW tak i v SW.
FIPS 140-2 (NIST USA) o stejné testy jako FIPS 140-2, o o dva řády tvrdší vyhodnocovací podmínky testů.
NIST Statistical Test Suite o obsahuje 16 testů jak klasických tak i z oblasti transformací testované posloupnosti (FFT, ..), o zaměřen speciálně do oblasti kryptografie.
DIEHARD o obsahuje 15 testů vesměs z oblasti transformací, o pro oblast kryptografie méně vhodná.
CRYPT – XS o obsahuje 8 testů, vhodná pro použití v kryprografii.
VANAD o obsahově podobná s NIST.
-5-
MKRI – Kryptografie v informatice –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– 4. Symetrické šifrovací algoritmy: principy, používané techniky, Césarova šifra, Vernamova šifra, substituční a transpoziční šifry, princip jejich kryptoanalýzy, proudové a blokové šifry, módy blokových šifer, příklady se stručnou charakteristikou (AES, DES IDEA, RC(x)), šifry používané v GSM, princip autentizace účastníků GSM sítě. ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Symetrické šifrovací algoritmy, princip
U symetrických kryptosystémů platí, že KD lze vypočítat v reálném čase z KE a naopak, tzn. oba klíče jsou tajné a proto hovoříme o kryptografických systémech s tajným klíčem. Vlastnosti: výhoda symetrické kryptografie je její relativně velká rychlost šifrování, použití přímo k šifrování velkých objemů dat, klíč pro šifrování a dešifrování je stejný nebo snadno odvoditelný z druhého v reálném čase, klíče je nutné chránit a držet v tajnosti, znalost šifrovacího klíče umožňuje přístup k zašifrovaným datům a jeho neznalost tomuto přístupu zabraňuje, často šifrovací klíč uložen v chráněném hardware, např. v čipové kartě, SIM karta nebo obecně tzv. „tokenech“.
Používané techniky Tajný algoritmus, omezený algoritmus (restricted algorithm) o bezpečnost algoritmu založena na jeho utajení, o je nemožné algoritmus utajit na delší dobu, o používá se v systémech s nízkým stupněm zabezpečení, o v komunikačních systémech se nepoužívají. Algoritmy s využitím klíčů o algoritmy jsou většinou známé, o bezpečnost je zaručena použitím klíčů.
Césarova šifra Césarova šifra funguje na principu prostého posunu celé abecedy o tři písmena doprava.
ci = E(pi) = pi+ 3
-6-
MKRI – Kryptografie v informatice Vernamova šifra (1917) Někdy označována jako dokonalá šifra. Spočívá v posunu každého znaku zprávy o náhodně zvolený počet míst v abecedě. To se prakticky rovná náhradě zcela náhodným písmenem a na tomto faktu je založen důkaz, že Vernamova šifra je v principu nerozluštitelná. Musí se dodržet následující podmínky: klíč musí byt stejně dlouhý jako přenášená zpráva, klíč musí být dokonale náhodný, klíč muže být použit jenom jednou.
Substituční a transpoziční šifry, princip jejich kryptoanalýzy Substituční šifry Substituce - nahrazujeme písmena abecedy jinými písmeny. Rozdělení substitučních šifer: monoalfabetické substituční šifry - každý znak otevřeného textu je jednoznačně transformován na jediný znak šifrového textu o příkladem je Cesarova šifra (25 variant – útok hrubou silou) o kryptoanalýza spočívá ve spočítání frekvence jednotlivých písmen v šifrovaném textu o např. počet permutací abecedy s 26 písmeny = 26! = 4E26.
homofoní substituční šifry - každý jednotlivý znak nahrazen jiným z několika možných znaků o mění se tedy frekvence znaků o vhodné pro frekventovanější komunikaci
polyalfabetické substituční šifry - skládá se z několika jednoduchých šifer o snahou je zrovnoměrnění frekvence distribuce šifrového textu o příklad: písmeno „T“ zašifrujeme jako „A“ (písmeno „A“ má daleko větší četnost v textu) o někdy se používají dvě šifrovací abecedy (jedna pro lichý znak, druhá pro sudý) o způsoby kryptoanalýzy: kasiskiho metoda – princip spočívá v nalezení opakujících se skupin písmen (menší než tři písmena), zjištění vzdálenosti počátečních bodů sousedních skupin (diferencí), stanovení všech dělitelů diferencí, odhad délky klíče a počtu abeced koeficient (index) koincidence – určení počtu monoalfabetických substitucí podle „drsnosti“ rozdělení
Difuse - změna otevřeného textu se promítá do mnoha míst zašifrovaného textu. Konfuse (zmatení) - nelze predikovat, jakou změnu zašifrovaného textu vyvolá byť jen malá změna otevřeného textu, složitá funkční závislost mezi zašifrovaným textem a párem klíč - otevřený text.
Transpoziční šifry Transpozice - změna uspořádání písmen zprávy. Sloupcová transformace - znaky otevřeného textu se zapíší do samostatných bloků např. po pěticích. Výsledný šifrový text vznikne transpozicí: c1 c6 c11 ... c2 c7 c12 ... . K doplnění kratších sloupců se využije znaků s malou četností např. písmeno „x“.
-7-
MKRI – Kryptografie v informatice Kryptoanalýza transpozičních šifer:
zjištění zda se jedná o transpoziční šifru – pomocí frekvenční analýzy jednotlivých znaků porovnávání dílčích posloupností šifrového textu a zjišťuje se četnost skupin znaků (bigramy, trigramy, ... slova)
Dvojnásobná transpozice Dvě sloupcové transpozice s různým počtem sloupců. 1. transpozice E1
2. transpozice E2 Výsledný šifrový text: c1 c7 c13 c5 c6 c12 c4 c10 …
Kryptoanalýza: obě transpozice E1 a E2 jsou regulární funkce proto i E1(E2-(p)) bude regulární, dá se prolomit: o se znalostí vybraných otevřených textů, o se znalostí otevřeného textu, o pomocí analýzy často se vyskytujících digramů. kryptoanalytik lokalizuje páry písmen šifrového textu, které se v otevřeném textu pravděpodobně vyskytují vedle sebe. Pomocí těchto párů se snaží odvodit matematický vztah, který by umožnil vypočítat polohu příslušných písmen šifrového textu. Stejný algoritmus se pak snaží aplikovat na ostatní písmena.
Proudové a blokové šifry Proudové šifry Princip proudového šifrátoru je velmi jednoduchý. Šifrátor je vybaven zdrojem bitů, který podle šifrovacího klíče K produkuje určitou postupnost bitů – tzv. heslo H. Šifrování probíhá tím způsobem, že i-tý bit zprávy zi se sčítá v aritmetice modulo dva s i-tým bitem hesla hi. Vznikne tak i-tý bit kryptogramu ci=zi hi.
Při dešifrování postupnost bitů kryptogramu zpracovává dešifrátor. Ten má k dispozici stejný synchronně pracující zdroj hesla. V případě použití stejného klíče K se na výstupu tohoto zdroje hesla objevuje heslová postupnost, která je totožná s heslovou postupností šifrátoru. Sčítáním modulo dva c i a hi vznikne původní bit zprávy zi: ci hi = (zi hi) hi = zi. Rozdělení proudových šifer: synchronní o příjemce i odesilatel musí mít synchronizován, o chyba při komunikaci má za následek ztrátu synchronizace. asynchronní o při ztrátě synchronizace dojde po určité době k synchronizaci, o proud hesla je generován pomocí klíče a n znaků šifrového textu.
-8-
MKRI – Kryptografie v informatice Výhody:
rychlost transformace – každý symbol šifrován samostatně, malé šíření chyb – případná chyba ovlivní pouze daný znak.
Nevýhody: nízká úroveň difůze – veškerá informace o jednom znaku transformována opět do jednoho znaku, náchylnost k úmyslným falzifikacím a modifikacím, při odhalení „pozice otevřeného textu v šifrovém textu“ možno snadno zaměnit zprávu, nezajišťují integritu, nebezpečí dvojího použití stejného hesla. Blokové šifry V případě použití blokové šifry se zpráva rozdělí na bloky o určité délce. Každý blok zprávy se stanoveným postupem podle daného klíče zašifruje. Spojením všech po sobě následujících zašifrovaných bloků vznikne samotný kryptogram. Délka jednotlivých bloků zprávy, respektive kryptogramu činí zpravidla n = 64, 128 nebo 256 bitů. Výhody: difůze – informace otevřeného textu difunduje do několika symbolů šifrového textu, imunita vůči narušení - nelze změnit symbol v bloku aniž by to bylo při dešifrování odhaleno. Nevýhody: zpoždění – pro započetí šifrování je nutno přijmout celý blok, šíření chyb – chyba ovlivní transformaci všech ostatních znaků téhož bloku.
Módy blokových šifer ECB – Electronic Code Book Vlastnosti: základní režim blokové šifry, každý blok je šifrován samostatně, opakovaný blok je shodně šifrován, pro krátké zprávy, rozesílání klíčů, vhodné pro poruchové spoje (ztráta pouze jednoho bloku).
CBC – Cipher Block Chaining Vlastnosti: řetězení šifrového textu - rozšíření difúze a konfúze, každý blok před šifrováním „XORován“ s předchozím zašifrovaným blokem, první blok XOR s IV inicializačním vektorem, poslední blok doplnit na potřebnou délku, kontrola při dešifrování, po ztrátě bloku šifrového textu se synchronizuje po přijetí dvou bloků.
-9-
MKRI – Kryptografie v informatice CFB – Ciphertext FeedBack Vlastnosti: využití blokové šifry jako zdroje „hesla“ pro proudovou šifru, zdroj (generátor) hesla ovlivněn zpětnou vazbou branou ze zašifrovaného textu, schopnost samo-synchronizace, při dešifrování náchylné na chybovost spoje.
OFB – Output FeedBack Vlastnosti: zpětná vazba zavedena z výstupu samotného „generátoru“, vlastnosti synchronní proudové šifry, pro poruchové spoje, satelitní komunikace.
CTR – Counter mode Vlastnosti: obdoba OFB, převádí blokovou šifru na synchronní proudovou šifru, heslo lze vypočítat na základě pozice otevřeného textu, nemá vlastnost samo-synchronizace.
MAC = Message Authentication Code
autentizační kód zprávy, slouží k zajištění integrity např. zprávy (obdoba CBC). autentizační funkce A produkuje autentizační kód h zprávy Z (MAC), který je závislý na nějakém tajném klíči K: h = A(Z, K) . výhodou kódu MAC je skutečnost, že útočník nemůže tento kód ani vytvořit ani ověřit, protože nezná tajný klíč K.
- 10 -
MKRI – Kryptografie v informatice
Příklady se stručnou charakteristikou (AES, DES IDEA, RC(x)) DES (Data Encryption Standard)
vznikla v roce 1977, symetrická bloková šifra bloky o velikosti 64 bitů, klíč dlouhý 56 bitů, 16 rund, v dnešní době rozluštitelný hrubou silou, proto vzniklo zesílení -> triple DES DES nahrazen AES
Triple DES
umělé zesílení DES, 1999 FIPS PUB 46-3, prodloužení klíče na 56 (+ 56) + 56 bitů, 3DES_112, 3DES_168, používá se všude tam, kde je potřeba schválený a bezpečný algoritmus a nevadí zpomalení.
AES (Advanced Encryption Standard)
symetrická bloková šifra, vyvinuta americkou vládou jako standard pro šifrování svých dokumentů, šifra využívá symetrického klíče. Tj. stejný klíč je použit pro šifrování i dešifrování. Velikost klíče může být 128, 192 nebo 256 bitů. metoda šifruje data postupně v blocích s pevnou délkou 128 bitů. Šifra se vyznačuje vysokou rychlostí šifrování. V současné době nebyla tato metoda ochrany dat zatím prolomena.
- 11 -
MKRI – Kryptografie v informatice IDEA (International Data Encryption Algoritm)
využívá klíčů o délce 128 bitů s šifrováním 64-bitového bloku, symetrická šifra, 8 rund, v každé rundě je každý subblok XORován, sečten s dalšími subbloky a se subklíči, 128 38 útok hrubou silou by vyžadoval 2 (10 ) šifrování k nalezení klíče – při testování bilionu klíčů za sekundu by 13 trvalo 10 let nalézt klíč, může pracovat ve všech režimech pro bokové šifry, ECB, CBC, OFB, CFB.
RC4
R. Rivest, 1987, RSA dlouho neznáma struktura 1994 popis zveřejněn hackerem šifra internetu, SSL, S/MIME rychlá , 2 - 4 krát rychlejší než blokové šifry klíč 40, 128 bitů přenáší se asymetricky 1995 výzva na internetu k rozluštění komunikace SSL - použit útok hrubou silou, 40 bitový klíč rozlomen za 8 dní (druhá výzva 32 hodin)
RC6
blok 128 bitů pro 18 rund existují určité teoretické slabiny na PC 200 MHz rychlost šifrování 12,6MB/s, vhodné pro implementaci na čipových kartách s méně než 256B RAM
Šifry používané v GSM, princip autentizace účastníků GSM sítě Požadavky na bezpečnost mobilní komunikace: anonymita – odposlechem není možné určit identitu ani pozici účastníka, autentizace – použité služby jsou jednoznačně přiřazeny, účastníkovi, u kterého je ověřená identita. Je vhodné aby se autentizovala síť vůči uživateli. důvěrnost – odposlechem není možné zjistit obsah přenášených dat, hovoru. Autentizace, kterou síť GSM ověřuje identitu uživatele mobilní stanice je klasickým protokolem typu výzva-odpověď. Šifra pro autentizaci uživatele GSM se nazývá COMP 128. Je složena ze dvou algoritmů: A3, A8. Využívá klíče Ki (128b) skrytého v SIM kartě telefonu a v AuC (Autentizační Centrum sítě). Postup autentizace: 1) Mobilní stanice se přihlásí do sítě. 2) Síť vyžádá triplet „ AT “ =
, kde: RAND je náhodné číslo (128b) SREC = A3(RAND, Ki) Kc=A8(RAND, Ki). 3) Mobilní stanice vypočítá SRES‘ za pomoci A3 a Ki na SIM kartě. 4) SRES‘ odešle síti. 5) Pokud SRES‘ = SRES (vytvořenou sítí) je povolena další komunikace.
- 12 -
MKRI – Kryptografie v informatice
Šifra A5 se používá pro šifrování (standardizována A5/1-4):
COMP 128 – prolomen COMP 128 -2, COMP 128 – 3 (Kc 64b) – tajné. Útoky na COMP128: algoritmus byl a je tajný první popis algoritmu 1997, některé části popisu chyběly 1998 byl COMP128 prolomen zpětným inženýrstvím skupinou kryptologů - algoritmus napsali v jazyce C a provedli na něj první útok, ten vyžadoval provedení dotazů se 150 000 vybraných vstupů a trval přibližně 8 hodin (při použití čtečky SIM karet, která umožňovala 6 dotazů za sekundu). 2002 DPA (Differential Power Analysis) skupina z IBM. Bylo zapotřebí 1000 dotazů s náhodnými vstupy nebo 255 dotazů s vybranými vstupy nebo dokonce pouze 8 dotazů s adaptivně vybranými vstupy. A5
A5 tajný algoritmus pro šifrování řeči 1994 první popis od dr. Shepherda. (Britská telefonní společnost BTT mu omylem zapomněla dát podepsat smlouvu o mlčenlivosti). o A5/0 bez šifrování o A5/1 šifrovací algoritmus 64/54b klíč o A5/2 oslabená verze A5/1 o A5/3 šifrovací algoritmus používaný v UMTS (Katsumi), algoritmus zveřejněn.
- 13 -
MKRI – Kryptografie v informatice –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– 5. Kvantová kryptografie, princip, protokol pro výměnu klíčů. ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Princip: Oblasti použití: Bezpečná komunikace (kombinace se symetrickou šifrou, výměna klíčů) Generování náhodných čísel Kvantová informace Nelze vytvořit identickou kopii neznámého kvantového stavu - vychází z Heisenbergova principu neurčitosti. - čtení zprávy zároveň ovlivňuje její obsah. Kvantový bit - qubit Může nabývat nekonečně mnoho hodnot mezi hodnotami 0 a 1, avšak měřením qubitu získáme nejvýše jeden bit klasické informace. Qubit může být realizován jakýmkoliv dvojrozměrným kvantovým systémem. - foton (polarizace, fázový posun) - elektron (spin) - atom (spin) Formální zápis
,
0 1 - qubit, - komplexní čísla (
2
1) 2
0 , 1 - báze dvojrozměrného „Hilbertova prostoru“
Polarizace světla - lineární polarizace světla, vektor elektrického pole kmitá ve stále stejném směru - polarizace pomocí hranolu na dvě kolmé složky (vertikální a horizontální polarizace) - jeden foton nelze rozdělit, proto je-li polarizován šikmo, buď projde nebo se odrazí s pravděpodobností 50% - po průchodu bude polarizován svisle nebo vodorovně
Polarizační kódování Bity 0 a 1 jsou kódovány do kvantových stavů polarizovaných fotonů (dvě navzájem kolmé lineární polarizace ze dvou polarizačních bází pootočených o 45°). Ortogonální báze
0
1
* koncept kvantových peněz
- 14 -
MKRI – Kryptografie v informatice Protokol pro výměnu klíčů Protokol BB84 Slouží k dohodě na symetrickém klíči (např. systém jednorázového hesla). Neřeší autentizaci uživatelů. Založen na využití Heisenbergova principu neurčitosti ve spojení s polarizačním, nebo fázovým kódováním. S mírnými obměnami používán a rozvíjen dodnes.
Polarizační kódování Postup: I. Kvantový přenos 1. Alice vybere náhodné bity. 2. Alice náhodně vybere vysílací polarizační báze. 3. Alice kóduje bity do polarizací posílaných fotonů. 4. Bob náhodně vybírá přijímací polarizační báze. 5. Bob zaznamenává obdržené bity (některé fotony se ztratí – nejsou detekovány) II. Veřejná diskuze 6. Bob oznamuje báze, ve kterých naměřil fotony. 7. Alice oznamuje, které báze byly správně „uhodnuty“. 8. Shodli-li se Alice a Bob v bázích, přenesený bit si ponechají. (nenaslouchala-li Eva má Bob přesně to, co alice poslala) III. Obětování bitu 9. Bob obětuje některé náhodně vybrané bity k odhalení Evy. 10. Alice potvrzuje tyto obětované bity (Eva by způsobila odchylky). 11. Zbylé tajné bity sdílené Alicí a Bobem tvoří klíč.
- 15 -
MKRI – Kryptografie v informatice Odposlech: Foton nelze rozdělit, nelze vytvořit ani jeho přesnou kopii. Eva se tváří jako Bob a Alice, nezná však polarizační bázi, způsobí v přenosu průměrně 50% chyb. Stálý odposlech způsobí v přenosu průměrně 25% chyb.
Detekce odposlechu: Alice a Bob porovnávají část přenesených bitů, není-li v systému jiný zdroj chyb, neshoda indikuje odposlouchávání. Alice a Bob obětují část dohodnutého klíče a veřejným kanálem (nutno autentizovat původ zpráv) se informují o konkrétních přijatých hodnotách. Odposlech se projeví jako chyba v přenosu. n Při obětování n bitů je pravděpodobnost detekce soustavného odposlechu 1 - (0,25) . Volbou n lze tuto pravděpodobnost limitně přibližovat k hodnotě 1. 100 -13 Srovnáním 100 bitů bude pravděpodobnost, že odposlech nebude odhalen p = (1 – 0,25) ≈ 3.10 .
Protokol B92 Dvojstavový protokol. 0 – foton polarizovaný pod úhlem 0° (+) 1 – foton polarizovaný pod úhlem 45° (x)
Postup: Komunikace přes kvantový kanál 1. Alice – náhodně volí bity 2. Polarizace fotonů, které vysílá Alice 3. Bob – náhodně zvolí polarizační báze 4. Polarizace fotonů, které Bob změřil 5. Bob – zjištěné bity Komunikace přes klasický kanál 6. Bob oznamuje Alici, pro které bity dokázal určit jejich hodnoty 7. Bob obětuje některé bity na odhalení Evy a oznámí jejich hodnoty Alici 8. Alice oznamuje Bobovi, zda má stejné hodnoty bitů. 9. Tajný klíč
- 16 -
MKRI – Kryptografie v informatice 1 2 3 4 5 6 7 8 9
0 1 ↔ x x 0 K
?
0 ↔ + ↔ ?
0 ↔ + ↔ ?
1 + ↕ 1 K 1
0 1 ↔ x + ↕ ? 1 K
1
1
1
x
+
+ ↔ ? 0 K
?
0 1 ↔ x x ?
0 1 ↔ + x ↔ ?
0 0 ↔ ↔ x + ↔ ? ?
OK
0
0 1 ↔ x x 0 K 0
?
0 ↔ + ↔ ?
0 ↔ + ↔ ?
0 1 ↔ x x ?
?
1
1 ↔ + + ↔ ↕ ? 1 K
0 ↔ x ?
OK
1
0
1
Problémy
Generování a detekce jednoho fotonu Oprava chyb (způsobuje je nejen odposlech, ale i chyby a šum zařízení nutno tolerovat určité malé procento chyb; nelze však vyloučit, že zrovna ty pocházejí z odposlechu). Zesílení utajení: Z počtu chyb lze odhadnout maximální informaci, která mohla být odposlechem získána. Zkrácením původního klíče na nový kratší se docílí zesílení utajení. Nutnost autentizace (zabraňuje útoku MIM) Omezený dosah (ztráty ve vlákně, šum detektorů, nelze použít zesilovače …)
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– 6. Asymetrické šifrovací algoritmy: zavazadlový algoritmus, RSA, Diffie-Hellman, El Gamal systém. ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Zavazadlový algoritmus máme předměty o hmotnosti a1, a2, … máme sbalit zavazadlo tak, aby mělo hmotnost M, tj. hledáme binární slovo X takové, aby platilo: M = x 1*m1 + x2*m2 + … vlastník zakóduje zprávu tak, že tajně vybere podmnožinu objektů a vloží ji do batohu celkovou hmotnost M a seznam možných objektů a1, a2, … zveřejní Těžce řešitelný problém zadaný vektorem A zpráva, vektor X určuje který prvek A bude „umístěn“ do zavazadla S (součet prvků zavazadla) známe-li A a S je obtížné (nejednoznačné) určit X Lehce řešitelný problém i 1
pokud je A* superrostoucí tj.
ai a j lze jednoznačně určit X j 1
Řešení na základě modulární aritmetiky (Merkle – Hellman 1978) veřejný klíč A zpráva X šifrování – S na základě A a X dešifrování – A se převede na A* S se převede na S* Z S* se pomocí A* určí X algoritmus prolomen, není bezpečný
- 17 -
MKRI – Kryptografie v informatice RSA (Rivest-Shamir-Adleman 1977) bezpečnost založena na obtížnosti faktorizace velkých čísel Princip – výpočet klíčů: dvě velká náhodná prvočísla p a q 100 až 200 dekadických míst n = pq Příklad: volí se p = 7, q = 17 n = 7*17 = 119 16
volba šifrovacího klíče e < n e nesoudělné se součinem (p-1)(q-1) e – často 3; 17; 65537 (2 +1) e nesoudělné s 96 e = 5 a vypočte se d, 5d = 1 mod 96, d = 77 e, n veřejný klíč {5, 119} výpočet soukromého klíče d – Euklidův algoritmus ed = 1 mod((p-1)(q-1)) -1 d = e mod((p-1)(q-1)) d, n soukromý klíč {77, 119} Šifrování, dešifrování otevřený text M rozdělíme na bloky mi, mi < n
zpráva se rozdělí na bloky s hodnotou menší než 119 197: na 19 a 7
šifrový text C bude tedy tvořen bloky ci e šifrování ci = mi mod n d dešifrování mi = ci mod n d
e d
ci = (mi ) = mi
ed
= mi
Fermatova věta: nebo
k(p-1)(q-1)+1
= m im i
k(p-1)(q-1)
5
šifra prvního bloku 19 mod 119 = 66 77 dešifrování prvního bloku 66 mod 119 = 19 = mi1 ; vše (mod n)
p
m (mod p) = m p-1 m (mod p) = 1
; p – prvočíslo
Implementace Problém rychlosti HW 1000x pomalejší než DES SW 100x pomalejší než DES operace lze urychlit šifrování: vhodnou volbou e dešifrování: operace s d pomocí Čínské věty o zbytcích, nutná znalost p, q, … HW čipy 512, 1024 bitů, rychlost šifrování až 1Mbit/s Využíváno v mikročipových kartách
Diffie-Hellman Jeden z prvních asymetrických algoritmů (1976) Bezpečnost založena na obtížnosti výpočtu diskrétních logaritmů ( Pro výměnu klíčů, využití v elektronickém podpisu
y g x mod p )
Postup: 1. Generování a zveřejnění klíčů Je zvoleno vhodné prvočíslo p a generátor g je elementem Zp*, které jsou zveřejněny (g je „primitive“ vzhledem k p, to znamená že každé číslo od 1 do p může být generováno jako nějaká mocnina g) Příklad: p = 53, g = 17 2. Zprávy protokolu
X g a mod p b B A: Y g mod p A B:
3. Činnosti během provádění protokolu
- 18 -
MKRI – Kryptografie v informatice
X g a mod p b B – zvolí náhodné číslo b, 1 ≤ b ≤ p - 1, a zašle A zprávu Y g mod p A – zvolí náhodné číslo a, 1 ≤ a ≤ p - 1, a zašle B zprávu a a b jsou privátní klíče A – vypočítá klíč k1 jako
mod p g mod p mod p g mod p a
a
k1 Y a mod p g b mod p mod p g b mod p
B – vypočítá klíč k2 jako k 2 X Obě strany došly ke stejnému číslu k = k1 = k2 Příklad: a = 5 (1 ≤ a ≤ p-2) 5 X = 17 mod 53 = 40 5 k = k1 = 6 mod 53 = 38 b
a
b
a b
b = 7 (1 ≤ a ≤ p-2) 7 Y = 17 mod 53 = 6 7 k = k2 = 40 mod 53 = 38
Náchylnost na MITM attack (Man in the Middle) – pokud je útočník schopen zasahovat do komunikace, aniž bychom si toho všimli, domluvíme si klíče pouze s prostředníkem (= klíče nejsou autentizované)
El Gamal systém vychází z Diffie – Hellman (první varianta 1984) založen na problému diskrétních logaritmů dvě verze algoritmu, pro šifrování a elektronický podpis Princip činnosti čísla M, a, b, p, g, x, y x p je prvočíslo, M < p, y ≡ g mod p veřejným klíčem je trojice (p, g, y) – p a g mohou být sdíleny skupinou uživatelů soukromým klíčem číslo x původní zprávou číslo M zašifrovanou zprávou dvojice (a, b) Šifrování a dešifrování Pro zašifrování zprávy M náhodně zvolíme k, které je nesoudělné s p-1 a vypočteme a, b podle vztahů:
a g k mod p,
b y k M mod p.
k zapomeneme (a tím ho utajíme) výsledný šifrovaný text (a, b) bude mít dvojnásobnou délku, než původní zpráva M dešifrování: protože platí:
b mod p ax b yk M g xk M mod p mod p mod p M mod p M ax g xk g xk
M
Podpis Pro podpis zprávy M náhodně zvolíme k, které je nesoudělné s p-1 a vypočteme a, b podle vztahů:
a g k mod p,
M xa kbmod p 1
k utajíme podpis představuje dvojice (a, b) ověření podpisu: Příklad: parametry: tajný klíč: veřejný klíč: podpis:
ověření:
y a a b mod p g M mod p p = 11 g=2 x = 8 (< 11) x 8 y = g mod p = 2 mod 11 = 3 M = 5, k = 9, NSD (k, p-1) = (9, 10) = 1 M = x·a + k·b (mod p-1) 5 = 8·6 + 9·b (mod 10) pomocí Euklidova algoritmu, b = 3 podpis (6, 3) 6 3 5 3 6 mod 11 = 2 mod 11
- 19 -
MKRI – Kryptografie v informatice –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– 7. „Hašovací“ funkce, princip, příklady, kolize, odolnost proti kolizím. ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Definice Hašovací funkce je předpis pro výpočet kontrolního součtu (haše) ze zprávy či většího množství dat. Může sloužit ke kontrole integrity dat, k rychlému porovnání dvojice zpráv, indexování, vyhledávání apod. Je důležitou součástí kryptografických systémů pro digitální podpisy. Formálně je to funkce h, která převádí vstupní posloupnost bitů (či bytů) na posloupnost pevné délky n bitů. kde |D|>|R|. Z definice plyne existence kolizí, to znamená dvojic vstupních dat (x,y) takových, že h(x)=h(y). Kolize jsou nežádoucí, ale v principu se jim nelze úplně vyhnout. Lze jen snižovat pravděpodobnost, že nastane kolize pro podobná data, například při náhodné změně v části vstupní posloupnosti. Cílem je vysoká pravděpodobnost, že dvě zprávy se stejným kontrolním součtem jsou stejné.
Požadavky na hašovací funkci Nejdůležitější je následující trojice vlastností. Obtížností se v tomto kontextu myslí výpočetní složitost. Odolnost vůči získání předlohy. Pro daný haš c je obtížné spočítat x takové, že h(x)=c. (Hašovací funkce je jednosměrná.) Odolnost vůči získání jiné předlohy. Pro daný vstup x je obtížné spočítat y takové, že h(x)=h(y). Odolnost vůči nalezení kolize. Je obtížné systematicky najít dvojici vstupů (x,y), pro které h(x)=h(y). Další obvyklé požadavky zahrnují: Nekorelovatelnost vstupních a výstupních bitů, kvůli znemožnění statistické kryptoanalýzy. Odolnost vůči skoro-kolizím. Je obtížné nalézt x a y taková, že h(x) a h(y) se liší jen v malém počtu bitů. Lokální odolnost vůči získání předlohy. Je obtížné najít i jen část vstupu x ze znalosti h(x) Jednocestná funkce je taková funkce, kterou lze snadno vyčíslit, ale je velmi obtížné (prakticky nemožné) z výsledku funkce odvodit její vstup. Ze zadaného x tedy lze snadno získat f(x), avšak výpočet inverzní funkce, získání x při znalosti f(x), je prakticky neřešitelná úloha
Typy hašovacích funkcí Jednocestné hašovací funkce • jednocestná funkce + vstup proměnné délky (264, ...) →výstup pevné délky, (128, 160, ...), • otisk prstu, parita, • compression function, fingerprint, message digest,data integritycheck (DIC), contraction function. Klíčovaná jednocestná hašovací funkce • jednocestná funkce +vstup = {zpráva; tajemství}, výstup = klíčovaná charakteristika, • cryptographic checksum, message authentication code(MAC), data authentication code(DAC).
Použití • pro uložení hesel – otisky hesel • uložení klíčů – otisky klíčů • jednoznačná identifikace dat, tvorba digitálních podpisů – otisky zprávy • kontrola integrity, porovnání souborů – otisk souboru • prokazování autorství • pseudonáhodné generátory
Odolnost proti kolizím Kolize prvního řádu (collision resistance) nalezení dvou libovolných zpráv M a M’ pro které platí H(M)= H(M’). Kolize druhého řádu (second preimage resistance) k dané zprávě Mx nalézt zprávu My tak aby platilo H(Mx)= H(My).
- 20 -
MKRI – Kryptografie v informatice Složitost nalezení kolize Náhodné orákulum (random oracle) • využívá se k hodnocení bezpečnostních hledisek funkcí, • hypotetický stroj, který na základě vstupu odpovídá výstupem tak, že na shodné podněty na vstupu vytvoří odpovídající stále shodné výstupy, podnět na nový vstup vytvoří náhodný výstup. Složitost nalezení kolize druhého řádu • nalezení vzoru k danému hašovacímu kódu O(2n), n – délka hašovacího kódu. Složitost nalezení kolize prvního řádu • nalezení dvou zpráv se stejným kódem O(2n/2) , vyplývá z tzv. narozeninového paradoxu. Složitost nalezení multikolize r-násobná kolize • nalezení r zpráv se stejným kódem O(2n(r-1)/r). • U náhodného orákula není známá rychlejší způsob nalézání kolizí. • Pokud je nalezen způsob, jak kolize vytvářet
Konstrukce hašovacích funkcí • zpráva zpracovávána po blocích • zarovnání, doplnění posledního bloku xxxx10000..... • přidán blok s délkou zprávy (64b) - Damgard-Merklovo zesílení • následuje iterační proces • f - kompresní funkce, Hi =f(xi, Hi-1) H0 = IV, výstupem kontext Hi • g - výstupní transformace (zkrácení) • pro f lze využít blokových šifer
Tři typy konstrukcí hash funkce
Známé hašovací funkce
MD5 – oblíbená, ale již kompromitovaná funkce (nepovažuje se za bezpečnou). Od srpna 2004 je veřejně znám postup pro nalezení kolizního páru zpráv. Hash v délce 128 bitů. SHA-1 – oblíbená, ale již kompromitovaná funkce. V únoru 2005 byl zveřejněn objev algoritmu, který umožňuje nalézt kolizi podstatně rychleji než hrubou silou. Výpočetní náročnost je ale stále mimo současnou techniku. Původně publikovaný algoritmus SHA byl stažen a toto je jeho opravená verze. Algoritmus je zhruba o 25% pomalejší než MD5. Není garantována její bezpečnost po roce 2010. Vytvoří 160 bitů dlouhý kontrolní hash. SHA-2 – rodina 4 hašovacích funkcí (SHA-256, SHA-384, SHA-512 a SHA-224), které jsou součástí standardu FIPS 180-2, a u kterých dosud nebyly nalezeny žádné bezpečnostní slabiny.
- 21 -
MKRI – Kryptografie v informatice Další využití HASH funkcí Použití symetrických šifer v módu MAC • podobně jako hash algoritmy pracují i MAC algoritmy (Message Authentication Code). • u MAC algoritmů ještě navíc využíváme klíče • zaručena integrita zprávy i autentizace • MAC algoritmus pracující v módu CBC, HMAC (Hash Message Authentication Code) • obdoba MAC, ale využívá se hash funkce • definován v RFC2104, definice závisí na tom jaká je použita hash funkce • keyed-hash message authentication code ( nebo takéli HMAC), je to typ zprávy MAC, vypočítaný na základě kryptografické hash funkce v kombinaci s tajným klíčem • jako u MAC lze zároveň ověřit integritu a autentičnost zprávy • HMAC může být vypočítan s jakoukoli iteretivní kryptografickou hash funkcí, jako je MD5 nebo SHA-1, výsledek je pak označován jako HMAC-MD5 , HMAC-SHA-1 atd. • Síla HMAC závisí na použíte Hash funkci
Schéma HMAC
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– 8. Digitální podpis: DSA, PGP, struktura, používané algoritmy. Autentizace, certifikát, certifikační autorita. Bezpečná pošta S/MIME, bezpečný web SSL/TSL, IPsec. ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
DSA - Digital signature algorithm • • • • •
DSA americký vládní standard 1991, NIST FIPS 186-2 pod názvem – DSS - Digital Signature Standard. navržen NSA (National Security Agency) pouze k digitálnímu podpisu Původní standard DSS uznával pro digitální podpis pouze algoritmus DSA spolu s vzorkovací funkcí SHA (Secure Hash Algorithm). Později byl do standard u zahrnut i RSA a SHA byla upravena na SHA-1.
princip • původní zprávou číslo M, • podpis - dvojice (r, s), • ověřovanou zprávou číslo M’, • ověřovaný podpis - dvojice (r’, s’). • čísla p, q, g, x, y, k, M, r, s, M’, r’, s’ která splňují: • p je prvočíslo, • q dělí p-1 a je také prvočíslo, g h
p 1 q
mod p
- 22 -
MKRI – Kryptografie v informatice p 1
• • • • •
h je libovolné celé číslo pro které platí , 1 < h < p −1 a zároveň h q mod p 1 x x je náhodně vygenerované a 0 < x < q y = g mod p k - tajné, náhodně vygenerované a 0 < k < q veřejný klíč - sada čísel (p, q, g, y) , p, q, g mohou být sdíleny skupinou uživatelů, soukromý klíč x a také(p, q, g) .
vytvoření a ověření podpisu • podpis (r, s) vytvoříme SHA() – „hash“ SHA-1 • pokud r nebo s bude rovno nule, vygenerujeme nové číslo k a celý postup opakujeme. • ověření podpisu (r’, s’). • nejdříve zjistíme zda platí 0 < r′ < q, 0 < s′ < q. Pokud ne, prohlásíme podpis za neplatný, • pokud ano • jestliže r’ = v, pak podpis a zpráva jsou prohlášeny za autentické.
DSA – podpis
DSA – ověření podpisu DSA - specifika • Na verifikaci podpisu se používá hodnota r , které není závislé na M . r lze vypočítat předem. • Stejně tak na zprávě nezávisí k proto lze jeho inverzi k-1 určit předem. Obdobně y.
- 23 -
MKRI – Kryptografie v informatice Pretty Good Privacy (PGP) • používa se pro autentizaci a šifrování e-mailové komunikace • PGP používá asymetrickou kryptografii pro vytváření podpisu zprávy a případně pro utajení šifrovacího klíče použitého pro utajení zprávy • decentralizovaný model potvrzování veřejných klíčů, ve kterém není žádná obecně důvěryhodná CA • uživatel PGP může vystupovat jako CA a potvrzovat klíče jiných uživatelů • uživatel si může zvolit, kterým uživatelům důvěřuje a s jakou mírou důvěry. Vzniká tak pavučina důvěry - the web of trust PGP certifikát • klíče se šíří formou PGP certifikátů • specializované servery pro uchovávání těchto certifikátů keyserver.pgp.com, europe.keys.pgp.com Formát PGP certifikátu: • Verze PGP • Certifikovaný klíč: veřejný klíč. • Informace o majiteli klíče: identifikační údaje (jméno, e-mail, fotografie). • Podpis vlastníka klíče: podpis vytvořený soukromým klíčem odpovídajícím certifikovanému klíči (self-signature). • Preferované symetrické algoritmy • Doba platnosti • Podpis(y): možno připojit více než jeden podpis, každý identifikační údaj se podepisuje zvlášť. PGP svazek klíčů • uživatel spravuje svazek veřejných klíčů, obsahující klíče uživatelů, se kterými komunikuje • klíče se do svazku přidávají a ubírají dynamicky podle potřeby • ve svazku klíčů jsou ke každému veřejnému klíči připojeny tři položky, pomocí nichž se určuje platnost klíčů: • Důvěra v majitele (Owner Trust, OT). Možné hodnoty jsou nedůvěryhodný (untrusted), částečně důvěryhodný (marginally trusted), důvěryhodný (completely trusted) a neznámý (unknown). • Důvěra v podpis (Signature Trust, ST). Tato položka je přiřazena zvlášť ke každému podpisu na certifikátu. Hodnota položky je kopií hodnoty OT z veřejného klíče autora podpisu, který je uložen ve svazku. • Platnost klíče (Key Legitimacy, KL). Míra, s jakou PGP věří, že tento klíč skutečně patří uvedenému uživateli v certifikátu. Hodnotu počítá automaticky PGP. Možné hodnoty jsou platný (valid), částečně platný (marginally valid), neplatný (invalid). PGP práce s klíči • při každé změně svazku se přepočítávají hodnoty KL (platnost klíče) všech klíčů • nejprve se spočítá vážený součet hodnot ST všech podpisů daného klíče • váha částečně důvěryhodného podpisu, tj. podpisu s ST marginally trusted, je 1/X • váha důvěryhodného podpisu, tj. podpisu s ST je completely trusted, je 1/Y, kde X a Y jsou uživatelem definované konstanty. Pokud je tento součet roven 1, klíč se považuje za platný, tj. hodnota KL je nastavena na valid. Například při hodnotách X = 2, Y = 3 je zapotřebí dvou podpisů částečně důvěryhodných a tří podpisů důvěryhodných. Implicitně je nastaveno X = 1, Y = 2. Odvolání certifikátu • revokace provádí uživatel, tzv. revokační certifikát • revokační certifikát je v podstatě totožný s běžným PGP certifikátem, (revokovaný) veřejný klíč podepsaný soukromým klíčem uživatele s informací o revokaci • uživatel se pak musí snažit co nejvíce rozšířit tento certifikát X.509 versus PGP • PGP důvěra založena na samotných uživatelích a na jejich rozhodnutí, komu budou důvěřovat, které klíče podepíší apod. • X.509 zavádí specializované, obecně důvěryhodné CA, které mají na starosti vydávání a správu certifikátů. X.509 proto potřebuje hierarchicky uspořádanou strukturu, s pevně definovanými vztahy, které se mění jen zřídka. • PGP je nevhodné pro masové nasazení v geograficky nebo politicky vzdálených skupinách uživatelů. Dva uživatelé, kteří se nikdy nesetkali a nemají společné prostředníky, mají velmi těžkou pozici při výměně veřejných klíčů. • V certifikátu X.509 je pouze jeden identifikátor uživatele a jeden podpis. PGP umožňuje použití více identifikátorů i podpisů, přičemž podpis se může vztahovat pouze k jednomu identifikátoru. Podpisy k PGP certifikátu se mohou přidávat i kdykoliv později po vytvoření certifikátu.
- 24 -
MKRI – Kryptografie v informatice • X.509 certifikáty a mechanismy lze snadno použít pro delegování práv. Uživatel může vytvořit certifikát, ve kterém může předat část pravomocí svému zástupci. Po standardní autentizaci zástupce předloží tento certifikát a služba mu bude zpřístupněna. Celý postup využívá standardních mechanismů. V PGP to takto lehce nejde, protože důvěra v platnost klíče automaticky neznamená důvěru v podpisy vytvořené tímto klíčem.
Autentizace Autentizace je proces ověření identity. (Např. opatření dokumentu digitálním podpisem, který zaručuje identitu uživatele, nebo ověření uživatele před přihlášením do systému elektronického bankovnictví, atd….)
Certifikát Digitální certifikát je datová struktura identifikující jejího držitele. Tato datová struktura bývá uložena buďto v souboru nebo na HW zařízení. Je určen k podepisování a šifrování dat. Podobu certifikátů stanovuje norma X.509. Struktura certifikátu Certifikát tvoří několik základních položek: Hlavička Údaje o subjektu (uživatel, server) Jméno E-mailová adresa Další identifikační údaje (rodné číslo, číslo sociálního pojištění, URL, poštovní adresa) Veřejný klíč subjektu Veřejný klíč CA Podpis CA Proti podvržení veřejného klíče se bráníme certifikací veřejného klíče – tj. pomocí certifikátu • veřejný a soukromý klíč • veřejný klíč je součástí certifikátu • žádost o certifikát obsahuje: • identifikační údaje uživatele • veřejný klíč uživatele a další data – žádost se digitálně podepíše svým právě soukromým klíčem a předá certifikační autoritě – certifikační autorita může ověřit totožnost uživatele a v každém případě verifikuje elektronický podpis na žádosti o certifikát – pokud je žádost certifikační autoritou shledána v pořádku, pak certifikační autorita vystaví certifikát Použití certifikátu • pro elektronické podepisování a šifrování zpráv (PKCS#7 a CMS) • pro přístup na bezpečný webový server (SSL či TLS) • certifikát pro vytváření virtuálních privátních sítí (IPsec) • certifikátu pro elektronické podepisování kódu (Java aplety, ActiveX komponenty, drivery pro OS) • apod. Kvalifikované certifikáty • zvláštní typ certifikátu, které používá Evropská unie ve své legislativě • zvláštnost je v právní oblasti • cílem je nahradit rukou psaný podpis elektronickým podpisem • v ČR je použití kvalifikovaných certifikátů vymezeno zákonem o elektronickém podpisu • vydává ICA, Česká pošta • Úřad pro ochranu osobních údajů PKI – public key infrastructure • „infrastruktura veřejných klíčů“ • souhrn technických a organizačních prostředků spojených s vydáváním, správou, používáním a odvoláváním platnosti kryptografických klíčů a certifikátů • zabraňuje používání falešné identity • veřejný klíč platný pouze v případě jeho potvrzení důvěryhodnou stranou např: certifikační autoritou
- 25 -
MKRI – Kryptografie v informatice Certifikační autorita (CA) CA je v kryptografii objekt, který vydává digitální certifikáty k použití ostatním zúčastněným. Digitální certifikát je digitálně podepsaný veřejný klíč. Tj. ověří pravost uživatele nejlépe osobně po předložení osobních dokladů a po ověření vytvoří certifikat na základě vygenerovancý klíčů. Nejdůležitější aktiva CA, která se musí maximálně chránit • Soukromý klíč CA • Databázi uživatelů musí CA - CA nesmí vydat dvěma různým osobám certifikát se stejným předmětem - databáze uživatelů obsahuje osobní údaje uživatelů • Archiv soukromých šifrovacích klíčů uživatelů, pokud CA tuto službu poskytuje • Archiv listin uložených na CA a archiv vydaných certifikátů a CRL Další části CA • Registrační autority - žádost o certifikát - ověří totožnost žadatele - verifikuje žádost o certifikát, předá žádost certifikační autoritě - CA ověří údaje z žádosti uživatele a údaje doplněné RA a vydá (či nevydá) příslušný certifikát soukromý klíč CA • OnLine RA - přijímání žádostí elektronickou cestou, (CMC,CMP), je možné žádat o: - obnovení certifikátu v době platnosti starého certifikátu - vydání nového certifikátu na základě jednorázového hesla pro vydání certifikátu, - další certifikáty, žádosti podepisuje platným certifikátem, - soukromý šifrovací klíč, který má archivován na CA, - odvolání certifikátu, - CRL nebo jiný certifikát vydaný CA. • IVR nebo telefonní záznamník - k odvolávání certifikátu jinou cestou (telefonem) - autentizace jednorázovým heslem pro odvolání certifikátu • Adresářové služby - nabízejí informace o uživatelích, které si uživatelé o sobě přejí publikovat, (vydané certifikáty) • DVCS server - poskytuje informace o platnosti certifikátu, o platnosti listin a dále může poskytovat časová razítka (protokolem DVCSP) • Speciální server poskytující pouze časová razítka TimeStamp server nemusí mít přístup do archivu CA, tj. může být situován i mimo CA a tudíž dostupný i při hypotetickém výpadku CA • Zúčtovací systém - jehož cílem je za poskytnuté služby vystavit fakturu uživateli
- 26 -
MKRI – Kryptografie v informatice
S/MIME Funkce S/MIME zabezpečuje pro aplikace pracující s elektronickými zprávami, na základě následující kryptografické bezpečnosti, služby : autentizace, integrtita zprávy, jednoznačnost původu (používa digitální podpisy), soukromí, zabezpečení dat (šifrování). S/MIME specifikace ja vytvořena na základě aplikování pcks7-mime (smime-typ „obálková data“). S/MIME funkce jsou implementovány do většiny hlavních moderních e-mail softwarů. S/MIME certifikáty Před tím než můžeme používat S/MIME v nějaké aplikaci musíme získat a nainstalovat individuální klíč/certifikát od nějaké certifikační autority (CA). Typický základní osbobní certifikát obvěřuje majitelovu identitu pouze za podmínek vázání na emailovou adresu, nikoli na jmené osoby nebo práci. Později, jeli potřeba může certifikační autorita vystavit podrobnější certifikát pro autentizaci. Na základě politiky CA, muže být certifikát a všechen jeho obsah vystaven veřejně pro kontrolu a ověření. To pouze na základě jména a emailové adresy pro možnosti vyhledávání, další osobní informace nejsou zveřejnované. Překážky nasazení S/MIME do praxe Ne všechny e-mailové klienty umí zacházet s S/MIME. Příloha u e-mailové zprávy typu "smime.pk7" může být často pro lidi matoucí. S/MINE je přizpůsobený pro finální zabezpečení. Šifrování nezašifruje pouze zprávu ale také přilohy, které mohou obsahovat nebezpečí (např. jako viry, trojské koně, malware,…). Proto např. Firemní brána (gateway) neproskenuje vaši zprávu na viry a úspěšně doručí zrpávu, bohužel i s nebezpečným obsahem. Možné zpusoby bránění: Kontrola na viry a malware až na konečné uživatelské stanici po dešifrování. Uchování privítních klíču na gateway serveru a dešifrování při příjmu na gateway a kontrola na viry. Použití skenovacího softwaru pro sken obsahu zprávy speciálně upraveného pro kontrolu zašifrované zprávy při ochránění podpisu a dešifrování zprávy. Takovéto řešení musí obsahovat zabudovanou ochranou pro oba privátní klíče použité pro dešifrování zprávy, a pro dočasné dešfrování obsahu.
IPsec • Součást IPv6, volitelně v IPv4 • Zajišťuje důvěrnost (šifrování), integritu (autentičnost) • Složení – vlastní IPsec, protokolární výměna informací v záhlaví „datagramů“ – správa klíčů
Iplementave Ipsec Komunikační módy a modely komunikace IPsec • transportní mód: zabezpečený paket má nezměněné záhlaví, • tunelový mód: k původnímu paketu je připojeno nové záhlaví. • transportní mód se používá pro přenos mezi koncovými zařízeními s veřejnou IP adresou. • tunelový mód má použití pro bezpečný přenos paketů mezi branami různých sítí. Architektura IPsec • Zjištění integrity
- 27 -
MKRI – Kryptografie v informatice – AH (Authentication Header) protokol: zajišťuje autentičnost celého paketu (tj. přenášených dat i režijních údajů), • Zajištění důvěrnosti (volitelně interity) datové části paketu – ESP (Encapsulating Security Payload) protokol: zajišťuje důvěrnost (šifruje) a autentičnost pouze přenášených dat.
Komunikační módy a modely komunikace pro AH Správa klíčů Ipsec • Kryptografické údaje pro protokol IPSec se ukládají do databáze SA ("Security Association"), přičemž parametry sjednané s konkrétním protějším zařízením jsou reprezentovány databázovým indexem SPI ("Security Parameters Index"). • IKE (Internet Key Exchange) s jehož pomocí se asymetrickou kryptografií potřebné údaje ustaví přes síť.
SSL/TLS • • • • • •
tenká vrstva mezi TCP/IP a aplikačními protokoly (HTTP,...) umožňuje autentizaci mezi serverem a klientem zajišťuje vytvoření šifrovaného spojení SSL (Secure Sockets Layer) – Netscape, Microsoft obdobný protokol PCT, v praxi se ujal protokol SSL verze 3 oficiálním protokol Internetu TLS (RFC-2246: Transport Layer Security protocol) vycházející z protokolu SSL verze 3 • protokoly SSL i TLS používají architekturu klient/server • klient TLS se nedomluví se serverem SSL a opačně • obdoba protokolu TLS pro technologii WAP - WTLS (Wireless TLS) Vlastnosti SSL/TLS • autentizace serveru – ověření identity serveru – kryptografie s veřejným klíčem + ověření pravosti certifikátu + ověření vydání certifikátu, důvěryhodná CA • autentizace klienta
- 28 -
MKRI – Kryptografie v informatice – možnost ověření identity klienta, málo využívaná • šifrování spojení – důvěrnost • integrita dat pomocí MAC • integrita toku zpráv je chráněna pořadovým číslováním • ochrana komunikace (relace) typu end-to-end Architektura protokolu SSL
Architektura protokolu SSL
Aplikace SSL/TLS • Navrženy pro využití mnoha aplikačními protokoly(HTTP, SMTP, POP3, FTP,...) • Nejrozšířenější aplikace využívající HTTP – E-comerce – Elektronické bankovnictví – Virtual Private Networking Shrnutí IPsec, SSL/TLS • Využívají autentizované ustanovení klíčů – IPsec protokol IKE – SSL/TLS protokol SSL HP (nemusí bt autentizovaný) • Využívají ustanovení klíče pro budování bezpečného komunikačního kanálu • Různévrstvy – IPsec–síťová vrstva – SSL/TLS mezi transportní a aplikační – zabezpečuje jednu relaci
- 29 -
MKRI – Kryptografie v informatice Komunikace SSL • certificate – server posílá klientovi certifikát – nepovinný • certificate_request – žádost o certifikát klienta – pro autentizovaný přístup k prostředkům serveru • autentizace serveru – klient ověří server – v případě chyby, konec • vytvoření relace – relace prvotní důvěrnosti – (premaster secret) • server_key_exchange – doplňující informace pro vytvoření relace prvotní důvěrnosti • certificate – pokud byl vyžádán, klient zasílá certifikát • generování symetrického klíče • client_key_exchange – odeslání serveru data tvořící relaci prvotní důvěrnosti, zašifrované veřejným klíčem serveru, data jsou podepsána klientem • certificate_verify – doplňující informace sloužící serveru k autentizace klienta • change_cipher_spec – domlouvání použitých algoritmů • finished – ukončení výměny informací – další data jsou již šifrovaná • application_data – komunikace v obou směrech SSL - autentizace • serveru – klient vždy vyžaduje autentizaci serveru – zaslání certifikátu klientovi – nevyplývá z protokolu SSL, je na klientovi (klientské aplikaci) řádně provézt autentizaci • klienta – není vyžadována Autentizace serveru • kroky: – ověření doby platnosti certifikátu – je vydávající CA důvěryhodnou CA? – lze veřejným klíčem CA ověřit pravost podpisu vydavatele? – odpovídá doménové jméno uvedené v certifikátu skutečnému jménu serveru? – autentizace serveru
Autentizace serveru
- 30 -
MKRI – Kryptografie v informatice –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– 9. Elektronický obchod: standard SET, 3D Secure princip, popis protokolu, použité algoritmy. ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Elektornický obchod, elektronický platební systém (EPS) Modely elektronických platebníchsystémů • Systém s elektronickými penězi - platební instrument (karta, PC, ...) v sobě nese elektronickou hotovost. – on-line systém, požadováno spojení s bankou – off-line systém, je možné provést transakci bez přímého spojení • Systém bez elektronických peněz – většinou on-line systémy, od variant off-line se opouští (off-linebankomaty,...) • Identifikovatelný elektronický platební systém • Anonymní elektronický platební systém (s elektronickými penězi) se chová stejně jako platba běžnými penězi – obtížněji implementovaný • používané kryptografické techniky – symetrické algoritmy, asymetrické algoritmy, digitální podpis, SSL/TLS, ... Systémy s elektronickými penězi • Systém s elektronickými šeky (čítači) – předplacené karty, telefonní karty, parkovací karty, ... • většinou bez kryptografického zabezpečení – elektronická peněženka, náhrada hotovosti pro drobné platby, čipové karty, bez on-line spojení • bezpečnost zajištěna na principu sdílených tajemství reprezentovaných kryptografickými klíči • každý subjekt zapojený do systému je vlastníkem příslušného klíče pomocí nějž si může ověřit autentičnost příslušných transakcí • klíče uloženy v bezpečném hardware • citlivé údaje o transakcích šifrovány, zajištěna jejich integrita Systémy bez elektronických peněz • Systémy typu Home Banking – vzdálené ovládání účtu • Platební karty – magnetické, čipové + PIN, identifikace a autentizace • Síťové systémy bez elektronických peněz – příklad NetBill, zákazník – obchodník – server NetBill – zákazník má na serveru účet, který předem „nabije“ – SET, 3D Secure, ...
SET (Secure Electronic Transactions) • otevřený standard pro bezpečné placení platebními kartami na internetu • vyvinuly asociace platebních karet – MasterCard a Visa ve spolupráci s firmami GTE, IBM, Microsoft, Netscape, SAIC, Terisa Systems a VeriSign • SET je definována pouze architektura a funkční vlastnosti • vlastní implementace definována není, může být tedy implementován do WWW služeb nebo do elektronické pošty, … • SET specifikuje jak dosáhnout potřebné důvěrnosti, integrity dat, autentizace zákazníka a obchodníka pomocí kryptografických a certifikačních mechanismů Princip • 3 účastnící: ( držitel karty (card holder), obchodník (merchant), platební brána (payment gateway)) • platební brána neví nic o objednávce – o jaké zboží jde, ví jen držitel a obchodník • obchodník neví nic o platebních informacích uživatele – informace o platbě sdílejí jen držitel a platební brána Množina protokolů • 5 hlavních má na starosti: (registraci držitele karty, registraci obchodníka, žádost o koupi zboží, autorizace platby, zaznamenání platby, • mnoho dalších (zpracování chyb, … )
- 31 -
MKRI – Kryptografie v informatice
Architektura CA (certifikačních autorit) pro SET (vychází z X.509, upraveno pro potřeby obchodování)
Registrace klienta u CA přes tzv. „setovskou peněženku“
Duální elektronický podpis
Princip Platby
- 32 -
MKRI – Kryptografie v informatice
Protokol platby Vlastnosti SET • složitější než SSL • SSL jen vyjedná symetrické klíče mezi obchodníkem a držitelem karty • díky složitosti nepříliš používán • vlastnosti • při registraci není třeba žádný elektronický důkaz identity • částečné sdílení informací • použití obálek, šifrování klíče • 2 části obálky • šifruje veřejným klíčem symetrický klíč • data šifrována symetrickým klíčem
3-Domain Secure (3D Secure) karetní asociace Visa, MasterCard – jednotný systém pro zúčtování karetních transakcí na internetu + číslo karty se předává přímo bance obchodníka – zabezpečení pomocí SSL/TLS Tři domény • Issure Domain – doména vydavatele - vydavatel kreditní karty je zodpovědný za přihlášení a ověření zákazníka během online transakce, který vlastní jejich katru. • Acquirer Domain – doména nabyvatele - zajišťuje aktuální zpracování a ověření, zda je obchodník zapojen do systému 3-D secure. • Interoperability Domain – doména komunikace - ulehčuje transakci i přes běžně používané protokoly a sdílené systémy. Vlastnosti • propracované bezpečnostní protokolární schéma pro podporu e-plateb • transakce pro implementaci systémů typu on-line shop apod. • podpora autentizace držitele platební karty • cílem je ochrana obchodníka před neuhrazením závazků klientů • vybudováno na vyzkoušených a důvěryhodných technologiích, SSL/TLS • využívá se http technika ,,přesměrování” – redirection • navrženo s cílem minimálních změn v běžných modelech plateb Role vystupující v protokolu – Obchodník, Merchant – má ve svém serveru instalovaný MPI (Merchant Plug-in) – Banka zákazníka, Issuer – poskytující službu ACS (Access Control Server) za účelem
- 33 -
MKRI – Kryptografie v informatice • autentizace držitelů platebních karet • poskytování ověřitelných důkazů autentizací – Držitel platební karty, Cardholder - zákazník, je autentizovaný bankou zákazníka – Banka obchodníka, Acquier - provádí autorizaci platby pro obchodníka. – Asociace, Brand • provozuje on-line adresářový server 3-D Secure • provozuje certifikační autoritu asociace
Princip plateb Výměna informací v systému 3-D Secure 1. Zákazník navštíví internetový odchod, vybírá zboží a přidává do nákupního košíku. 10. Zákazník vyplní informace požadovaní Marchanr Server plug-In (MPI) a pošle je pro kontrolu na Directory Server (DS). 11. DS zažádá příslušný Access Control Server (ACS) jestli má zákazník registrovanou službu s podporou 3D Secure. 12. ACS odpovídá přes DS MPI. V případě, že má zákazník službu registrovanou, obsahuje zpráva i URL ACS. 13. MPI posílá žádost o ověření zákazníka přes jeho prohlížeč (redirection). 14. V prohlížeči se zákazníka se objeví „vyskakovací okno“. ACS žádá uživatele o zadání sdíleného tajemství tj. o heslo, PIN. 15. ACS odesílá podepsanou zprávu s výsledek k MPI přes zákazníka. V případě selhání ACS generuje ověřovací hodnotu a odesílá se opět přes zákazníka k MPI. Výsledek kontroly se, pro pozdější kontrolu, ukládá do na server (Authentication History Server). 16. Odchodní server MPI ověří pravost podpisu a odešle žádost o ověření k Acquirer’s Host, ke své bance. 17. Acquirer’s Host žádá o ověření vydavatele (Issure) přes platební čest systému. 18. Vydavatel potvrdí žádost a odesílá odpověď. Vlastnosti 3-D Secure • Důvěrnost a integritu zajišťuje SSL • Metodu autentizace zákazníka určuje a autentizaci provádí banka zákazníka • Zákazníkovi stačí běžný webovský prohlížeč • Přesměrování (redirection) představuje riziko útoku man-in-themidle • Obchodník si musí nainstalovat Merchant plug-in (MPI) jako komponentu do svého internetového obchodu • Vydavatelé musí mít k dispozici Acces control server (ACS), který je použit k autentizaci identity držitele karty během transakce a spravuje všechny platby. • Zákazník se musí registrovat u svého vydavatele platební karty a zvolit si své autentizační údaje.
- 34 -