Doporučení pro šifrování dat

Platí pro doporučení kontrolního seznamu zabezpečení Well-Architected Framework:

SE:07 Šifrování dat pomocí moderních standardních metod k ochraně důvěrnosti a integrity. Sladění rozsahu šifrování s klasifikacemi dat; určit prioritu metod šifrování nativní platformy.

Pokud vaše data nejsou chráněná, mohou být úmyslně upravena, což vede ke ztrátě integrity a důvěrnosti.

Tato příručka popisuje doporučení pro šifrování a ochranu dat. Šifrování je proces použití kryptografických algoritmů k tomu, aby data byla nečitelná a uzamknout je klíčem. V šifrovaném stavu nelze data dešifrovat. Dá se dešifrovat jenom pomocí klíče, který je spárovaný s šifrovacím klíčem.

Definice

Terminologie Definice
Certifikáty Digitální soubory, které obsahují veřejné klíče pro šifrování nebo dešifrování.
Šifrovací sada Sada algoritmů, které se používají k šifrování a dešifrování informací k zabezpečení síťového připojení přes protokol TLS (Transport Layer Security).
Důvěrné výpočetní operace Důvěrné výpočetní prostředí je ochrana dat, která se používají, prováděním výpočtů v hardwarovém a ověřeném důvěryhodném spouštěcím prostředí.
Dešifrování Proces, při kterém se šifrovaná data odemknou tajným kódem.
Dvojité šifrování Proces šifrování dat pomocí dvou nebo více nezávislých vrstev šifrování.
Šifrování Proces, při kterém jsou data nečitelná a uzamčená tajným kódem.
Hash Proces transformace dat na text nebo čísla se záměrem skrýt informace.
Klíče Tajný kód, který se používá k uzamčení nebo odemknutí šifrovaných dat.
Podpis Šifrované razítko ověřování dat.
certifikát Proces ověřování pravosti dat pomocí podpisu.
X.509 Standard, který definuje formát certifikátů veřejných klíčů.

Klíčové strategie návrhu

Mechanismy šifrování můžou vynucovat mandáty organizace nebo zákonné požadavky. Může například existovat požadavek, aby data zůstala pouze ve vybrané oblasti a kopie dat se v této oblasti uchovávají.

Tyto požadavky jsou často základním minimem. Snažte se o vyšší úroveň ochrany. Jste zodpovědní za to, že zabráníte únikům důvěrnosti a manipulaci s citlivými daty, ať už se jedná o data externích uživatelů nebo o údaje zaměstnanců.

Scénáře šifrování

Mechanismy šifrování pravděpodobně potřebují zabezpečit data ve třech fázích:

  • Neaktivní uložená data jsou všechny informace, které se uchovávají v objektech úložiště.

    Příkladem zabezpečení neaktivních uložených dat je použití nástroje BitLocker k šifrování dat uložených na disku.

  • Přenášená data jsou informace přenášené mezi komponentami, umístěními nebo programy.

    Příkladem zabezpečení přenášených dat je šifrování dat pomocí protokolu TLS, aby pakety, které se přesouvají přes veřejné a privátní sítě, byly zabezpečené.

  • Užitá data jsou data, se kterými se aktivně pracuje v paměti.

    Příkladem zabezpečení užitých dat je šifrování pomocí důvěrných výpočetních operací, které chrání zpracovávaná data.

Předchozí možnosti se vzájemně nevylučují. Často se používají společně v kontextu celého řešení. Jedna fáze může fungovat jako kompenzační ovládací prvek. Můžete například potřebovat izolovat data, abyste zabránili manipulaci při čtení dat z paměti.

Rozsah šifrování

Klasifikujte data podle jejich účelu a úrovně citlivosti a určete, jaká data potřebujete šifrovat. U dat, která by se měla šifrovat, určete požadovanou úroveň ochrany. Potřebujete komplexní šifrování TLS pro všechna přenášená data? Které funkce Azure můžou splňovat vaše požadavky v případě neaktivních uložených dat? Potřebujete dvojitě šifrovat data v každém bodě úložiště? Jak implementujete ochranu informací?

Je důležité vyvážit svá rozhodnutí o šifrování, protože existují významné kompromisy.

Kompromis: Každý segment směrování šifrování může představovat latenci výkonu. Provozní složitosti mohou nastat v souvislosti s řešením potíží a pozorovatelností. Obnovení může být náročné.

