bit/p6d-h.d 22. března

Podobné dokumenty
Kryptografie založená na problému diskrétního logaritmu

Asymetrická kryptografie

Diffieho-Hellmanův protokol ustanovení klíče

Kryptografické protokoly. Stříbrnice,

ElGamal, Diffie-Hellman

Složitost a moderní kryptografie

Správa přístupu PS3-2

Autentizace uživatelů

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

asymetrická kryptografie

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

9. DSA, PKI a infrastruktura. doc. Ing. Róbert Lórencz, CSc.

Šifrová ochrana informací věk počítačů PS5-2

PSK2-16. Šifrování a elektronický podpis I

Šifrová ochrana informací věk počítačů PS5-2

Elektronický podpis. Základní princip. Digitální podpis. Podpis vs. šifrování. Hashování. Jednosměrné funkce. Odesílatel. Příjemce

Asymetrické šifry. Pavla Henzlová FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

Andrew Kozlík KA MFF UK

KRYPTOGRAFIE VER EJNE HO KLI Č E

Základy kryptografie. Beret CryptoParty Základy kryptografie 1/17

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc.

Y36PSI Bezpečnost v počítačových sítích. Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Digitální podpisy

Elektronické bankovníctvo základy, priame distribučné kanály. Tradičné vs. elektronické bankovníctvo BIVŠ 2007/2008

Čínská věta o zbytcích RSA

Moderní komunikační technologie. Ing. Petr Machník, Ph.D.

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01

KAPITOLA 22. Autentizace Windows

Identifikátor materiálu: ICT-2-04

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21.

Využití Diffie-Hellmanova protokolu pro anonymní autentizaci

Moderní metody substitučního šifrování

Digitální podepisování pomocí asymetrické kryptografie

Směry rozvoje v oblasti ochrany informací PS 7

PA159 - Bezpečnostní aspekty

Základy kryptologie. Kamil Malinka Fakulta informačních technologií

REGISTRACE A SPRÁVA UŽIVATELSKÉHO ÚČTU

Miroslav Kureš. Aplikovaná matematika Ostravice workshop A-Math-Net Sít pro transfer znalostí v aplikované matematice

Federativní přístup k autentizaci

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky Asymetrické kryptosystémy I

Diskrétní logaritmus

Jihomoravske centrum mezina rodnı mobility. T-exkurze. Teorie c ı sel, aneb elektronicky podpis a s ifrova nı

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

Tonda Beneš Ochrana informace jaro 2018

Komerční výrobky pro kvantovou kryptografii

Seminární práce do předmětu: Bezpečnost informačních systémů. téma: IPsec. Vypracoval: Libor Stránský

Aplikace univerzálního rámce řízení přístupu

Přednáška 10. X Window. Secure shell. Úvod do Operačních Systémů Přednáška 10

Pokročilá kryptologie

Katedra informačních technologií PEF ČZU, Praha 6, Kamýcká ul.,

Bezpečnost internetového bankovnictví, bankomaty

MFF UK Praha, 22. duben 2008

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu

Jednotný identitní prostor Provozní dokumentace

ŠIFROVÁNÍ, EL. PODPIS. Kryptografie Elektronický podpis Datové schránky

Dokumentace aplikace Chemon

Secure Shell. X Window.

Problematika náhodných a pseudonáhodných sekvencí v kryptografických eskalačních protokolech a implementacích na čipových kartách

PV157 Autentizace a řízení přístupu

dokumentaci Miloslav Špunda

Informatika Ochrana dat

Digitální podepisování pomocí asymetrické kryptografie

Hashovací funkce. Andrew Kozlík KA MFF UK

Protokol pro zabezpečení elektronických transakcí - SET

Středoškolská technika Encryption Protection System

BEZPEČNOST INFORMACÍ

Jak funguje asymetrické šifrování?

Hesla a bezpečnost na internetu MjUNI 2019 Dětská univerzita,

Základy šifrování a kódování

DSY-6. Přenosový kanál kódy pro zabezpečení dat Základy šifrování, autentizace Digitální podpis Základy měření kvality přenosu signálu

1.1. Základní informace o aplikacích pro pacienta

Sdílení uživatelských identit. Petr Žabička, Moravská zemská knihovna v Brně

Příručka pro dodavatele. Systém EZVR 1.1 Verze dokumentu 1.3 Datum vydání:

}w!"#$%&'()+,-./012345<ya

Šifrování dat, kryptografie

