NOVINKA: Kurz kybernetickej bezpečnosti teraz už od 0 €. Staň sa žiadaným profesionálom. Zisti viac:
NOVINKA: Staň sa dátovým analytikom od 0 € a získaj istotu práce, lepší plat a nové kariérne možnosti. Viac informácií:

2. diel - Symetrická a asymetrická kryptografia Nové

V minulej lekcii, Základné pojmy a zásady kybernetickej bezpečnosti , sme si ukázali, prečo zabezpečovať, čo zabezpečovať a proti čomu zabezpečovať naše koncové zariadenia.

V dnešnom tutoriáli nadviažeme na základné pojmy kybernetickej bezpečnosti a budeme sa zaoberať symetrickou a asymetrickou kryptografiou.

Kryptografia

Najprv si vysvetlíme pojmy kryptografia a kryptoanalýza. Kryptografia je veda o tvorbe šifier a naopak kryptoanalýza je veda o lúštení šifier. V dnešnej dobe je väčšina bezpečnostných opatrení založená práve na kryptografických technikách, a tak si o nich dnes niečo málo povieme.

Kódovanie a šifrovanie

Hoci každý z nás má určite nejakú predstavu o tom, čo šifrovanie a kódovanie znamená, práve tieto dva termíny sa často zamieňajú. Kódovanie je jednoduchý zápis iným spôsobom, matematici používajú termín zobrazenie. Zatiaľ čo šifrovanie je zobrazenie, ktoré je navyše parametrizované kľúčom.

Ak prevedieme bežný text do Morseovej abecedy alebo ho preložíme napríklad do nemčiny, ide o kódovanie. Pri kódovaní nejde o žiadnu ochranu či utajenie. Aj keď ak nevieme napríklad už spomínanú nemčinu, tak nám takto zakódovaný text samozrejme zrozumiteľný nebude. Naproti tomu v prípade šifrovania by nemalo byť možné vykonať operáciu šifrovania či dešifrovania bez presnej znalosti kľúča, a to bez ohľadu na to, či samotný postup šifrovania poznáme alebo nie.

Ilustračný obrázok k šifrovaniu - Kybernetická bezpečnosť a NIS2

V prípade kvalitnej šifry teda závisí odolnosť proti prelomeniu iba na jej kľúči.

Pri lúštení šifry existujú dva základné postupy na zistenie kľúča:

  • Kľúč odhadneme na základe informácií o osobe, ktorá kľúč vytvárala. Môžeme na to využiť napríklad mená, dátumy narodenia, mená domácich miláčikov, obľúbených spevákov či hercov, matematické rady a podobne.
  • Postupne vyskúšame všetky možné kľúče, kým sa netrafíme do toho správneho. Táto metóda sa nazýva BFA (Brute Force Attack), teda útok hrubou silou a v princípe ju možno použiť na väčšinu šifier.

Útok hrubou silou nie je možné použiť napríklad pri Vernamovej šifre, ale tento špeciálny prípad v tomto kurze riešiť nebudeme.

Symetrická šifra

Tento typ šifry zodpovedá najviac tomu, čo si väčšina ľudí pod pojmom šifra predstaví. Ide o postup, ktorý používa rovnaký kľúč na šifrovanie aj dešifrovanie textu či dát všeobecne. V kryptografii sa však pre dáta bežne používa výraz otvorený / šifrovaný text. Otvorený text je text určený na utajenie, ktorý sa pri procese šifrovania prevedie do šifrovaného textu.

Dnes sa všeobecne používa AES (Advanced Encryption Standard). Niekedy je toto označenie ešte doplnené o dĺžku kľúča v bitoch, teda napríklad AES-256. AES s 256-bitovým true random (skutočne náhodným) kľúčom je v súčasnosti stále považovaná za bezpečnú aj v kontexte kvantových počítačov. AES sa používa ako primárna šifra na ochranu dát všeobecne a dôveruje jej americká vláda pri utajení informácií úrovne Prísne tajné, takže my budeme tiež :)