Vymezení těchto kompromisů Předvídejte kompromisy pro data klasifikovaná jako citlivá. Požadavky můžou dokonce určovat kompromisy, například když určitý typ dat musí být zašifrovaný a uložený v rámci určitých prahových hodnot.

V některých případech není šifrování možné kvůli technickým omezením, investicím nebo jiným důvodům. Ujistěte se, že jsou tyto důvody jasné, platné a zdokumentované.

Mechanismy silného šifrování by neměly být jedinou formou ochrany. Implementujte procesy prevence krádeže dat, správné testovací metody a detekci anomálií.

Informace o klasifikaci najdete v tématu Doporučení ke klasifikaci dat.

Mechanismy nativního šifrování

Většina služeb Azure poskytuje základní úroveň šifrování. Prozkoumejte možnosti šifrování poskytované platformou.

Důrazně doporučujeme nezakazovat funkce platformy, abyste mohli vyvíjet vlastní funkce. Funkce šifrování platformy využívají moderní oborové standardy, vyvíjejí je odborníci a jsou vysoce testované.

Ve výjimečných případech, pokud potřebujete nahradit šifrování poskytované platformou, vyhodnoťte klady a zápory a použijte standardní kryptografické algoritmy.

Vývojáři by měli místo neplatformních kryptografických knihoven používat rozhraní API kryptografie, která jsou integrovaná do operačního systému. Pro .NET postupujte podle modelu kryptografie .NET.

Šifrovací klíče

Ve výchozím nastavení služby Azure používají k šifrování a dešifrování dat šifrovací klíče spravované Microsoftem. Azure zodpovídá za správu klíčů.

Můžete zvolit klíče spravované zákazníkem. Azure stále používá vaše klíče, ale za operace klíčů zodpovídáte vy. Kdykoli budete chtít, můžete klíče měnit. Dešifrování je přesvědčivým důvodem k používání klíčů spravovaných zákazníkem.

Měli byste spárovat silné šifrování se silným dešifrování. Z hlediska zabezpečení je ochrana dešifrovacího klíče důležitá, protože rotace je běžný způsob, jak řídit poloměr výbuchu v případě ohrožení klíče. Monitorování přístupu za účelem zjištění neobvyklého přístupu a aktivit

Ukládejte klíče odděleně od šifrovaných dat. Toto oddělení pomáhá zajistit, aby ohrožení zabezpečení jedné entity neovlivnilo druhou entitu. Pokud používáte klíče spravované zákazníkem, uložte je do úložiště klíčů. Ukládejte vysoce citlivá data do spravovaného modulu hardwarového zabezpečení (HSM).

Obě úložiště jsou chráněná pomocí přístupu na základě identity. Tato funkce umožňuje odepřít přístup, a to i k platformě.

Standardní šifrovací algoritmy

Místo vytváření vlastních implementací používejte kryptografické algoritmy, které jsou dobře zavedené a dodržují oborové standardy.

Oborové standardy pro algoritmy vyžadují, aby schémata šifrování měla určitou úroveň entropie. Zdroje entropie se vloží během šifrování. Díky entropii je algoritmus silný a útočníkovi znesnadňuje extrakci informací. Určete přípustné prahové hodnoty entropie. Postupy šifrování jsou náročné na procesor. Najděte správnou rovnováhu, abyste maximalizovali výpočetní cykly vynaložené na šifrování vzhledem k celkovým cílům výkonu požadavku na výpočetní prostředky.

Kompromis: Pokud zvolíte algoritmus, který je vysoce složitý nebo injektuje více než přiměřenou míru entropie, sníží výkon vašeho systému.

Hodnoty hash a kontrolní součty

Hashování je obvykle technika detekce chyb. K zabezpečení můžete také použít hashování , protože detekuje změny dat, které by mohly být způsobeny manipulací. Funkce hash jsou založené na kryptografii, ale nepoužívají klíče. Hashovací funkce používají algoritmy k vytváření kontrolních součtů. Kontrolní součty můžou porovnávat data a ověřovat jejich integritu.

Aplikace by měly používat řadu hashovacích algoritmů SHA-2, například SHA-256, SHA-384 nebo SHA-512.

Neaktivní uložená data