I.CA SecureStore Uživatelská příručka

SIM karty a bezpečnost v mobilních sítích

Informatika / bezpečnost

Elektronická evidence tržeb v programu TRIFID

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy

Bezpečnost dat. Možnosti ochrany - realizována na několika úrovních

SSL Secure Sockets Layer

Šifrování databáze. Popis šifrovací utility

Šifrování (2), FTP. Petr Koloros p.koloros [at] sh.cvut.cz.

Identifikace a autentizace

Praktické šifrování dat pomocí programu PGP

Digitální měna Bitcoin. Dalibor Hula Slezská univerzita v Opavě OPF v Karviné

Certifikáty a jejich použití

KRYPTOGRAFICKÝ PROTOKOL VÝMĚNY KLÍČŮ DIFFIE-HELLMAN

ISMS. Autentizace ve WiFi sítích. V Brně dne 5. a 12. prosince 2013

Certifikáty a jejich použití

Identifikace uživatele Informačním systémem

Matematika IV - 5. přednáška Polynomy

Zero-knowledge protokoly. Autentizační protokoly & Autentizace počítačů. Zero-knowledge protokoly. Protokoly vyšší úrovně SSL/TLS. Komponenty SSL/TLS

Kvantová kryptografie

Hardwarové bezpečnostní moduly API a útoky

Stručný průvodce aplikací Sběr dat pro RIV

Problematika Internetového bankovnictví v ČR a jeho bezpečnosti. Problems of Internet banking at Czech republic and its security

Transkript:

bit/pd-h.d 22. března 2003 Needham-Schroederův protokol... * základní varianta Needham a Schroeder 978 * zajímavý zejména z historických důvodů, protože je základem mnoha autentizačních protokolů a protokolů pro distribuci klíčů, jeho praktické použití se ale nedoporučuje (ukážeme nedostatek). Alice chce komunikovat s Bobem, pošle zprávu KDC obsahující nonci r_a: (r_a, A, B) 2. KDC pošle zpátky zprávu obsahující nonci Alice, relační klíč K a ticket který Alice může zaslat Bobovi: K_A(r_A, B, K, K_B(A, K)) - Alice zkontroluje nonci r_a - ví zda její zpráva nebo replay - Alice zkontroluje B - ví, že Oskar zprávu () nezachytil a nenahradil v ní B vlastní identitou (aby KDC vyrobilo ticket pro Oskara) 3. Alice pošle ticket Bobovi spolu s noncí r_a2 zašifrovaným relačním klíčem K: (K_B(A, K), K(r_A2)). Bob pošle zpět (K(r_A2 - ), r_b); protože Alice sama vygenerovala čerstvé r_a2, příchodem K(r_A2 - ) ověří že mluví s opravdovým Bobem a není to replay. Alice pošle zpět K(r_B - ), tím Bob ověří že mluví s Alicí a není to replay * protokol má slabost: pokud Oskar zjistí některý starý relační klíč, může iniciovat novou relaci s Bobem přehráním zprávy (3) (Denningová a Sacco 98) * Needham a Schroeder opravili v 987, ve stejném čísle časopisu OS Review publikován trochu jednodušší Otway-Reesův protokol, který si uvedeme Otway-Reesův protokol... * Ottway a Rees 987. Alice vygeneruje dvojici náhodných noncí r (společný identifikátor transakce) a r_a (výzva Bobovi) - pošle Bobovi zprávu: (r, A, B, K_A(r_A, r, A, B)) 2. Bob obdrží zprávu, z přijatých dat a nové nonce r_b vytvoří analogickou zprávu K_B(r_B, r, A, B) - obě pošle KDC: (r, A, B, K_A(r_A, r, A, B), K_B(r_B, r, A, B)) 3. KDC zkontroluje A a B a zda je r v obou zprávách stejné - pokud ne, asi se Oskar snaží o replay nebo změnil část zprávy () nebo (2) - pokud ano, KDC věří Bobovu požadavku; vygeneruje relační klíč K a zašifruje ho jednou pro Alici a jednou pro Boba - KDC pošle Bobovi zprávu: (K_A(r_A, K), K_B(r_B, K)). Bob dešifruje druhou část zprávy, ověří že r_b odpovídá zaslanému v (2) - pokud ano, Bob pošle Alici zprávu: K_A(r_A, K) - Alice dešifruje, zkontroluje zda r_a odpovídá zaslanému v () - Alice i Bob vědí, že K je čerstvý a že druhá strana sdílí příslušný klíč s KDC; mohou spolu začít komunikovat Kerberos... * používá se v mnoha reálných systémech, mimo jiné v Orionu * Kerberos verze až (od 987, MIT) přidáním časových razítek (podle doporučení Denningové a Sacca) do Needham-Schroederova protokolu - redukován počet zasílaných zpráv za cenu existence bezpečných synchronizovaných hodin - účelem dovolit uživatelům bezpečně přistupovat k sít ovým zdrojům - Kerberos verze v 989 na základě kritiky verze * uvedeme pouze kryptografické aspekty protokolu * protokolu Kerberos se účastní: - Alice - proces uživatele na PC připojeném na sít - Bob - server provádějící službu požadovanou Alicí - Kerberos coby důvěryhodná třetí strana

