Transparentní šifrování v MS SQL 2008
- 27. Březen 2009
- Publikováno v MS SQL
- Napište komentář
Nedávno jsem se dostal k práci na platformě MS SQL Server 2008. Jelikož šlo o první vážnější setkání s tímto produktem, nezbylo než dlouze hledat odpovědi na své otázky. Jedna z nich se týkala transparentního šifrování dat. Nejslibněji vypadal návod Praktický sprievodca novinkami v MS SQL Server 2008. Pro mne, osobu MS SQL neznalou, to však nebylo to pravé. A tak nezbývalo, než zkoušet jiné zaručené návody. Jeden takový teď přináším i já.
V prvé řadě bych rád všechny upozornil, že transparentní šifrování je dostupné jen v nejvyšší edici, tedy MS SQL Server 2008 Enterprise Edition. Pokud se budete snažit šifrovat v Express edici jako já, zbytečně jen ztratíte hromadu času.
Pokud hodláte použít některou netriviální funkci, raději si předem ověřte, že ji Vámi používaná edice podporuje.
Dost povídání, tady je slibovaný "zaručený" návod na transparentní šifrování v MS SQL 2008.
GO
CREATE MASTER KEY
ENCRYPTION BY PASSWORD = 'mojeTajneHeslo';
GO
CREATE CERTIFICATE mujNovyCertifikat
WITH SUBJECT = 'test DEK';
GO
USE test;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE mujNovyCertifikat;
GO
ALTER DATABASE test
SET ENCRYPTION ON;
GO
USE master;
GO
BACKUP CERTIFICATE mujNovyCertifikat
TO FILE = 'C:\mujNovyCertifikatZaloha'
WITH PRIVATE KEY (FILE = 'c:\mujNovyKlicZaloha',
ENCRYPTION BY PASSWORD = 'mojeDruheTajneHeslo');
GO
Co to všechno znamená? Prvně zvolíme, že chceme pracovat s master databází SQL serveru, kde vytvoříme MASTER KEY. Ten je pro celý server jen jeden, proto se nedivte, pokud příkaz nahlásí chybu, máte li ho vytvořený z dob minulých. Následuje vytvoření certifikátu, který bude chránit šifrovací klíč naší testovací databáze. Ten vytvoříme až po přepnutí do databáze test. Pro Database Encryption Key (DEK) lze použít jeden z šifrovacích algoritmů: AES128, AES192, AES256 nebo TripleDES. Po vytvoření DEK by se nám mělo zobrazit varování, že je třeba certifikát a šifrovací klíč zazálohovat. To provedeme posledním příkazem.
Ve vlastním zájmu doufám, že jsem nikde neudělal chybu a všechna data jsou teď zase trochu více v bezpečí.
Dosud žádný komentář.