Скачать презентацию Úvod do klasických a moderních metod šifrování Jaro Скачать презентацию Úvod do klasických a moderních metod šifrování Jaro

5b21e5abfd022c2501c78f02af837d4a.ppt

  • Количество слайдов: 14

Úvod do klasických a moderních metod šifrování Jaro 2011, 11. přednáška Úvod do klasických a moderních metod šifrování Jaro 2011, 11. přednáška

Komunikační bezpečnost • Kryptografické aplikace zajišťující komunikační bezpečnost. • Co je to zabezpečené (komunikační) Komunikační bezpečnost • Kryptografické aplikace zajišťující komunikační bezpečnost. • Co je to zabezpečené (komunikační) spojení? • Spojení obvykle začíná autentizací partnerů, výměnou veřejných klíčů, a pokračuje autentizovaným protokolem pro dohodu na klíči. • Tím se obě strany dohodnou na společném tajném klíči. • Z tohoto tajného klíče se pak generuje několika symetrických tajných klíčů. • Bezpečnost zpráv, tj. jejich integrita, autentizace a důvěrnost, je pak zajišťována pomocí kódu pro autentizaci zpráv (MAC) a symetrickým šifrováním. • Dále je nutné zabezpečit, aby útočník nemohl poslat zabezpečenou zprávu ještě jednou (replay attack), zaměnit ji za jinou zabezpečenou zprávu, případně ji odstranit. • To je obvykle zajišťováno synchronizovaným čítačem (counter) zpráv.

Další bezpečnostní požadavky • Včasné doručování zpráv. • Vzájemná znalost důvodů ukončení komunikace - Další bezpečnostní požadavky • Včasné doručování zpráv. • Vzájemná znalost důvodů ukončení komunikace - komunikace byla úspěšně dokončena nebo přerušena. • Anonymita – účastník komunikace by si měl být jistý, že jeho identita během komunikace neunikla třetí straně. • Nevystopovatelnost (untraceability) – účastník spojení by si měl být jistý, že jeho současný partner v komunikaci nedokáže v budoucnu zjistit jeho identitu v jiné komunikaci. • Nepropojitelnost (unlinkability) - účastníci komunikace by si měli být jistí, že nikdo třetí není schopen zjistit, že ve dvou různých spojeních vystupuje stejný partner. • Nepřenositelnost (untransferability) – účastník komunikace by si měl být jistý, že jeho partner není falešný a neskrývá skutečnou identitu toho pravého. • Atd.

Certifikáty • Viděli jsme už, jak se partneři komunikace mohou bezpečně dohodnout na tajném Certifikáty • Viděli jsme už, jak se partneři komunikace mohou bezpečně dohodnout na tajném sdíleném symetrickém klíči. • Např. za pomoci šifrovacího systému s veřejným klíčem. • Používá se např. při komunikace klient-server. • K tomu je ale potřeba, aby veřejný klíč serveru Kp byl ke klientovi doručen kanálem se zabezpečenou autentizací. • Tyto autentizační kanály jsou obvykle utvářeny pomocí důvěryhodné třetí strany (trusted third party). • Touto důvěryhodnou třetí stranou v současnosti bývá certifikační autorita. • Ta vydá podpis σ pro klíč Kp, kterým je zajištěna autentizace tohoto klíče. • Tím už zbývá pouze zabezpečit přenos klíče Kp od serveru do certifikační autority a přenos veřejného klíče certifikační autority Kp. CA ke klientovi. • Klíč certifikační autority klient potřebuje k ověření podpisu σ.

Infrastruktura veřejných klíčů Oskar (Eva) - protivník Alice x y Šifrovací algoritmus Kp Ověření Infrastruktura veřejných klíčů Oskar (Eva) - protivník Alice x y Šifrovací algoritmus Kp Ověření Kp Kanál s autentizací Kp, σ Kp. CA Autentizovaný kanál Kp. CA Dešifrovací algoritmus Zdroj klíčů CA x – otevřený text, Kp – veřejný klíč Podpis Kp x Bob Ks Zdroj klíčů Kp Autentizovaný kanál y – šifrový text, Ks – tajný (soukromý) klíč

