SQL Server 2016 : Les nouveautés

Découvrir Always Encrypted

Testez gratuitement nos 1324 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Always Encrypted est une fonctionnalité permettant de réaliser le chiffrement des données sans que le serveur SQL dispose de la clé. Les données sont chiffrées à travers le réseau, dans la base de données, sans que le DBA ne puisse lire les données.
06:05

Transcription

SQL Server2016 intègre quelques nouveautés importantes en matière de sécurité et notamment une nouveauté en matière de chiffrement qui s'appelle « Always Encrypted » ( toujours chiffré). De quoi s'agit-il ? Depuis SQL Serveur 2005, SQL Serveur intègre du chiffrement à l'aide de clé « Symétrique à symétrique at certificat ». Il est aussi depuis 2008, ce qu'on appelle « TDE » « Transparent [inaudible] Encryption» qui me permet de prendre une base de données, et puis, de la chiffrer complètement, en gérant ici le chiffrement de la base de données. C'est quelque chose qui va permettre de chiffrer complètement la base, mais avec une perte assez sensible de performance. Mais ces deux options, que ce soit « Les clés de chiffrement » ou « TDE », posent un problème. Les clés qui permettent de chiffrer, de déchiffrer, sont sur le serveur ou plus proche des données. Ce qui veut dire que je n'ai pas le moyen d'interdire à un DBA, quelqu'un qui a des privilèges administrateur sur le serveur, de lire ces données. Je ne peux pas lui interdire de déchiffrer, puisque je ne peux pas lui cacher les clés. Il a accès aux clés qui sont dans la base de données Master qui sont dans les différentes bases de données, et donc, il peut lire ces données. Mais en terme de chiffrement, normalement, ce que je devrais faire c'est chiffrer mes données au niveau du client, et puis ensuite les envoyer chiffrer dans SQL Serveur. Donc, rien ne vous empêche dans vos développement de faire cela, de gérer une clé de chiffrement au niveau de l'application cliente, et puis de chiffrer vos données et de les stocker dans des colonnes déjà chiffrées. Ça a un avantage, c'est que surtout le trajet de la donnée entre le client et le serveur, là, où elle est stockée sur le serveur et ensuite dans son trajet du serveur vers le client quand on veut lire, la donnée reste chiffrée, elle reste chiffrée sur le réseau, sur le disque, en mémoire, dans le SQL serveur. Donc, c'est une sécurité maximale. Lorsqu'ont fait les ingénieurs de Microsoft avec « Always Encrepted », c'est utiliser ce concept, mais le simplifier, de façon à pouvoir même faire du chiffrement dans une application Dot-Net qui n'a pas été prévu à la base pour faire du chiffrement. Parce que ce qu'on va faire, je vais vous montrer comment le faire, c'est déclarer des clés de chiffrement, alors, on a déjà commencé pratiquement à le faire, je vais aller dans Pacha Data formation, ici, dans la sécurité et ici j'ai une ou deux choses nouvelles, notamment ces clés intégralement chiffrées qui sont composées de deux clés. Une clé principale de colonne ou en anglais « Column Master Key » et une clé de chiffrement de colonne ou colonne « Encryption Key ». La clé de chiffrement est une clé symétrique, mais elle va être protégée par la Master Key, par la clé principale de colonne. Je vais créer ici une clé principale de colonne directement dans le SQL Serveur, mais cette clé, je pourrais l'intégrer à partir d'autre chose. A partir d'un dépôt de clé, même à partir d'un [inaudible] spécifique et l'intégrer à ce niveau-là. En fait ce qui va être important c'est que, cette clé, elle va être envoyé au client. Vous allez voir. J'ai fais une nouvelle clé principale de colonne. Je vais donc choisir un magasin de clé spécifique qui peut être un fournisseur de stockage de clés, un coffre Azure ou bien Windows pour l'utilisateur local ou pour l'ordinateur local. Je vais créer ici une clé que je vais appeler « Pacha CMK » par exemple, pour colonne « Master Key », OK. Et puis je vais générer cette clé qui est en fait un certificat. Voilà le certificat, voici son empreinte numérique et si je regarde le script, la création, et bien je peux le faire juste en transacte SQL de la façon suivante « Create Column Master Key » dans ma base de données avec « Improvider Name » et puis en chemin ou aller chercher la clé finalement et ceci correspond à l'empreinte numérique, c'est-à-dire au « Finger Print », à la signature, si vous voulez, de cette clé. OK. Ceci est fait. Cette clé maintenant réside dans Windows, sous « Curent User » Je peux le voir en allant regarder dans « certmgr.mse », le gestionnaire de certificat de la machine. Et ici, dans mes certificats personnels, je vais faire un petit « Actualiser », maintenant, cette clé a été ajouté. Donc, j'aurais pu moi-même l'ajouter manuellement dans mon magasin, et puis, le déclarer ici, dans SQL Serveur. Finalement est-ce que le serveur ici a utilisé les outils Windows de génération de certificat auto-signé. Très bien. Et ce certificat, ce que je dois faire, si je veux permettre à des applications clients de chiffrer, de déchiffrer les données, c'est, d'exporter ce certificat, donc, je vos montre simplement comment faire. Ici, on n'aura pas besoin de le faire, puisque on va utiliser un client qui sera sur la même machine. Comme le client sera sur la même machine que le serveur, eh bien, il ira puiser dans le même dépôt local de certificat. Et pour exporter mon certificat, pour le poser sur les machines clientes, et bien je vais exporter la clé privée, qui va servir à déchiffrer les données. Je vais la stocker en PKCS avec tous les certificats, et puis je vais, protéger le fichier d'exportation par un mot de passe, Ensuite je ferai le suivant, cela déposera un fichier sur mon disque, je le prends, je le pose sur ma machine cliente et j'importe dans mon gestionnaire de certificat, ce certificat, de façon à ce que le client puisse avoir à disposition ce qui va lui permettre de déchiffrer la clé de chiffrement pour la base de données. Donc, on va voir comment poursuivre cette opération.

SQL Server 2016 : Les nouveautés

Découvrez les nouveautés de SQL Server 2016. Voyez les options de configuration limitées aux bases de données, le chiffrage de données à partir des applications clientes, etc.

2h26 (27 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !