Sdílet prostřednictvím


SQL Server a šifrovací klíče databáze (databázový stroj)

platí pro:SQL Server

SQL Server používá šifrovací klíče k zabezpečení dat, přihlašovacích údajů a informací o připojení uložených v serverové databázi. SQL Server má dva druhy klíčů: symetrický a asymetrický. Symetrické klíče používají stejné heslo k šifrování a dešifrování dat. Asymetrické klíče používají jedno heslo k šifrování dat (označovaných jako veřejný klíč) a druhé k dešifrování dat (nazývaného privátní klíč).

Šifrovací klíče v SQL Serveru zahrnují kombinaci veřejných, privátních a symetrických klíčů, které slouží k ochraně citlivých dat. Symetrický klíč se vytvoří během inicializace SQL Serveru při prvním spuštění instance SQL Serveru. Klíč používá SQL Server k šifrování citlivých dat uložených v SQL Serveru. Operační systém vytváří veřejné a privátní klíče a slouží k ochraně symetrického klíče. Pro každou instanci SQL Serveru, která ukládá citlivá data do databáze, se vytvoří pár veřejného a privátního klíče.

Aplikace pro SQL Server a databázové klíče

SQL Server má dvě primární aplikace pro klíče: hlavní klíč služby (SMK) vygenerovaný pro instanci SQL Serveru a hlavní klíč databáze (DMK) používaný pro databázi.

Hlavní klíč služby

Hlavní klíč služby je kořenem hierarchie šifrování SQL Serveru. SMK se automaticky vygeneruje při prvním spuštění instance SQL Serveru a slouží k šifrování hesla, přihlašovacích údajů a hlavního klíče databáze v každé databázi. SMK je šifrovaný pomocí klíče místního počítače pomocí rozhraní API služby Windows Data Protection (DPAPI). Rozhraní DPAPI používá klíč odvozený z přihlašovacích údajů systému Windows účtu služby SQL Serveru a přihlašovacích údajů počítače. Hlavní klíč služby může dešifrovat pouze účet služby, pod kterým byl vytvořen, nebo instančním objektem, který má přístup k přihlašovacím údajům počítače.

Hlavní klíč služby je možné otevřít pouze účtem služby systému Windows, pod kterým byl vytvořen, nebo instančním objektem s přístupem k názvu účtu služby i jeho heslu.

SQL Server používá šifrovací algoritmus AES k ochraně hlavního klíče služby (SMK) a hlavního klíče databáze (DMK). AES je novější šifrovací algoritmus než 3DES používaný ve starších verzích. Po upgradu instance databázového stroje na SQL Server by se měl znovu vygenerovat sada SMK a DMK, aby bylo možné upgradovat hlavní klíče na AES. Další informace o opětovném vygenerování sady SMK naleznete v tématu ALTER SERVICE MASTER KEY (Transact-SQL) a ALTER MASTER KEY (Transact-SQL).

Hlavní klíč databáze

Hlavní klíč databáze je symetrický klíč, který slouží k ochraně privátních klíčů certifikátů a asymetrických klíčů, které jsou přítomné v databázi. Dá se také použít k šifrování dat, ale má omezení délky, díky kterým jsou pro data méně praktická než použití asymetrického klíče. Pokud chcete povolit automatické dešifrování hlavního klíče databáze, kopie klíče se zašifruje pomocí sady SMK. Je uložen v databázi, kde se používá, i v hlavní systémové databázi.

Kopie sady DMK uložená v hlavní systémové databázi se bezobslužně aktualizuje při každé změně sady DMK. Toto výchozí nastavení je však možné změnit pomocí možnosti DROP ENCRYPTION BY SERVICE MASTER KEY příkazu ALTER MASTER KEY . DmK, který není šifrovaný hlavním klíčem služby, musí být otevřen pomocí příkazu OPEN MASTER KEY a hesla.

Správa SQL Serveru a databázových klíčů

Správa šifrovacích klíčů se skládá z vytváření nových databázových klíčů, vytvoření zálohy serverů a databázových klíčů a zjištění, kdy a jak klíče obnovit, odstranit nebo změnit.

Ke správě symetrických klíčů můžete použít nástroje, které jsou součástí SQL Serveru, k provedení následujících kroků:

  • Zálohujte kopii serveru a databázových klíčů, abyste je mohli použít k obnovení instalace serveru nebo jako součást plánované migrace.

  • Obnovení dříve uloženého klíče do databáze To umožňuje nové instanci serveru přistupovat k existujícím datům, která původně nešifrovala.

  • Odstraňte šifrovaná data v databázi v nepravděpodobné události, ke které už nebudete mít přístup k šifrovaným datům.

  • Znovu vytvořte klíče a znovu zašifrujte data v nepravděpodobné události, že dojde k ohrožení zabezpečení klíče. Osvědčeným postupem zabezpečení je pravidelné vytváření klíčů (například každých několik měsíců) pro ochranu serveru před útoky, které se snaží klíče dešifrovat.

  • Přidejte nebo odeberte instanci serveru z nasazení se škálováním na více instancí, kde několik serverů sdílí jednu databázi i klíč, který poskytuje pro danou databázi reverzibilní šifrování.

Důležité informace o zabezpečení

Přístup k objektům zabezpečeným hlavním klíčem služby vyžaduje účet služby SQL Server, který byl použit k vytvoření klíče nebo účtu počítače. To znamená, že účet počítače, který je svázaný se systémem, ve kterém byl klíč vytvořen. Účet služby SYSTÉMU SQL Server nebo účet počítače můžete změnit bez ztráty přístupu ke klíči. Pokud ale změníte obojí, ztratíte přístup k hlavnímu klíči služby. Pokud ztratíte přístup k hlavnímu klíči služby bez jednoho z těchto dvou prvků, nebudete moct dešifrovat data a objekty zašifrované pomocí původního klíče.

Připojení zabezpečená pomocí hlavního klíče služby nelze obnovit bez hlavního klíče služby.

Přístup k objektům a datům zabezpečeným pomocí hlavního klíče databáze vyžaduje pouze heslo, které slouží k zabezpečení klíče.

Upozornění

Pokud ztratíte veškerý přístup ke klíčům popsaným výše, ztratíte přístup k objektům, připojením a datům zabezpečeným těmito klíči. Hlavní klíč služby můžete obnovit, jak je popsáno v odkazech, které jsou zde uvedeny, nebo se můžete vrátit k původnímu systému šifrování a obnovit přístup. K obnovení přístupu není k dispozici žádné "zadní dveře".

V tomto oddílu

Rozšiřitelná správa klíčů (EKM)
Vysvětluje, jak používat systémy pro správu klíčů třetích stran s SQL Serverem.

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

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)

Šifrování sloupce dat

CREATE MASTER KEY (Transact-SQL)

ALTER SERVICE MASTER KEY (Transact-SQL)

Obnovení hlavního klíče databáze

Viz také

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)
Transparentní šifrování dat (TDE)