Autentizované kanály Klient 1 Kp Kp. CA Klient 2 Kp. CA Klient 3 CA Autentizované kanály Klient 1 Kp Kp. CA Klient 2 Kp. CA Klient 3 CA Server 1 1 Kp 2 Server 2 Kp 3 Server 3

SSH – Secure Shell • Vzdálený přístup k serveru. • Vytváří bezpečný (důvěrný a SSH – Secure Shell • Vzdálený přístup k serveru. • Vytváří bezpečný (důvěrný a autentizovaný) kanál pro komunikaci client-server. • SSH 2 využívá infrastrukturu veřejných klíčů. • Chce-li se klient připojit k serveru, server mu pošle svůj veřejný klíč spolu s certifikátem. • Pak nastává klíčový krok – klient si musí autentizovat obdržený veřejný klíč serveru. • Například si ověří certifikát u certifikační autority. • Může také prostě věřit, že veřejný klíč je v pořádku. • Pak si veřejný klíč serveru uloží do nějakého souboru (u něho musí být zajištěna integrita) a při jakékoliv budoucí komunikaci se serverem si může veřejný klíč nově poslaný serverem porovnat s tím původním. • Pokud porovnání obou klíčů neprojde, klient dostane varování, že veřejný klíč se změnil. • Nicméně klient obvykle odklepne, že je to v pořádku, a pokračuje.

Protokol Diffieho-Hellmana Zajišťuje ustanovení tajného klíče pro symetrickou kryptografii pomocí nezabezpečeného kanálu, který ale Protokol Diffieho-Hellmana Zajišťuje ustanovení tajného klíče pro symetrickou kryptografii pomocí nezabezpečeného kanálu, který ale musí zajišťovat autentizaci a integritu. Oskar (Eva) - protivník Alice Dešifrovací algoritmus Šifrovací algoritmus K K V Výměna A Bob U Kanál s autentizací Výměna B Klient se po. K – klíč, klíči autentizuje zprávy, pomocí hesla (password). dohodě na U, V – serveru kroky protokolu

SSL – Secure Socket Layer • Bezpečná on-line komunikace po internetu. • Nejpopulárnější je SSL – Secure Socket Layer • Bezpečná on-line komunikace po internetu. • Nejpopulárnější je verze 3. 0 a její následník TLS 1. 0. • Typicky se používá v případě, kdy má vyhledávač bezpečně komunikovat s HTTP serverem. • Navržený tak, že nezávisí na výběru konkrétních šifrovacích algoritmů. • Výběr konkrétních algoritmů se dohodne mezi klientem a serverem na počátku relace – cipher suite. • Obsahuje dvě úrovně protokolů. • SSL handshake protocol je používán na počátku relace a využívá nákladné kryptografické prostředky jako asymetrickou kryptografii a dohodu na klíči. • Během relace může proběhnout několik spojení, které řídí SSL Record Protocol. • Tato spojení jsou bezpečné kanály používající rychlou symetrickou kryptografii.

SSL - pokračování • Během každé relace klient a server uchovávají vnitřní stav, který SSL - pokračování • Během každé relace klient a server uchovávají vnitřní stav, který obsahuje identifikátor relace, certifikáty účastníků, volbu cipher suite a master secret – symetrický 48 -bitový klíč, který je ustanoven na počátku relace. • Jedna relace může obsahovat několik různých spojení. • Stav spojení obsahuje náhodně zvolená čísla pro jedno použití (nonce) klienta a serveru, inicializační vektor, čítač zpráv, a čtyři symetrické klíče pro MAC a šifrování, dva pro klienta a dva pro server. • Cipher suite obsahuje asymetrické algoritmy použité pro autentizaci účastníků relace a dohodu na klíči v rámci handshake protokolu a symetrické algoritmy pro šifrování a MAC v rámci record protokolu. • Speciální SSL Alert Protocol je používán pro chybové hlášky. • Ty mohou být buď jednoduchými varováními a nebo fatálními chybami. • V případě fatální chyby je přerušeno příslušné spojení, další spojení mohou pokračovat, ale žádné nové spojení už nelze vytvořit.

Handshake • Klient na počátku pošle Client. Hello obsahující identifikátor relace, seznam všech Cipher Handshake • Klient na počátku pošle Client. Hello obsahující identifikátor relace, seznam všech Cipher Suite, které může přijmout a náhodně zvolené číslo nonce. • Server odpoví odesláním Server. Hello obsahující identifikátor relace, zvolenou Cipher Suite, a své vlastní náhodné číslo pro jedno použití. Obvykle dále posílá svůj certifikát, aby mohl být autentizován. Certifikát může obsahovat materiál pro Diffie-Hellmanův protokol pro dohodu na klíči. Také může poslat žádost o zaslání klientova certifikátu, pokud chce, aby se klient autentizoval. • Klient pak může poslat zpět svůj certifikát, pokud o něj server požádal a zprávu, která je součástí dohody na klíči v závislosti na tom, jaký algoritmus pro dohodu na klíči byl zvolen v Cipher Suite. To je Client. Key. Exchange. • Oba potom odvodí čtyři symetrické klíče. • Klient pak pošle MAC souhrnu všech dosavadních zpráv. • Server odpoví svým MACem všech dosavadních zpráv.

Typický průběh Handshake Klient Server Client. Hello: acceptable cipher suites, nonce. C Server. Hello: Typický průběh Handshake Klient Server Client. Hello: acceptable cipher suites, nonce. C Server. Hello: cipher suite, certificate, nonce. S pre_master_secret Client. Key. Exchange: RSA_ENC(pre_master_secret) Odvození klíčů MAC(handshake messages) kontrola

Odvození klíčů • Používá se hašovací algoritmus hash. • Na počátku je tajný secret Odvození klíčů • Používá se hašovací algoritmus hash. • Na počátku je tajný secret a semínko seed. • Z nich se vytvoří posloupnost P_hash(secret, seed) = r 1, r 2, r 3, …. , kde ri = HMAChash(secret, ai, seed), ai = HMAChash(secret, ai-1), a 0 = secret. • Dále se definuje posloupnost PRF(secret, label, seed) jako P_MD 5(S 1, label||seed) xor P_SHA 1(S 2, label||seed) , kde S 1 a S 2 jsou první a druhá polovina secret a label je nějaký řetězec. • Funkce PRF se použije k odvození master_secret. K tomu se vezme prvních 48 bitů z PRF(pre_master_secret, `master secret’, nonce. S||nonce. C) • a dále k odvození čtyř tajných klíčů a dvou inicializačních vektorů pro blokovou a prodouvou šifru.

PGP – Pretty Good Privacy • Používá se pro zabezpečenou internetovou off-line komunikaci. • PGP – Pretty Good Privacy • Používá se pro zabezpečenou internetovou off-line komunikaci. • Navrhnul jej Phil Zimmermann na počátku devadesátých let minulého století v USA. • V té době bylo v USA a některých dalších zemích ilegální bránit úřadům v přístupu k jakémukoliv otevřenému textu použitím silné kryptografie. • Zimmermannův software byl původně nelegální. • Dnes už jej lze volně používat. • Nevyžaduje žádnou certifikační autoritu, žádné veřejné parametry. • Každý si může sám generovat svůj vlastní klíč a používat svůj vlastní šifrovací algoritmus. • Nejoblíbenější jsou symetrická šifra IDEA, RSA šifra a podpis a hašovací funkce MD 5.