Klasifikujte a chraňte objekty úložiště informací v souladu s interními a externími požadavky na dodržování předpisů. Projděte si následující doporučení:

  • Šifrování dat pomocí nativních možností , které jsou k dispozici pro služby úložiště, úložiště dat a další prostředky, které se používají k uchování dat. Zašifrujte tato data i v případě, že data v těchto službách úložiště nebo prostředcích ukládáte jenom dočasně. Zašifrujte také zálohovaná data, abyste zachovali stejnou úroveň zabezpečení jako původní zdroj.

    Další informace najdete v tématu Ochrana neaktivních uložených dat.

  • Použijte dvojité šifrování. Pokud vaše obchodní požadavky vyžadují vyšší jistotu, můžete provést dvojité šifrování. Šifrování dat ve dvou nebo více vrstvách pomocí nezávislých klíčů spravovaných zákazníkem Uložte data ve spravovaném HSM. Ke čtení dat potřebujete přístup k oběma klíčům. Pokud dojde k ohrožení zabezpečení jednoho klíče, druhý klíč stále chrání data. Cílem této techniky je zvýšit náklady útočníka.

    K dvojitému šifrování dat můžete také použít šifrování poskytované platformou. Šifrování poskytované platformou chrání médium úložiště na úrovni infrastruktury a na úrovni dat použijete další vrstvu šifrování. Například služba zprostředkovatele zpráv má šifrování poskytované platformou prostřednictvím klíčů spravovaných Microsoftem, které chrání kanál zprávy. Tato metoda umožňuje šifrovat zprávy pomocí klíčů spravovaných zákazníkem.

    Použijte více než jeden šifrovací klíč. K ochraně šifrovacího klíče dat (DEK) použijte šifrovací klíč klíče (KEK).

  • Řízení přístupu k datům pomocí řízení přístupu na základě identity. Přidáním síťových bran firewall zajistíte další vrstvu zabezpečení, která blokuje neočekávaný a nebezpečný přístup.

    Další informace najdete v tématu Doporučení pro správu identit a přístupu.

  • Ukládejte klíče ve spravovaném modulu HSM , který má řízení přístupu s nejnižšími oprávněními. Oddělte data od klíčů od dat.

  • Ukládejte omezené množství dat , abyste šifrili jenom to, co je potřeba. Vaše data by neměla být v provozu déle než váš šifrovací cyklus. Pokud už data nepotřebujete, odstraňte šifrovaná data bez cyklů dešifrování útraty.

