Rozšiřitelná správa klíčů (EKM)

platí pro:SQL Server

SQL Server poskytuje možnosti šifrování dat společně se službou Extensible Key Management (EKM) pomocí zprostředkovatele rozhraní MICROSOFT Cryptographic API (MSCAPI) pro šifrování a generování klíčů. Šifrovací klíče pro šifrování dat a klíčů se vytvářejí v kontejnerech přechodných klíčů a před uložením do databáze je nutné je exportovat od zprostředkovatele. Tento přístup umožňuje správu klíčů, která zahrnuje hierarchii šifrovacích klíčů a zálohování klíčů, kterou bude zpracovávat SQL Server.

Díky rostoucí poptávce po dodržování právních předpisů a obavách ohledně ochrany osobních údajů využívají organizace šifrování jako způsob, jak poskytnout řešení "hloubkové ochrany". Tento přístup je často nepraktický pouze pomocí nástrojů pro správu šifrování databáze. Dodavatelé hardwaru poskytují produkty, které řeší správu podnikových klíčů pomocí modulů hardwarového zabezpečení (HSM). Zařízení HSM ukládají šifrovací klíče na hardwarové nebo softwarové moduly. Jedná se o bezpečnější řešení, protože šifrovací klíče se nenachází se šifrovacími daty.

Řada dodavatelů nabízí HSM pro správu klíčů i akceleraci šifrování. Zařízení HSM používají hardwarová rozhraní s procesem serveru jako zprostředkující mezi aplikací a HSM. Dodavatelé také implementují poskytovatele MSCAPI přes své moduly, což může být hardware nebo software. MSCAPI často nabízí pouze podmnožinu funkcí, které nabízí HSM. Dodavatelé můžou také poskytovat software pro správu pro HSM, konfiguraci klíče a přístup ke klíčům.

Implementace HSM se liší od dodavatele po dodavatele a jejich použití s SQL Serverem vyžaduje společné rozhraní. I když MSCAPI toto rozhraní poskytuje, podporuje pouze podmnožinu funkcí HSM. Má také další omezení, jako je nemožnost nativně uchovávat symetrické klíče a nedostatečná podpora pro práci s relacemi.

Sql Server Extensible Key Management umožňuje externím dodavatelům EKM/HSM registrovat své moduly na SQL Serveru. Při registraci můžou uživatelé SQL Serveru používat šifrovací klíče uložené v modulech EKM. Díky tomu má SQL Server přístup k pokročilým funkcím šifrování, které tyto moduly podporují, jako je hromadné šifrování a dešifrování, a funkce správy klíčů, jako je stárnutí klíče a obměny klíčů.

Při spouštění SQL Serveru na virtuálním počítači Azure může SQL Server používat klíče uložené ve službě Azure Key Vault. Další informace najdete v tématu Rozšiřitelná správa klíčů pomocí služby Azure Key Vault (SQL Server).

Konfigurace EKM

Rozšiřitelná správa klíčů není k dispozici v každé edici Microsoft SQL Serveru. Seznam funkcí podporovaných edicemi SQL Serveru najdete v tématu Funkce podporované edicemi SQL Serveru 2016.

Ve výchozím nastavení je funkce Extensible Key Management vypnutá. Pokud chcete tuto funkci povolit, použijte příkaz sp_configure, který má následující možnost a hodnotu, jako v následujícím příkladu:

sp_configure 'show advanced', 1  
GO  
RECONFIGURE  
GO  
sp_configure 'EKM provider enabled', 1  
GO  
RECONFIGURE  
GO  

Poznámka:

Pokud použijete příkaz sp_configure pro tuto možnost v edicích SQL Serveru, které nepodporují EKM, zobrazí se chyba.

Pokud chcete tuto funkci zakázat, nastavte hodnotu na 0. Další informace o nastavení možností serveru najdete v tématu sp_configure (Transact-SQL).

Jak používat EKM

SQL Server Extensible Key Management umožňuje, aby šifrovací klíče, které chrání databázové soubory, byly uloženy na samostatném zařízení, jako je čipová karta, USB zařízení nebo modul EKM/HSM. To také umožňuje ochranu dat před správci databáze (s výjimkou členů skupiny sysadmin). Data je možné šifrovat pomocí šifrovacích klíčů, ke kterým má přístup pouze uživatel databáze v externím modulu EKM/HSM.

Rozšiřitelná správa klíčů také nabízí následující výhody:

  • Další kontrola autorizace (povolení oddělení povinností)

  • Vyšší výkon pro hardwarové šifrování a dešifrování.

  • Generování externího šifrovacího klíče

  • Úložiště externího šifrovacího klíče (fyzické oddělení dat a klíčů)

  • Načtení šifrovacího klíče

  • Uchovávání externích šifrovacích klíčů (umožňuje obměnu šifrovacích klíčů).

  • Jednodušší obnovení šifrovacího klíče.

  • Správa distribuce šifrovacích klíčů

  • Odstranění zabezpečeného šifrovacího klíče

Funkci Extensible Key Management můžete použít pro kombinaci uživatelského jména a hesla nebo jiné metody definované ovladačem EKM.

Upozornění

Při řešení potíží může technická podpora Microsoftu vyžadovat šifrovací klíč od poskytovatele EKM. Možná budete také potřebovat přístup k nástrojům nebo procesům dodavatele, abyste mohli problém vyřešit.

Ověřování pomocí zařízení EKM

Modul EKM může podporovat více než jeden typ ověřování. Každý zprostředkovatel zveřejňuje sql Serveru pouze jeden typ ověřování, to znamená, že modul podporuje základní nebo jiné typy ověřování, zveřejňuje jeden nebo druhý, ale ne obojí.

Základní ověřování EKM Device-Specific pomocí uživatelského jména a hesla

Pro tyto moduly EKM, které podporují základní ověřování pomocí páru uživatelského jména a hesla , SQL Server poskytuje transparentní ověřování pomocí přihlašovacích údajů. Další informace o přihlašovacích údaji najdete v tématu Přihlašovací údaje (databázový stroj).>

Přihlašovací údaj může být vytvořen pro poskytovatele EKM a namapován na účet (platí pro účty Windows i SQL Serveru) pro přístup k modulu EKM na základě individuálního přihlášení. Pole identity přihlašovacích údajů obsahuje uživatelské jméno; Tajné pole obsahuje heslo pro připojení k modulu EKM.

Pokud pro zprostředkovatele EKM nejsou namapované přihlašovací údaje, použije se přihlašovací údaje mapované na účet služby SQL Serveru.

Přihlášení může mít namapovaných více přihlašovacích údajů, pokud se používají pro charakteristické poskytovatele EKM. Pro každé přihlášení musí existovat pouze jeden mapovaný přihlašovací údaj na EKM. Stejné přihlašovací údaje je možné mapovat na jiná přihlášení.

Další typy autentizace specifické pro zařízení EKM

Pro moduly EKM, které mají jiné ověřování než Windows nebo kombinace uživatelských a hesel , musí být ověřování provedeno nezávisle na SQL Serveru.

Šifrování a dešifrování zařízením EKM

K šifrování a dešifrování dat můžete použít následující funkce a funkce pomocí symetrických a asymetrických klíčů:

Funkce nebo vlastnost Odkazy
Šifrování symetrického klíče VYTVOŘIT SYMETRICKÝ KLÍČ (Transact-SQL)
Asymetrické šifrování klíče VYTVOŘIT ASYMETRICKÝ KLÍČ (Transact-SQL)
EncryptByKey(key_guid; 'cleartext'; ...) ENCRYPTBYKEY (Transact-SQL)
DecryptByKey(šifertext, ...) DECRYPTBYKEY (Transact-SQL)
EncryptByAsmKey(key_guid; 'cleartext') ENCRYPTBYASYMKEY (Transact-SQL)
DecryptByAsmKey(ciphertext) DECRYPTBYASYMKEY (Transact-SQL)

Šifrování databázových klíčů pomocí klíčů EKM

SQL Server může k šifrování dalších klíčů v databázi použít klíče EKM. Na zařízení EKM můžete vytvářet a používat symetrické i asymetrické klíče. Nativní symetrické klíče (bez EKM) můžete šifrovat asymetrickými klíči EKM.

Následující příklad vytvoří symetrický klíč databáze a zašifruje ho pomocí klíče v modulu EKM.

CREATE SYMMETRIC KEY Key1  
WITH ALGORITHM = AES_256  
ENCRYPTION BY EKM_AKey1;  
GO  
--Open database key  
OPEN SYMMETRIC KEY Key1  
DECRYPTION BY EKM_AKey1  

Další informace o klíčích databáze a serveru v SQL Serveru najdete v tématu SQL Server a šifrovací klíče databáze (databázový stroj).

Poznámka:

Jeden klíč EKM nemůžete zašifrovat jiným klíčem EKM.

SQL Server nepodporuje podepisování modulů s asymetrickými klíči vygenerovanými poskytovatelem EKM.

Možnost konfigurace serveru s aktivovaným poskytovatelem EKM

Povolení transparentního šifrování dat na SQL Serveru pomocí EKM

Rozšiřitelná správa klíčů pomocí služby Azure Key Vault (SQL Server)

Viz také

VYTVOŘIT KRYPTOGRAFICKÝ POSKYTOVATEL (Transact-SQL)
DROP KRYPTOGRAFICKÝ POSKYTOVATEL (Transact-SQL)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
sys.cryptographic_providers (Transact-SQL)
sys.dm_cryptographic_provider_sessions (Transact-SQL)
sys.dm_cryptographic_provider_properties (Transact-SQL)
sys.dm_cryptographic_provider_algorithms (Transact-SQL)
sys.dm_cryptographic_provider_keys (Transact-SQL)
sys.credentials (Transact-SQL)
VYTVOŘIT PŘIHLAŠOVACÍ ÚDAJE (Transact-SQL)
ALTER LOGIN (Transact-SQL)
VYTVOŘIT ASYMETRICKÝ KLÍČ (Transact-SQL)
ZMĚNIT ASYMETRICKÝ KLÍČ (Transact-SQL)
PŘETÁHNĚTE ASYMETRICKÝ KLÍČ (Transact-SQL)
VYTVOŘIT SYMETRICKÝ KLÍČ (Transact-SQL)
ALTER SYMETRICKÝ KLÍČ (Transact-SQL)
DROP SYMETRICKÝ KLÍČ (Transact-SQL)
OPEN SYMMETRIC KEY (Transact-SQL)
Zálohování a obnovení šifrovacích klíčů služby Reporting Services
Odstranění a opětovné vytvoření šifrovacích klíčů (SSRS Configuration Manager)
Přidání a odebrání šifrovacích klíčů pro nasazení Scale-Out (SSRS Configuration Manager)
Zálohování hlavního klíče služby
Obnovení hlavního klíče služby
Vytvoření hlavního klíče databáze
Zálohování hlavního klíče databáze
Obnovení hlavního klíče databáze
vytvoření identických symetrických klíčů na dvou serverech