2 22. března 2003 bit/pd-h.d. autentizační server Kerbera (authentication server, AS) - ověřuje uživatele při přihlašování. ticket-granting server (TGS) - vydává tickety prokazující identitu * Alice se přihlašuje do systému: - Alice má společný klíč s Kerberem, klíč je odvozen z jejího hesla příslušnou jednosměrnou funkcí. Alice zadá své uživatelské jméno, jméno se odešle AS Kerbera 2. AS vygeneruje náhodný relační klíč K_AK a tzv. ticket-granting ticket; klíč K_AK a ticket-granting ticket jsou zašifrovány klíčem, odvozeným z uživatelského hesla (zná ho tedy pouze Alice a Kerberos) a zaslány Alici: K_passwd(K_AK, K_T(A, t_now, K_AK) ) (TGT obsahuje informaci o identitě A, časové razítko t_now a právě vytvořený relační klíč K_AK; ticket-granting ticket je zašifrován klíčem K_T, který zná pouze Kerberos) 3. Alice (resp. systém, do kterého se přihlásila) dešifruje odpověd a zruší klíč odvozený z hesla * pokud požaduje Alice službu od některého serveru (Boba), musí nejprve získat od TGS ticket pro tuto službu - po přihlášení Alice a Kerberos sdílejí relační klíč K_AK, Alice má ticket-granting ticket TGT - Bob a Kerberos sdílejí klíč K_BK - Alice autentizuje vůči Bobovi následujícím protokolem:. Alice vygeneruje nonci N_A a pošle AS Kerbera zprávu: (A, B, N_A) kde A je identifikátor Alice, B je identifikátor Boba, nonce N_A je náhodné číslo, vygenerované Alicí; nonce smí být použito právě jednou. 2. Kerberos vygeneruje nový relační klíč K, určí dobu platnosti L ticketu, a vytvoří ticket pro Boba: ticket_b = K_BK(K, A, L) Kerberos pošle Alici zprávu: (ticket_b, K_AK(K, N_A, L, B) ) 3. Alice dešifruje svou část zprávy klíčem K_AK a ověří, že identifikátor B a nonce N_A odpovídají položkám, zaslaným v (). Alice uchová L a K. Pak vytvoří autentizátor: auth_a = K(A, T_A, Ks) kde T_A je čerstvé časové razítko a Ks je nepovinný tajný podklíč (jeho výhodou je, že nebyl vytvořen Kerberem). Alice pak pošle Bobovi zprávu: (ticket_b, auth_a). Server Bob přijme zprávu (3), dešifruje ticket klíčem K_BK a použije K pro dešifrování autentizátoru. Pak ověří, že si odpovídají identifikátory v ticketu a autentizátoru, platnost časového razítka T_A v autentizátoru a porovná lokální čas s dobou platnosti L ticketu. Pokud jsou všechny testy úspěšné, je Alice autentizována vůči Bobovi.. Pokud se Alice chce znovu autentizovat vůči Bobovi po dobu platnosti ticketu znovu, vytvoří nový autentizátor s čerstvým časovým razítkem; v takovém případě může být výhodné definovat nový tajný podklíč Ks. * výše uvedené je základní autentizace zjednodušeného protokolu Kerberos V (některá pole protokolu jsou vynechána) - základním cílem protokolu je ověřit identitu Alice - vedlejším efektem protokolu je ustanovení klíče sdíleného Alicí a Bobem - protokol předpokládá existenci bezpečných synchronizovaných hodin - protokol závisí na bezpečnosti hesla