Přenášená data

  • Pro komunikaci mezi klientem a serverem používejte zabezpečené protokoly. Transportní protokoly mají integrovanou vrstvu zabezpečení. Protokol TLS je oborový standard pro výměnu dat mezi koncovými body klienta a serveru.

    Nepoužívejte verze nižší než TLS 1.2. Migrujte řešení pro podporu protokolu TLS 1.2 a ve výchozím nastavení používejte tuto verzi. Všechny služby Azure podporují protokol TLS 1.2 na veřejných koncových bodech HTTPS.

    Riziko: Starší klienti, kteří nepodporují protokol TLS 1.2, nemusí správně fungovat, pokud není podporovaná zpětná kompatibilita.

    Veškerá komunikace na webu by měla používat protokol HTTPS bez ohledu na citlivost přenášených dat. Během metody handshake mezi klientem a serverem vyjednávejte použití zásad HTTP Strict Transport Security (HSTS), aby byl přenos HTTPS zachován a během komunikace nepřepadával do protokolu HTTP. Tato zásada chrání před útoky man-in-the-middle.

    Podpora HSTS je určená pro novější verze. Zpětnou kompatibilitu můžete přerušit se staršími prohlížeči.

    Poznámka

    Můžete také šifrovat protokoly a navazovat zabezpečená připojení pro databáze. Například Azure SQL Database podporuje protokol TDS (Tabular Data Stream), který integruje metodu handshake protokolu TLS.

    Šifrovací sada je sada algoritmů, které se používají ke standardizaci metody handshake mezi klientem a serverem. Šifry zajišťují, že je exchange šifrovaný a ověřený. Volba šifer závisí na verzi protokolu TLS, kterou server používá. U některých služeb, například Azure Application Gateway, můžete zvolit verzi protokolu TLS a šifrovací sady, které chcete podporovat. Implementujte šifrovací sady, které používají standard AES (Advanced Encryption Standard) jako symetrickou blokovou šifru. AES-128, AES-192 a AES-256 jsou přijatelné.

  • Správa životního cyklu certifikátů Certifikáty mají předem stanovenou životnost. Neuchovávejte dlouhodobé certifikáty a nedovolte, aby jejich platnost vypršela sama. Implementujte proces, který obnovuje certifikáty s přijatelnou frekvencí. Proces obnovení, ke kterým dochází v krátkých intervalech, můžete automatizovat.

    Poznámka

    Pokud používáte připnutí certifikátu, seznamte se s omezeními flexibility a správy certifikátů.

    Váš pracovní postup by neměl umožňovat přijetí neplatných certifikátů v prostředí. Proces připnutí certifikátu by měl certifikáty ověřit a vynutit kontrolu ověření. Měli byste monitorovat protokoly přístupu, abyste měli jistotu, že se podpisový klíč používá se správnými oprávněními.

    Pokud dojde k ohrožení zabezpečení klíče, musí být certifikát okamžitě odvolán. Certifikační autorita (CA) poskytuje seznam odvolaných certifikátů (CRL), který označuje certifikáty, které byly před vypršením platnosti zneplatněny. Vaše ověřovací kontrola by měla zohlednit seznamy CRL.

    Kompromis: Proces ověření certifikace může být těžkopádný a obvykle zahrnuje certifikační autoritu. Určete data, která musíte šifrovat pomocí certifikátů. U jiných typů komunikace určete, jestli můžete implementovat lokalizované kompenzační ovládací prvky pro zvýšení zabezpečení.

    Jedním ze způsobů lokalizace ovládacích prvků je vzájemné šifrování TLS (mTLS). Vytváří vztah důvěryhodnosti v obou směrech mezi klientem a serverem. Klient i server mají vlastní certifikáty a každý certifikát se ověřuje pomocí páru veřejného nebo privátního klíče. U mTLS nejste závislí na externí certifikační autoritě. Kompromis spočívá v další složitosti správy dvou certifikátů.

  • V případě potřeby dvakrát zašifrujte připojení VPN. Proveďte dvojité šifrování, abyste do svého tunelu VPN přidali hloubku ochrany. Pokud používáte dva servery VPN, můžete skrýt IP adresu mezi servery a také skrýt IP adresu mezi serverem a cílem. Během tohoto procesu se přenášená data šifrují také dvakrát.

    Kompromis: V porovnání s nastavením jedné sítě VPN jsou nastavení dvojité sítě VPN často dražší a připojení jsou často pomalejší.

  • Implementujte procesy protokolování a monitorování. Mějte přehled o přístupových přihlašovacích prostředcích, které ukládají informace o klientech, jako jsou jejich zdrojová IP adresa, port a protokol. Tyto informace slouží k detekci anomálií.

Použitá data

Pro úlohy s vysokým zabezpečením se doporučuje model návrhu segmentace, izolace a nejnižší úroveň zabezpečení.

V kontextu ochrany při použití můžou hardwarové hranice vyžadovat šifrování dat, která se používají ve fyzickém procesoru a paměti, aby se zajistila izolace virtuálních počítačů, kódu pro správu hostitele a dalších komponent.

Šifrování a dešifrování dat se musí provádět pouze v rámci těchto hranic izolace.

Přísnější bezpečnostní nebo regulační požadavky mohou také vyžadovat hardwarově a kryptograficky podepsané důkazy o tom, že se data během používání šifrují. To lze získat ověřením identity.

Použití moderních opatření zabezpečení a ochrany osobních údajů je běžným požadavkem pro regulační úlohy. Důvěrné výpočty jsou jednou z takových technologií, které tento požadavek podporují. Konkrétní služby v Azure nabízejí možnost chránit data při jejich výpočtu. Další informace najdete v tématu Usnadnění Azure: Důvěrné výpočetní prostředky Azure.

Vezměte v úvahu, že koncový životní cyklus dat, která chráníte , se často během své životnosti pohybují v několika systémech, dbejte na to, aby všechny součásti řešení mohly poskytovat požadované úrovně ochrany, nebo zajistěte, aby vaše strategie správy dat poskytovala odpovídající segmentaci nebo maskování.

Usnadnění Azure

Následující části popisují služby a funkce Azure, které můžete použít k šifrování dat.

Klíče spravované zákazníkem

Klíče spravované zákazníkem ukládejte v Azure Key Vault nebo v hsm spravovaném Key Vault.

Key Vault zachází se klíči jako s jakýmkoli jiným tajným kódem. Řízení přístupu na základě role v Azure (RBAC) přistupuje ke klíčům prostřednictvím modelu oprávnění. Toto řízení založené na identitách se musí používat se zásadami přístupu Key Vault.