Výhody a nevýhody symetrickej šifry

Symetrické šifry majú množstvo výhod, napríklad to, že sú veľmi rýchle a kľúče nemusia byť príliš dlhé. Ak by sme ich však chceli použiť napríklad na šifrovanie komunikácie E2E (end-to-end), narazili by sme hneď na prvý problém: ako si bezpečne vymeniť úvodný šifrovací kľúč s protistranou. Ak je to kamarát vedľa nás, stretneme sa a na kľúči sa dohodneme. Ale ako výmenu bezpečne vyriešiť, keď je protistrana na druhej strane zemegule?

Ďalším problémom je počet kľúčov. Pri symetrickej šifre nestačí pre každého iba jeden kľúč, ten by musel mať zvláštnu kombináciu kľúčov pre každého, s kým chce takto komunikovať. Ešte oveľa komplikovanejšie by to bolo, keby sme chceli použiť symetrickú šifru na podpis. V tomto prípade by musela existovať zvláštna kombinácia kľúčov nielen pre všetky zúčastnené strany, ale aj pre každý takto podpísaný text. A týmto sa dostávame k asymetrickej kryptografii.

Asymetrická šifra

Asymetrická šifra využíva spôsob šifrovania, kde je potrebný jeden kľúč na šifrovanie a druhý na dešifrovanie. Teda ak text zašifrujeme šifrovacím kľúčom, potrebujeme potom aj dešifrovací kľúč, aby sme ho boli schopní spätne dešifrovať do otvorenej podoby. Pritom z jedného kľúča nemožno odvodiť ten druhý.

Proces asymetrického šifrovania funguje tak, že si na začiatku vygenerujeme z náhodných hodnôt pár (dvojicu) kľúčov (key pair). Jeden kľúč, tzv. tajný kľúč, si starostlivo uložíme do nejakého súboru alebo na čipovú kartu, aby sa k nemu nikto okrem nás nemohol dostať. Druhý kľúč, tzv. verejný kľúč, môžeme zverejniť či niekomu poslať otvoreným e-mailom.

Ak nám potom bude chcieť niekto poslať správu tak, aby ju nemohol čítať nikto iný, stačí, keď ju zašifruje naším verejným kľúčom. Pretože iba my máme zodpovedajúci tajný kľúč, môžeme ju zase dešifrovať.

V skutočnosti sa kvôli väčšej rýchlosti spracovania samotná správa šifruje symetricky pomocou AES náhodne zvoleným jednorazovým symetrickým kľúčom, ten sa potom zašifruje asymetricky verejným kľúčom príjemcu a pribalí sa k správe.

Digitálny podpis

Na vyššie uvedenom princípe funguje aj digitálny podpis. Ak k našej správe priložíme tú istú správu, ale naopak zašifrovanú naším tajným kľúčom, každý si potom pomocou nášho verejného kľúča môže ľahko overiť, že sme ju skutočne zašifrovali my. V praxi sa opäť nešifruje a neprikladá celá správa znova, ale iba jej skrátený odtlačok, čiže hash, ktorému sa budeme venovať v priebehu kurzu.

V tejto chvíli by mohlo vyzerať, že sme už úspešne vyriešili aj všetky problémy s autentizáciou. Z čisto kryptografického hľadiska je to pravda, no v praxi nám vzniká ešte jeden problém. Metódou digitálneho podpisu síce overíme, že ide o tú istú protistranu, ktorá nám verejný kľúč poskytla, no každý z nás si môže takých kľúčov vygenerovať, koľko len bude chcieť a pri ich zaslaní tvrdiť, že je napríklad prezident USA :)

Ukážka elektronického podpisu Davida Janka - Kybernetická bezpečnosť a NIS2

