Úvod do kryptografie, digitální podpis PV080 Vašek Matyáš Ochrana komunikace/dat • Fyzická ochrana – místnosti – kabely – diskety ... • Kryptografie – umění ochránit význam (informační hodnotu) dat i „na dálku“. • Steganografie Kde kryptografie pomáhá • Důvěrnost dat • Integrita dat • Autenticita dat (integrita a ověření původu) • Nepopiratelnost • Autentizace a autorizace uživatelů/strojů – Dostupnost – Prokazatelná zodpovědnost – Řízení přístupu ... Tři dimenze kryptografie • Druhy použitých operací – Substituce – Permutace – … • Druh a parametry klíčů – Symetrické = konvenční = sdílené – Asymetrické = veřejné & soukromé – Bez klíčů (hašovací funkce, RND) • Způsob zpracování dat – Po blocích – V souvislém proudu Co je hašování (hashování) • “Otisk dat” – Malý a “jedinečný” reprezentant jakkoliv velkých dat ... It will be a blustery day around Scotland with gales and showery rain in the north-east. Elsewhere in Scotland the showers will be more scattered at first with a few sunny spells, but outbreaks of rain • 01:A0:7D:2B:76:52:67:05 • Hašovací funkce • rychlost výpoštu, jednosměrnost • bezkoliznost – slabá (pro daný vstup) a silná (nalezení libovolné dvojice vstupů) • problémy funkcí MD5 (128 bit), SHA-0 a -1(160 bit) • dočasně doporučeny delší varianty SHA • EC:43:6F:B3:68:CE:20:E7 ... It will be a blustery day above Scotland with gales and showery rain in the north-east. Elsewhere in Scotland the showers will be more scattered at first with a few sunny spells, but outbreaks of rain Co jsou klíče? • Rozsáhlé řetězce bitů – náhodná čísla, prvočísla... • Symetrická kryptografie – stejný klíč pro Alici i Boba • Asymetrická kryptografie – privátní klíč (podpis, dešifrování) – veřejný klíč (ověření podpisu, šifrování) ...000100101010 01010100010100 10010101001001 00010111110101 01110101011100 10101100101000 10101001010010 10101011111101 10100110010001 00111010101010 110... Čas potřebný pro prohledání prostoru možných klíčů (sym. krypt.) 2.15 ms232 = 4.3 x 10932 5.9 x 1030 let2168 = 3.7 x 1050168 5.4 x 1018 let2128 = 3.4 x 1038128 10 hod256 = 7.2 x 101656 Čas potřebný při 106 dešifrování/µs Počet možných klíčů Délka klíče (bit) ČČas potas potřřebný kebný k úútoku hruboutoku hrubou silousilou (10(1066 dedeššifrovifrováánníí//µµs)s) Čas potřebný k analýze NTLM hašů na anxurovi 3000000 r42000 r180 r7,1 r10 28000 r590 r4,5 r84,8 d9 290 r9,6 r44 d3,26 d8 3,1 r55 d1,2 d3 h7 11 d20,5 h47,2 min6,69 min6 2,8 h19,9 min1,3 min15 s5 95 (kláves.)62 (a/A,alfan)36 (alfan.)26 znakůn c Kryptografie – Kerckhoffsův princip • Algoritmus – postup – je všem znám a všemi kontrolován jako správný • Klíč – tajná informace – musí být chráněna před nepovolanými osobami Doporučené délky klíčů • Ošemetný, příliš zjednodušující, ukazatel • Závisí na – kvalitě algoritmu, – výpočetních kapacitách dostupných útočníkovi, – a řadě dalších faktorů (dostupný kryptografický materiál...); – a většinou není nejslabším místem.  • Asi 90b pro sym. alg. a všechny (?) útočníky • Asi 1200b pro RSA (nejčastěji používaný asym. alg.) a (snad) všechny útočníky Proprietární algoritmy • V extrémních situacích, kdy lze alespoň částečně věřit v možnost utajení algoritmu – IMHO, velmi diskutabilní závislost • Ani tak by neměla bezpečnost (ve smyslu robustnosti vůči útoku hroubou silou) klíče být rozhodně zanedbána – Často využití principů (znalostí o) veřejně známých šifer • Základní dilema – otevřená/veřejná verifikace vs. přístupnost znalostí o (ne)kvalitě Alice Obvyklá označení činitelů Bob Eva Šifrovací algoritmus Dešifrovací algoritmus Tajný klíč Otevř. text Zašifr. text Otevř. text Převzato z: Network and Internetwork Security (Stallings) Zjednodušený model konvenčního šifrování Šifrovací algoritmus Dešifrovací algoritmus Bobův veřejný klíč Otevř. text Zašifr. text Otevř. text Alice Bobův privátní klíč Bob Převzato z: Network and Internetwork Security (Stallings) Zjednodušený model šifrování veřejným klíčem Alice Šifrování Bob - veřejný klíč Šifrování veřejným klíčem Bob Pošli: kilo masa, litr mléka, doklady... PošlePošle hjsdkyufdzj cnjkeldhcjd zcndjlszhcj dncjldzncjd zncjklzdxnc kzdx Dešifrování Dešifrování zprávy od Alice Bob privátní klíč hjsdkyufdzj cnjkeldhcjd zcndjlszhcj dncjldzncjd zncjklzdxnc kzdx Bob Pošli: kilo masa, litr mléka, doklady... Realita – Hybridní kryptosystémy • Problémy – Asymetrické algoritmy jsou pomalejší (pro srovnatelnou úroveň bezpečnosti) – Symetrické alg. obtížněji využitelné v situacích vyžadujících autentizaci (většina situací ) • Řešení – vzájemná kombinace – Šifrování: RNG klíče pro symetrickou šifru, tou+tím zašifruji data, klíč pak veřejným klíčem adresáta – Podpis: vytvořím haš dat, až ten podepíši svým soukromým klíčem • Mnohé vlády chtějí: 1) Mít jistotu, že používání kryptografických systémů nesníží schopnost dopadnout nežádoucí osoby a skupiny osob (kdo je nežádoucí???). DEPOZITOVAT POUŽÍVANÉ KLÍČE (ale i 2) ) 2) Zajistit, aby používání kryptografických systémů nepůsobilo proti národním zájmům dané země. (co jsou a kdo definuje národní zájmy?) KONTROLOVAT EXPORT KRYPTOGRAFIE (ale i 1) ) • Přímý dopad na informační soukromí – Firmy mohou v určité míře přemístit centrum svých aktivit, ale co občan? Sen Velkého bratra • Zástěrka(?): boj proti zločinu na vlastním území • Aspekty: – sledování komunikace mezi “problémovými skupinami” (extrémisté, přátelé a rodiny známých zločinců, političtí oponenti…) – dle studií britské vlády je jen 2-5 % případů neoprávněného použití informací držených vládou způsobeno “zvenčí” (hackery atd.) • Problém: fyzické sledování i odposlech telefonů v analogových sítích má technické a finanční limity (vládně-společenský konsensus), filtrování digitální komunikace je relativně jednoduché a levné Depozitování klíčů (key escrow) •Zástěrka(?): boj proti mezinárodním mafiím, zemím podporujícím terorismus atd. • Problémy – aktivity zpravodajských služeb v ISP (především US), – vybudování satelitních sítí bez dostatečné ochrany je „výhrou“ na dalších 15-20 let pro vlády, které mají informační výhody • Aspekty – pomoc vlád firmám - průmyslová špionáž (Francie, Japonsko, Rusko…) – sledování komunikace v cizích zemích Exportní kontroly Digitální podpis • Jedna ze stěžejních aplikačních oblastí kryptografie • Využití asymetrické kryptografie k podpisu zjištěno až po letech znalosti principů šifrování (dle dokumentů britské GCHQ) Podpis v digitální formě - požadavky • Musí zajistit autentizaci podepsaných dat. – Integrita – Prokázání původu dat • Měl by podporovat ověření data/času podpisu. • Měl by být ověřitelný i třetími stranami. • Měl by podporovat mechanismy nepopiratelnosti Agáta Podpis Co je digitální podpis? Milý Bořivoji, o ty doklady skutečně žádám já - Agáta Agáta privátní klíč Certifikát - Agátin veřejný klíč Bořivoj Digitální podpis • Nezajišťuje důvěrnost (šifrování) • Nejznámější algoritmy – RSA, DSA • Obecně existují algoritmy – s obnovou zprávy (podpis „obsahuje“ podepisovaná data), – bez obnovy zprávy (podpis „neobsahuje“ data) • Asym. algoritmy jsou relativně pomalé, proto se podepisuje haš – „otisk dat“ • Fáze postupu: – Vytvoření a registrace klíčů (certifikát) – Vlastní podepsání • Dokument  haš  podpis – Ověření podpisu Asymetrická kryptografie • Veřejné klíče – Šifrování – Ověření podpisu • Soukromé klíče – Dešifrování – Tvorba podpisu • Nemusí jít o stejný pár klíčů pro oba druhy operací! K použití veřejných klíčů • Digitální podpis – spojí nerozdělitelně klíč s označením entity – certifikát veřejného klíče. • Spojení veřejného klíče s označením entity je kritické – S kým komunikuji? • Digitální podpis děláme vždy přes přístroj!!! Certificate AuthorityUser Information Co je certifikát? Name, Company, Location Name, Company, Location Certificate Public Key CA Private Key CA Information + CA Public Key (X.509v3) Certifikát Certificate ::= SEQUENCE { tbsCertificate TBSCertificate, signatureAlgorithm AlgorithmIdentifier, signature BIT STRING } TBSCertificate ::= SEQUENCE { version [0] Version DEFAULT v1, serialNumber CertificateSerialNumber, signature AlgorithmIdentifier, issuer Name, validity Validity, -- notBefore, notAfter subject Name, subjectPublicKeyInfo SubjectPublicKeyInfo, -- algID, bits issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL, subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL, extensions [3] Extensions OPTIONAL -- sequence of: extnID, crit, value } Certifikační autorita • Potvrdí platnost veřejného klíče – Patří někomu? Komu? – Způsob prokázání identity. – Má daný člověk odpovídající soukromý klíč? – Je platnost klíče omezena? – Je poskytnuto ručení? Do jaké výše? ... • Certifikační politika Certifikační autorita – struktura • „Certifikační autorita“ je rozdělena do více částí – Certifikační autorita – vydává certifikáty na základě požadavků od (RA) – Registrační autorita – ověřuje identitu žadatele, posílá požadavek na vystavení certifikátu – Revokační autorita – požadavky vlastníků certifikátů na revokaci Akreditované cert. autority v ČR • První certifikační autorita a.s. (ICA) – akreditovaná od 18.3.2002 – http://www.ica.cz/ • Česká pošta s.p. – akreditovaná od 3.8.2005 – https://qca.postsignum.cz/ • eIdentity a.s. – akreditovaná od září 2005 – http://www.eidentity.cz/ • Konzervativně: klíč/certifikát je neplatný pokud nejsme spolehlivě informováni o opaku. – Čerstvé potvrzení. – Potvrzení od důvěryhodné strany. – Použitelné v případě sporu. • Liberálně: klíč/certifikát je platný pokud nejsme spolehlivě informováni o opaku. – Seznam revokovaných cerifikátů (CRL - Certificate Revocation List). Kontrola veřejného klíče Hierarchie certifikačních autorit VeriSign “Signatures ” VeriSign “Certificates” Barclays Krajský hejtman ... ... ... surfeři Alena, Cyril … ... servery VeriSign Top-level zákazníci Visa UK NatWest ... Ústav Q ... Visa Int’l obchodníci svěřenci …když jej ztratíte? …když jej někdo zjistí? …když změníte zaměstnavatele? …když změníte jméno? …když zaměstnavatel chce dokumenty, které jste zašifrovali? …když si vaše data žádá soud? …když... A co privátní klíč... Aspekt času • Návaznost operací, např. – Vytvoření podpisu – Vyzrazení tajného klíče – Ověření podpisu • Spolehlivé označování času (časové razítko) – angl. timestamping • Kritický parametr!!! Problém nepopiratelnosti • Podpis – nepopiratelnost • Nepopiratelnost původu – V zásadě stačí podpis • Nepopiratelnost přijetí – Nerovnoprávnost vztahu odesilatel-příjemce • Vhodné ověření/potvrzení (čas!) třetí stranou Český zákon o e-podpisu (227/2000) • e-podpis: „obyčejný“ a zaručený, značka(!) • Kvalifikovaný certifikát! • Podepisuje fyzická osoba! • Úřad pro dohled nad CA – Min. inf. (dříve odbor ÚOOÚ) Elektronický podpis • Zákon o elektronickém podpisu č. 227/2000 Sb. (změněn zákony č. 226/2002, 517/2002 a 440/2004 Sb.). • „Elektronickým podpisem se rozumí údaje v elektronické podobě, které jsou připojené k datové zprávě nebo jsou s ní logicky spojené a které slouží jako metoda k jednoznačnému ověření identity podepsané osoby ve vztahu k datové zprávě“ • Elektronickým podpisem tak může být i pouhé jméno napsané na klávesnici. Zaručený elektronický podpis • Je jednoznačně spojen s podepisující osobou (jen fyzická osoba!); • umožňuje identifikaci podepisující osoby ve vztahu k datové zprávě; • byl vytvořen a připojen k datové zprávě pomocí prostředků, které podepisující osoba může udržet pod svou výhradní kontrolou; • je k datové zprávě, ke které se vztahuje, připojen takovým způsobem, že je možno zjistit jakoukoliv následnou změnu dat. Elektronický podpis vs. značka • Elektronický podpis – podepisující osoba je fyzická osoba, která je držitelem prostředku pro vytváření elektronických podpisů a jedná jménem svým nebo jménem jiné fyzické či právnické osoby; – pro ověření podpisu je vydáván certifikát (veřejného klíče). • Elektronická značka – označující osobou fyzická osoba, právnická osoba nebo organizační složka státu, která drží prostředek pro vytváření elektronických značek a označuje datovou zprávu elektronickou značkou; – pro ověření podpisu je vydáván systémový certifikát (veřejného klíče). • Technologicky jde o totéž – Jen úroveň ochrany soukromého klíče je jiná. Použití podpisu • Autentizace dat (aplikace tajných dat – soukromého klíče) • Autentizace počítačů/tokenů (schopnost aplikovat tajná data) – Výzva-odpověď • Autentizace osob (schopnost spustit aplikaci tajných dat na počítači/tokenu). Prosba – terminologie • Nekryptujeme ani neenkryptujeme – šifrujeme • Nešifrujeme soukromým klíčem – podepisujeme • Nerozšifrováváme – dešifrujeme • Neautentikujeme, neautentifikujeme a neidentizujeme – autentizujeme a identifikujeme • Haš, hash – oba OK • Čistý text, vstupní text, otevřený text – OK