3. Kryptografická primitiva a protokoly pro bezpečnost, důvěrnost, podpisy, autentizaci a anonymitu
Kryptologie = Kryptografie + Kryptoanalýza
• Kryptografie - nauka o metodách šifrování; řeší problém zaslání zprávy (plaintext) přes nezabezpečený kanál, který může být odposloucháván.
• Kryptoanalýza - metody luštění šifer (zjišťování slabin algoritmů)
Kryptografie se využívá k realizaci požadavků spojených s informační bezpečností, zajišťuje:
• Důvěrnost dat (confidentality) – též bezpečnost – pouze oprávněné subjekty mohou zjistit obsah utajované zprávy.
• Integrita (celistvost) dat (data integrity) – zamezení neoprávněné modifikaci dat (smazání, modifikace, substituce), případně je možné tuto změnu zjistit.
• Autentizace (původu) dat – ověření, že data pocházejí od daného subjektu
• Autenticita dat (integrita a ověření původu)
• Autentizace (authentization) – proces ověření identity (1:1). Není možné, aby Eva vystupovala během komunikace s Bobem pod jinou identitou, aniž by Bob tento fakt odhalil (rozpoznání určité entity v dané množině entit (1:n)= identifikace). Vs. Autorizace =udělení určitých práv a určení povolených aktivit.
• Nepopiratelnost (non-repudiation) – souvisí s autorizací - jedná se o jistotu, že autor dat nemůže své autorství popřít (např. bankovní transakci).
• Anonymita (anonymity) – Alice nechce, aby Bob věděl kdo mu poslal zprávu.
Kerckhoffsův princip
V současnosti kombinováno: šifrování zpráv pomocí symetrického a dohoda na klíčích pomocí asymetrického šifrování
– Menší výpočetní náročnost, vyšší výpočetní rychlost
– Problematické šíření klíče, musí být dvě kopie
– Obtížné ověření identity
– Pokud n uživatelů komunikuje pomocí SK, potřebují n (n-1)/2 klíčů
– Snadné šíření veřejných (šifrovací) klíčů, soukromý klíč (dešifrovací) jen jedna kopie
– Poměrně snadné ověření identity
– Alice vyhledá Bobův veřejný klíč, zašifruje odesílanou zprávu pomocí tohoto klíče a pošle kryptotext Bobovi. Bob po přijetí kryptotextu rekonstruuje zaslanou zprávu užitím svého soukromého klíče.
– důvěryhodné třetí strany (Trusted Third Parties, TTP). TTP ověří identitu zúčastněného subjektu a pro každý z nich vygeneruje digitální podpis zprávy (certifikát) tvořený v nejjednodušším případě identifikátorem subjektu a jeho veřejným klíčem. Jestliže chce Alice poslat zprávu Bobovi, učiní tak pouze tehdy, pokud se jípodaří úspěšně ověřit Bobův certifikát.
– Pokud n uživatelů komunikuje pomocí AK, potřebují 2n klíčů
- Vstupní data libovolné délky jsou transformována do výstupních bloků pevné délky (128, 160, 256, 512 bitů,…) (charakteristika/výtah/hash)
– Může být s klíčem i bez klíče
– Pomalá, není prostá
– Ochrana integrity dat ⇒ posíláme data přes nezabezpečenou síť a haš těchto dat přes zabezpečenou síť.
– Jednosměrnost ⇒ pro dané x lze snadno spočítat F(x), ale pro dané y je výpočetně obtížné nalézt x, aby platilo y = F(x)
– Bezkoliznost :
a) slabá: pro dané x nejsme schopni v rozumném čase najít x’(x≠x’) takové, že h(x) = h(x’).
b) silná: v rozumném čase nejsme schopni najít libovolná x, x’ taková, že h(x) = h(x’).
• MAC (Message Authentication Code) - jednocestná funkce s klíčem (heslem) - výstup algoritmu přiložený ke zprávě ověřuje její autenticitu (heslo) a integritu (hash)
-tzv. digitální pečetě, alternativa k digitálnímu podpisu
• MD5 (Message Digest 5) - autor Ronald Rivest. Výstup 128 b., vstupní bloky 512 b. – pouziva, ale nalezené slabiny
• SHA-1 (Secure Hash Algorithm) FIPS PUB180 - výstup 160 b., vstupní bloky 512 b. – dnes se nepouziva
• Srovnání funkcionality MD5 a SHA-1: MD5 má neomezenou délku vstupní zprávy (SHA-1 má limit 2**64 - 1 bitů) a výpočetně asi dvakrát rychlejší než SHA-1.
• SHA-256 a vyšší, nyní SHA-3 (Keccak)
- zpráva rozdělena na části (bloky) stejné délky a ty jsou (souběžně) šifrovány za použití stejného klíče
DES (Data Encryption Standard) - substituční a transpoziční bloková šifrá, která šifruje zprávy nad abecedou {0, 1}. DES pracuje s bloky délky 64 bitů, jež transformuje na řetězce stejné délky za použití klíče o délce 64
bitů.
3DES - Encrypt-Decrypt-Encrypt
Dalšími známými blokovými šifrovači jsou např. AES, IDEA či Blowfish.
– šifrují plaintext písmeno po písmenu nebo blok po bloku, každý blok je kódován odlišným klíčem
- jednodušší na implementaci, například telekomunikace, rychlejší
• Goldwasser probabilistic kryptosystém
• AFFINE cryptosystem
• VIGENERE
• AUTOCLAVE
• ONE-TIME PAD (perfekt secret cryptosystem) = Vernamova šifra – pracuje se slovy nad abecedou {0,1}, klíč stějně dlouhý jako plaintext ze stejné abecedy.
- jediná dokazatelně absolutně bezpečná šifra. Nevhodná k praktickému použití (problém přenosu klíče)
c(cryptotext) = w k
w (plaintext) = c k
Protokol pro distribuci klíčů (Diffie a Hellman):
- umožňuje bezpečnou dohodu na klíči za předpokladu, že případný útočník není schopen modifikovat zprávy vyměňované mezi zúčastněnými subjekty.
- bezpečnost je založena na neexistenci efektivního algoritmu pro řešení problému
diskrétního logaritmu.
- založen na tzv. výpočetí bezpečnosti ⇒ neumíme v rozumném čase provádět faktorizaci
⇒ neumíme v rozumném čase vyřešit problém diskrétního logaritmu
zatim nebyl prolomený kvantovým algoritmem, nepraktický díky velkému klíči
- základním prostředkem pro zajištění autentizace dat, integrity dat a nepopiratelnosti.
- „Elektronický podpis jsou údaje v elektronické podobě, které jsou připojené k datové zprávě nebo jsou s ní logicky spojené a které umožňují ověření totožnosti podepsané osoby ve vztahu k datové zprávě.“
- Umožňují podepsat digitální zprávu tak, že kdokoliv může podpis ověřit a identifikovat podepisující osobu. Navíc libovolný subjekt je schopen ověřovat podpisy jiných subjektů, ale nezíská tím žádnou informaci o tom, jak by mohl generovat jejich podpisy.
- Podoba digitálního podpisu závisí také na podepisované zprávě, v důsledku čehož pro libovolné dvě různé zprávy podepsané týmž subjektem obvykle platí, že jejich podpisy jsou různé.
- je k datové zprávě připojen takovým způsobem, že je možné zjistit jakoukoliv následnou změnu.
- digitální podpis vytváříme za pomoci soukromého klíče (chráníme důvěrnost), ověřujeme ho za pomoci veřejného klíče (chráníme integritu –> integritu veřejného klíče zajistíme pomocí certifikátu veřejného klíče).
- digitální podpis nedává záruku o době vytvoření
- nepodepisujeme celý dokument, ale pouze haš
• asymetrické kryptovací algoritmy s veřejným klíčem, nejčastěji RSA („Rivest-Shamir-Adleman“) a DSA („Digital Signature Algorithm“)
• bezpečné kryptografické jednocestné algoritmy (Hash functions), nejčastěji MD5 („Message Digest 5“) spolu s RSA a SHA („Secure Hash Algorithm“) spolu s DSA.
– Může probíhat na základě znalosti (hesla), vlastnictví (kreditní karta, klíč), nebo charakteristických vlastností (biometrické informace – otisky prstů)
– CRC (Cyclic Redundancy check) – integrita dat
– Sdílený tajný sym. Klíč
– Získání haše autentizovaným kanálem
– Haš s tajným klíčem/MAC (Message Auth. Code = autentizační kódy ) – tzv. digitální pečeť
– Digitální podpis (zaručený digitální podpis)
Diskuze
ako prehľad, motivácia mi to príde fajn spracované. ešte som počul, že od kamaráta (dokonca z aplikovanej) chceli matematiku k RSA. ja sa učím aj RSA.