lundi 18 octobre 2010

Cryptage Transparent des Données

Le Cryptage Transparent des Données est une fonctionnalité apparu avec la version SQL Server 2008 et qui consiste à encrypter les fichiers de données, les fichiers journaux ainsi que les sauvegardes de base de données afin d'assurer toujours plus de sécurité des données des entreprises.

Voyons maintenant la procédure à suivre pour crypter une base de données sous SQL Server 2008:
1. Création de la Master Key :

USE master;

GO

CREATE MASTER KEY ENCRYPTION
BY PASSWORD = 'Mot de passe
;

2. Sauvegarde de la Master Key :
USE master;
OPEN MASTER KEY DECRYPTION

BY PASSWORD = 'Mot de passe';

BACKUP MASTER KEY TO

FILE ='c:\MyMasterKey'
 

ENCRYPTION BY PASSWORD = 'Mot de passe';

3. Création du certificat :

USE master;
CREATE CERTIFICATE MyDBAppCertificate

WITH SUBJECT = 'TDE MyDB Certificate'
GO

4. De la même façon que pour la Master Key, sauvegarde du certificat :
USE master; 
BACKUP CERTIFICATE MyDBAppCertificate
TO FILE = 'c:\MyCertificate'
GO

5. Création de la clé de cryptage de la base de données à chiffrer:
USE MyDB;
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_192
ENCRYPTION BY SERVER CERTIFICATE MyDBAppCertificate
GO
 

6. Et puis la derniere etape qui consiste à activer le cryptage de la base de données :  
USE MyDB;
SET ENCRYPTION ON

GO

Le cryptage de la base de données peut être activé ou désactivé aussi en IHM via SSMS en faisant un clic droit sur la base de données, Properties et puis dans l'onglet Options mettre la valeur de la fonctionnalité Encryption Enabled à True.



Et enfin pour voir l'état des bases de données d'une instance SQL vous pouvez utiliser la requête suivante :
SELECT [name], is_encrypted FROM sys.databases

Bon cryptage.