Doporučení pro šifrování dat

Platí pro doporučení kontrolního seznamu zabezpečení pro dobře navrženou architekturu:

SE:07 Šifrování dat pomocí moderních standardních metod pro ochranu důvěrnosti a integrity Sladění rozsahu šifrování s klasifikacemi dat; upřednostnění metod šifrování nativní platformy

Pokud vaše data nejsou chráněná, může se zlými úmysly upravit, 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 data uzamknut pomocí klíče. V šifrovaném stavu nelze data dešifrovat. Dešifruje se jenom pomocí klíče, který je spárovaný s šifrovacím klíčem.

Definice

Termíny Definice
Certifikáty Digitální soubory, které obsahují veřejné klíče pro šifrování nebo dešifrování
Sada šifer Sada algoritmů, které slouží k šifrování a dešifrování informací za účelem 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í, provedením výpočtů v hardwarovém atestované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, podle kterého jsou data nečitelná a uzamčená tajným kódem.
Hash Proces transformace dat na text nebo čísla s záměrem skrytí informací.
Klávesy Tajný kód, který slouží k uzamčení nebo odemknutí šifrovaných dat.
Podpis Šifrované razítko ověřování dat.
certifikát Proces ověření pravosti dat pomocí podpisu.
X.509 Standard, který definuje formát certifikátů veřejného klíče.

Klíčové strategie návrhu

Organizační mandáty nebo zákonné požadavky můžou vynucovat mechanismy šifrování. Může se například vyžadovat, aby data zůstala pouze ve vybrané oblasti a kopie dat se v této oblasti zachovaly.

Tyto požadavky jsou často základním minimem. Snažte se o vyšší úroveň ochrany. Zodpovídáte za zabránění úniku informací a manipulaci s citlivými daty bez ohledu na to, jestli se jedná o data externích uživatelů nebo data zaměstnanců.

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é jsou uložené v objektech úložiště.

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

  • 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, takže pakety, které se přesouvají přes veřejné a privátní sítě, jsou zabezpečené.

  • Užitá data jsou data, na která 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 prostředků za účelem ochrany dat při jejich zpracování.

Předchozí volby 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, aby se zabránilo manipulaci, když se data čtou z paměti.

Určení požadavků na š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? Pro neaktivní uložená data, které funkce Azure můžou splňovat vaše požadavky? Potřebujete dvakrát zašifrovat data v každém bodu úložiště? Jak implementujete ochranu informací?

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

Kompromis: Každý segment směrování šifrování může zavádět latenci výkonu. K provozní složitosti může dojít ve vztahu k řešení potíží a pozorovatelnosti. Obnovení může být náročné.

Rozsahtěchtoch Předvídejte kompromisy pro data klasifikovaná jako citlivá. Požadavky mohou dokonce určit kompromisy, například pokud určitý typ dat musí být zašifrován a uložen v určitých prahových hodnotách.

Existují případy, kdy šifrování není 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é.

Silné mechanismy šifrování by neměly být vaší jedinou formou obrany. Implementujte procesy prevence krádeže dat, správné metody testování a detekci anomálií.

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

Použití nativních mechanismů š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 pro vývoj vlastních funkcí. Funkce šifrování platformy používají moderní oborové standardy, jsou vyvíjeny odborníky a jsou vysoce testovány.

Pokud potřebujete šifrování poskytované platformou nahradit ve výjimečných případech, vyhodnoťte výhody a nevýhody a používejte 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. V případě .NET postupujte podle kryptografického modelu .NET.

Volba přístupu k šifrovacím klíčům

Služby Azure ve výchozím nastavení používají šifrovací klíče spravované Microsoftem k šifrování a dešifrování dat. 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 zodpovídáte za operace s klíči. Když budete chtít, budete mít možnost měnit klíče . Dešifrování je přesvědčivým důvodem použití klíčů spravovaných zákazníkem.

Silné šifrování byste měli spárovat se silným dešifrováním. Z hlediska zabezpečení je ochrana dešifrovacího klíče důležitá, protože rotace je běžným způsobem, jak řídit poloměr výbuchu v případě ohrožení klíče. Monitorujte přístup a detekujte neobvyklý přístup a aktivity.

Ukládejte klíče odděleně od šifrovaných dat. Toto oddělení pomáhá zajistit, aby ohrožení jedné entity nemělo vliv na 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 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 i k platformě.

