Articles

SQL Server Šifrování Vysvětlil: TDE, Sloupec-Úroveň Šifrování a Více

ochrana Dat je rozhodující pro zajištění, že organizace je v souladu se směrnicemi standardy jako obecného nařízení o ochraně údajů a pro splnění očekávání svých klientů a obchodních partnerů. Porušení dat může mít nejen za následek velké pokuty, ale poškození pověsti může být stejně velké. Chcete-li pomoci, Microsoft SQL Server podporuje 5 různých druhů šifrování pro ochranu dat. Tento článek vysvětluje každý z nich a kde by měly být použity.

SSL Šifrování

stejně Jako webové stránky, které bezpečný provoz mezi prohlížečem a serverem SQL Server může být nakonfigurován pro použití SSL (Secure Sockets Layer) pro šifrování přenosu, jak to cestuje mezi instance serveru a klientské aplikace. Klient může navíc ověřit identitu serveru pomocí certifikátu serveru. SSL chrání data pouze při cestování po síti, ale na rozdíl od většiny ostatních forem šifrování serveru SQL Server je SSL k dispozici ve všech podporovaných verzích serveru SQL Server a ve všech vydáních.

před povolením SSL musíte nainstalovat certifikát na SQL Server. Nejlepší způsob, jak toho dosáhnout, je požádat o certifikát od vlastní certifikační autority (CA). Windows Server lze nakonfigurovat jako CA a můžete nastavit klienty tak, aby důvěřovali certifikátům, které vydává. Alternativně je možné použít certifikáty s vlastním podpisem, i když je to nejvhodnější pro testovací prostředí.

SQL Server Transparent Data Encryption (TDE)

Transparent Data Encryption (TDE) v SQL Server chrání data v klidu šifrováním databázových dat a souborů protokolu na disku. Funguje transparentně na klienta stávajících aplikací, takže není třeba měnit, když je povoleno TDE. TDE používá šifrování v reálném čase na úrovni stránky. Stránky jsou šifrovány před tím, než jsou zapsány na disk, aniž by se zvětšila velikost vašich dat a souborů protokolu, a stránky jsou dešifrovány při čtení do paměti. TDE je k dispozici pouze v podnikových edicích SQL Serveru. Funguje také pro Azure SQL Database, Azure SQL Data Warehouse a paralelní datový sklad.

šifrování TDE má hierarchickou strukturu, přičemž Windows Data Protection API (DPAPI) sedí na vrcholu hierarchie a používá se k šifrování hlavního klíče služby (SMK). SMK můžete použít k šifrování přihlašovacích údajů, hesel Propojených serverů a hlavních klíčů databáze (DMK) umístěných v různých databázích. SQL DMK je symetrický klíč, který chrání soukromé klíče certifikátů a asymetrické klíče uložené v databázích.

SQL Server může generovat certifikáty s vlastním podpisem pro použití s TDE nebo můžete požádat o certifikát z CA (což je běžnější přístup). Pokud se rozhodnete povolit TDE, musíte zálohovat certifikát a soukromý klíč spojený s certifikátem. Budete muset obnovit nebo připojit databázi na jiný server SQL. Pokud povolíte TDE v jakékoli jiné databázi SQL Server, systémová databáze tempdb je také šifrována. Pokud zakážete TDE, měli byste si ponechat certifikát a soukromý klíč, protože části protokolu transakcí mohou zůstat šifrovány, dokud neprovedete úplnou zálohu.

TDE také vyžaduje databáze šifrovací klíč (DEK), který je buď symetrický klíč, který je chráněn pomocí certifikátu uloženého v hlavní databáze, nebo asymetrický klíč, který je chráněn služba, která používá Extensible Klíč Management (EKM), jako je Microsoft Azure Key Vault. Záložní soubory databází s podporou TDE jsou šifrovány pomocí DEK, takže během operací obnovení musí být k dispozici certifikát chránící DEK.symetrické klíče používají stejné heslo pro šifrování a dešifrování dat. Asymetrické klíče používají jedno heslo k šifrování dat (veřejný klíč) a jiné heslo k dešifrování dat (soukromý klíč). Příkaz Vytvořit certifikát můžete použít k vytvoření certifikátů a příkaz vytvořit symetrický klíč a vytvořit asymetrický klíč příkazy Transact-SQL k vytvoření šifrovacích klíčů databáze.