bit/pd-h.d 22. března 2003 3 Protokoly s nulovou znalostí... * dosavadní identifikační protokoly vyžadovaly, aby Alice sdílela tajný klíč * nevýhoda - druhá strana tajný klíč např. předat někomu dalšímu, ten pak může předstírat, že je Alice * proto navrženy tzv. protokoly s nulovou znalostí, ang. zero-knowledge (ZK) identification protocols - nevyžadují šifrování, sekvenční čísla ani časová razítka - Alice demonstruje znalost nějakého tajemství, aniž by ho ověřovatel mohl zjistit a předat dalším * jako příklad uvedu ZK protokol založený na obtížnosti hledání Hamiltonovských kružnic v grafu (Blum 98) - Hamiltonovská kružnice je kružnice která prochází každým vrcholem grafu (kružnice = neorientovaná uzavřená cesta) - hledání Hamiltonovských kružnic v grafu je obtížný problém - rozhodnutí zda jsou dva grafy izomorfní je obtížný problém; např. jsou následující grafy izomorfní? 3 2 2 3 3 2 2 3 2 3 * Alice vytvoří graf G s Hamiltonovskou kružnicí, graf předá Bobovi * Bob zná G, nezná ale Hamiltonovskou kružnici v G * Alice se chce autentizovat znalostí Hamiltonovské kružnice, aniž by jí prozradila * ukážu poněkud zjednodušenou verzi:. Alice vytvoří graf H izomorfní k G náhodnou permutací, graf H pošle Bobovi 2. Bob požádá Alici o jednu ze dvou možností: - bud požádá o důkaz že H je izomorfní k G - nebo požádá o odhalení Hamiltonovské kružnice v H 3. Alice pošle požadovanou odpověd. opakuje se, po N iteracích je pravděpodobnost že Alice podvádí (/2)ˆN Protokoly založené na asymetrických technikách ============================================== Diffie-Hellmanův protokol ------------------------- * zatím jsme předpokládali, že Alice a Bob sdílejí tajný klíč * pokud nesdílejí, jak se na něm dohodnou? * tzv. protokoly pro dohadování klíče, umožňují ustanovit tajný klíč po otevřeném kanálu Diffie-Hellmanův protokol (97) je nejstarší a nejznámější prakticky používaný protokol, který dovoluje dvěma stranám vytvořit sdílený tajný klíč komunikací po otevřeném kanálu (síti). Účastníci komunikace nemusejí před započetím protokolu sdílet žádnou informaci. (Merkleho metoda kryptogramů je sice starší, ale pro praktické použití je výpočetně i datově příliš náročná.) Základní verze Diffie-Hellmanova protokolu dohadování klíčů sestává z následujících kroků:. Alice a Bob se domluví na dvou velkých prvočíslech p a α, kde (p )/2 je také prvočíslo, 2 α p 2 a α musí splňovat ještě další podmínky. Čísla p a α nemusí být tajná, tj. Alice nebo Bob je mohou zvolit a poslat druhé straně otevřeným kanálem. 2. Alice zvolí náhodné tajné číslo x, x p 2. Alice pošle Bobovi zprávu, obsahující hodnotu α x mod p.