Použití standardních šifrovacích algoritmů

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. Entropické zdroje se vloží během šifrování. Entropie ztěžuje algoritmus a znesnadňuje útočníkovi extrakci informací. Určete přípustné prahové hodnoty entropie. Šifrovací procedury jsou náročné na procesor. Najděte správnou rovnováhu, abyste maximalizovali výpočetní cykly, které jsou vynaložené na šifrování vzhledem k celkovým výkonnostním cílům požadavku na výpočetní výkon.

Kompromis: Pokud zvolíte algoritmus, který je vysoce složitý nebo vloží více než přiměřené množství entropie, sníží výkon systému.

Použití hodnot hash a kontrolních součtů

Zatřiďování obvykle představuje metodu detekce chyb. K zabezpečení můžete použít také hashování, protože detekuje změny dat, které můžou být způsobeny manipulací. Funkce hash jsou založené na kryptografii, ale nepoužívají klíče. Funkce hash 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 hash algoritmů SHA-2, jako je SHA-256, SHA-384 nebo SHA-512.

Šifrování neaktivních uložených dat

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í:

  • Šifrovat data pomocí nativních možností poskytovaných pro služby úložiště, úložiště dat a další prostředky, které se používají k uchování dat. Tato data zašifrujte, i když data ukládáte do těchto služeb úložiště nebo prostředků pouze dočasně. Zašifrujte také zálohovaná data, aby se zachovala stejná ú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šší záruku, 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 do spravovaného 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 na útočníka.

    K dvojitému šifrování dat můžete použít také šifrování poskytované platformou. Šifrování poskytované platformou chrání médium úložiště na úrovni infrastruktury a používáte další vrstvu šifrování na úrovni dat. 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áv. 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 použijte šifrovací klíč klíče (KEK).

  • Řízení přístupu k datům pomocí řízení přístupu na základě identit Přidejte síťové brány firewall, které poskytují 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 HSM , který má řízení přístupu s nejnižšími oprávněními. Oddělte data od klíčů k datům.

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

Šifrování přenášených dat

  • Pro komunikaci mezi klientem a serverem používejte zabezpečené protokoly. Přenosové protokoly mají integrovanou vrstvu zabezpečení. 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žijte tuto verzi. Všechny služby Azure podporují protokol TLS 1.2 ve veřejných koncových bodech HTTPS.

    Riziko: Starší klienti, kteří nepodporují protokol TLS 1.2, nemusí správně fungovat, pokud není podporována 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 klientského serveru vyjednávejte použití zásad HSTS (Http Strict Transport Security), aby se během komunikace zachoval přenos HTTPS a během komunikace se nepřehodí do protokolu HTTP. Tato zásada chrání před útoky typu man-in-the-middle.

    Podpora HSTS je pro novější verze. Můžete přerušit zpětnou kompatibilitu se staršími prohlížeči.

    Poznámka:

    Můžete také šifrovat protokoly pro vytvoření zabezpečených připojení pro databáze. Azure SQL Database například 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 výměna šifrovaná a ověřená. Volba šifer závisí na verzi protokolu TLS, kterou server používá. U některých služeb, jako je Aplikace Azure lication Gateway, můžete zvolit verzi protokolu TLS a šifrovacích sad, které chcete podporovat. Implementujte šifrovací sady, které používají standard AES (Advanced Encryption Standard) jako symetrický blokový š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. Nenechávejte dlouhodobé certifikáty a nenechte je vypršet sami. 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ů.

    Pracovní postup by neměl umožňovat přijetí neplatných certifikátů v prostředí. Proces připnutí certifikátu by měl ověřit certifikáty a vynutit ověření. Protokoly přístupu byste měli monitorovat, 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, certifikát musí být okamžitě odvolán. Certifikační autorita (CA) poskytuje seznam odvolaných certifikátů (CRL), který označuje certifikáty, které jsou před vypršením platnosti neplatné. Kontrola ověření by měla obsahovat seznamy CRL.

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

    Jedním ze způsobů lokalizace ovládacích prvků je vzájemné tls (mTLS). Naváže 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í dvojice veřejného nebo privátního klíče. S mTLS nejste závislí na externí certifikační autoritě. Nevýhodou je přidaná složitost správy dvou certifikátů.

  • V případě potřeby dvakrát zašifrujte připojení VPN. Dvojitým šifrováním můžete do tunelu VPN přidat hloubku ochrany. Když používáte dva servery VPN, můžete ip adresu mezi servery skrýt 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í. Udržujte přehled o prostředcích pro přihlášení k přístupu, které ukládají informace o klientech, jako jsou jejich zdrojová IP adresa, port a protokol. Tyto informace slouží k detekci anomálií.

