Pojďte se se mnou ponořit do světa cloudové kryptografie, prozkoumat její rozmanité podoby a jak ji implementuje Google Cloud.
Cloud computing, odnož IaaS, už dávno není jen módní záležitostí. Stal se klíčovou silou pro jednotlivce, firmy i vlády, kteří využívají cloudové služby k zjednodušení složitostí spojených s tradiční infrastrukturou.
Cloud ztělesňuje pohodlí, efektivitu nákladů a škálovatelnost.
Jednoduše řečeno, cloud computing znamená pronájem výpočetních zdrojů, jako je úložný prostor, operační paměť nebo procesor, prostřednictvím internetu, aniž byste je fyzicky provozovali na vlastním zařízení.
Příkladem z každodenního života může být Disk Google nebo Yahoo Mail. Svěřujeme těmto společnostem naše data – někdy i citlivé osobní nebo obchodní informace.
Běžný uživatel se obvykle příliš nezabývá otázkami soukromí a bezpečnosti v cloud computingu. Nicméně každý, kdo má alespoň základní povědomí o historii sledování dat nebo současných sofistikovaných kybernetických útocích, by měl být ostražitý a informovaný o aktuální situaci.
Co je cloudová kryptografie?
Cloudová kryptografie se snaží řešit nejistotu spojenou s bezpečností dat v cloudu tím, že šifruje data uložená na cloudových serverech a zabraňuje tak neoprávněnému přístupu.
Šifrování je metoda, která využívá šifrovací algoritmus k transformaci běžných informací na zakódovanou podobu. V takovém případě případný útočník nerozpozná detaily, i když data získá.
Existují různé typy šifrování, které se liší dle způsobu použití. Pro šifrování dat v cloudu je tedy zásadní používat kvalitní šifrovací algoritmus.
Zkuste například pochopit následující text:
Iggmhnctg rtqfwegu jkij-swcnkva vgejpqnqia & hkpcpeg ctvkengu, ocmgu vqqnu, cpf CRKu vq jgnr dwukpguugu cpf rgqrng itqy.
Nejde to, že?
Pro lidský mozek to může být hádanka, ale s použitím dekodéru Caesarovy šifry se text rozloží během okamžiku:
Dokonce i někdo, kdo dobře zná Caesarovu šifru, uvidí, že všechna písmena v zašifrovaném textu jsou posunuta o dvě pozice v abecedě oproti svým ekvivalentům v původním textu.
Z toho plyne, že je nutné používat silnou šifru, jako je například AES-256.
Jak funguje cloudová kryptografie?
Z předchozích řádků by se mohlo zdát, že stačí si jen zvolit vhodnou šifru a data jsou chráněna.
Technicky by to tak fungovat mohlo. Nicméně nejčastěji poskytovatel cloudových služeb umožňuje nativní šifrování nebo je využito šifrování jako služba od třetí strany.
Rozdělíme si tedy tuto problematiku do dvou kategorií a podíváme se na jednotlivé implementace.
#1. Šifrování na cloudové platformě
Jedná se o nejjednodušší metodu, kdy za šifrování zodpovídá renomovaný poskytovatel cloudových služeb.
V ideálním případě to platí pro:
Data v klidu
To znamená, že data jsou uložena v šifrované podobě před přenosem do úložných kontejnerů, nebo po něm.
Protože je cloudová kryptografie poměrně novým přístupem, neexistuje žádný jasně daný způsob, jak vše provádět. Existuje mnoho výzkumných publikací, které zkoumají různé metody, ale nejdůležitější je jejich praktické uplatnění v reálném světě.
Jak tedy společnost s rozsáhlou cloudovou infrastrukturou, jako je Google Cloud, chrání data v klidu?
Podle záznamů Google se data rozdělují do menších skupin o několika gigabajtech a umisťují se do různých úložných kontejnerů na různých počítačích. Konkrétní kontejner může obsahovat data od stejného nebo různých uživatelů.
Navíc, každý datový blok je šifrován individuálně, i když je uložen ve stejném kontejneru a patří stejnému uživateli. To znamená, že v případě prolomení šifrovacího klíče jednoho bloku, ostatní soubory zůstanou v bezpečí.
Zdroj: Google Cloud
Kromě toho se šifrovací klíč mění při každé aktualizaci dat.
Na této úrovni úložiště se data šifrují algoritmem AES-256, s výjimkou některých pevných disků vytvořených před rokem 2015, kde se používá 128bitové šifrování AES.
To je tedy první vrstva šifrování – na úrovni jednotlivých datových bloků.
Dále jsou pevné disky (HDD) nebo SSD, na kterých jsou uloženy tyto datové bloky, šifrovány další vrstvou 256bitového šifrování AES, přičemž některé starší HDD stále používají AES-128. Důležité je, že šifrovací klíče na úrovni zařízení se liší od šifrování na úrovni úložiště.
Všechny klíče pro šifrování dat (DEK) jsou následně zašifrovány pomocí klíčů pro šifrování klíčů (KEK), které se centrálně spravují pomocí služby pro správu klíčů (KMS) společnosti Google. Je důležité, že všechny KEK používají šifrování AES-256/AES-128 bit a alespoň jeden KEK je přiřazen ke každé cloudové službě Google.
Tyto KEK se obměňují alespoň jednou za 90 dní s použitím společné kryptografické knihovny Google.
Každý KEK je zálohován, sledován při každém použití a přístup k němu mají pouze autorizované osoby.
Dále jsou všechny KEK znovu zašifrovány pomocí 256bitového šifrování AES, které generuje hlavní klíč KMS uložený v jiném zařízení pro správu klíčů, nazvaném Root KMS, kde je uloženo jen několik takových klíčů.
Tento Root KMS je spravován na vyhrazených počítačích v každém datovém centru Google Cloud.
Nyní je tento Root KMS zašifrován pomocí AES-256, čímž vzniká jediný hlavní klíč Root KMS, uložený v infrastruktuře peer-to-peer.
Jedna instance Root KMS běží na každém kořenovém distributorovi hlavního klíče KMS, který uchovává klíč v operační paměti.
Každou novou instanci kořenového distributora hlavního klíče KMS schvalují již běžící instance, aby se předešlo neoprávněným manipulacím.
Navíc, pro případ, že by se všechny instance distributora musely spustit současně, je kořenový hlavní klíč KMS zálohován pouze na dvou fyzických místech.
A konečně, méně než 20 zaměstnanců společnosti Google má přístup k těmto vysoce utajovaným místům.
Tímto způsobem praktikuje Google cloudovou kryptografii pro data v klidu.
Pokud ovšem chcete vzít věci do vlastních rukou, můžete si klíče spravovat sami. Alternativně je možné přidat další vrstvu šifrování a spravovat klíče odděleně. Je ovšem nutné mít na paměti, že ztráta těchto klíčů znamená také zablokování přístupu k vlastnímu webovému projektu.
Nicméně, nemůžeme očekávat takovouto úroveň detailů u všech ostatních poskytovatelů cloudu. Vzhledem k tomu, že si Google účtuje za své služby prémiovou cenu, můžete těžit z jiného poskytovatele, který nabízí nižší ceny a přitom vyhovuje vašemu specifickému modelu hrozeb.
Data v přenosu
Jedná se o situace, kdy data putují v rámci datového centra poskytovatele cloudu nebo mimo něj, například když je nahráváte z vlastního počítače.
Opět neexistuje žádný přesně stanovený způsob, jak chránit data při přenosu, podíváme se tedy na implementaci v Google Cloudu.
Bílá kniha o šifrování dat při přenosu zmiňuje tři opatření k zabezpečení nestacionárních dat: ověřování, šifrování a kontrolu integrity.
Ve svém datovém centru Google zabezpečuje přenos dat ověřováním koncových bodů a potvrzením integrity s volitelným šifrováním.
I když si uživatel může zvolit další opatření, Google deklaruje vysokou úroveň bezpečnosti ve svých prostorách s přísně monitorovaným přístupem, který je povolen pouze několika jeho zaměstnancům.
Mimo své fyzické hranice společnost Google aplikuje rozdílnou politiku pro své vlastní cloudové služby (jako je Disk Google) a pro jakoukoli zákaznickou aplikaci hostovanou v jeho cloudu (jako jakýkoli web běžící na jeho výpočetním enginu).
V prvním případě veškerý provoz nejprve směřuje do kontrolního bodu známého jako Google Front End (GFE) pomocí protokolu Transport Layer Security (TLS). Následně je provoz podroben mitigaci DDoS, rozkládá se zatížení mezi servery a nakonec se přesměrovává k cílové službě Google Cloud.
V druhém případě odpovědnost za zajištění bezpečnosti dat při přenosu spočívá většinou na majiteli infrastruktury, pokud nepoužívá jinou službu Google (jako je jeho Cloud VPN).
Obecně se protokol TLS používá k zajištění toho, aby s daty během přenosu nebylo manipulováno. Jedná se o stejný protokol, který se standardně používá při připojování k webové stránce pomocí protokolu HTTPS a je symbolizován ikonou visacího zámku v adresním řádku prohlížeče.
I když se běžně používá ve všech webových prohlížečích, můžete ho použít i pro jiné aplikace, jako je e-mail, audio/video hovory, rychlé zprávy atd.
Pro nejvyšší standardy šifrování existují i virtuální privátní sítě, které opět poskytují více vrstev zabezpečení s pokročilými šifrovacími algoritmy, jako je AES-256.
Nicméně, implementace cloudové kryptografie na vlastní pěst je obtížná, což nás vede k…
#2. Šifrování jako služba
Tato možnost přichází v úvahu v situaci, kdy jsou výchozí bezpečnostní protokoly ve vaší cloudové platformě slabé nebo zcela chybí pro určité případy použití.
Jedním z logických řešení je dohlížet na vše sami a zajistit bezpečnost dat na firemní úrovni. Nicméně, to se snadno řekne, ale hůře udělá a eliminuje bezproblémový přístup, kvůli kterému si někdo cloud computing zvolí.
Zbývá nám tedy používání šifrování jako služby (EAAS), jako je například CloudHesive. Podobně jako u cloud computingu, si tentokrát „pronajímáte“ šifrování, a ne CPU, RAM, úložiště, atd.
V závislosti na poskytovateli EAAS můžete využívat šifrování pro data v klidu i pro data při přenosu.
Výhody a nevýhody cloudové kryptografie
Nejvýraznější výhodou je bezpečnost. Cloudová kryptografie zajišťuje, že data vašich uživatelů zůstanou mimo dosah kyberzločinců.
I když cloudová kryptografie nedokáže zabránit každému hackerskému útoku, je o tom udělat maximum pro zajištění bezpečnosti a mít pádný argument, pokud se něco pokazí.
Co se týče nevýhod, mezi první patří náklady a čas potřebný k vylepšení stávajícího bezpečnostního rámce. Kromě toho není mnoho možností, jak si pomoci, pokud během vlastní správy ztratíte přístup k šifrovacím klíčům.
A protože se jedná o novou technologii, není snadné najít ověřenou službu EAAS.
Nejlepším řešením je jednoznačně spoléhat na renomovaného poskytovatele cloudových služeb a na jeho nativní kryptografické mechanismy.
Závěrem
Doufáme, že vám tento článek poskytl ucelený pohled na cloudovou kryptografii. Jednoduše řečeno, jedná se o zabezpečení dat souvisejících s cloudem, včetně případů, kdy cestují mimo něj.
Většina špičkových společností s cloudovou infrastrukturou, jako jsou Google Cloud, Amazon Web Services, atd., má dostatečné zabezpečení pro maximální počet případů použití. Nicméně, neuškodí si projít technický žargon, než začnete u kohokoli hostovat své kritické aplikace.
PS: Podívejte se na některé z řešení optimalizace nákladů pro cloudové služby AWS, Google Cloud, Azure atd.