22. března 2003 bit/pd-h.d 3. Bob zvolí náhodné tajné číslo y, y p 2. Bob pošle Alici zprávu, obsahující hodnotu α y mod p.. Alice přijme α y mod p a spočte tajný klíč k: k = (α y ) x mod p.. Bob přijme α x mod p a spočte tajný klíč k: k = (α x ) y mod p, tj. získá stejnou hodnotu tajného klíče. Oskar zná p a α z první zprávy, α x mod p a α y mod p ze druhé a třetí zprávy. Aby mohl spočíst spočíst tajný klíč α xy mod p, potřeboval by znát x a y; určit x z α x mod p je obtížný problém. Poznámka (k tvrzení α musí splňovat ještě další podmínky ) Číslo α je generátor grupy Z p, tj. jestliže mocním generátor, výsledná hodnota mi obejde všechny prvky grupy. Generátor grupy se hledá heuristickými metodami. Příklad: Grupa Z = {,2,3,} řádu je cyklická a má generátor 2 (tj. pro všechna a {,2,3,} existuje i takové, že a = bi ). 2ˆ == 2 (mod ) 2ˆ2 == (mod ) 2ˆ3 == 3 (mod ) 2ˆ == (mod ) 2ˆ == 2 (mod ) 2ˆ == (mod )... Výše uvedený protokol poskytuje ochranu před pasivním odposlechem, není však odolný proti aktivnímu oponentovi. Oskar může přijmout zprávu (2) protokolu, hodnotu α x nahradit nějakým α x a takto modifikovanou zprávu předat Bobovi. Pokud Oskar stejně modifikuje i zprávu (3), Alice po skončení modifikovaného protokolu sdílí s Oskarem klíč α xy a Bob klíč α x y. Oba účastníci pak komunikují s Oskarem, který jejich zprávy přešifruje a předá druhé straně. Tento typ napadení se nazývá útok man-in-the-middle. Autentizace s využitím asymetrické kryptografie ----------------------------------------------- * předpokládejme, že Alice a Bob znají navzájem své veřejné klíče (což není tak jednoduché jak se zdá) * pokud chtějí ustanovit relaci, mohou použít např. následující protokol:. Alice zašifruje svou identitu A a nonci r_a Bobovým veřejným klíčem E_B a pošle Bobovi zprávu: E_B(A, r_a) 2. Bob rozšifruje, vygeneruje vlastní nonci r_b a relační klíč K a pošle Alici zprávu zašifrovanou veřejným klíčem Alice: E_A(r_A, r_b, K) 3. Alice dešifruje, zkontroluje r_a a ví, že odpověd je od Boba; zašifruje r_b relačním klíčem K a pošle Bobovi: K(r_B). Po obdržení zprávy Bob ví, že komunikuje s Alicí. Co může dělat Oskar? Může vytvořit zprávu (), ale Alice dostane zprávu obsahující r_a které nevygenerovala, takže nebude pokračovat. Zprávu (3) Oskar vygenerovat neumí, protože nezná r_b ani K. * protokol předpokládá, že Alice a Bob znají navzájem své veřejné klíče * pokud předpoklad neplatí, musí si je předat * např. pokud si je navzájem pošlou otevřeným kanálem, může Oskar zachytit zprávu E_A Alice pro Boba a místo ní poslat vlastní veřejný klíč E_o, totéž pro zprávu Boba pro Alici => oba komunikují prostřednictvím Oskara - Alice chce poslat zprávu Bobovi, zašifruje pomocí E_o, Oskar rozšifruje a zašifruje pomocí E_B a pošle Bobovi * Rivest a Shamir (98) navrhli tzv. interlock protokol, který řeší:. Alice zašifruje zprávu x: E_B(x), Bobovi pošle pouze sudé bity E_B(x) 2. Bob zašifruje zprávu y: E_A(y), Alici pošle pouze sudé bity E_A(y) 3. Alice pošle liché bity E_B(x), Bob zkombinuje a rozšifruje. Bob pošle liché bity E_A(y), Alice zkombinuje a rozšifruje Ve výše zmíněné situaci vidí Oskar sudé bity E_o(x), nemůže dešifrovat i když zná D_o(x) a proto nemůže předat Bobovi E_B(x). Digitální podpisy ================= * potřebujeme systém, kde jedna strana může posílat druhé podepsané dokumenty * digitální podpisy by měly mít následující vlastnosti:

bit/pd-h.d 22. března 2003 - příjemce může ověřit identitu odesilatele zprávy - odesilatel nemůže později odmítnout obsah zprávy - příjemce nemůže změnit obsah podepsané zprávy Digitální podpisy založené na symetrické kryptografii ----------------------------------------------------- * předpokládejme, že máme centrální autoritu, která všechno ví a každý jí důvěřuje; obvykle se nazývá Velký bratr (Big Brogrer, zkratka BB) * každý uživatel sdílí tajný klíč s BB; Alice sdílí K_A a Bob K_B Alice chce Bobovi poslat podepsanou zprávu P:. Alice pošle BB zprávu: A, K_A(B, r_a, t, P) 2. BB dešifruje a pošle Bobovi zprávu: K_B(A, r_a, t, P, K_BB(A, t, P)) Pokud Oskar by mohl přehrát původní zprávu; staré zprávy budou odmítnuty na základě časového razítka t, novější na základě duplikovaného r_a (tj. Bob nemusí uchovávat všechna r_a). Bob ví, že zpráva pochází od Alice, protože BB přijme od Alice pouze zprávu zašifrovanou K_A. Pokud Alice později odmítne zprávu jako podvrženou, může se Bob obrátit na KK s prosbou o rozšifrování K_BB(A, t, P); výsledek usvědčí Alici ze lži. * nevýhoda - všechny strany musejí důvěřovat BB, BB si může přečíst všechny podepsané zprávy