Šifrování užitých dat

Pro úlohy s vysokým zabezpečením se doporučuje vzory návrhu segmentace, izolace a nejméně priviledge.

V kontextu ochrany při použití můžou hardwarové hranice vyžadovat šifrování dat, zatímco se používají ve fyzickém procesoru a paměti, aby se zajistila izolace virtuálních počítačů, kód pro správu hostitelů a další komponenty. Šifrování a dešifrování dat se musí provádět pouze v rámci těchto hranic izolace.

Přísnější požadavky na zabezpečení nebo zákonné požadavky mohou také vyžadovat hardwarové, kryptograficky podepsané důkazy o šifrování dat při použití, které je možné získat prostřednictvím ověření identity. Důvěrné výpočetní prostředí je jednou z takových technologií, která požadavek podporuje. Konkrétní služby v Azure nabízejí možnost chránit data při 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 koncový životní cyklus dat, která chráníte , se často prochází více systémy v jejich životnosti, dbejte na to, aby všechny součásti řešení mohly poskytovat požadované úrovně ochrany nebo zajistit, aby 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

Ukládejte klíče spravované zákazníkem ve službě Azure Key Vault nebo v HSM spravovaném službou Key Vault.

Key Vault s klíči zachází stejně 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í. Tento ovládací prvek založený na identitě se musí používat se zásadami přístupu ke službě Key Vault.

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

Azure Key Vault Premium a Managed-HSM dále vylepšuje nabídku tím, že zahrnuje možnosti důvěrného výpočetního prostředí a zabezpečené uvolnění klíče, které podporují zásadu, která zajišťuje, že se klíč uvolní jenom do úlohy, která může kryptograficky prokázat, že se provádí 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ž se data zachovají do úč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 svazky virtuálního úložiště. Soubory virtuálních disků můžete zašifrovat, aby k obsahu nebyl přístup.

    Spravované disky je možné exportovat z portálu. Šifrování a šifrování na straně serveru v 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í spravovaných disků. 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í databázového souboru na úrovni stránky.

Ochrana přenášených dat

Pomocí služby 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 před použitím dat

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

  • Důvěrné virtuální počítače nabízejí celý virtuální počítač běžící uvnitř TEE, paměť a spouštění obsahu procesoru virtuálního počítače jsou šifrované a nabízí jednoduchý přístup "lift &shift" pro přesun nemodifikovaných aplikací s vysokými požadavky na zabezpečení do Azure. Každý důvěrný virtuální počítač Azure má svůj vlastní vyhrazený virtuální modul TPM (Virtual Trust Platform Module). Šifrování se provádí, když se komponenty operačního systému bezpečně spustí.

  • Důvěrné pracovní uzly AKS, důvěrné kontejnery v AKS nebo důvěrné kontejnery ve službě Azure Container Instances (ACI) nabízejí možnost spouštět a spravovat nemodifikované kontejnery v rámci TEE , které zákazníkům umožňují využívat ochranu v použití. Nabídky kontejnerů jsou postavené na důvěrných virtuálních počítačích a využívají stejné ochrany.

  • Řešení Enklávy aplikací jsou speciálně sestavená aplikace využívající konkrétní rozšíření procesoru nabízená skladovými jednotkami virtuálních počítačů, které podporují rozšíření Intel Software Guard Extensions (SGX), nabízejí velmi podrobné důvěryhodné výpočetní základny (TCB), ale vyžadují, aby aplikace byly speciálně kódované, aby využívaly výhod funkcí.

  • Secure Key Release je možné kombinovat s těmito technologiemi , aby se zajistilo, že šifrovaná data se dešifrují pouze v rámci TEE, což potvrzuje, ž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 kódům. Key Vault použijte jako řešení pro správu klíčů a certifikátů. Skladová položka Premium podporuje moduly HSM.

Příklad

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

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í