V niektorých situáciách nám to môže byť jedno, pretože pre nás nie je dôležité, aké meno si kto pre svoje označovanie vybral. Avšak napríklad banka alebo úrad potrebuje ešte stotožniť daný verejný kľúč s reálnou identitou v občianskom živote. Alebo naopak my potrebujeme istotu, že ide skutočne o banku alebo štátnu inštitúciu s danou právomocou. Sme teda späť pri tom, že sa dve protistrany zase musia najprv stretnúť. Tentokrát síce nie preto, aby si vymenili kľúče, ale preto, aby sa uistili, že daný kľúč skutočne označuje daný subjekt.

Certifikáty a certifikačné autority

Na vyriešenie tejto situácie do hry vstupujú certifikáty a certifikačné autority. Certifikačná autorita (CA) funguje ako sprostredkovateľ dôvery medzi dvoma stranami tým, že overí identitu žiadateľa a vytvorí pre neho certifikát. Certifikát obsahuje verejný kľúč žiadateľa, doplnený o informácie o jeho reálnej identite a to všetko je podpísané tajným kľúčom príslušnej certifikačnej autority.

Celý proces je veľmi podobný tomu, ako keď štát po overení našej identity vydá občiansky preukaz, ktorým sa následne preukazujeme ďalším subjektom. Len namiesto občianskeho preukazu tu overovaciu funkciu plní digitálny podpis danej autority.

Na overenie takého certifikátu potom stačí poznať verejný kľúč danej certifikačnej autority a dôverovať jej. Tým sa nutnosť overenia každej strany každou redukuje iba na overenie strán pri oveľa menšom počte certifikačných autorít. Ďalej možno pri tomto procese overenia využiť tzv. reťazenie dôvery. Ak platí, že subjekt A verí B a subjekt B verí C, potom tiež platí, že A môže veriť C.

Viac si o dôveryhodnosti certifikátov povieme v jednej z nasledujúcich lekcií. Pre základnú orientáciu si uvedieme niekoľko príkladov certifikačných autorít pôsobiacich v ČR:

Asymetrické algoritmy

Asymetrických šifrovacích algoritmov nie je zďaleka také množstvo ako symetrických. A to z dôvodu, že symetrických algoritmov je z logiky ich fungovania možné vytvoriť viac-menej nekonečno. V praxi sa tak najskôr stretneme najmä s nasledujúcimi asymetrickými algoritmami:

  • RSA – Prvý algoritmus, ktorý sa začal všeobecne používať. Založený je na probléme faktorizácie veľkých čísel a v súčasnosti sa považuje za bezpečný, ak používa kľúč s dĺžkou aspoň 2048 bitov. Ak však generujeme nový pár kľúčov, použijeme radšej dĺžku 3072 bitov alebo dokonca 4096 bitov, ak je v danom softvéri dostupná.
  • ECDSA/EdDSA – Je modernšia varianta založená na probléme riešenia diskrétnych logaritmov nad eliptickými krivkami. Umožňuje vyššiu bezpečnosť pri využití podstatne kratšieho kľúča. Ak generujeme nový pár kľúčov a nepotrebujeme spätnú kompatibilitu pre nejaký historický systém, použijeme skôr tento algoritmus.

Oba vyššie uvedené algoritmy by však teoreticky mohli byť niekedy v budúcnosti prelomiteľné pomocou kvantových počítačov. Preto boli vyvinuté také algoritmy, ktoré sú odolné aj proti tomuto spôsobu útoku. Príkladom je NTRU, šifrovací systém, ktorý na šifrovanie a dešifrovanie dát používa asymetrickú kryptografiu založenú na celočíselných mriežkach.

V budúcej lekcii, Heslá a biometrická ochrana , sa pozrieme na ďalšie využitie kryptografie pri ochrane dát. Budeme sa zaoberať najmä heslami, ich bezpečnosťou a ukladaním, spomenieme aj biometriu a ochranu súkromia.


 

Predchádzajúci článok
Základné pojmy a zásady kybernetickej bezpečnosti
Všetky články v sekcii
Kybernetická bezpečnosť a NIS2
Preskočiť článok
(neodporúčame)
Heslá a biometrická ochrana
Článok pre vás napísal David Janko
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje poradenství převážně v oblasti kybernetické bezpečnosti.
Aktivity