PB 169 Počítačové sítě a operační systémy1 Bezpečnost v informačních technologiích PB 169 Počítačové sítě a operační systémy PB 169 Počítačové sítě a operační systémy2 Základní pojmy  Aktiva  Něco co mám a má to pro mne hodnotu  Škoda  Snížení hodnoty aktiva  Útok  Útok může způsobit škodu  Je realizací hrozby  Hrozba  Existuje pokud je systém zranitelný  Zranitelnost  Zranitelné místo + potenciální útočník PB 169 Počítačové sítě a operační systémy3 Základní pojmy  Důvěrnost (Confidentiality)  Informace jsou srozumitelné / přístupné / sdělené jen těm, kdo jsou k tomu oprávněni  Integrita (Integrity)  Informace jsou správné, úplné, nebyly neautorizovaně změněny  Dostupnost (Availability)  Informace / služby jsou autorizovaným uživatelům k dispozici kdykoli to potřebují resp. kdykoli je určeno, že mají být k dispozici PB 169 Počítačové sítě a operační systémy4 Základní pojmy  Autentičnost (Authenticity)  Integrita + zajištění původu (zpráv, dat, ..)  Odpovědnost (Accountability)  Kdo za co odpovídá  Nepopiratelnost (Nonrepudiation)  Nemožnost popřít deklarovaný původ (např. zprávy) PB 169 Počítačové sítě a operační systémy5 Základní pojmy  Autentizace  proces ověření (a tím i ustavení) identity (s požadovanou mírou záruky).  Autorizace  udělení určitých práv a určení povolených aktivit.  Identifikace  rozpoznání určité entity (systémem) v dané množině entit. PB 169 Počítačové sítě a operační systémy6 Kryptologie  Fyzická ochrana – cena!  Kryptografie – ochrana významu (informační hodnoty) dat i „na dálku“  Kryptoanalýza – zjišťování slabin kryptografických algoritmů a parametrů  Kryptologie – kryptografie & kryptoanalýza  Steganografie – utajení samotné existence dat  Vodotisk (watermarking) – překryv se steganografií, metody vložení (ochranných) informací do dat PB 169 Počítačové sítě a operační systémy7 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 ... PB 169 Počítačové sítě a operační systémy8 Tři dimenze kryptografie  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  Druhy použitých operací  Substituce  Permutace PB 169 Počítačové sítě a operační systémy9 Kerckhoffsův princip  Algoritmus – postup – je všem znám a všemi ověřitelný (jako bezpečný)  Klíč – tajná informace – musí být chráněna před nepovolanými osobami PB 169 Počítačové sítě a operační systémy10 Co je hašování (hashování)  “Otisk dat”  Malý a jedinečný reprezentant jakkoliv velkých dat  01:A0:7D:2B:76:52:67:05:EC:43:6F:B3:68:CE:20:E7  Hašovací funkce  jednosměrnost, bezkoliznost  Dnes považovány za bezpečné: SHA-256 a verze vyšší  Nedostatečně bezpečné: SHA-1 (160 bit), MD5 (128 bit) PB 169 Počítačové sítě a operační systémy11 Alice Obvyklá označení činitelů Bob Eva Copyright © 1996 Terisa Systems, Inc. Š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í Copyright © 1996 Terisa Systems, Inc. Š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 PB 169 Počítačové sítě a operační systémy14 Alice Šifrování Bob - veřejný klíč Šifrování veřejným klíčem Bob Pošli: kilo masa, litr mléka, alimenty... PošlePošle hjsdkyufdzj cnjkeldhcjd zcndjlszhcj dncjldzncjd zncjklzdxnc kzdx PB 169 Počítačové sítě a operační systémy15 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, alimenty... PB 169 Počítačové sítě a operační systémy16 Alice Podpis Co je digitální podpis? Milý Bobe, o ty alimenty skutečně žádám já - Alice Alice privátní klíč Certifikát - Alicin veřejný klíč Bob PB 169 Počítačové sítě a operační systémy17 Asymetrická kryptografie Zpráva Ověření podpisu Tvorba podpisu Veřejný klíč B Podepsaná zpráva Uživatel A Soukromý klíč B Uživatel B Autentičnost Integrita Nepopiratelnost původu Dešif- rování Šifrování Šifrovaná zpráva Zpráva Uživatel A Veřejný klíč A Soukromý klíč A Uživatel B Důvěrnost PB 169 Počítačové sítě a operační systémy18 Certifikát  certifikát – veřejný klíč uživatele podepsaný soukromým klíčem důvěryhodné třetí strany  certifikát spojuje jméno držitele páru soukromého a veřejného klíče s tímto veřejným klíčem a potvrzuje tak identitu osoby  poskytuje záruku že identita spojená s vlastníkem daného veřejného klíče není podvržená  případně také představuje doklad o tom, že totožnost držitele veřejného klíče byla ověřena PB 169 Počítačové sítě a operační systémy19 Elektronický podpis  Zákon o elektronickém podpisu č. 227/2000 Sb. (změněn několika novelizacemi).  „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. PB 169 Počítačové sítě a operační systémy20 Není podpis jako podpis  Elektronický podpis  téměř cokoliv  Zaručený elektronický podpis  v podstatě digitální podpis  Zaručený elektronický podpis založený na kvalifikovaném certifikátu  digitální podpis, certifikát veřejného klíče vydán kvalifikovanou CA (splnila podmínky zákona a oznamovací povinnost)  Zaručený elektronický podpis založený na kvalifikovaném certifikátu od akreditovaného poskytovatele certifikačních služeb  také nazýván jako „uznávaný podpis“  digitální podpis, certifikát veřejného klíče vydán akreditovanou CA (splnila podmínky zákona a získala akreditaci)  jen tento podpis je uznáván v komunikaci se státní správou a samosprávou  v ČR dnes tři akreditované CA (I.CA, PostSignum a eIdentity) PB 169 Počítačové sítě a operační systémy21 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. PB 169 Počítačové sítě a operační systémy22 Elektronická značka  Jednoznačně spojena s označující osobou (i právnickou osobou nebo i org. složkou státu) a umožňuje její identifikaci prostřednictvím kvalifikovaného systémového certifikátu;  byly vytvořeny a připojeny k datové zprávě pomocí prostředku pro vytváření elektronických značek, které označující osoba může udržet pod svou výhradní kontrolou;  jsou k datové zprávě, ke které se vztahují, připojeny takovým způsobem, že je možné zjistit jakoukoli následnou změnu dat. PB 169 Počítačové sítě a operační systémy23 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). PB 169 Počítačové sítě a operační systémy24 Elektronický podpis vs. značka  Rozdíl je pouze procedurální  „Datová zpráva je podepsána, pokud je opatřena elektronickým podpisem. Pokud se neprokáže opak, má se za to, že se podepisující osoba před podepsáním datové zprávy s jejím obsahem seznámila.“ (§3 odst. 1) „Použití zaručeného elektronického podpisu založeného na kvalifikovaném certifikátu a vytvořeného pomocí prostředku pro bezpečné vytváření podpisu umožňuje ověřit, že datovou zprávu podepsala osoba uvedená na tomto kvalifikovaném certifikátu.“ (§3 odst. 2)  „Použití elektronické značky založené na kvalifikovaném systémovém certifikátu a vytvořené pomocí prostředku pro vytváření elektronických značek umožňuje ověřit, že datovou zprávu označila touto elektronickou značkou označující osoba.“ (§3a odst. 1) „Pokud označující osoba označila datovou zprávu, má se za to, že tak učinila automatizovaně bez přímého ověření obsahu datové zprávy a vyjádřila tím svou vůli. “ (§3a odst. 2) PB 169 Počítačové sítě a operační systémy25 Elektronický podpis a značka  Technologicky jde o totéž  Jen automatizace použití a správa soukromého klíče je jiná.  Viz. §17 a §17a zákona  Podle vyhlášky č. 378/2006 Sb. se jedná o klasické algoritmy digitálního podpisu  ETSI technical specifications  ETSI technical reports PB 169 Počítačové sítě a operační systémy26 Změna 2009/2010  „Kvalifikovaní poskytovatelé certifikačních služeb ukončí vydávání kvalifikovaných certifikátů s algoritmem SHA-1 do 31. 12. 2009. Od 1. 1. 2010 budou tito poskytovatelé vydávat kvalifikované certifikáty podporující některý z algoritmů SHA-2.“  „Kvalifikované certifikáty s hashovací funkcí třídy SHA-2, které začnou vydávat nejpozději od 1. ledna 2010, budou všichni tři poskytovatelé přednostně nabízet s hashovací funkcí SHA-256 v kombinaci s algoritmem RSA s délkou klíče 2048 bitů. Poskytovatel certifikačních služeb může na základě vlastního rozhodnutí a základě požadavků svých zákazníků vydávat kvalifikované certifikáty i s některou z dalších funkcí z rodiny SHA-2, tj. SHA-224, SHA-384 nebo SHA-512.“ PB 169 Počítačové sítě a operační systémy27 Digitální podpis – algoritmy  První algoritmy asymetrické kryptografie na začátku 70. let 20. století:  Britská tajná služba GCHQ (Clifford Cocks).  Veřejné oznámení až koncem 20. století (1997).  Aplikaci algoritmů pro autentizaci – podpis – „objevila“ později až akademická komunita u svých veřejných algoritmů.  První veřejné algoritmy koncem 70. let 20. století (W. Diffie a M. Hellman ovlivněni prací R. Mercla).  Nejznámější algoritmus RSA (Rivest, Shamir, Adelman) publikován v roce 1977, patentován v roce 1983 (v současné době patent již vypršel). PB 169 Počítačové sítě a operační systémy28 Digital Signature Algorithm  V roce 1994 proběhl v USA výběr Digital Signature Standard (DSS) – vyhrál DSA (Digital Signature Algorithm) modifikovaný algoritmus ElGamal, založený na diskrétním logaritmu v Zp.  Další algoritmy, mj. založeny i na eliptických křivkách.  NIST FIPS 186-3 nyní podporuje RSA (podle PKCS#1), DSA (3072 bitů) a ECDSA (podle ANSI X9.62). PB 169 Počítačové sítě a operační systémy29 Digitální podpis – délky klíčů  Algoritmus RSA  Při jednom z popisů algoritmu (ve „Scientific American“ v roce 1977) autoři publikovali příklad kryptosystému (prvočísla byla 64- a 65bitová), o kterém věřili, že je bezpečný.  Tento příklad byl rozlomen v roce 1994.  Koncem roku 1999 došlo k prolomení 512bitového modulo RSA (několik set rychlých počítačů pracovalo přes 4 měsíce), nedávno byl faktorizován 768 bitový RSA klíč.  V současné době se používá modulo o délkách 1024 až 4096 bitů. PB 169 Počítačové sítě a operační systémy30 Digitální podpis – RSA– matematika  Násobení prvočísel snadné, ale faktorizace čísel výpočetně náročná.  Velká prvočísla p a q, n = p·q, φ(n) = (p-1)(q-1).  Zvolíme velké e takové, že gcd(e, φ(n)) = 1.  Spočítáme d = e-1 (mod φ(n)).  Veřejný klíč: n, e. Neveřejné parametry: p, q, d.  Šifrování: c = we mod n.  Dešifrování: w = cd mod n. PB 169 Počítačové sítě a operační systémy31 Výpočetní bezpečnost  Bezpečnost RSA je založena na nesnadnosti faktorizace čísel.  Je zřejmé, že pouhým „vyzkoušením“ všech čísel do odmocniny z n se nám podaří n faktorizovat.  Bezpečnost RSA je založena na tom, že faktorizovat velká čísla (tím v současné době myslíme čísla o tisících bitů) v rozumném čase neumíme.  Pokrok v oblasti faktorizace čísel (například nalezení nového algoritmu) však může znamenat, že z veřejného klíče budeme schopni odvodit klíč privátní.  Tento algoritmus je založen na tzv. „výpočetní bezpečnosti“ (nejen tento algoritmus, „výpočetní bezpečnost“ je běžně používaný přístup). PB 169 Počítačové sítě a operační systémy32 Hašovací funkce  Kryptografická hašovací funkce.  Vstup libovolné délky.  Výstup pevné délky: n bitů.  Funkce není prostá (vznikají kolize).  Haš slouží jako kompaktní reprezentace vstupu (nazýváme též otisk, anglicky imprint, digital fingerprint nebo message digest).  Hašovací funkce často používáme při zajišťování integrity dat. Spočítáme nejprve haš a pak pracujeme s tímto hašem (například jej podepíšeme).  Právě probíhá výběr nového algoritmu SHA-3! PB 169 Počítačové sítě a operační systémy33 Vlastnosti hašovacích funkcí  Jednosměrnost  Pro libovolné x je snadné spočítat h(x).  V rozumném čase nejsme schopni pro pevně dané y najít takové x, že h(x) = y.  Bezkoliznost  (slabá): pro dané x nejsme schopni v rozumném čase najít x’ (x ≠ x’) takové, že h(x) = h(x’).  (silná): v rozumném čase nejsme schopni najít libovolná x, x’ taková, že h(x) = h(x’). PB 169 Počítačové sítě a operační systémy34 Příklad hašovací funkce  Uvažujme následující hašovací funkci:  Jednoduchý součet bajtů modulo 256 .  Fixní osmibitový výstup.  Pro text „ahoj“ získáme 97+104+111+106 mod 256 = 162.  Tuto funkci je sice jednoduché spočítat, není to však dobrá kryptografická hašovací funkce, neboť nemá vlastnost bezkoliznosti.  h(„ahoj“) = h(„QQ“) = h(„zdarFF“) PB 169 Počítačové sítě a operační systémy35 Běžné kryptografické hašovací funkce  MD4: výstup 128 bitů – dnes se již nepoužívá – byly nalezeny slabiny v algoritmu (umožňující nalezení kolizí, snižující efektivní výstup asi na 20 bitů).  MD5: výstup 128 bitů – dnes ještě používána, ačkoliv byly nalezeny významné slabiny a algoritmus pro nalezení kolizí – 128 bitů se již nepovažuje za dostatečně bezpečnou délku!  SHA-1 (Secure Hash Algorithm): výstup 160 bitů – NIST standard, používána v DSS (Digital Signature Standard), považována za bezpečnou pro jen nejbližší rok(y).  „SHA-2“ – SHA-256, SHA-384, SHA-512 (a dodána SHA- 224) – doporučuje se používat především tyto funkce! Definovány ve standardu (NIST) FIPS 180-2. PB 169 Počítačové sítě a operační systémy36 Hašovací funkce – příklady  MD5  Vstup: „Autentizace“.  Výstup: 2445b187f4224583037888511d5411c7 .  Výstupem je 128 bitů, zapisujeme hexadecimálně.  Vstup: „Cutentizace“.  Výstup: cd99abbba3306584e90270bf015b36a7.  Změna jednoho bitu vstupu → velká změna výstupu.  SHA-1  Vstup: „Autentizace“.  Výstup: dfcee447d609529f0335e67016557c281fc6eb44 . PB 169 Počítačové sítě a operační systémy37 Protokoly vyšší úrovně – SSL/TLS Protokol SSL/TLS poskytuje:  Autentizaci stran – strany jsou autentizovány pomocí certifikátů a protokolu výzva-odpověď  Integritu – autentizační kódy (message authentication code - MAC) zajišťují integritu a autenticitu dat  Důvěrnost – po úvodní inicializaci („handshake“), je ustaven symetrický šifrovací klíč, kterým je šifrována všechna následující komunikace (včetně přenosu hesel apod.) PB 169 Počítačové sítě a operační systémy38 Principy SSL/TLS  Pozice SSL/TLS  Mezi aplikační vrstvou a protokolem TCP  SSL/TLS nevidí do aplikačních dat  SSL/TLS neprovádí elektronické podepisování přenášených dat Aplikační vrstva SSL/TLS TCP/UDP IP Linková vrstva Fyzická vrstva PB 169 Počítačové sítě a operační systémy39 Klíče v SSL/TLS  Použití klíčů  Klient generuje PreMasterSecret, šifruje veřejným klíčem serveru a posílá serveru  Obě strany vytvoří blok klíčů z PreMasterSecret (posílá se šifrovaně) a náhodných čísel ClientHello a ServerHello (posílají se nešifrovaně)  Blok klíčů tvoří klíče pro • MAC klient → server • MAC server → klient • šifrování klient → server • šifrování server → klient • inicializační vektory PB 169 Počítačové sítě a operační systémy40 SSL/TLS Client Hello Server Hello, ( , Client Cert Request,…) Server Cert Client CertClient Key Exchange, Cipher Spec, ( , ...) Application Data S E C U R E Client Server PB 169 Počítačové sítě a operační systémy41 Autentizace uživatelů tajnými informacemi  „Něco, co uživatel zná“ (a ostatní ne  )  Hesla  Druhy hesel a jejich použití  Správná práce s hesly  PINy  Výhody a nevýhody těchto autentizačních metod PB 169 Počítačové sítě a operační systémy42 Čas potřebný k analýze NTLM hašů (na anxurovi) n c 26 znaků 36 (alfan.) 62 (a/A,alfan) 95 (kláves.) 5 15 s 1,3 min 19,9 min 2,8 h 6 6,69 min 47,2 min 20,5 h 11 d 7 3 h 1,2 d 55 d 3,1 r 8 3,26 d 44 d 9,6 r 290 r 9 84,8 d 4,5 r 590 r 28000 r 10 7,1 r 180 r 42000 r 3000000 r PB 169 Počítačové sítě a operační systémy43 Autentizace uživatelů tokeny  Token – „něco, co uživatel má“ (a ostatní ne)  Inteligentní token  Základní druhy  Jejich princip a použití  Čipové karty – využití, parametry, bezpečnost  Výhody a nevýhody těchto autentizačních metod PB 169 Počítačové sítě a operační systémy44 Nejčastější tokeny v IT/IS  Karty  S magnetickým proužkem  Čipové • Kontaktní / bezkontaktní • Čtečka na straně dotazovatele / kontrolovaného (mobil)  Autentizační kalkulátory  S tajnou informací  S hodinami  Způsob vstupu/výstupu PB 169 Počítačové sítě a operační systémy45 Úvod do biometrik  „Něco, co uživatel je“ (a ostatní ne)  Měřitelné biologické charakteristiky člověka- uživatele  Fyzické – parametry částí těla  Chování (behaviorální) – parametry činnosti  Míra tolerance – prahová hodnota  Nesprávné odmítnutí/přijetí PB 169 Počítačové sítě a operační systémy46 Biometrické autentizační metody  Otisk prstu  Vzor oční duhovky  Vzor oční sítnice  Srovnání obličeje  Geometrie ruky  Verifikace hlasu  Dynamika podpisu  Dynamika psaní na klávesnici PB 169 Počítačové sítě a operační systémy47 Využití biometrik  Problémy biometrik – bezpečnost  Otázky praktického použití  Současná omezení a použitelnost  Vhodné použití  Nevhodné použití  Vztah biometrik a kryptografie