Další informace najdete v tématu Poskytnutí přístupu ke klíčům Key Vault, certifikátům a tajným klíčům pomocí RBAC.

Azure Key Vault Premium a Managed-HSM tuto nabídku dále vylepšují tím, že zahrnují možnosti důvěrných výpočetních operací a bezpečné uvolnění klíče, které podporují zásadu, která zajišťuje, že klíč se vždy uvolní pouze pro úlohu, která může kryptograficky prokázat, že se spouští v důvěryhodném spouštěcím prostředí (TEE).

Ochrana neaktivních uložených dat
  • Azure Storage automaticky šifruje vaše data pomocí blokových šifer, když jsou uložená v účtu úložiště. Pro Azure Blob Storage a Azure Queue Storage poskytuje služba Storage také šifrování na straně klienta prostřednictvím knihoven.

    Další informace najdete v tématu Šifrování úložiště.

  • Azure Virtual Machines obsahuje diskové soubory, které slouží jako virtuální svazky úložiště. Soubory virtuálního disku můžete zašifrovat, aby k obsahu nebylo možné získat přístup.

    Spravované disky je možné exportovat z portálu. Šifrování na straně serveru a šifrování na hostiteli může chránit data až po jejich exportu. Během procesu exportu byste ale měli chránit data. Azure Disk Encryption můžete použít k ochraně a ochraně dat během procesu exportu.

    Azure nabízí několik možností šifrování pro spravované disky. Další informace najdete v tématu Přehled možností šifrování spravovaných disků.

  • SQL Database nabízí funkci transparentního šifrování dat, která se používá k šifrování souboru databáze na úrovni stránky.

Ochrana při přenosu dat

S Key Vault můžete zřizovat, spravovat a nasazovat veřejné a privátní certifikáty SSL (Secure Sockets Layer) nebo TLS. Certifikáty můžete používat s Azure a s interními připojenými prostředky.

Ochrana dat při použití

Konkrétní služby v Azure nabízejí možnost chránit data při jejich výpočtu v rámci fyzického procesoru a paměti hostitele pomocí důvěrných výpočetních operací Azure.

  • Důvěrné Virtual Machines nabízejí celý virtuální počítač spuštěný v rámci TEE, paměť a obsah procesoru virtuálního počítače jsou šifrované, což nabízí jednoduchý přístup "lift & shift" pro přesun nezměněných aplikací s vysokými požadavky na zabezpečení do Azure. Každý důvěrný virtuální počítač Azure má vlastní vyhrazený virtuální čip TPM (Trust Platform Module). Šifrování se provádí při zabezpečeném spouštění součástí operačního systému.

  • Důvěrné pracovní uzly AKS, důvěrné kontejnery v AKS nebo důvěrné kontejnery v Azure Container Instances (ACI) nabízejí možnost spouštět a spravovat nezměněné kontejnery v rámci TEE, což zákazníkům umožňuje využívat výhod ochrany při používání. Nabídky kontejnerů jsou postavené na důvěrných Virtual Machines a využívají stejné ochrany.

  • Řešení enklávy aplikací jsou speciálně vytvořené aplikace využívající specifická rozšíření procesoru nabízená skladovými jednotkami virtuálních počítačů, které podporují rozšíření Intel Software Guard Extensions (SGX). Tyto aplikace nabízejí velmi podrobnou důvěryhodnou výpočetní základnu (TCB), ale vyžadují, aby aplikace byly speciálně naprogramované, aby tyto funkce využívaly.

  • S těmito technologiemi je možné zkombinovatzabezpečené vydávání klíčů, aby se zajistilo, že se šifrovaná data dešifrují jenom v rámci TEE, což prokáže, že poskytuje požadovanou úroveň ochrany prostřednictvím procesu známého jako ověření identity.

Správa tajných kódů

Key Vault můžete použít k bezpečnému ukládání a řízení přístupu k tokenům, heslům, certifikátům, klíčům rozhraní API a dalším tajným klíčům. Jako řešení pro správu klíčů a certifikátů použijte Key Vault. Skladová položka Premium podporuje moduly HSM.

Příklad

Následující příklad ukazuje řešení šifrování, která můžete použít ke správě klíčů, certifikátů a tajných kódů.

Diagram znázorňující řešení šifrování pro správu klíčů, certifikátů a tajných kódů

Kontrolní seznam zabezpečení

Projděte si kompletní sadu doporučení.

Kontrolní seznam zabezpečení