česky english Vítejte, dnes je čtvrtek 14. listopad 2024

Technika šifrování aneb klíč k bezpečnosti

DPS 5/2017 | Články
Autor: Daniel Barth, Rutronik

Titulky novin stále plní hrozby související s novými technologiemi, ať je to krádež vozidel se systémem Keyless Go, odposlechové skandály, odcizení dat, prozrazení hesel na internetu, nebo phishingové útoky. Největší škody však většinou nepocítí uživatelé. Pokud se negativní publicita jednou spojí s nějakým produktem nebo s nějakým výrobcem, vážně ohrozí jeho podnikání. Ve srovnání s tím nabízí technologie šifrování relativně levnou ochranu. Jsou-li ve hře osobní údaje, nelze se jí ve smyslu zákona o ochraně údajů stejně žádným způsobem vyhnout.

Právě u vestavěných systémů se téma bezpečnosti často zanedbává. Následkem pak je, že přes napadené přístroje mohou hackeři proniknout na celou podnikovou síť, a tím i na IP (intellectual property) stejně jako na obchodní tajemství a manipulovat s daty. Uživatelé chytrých zařízení v domácnosti mohou přes bezpečnostní kameru nevědomky předat informace potenciálním zlodějům nebo jim pomocí automatického ovládání dokonce otevřít dveře a okna. Rovněž auto nabízí prostřednictvím autonomních jízd a aktualizací firmwaru „vzduchem“ téměř nekonečně mnoho možností napadení. Je-li znám nějaký takový případ, ztratí se důvěra zákazníků v toto zařízení nebo vůbec v celou společnost. Proto by šifrování mělo být u každého výrobce produktů provozovaných v síti na seznamu priorit úplně nahoře.

Pro pochopení šifrování je důležité sledovat jeho cíle. Tyto cíle jsou zaměřeny na tři klíčové body: autenticita (authenticity), důvěrnost (confidentiality) a integrita (integrity). Pokud například uživatel ve své firemní síti bezdrátově propojí několik produktů, tak je důležité, aby pro tuto síť zvolil jen autorizované produkty a aby byla v rámci sítě chráněna jak data, tak i celý systém. To znamená, že do sítě nesmí proniknout nikdo nepovolaný (authenticity), nesmí si prohlížet data (confidentiality) nebo s nimi manipulovat (integrity). Moderní kryptografie pokrývá všechny tři aspekty. K dispozici jsou dva různé základní funkční způsoby: symetrické a asymetrické šifrování.

Technika šifrování aneb klíč k bezpečnosti

Symetrické šifrování

U symetrického šifrování se pro šifrování i dešifrování používá tentýž klíč. Nejznámější a nejčastěji používanou metodou je šifra AES (Advanced Encryption Standard). AES pracuje s klíči o délce 128, 192 nebo 256 bitů. Již klíče AES o délce 128 bitů jsou podle současné technické úrovně považovány za bezpečné.

Přitom je třeba si uvědomit, že od doby, kdy Auguste Kerckhoff v roce 1883 formuloval princip moderní kryptografie, stále platí: Bezpečnost metody šifrování spočívá v utajení klíče, a ne v utajení algoritmu. To je mimořádně důležité u symetrického šifrování, jako je AES, protože na obou stranách (šifrování a dešifrování) se používá stejný klíč. Je-li tento klíč znám, resp. prozrazen, je celé šifrování bezpředmětné. Proto je u šifry AES největší výzvou správa klíčů. Zde se musí především zajistit, aby byly klíče generovány pomocí skutečného náhodného generátoru, aby byly bezpečně uloženy a nemohly být zachyceny při prvním předání.

Asymetrické šifrování

Asymetrické šifrování používá vždy dva různé klíče: jeden soukromý (private key) a jeden veřejný (public key). Vytváří se vždy v páru. Soukromý klíč zůstane uchován u výrobce klíče, veřejný klíč se předá protistraně. Ta může šifrovat zprávy pomocí veřejného klíče, které mohou být pak dešifrovány jen pomocí příslušného soukromého klíče. Soukromý klíč umí navíc vytvořit podpis, pomocí kterého se odesílatel může jednoznačně identifikovat vůči použití příslušného veřejného klíče.

Asymetrické klíčování je založeno na matematických jednosměrných funkcích. Tuto funkci lze snadno vyčíslit, ale z výsledku funkce je velmi obtížné odvodit její vstup. Díky neustále zdokonalovanému výkonu počítačů roste i jejich schopnost vypočítat komplexní inverzní funkce. Pro zajištění dostatečné bezpečnosti musí mít klíče určitou délku. Jako bezpečné platí v současné době klíče o délce 2048 bitů, jako např. RSA 2048. Jelikož při rostoucí délce klíče klesá rychlost šifrování a dešifrování, jsou asymetrické metody smysluplné jen u malého množství dat.

Eliptické křivky pro vyšší rychlost

Alternativou tohoto původního asymetrického šifrování je kryptografie eliptických křivek (Elliptic Curve Cryptographie – ECC). Založena je na stejném principu, využívá však body na eliptických křivkách. Počítačové operace jsou pak značně náročnější a zajistí to, že již klíče o délce 256 bitů poskytnou bezpečnost podle současné technické úrovně. ECC 256 přitom potřebuje jen o něco málo víc času než srovnatelná symetrická metoda.

Hybridní šifrování eliminuje nevýhody

Pokud je pro uživatelská data zvoleno symetrické šifrování, ale bezpečnost není dostačující, lze ji zvýšit pomocí hybridního šifrování. Při tom se symetrický klíč odesílá ještě jednou šifrovaný pomocí asymetrického veřejného klíče, aby pouze autorizovaný příjemce měl možnost dešifrovat symetrický klíč pomocí vhodného soukromého klíče.

Zároveň může odesílatel symetrického klíče pomocí svého soukromého klíče vytvořit podpis, který ho při použití vhodného veřejného klíče jednoznačně identifikuje vůči jeho protějšku. Jsou-li tyto klíče vyměněny a dešifrovány, je položen základ pro symetricky šifrovanou komunikaci.

Tato metoda díky kombinaci eliminuje nevýhody obou metod, totiž nebezpečné předávání klíčů u symetrického šifrování a malou rychlost u asymetrického šifrování.

Hardware nebo software?

Každou metodu šifrování lze realizovat buď v softwaru, nebo v hardwaru. Softwarově založené šifrování má velkou nevýhodu, protože program netvoří samostatnou uzavřenou jednotku, ale je vytvořen vždy v závislosti na svém prostředí, např. na operačním systému. Proto je náchylný k chybám a k útokům. K tomu se přidává další nevýhoda: Jelikož náročné šifrování a dešifrování musí převzít mikrořadič nebo procesor vestavěného systému, nelze zabránit ztrátám výkonu počítače.

Proti tomu stojí šifrování pomocí čipových karet (IC), které byly původně vyvinuty právě pro tento účel. Jejich jedinou funkcí je šifrování, takže nedochází k žádným ztrátám výkonu. Šifrování integrovanými obvody (IC) je navíc chráněno proti fyzickým útokům. Bezpečnost těchto součástí, a tím i bezpečnost klíčů je proto nezávislá na bezpečnosti celého systému.

Šifrování IC v různých provedeních splňuje požadavky různých aplikací: Jednoduché autentizační čipy, např. řady Infineon Optiga Trust, používají asymetrické šifrování (ECC 163) a jsou doporučeny například pro autentizaci originálního příslušenství firmy Consumer Electronics. Řada Optiga Trust E se šifrováním ECC 256 a SHA 256 zajišťuje autentizaci např. lékařského vybavení, v chytrých domech, v průmyslovém prostředí nebo autentizaci ve správě licencí u cloud computingu. Řada Optiga Trust P se šifrováním ECC 521 a RSA 2048 má operační systém založený na softwaru Java, ve kterém lze programovat vlastní applety. Rovněž produkty STSAFE (ECC 384, SHA 384, AES 256) společnosti STMicroelectronics nabízí maximální ochranu, mimo jiné díky bezpečné autentizaci, šifrované komunikaci, bezpečnému ukládání klíčů a zálohování při aktualizacích firmwaru. Standardizované zabezpečené šifrovací procesory TPM (trusted platform modul) spojují nejnáročnější šifrování a bezpečné ukládání velkého počtu klíčů a podpisů s ochranou proti fyzickému přečtení informací, které jsou v nich uloženy. Nabízí je např. společnosti Infineon a Microchip/Atmel.

Šifrovaný chytrý dům

Jednoduchý příklad z praxe osvětlí použití šifrování čipovými kartami: V chytrém domě zaručují jednoduché autentizační čipy, jako např. Optiga Trust SLS, že se do centrální brány (gateway) chytrého domu mohou přihlásit jen oprávněná koncová zařízení – například uživatelem instalované ovládání žaluzií nebo kamerový systém. Bezpečný mikrořadič STSAFE zašifruje komunikaci mezi kamerou a centrální bránou. TPM (zabezpečený šifrovací procesor) zajišťuje v centrální bráně uložení klíče, aktualizaci firmwaru a přenos všech údajů do cloudu. Majitel si může být jistý, že bude zaručena autenticita (authenticity), důvěrnost (confidentiality) i integrita (integrity).