Summary

These notes cover various aspects of information security, including risk analysis, cryptography, and steganography. They discuss topics such as the CIA triad, symmetric and asymmetric encryption, and the history of cryptography. Key concepts like threats, vulnerabilities, and security measures are also examined.

Full Transcript

BIS -- otázky 1. Bezpečnost informací, analýza rizik ====================================== **Bezpečnost informací** = představuje ochranu informací ve všech jejich formách a po celý jejich životní cyklus\ *[Bezpečnostní triáda]* (CIA triad): 1. **Důvěrnost** -- informace by měli být přístupné j...

BIS -- otázky 1. Bezpečnost informací, analýza rizik ====================================== **Bezpečnost informací** = představuje ochranu informací ve všech jejich formách a po celý jejich životní cyklus\ *[Bezpečnostní triáda]* (CIA triad): 1. **Důvěrnost** -- informace by měli být přístupné jen tomu, kdo je oprávněn\ =\> ochrana před neautorizovaným přístupem, užitím či vyzrazením\ =\> ochrana dat umístěných v systému, při přenosu či při zpracování\ **metody:** fyzická bezpečnost (dveře, ochranka, kamery), šifrování, autentizace, autorizace (přístupová práva) 2. **Integrita** -- schopnost zabránit neautorizovaným změnám systému a informací\ =\> detekce nežádoucích změn při uložení, při přenosu, při zpracování\ **metody:** digitální podpisy, haše, auditování operací, odolnost k chybám uživatele 3. **Dostupnost** -- nenarušit dostupnost systému a služeb\ =\> zajištění dostupnosti systému, služeb a informací pro uživatele\ =\> akceptovatelná úroveň výkonnosti, prevence ztráty a zničení\ **metody:** redundance uložení (data uložená na více místech/ve více kopiích), zpracování či přístupových tras; zálohování a obnova dat; plány obnovy; aktualizace a záplatování; řízení prostředí (elektřina, chlazení...) **Hrozby a zranitelnosti** = potenciální události nebo aktivity, které mohou narušit bezpečnost informací (např. kybernetické útoky, přírodní katastrofy, chyby zaměstnanců)\ **Dopady** = negativní důsledky, pokud dojde k realizaci hrozby (např. ztráta dat, finanční ztráty, poškození reputace) **Opatření** = aktivity nebo mechanismy, které snižují riziko (např. šifrování dat, zálohování, školení zaměstnanců)\ **Chráněná aktiva** = informace, systémy, infrastruktura a další zdroje, kt. mají pro org. hodnotu a je třeba je chránit\ **Analýza bezpečnostních rizik** = proces, při kterém se identifikují potenciální hrozby a zranitelnosti a hodnotí se dopady, které by mohly mít na organizaci 2. Zákon o kybernetické bezpečnosti =================================== = souhrn právních, organizačních, technických a vzdělávacích prostředků směřujících k zajištění ochrany kybernetického prostoru\ **Cílem:** Chránit kritickou informační infrastrukturu, významné IS, a zajistit bezpečnost základních služeb.\ =\> Národní úřad pro kybernetickou a informační bezpečnost a Národní bezpečnostní úřad\ **Cílem:** Zvýšit bezpečnost kybernetického prostoru a zejména se snažit ochránit tu část infrastruktury, která je pro fungování státu důležitá a jejíž narušení by vedlo k poškození nebo ohrožení zájmu České republiky.\ =\> Povinnosti plynoucí ze Zákona se dotýkají vymezeného okruhu právnických osob, orgánů a podnikajících FO *[Zákon o kybernetické bezpečnosti a související vyhlášky]*:\ Hlášení incidentů -- Opatření -- Varování -- Evidence - Reaktivní a ochranné opatření -- CERT = Computer Emergency Response Team -- **Vyhláška o kybernetické bezpečnosti\ **=\> řízení počtu možných neúspěšných pokusů o přihlášení/ukládání autentizačních údajů ve formě odolné proti offline útokům/pro ověření identity uživatelů, administrátorů a aplikací využívá autentizační mechanizmus, který není založený pouze na použití identifikátoru účtu a hesla, ale na vícefaktorové autentizaci s nejméně 2 různými typy faktorů/**dočasně lze používat hesla:** min. délka 12 znaků u uživatelů, 17 znaků u administrátorů, mezi změnami hesla musí být min. 30 minut, neumožnit nejčastější hesla, povinná změna hesla po 18 měsících, neopakovat stejná hesla, bezodkladná změna výchozího hesla **Funkce:** Popisuje konkrétní opatření, která musí provozovatelé KII, VIS a základních služeb přijmout.\ Obsahuje požadavky na org. i technická opatření, jako je řízení přístupů, šifrování, zálohování nebo řízení rizik. **Vztahuje se na:** správce a provozovatele - IS kritické informační infrastruktury, komunikačního systému kritické informační infrastruktury, významného IS, IS základní služby, provozovatele základní služby a poskytovatele digslužby **Kybernetická bezpečnostní událost** = může způsobit narušení bezpečnosti informací v informačních systémech nebo narušení bezpečnosti služeb/bezpečnosti a integrity sítí elektronických komunikací\ **Kybernetický bezpečnostní incident** = narušení bezpečnosti informací v IS nebo narušení bezpečnosti služeb/bezpečnosti a integrity sítí el. komunikací v důsledku kybernetické bezpečnostní události\ =\> musí dojít k narušení CIA -- alias bezpečnostní triády 3. Cíle kryptografie, steganografie =================================== **Kryptologie** = věda, která se zabývá šifrováním ze všech úhlů pohledu =\> hl. disciplínami jsou kryptografie a kryptoanalýza**\ **=\> kryptografie = zabývá se matematickými metodami se vztahem k takovým prvkům informační bezpečnosti jako je důvěrnost zprávy, integrita dat, autentizace entit a původu dat**\ **=\> kryptoanalýza = analýza odolnosti kryptografických systémů, hledání metod k proniknutí do těchto systémů **Jaké jsou základní způsoby dosažení cílů kryptografie**: důvěrnosti, autentizace, integrity dat a neodmítnutelnosti?\ - *[Důvěryhodnost]* =\> utajení\ - *[Integrita dat]* =\> celistvost\ - *[Autentizace]* =\> prokázání totožnosti (ověření subjektu), prokázání původu dat (vlastnictví)\ - *[Nepopiratelnost]* =\> neodmítnutelnost Obsah obrázku text, snímek obrazovky, Písmo Popis byl vytvořen automaticky ### Kerkhoffsovy principy: - *Bezpečnost šifrovacího systému nesmí záviset na utajení algoritmu, ale pouze na utajení klíče. Klíče lze měnit.* - *Je nutné rozlišovat mezi šifrovacím systém pro okamžitou výměnu mezi dvěma osobami a šifrovacím systémem pro komunikaci mezi armádami na dlouhou dobu (systém musí být nerozluštitelný prakticky)* - *Pouze kryptoanalytici jsou schopni ohodnotit, do jaké míry je systém bezpečný a spolehlivý\ =\>* Musí se dát **použít přes telegrafní síť**\ =\> **Klíče musí být zapamatovatelné**\ =\> **Systém musí být přenosný**, pro obsluhu stačí jeden člověk (šifrant) ### Steganografie: - Utajení komunikace prostřednictvím ukrytí zprávy - Bezpečnost skrze utajení Problém vězňů ------------- **Scénář:** 2 účastníci (Alice a Bob) chtějí bezpečně komunikovat, ale nemohou si předem vyměnit tajný klíč.\ Chtějí poslat šifrované zprávy přes veřejnou síť, kterou může odposlouchávat třetí strana (dozorce).\ **Řešení:** *[Asymetrická kryptografie (veřejné klíče)]* =\> **Každý účastník generuje pár klíčů**\ Veřejný klíč = Může být sdílen s ostatními.\ Privátní klíč = Tajný klíč, který slouží k dešifrování zpráv zašifrovaných veřejným klíčem.\ **Kroky řešení:** 1. **Generování klíčů** - Alice a Bob vygenerují své páry veřejného a privátního klíče. 2. **Veřejná komunikace** - Alice zveřejní svůj veřejný klíč a Bob zveřejní svůj veřejný klíč. 3. **Šifrování zprávy** - Alice zašifruje zprávu Bobovým veřejným klíčem. 4. **Dešifrování zprávy** - Bob dešifruje zprávu svým privátním klíčem. 5. **Odpověď Alice** - Bob zašifruje odpověď Alice veřejným klíčem. Alice dešifruje odpověď svým PK. **Bezpečnost:** Dozorce může odposlouchávat veřejné klíče i šifrované zprávy, ale bez PK nemůže zprávu dešifrovat.\ **Význam:** Problém vězňů v kryptografii ukazuje, jak asymetrická kryptografie umožňuje bezpečnou komunikaci bez potřeby předchozího sdílení tajného klíče. Tento princip je základem pro šifrovací technologie jako je RSA, které se používají v protokolech jako SSL/TLS pro bezpečnou internetovou komunikaci.\ *[RSA (Rivest-Shamir-Adleman)]* = Asymetrická šifra, která používá veřejné a soukromé klíče.\ Slouží pro šifrování a podepisování dat. Je základem mnoha bezpečnostních protokolů, včetně SSL a TLS.\ *[SSL (Secure Sockets Layer)]* = Protokol pro šifrování internetové komunikace mezi webovými prohlížeči a servery. Zajišťuje důvěrnost a integritu dat.\ *[TLS (Transport Layer Security)]* = Vylepšená verze SLL. Zajišťuje šifrování a autentizaci pro bezpečnou komunikaci na síti, zejména na webu (HTTPS). Většina moderních aplikací používá TLS místo SSL. 4. Kryptografická primitiva, náhodná čísla, historie šifrování ============================================================== **Kryptografická primitiva** = základní stavební kameny kryptografických algoritmů a protokolů\ - *[Hašovací funkce:]* převádějí data na jedinečný, fixní velikostní **haš** (krátký řetězec písmen a číslic, který vznikne tím, že proženeme jiný řetězec = vstupní data hashovací funkcí). Slouží k zajištění integrity dat a v digitálních podpisech.\ - *[Symetrické šifrování]*: používá stejný klíč pro šifrování a dešifrování. Příklady zahrnují **AES** (Advanced Encryption Standard, česky standard pokročilého šifrování, je standardizovaný algoritmus používaný k šifrování dat v informatice) a **DES** (Data Encryption Standard je symetrický šifrovací algoritmus, který využívá 56bitový klíč k šifrování a dešifrování dat blokové velikosti 64 bitů).\ - *[Asymetrické šifrování:]* používá veřejný a soukromý klíč. Příklady zahrnují **RSA.\ -** *[Digitální podpisy:]* umožňují ověření autenticity a integrity zprávy. **Kryptografické protokoly** = soubory pravidel a postupů, využívající kryptografické algoritmy k zajištění bezpečnosti při komunikaci nebo zpracování dat (pro autentizaci, šifrování, digitální podpisy nebo výměnu klíčů).\ Obvykle se skládajíc z více kryptografických primitiv. Používá se i pojem **kryptosystém**.\ - *[TLS (Transport Layer Security):]* zajišťuje šifrovanou a bezpečnou komunikaci mezi klientem a serverem na internetu, například při přenosu dat na webu.\ - *[SSH (Secure Shell):]* umožňuje bezpečné vzdálené přihlášení a správu systémů pomocí šifrovaného přenosu dat.\ - *[Kerberos:]* pro autentizaci uživatelů a služeb v síti pomocí lístků (tickets). Ty potvrzují totožnost bez přenosu hesel.\ - *[PKI Timestamp:]* zajišťuje důkaz o existenci dokumentu nebo dat v konkrétním čase pomocí digitálních podpisů v rámci infrastruktury veřejných klíčů (PKI). **Generátory náhodných čísel** = typy generátorů s využitím v kryptografii. 1. *[TRNG True Random Number Generator]* =\> generování náhodných čísel z fyzikálního procesu Př: házení kostkou, ruleta, „losování Sazky" (!pro současnou kryptografii pomalé!)\ radioaktivní rozpad zdroje záření, tepelné jevy (tepelný šum z rezistoru) 2. *[Generátory pseudonáhodných čísel]* =\> **deterministický algoritmus** = při stejném vstupu vždy produkuje stejný výstup a postupuje přesně podle předem definovaných kroků bez jakékoliv náhodnosti Kryptograficky bezpečné generátory pseudonáhodných čísel =\> přes seed Při znalosti již vygenerované posloupnosti nelze spočítat následující číslo v přijatelném čase **Nepredikovatelnost** =\> z předchozího proudu náhodných čísel nelze odvodit následné Historie šifrování ------------------ ### Substituční šifra: = nahrazení každého znaku jiným znakem dle nějakého pravidla\ **Caesarova šifra**, kde je každé písmeno v abecedě posunuto o určitý počet míst\ *[Kódové knihy]* = slovník, vybraná slova či věty jsou nahrazeny kódy (obvykle číslo) - **Reakce na statistickou analýzu substitučních šifer** (vytvořeny jako odpověď na slabiny substitučních šifer, které lze prolomit analýzou četnosti jednotlivých znaků nebo kombinací, nahrazení celých slov či vět tuto analýzu výrazně komplikuje) - **Velká všeobecná šifra** = komplexní forma kódové knihy, kt. pokrývá velmi širokou škálu slov, frází a symbolů, tím se zvyšuje bezpečnost a flexibilita šifrování (používána napřklad pro vojenské účely). ### Transpoziční šifra: = přeskupení písmen dle určených pravidel, zachovávají se původní znaky, ale mění se jejich pořadí. 5. Šifrování se sdíleným klíčem =============================== Symetrické šifry ---------------- = používají stejný klíč pro šifrování i dešifrování, který musí být bezpečně sdílen mezi odesílatelem a příjemcem.\ Algoritmus je veřejný, ale bezpečnost závisí na utajení klíče. Výhodou SS je rychlost, problémem je ale bezpečné sdílení klíče mezi stranami.\ Typy: - *[Blokové šifry:]* data se rozdělí na pevné bloky (např. 64 nebo 128 bitů), které se šifrují zvlášť. - *[Proudové šifry:]* šifrují data průběžně po jednotlivých bitech nebo bajtech, což je vhodné pro nepřetržité datové toky. Proudové šifry -------------- = typ symetrické šifry, kde vstupní datový tok je kombinován (typicky pomocí funkce XOR) s pseudonáhodným proudem bitů (**keystream**) vytvořeným z šifrovacího klíče a šifrovacího algoritmu.\ Pokud útočník zná otevřený text i daný šifrový text, může snadno odhalit šifrovací proud bitů (**keystream**).\ !**Klíč se nesmí opakovat**!, jinak by bylo šifrování snadno prolomitelné.\ **Proud bitů z generátoru se po určité době opakuje** =\> před opakováním se musí změnit klíč ### Výhody: - *[Jednodušší implementace:]* snadno se implementují jak v SW, tak v HW. - *[Okamžité šifrování:]* není třeba čekat na naplnění celého **bloku dat** (pevně stanovená jednotka, do kt. se rozdělí otevřený text před šifrováním v blok. šifrách, velikost bývá 64/128 bitů, blok se šifruje samostatně) - *[Rychlost na univerzálních procesorech:]* pokud procesor nemá specializovanou HW podporu pro blokové šifry (AES-NI, SIMD), jsou proudové šifry obvykle rychlejší.\ **AES-NI** = sada instrukcí v procesorech, která urychluje šifrování a dešifrování pomocí algoritmu AES. **SIMD** (Single Instruction,Multiple Data) = technologie, kt. umí zpracovat víc dat najednou v rámci 1 instrukce. **[Pseudonáhodný generátor čísel]**\ = generuje náhodný bitový proud, kt. je kombinován s vstupním datovým tokem pomocí operace XOR (exclusive OR), což znamená, že bitový vstup je porovnán s náhodným bitovým proudem a výsledkem je bit, který je 1, pokud je počet 1 v obou vstupech lichý, jinak 0. ### XOR: - = operace, která porovnává dva bity a vrací 1, pokud jsou odlišné, a 0, pokud jsou stejné. - **Vernamova šifra** = substituční šifra, kde se používá XOR mezi otevřeným textem a náhodným klíčem, který je stejně dlouhý jako text a nikdy se neuchovává ani neopakuje.\ =\> **Teoreticky bezpečná** při splnění podmínek (náhodný klíč, jeho jedinečné použití, stejně dlouhý jako text).\ =\> **1917** byla vytvořena šifrovací technologie pro děrné pásky, která využívala Vernamovu šifru. Blokové šifry ------------- = otevřený text se rozdělí do bloků, které se šifrují samostatně.\ **Zašifrování a odšifrování:** odlišné operace, ale používají stejné HW prostředky\ =\> Každý bit výstupu závisí na každém bitu vstupního bloku.\ **Substitučně permutační síť: substituce** = nahrazení jednoho bloku jiným, **permutace** = změna pořadí bloků/bitů\ =\> Blok se rozdělí na menší části (8-16 bitů) a každá část podléhá substituci na základě klíče, pak se bity permutují, a dochází k jejich přeskupení mezi skupinami. Tento proces se opakuje = **rundy**.\ **AES** = moderní bloková šifra, kt. používá substitučně permutační síť a je považována za bezpečnou pro široké využití ### Módy blokových šifer: 1. **ECB** (Electronic codebook mode encryption) - každý blok je šifrován **nezávisle** (stejné bloky otevřeného textu vedou ke stejným blokům šifrového textu).\ - NEPOUŽÍVAT (šifrový text může obsahovat vzory, kt. umožní útočníkovi identifikovat části zprávy)\ - Možnost útoku opakováním (pokud se šifrují stejné bloky textu, útok může identifikovat jejich opakování) 2. **CBC** (Cipher Block Chaining Mode) - používá inicializační vektor (**IV** = náhodně generovaný bitový řetězec, který se používá k zajištění jedinečnosti šifrování, aby se zabránilo opakování stejného šifrového textu při šifrování identických dat), který se XORuje s prvním blokem otevřeného textu.\ - Další bloky jsou XORovány s šifrovým textem předchozího bloku \- **Bezpečnostní slabiny**, zranitelnosti vůči útokům\ - **Použití pouze jednoho vlákna** = proces je sekvenční a nemůže být efektivně paralelizován (rozdělen) 3. **OFB** (Output Feedback Mode) - proudová šifra vytvořená z blokové šifry\ - Klíč a IV se používají pouze jednou a nesmí se opakovat, jinak může být bezpečnost ohrožena 4. **CTR** (Counter mode encryption) - vytváří proudovou šifru z blokové šifry, kde **nonce** (číslo používané pouze jednou) nahrazuje IV.\ - **Paralelizace** = bloky mohou být šifrovány a dešifrovány paralelně\ - Používá se jako **základ pro generátor CTR\_DRBG** (pseudonáhodný generátor čísel) ### Inicializační vektor: - Cílem: zajistit, aby zprávy šifrované stejným klíčem měly různý šifrový text, i když mají stejné části otevřeného textu - **IV** = náhodný řetězec (**nonce**) velikosti bloku, kt. modifikuje 1. blok otevřeného textu, v závislosti na použitém šifrovacím módu. - IV se nepotřebuje tajit a často je posílán spolu se šifrovanou zprávou. - Pro každou zprávu musí být IV odlišný, aby byla zachována bezpečnost. - **Padding** = proces přidání výplně k otevřenému textu, aby jeho délka byla násobkem velikosti bloku, což je nezbytné pro šifrování v blocích. 6. Hašovací funkce, ověřování integrity zpráv ============================================= **Hašovací funkce** = 1směrná fce (na rozdíl od šifrování), která převádí libovolně dlouhý vstup na **otisk pevné délky**.\ *[Užití v kryptografii:]* ověřování hesla (hašování hesel), ověření integrity zpráv a souborů, generování a ověření digitálního podpisu, důkaz práce (Proof of Work -- v kryptoměnách pro ověřování bloků =\> bitcoin), identifikátor souboru nebo dat (např. v systémech git) Kryptografické hašovací funkce -- vlastnosti a používané protokoly ------------------------------------------------------------------ 1\. **Odolnost vůči zpětnému výpočtu (jednosměrnost):** je nemožné najít vstup x pro daný haš h, kde hash(x) = h.\ ***[Využití:]*** ukládání hesel a ochrana před zpětným výpočtem\ 2. **Odolnost vůči nalezení druhého vzoru (2nd preimage resistance):** pro daný vstup x je nemožné najít jiný vstup y (kde x ≠ y), takový že hash(x) = hash(y).\ ***[Využití:]*** zajištění integrity zpráv a dat\ 3. **Odolnost vůči nalezení kolize (collision resistance):** je nemožné najít dva libovolné vstupy x a y (kde x ≠ y), pro které platí hash(x) = hash(y).\ ***[Využití:]*** digitální podpisy -- zabraňuje vytvoření falešného podpisu Útoky na hašovací funkce: - Nalezení **prvního vzoru** = pokus o nalezení vstupu pro známý haš - Nalezení **druhého vzoru** = hledání jiného vstupu, který má stejný haš jako daný vstup - Nalezení **kolize** = hledání dvou různých vstupů, které mají stejný haš ### Integrita přenášených zpráv: - Zajišťuje, že data nebyla během přenosu změněna. - **Používá se hašovací funkce:** odesílatel připojí haš zprávy, příjemce jej ověří porovnáním. ### Kód ověření zprávy: - Message Authentication Code, MAC - Poskytuje ochranu **integrity** i **autenticity** zprávy, využívá tajný klíč společný mezi odesílatelem a příjemcem. ### Integrita zašifrovaných zpráv: = Zajišťuje, že šifrovaná data nebyla během přenosu změněna.\ **[AEAD (Authenticated Encryption with Associated Data):\ ]**- Umožňuje **současně šifrovat data a ověřit jejich integritu** pomocí MAC.\ - Kombinuje šifrování a ochranu integrity v jednom kroku, což je bezpečnější než oddělené použití šifry a MAC.\ - Podporuje ověřování nešifrovaných přidružených dat (**associated data**).\ - **Příklady:** AES-GCM, ChaCha20-Poly1305.\ - Široce využíváno v moderních protokolech, jako je **TLS 1.3.** 7. Asymetrická kryptografie =========================== **Analogie:**\ 1. *[Poštovní schránka na klíč (šifrování)]* =\> veřejný klíč umožňuje komukoliv zašifrovat zprávu, ale pouze vlastník soukromého klíče (např. Alice) ji může dešifrovat\ 2. *[Královská pečeť (digitální podpis)]* =\> PK vytvoří podpis, který může kdokoliv ověřit pomocí odpovídajícího veřejného klíče, tím se potvrdí autenticita a původ zprávy. Matematické problémy -------------------- **Základem jsou jednosměrné funkce:** snadno se spočítají, ale jejich inverze je velmi náročná.\ **3 základní problémy:** rozložení velkého čísla na součin prvočísel -- faktorizace (RSA), diskrétní logaritmus\ (Diffie-Hellman, Elgamal, DSA), eliptické křivky EC (ECDH, ECDSA, ECIES, Ed25519, Curve25519) ### 1. Rozložení velkého čísla na součin prvočísel: - **Založená na faktorizaci:** bezpečnost spočívá v obtížnosti rozkladu velkého čísla na prvočísla. - **Digitální podpisy:** zajišťují integritu, neodmítnutelnost a autentizaci. - **Výhody:** prověřená bezpečnost a standardizované implementace (např. PKCS), dvojice klíčů funguje pro šifrování i podpisy - **Nevýhody:** obtížná výměna klíčů (key exchange), dlouhé klíče a podpisy zpomalují výpočty, pomalé dešifrování a podepisování (oproti symetrickým algoritmům), nepodporuje přechodnou výměnu klíčů ### 2. Diskrétní logaritmus: - **Diffie-Hellman:** 2 kryptografové, kteří v roce 1976 vytvořili algoritmus pro bezpečnou výměnu šifrovacího klíče přes nezabezpečený kanál, algoritmus je základem pro moderní protokoly pro šifrování a autentizaci. - **ElGamal:** algoritmus pojmenovaný po Taherovi ElGamalovi, ten v roce 1985 navrhl veřejný klíč pro šifrování a digitální podpisy =\> používán v aplikacích jako *[PGP]* (Pretty Good Privacy) pro šifrování e-mailů - **DSA = Digital Signature Algorithm: s**tandard pro digitální podpisy (z ElGamal Signature), podepisování je rychlejší než u RSA, ale ověřování je pomalejší. - **Nevýhody:** veřejné klíče a šifrový text jsou delší než u RSA, každý podpis vyžaduje náhodné číslo (zranitelné při slabém generátoru), odlišné klíče pro šifrování a podepisování, postupně nahrazováno jinými metodami (v TLS 1.3 chybí, v SSH nepodporováno) ### ![](media/image2.png)3. Eliptické křivky: **EC** = jsou zobecněním diskrétního algoritmu. EC je definována body (x,y), kde:\ v krytpografii je toto doplněno o modulo p:\ EC se dají použít všude, kde lze použít diskrétní logaritmus =\> k výměně klíčů, u digitálních podpisů **[Algoritmy a aplikace:\ ]**- **ECDH (Elliptic Curve Diffie-Hellman):** pro výměnu klíčů s EC, na základě NIST eliptických křivek.\ V nových protokolech (TLS) se používá **ECDHE** (náhodně generovaný klíč), kt, poskytuje bezpečnou výměnu klíčů.\ - **ECDSA (Elliptic Curve Digital Signature Algorithm):** pro digitální podpisy, kde podpis závisí na hashi zprávy.\ Podpisy mohou mít různé délky (256, 384, 521 bitů), nejběžněji používaný algoritmus je ECDSA s SHA256.\ - **Ed25519 (2011):** algoritmus pro digitální podpisy, kt. používá SHA512 a křivku Curve25519.\ Nepoužívá náhodně generovaný nonce, což zjednodušuje implementaci a zvyšuje bezpečnost.\ - **Ed448:** Jako Ed25519, ale používá SHAKE256 (SHA-3) a křivku Curve448, což poskytuje silnější bezpečnost. **[Výhody EC:]** kratší klíče při stejné síle zabezpečení, rychlejší generování klíčů a kratší digitální podpisy, bezpečné proti kvantovým počítačům: potřebují menší počet **qubitů** (na rozdíl od bitu může být 0 i 1 současně) pro prolomení, není rozšířené šifrování (pro šifrování je potřeba jiná dvojice klíčů než pro podepisování) Základní užití asymetrické kryptografie --------------------------------------- **Šifrování:** Umožňuje bezpečné předávání zpráv bez nutnosti předem sdílet klíč. Veřejný klíč použije kdokoliv pro šifrování, ale dešifrovat může jen vlastník privátního klíče. Nevýhoda je pomalost.\ **Digitální podpisy:** Slouží k ověření identity odesílatele a integrity zprávy. Pouze vlastník privátního klíče může podepsat, veřejný klíč umožní komukoliv podpis ověřit.\ **Výměnu klíčů:** Alice a Bob dokážou vytvořit sdílený tajný klíč i přes nezabezpečený kanál pomocí asymetrických algoritmů, např. Diffie-Hellman ### Používané algoritmy a délky klíčů v AK: - **RSA** =\> doporučená minimální délka klíče je 2048 bitů (1024 bitů je málo) - **Diffie-Hellman** =\> minimální délka klíče je 2048 bitů, pro vyšší bezpečnost je ale doporučena 3072+ bitů ### Síla zabezpečení (security strength): - = počet operací nutných k prolomení algoritmu, udává se v bitech entropie =\> 128 bitů znamená 2¹²⁸ možných operací - Závisí na délce klíče a složitosti matematického problému, kt. algoritmus využívá =\> faktorizace u RSA - Delší klíče poskytují vyšší úroveň bezpečnosti, ale i výpočetní nároky. 8. Distribuce klíčů =================== Distibuce klíčů pro symetrickou kryptografii -------------------------------------------- 1\. **Použijte bezpečný kanál:**\ - *[Jiný nezávislý kanál]* =\> poslat heslo k souboru SMSkou, ALE! není vždy zcela bezpečné\ - *[Osobní setkání]* =\> spolehlivé, ale nepraktické pro vzdálené strany\ - *[Existující zašifrovaný kanál]* =\> šifrované spojení navázané asymetrickou kryptografií\ - *[Odvozené z předchozího sdíleného tajemství]* =\> v opakovaném šifrovaném přenosu\ 2. **Přes důvěryhodného prostředníka:**\ - *[Důvěryhodný kurýr]* =\> fyzické předání klíče, například na USB disku\ - *[Key Distribution Center]* (KDC) =\> zprostředkovatel, kt. má zabezpečené spojení se stranami a může klíč přenést\ - *[Kerberos]* =\> protokol pro ověřování a distribuci klíčů v síťových prostředích Hybridní šifrování ------------------ = kombinace symetrické a asymetrické kryptografie\ **Šifrování** - vygeneruje se náhodný tajný klíč (pro symetrickou šifru) =\> zpráva se zašifruje tímto klíčem =\> tajný klíč se zašifruje veřejným klíčem příjemce a připojí ke zprávě\ **Dešifrování** - příjemce dešifruje tajný klíč pomocí svého PK =\> poté tímto klíčem dešifruje samotnou zprávu\ [! Pro každou zprávu se generuje nový náhodný klíč + Pokud je více příjemců, tajný klíč se zašifruje pro každého zvlášť jejich veřejným klíčem !] Dopředná bezpečnost (forward secrecy) ------------------------------------- = princip, kt. zaručuje, že kompromitace dl. klíčů neohrozí dříve přenesená data, ani neumožní jejich dešifrování.\ **Příklad:** Alice a Bob si chtějí povídat šifrovaně. Nejprve se autentizují pomocí svých dlouhodobých klíčů.\ Během rozhovoru použijí náhodně generované krátkodobé klíče, které jsou určeny pouze pro danou relaci.\ Útočník (Mallory) zachytí jejich komunikaci a uloží ji.\ I kdyby Mallory později získal dlouhodobý PK Alice nebo Boba, nebude schopen zpětně odšifrovat zachycenou komunikaci, protože k jejímu šifrování byly použity krátkodobé klíče, které už neexistují.\ **Poznámka:** *[RSA]* výměna klíčů nezajišťuje dopřednou bezpečnost, protože nevyužívá krátkodobé klíče =\> *[ECDHE]* ano ### Výměna klíčů (domlouvání klíčů, key exchange): - Proces domlouvání klíčů umožňuje dvěma stranám vytvořit sdílený tajný klíč, aniž by ho musely přenášet přes nezabezpečený kanál. - **Metody:** použití algoritmů DHE/ECDHE; zprávy jsou při domlouvání klíčů podepisovány dl. klíči (**autentizace**) - **Výhody časté obnovy klíčů:** *[menší škody v případě kompromitace]* (pokud unikne tajný klíč, postihne to pouze aktuální relaci); *[nižší pravděpodobnost úspěšné kryptoanalýzy]* (kratší relace znamenají menší množství šifrového textu, což ztěžuje analýzu a prolomení šifry) Problém distribuce veřejných klíčů ---------------------------------- Distribuce veřejných klíčů je krokem asymetrické kryptografie, ale čelí rizikům, jako je podvržení klíče útočníkem. ### S/MIME (Secure/Multipurpose Internet Mail Extensions): - Používá certifikáty pro šifrování a podepisování e-mailů. - **Certifikát obsahuje:** veřejný klíč a dentifikaci odesílatele (jméno, e-mail) - **Praktické využití:** v podepsaném e-mailu je zahrnut podpis i veřejný klíč =\> umožňuje ověřit integritu zprávy (podobně se využívá u elektronických dokumentů (např. PDF) - **Scénář:** Mallory vygeneruje soukromou certifikační autoritu (self-signed certifikát) a s ní podepíše certifikát s e-mailovou adresou alice\@exaple.com. Odchytí zprávu, upraví a podepíše vytvořeným certifikátem. - **Řešení:** kontrola CRL (Certificate Revocation List) nebo OCSP (Onlin e Certificate Status Protocol) ### Útok typu Man-in-the-Middle (MitM): - = útok, kdy útočník zachytí komunikaci mezi dvěma stranami a může ji manipulovat. - **Může měnit veřejné klíče během jejich výměny**, což mu umožní dešifrovat nebo falšovat zprávy. - **Může změnit DNS (nameserver), a přesměrovat provoz na své zařízení**, a tím získá přístup k citlivým datům. - **Může vytvořit vlastní pár veřejného a soukromého klíče** a poslat svůj veřejný klíč místo originálu, což může vést k bezpečnostním varováním pro klienta. ### PGP (Pretty Good Privacy): - = systém pro šifrování a podepisování zpráv - V podepsaném e-mailu je k dispozici podpis a otisk klíče. - Klíče jsou uloženy na keyserveru, kde každý může nahrát svou veřejnou klíčovou dvojici spolu s identifikací osoby (jménem a e-mailem). - Na keyserveru ale každý může přiřadit libovolné jméno k veřejnému klíči =\> pozor na podvrhy! - **Příklad útoku:** útočník vytvoří vlastní pár klíčů, přiřadí k němu jméno a e-mail někoho jiného (Luboš Pavlíček)\ =\> tento veřejný klíč nahraje na keyserver\ =\> poté pošle e-mail Bobovi, podepíše ho a podvrhne odesílatele (jako Luboš Pavlíček)\ =\> Bob stáhne veřejný klíč z keyserveru, kde je uvedeno \"Luboš Pavlíček pavlicek\@vse.cz\", a e-mail se zdá být autentický, i když není Modely důvěry ------------- = používají k určení, zda veřejný klíč je platný a patří správnému subjektu. Máme 3 hlavní modely: ### 1. Důvěry při/po prvním užití (TOFU -- Trust On First Use): - Tento model se používá například **v SSH** - Při 1. připojení k neznámému serveru se uživatelovi zobrazí veřejný klíč serveru a požádá ho o potvrzení, jakmile uživatel klíč potvrdí, je uložen do databáze důvěryhodných spojení, při následujících připojeních se zkontroluje, zda se klíč nezměnil (pokud ano, systém upozorní uživatele) ### 2. Síť důvěry: - Tento model je vhodný pro situace, kdy je potřeba ověřovat více klíčů (desítky) a není možné setkání s každým uživatelem osobně. - Uživatel může při ověřování klíčů nastavit **různé úrovně důvěry:** *[nevíte]*; *[nedůvěřujete]*; *[částečně důvěřujete]*; *[plně důvěřujete]* - Klíč je považován za **platný, pokud je podepsán někým, komu důvěřujete plně**, nebo **pokud je podepsán dostatečným počtem kvalitních klíčů** (tři, kterým důvěřujete částečně). ### 3. Certifikáty a infrastruktura veřejných klíčů (PKI -- Public Key Infrastracture): - Tento model používá certifikáty, které jsou podepsány certifikačními autoritami (CA). - Certifikáty zajišťují, že veřejný klíč patří konkrétní osobě nebo organizaci. - **PKI =** formalizovaný a hierarchický systém pro správu klíčů a certifikátů, který se běžně používá pro šifrování a autentizaci v různých aplikacích (HTTPS) 9. Certifikáty, infrastruktura veřejných klíčů (PKI) ==================================================== = slouží k ověření identity a zabezpečení komunikace. Struktura certifikátu **obsahuje několik důležitých částí:\ **1. **Identifikační údaje** - informace o subjektu, kterému certifikát patří =\> jméno organizace, e-mailová adresa\ 2. **Platnost certifikátu** - určuje, jak dlouho je certifikát platný =\> začátek a konec platnosti\ 3. **Veřejný klíč** - klíč, který je použit pro šifrování nebo ověřování podpisu\ 4. **Rozšiřující údaje** - například účel certifikátu, jestli je určen pro šifrování e-mailu, webové stránky...\ 5. **Digitální podpis** - certifikační autorita podepisuje celý certifikát svým PK a tím zajišťuje jeho autenticitu **Vydavatel** (Issuer) = CA, která certifikát vydala\ **Předmět** (Subject) = osoba nebo organizace, které certifikát patří\ Certifikát je identifikován pomocí dvojice **Vydavatel** a **Pořadové číslo**\ Certifikáty bývají pravidelně obnovovány před vypršením jejich platnosti, aby zůstaly aktuální a bezpečné.\ =\> v PKI se certifikáty používají pro autentizaci a šifrování, což zajišťuje bezpečnou komunikaci mezi subjekty ### Vydání certifikátu: - **Digitální podpis** = Certifikační autorita (CA) podepíše certifikát svým PK, čímž zaručuje správnost identifikace subjektu a propojení jeho veřejného klíče s identitou. - **Důvěra v CA**: Platnost certifikátu závisí na důvěře v CA. Různé CA mají různé úrovně důvěry a mohou vystavovat certifikáty pro různé účely (např. pro šifrování, podpisy). ### Revokování certifikátu: - **Požadavek na revokaci:** Držitel certifikátu může požádat CA o jeho zrušení, obvykle pokud byl PK kompromitován. Žádost o revokaci je podepsána kompromitovaným privátním klíčem. - CA může certifikát revokovat i z vlastní iniciativy (např. pokud je nalezena chyba nebo zneužití). - CA pravidelně vydává seznam certifikátů, které byly zrušeny (revokovány). - **Pro online ověření, zda je certifikát platný** nebo revokovaný, se používá **protokol OCSP** ### Ověřování platnosti certifikátů: **[Osobní certifikáty:\ ]**- **VPN přihlášení** =\> VPN server pravidelně stahuje seznam revokovaných certifikátů (CRL), pro ověření platnosti\ - **Podepsané e-maily** =\> e-mailový klient pravidelně stahuje CRL, aby zajistil, že certifikát odesílatele není revokován.\ - **Podpisy dokumentů** =\> Acrobat Reader pro PDF stahuje CRL k ověření platnosti certifikátu pro podpis dokumentu.\ - **Po skončení platnosti certifikátu** =\> CA obvykle neuvádí revokaci po vypršení platnosti certifikátu. Certifikát může být přesto revokován v předchozím období, což je součástí podpisu. **[Webové servery:]**\ - **Ověření platnosti serverového certifikátu** =\> např. pro server insis.vse.cz prohlížeče běžně neprovádějí zjištění, zda byl certifikát serveru odvolán, protože by to zpomalilo proces.\ - **OCSP stapling** = technologie, kt. umožňuje serveru poskytnout certifikátu OCSP odpověď, kterou podepíše certifikační autorita (CA). Tato odpověď je platná obvykle po dobu jednoho týdne a zkracuje dobu potřebnou pro ověření stavu certifikátu. ### Důvěryhodné CA: - Prohlížeče a OS obsahují seznam CA, kterým důvěřují (zahrnuje CA, jejichž certifikáty jsou předinstalovány a považovány za důvěryhodné). - **Nalezení nadřízeného certifikátu:** při ověřování certifikátu se zkontroluje, zda existuje nadřízený certifikát, kt. potvrzuje platnost certifikátu (tj. certifikát byl podepsán důvěryhodnou CA). - **Kontrola integrity certifikátu:** ujistěte se, že certifikát nebyl po vydání změněn (kontrola digitálního podpisu certifikátu, který potvrzuje jeho integritu). - **Certifikát není revokován:** zajištění, že certifikát nebyl zneplatněn nebo odvolán (pomocí **CRL** = seznam revokovaných certifikátů / nebo **OCSP** = protokol pro online ověření stavu certifikátu). - **Důvěryhodné kotvy =** kotvy jsou kořenové CA, kt. jsou považovány za důvěryhodné a jsou začleněny v prohlížečích a OS jako základ pro ověření dalších certifikátů. - **Kontrola užití certifikátu:** certifikáty mají určené specifické účely (pro šifrování, podpisy, autentifikaci)\ =\> při ověřování certifikátu se zkontroluje, zda je certifikát použit v souladu s jeho určením ### Certifikáty na VŠE: - **Self-signed certifikáty** = certifikáty, kt. jsou podepsány samotnou organizací (VŠE), ne CA.\ =\> tento typ certifikátu může být použit pro interní účely, ale není považován za důvěryhodný pro širší veřejnost, protože není podepsán známou CA. - **Webové servery UserTrust (Sectigo), Let's Encrypt:**\ 1. *[UserTrust (Sectigo)]* = komerční CA, poskytuje certifikáty pro webové servery 2\. *[Let's Encrypt]* = bezplatná CA, poskytuje certifikáty pro šifrování komunikace na webových stránkách (oblíbená pro automatizaci procesu získání certifikátu a jeho obnovování) - **Osobní certifikáty =\> TERENA CA (přes CESNET):\ **1. *[TERENA CA]* = CA, poskytuje certifikáty pro akademické a výzkumné instituce v Evropě, včetně ČR 2\. *[CESNET]* = organizace, poskytuje infrastrukturu pro správu certifikátů, včetně os. certifikátů pro studenty, zaměstnance a akademiky VŠE - **Interní CA a kvalifikované certifikáty**:\ 1. *[Interní CA]* = CA spravována přímo institucí (VŠE), kt. vydává certifikáty pro interní použití, jako jsou šifrované e-maily nebo VPN připojení 2\. *[Kvalifikované certifikáty]* = certifikáty, kt. splňují přísné požadavky stanovené zákonem, a jsou využívány pro elektronický podpis a autentifikaci s právními důsledky 10. eIDAS a elektronické podpisy, časové značky =============================================== **eIDAS** = nařízení EU, kt. upravuje, jak používat el. podpisy, certifikáty a časová razítka, aby byly bezpečné, důvěryhodné a uznávané v celé EU. Díky tomu můžeme ověřit digitální dokumenty a zajišťovat, že nebyly změněny nebo zfalšovány. eIDAS a typy elektronických podpisů ----------------------------------- eIDAS definuje různé typy elektronických podpisů podle úrovně jejich důvěryhodnosti a právního účinku. ![](media/image4.png)1. **[Kvalifikovaný elektronický podpis:]**\ - Nejvyšší úroveň důvěry\ - Právně je rovnocenný vlastnoručnímu podpisu ve všech zemích EU\ - Umožňuje jednoznačnou identifikaci osoby\ - Stačí jediný podpis k ověření, není třeba dalších důkazů\ 2. **[Uznávaný elektronický podpis:]**\ - Právní účinek rovnocenný vlastnoručnímu podpisu, ale méně spolehlivý\ - Riziko kompromitace PK\ - Použití je problematické mimo ČR, protože není vždy uznáván na úrovni EU\ 3. **[Zaručený elektronický podpis:]**\ - Spojuje podpis s identitou osoby, ale není rovnocenný vlastnoručnímu podpisu při komunikaci se státem\ - V soudních sporech záleží na kvalitě ověření poskytovatelem certifikátu (CA)\ - Důvěryhodnost podpisu se posuzuje podle pravidel konkrétní CA a dalších faktorů =\> **Kvalifikovaný podpis** vyžaduje použití kvalifikovaného certifikátu a speciálního bezpečného zařízení (tokenu)\ =\> **Zaručený podpis** je nižší úroveň, ale může být praktický tam, kde není potřeba plná právní jistota. ### Kvalifikovaný certifikát: - Vydává jej kvalifikovaná certifikační autorita (CA), které důvěřuje stát nebo Evropská unie. - Stát garantuje, že údaje uvedené v certifikátu jsou pravdivé. - Certifikát slouží ke spojení veřejného klíče s konkrétní osobou nebo organizací, přičemž ověřuje identitu subjektu na vysoké úrovni důvěry. ### Kvalifikovaný prostředek: - Zařízení nebo software, který bezpečně ukládá privátní klíč pro kvalifikovaný elektronický podpis. - Privátní klíč nelze z prostředku extrahovat (je chráněn proti neoprávněnému přístupu). - Prostředek musí projít přísnou EU certifikací, která ověřuje jeho bezpečnost. - Typickými příklady jsou USB tokeny, čipové karty nebo zabezpečené SW řešení splňující specifické normy. ### Kvalifikovaná pečeť: - Po technické stránce funguje jako el. podpisy a zahrnuje typy kvalifikované, uznávané a zaručené pečeti - Certifikát, který slouží pro pečeť, obsahuje jméno organizace a to odlišuje pečeť od osobního el. podpisu - Pečeť má jiné právní důsledky než el. podpis -- slouží jako \"digitální razítko\" pro organizace, které potvrzují pravost dokumentů nebo úkonů **[Příklady použití kvalifikované/uznávané pečeti:\ ]Potvrzení o studiu** -- ověřené organizací, která potvrzuje, že daný student je zapsán ke studiu**[\ ]Potvrzení o zahájení správního řízení** -- např. při podání přihlášky ke studiu je tímto dokumentem potvrzeno přijetí **[\ ]Duplikát diplomu** -- organizace ověřuje pravost duplikátu dokumentu Časové značky (časová razítka) a jejich význam ---------------------------------------------- **Časové značky slouží k ověření, že:\ **1. *[Digitální údaje existovaly v konkrétním čase]* -- poskytují důkaz, že určitý dokument nebo data byla vytvořena nebo existovala v určitém okamžiku**\ **2. *[Nedošlo k žádné změně od daného času]* -- zajišťují integritu dat, což je klíčové pro právní i archivní účely **Jak fungují:\ ***[Autorita pro vydávání časových značek (TSA) přidá k digitálnímu otisku dokumentu:]*\ čas, kdy byla značka vystavena, pořadové číslo + celý výsledek digitálně podepíše a zajistí jeho autenticitu a nezměnitelnost ### Problémy, které časová razítka řeší: 1\. **Digitální kontinuita:** - Po skončení platnosti certifikátu již certifikační autority (CA) neudržují informace o jeho odvolání. - Pokud vyprší platnost kořenové CA/dojde k technolog. pokroku, data mohou být považována za nedůvěryhodná. - Řešením je pravidelné přidávání časových razítek/uložení dokumentu do archivu, kt. garantuje jeho integritu - Pro organizace tuto funkci často zajišťuje spisová služba, kterou mohou provozovat i školy 2\. **Integrita:** Zajišťuje, že dokument nebyl od vytvoření změněn.\ 3. **Ověření času:** Dokument je opatřen důkazem o svém časovém vzniku (klíčové u smluv a právních dokumentů) 11. Identita a identifikace =========================== **[Identifikace]** = Proces, kdy entita (např. osoba, zařízení) předkládá systému identifikátor.\ **Identifikátor** = unikátní údaj, který umožňuje systému entitu rozeznat a odlišit ji od ostatních =\> uživatelské jméno, číslo karty, ID číslo\ **[Autentizace]** = Proces, kdy systém ověřuje, zda entita, kt. předložila identifikátor, je skutečně tím, za koho se vydává.\ Používá se **verifikátor** = důkaz totožnosti =\> heslo, PIN, otisk prstu, SSH klíč\ **Rozdíl mezi identifikací a autentizací:**\ *[Identifikace:]* \"Kdo jsi?\" (předložení identifikátoru) **x** *[Autentizace:]* \"Dokaž to!\" (ověření pomocí verifikátoru) Identita -------- ### Fyzická identita: - Každá fyzická osoba existuje pouze jednou a má jedinečnou fyzickou identitu. - Informace o této osobě mohou být uloženy v různých elektronických evidencích nebo databázích. ### Elektronická identita: - **Právní i technický pojem:** Elektronická identita odkazuje na digitální reprezentaci fyzické osoby. - K jedné FI může být přidruženo více EI (např. různé uživatelské účty v různých systémech). - **Uživatelský účet:** reprezentuje elektronickou identitu\ =\> slouží k přihlašování do systému a poskytuje možnost využívat konkrétní služby (např. přístup k emailu) Ztotožnění ---------- Proce ztotožení je postup, který zahranuje následující kroky: ### 1. Rozlišení: - **Cíl:** Shromáždění údajů od zájemce za účelem jeho odlišení od ostatních. - Typicky zahrnuje zadání osobních údajů, jako je jméno, příjmení nebo další identifikátory. ### 2. Validace: - **Cíl:** Ověření správnosti vložených údajů. - **Příklady:** odeslání SMS kódu na registrované telefonní číslo, doložení jiného dokladu (občanského průkazu) ### 3. Verifikace: - **Cíl:** Potvrzení, že osoba je fyzicky přítomná a odpovídá zadaným údajům. - **Příklady:** kontrola aktuální fotografie, osobní přítomnost nebo použití živého ověření (biometrické záznamy) Přiřazení identifikátoru a verifikátoru --------------------------------------- ### Kvalita ověření totožnosti: - Kvalita ověření se určuje na základě úrovně důkazů a postupů použitých při ověřování identity: 1\. **Weak (slabá kvalita)** =\> vydávající organizace neověřuje identitu žadatele, doklad obsahuje jedinečný identifikátor nebo fotografii, nízká úroveň důvěry v identifikaci\ 2. **Fair (střední kvalita)** =\> doklad je vydán pouze žadateli, kterému právně náleží, doklad obsahuje jedinečný identifikátor nebo fotografii, doklad je platný (neexpiroval)\ 3. **Strong (vysoká kvalita)** =\> doklad je vydán na základě písemně stanovené procedury, vydávající organizace garantuje správnost jména a příjmení, obsahuje jedinečný identifikátor a fotografii, nebo žadatel prokáže svoji identitu znalostí bezpečné autentizace (AAL2), doklad je platný\ 4. **Superior (nejvyšší kvalita)** =\> obsahuje všechny náležitosti z strong úrovně a dále: doklad je vydán státní institucí, obsahuje fotografii a biometrické údaje - **[Identity Assurance Level (IAL)]** = standardy pro určení úrovně důvěry v ověření identity: 1\. **IAL1** =\> Neprobíhá validace ani verifikace identity.\ 2. **IAL2** =\> **identita je ověřena jednou z následujících metod:** 1 doklad strong a 2 doklady fair /\ 2 doklady strong / 1 doklad strong/superior a ověření platnosti údajů u vydávajícího (ověření může probíhat prezenčně nebo vzdáleně)\ 3. **IAL3** =\> **identita je ověřena jednou z následujících metod:** 2 doklady superior / 2 doklady strong a 1 doklad fair / 1 doklad superior a 1 doklad strong + údaje jsou ověřeny u vydávajícího\ (žadatel musí být fyzicky přítomen, pořizuje se fotografický záznam přítomnosti žadatele) ### Verifikátory: - **Memorized Secrets** (zapamatovaná tajemství) = hesla nebo PINy - **Look-up Secrets** (jednorázové záložní kódy) = kódy obvykle při založení účtu jako záložní metoda ověření - **Out-of-Band Devices** = druhý komunikační kanál, např. zaslání SMS na registrované telefonní číslo Elektronická identita dle eIDAS ------------------------------- **EI** dle nařízení **eIDAS** (electronic IDentification, Authentication, and trust Services) = nástroj, kt. umožňuje jednotlivcům i organizacím bezpečně ověřovat svou totožnost v digitálním prostředí.\ **Cíl:** vytvořit důvěryhodný a interoperabilní rámec v celé EU, aby byla autentizace uznávána mezi státy EU.\ **Podpora přeshraničního využívání online služeb** =\> přístup k veřejné správě, bank. službám, zdravotn. systémům... ### Úroveň záruky elektronické identity: EI musí splňovat 1 ze 3 úrovní záruky (**Level of Assurance, LoA**) =\> určují míru spolehlivosti ověřené totožnosti osoby: 1. **Nízká úroveň (Low)** - poskytuje základní jistotu, že osoba je, kým tvrdí - například při vytváření účtu na platformě, která nevyžaduje fyzickou kontrolu nebo ověření dokladu. 2. **Značná úroveň (Substantial)** - nabízí vyšší míru jistoty díky pokročilým postupům ověření totožnosti - využívá kombinace dokladů, validace údajů a spolehlivých autentizačních metod 3. **Vysoká úroveň (High) -** poskytuje maximální míru důvěry díky přísným kontrolám identity (s fyzickou přítomností žadatele a použitím biometrických údajů) =\> vhodná pro služby vyžadující nejvyšší úroveň bezpečnosti (vládní portály, zdravotní záznamy...) ### Aplikace úrovní záruky: Úrovně záruky jsou požadovány ve všech klíčových procesech spojených s elektronickou identitou: 1. **Vydání elektronické identity (registrace) - z**ahrnuje získání atributů uživatele (jméno, datum narození)\ a předání verifikátoru (hesla, elektronického certifikátu) 2. **Použití elektronické identity (autentizace) - o**věření totožnosti uživatele při přihlašování k digitální službě 3. **Revokace a vydání nového verifikátoru - p**roces zrušení stávajícího autentizačního prostředku\ (např. při ztrátě hesla) a vydání nového za přísně kontrolovaných podmínek **[Požadavky na služby:\ ]**Každá digitální služba v rámci EU musí deklarovat, jakou úroveň záruky elektronické identity požaduje.**[\ ]Například:** přihlášení k univerzitnímu systému může vyžadovat značnou úroveň, přístup do státního registru může požadovat vysokou úroveň 12. Hesla ========= **Přihlašování heslem** - hesla jsou nejběžnějším způsobem autentizace uživatelů do různých systémů, webových služeb a aplikací. Přestože se jedná o velmi rozšířený a známý mechanismus, který je nejjednodušší na impementaci, je zároveň nejméně bezpečný. Pravidla pro správu hesel podle National Cyber Security Centre (NCSC) --------------------------------------------------------------------- ### 1. Omezit používání hesel: - **Proč?** =\> hesla jsou považována za slabý verifikátor, a proto by měla být jejich role v autentizačních procesech minimalizována - **Alternativy:** *[Single Sign-On]* = 1 přihlášení k více aplikacím s vyšší úrovní zabezpečení / *[používání klíčů]* = využití asymetrických klíčů (např. SSH klíče) / *HW zařízení* = bezpečnostní tokeny / *[vícefaktorová autentizace (MFA)]* = kombinace hesel s OTP, biometrie nebo bezpečnostními tokeny ### 2. Chránit hesla uživatelů: - **Bezpečné ukládání hesel** = používat moderní hašovací algoritmy, jako jsou PBKDF2, Argon2, nebo Bcrypt, s dostatečným počtem iterací a unikátním saltem. - **Bezpečný přenos hesel** = vždy používat HTTPS nebo jiný šifrovaný kanál pro přenos hesel - **Speciální požadavky na administrátory** = admin účty vyžadují vyšší úroveň zabezpečení (povinná MFA) - **Změna defaultních hesel** = po instalaci SW je nutné změnit výchozí hesla, kt. mohou být snadno zneužitelná ### 3. Školit uživatele: - **Upozorňovat na rizika** = vysvětlit uživatelům nebezpečí používání stejného hesla na více místech - **Prioritizace účtů** = uživatelé by měli rozumět, že různé účty (bankovní, pracovní, sociální sítě) mají různou hodnotu a vyžadují odpovídající zabezpečení - **Podpora správců hesel** = doporučit uživatelům použití správců hesel k ukládání unikátních a složitých hesel ### 4. Technická opatření: - **Omezení pokusů o přihlášení** = nastavit limity pro neúspěšné pokusy o přihlášení, aby se zamezilo útokům hrubou silou - **Monitoring přihlašování** = sledovat anomálie v přihlašování (přihlášení z neobvyklé lokace nebo IP adresy) ### 5. Pomáhat uživatelům vytvářet hesla: - **Snížení nároků na hesla** = nevyžadovat zbytečně složitá hesla (povinné speciální znaky =\> vede k frustraci uživatelů a slabým heslům) - **Prevence slabých hesel** = používat databáze známých slabých hesel (zxcvbn, HaveIBeenPwned) a zakázat jejich použití - **Generování hesel** = podporovat používání generátorů hesel (např. ze správců hesel) - **Žádné omezení** = neomezovat uživatele na určité znakové sady nebo maximální délku hesel ### 6. Nepřetěžovat uživatele hesly: - **Podpora správců hesel** = umožnit a doporučit ukládání hesel ve správcích, aby si uživatelé nemuseli hesla pamatovat - **Expirace hesel** = hesla nevyžadovat měnit preventivně, ale jen v případě bezpečnostní události\ (při kompromitaci účtu) - **Delegování práv** = podporovat správu přístupu přes delegování práv, nikoliv sdílení hesel Útoky na hesla -------------- 1. **[Útočník zkouší hesla]** (útok hrubou silou nebo slovníkový útok)\ =\> útočník systematicky testuje kombinace, často na základě seznamů běžných hesel nebo odvozených údajů\ **Opatření:** *[jedinečná hesla]* (unikátní, nelze snadno odvodit), *[omezení pokusů]* (prodleva mezi pokusy, zamknout účet), *[vícefaktorová autentizace]* (kombinace hesla s jiným faktorem, např. biometrií) 2. **[Útočník odchytává nebo upravuje síťový provoz]** (Man-in-the-Middle - MitM)\ =\> útočník zachycuje přenášené údaje mezi klientem a serverem, pro přístup k heslům nebo citlivým datům\ **Opatření:** *[šifrování přenosu]* (hesla přenášet pouze prostřednictvím zabezpečených kanálů -- TLS), *[zabezpečení na 2. vrstvě OSI modelu]* (používat protokoly, které brání ARP spoofingu) 3. **[Útočník získá uložená hesla]** =\> útočník se dostane k uloženým heslům na serveru nebo v jiném úložišti\ **Opatření:** hašování hesel, prevence slabých hesel (zákaz běžně používaných) 4. **[Útočník napadne aplikaci\ ]**=\> útočník využije zranitelnosti v aplikaci nebo serveru, aby získal přístup k heslům nebo účtům\ **Opatření:** *[zabezpečení serveru]* (kontrolovat kdo má přístup, pomocí VPN, SSH klíčů), *[testování aplikace]* (provádět pravidelné penetrační testy, SQL injection), *[bezpečná distribuce]* (ověřovat integritu distribuovaných aplikací), *[logování a analýza]* (monitorovat logy pro odhalení podezřelých aktivit) 5. **[Útočník napadne webový prohlížeč]**\ =\> útočník může využít zranitelnosti v prohlížeči nebo v samotném operačním systému\ **Opatření:** *[zabezpečení koncové stanice]* (hesla pro přístup k OS, antivirové programy), *[aktualizace]* (pravidelně aktualizovat OS), *[školení uživatelů]* (vzdělávat uživatele o rizicích stahování neověřeného softwaru) 6. **[Útočník ovlivní uživatele (sociální inženýrství, phishing)\ ]**=\> útočník přesvědčí uživatele, aby mu dobrovolně sdělil své heslo (např. přes falešné weby nebo e-maily)\ **Opatření:** *[školení uživatelů]*, *[vícefaktorová autentizace]*, *[bezpečnostní testování]* (simulace phishingových útoků), *[monitorování aktivit]*, *[notifikace]* (upozorňování uživatelů na podezřelé aktivity na jejich účtech) Vektory útoku na hesla pro webovou aplikace (např. InSIS) --------------------------------------------------------- ### Phishing: - Útočník vytvoří falešnou webovou stránku, která napodobuje legitimní přihlašovací rozhraní aplikace (např. InSIS), aby přiměl uživatele zadat své přihlašovací údaje. - **Mechanismy:** rozesílání podvodných e-mailů s odkazem na falešnou stránku, využití zkrácených URL adres, které zakryjí skutečnou cílovou doménu, tvrzení o naléhavé situaci - **Doporučená opatření:** uživatelé =\> kontrolovat URL adresu před přihlášením, nepřihlašovat se přes odkazy z e-mailů, aktivovat vícefaktorovou autentizaci / správci =\> varovat uživatele před phishingovými útoky pravidelným školením, zajištění HTTPS certifikátů a jejich správné nasazení ### Sociální inženýrství: - Útočník manipuluje uživatele, aby dobrovolně sdělil své heslo nebo jiné citlivé informace. - **Mechanismy:** předstírání, že je IT podpora nebo administrátor systému, tvorba falešného naléhavého scénáře, získání důvěry uživatele přes telefon nebo e-mail - **Doporučená opatření:** uživatelé =\> nesdělovat heslo jiné osobě, ověřovat pravost požadavků, nesdílet osobní informace na veřejných fórech či sociálních sítích / správci =\> informovat uživatele, že nikdy nebudou vyžadovat sdílení hesel, provádět simulované útoky (testování uživatelů), monitorovat neobvyklé aktivity¨ Správce hesel ------------- **Správce hesel** = nástroj, který bezpečně ukládá, spravuje a generuje hesla pro různé účty. Použití správce hesel zlepšuje bezpečnost tím, že uživatelům umožňuje používat jedinečná a silná hesla, aniž by si je museli pamatovat. ### Vlastnosti: 1. **Bezpečné ukládání hesel** -- použití šifrování (AES-256) pro ochranu uložených hesel, lokální nebo cloudové úložiště hesel 2. **Generování silných hesel** -- automatické generování náhodných a komplexních hesel, nastavení pravidel pro délku a složitost hesel 3. **Synchronizace napříč zařízeními** -- schopnost synchronizovat hesla mezi více zařízeními (např. telefonem) 4. **Podporova vícefaktorové autentizace** -- vyžaduje 2faktorovou autentizaci při přístupu ke správci hesel 5. **Upozornění na kompromitovaná hesla** -- monitoruje databáze uniklých údajů a upozorňuje uživatele na hesla, která by mohla být ohrožena 6. **Přístup přes hlavní heslo** -- jediné heslo slouží jako přístupový bod ke všem uloženým heslům\ =\> hlavní heslo by mělo být jedinečné, silné a nemělo by být nikde uloženo 7. **Automatické doplňování hesel** -- umožňuje automatické vyplňování přihlašovacích údajů na legitimních webových stránkách a v aplikacích 8. **Podpora různých platforem a prohlížečů** -- kompatibilita s OS a běžnými prohlížeči ### Jak správce hesel používat: 1. **Vytvoření silného hlavního hesla** - zvolte jedinečné, dlouhé a složité heslo, které není použito nikde jinde, hlavní heslo nesdělujte nikomu a nezapisujte na nezabezpečená místa 2. **Ukládání hesel** - ukládejte všechna hesla ke svým účtům ve správci hesel, pro každý účet generujte unikátní heslo pomocí správce 3. **Pravidelná kontrola databáze hesel** - průběžně kontrolujte, zda nejsou uložená hesla kompromitována 4. **Aktivace vícefaktorové autentizace** - aktivujte MFA pro přístup k správci hesel a důležitým účtům 5. **Zálohování** - pravidelně zálohujte databázi hesel na bezpečné místo ### Proti kterým útokům správce hesel pomáhá: - **Phishing** =\> automatické doplňování přihlašovacích údajů funguje pouze na legitimních stránkách, čímž zabraňuje zadání hesel na falešných stránkách - **Útočník zkouší hesla** (brute-force a credential stuffing) =\> generování a používání silných, unikátních hesel minimalizuje úspěšnost útoků - **Útoky na opakované používání hesel** =\> eliminuje potřebu používat stejné heslo pro více služeb - **Lidská chyba** =\> uživatelé si nemusí pamatovat složitá hesla, snižuje riziko, že je sdělí třetí straně pod tlakem 13. Vícefaktorová autentizace ============================= **Autentizace** = proces ověřování identity uživatele při přístupu k systému nebo službě.\ Zajišťuje, že osoba či zařízení, které se snaží získat přístup, je tím, za koho se vydává.\ **Dvoufaktorová autentizace** = použití dvou různých faktorů autentizace k ověření identity, faktory zahrnují:\ =\> Něco, *[co uživatel zná]* (např. heslo, PIN)\ =\> Něco, *[co uživatel má]* (např. hardwarový klíč, mobilní zařízení)\ =\> Něco, *[co uživatel je]* (biometrie, např. otisk prstu, rozpoznání obličeje) **Dvoufázová autentizace** = postupné použití 2 kroků v rámci autentizace, kde každý krok ověřuje uživatele jinak\ (oba kroky mohou být ze stejného faktoru, což ji odlišuje od 2FA)\ =\> Uživatel zadá heslo a následně opíše jednorázový kód (OTP) zaslaný SMS zprávou/vygenerovaný aplikací\ =\> U 2SV může být použito heslo a kód z mobilu, což spadá pod stejný faktor (něco, co uživatel zná),\ u 2FA se vyžadují dva různé faktory **Passwordless autentizace** = autentizace, kde není vyžadováno zadávání hesla jako prvního faktoru.\ Nahrazuje hesla alternativními způsoby ověření, které jsou pohodlnější a často bezpečnější.\ =\> *[Biometrie]* -- přihlášení pomocí otisku prstu, *[HW klíče]* -- připojení zařízení jako YubiKey, *[kódy z mobilní aplikace\ ]*=\> Odstranění rizik spojených s hesly, jako je phishing nebo útoky na opakované používání hesel.\ =\> Zjednodušení procesu přihlášení pro uživatele. Autentizace -- faktory ---------------------- Autentizace využívá různé faktory k ověření identity uživatele. Tyto faktory lze rozdělit do **tří hlavních kategorií:** 1. **Něco, co vím (Co si pamatuji)** - závisí na **znalosti** uživatele\ =\> heslo, PIN, nakreslení gesta, obrázkové geslo, bezpečnostní otázky\ =\> Výhody: jednoduché na použití\ =\> Nevýhody: snadno prolomitelné, náchylné k phishingu 2. **Něco, co mám** - závisí na **fyzickém vlastnictví** uživatele\ =\> platební karta, mobilní telefon, osobní doklady, HW klíče\ =\> Výhody: vyžaduje fyzický přístup, což komplikuje útoky\ =\> Nevýhody: lze zcizit nebo ztratit 3. **Něco, co jsem (Biometrie)** - závisí na biometrických charakteristikách uživatele\ =\> otisk prstu, rozpoznání obličeje, rozpoznání hlasu =\> Výhody: nelze zapomenout, uživatel nemusí nic nosit ani si nic pamatovat\ =\> Nevýhody: nelze měnit při kompromitaci, možnost vytvoření kopie, použití pouze jako druhý faktor\ (Kvůli riziku kompromitace by biometrie neměla být samostatným faktorem autentizace.) Metody vícefaktorové autentizace a jejich srovnání dle úrovně zabezpečení ------------------------------------------------------------------------- ### Password-less autentizace: - Uživateli není zadáváno heslo. Přihlášení probíhá prostřednictvím jiného ověřovacího prostředku, jako jsou biometrie, autentizační aplikace nebo hardwarový klíč. - **Výhody:** eliminace rizik spojených s hesly (phishing), uživatelsky přívětivé (žádné nároky na paměť) - **Nevýhody:** vyšší závislost na zařízení/biometrických údajích ### TOTP (Time-based One-Time Password): - Algoritmus generující jednorázová hesla na základě aktuálního času.\ =\> kód je generován v aplikaci, jeho platnost je typicky 30 sekund - **Výhody:** offline funkčnost, mimořádně obtížné prolomit útoky hrubou silou díky krátké platnosti kódu - **Nevýhody:** kompromitace zařízení, nižší uživatelská přívětivost (ruční zadání kódu) ### SMS nebo e-mailové OTP: - Uživatel obdrží jednorázový kód prostřednictvím SMS nebo e-mailu, který zadá během přihlašování. - **Výhody:** široká dostupnost - **Nevýhody:** zranitelné vůči útokům (**SIM swapping** = utočník získá přístup k SMS, e-mail hacking), závisí na mobilní síti nebo připojení k internetu ### Hardwarové tokeny: - Fyzická zařízení generující jednorázové kódy nebo uchovávající autentizační klíče. - Zařízení je chráněno PINem/fyzickou přítomností, mohou generovat OTP nebo fungovat jako FIDO2 klíče - **Výhody:** vysoce bezpečné (nelze snadno zkopírovat nebo ukrást na dálku), není závislé na internetu. - **Nevýhody:** nákladné na pořízení a správu, možnost ztráty nebo odcizení ### Biometrie: - Použití fyzických charakteristik uživatele (např. otisk prstu, rozpoznání obličeje, sken sítnice). - **Výhody:** pohodlné pro uživatele, nelze zapomenout nebo ztratit - **Nevýhody:** nelze měnit při kompromitaci, riziko falešných pozitiv Autentizace veřejným klíčem --------------------------- Použití veřejného a soukromého klíče je jednou z nejbezpečnějších metod autentizace.\ **Založená na asymetrickém šifrování**, tato metoda zajišťuje, že **soukromý klíč zůstává u uživatele a veřejný klíč je uložen na serveru** nebo u poskytovatele služby. ### SSH (Secure Shell): - Používá klíčový pár (veřejný a soukromý klíč) pro ověření identity uživatele při přístupu k serveru. - **Proces:** uživatel generuje klíčový pár pomocí nástroje jako ssh-keygen =\> VK je uložen na serveru v souboru \~/.ssh/authorized\_keys =\> PK zůstává uložen na uživatelském zařízení =\> při přihlášení server ověřuje, zda VK odpovídá PK uživatele ### WebAuthn / FIDO2 / Passkey: - Moderní standard pro bezheslovou autentizaci. Využívá asymetrické šifrování, biometrii a bezpečnostní klíče. - FIDO2 je specifikace organizace FIDO Alliance, zahrnující protokoly WebAuthn (prohlížečová implementace) a CTAP (Client to Authenticator Protocol). **[FIDO2\ Passkey:]**\ - Pro každou identitu (aplikaci) je generován PK.\ - Uživatelské jméno není potřeba -- identifikace probíhá na základě přidruženého klíče.\ - Ověření může zahrnovat biometrické údaje (otisk prstu, obličej) nebo PIN.\ **[Druhý faktor:]**\ - Potvrzení fyzické přítomnosti (např. dotykem bezpečnostního klíče).\ - Společný klíč může být použit pro více identit.\ **[Autentizátor:]**\ - **Externí** =\> USB tokeny (YubiKey), mobilní telefon, chytré hodinky, komunikace probíhá pomocí protokolu CTAP (USB, NFC, Bluetooth)\ - **Integrované** =\> bezpečné úložiště v telefonu (Apple Secure Enclave, Android TrustZone) ### Autentizační certifikát: - Použití digitálního certifikátu vydaného certifikační autoritou (CA) k ověření identity uživatele. - PK odpovídající certifikátu zůstává bezpečně uložen u uživatele. - **Certifikáty mohou být uloženy:** *[v OS]* (Windows Certificate Store), *[v HW zabezpečení]* (TPM - Trusted Platform Module, nebo HSM - Hardware Security Module) **SROVNÁNÍ DLE ÚROVNĚ ZABEZPEČENÍ:\ **Hesla =\> SMS OTP =\> TOTP =\> Biometrie =\> Veřejný klíč (FIDO2) =\> HW token 14. Logování ============ **Logování** = proces zaznamenávání činností a událostí v aplikaci nebo systému. Logy slouží jako klíčový nástroj pro správu, ladění a zabezpečení.\ **Log** = textový nebo binární záznam událostí, akcí nebo stavů systému, aplikace nebo zařízení.\ Obsahuje informace, které lze využít pro analýzu, diagnostiku nebo monitorování. ### Cíle logování: - **Záznamy o využití aplikace:** sledování, jak je aplikace používána (např. počet přihlášení, typy operací) - **Auditování operací a uživatelů:** sledování změn, přístupů a akcí provedených uživateli nebo systémem\ (např. změny v databázi), umožňuje zpětné dohledání událostí. - **Vývoj (ladění) aplikace, analýza chyb:** pomoc při vývoji a testování aplikací, zaznamenávání výjimek a chyb - **Obnova po pádu/chybě:** *[transakční logy]* = umožňují obnovu databází nebo jiných systémů po selhání Způsoby logování ---------------- **Na chybový výstup (STDERR) =** jednoduchý způsob, kdy jsou logy vypisovány do standardního chybového výstupu.**\ **=\> výhodné při ladění aplikací v reálném čase, nevhodné pro dlouhodobé ukládání\ **Do souboru** = logy jsou ukládány do lokálního nebo vzdáleného souboru, snadné archivování a analýza.\ =\> **příklady:** rotace logů (automatické přejmenování a uložení starších logů), formáty (textové nebo binární)\ **Přes log protokol (přes log API)** = záznamy jsou odesílány do centralizovaného systému pro zpracování logů\ =\> umožňuje agregaci, filtrování a analýzu logů v reálném čase. **Sondy** = pravidelné dotazování stavu procesů nebo operačního systému.\ =\> používá se například pro monitoring výkonu a dostupnosti, vhodné pro prostředí s více servery a aplikacemi\ **Hardwarové sondy** (**senzory, dataloggery**) = monitorují prostředí nebo specifické parametry (teplotu, vlhkost...)\ =\> typické využití - IoT zařízení, průmyslové a vědecké aplikace, meteorologická a provozní měření Protokoly --------- Některé aplikace zapisují přímo (apache, apt) -- obvykle podadresář x některé přes system logger (syslog) ### Aplikace, které zapisují přímo do souborů: - například **Apache** - Logy jsou obvykle ukládány do specifických podadresářů, např.:/var/log/apache2/ pro Apache. ### Systémové logování přes Syslog: - Syslog může znamenat: **službu** (daemon) x **protokol** - **Služba** =\> rsyslogd, příjem a zpracování logů prostřednictvím funkcí v knihovně glibc nebo přes socket /dev/log, logy mohou být ukládány do lokálních souborů nebo posílány přes síť - **Protokol** =\> standardizovaný způsob přenosu logů po síti, typické porty - **514/UDP** -- nešifrovaný přenos / **514/TCP**, **6514/TLS** -- šifrované přenosy **[Formát záznamů v Syslogu:]**\ 1. **Timestamp** - obsahuje čas události (formáty se mohou lišit)\ 2. **Hostname** - jméno hostitelského stroje (může být vynecháno pro lokální zprávy)\ 3. **Priorita** - kombinace zdroje (facility) a úrovně (severity)\ 4. **App-name** - název aplikace (často obsahuje i PID -- identifikátor procesu)\ 5. **Msg** - hlavní text zprávy (max. 2048 bajtů, UTF-8) ### Logování na úrovni jádra operačního systému (Kernel): - **Kernel log buffer** - Součást jádra, záznamy dostupné přes /proc/kmsg - Čteny pomocí nástrojů jako dmesg nebo předávány do Syslogu - Nezávislé na službách, umožňuje logování i během startu systému ### Systemd a Journal log: Journal log je moderní přístup ke správě logů, který **přináší několik vylepšení:** 1. **Ukládání logů:** do paměti (/run/log/journal) nebo na disk (/var/log/journal) 2. **Strukturované zprávy**: podpora indexování a rychlejšího vyhledávání 3. **Délka zpráv:** podporuje delší zprávy než klasický Syslog 4. **Logování výstupů:** zachytává stderr/stdout aplikací 5. **Přenos logů po síti:** funkce stále ve fázi experimentálního vývoje **Nevýhody:** binární formát (ne všechny nástroje podporují práci s binárními logy), omezená kompatibilita (někdy je nutný převod dat do textového formátu) ### Event Log (MS Windows): **Event Log** = systém logování na platformě Windows, který zaznamenává důležité informace o činnosti operačního systému, aplikací a uživatelů. Tyto informace lze analyzovat pro účely auditu, diagnostiky nebo zabezpečení. **[Klíčové vlastnosti Event Logu:\ ]**1. **Strukturované logy** - data jsou ukládána ve strukturovaném formátu\ 2. **Prohlížení logů** - Event Viewer (součást Windows) umožňuje snadné prohlížení, filtrování a analýzu\ 3. **Filtrování přes XML** - logy lze filtrovat podle různých kritérií (např. čas, úroveň, zdroj)\ 4. **Odesílání logů na jiný server** - logy mohou být přesměrovány na jiné Windows servery funkcí vzdáleného přístupu **[Typy logů:]**\ 1. **Application Logs** = záznamy z aplikací běžících v systému\ 2. **Security Logs** = informace o autentizaci, autorizaci a bezpečn. událostech (přihlášení, pokusy o neopráv. přístup)\ 3. **System Logs** = události z komponent operačního systému (např. ovladače, služby)\ 4. **Custom Logs** = aplikace mohou definovat vlastní logy, které zaznamenávají specifické události **[Formát záznamů:]**\ Každý záznam v Event Logu obsahuje následující informace:\ 1. **Event ID** = jedinečné číslo přiřazené konkrétnímu typu události (např. \"4625\" pro neúspěšné přihlášení)\ 2. **Zdroj** (Source) = proces, aplikace nebo komponenta OS, která událost vytvořila\ 3. **Úroveň** (Level) = závažnost události =\> information: Informativní zprávy/warning: upozornění/error: chyby\ 4. **Kategorie** (Category) = další klasifikace události (např. \"Logon/Logoff\" pro autentizační události)\ 5. **Klíčová slova** (Keywords) = klíčová slova usnadňující vyhledávání\ 6. **Čas události** = přesný čas, kdy k události došlo\ 7. **Předmět** (Subject) = informace o tom, kdo nebo co událost vyvolalo (account name, account domain, logon ID)\ 8. **Další údaje** = detailní informace specifické pro typ události (IP adresa zdroje, použitý autentizační protokol) Správa logů (Log Management) ---------------------------- **Správa logů** = proces získávání, ukládání, analýzy a správy záznamů o událostech z různých systémů a aplikací. Efektivní správa logů umožňuje organizacím zajistit bezpečnost, auditovatelnost a provozní efektivitu. ### Klíčové aspekty správy logů: 1. **Získávání logů** =\> *[nastavení logování v aplikacích:]* konfigurace aplikací a systémů tak, aby generovaly potřebné záznamy, stanovení, co se má logovat (např. chyby, operace uživatelů, přístupy) *[Použití standardních protokolů:]* Syslog (UNIX/Linux), Event Log (Windows). 2. **Centralizované logování** =\> *[konsolidace logovacích dat na jednom místě:]* logy z různých zdrojů (servery, aplikace, síťová zařízení) jsou sbírány a ukládány v centrálním systému 3. **Dlouhodobé uchování a mazání (GDPR)** =\> *[dlouhodobé uchovávání:]* logy musí být uchovávány podle regulačních požadavků nebo interních politik (např. 3 roky pro audity), *[mazání:]* v souladu s GDPR a dalšími předpisy je třeba logy anonymizovat nebo mazat po uplynutí doby uchování 4. **Prohledávání logů** =\> *[rychlé dotazy:]* nástroje umožňují vyhledávání specifických záznamů (např. chyby, neúspěšná přihlášení), *[filtry a klíčová slova:]* usnadňují analýzu konkrétních typů událostí 5. **Analýza logů** =\> *[identifikace vzorců a anomálií:]* hledání podezřelých aktivit, například opakované neúspěšné přihlášení, *[automatizace analýzy:]* např. pomocí SIEM (Security Information and Event Management) nástrojů, které z logů automaticky generují upozornění 6. **Reportování a statistiky na základě logů** =\> *[reporty:]* generování pravidelných přehledů (např. měsíční reporty o chybách), *[statistiky:]* grafické zobrazení klíčových ukazatelů, např. počet přihlášení Bezpečnostní analýza logů (SIEM) -------------------------------- **Účel SIEM:\ **1. **Ukládání událostí** - shromažďuje logy a události z různých systémů, zařízení a aplikací na jedno centrální místo.**\ **2. **Analýza a korelace** - identifikuje bezpečnostní hrozby pomocí analýzy a hledání souvislostí mezi událostmi.**\ **3. **Hlášení problémů** - generuje upozornění na podezřelé nebo nežádoucí aktivity. ### Funkce SIEM: - **Monitorování infrastruktury:** sleduje činnost na síťových prvcích, serverech, aplikacích,uživatelských účtech a identifikuje neobvyklé nebo podezřelé chování - **Korelace událostí:** vyhodnocuje souvislosti mezi jednotlivými událostmi napříč systémy. - **Upozorňování na události:** SIEM systém generuje upozornění na základě nastavených pravidel nebo detekovaných anomálií. **[Příklady korelací:]**\ Přihlášení z anonymní IP adresy (např. VPN, Tor)\ **Atypická cesta** - přihlášení z geograficky vzdálených IP adres během krátké doby, což není pro uživatele typické\ **Botnet aktivita** - přihlášení z IP adresy spojené s botnetem nebo rozeslání velkého množství SPAMu\ **Neobvyklé vlastnosti přihlášení** - podezřelé atributy (použití starších protokolů, neznámého prohlížeče, lokace) **[Příklady upozornění v reálném prostředí:\ ]Zablokování účtu v Office 365** - uživatel se pokusil přihlásit z podezřelého zdroje =\> zablokování účtu\ **Rozeslání velkého množství odchozích e-mailů** - identifikace potenciálního SPAM útoku/kompromitovaného účtu\ **Změna hesla v systémech** - neobvyklá změna hesla (např. v InSIS) může naznačovat pokus o převzetí účtu\ **Změna čísla bankovního účtu** - podezřelé změny citlivých údajů, by mohly signalizovat podvod/kompromitaci účtu 15. Zálohování ============== **Zálohování** = proces vytváření kopií dat pro ochranu před jejich ztrátou nebo poškozením.\ Kopie jsou uloženy na jiném místě nebo médiu, než je původní zdroj. **Záloha** = krátkodobé nebo pravidelné kopírování dat pro rychlou obnovu =\> zálohování dokumentů na externí disk\ **Archivace** = proces dlouhodobého uchovávání dat, která už nejsou aktivně používána, data jsou optimalizována pro uchování, nikoliv pro častý přístup =\> archivace účetních dokumentů na 10 let dle zákonných požadavků\ **Synchronizace dat** = zajištění, že data uložená na více místech jsou identická a aktuální, používá se u dynamických dat, která se často mění =\> synchronizace souborů mezi cloudem a lokálním počítačem\ **Verzování dat** = uchovávání historie změn provedených na souborech nebo datech, umožňuje návrat k předchozí Strategie zálohování -------------------- 1\. **Nestrukturovaná strategie** - data jsou manuálně kopírována na externí média (CD, USB disky, externí disky apod.)\ - *[Vlastnosti:]* neautomatizované, obtížná správa a obnova dat, chybí metadata/strukturované informace o zálohách\ - *[Využití:]* jednoduché zálohy osobních dat nebo pro uživatele bez pokročilých potřeb\ - *[Nevýhody:]* časově náročné, náchylné k lidským chybám\ 2. **Automatizovaná** - denní, hodinové, týdenní i kontinuální zálohy v závislosti na potřebách a dostupnosti zdrojů\ - *[Úplná záloha:]* kopíruje všechna data, snadná a rychlá obnova, vyžaduje velkou kapacitu úložiště\ =\> Jednou týdně kompletní záloha (např. v neděli)\ - *[Inkrementální záloha:]* ukládá pouze změny od poslední jakékoli (úplné nebo inkrmentální) zálohy, úspora prostoru a času, obnova vyžaduje přístup k celé posloupnosti záloh\ - *[Rozdílová záloha:]* zaznamenává pouze změny od poslední úplné zálohy, rychlejší obnova než u inkrementální zálohy, větší objem dat než u inkrementální zálohy\ - *[Zrcadlová záloha + reverzně přírůstková:]* vytváří kopii aktuálního stavu systému (zrcadlo)\ - *[Průběžná ochrana dat (CDP):]* každá změna v datech je okamžitě přenesena na záložní médium, umožňuje návraz k jakémukoliv bodu v čase, vyšší nároky na výkon a kapacitu Co zálohovat? ------------- ### 1. Soubory: - Nejjednodušší a nejčastější způsob zálohování - **Problémy a rizika:** *[nekonzistence dat]* =\> pokud jsou soubory během zálohování otevřené, mohou být výsledné zálohy neúplné nebo poškozené, *[neúmyslná obnova]* =\> obnovení zálohy může vrátit i soubory, které byly úmyslně smazány - **Řešení:** *[verzování souborů]* =\> uchování historie změn umožňuje obnovit konkrétní verze souborů ### 2. Svazek (partition, disk): - Zálohování na úrovni bloků (celý oddíl nebo disk) - **Použití:** *[offline zálohování]* =\> obvyklé u vypnutých systémů, kdy nedochází k žádným změnám na zálohovaném disku, *[online zálohování]* =\> využití snapshotů (snímků stavu disku v konkrétním okamžiku) ### 3. Měnící se data: - Data, která se mění během zálohování (např. databáze), mohou být nekonzistentní nebo neobnovitelná - **Řešení:** *[zastavení aplikací]* =\> pozastavení provozu (pauza) před vytvořením snapshotu, *[snapshoty]* =\> moderní souborové systémy umožňují vytvoření snapshotu a slouží jako konzistentní bod zálohy. *[specializované]* *[nástroje]*, *[zrcadlení]* =\> kopie dat v reálném čase na zrcadlený server, high availability ### 4. Metadata: - Zahrnují informace o struktuře a vlastnostech dat - **Zahrnují:** *[atributy souborů]* (datum vytvoření, velikost, vlastník) =\> umožňují správné fungování aplikací, které tyto informace využívají, *[přístupová práva (ACL -- Acess Control List)]* =\> definují, kdo má k souborům přístup a jaké operace smí provádět (čtení, zápis, spuštění), *[registry ve Windows]* =\> centralizovaná databáze konfiguračních dat v systému Windows (např. nastavení aplikací, hardwaru a uživatelských účtů) Kam zálohovat (média) --------------------- ### Magnetická páska: - **Výhody:** velká kapacita, dlouhá životnost (až 30 let), nízká cena za gigabajt - **Nevýhody:** vysoká cena páskových jednotek, pomalejší přístup k datům a delší doba obnovy - Ideální pro dlouhodobou archivaci dat ### Pevný disk (HDD): - **Výhody:** nízká přístupová doba, snadné použití a dostupnost, možnost použití externích disků - **Nevýhody:** vyšší poruchovost než pásky - Vhodné pro rychlé a časté zálohování ### Optické disky (CD, DVD, Blu-ray): - **Výhody:** stabilní médium pro archivaci, nízká cena za jednotlivé disky - **Nevýhody:** omezená kapacita (max. Blu-ray až 128 GB), dlouhá doba zápisu a obnovy ### SSD, USB flash disky, Compact Flash: - **Výhody:** rychlé přenosové rychlosti, snadné přenášení - **Nevýhody:** vyšší cena za gigabajt, omezená životnost při častém přepisování - Pro přenos dat nebo krátkodobé zálohování ### Vzdálená (cloudová) zálohovací služba: - **Výhody:** vzdálená lokalita chrání před lokálními riziky (požár), snadná integrace se synchronizačními nástroji - **Nevýhody:** nutnost důvěry v poskytovatele služeb, pomalejší rychlost přístupu k datům **[Pravidlo/strategie 3-2-1:\ ]3x data:** Jedna originální kopie dat + Dvě záložní kopie dat (pro redundanci)\ **2x místní:** Dvě kopie dat uložené na různých zařízeních v jedné lokalitě (např. pevný disk, NAS, páska)\ **1x vzdálená:** Jedna záloha mimo hlavní lokalitu, ideálně v cloudu nebo jiné geograficky oddělené lokalitě ### Připravený záložní server: - Záložní server zajišťuje kontinuitu provozu při výpadku hlavního systému - Pro kritické systémy, kde je minimální akceptovatelná ztráta dat (RPO - Recovery Point Objective) - **Jak často synchronizovat data?** =\> frekvence závisí na tom, kolik dat je akceptovatelné ztratit při výpadku - **Typ zálohy:** zrcadlení (mirroring) dat v reálném čase nebo pravidelné zálohy - **Metody obnovy:** zrcadlení dat, obnova ze zálohy (trvá, ale umožňuje obnovu do určitého bodu v čase) **[Monitorování zálohování:]**\ Monitorování zajišťuje, že zálohování probíhá podle plánu a data lze obnovit\ **Proč je důležité:** někdy vyžadováno legislativou (např. GDPR), pomáhá identifikovat problémy (chyby při zálohování)\ **Co sledovat:** úspěšnost zálohovacích procesů, dostupnost a konzistence zálohovaných dat, stav zálohovacích médií **Výstupy monitorování:** logy zálohování a reporty, upozornění na chyby a nedostatky\ **Pravidelné testování obnovy:** testování je klíčové pro zajištění funkčnosti zálohovacího procesu, simulace obnovy pomáhá zjistit, zda jsou zálohy použitelné a kompletní. Optimalizace zálohování ----------------------- 1\. **Automatické mazání starých záloh** - šetří místo na úložišti a eliminuje nepotřebné staré zálohy\ =\> Uchovávat jen poslední zálohy podle předem definovaných politik (např. zálohy za poslední měsíc)\ 2. **Komprese** - cílem je minimalizovat velikost záloh, čímž se zrychlí přenos a ušetří úložiště\ =\> zálohy se komprimují před odesláním na server, některé souborové systémy mají vestavěnou podporu kopmrese\ 3. **Deduplikace** - eliminace redundantních dat pro úsporu prostoru\ =\> *[Na klientovi]*: redundantní bloky dat se identifikují pomocí kryptografických hašovacích funkcí (např. SHA-256), zálohování přenáší pouze unikátní data\ =\> *[Na serveru:]* zálohovací server analyzuje data a uchovává pouze unikátní bloky, redukuje duplicity napříč klienty\ 4. **Zálohování na pásky** - data se nejprve ukládají na pevný disk, poté se přenášejí na pásky pro dlouhodobé uchování\ =\> *[Refaktoring pásek:]* kombinace úplných a inkrementálních záloh na 1 pásku pro využití prostoru a rychlejší obnovu\ 5. **Šifrování** - zajišťuje bezpečnost dat, zvláště při vzdáleném nebo cloudovém zálohování\ =\> Správa šifrovacích klíčů je kritická, ztráta klíče znamená ztrátu přístupu k zálohám Proti jakým bezpečnostním rizikům chrání zálohování --------------------------------------------------- 1\. **Útoky** -- ransomware, malware a viry, hackerské útoky\ 2. **Havárie** -- HW porouchy (diskové selhání), SW poruchy (chyby v aplikacích), přerušení dodávky energie\ 3. **Ztráty** -- lidská chyba (omylem smazané soubory), ztráta zařízení\ 4. **Sabotáž** -- interní hrozby (záměrné poškození dat zaměstnanci), fyzická sabotáž (poškození zařízení), zničení záloh 16. Autorizace ============== **Autorizace** = proces, při kterém je subjektu (uživateli nebo procesu) uděleno právo vykonávat určité akce na daném objektu (zdroji). Tento proces je klíčový pro řízení přístupu v informačních systémech. Bezpečnostní modely ------------------- Bezpečnostní modely poskytují strukturovaný a formální rámec pro návrh, implementaci a audit bezpečnostních pravidel a mechanismů v systému ### Hlavní komponenty: 1. **Formální popis bezpečnostních pravidel** - určuje, jak se v systému definuje a prosazuje bezpečnost (např. pravidla pro přístupová oprávnění nebo kontrolu integrity dat) 2. **Subjekt (subject)** - entita, která žádá přístup k určitému zdroji (uživatel, proces, služba) 3. **Objekt (object)** - entita, ke které se subjekt snaží získat přístup (soubor, adresář, proces, databázový záznam) - operace nad objekty: read, write, delete, create, grant, revoke 4. **Matice oprávnění** - reprezentuje vztah mezi subjekty a objekty - u každého průsečíku matice jsou specifikována práva (operace), která může subjekt vykonat na objektu ### Konečné automaty: **Konečné** **automaty** = matematický model používaný pro formální popis systémů včetně autorizace - **Konečná množina stavů:** automaty mají omezený počet stavů, kt. reprezentují možné konfigurace systému - **Počáteční a konečný stav:** definuje, jaký je počáteční bod a kdy proces končí. - *[při autentizaci]*: počáteční stav = \"čekání na přihlašovací údaje\", konečný stav = \"povolený přístup\". - **Seznam přechodových funkcí:** funkce definující, jak se mění stavy na základě vstupů (požadavků uživatele) - přechod z \"neautorizovaného\" do \"autorizovaného\" stavu při správném zadání hesla - Velmi nákladné ### Trusted Computing Base (TCB): **Trusted Computing Base** = klíčová část HW a SW, na které závisí celková bezpečnost systému - **Hlavní vlastnosti:** izolace, referenční monitor - **Referenční monitor:** základní komponenta TCB, která vynucuje bezpečnostní politiku - *[funkce:]* vynucování oprávnění, auditování - veškerá komunikace mezi subjekty a objekty musí procházet přes referenční monitor ### Common Criteria (CC): Mezinárodní standard pro hodnocení a certifikaci bezpečnosti informačních systémů - **Definování a ověřování bezpečnostních požadavků:** poskytuje rámec pro tvorbu bezpečnostních profilů a ověřování jejich splnění - **Profily ochrany (Protection Profiles):** šablony, kt. specifikují bezpečnostní požadavky na různé typy systémů - **Úrovně hodnocení (Evaluation Assurance Levels, EAL):** jak byla bezpečnost systému navržena a ověřena - stupnice od *[EAL1]* (nejnižší, základní testování) po *[EAL7]* (nejvyšší, formálně ověřeno) - **Certifikace testovacích laboratoří:** CC stanovují pravidla pro akreditaci laboratoří, které provádějí testování a hodnocení bezpečnostních požadavků ### Clark-Wilson Model: Bezpečnostní model zaměřený na **ochranu integrity dat** a zajištění, že k datům je přistupováno pouze autorizovaně - **Práce přes autorizované programy:** přístup k datům musí být realizován pouze prostřednictvím autorizovaných programů, rozhraní nebo portálů + přímý přístup k datům je zakázán - **Trojice subjekt/program/objekt:** model definuje vztahy mezi subjekty, programy a objekty (programy mohou mít omezené operace na konkrétní objekty, což minimalizuje riziko neoprávněných změn) - **Příklad aplikace:** unix a změna hesla pomocí programu *passwd* ### Bell-LaPadula: - **Cíl:** ochrana důvěrnosti dat (utajované informace) - **Bezpečnostní úrovně (zjednodušují matici oprávnění):** přísně tajné, tajné, důvěrné, veřejné - **Pravidla:** no read up (nelze číst z vyšší úrovně), no write down (nelze zapisovat na nižší úroveň), přístup povolen pouze na stejné úrovni. ### Biba: - **Cíl:** zajištění integrity dat - **Bezpečnostní úrovně:** zjednodušují matice oprávnění - **Pravidla:** no read down (nelze číst z nižší úrovně), no write up (nelze zapisovat na vyšší úroveň), přístup povolen pouze na stejné úrovni ### Modely přístupu: - **Implicitní zákaz:** co není povoleno, je zakázáno - **DAC (Discretionary Access Control):** volitelné řízení přístupu, subjekt může předávat práva dalším - UNIX, Office 365 - **MAC (Mandatory Access Control):** povinné řízení přístupu, práva přiděluje administrátor, uživatel nemění - InSIS ### ACL (Access Control List): - Seznam oprávnění k objektu - **Trojice:** (Objekt; Subjekt; Oprávnění) - Lze použít s MAC i DAC Řízení přístupu na základě -------------------------- ### 1. Rolí (RBAC - Role-Based Access Control): - **Charakteristika:** podobný ACL s využitím skupin, role mohou být hierarchické, subjekt může mít více rolí, definice omezení pro rozdělení odpovědnosti - **Přiřazování:** uživatelům jsou přiřazeny role =\> role mají přiřazena oprávnění (permission, capability) =\> oprávnění zahrnuje více operací, operace může být sdílena mezi více oprávněními - **Použití:** možné implementovat jako DAC i MAC ### 2. Atributů (ABAC - Attribute-Based Access Control): - **Charakteristika:** přístup řízen na základě vlastností subjektu, operace, objektu a prostředí, role je jedním z atributů subjektu, přístup se vyhodnocuje v nezávislé části systému - **Příklady použití:** autor může upravovat článek do publikace, přístup omezen na školní IP adresu,\ po přihlášení přes 2FA může uživatel editovat, jinak jen číst... Přístupová práve ve vybraném operačním systému ---------------------------------------------- **[Unix -- přístupová práva:]**\ **Práva pro neexistující soubory:** systém umožňuje nastavit práva i pro soubory, které ještě neexistují, například pro nově vytvořené soubory v adresáři.\ **Dědičnost v adresářové struktuře:** práva adresáře se dědí na soubory vytvořené v něm, lze je přepsat při tvorbě souboru.\ **Práva pro více skupin i více osob:** uživatel může patřit do více skupin, čímž získává různá oprávnění pro různé soubory v závislosti na připojených skupinách. 17. LDAP, centralizovaná autentizace ==================================== **LDAP (Lightweight Directory Access Protocol)** = protokol sloužící k přístupu a správě informací v adresářových službách, běžně používaný pro centralizovanou autentizaci uživatelů Adresářová služba X.500 ----------------------- **Hierarchická organizace dat** = ukládání informací ve stromové struktuře s kořenem, kde každý objekt má unikátní DN (Distinguished Name) ### Schéma LDAP: - **Objekty a atributy:** definuje typy objektů (např. inetOrgPerson pro osoby, groupOfNames pro skupiny) a atributy (např. uid pro uživatelské ID, mail pro email, cn pro obecné jméno) - **Příklady atributů:** C (country), S (state or province name), SA (street address), L (locality name),\ O (organization name), OU (organizational unit name), CN (common name) - **Rozšiřitelnost:** možnost přidat vlastní schéma pro specifické potřeby ### Operace: - **Bind:** autentizace uživatele k adresářové službě - **Search:** hledání záznamů na základě definovaných kritérií - **Add, Delete, Modify:** správa záznamů -- přidávání, mazání a úprava informací - **Compare:** porovnání atributu záznamu s konkrétní hodnotou - **Unbind:** ukončení relace mezi klientem a serverem ### Výhody: - **Centralizovaná správa dat:** jedno místo pro ukládání a správu uživatelských informací - **Standardizace a interoperabilita:** podpora běžných standardů zajišťuje snadnou integraci - **Bezpečnost:** podpora šifrování pomocí TLS a SSL - **Autentizace:** efektivní správa přístupu uživatelů Centralizovaná autentizace -------------------------- Centrální správa identifikačních a autentizačních údajů pro více aplikací, obvykle pomocí LDAP. **[Přínosy:]**\ **Uživatelská jednoduchost** - stejná identita a autentizátor (např. heslo) pro všechny aplikace\ **Efektivní správa** - snadné zakládání a rušení uživatelů, centralizované řízení\ **Firemní standard** - běžné ve firmách pro sjednocený přístup **[Nevýhody:]**\ **Důvěra** - tvůrci aplikací mohou zneužít přihlašovací údaje\ **Riziko kompromitace** - úspěšný útok na jednu aplikaci ohrožuje všechny\ **Omezená použitelnost** - nepoužitelné mimo organizaci, pro cloudové služby nebo API\ **Nepraktické pro jednotlivce** - např. e-shopy vyžadují separátní přihlašování **[Porovnání se SSO (Single Sign-On):]**\ Centrální autentizace vyžaduje vícenásobnou autentizaci (různá hesla).\ Úspěšný útok na SSO může také kompromitovat více aplikací. 18. Single sign-on ================== **Základní vlastnosti:**\ *[Oddělení autentizace uživatelů od aplikací:]* autentizace (ověření identity) probíhá mimo aplikaci, což zvyšuje bezpečnost a zjednodušuje správu.\ *[Přístup s jedním přihlášením:]* uživatel se jednou přihlásí a získá přístup k více nezávislým systémům. ### Výhody: - **Bezpečnost:** úspěšný útok na

Use Quizgecko on...
Browser
Browser