zálohování šifrování

zálohování šifrování funguje jako TDE, ale šifruje SQL zálohy namísto aktivních dat a souborů protokolu. Zálohování šifrování je k dispozici v SQL Server 2014 a novější. Můžete zadat šifrování AES 128, AES 192, AES 256 nebo Triple DES a použít buď certifikát nebo asymetrický klíč uložený v EKM. Kromě toho je možné povolit šifrování TDE a zálohování současně, i když byste měli používat různé certifikáty nebo klíče.

stejně jako u TDE, pokud povolíte šifrování zálohování, musíte také zálohovat certifikát nebo klíč. Bez klíče nebo certifikátu nelze záložní soubor použít k obnovení dat. Zálohy lze také zašifrovat při použití SQL Server spravované zálohování na Microsoft Azure.

je třeba poznamenat, že pokud používáte certifikát k šifrování záloh, musíte mít při obnově dat původní certifikát. To znamená, že certifikát musí mít stejný otisk palce, jako když byla vytvořena záloha. Obnovení certifikátů nebo jejich změna jakýmkoli způsobem může způsobit změnu otisku palce.

Column/Cell-Level Encryption

k dispozici ve všech vydáních SQL Server, šifrování na úrovni buněk může být povoleno na sloupcích, které obsahují citlivá data. Data jsou šifrována na disku a zůstávají šifrována v paměti, dokud není k dešifrování použita funkce DECRYPTBYKEY. Proto, i když jsou data SQL šifrována, není to bezpečné, než jednoduše pomocí funkce v uživatelském kontextu dešifrovat. Navíc, protože k dešifrování dat je zapotřebí funkce, musí být klientské aplikace upraveny tak, aby fungovaly s šifrováním na úrovni buněk.

Správa šifrovacích klíčů

stejně jako u TDE musíte před použitím šifrování na úrovni buněk vytvořit hlavní klíč (DMK). Existují čtyři možnosti šifrování informací pomocí šifrování na úrovni buněk:

  • k šifrování a dešifrování dat můžete použít přístupové heslo, ale musíte šifrovat uložené postupy a funkce; jinak je přístupové heslo přístupné v metadatech.
  • asymetrické klíče poskytují silné zabezpečení, ale mohou mít vliv na výkon.symetrické klíče jsou obvykle dostatečně silné a poskytují dobrou rovnováhu mezi bezpečností a výkonem.
  • certifikáty také poskytují dobrou rovnováhu mezi bezpečností a výkonem a mohou být spojeny s uživatelem databáze.

Vždy Šifrována

Vždy Šifrována šifruje citlivá data v klientské aplikace, aniž by odhalil šifrovací klíče databázový stroj, který poskytuje oddělení mezi údaje vlastníků a správců dat. Například s povolenou funkcí Always Encrypted si můžete být jisti, že správci databáze nebudou schopni číst citlivá data. Jak název napovídá, data jsou šifrována v klidu a pokud jsou používána v Systému třetích stran, jako je Azure.

vždy šifrované lze nakonfigurovat pro jednotlivé sloupce databáze. Používají se dva druhy klíčů: šifrovací klíče sloupců a hlavní klíče sloupců. Column encryption keys protect data in a column master keys are ‚key-protecting keys‘ that encrypt one or more column encryption keys. Hlavní klíče sloupců jsou uloženy v externích úložištích důvěryhodných klíčů, jako je Azure Key Vault.

proces šifrování je transparentní pro klientské aplikace, ale vyžaduje speciální ovladač na klientských počítačích. Vždy šifrovaný je k dispozici v SQL Server 2016 a novějších, ale pouze v podnikových edicích. Vzhledem k dodatečným požadavkům na straně klienta je vždy šifrováno nejvhodnější pro situace, kdy je primárním požadavkem oddělení vlastníků a správců dat.

IT konzultant a autor, specializující se na správu a bezpečnostní technologie. Russell má více než 15 let zkušeností v oblasti IT, napsal knihu o Zabezpečení systému Windows a spoluautorem textu pro oficiální akademický kurz společnosti Microsoft (MOAC).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *