Bezpečnost informačních systémů šifrování
Feistlovy kryptosystémy Horst Feistel 1915-1990 Německo, USA IBM Posuvné registry Lucifer DES, AES 2
Posuvné registry Blok bitů – délka 2n Klíč – posloupnost k funkcí f1, f2,…, fk {0,1}n → {0,1}n , k – hloubka klíče 3
Posuvné registry, šifrování (m0, m1) = X mi+1 = mi-1+fi(mi) Y = (mk,mk+1) 4
Posuvné registry, dešifrování (mk,mk+1) = Y mi-1 = mi+1+fi(mi) X = (m0, m1) 5
Příklad šifrování Délka bloku 2n=8, hloubka klíče k=2 f1: permutace (1234) → (2143) f2: funkce (1234) → (1124) 6
Příklad šifrování X = (01000001) m0 = (0100), m1 = (0001) m2= m0+ f1(m1)=(0100)+ f1(0001)=(0100)+(0010)=(0110) m3= m1+ f2(m2)=(0001)+ f2(0110)=(0001)+(0010)=(0011) Y = (01100011) 7
Dešifrování Y = (01100011) m2 = (0110), m3 = (0011) m1= m3+ f2(m2)=(0011)+ f2(0110)=(0011)+(0010)=(0001) m0= m2+ f1(m1)=(0110)+ f1(0001)=(0110)+(0010)=(0100) X = (01000001) 8
Počet klíčů Počet funkcí {0,1}n → {0,1}n je F = (2n) 2n Počet klíčů je Fk V našem případě n=4 , k=2, 2n=16, F=1616=18446744073709600000 Počet klíčů 184467440737096000002 = 340282366920938000000000000000000000000 9
DES funkce f1,…, f16 6 6 10
Data Encryption Standard (1975) generování klíče 11
DES, šifrování a dešifrování Délka bloku 2n = 64, Hloubka klíče K = 16 Počet klíčů 256 = 72057594037927900 ~ 7*1016 Při 100 000 000 klíčích/sec: 7*108 sekund ~ 22 let Prolomeno v roce 1999 12
AES Počet klíčů 264 ~ 1.8*1019 Za stejných podmínek je pro vyluštění třeba 1,8*1011s ~ 5707 let 13
Distribuce klíčů D-H *1976 Whitfield Diffie *1944 Martin Hellban *1945 Massachusetts Institute of Technology (Boston) Protokol SSL 14
Metoda Diffie Hellman Použiji jednosměrnou funkci f(x)=px mod q p,q jsou velká prvočísla. Uživatel A zvolí tajný klíč t, uživatel B tajný klíč s. Uživatel A spočítá f(t) = pt mod q = α a pošle Uživatel B spočítá f(s) = ps mod q = β a pošle 15
Metoda Diffie Hellman A spočítá βt mod q = pst mod q = K. B spočítá αs mod q = pts mod q = K. K se použije jako klíč pro jednorázovou šifru (např. DES) 16
Protokol SSH,SSL Podání rukou (handshake) Klient pošle serveru požadavek na spojení Server odešle veřejný klíč a certifikát Klient ověří certifikát, vygeneruje svůj tajný klíč a odešle číslo alfa Server vygeneruje tajný klíč a odešle číslo beta Klient a server si vzájemně potvrdí existenci klíče pro symetrickou šifru Probíhá šifrovaná komunikace domluvenou symetrickou šifrou
RSA šifra *1977 Ronald Rivest *1947 Leonard Adelman *1945 Adi Shamir *1952 University of Southern California, Los Angeles Protokol PGP 18
RSA šifra Dvě prvočísla p,q Šifrovací modul N=p.q Dešifrovací exponent t nesoudělný s N Φ(N)=(p-1).(q-1) s je řešení kongurence s.t mod Φ(N)=1 Veřejný klíč: N,s Tajný klíč: p,q, Φ(N), t 19
RSA šifra Šifrovací zobrazení y=xs mod N Dešifrovací zobrazení x=yt mod N xst mod N = xkΦ(N)+1 mod N = 1k.x mod N = x 20
Elektronický podpis X=yt mod N, y =xs mod A y=yst mod N = y 21
Hybridní kryptosystémy
Hybridní kryptosystémy Symetrická šifra – bezpečná, rychlá, nutná výměna klíčů Asymetrická šifra – není nutná výměna klíčů, pomalá
Hybridní kryptosystémy Text se zašifruje symetrickou šifrou s náhodným klíčem Klíč se zašifruje asymetrickou šifrou
Elektronický podpis Ze zprávy se vytvoří otisk pomocí otiskové (Hešovací, hash) funkce Otisk se zašifruje tajným klíčem Otisk se pošle spolu se zprávou Bob z přijaté zprávy vytvoří pomocí téže funkce otisk Přijatý otisk dešifruje pomocí veřejného klíče Oba otisky porovná
Hešovací (otiskovací funkce) Jednocestná funkce Je snadné pro danou zprávu spočítat otisk Je obtížné z daného otisku rekonstruovat zprávu Jakkoli dlouhá zpráva vytvoří otisk stejné délky (obvykle 64 bitů) Lokální nestabilita Malá změna vstupních dat způsobí velkou změnu otisku Odolnost vůči kolizi Je obtížné najít dvě zprávy se stejným otiskem
PGP – Pretty Good Privacy Phill Zimmermann 1991 Symetrická šifra: IDEA, DES, AES Asymetrická šifra: RSA Hešovací funkce: MD5, SHA Autorizace: DSA Generování klíčů Evidence klíčů
PGP – Evidence klíčů ID Jméno uživatele Veřejný klíč (N,s) Další informace o uživateli (adresa, fotka, …) Podpis autorizační agentury Odkaz na agenturu
Oblasti řešení bezpečnosti Informační bezpečnost Bezpečnost a ochrana zdraví při práci Objektová bezpečnost Bezpečnost IS/ICT
Zranitelnost Informačních systémů Fyzická – technické závady, zcizení, … Přírodní – IS nemá schopnost vyrovnat se s objektivními faktory – blesk, záplava, požár, … Technologická – Informační systém díky svým charakteristikán není schopen zajistit potřebné požadavky např. trvalý plynulý provoz Fyzikální – informační systém pracuje na takových fyzikálních principech, které umožňují jejich zneužití (např. odposlech) Lidská – působení lidí – úmyslné /neznalost, omyl
Fyzické a přírodní ohrožení Technické závady Přírodní katastrofy Výpadky dodávky elektrické energie
Programové ohrožení Počítačové viry - program, který se šíří bez vědomí uživatele Trojské koně - skrytá část programu nebo aplikace provádějící funkce, se kterou uživatel nesouhlasí Červi (worms) - šíření založeno na bezpečnostních chybách Back-doors – vstup do systému bez hesla Zapomenuté funkce z doby vývoje Phishing - podvodný email snažící se vylákat důvěrné informace-hesla atd. Hoax – poplašná zpráva Spyware – software sleduje uživatele nebo informace o jeho počítači a data odesílá Rootkit – program k zamaskování určitých aktivit na počítači
Phishing – typické ukázky „Ověřte svůj účet.“ „Pokud neodpovíte do 48 hodin, váš účet bude zrušen.“ „Vážený a milý zákazníku.“ (oslovení bez jména) „Klepnutím na níže uvedený odkaz získáte přístup ke svému účtu.“
Cíle útočníků Krádež dat a informací Zničení dat Destabilizace systému Blokování místa nebo určitých zdrojů
Typy útočníků Hacker Začátečník -> uznání, seberealizace Profesionál -> překonání intelektuálních výzev, ideál o svobodném přístupu informací... Virový tvůrce – „zrazení idealisté“, „nedocenění odborníci“,… Vnitřní nepřítel – odplata vůči zaměstnavateli, pocit křivdy, … Informační válečník – vlastenecké motivy – destabilizace nepřátelských zdrojů Zloděj – snaha o zisk financí Politický aktivista – fanatik, idealista…
Chyby, které využívají útočníci Programátorské chyby Návrhové chyby Konfigurační chyby Fyzické narušení Chyby obsluhy
Ochranné mechanismy Fyzické a přírodní ohrožení: Zálohování – úplné/inkrementální Zabezpečení – UPS, přepěťové ochrany - Kategorie systémů odolných vůči výpadkům: Fault-tolerant systém – systém odolný vůči výpadkům – výpadek části systému (elektřina, komponenta, síť) nezpůsobí významné přerušení funkce systému; řešení pomocí zdvojení kritických komponent Disaster-tolerant systém - systém odolný vůči katastrofám; jako FT řešeno zdvojením ale i fyzickým oddělením záložního systému
Ochranné mechanismy Softwarové ohrožení: Firewall, antivirové programy, … Autentizace a řízení přístupových práv Bezpečnostní politika, plán obnovy činnosti, havarijní plán
Firewall Firewall, tzv.„bezpečnostní brána“, je zařízení či software oddělující provoz mezi dvěma sítěmi (např. interní podniková a veřejný internet), přičemž propouští jedním nebo druhým směrem data podle určitých předem definovaných pravidel. Brání tak zejména před neoprávněnými průniky do sítě a odesílání dat ze sítě bez vědomí a souhlasu uživatele.
Autentizace a Autorizace Autentizace = ověření uživatele Autorizace = ověření práv
Autentizace Přístup přes uživatelská jména a hesla nebo PIN Expirační doba hesel Omezený počet pokusů přihlášení (heslo, PIN) „Strong“ password – minimální počet znaků, povinné kombinace čísel a písmen, zákaz používání smysuplných slov Zákaz „prázdného“ hesla Ověření uživatele Vlastnictví určitého předmětu – karta, čárový kód, token Ověření fyziologických charakteristik – biometrie Využití časových intervalů (automatické odhlášení při delší nečinnosti)
Autentizace Biometrie: Otisky prstů Snímek oční sítnice a duhovky Rozpoznání obličeje, dlaně Rozpoznání hlasu Dynamika podpisu, psaní na klávesnici
Problémy autentizace Příliš mnoho hesel do různých systémů Nejednoznačnost identity (v jiném systému pod stejným uživatelským jménem vystupuje někdo jiný)