Cryptage des données (Always Encrypted, TDE - Transparent Data Encryption)

SQL Server propose plusieurs mécanismes de cryptage des données pour garantir la confidentialité des informations, même en cas d’accès non autorisé aux fichiers de base de données.

6.4.1 Always Encrypted

  • Always Encrypted permet de protéger les données sensibles (par exemple, les numéros de carte de crédit ou les numéros de sécurité sociale) en les cryptant côté client, de sorte que les données restent cryptées lorsqu'elles sont stockées dans SQL Server.

  • Les clés de cryptage ne sont jamais exposées au serveur SQL, même lors de l'exécution de requêtes.

Exemple : Création d'une colonne cryptée :

CREATE TABLE Clients (
    ClientID INT PRIMARY KEY,
    Nom NVARCHAR(100),
    NumCarteCredit NVARCHAR(16) COLLATE Latin1_General_BIN2
    ENCRYPTED WITH (ENCRYPTION_TYPE = DETERMINISTIC, 
                    ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256', 
                    COLUMN_ENCRYPTION_KEY = MaCle);
);

6.4.2 Transparent Data Encryption (TDE)

  • TDE protège les données au repos en cryptant les fichiers de base de données et de journalisation. TDE chiffre automatiquement les données lorsqu'elles sont écrites sur le disque et les déchiffre lors de leur lecture.

Activation de TDE :

USE master;
CREATE DATABASE ENCRYPTION KEY 
WITH ALGORITHM = AES_256 
ENCRYPTION BY SERVER CERTIFICATE MonCertificat;
ALTER DATABASE GestionEmployes 
SET ENCRYPTION ON;

Last updated