Prozkoumání transparentní šifrování dat
Transparentní šifrování dat (TDE) microsoft SQL Serveru šifruje všechna data v cílové databázi na úrovni stránky. Data se šifrují, protože se zapisují na datovou stránku na disku a dešifrují se při čtení do paměti, což vede k šifrování všech datových stránek na disku.
Transparentní šifrování dat nešifruje data na úrovni tabulky nebo sloupce. Data může číst, kopírovat a sdílet kdokoli s příslušnými oprávněními. Šifrování neaktivních uložených dat chrání před obnovením zálohy na nezabezpečený server nebo kopírováním souborů databáze a transakčních protokolů na jiný nezabezpečený server. Během operace zálohování nedojde k žádnému dešifrování.
Transparentní šifrování dat (TDE) chrání data v klidu a zajišťuje jejich dodržování různých oborových zákonů, předpisů a pokynů. Umožňuje vývojářům softwaru šifrovat data pomocí šifrovacích algoritmů AES a 3DES beze změny stávajících aplikací.
Databáze vytvořené v Azure SQL Database po květnu 2017 mají TDE automaticky povoleno. Databáze vytvořené před květnem 2017 vyžadují ruční povolení TDE. Pro Azure SQL Managed Instance je TDE povoleno ve výchozím nastavení pro databáze vytvořené po únoru 2019. Databáze vytvořené před únorem 2019 potřebují mít TDE (transparentní šifrování dat) povoleno ručně.
Pokud chcete povolit TDE v databázi Azure SQL Database, upravte databázi v Azure portálu. V podokně Transparentní šifrování dat vyberte povolení šifrování dat.
Ve výchozím nastavení se databáze ve službě Azure SQL Database šifrují pomocí certifikátu poskytnutého Microsoftem (klíče spravovaného službou). Azure také nabízí možnost Přineste si vlastní klíč (BYOK), která umožňuje použít klíč spravovaný zákazníkem vytvořený vaší společností a nahrát ho do služby Azure Key Vault. Pokud se klíč spravovaný zákazníkem odebere z Azure, připojení k databázi se zavře a přístup k databázi se odepře.
Aktivace transparentního šifrování dat v databázi Microsoft SQL Serveru je snadný proces, protože jsou vyžadovány pouze některé příkazy jazyka T-SQL. Tento proces zahrnuje následující kroky:
- Pomocí příkazu nastavte hlavní klíč v hlavní databázi
CREATE MASTER KEY ENCRYPTION. - Pomocí příkazu vytvořte certifikát v hlavní databázi
CREATE CERTIFICATE. - Pomocí příkazu vytvořte šifrovací klíč databáze v databázi
CREATE DATABASE ENCRYPTION KEY. - Pomocí příkazu povolte šifrovací klíč
ALTER DATABASE.
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<your-pwd>';
GO
CREATE CERTIFICATE MyServerCert
WITH SUBJECT = 'TDEDemo_Certificate';
GO
USE [TDE_Demo];
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
ALTER DATABASE TDE_Demo SET ENCRYPTION ON;
GO
Po povolení transparentního šifrování dat trvá šifrování databáze nějakou dobu, protože každá stránka musí být přečtená, šifrovaná a zapisovaná zpět na disk. Čím je databáze větší, tím déle tento proces trvá. Tento proces na pozadí běží s nízkou prioritou, aby se zabránilo přetížení vstupně-výstupních operací systému nebo procesoru.
Certifikát používaný TDE musí být ručně zálohován a bezpečně uložen. SQL Server se integruje s podnikovými správci klíčů (EKMs), jako je Azure Key Vault, ke správě šifrovacích klíčů. Správa certifikátu je zásadní, protože pokud dojde ke ztrátě a databáze je potřeba obnovit ze zálohy, obnovení selže, protože databázi nejde přečíst.
Poznámka:
Pokud chcete používat transparentní šifrování dat s databázemi ve skupině dostupnosti AlwaysOn, musí se certifikát použitý k šifrování databáze zálohovat a obnovit na ostatní servery v rámci skupiny dostupnosti, které budou hostovat kopie databáze.
Klíče spravované zákazníkem
Můžete alternativně použít BYOK a využít výhod trezoru klíčů Azure. Výhody používání klíčů spravovaných zákazníkem jsou:
- Úplná a podrobná kontrola nad používáním a správou ochrany TDE (Transparent Data Encryption)
- Transparentnost použití TDE ochrany
- Schopnost implementovat oddělení povinností při správě klíčů a dat v organizaci
- Správce trezoru klíčů může odvolat přístupová oprávnění ke klíči, aby byla zašifrovaná databáze nepřístupná.
- Centrální správa klíčů v AKV
- Větší důvěryhodnost od koncových zákazníků, protože služba AKV je navržená tak, aby Microsoft neviděl nebo extrahovala šifrovací klíče
Můžete také využít uživatelsky přiřazenou spravovanou identitu (UMI) s klíči spravovanými zákazníkem pro TDE, které:
- Umožňuje předem autorizovat přístup trezoru klíčů pro logické servery Azure SQL vytvořením spravované identity přiřazené uživatelem a udělením přístupu k trezoru klíčů, a to i před vytvořením serveru nebo databáze.
- Umožní vytvoření logického serveru Azure SQL s povoleným transparentním šifrováním dat a klíčem CMK.
- Umožňuje přiřadit stejnou spravovanou identitu přiřazenou uživatelem k více serverům, což eliminuje nutnost jednotlivě zapnout spravovanou identitu přiřazenou systémem pro každý logický server Azure SQL a poskytnout jí přístup k trezoru klíčů.
- Poskytuje možnost vynutit CMK při vytváření serveru pomocí dostupné vestavěné politiky Azure.
Automatická rotace klíčů je zavedena pro klíče spravované zákazníkem pomocí TDE (transparentního šifrování dat). Pokud je tato možnost povolená, server nepřetržitě monitoruje trezor klíčů pro všechny nové verze klíče, které se používají jako ochrana TDE (Transparent Data Encryption). Pokud se zjistí nová verze klíče, ochrana transparentním šifrováním dat na serveru se během 60 minut automaticky otočí na nejnovější verzi klíče.
Šifrování disků Azure
Kromě těchto funkcí zabezpečení SQL Serveru zahrnují virtuální počítače Azure další vrstvu zabezpečení, Azure Disk Encryption – funkci, která pomáhá chránit a chránit data a plnit závazky organizace a dodržování předpisů. Pokud používáte transparentní šifrování dat, chrání vaše data více vrstvami šifrování pomocí služby Azure Disk Encryption.