{"id":10315,"date":"2023-11-16T15:53:11","date_gmt":"2023-11-16T14:53:11","guid":{"rendered":"https:\/\/blog.capdata.fr\/?p=10315"},"modified":"2023-11-22T09:09:05","modified_gmt":"2023-11-22T08:09:05","slug":"le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/","title":{"rendered":"Le chiffrement et SQL Server \u2013 Episode 2 : Mise en oeuvre de TDE"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F10315&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F10315&#038;title=Le%20chiffrement%20et%20SQL%20Server%20%E2%80%93%20Episode%202%20%3A%20Mise%20en%20oeuvre%20de%20TDE\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Le%20chiffrement%20et%20SQL%20Server%20%E2%80%93%20Episode%202%20%3A%20Mise%20en%20oeuvre%20de%20TDE&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F10315\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p>Dans un premier \u00e9pisode (<a href=\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-1-transparent-data-encryption-tde-vs-always-encrypted\">https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-1-transparent-data-encryption-tde-vs-always-encrypted<\/a> ) nous avons eu l&#8217;occasion de voir les deux grandes approches du chiffrement dans SQL Server, sous un angle th\u00e9orique.<\/p>\n<p>Maintenant que l&#8217;on a couvert les concepts derri\u00e8re le chiffrement &#8220;at rest&#8221; de SQL Server, voici comment le mettre en \u0153uvre concr\u00e8tement.<\/p>\n<h2> Concepts de Transparent Data Encryption<\/h2>\n<p>On notera que cela a \u00e9t\u00e9 maquett\u00e9 en SQL Server 2022, mais que mis \u00e0 part la sauvegarde (cf. Episode 1), les concepts sont les m\u00eames.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-10316 aligncenter\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/TDE_architecture-278x300.png\" alt=\"\" width=\"560\" height=\"604\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/TDE_architecture-278x300.png 278w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/TDE_architecture-950x1024.png 950w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/TDE_architecture-768x827.png 768w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/TDE_architecture.png 1008w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2> Cr\u00e9er les cl\u00e9s de chiffrement<\/h2>\n<p>Le fonctionnement est donc le suivant :<\/p>\n<p>La cl\u00e9 de chiffrement par Windows \u00e0 SQL Server va permettre de cr\u00e9er la Database Master Key de la base Master. Celle-ci servira \u00e0 signer le certificat de la base Master. Ce certificat stockera les cl\u00e9s asym\u00e9triques utilis\u00e9s pour chiffrer les bases de donn\u00e9es utilisateurs.<\/p>\n<p>Windows fourni une <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/security\/encryption\/sql-server-and-database-encryption-keys-database-engine?view=sql-server-ver16\">Service Master Key<\/a> au premier d\u00e9marrage de SQL Server apr\u00e8s son installation. Celle-ci n&#8217;est visible et exploitable que par le compte de service SQL Server. Elle peut \u00eatre identifi\u00e9e ainsi :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n\r\nuse master\r\ngo\r\nselect * from sys.symmetric_keys ;\r\n\r\n<\/pre>\n<p>Elle porte le nom de ##MS_ServiceMasterKey##. Par mesure de s\u00e9curit\u00e9, on va <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/security\/encryption\/back-up-the-service-master-key?view=sql-server-ver16\">sauvegarder cette SMK<\/a> :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n\r\nBACKUP SERVICE MASTER KEY TO FILE = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL16.MSSQLSERVER\\MSSQL\\Backup\\Service_Master_Key.smk' ENCRYPTION BY PASSWORD = 'HugEEEEEP@$$word4SMK!' ;\r\nGO\r\n\r\n<\/pre>\n<p>On peut donc d\u00e9sormais cr\u00e9er le certificat dans la base master . Par d\u00e9faut, celui-ci a une dur\u00e9e de vie d&#8217;un an. Cela peut potentiellement alourdir la maintenance, car il faudra d\u00e9chiffrer la base, cr\u00e9er un nouveau certificat et re-chiffrer la base. Dans l&#8217;exemple ci-dessous, nous partons sur une dur\u00e9e de vie&#8230; &#8220;lointaine&#8221; :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nUse master\r\ngo\r\nCREATE CERTIFICATE MyServerMasterCertForTDE WITH SUBJECT = 'DEK Certificate used for TDE keys' ,EXPIRY_DATE = '2100-12-31';\r\nGO\r\n\r\n<\/pre>\n<p>On peut la v\u00e9rifier avec la commande suivante :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nselect * from sys.certificates where SUBJECT = 'DEK Certificate used for TDE keys';\r\n<\/pre>\n<p>De la m\u00eame mani\u00e8re que l&#8217;on a sauvegard\u00e9 la Service Master Key, on va sauvegarder ce certificat : il nous servira si l&#8217;on souhaite restaurer la base sur un autre serveur ou bien pour des solutions de haute disponibilit\u00e9 :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nBACKUP CERTIFICATE MyServerMasterCertForTDE TO FILE = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL16.MSSQLSERVER\\MSSQL\\Backup\\Master_Certificate_for_TDE.crt' \r\nWITH PRIVATE KEY (FILE = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL16.MSSQLSERVER\\MSSQL\\Backup\\Master_Certificate_for_TDE_PrivateKey' , \r\nENCRYPTION BY PASSWORD = 'HugEEEEEP@$$word4Cert!');\r\n<\/pre>\n<p>Maintenant que l&#8217;on a ce certificat, on peut enfin cr\u00e9er les cl\u00e9s de chiffrements TDE pour la base m\u00e9tier que l&#8217;on souhaite chiffrer :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nUse AdventureWorks\r\nGO\r\nCREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE MyServerMasterCertForTDE ; \r\nGO\r\n<\/pre>\n<p>Egalement, on peut v\u00e9rifier la pr\u00e9sence de notre paire de cl\u00e9s avec :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nUse AdventureWorks\r\nGO\r\nselect * from sys.key_encryptions\r\n<\/pre>\n<p>Deux lignes doivent apparaitre avec le key_id 101.<\/p>\n<p>Il est possible que l&#8217;avertissement suivant apparaisse :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nWarning: The certificate used for encrypting the database encryption key has not been backed up. You should immediately back up the certificate and the private key\r\nassociated with the certificate. If the certificate ever becomes unavailable or if you must restore or attach the database on another server,\r\nyou must have backups of both the certificate and the private key or you will not be able to open the database.\r\n<\/pre>\n<p>C&#8217;est parce que vous avez oubli\u00e9 de r\u00e9aliser une sauvegarde du certificat. Cela peut \u00eatre v\u00e9rifi\u00e9 ais\u00e9ment :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n\r\nUse AdventureWorks\r\nGO\r\nSELECT pvt_key_last_backup_date,\r\nDb_name(dek.database_id) AS encrypteddatabase,\r\nc.name AS Certificate_Name\r\nFROM master.sys.certificates c\r\nINNER JOIN sys.dm_database_encryption_keys dek ON c.thumbprint = dek.encryptor_thumbprint;\r\n\r\n<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10320\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/tde_check1-300x92.png\" alt=\"\" width=\"701\" height=\"215\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/tde_check1-300x92.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/tde_check1.png 748w\" sizes=\"auto, (max-width: 701px) 100vw, 701px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>On voit donc le certificat associ\u00e9 \u00e0 la paire de cl\u00e9 ainsi que la date de la derni\u00e8re sauvegarde.<\/p>\n<h2> Activation de TDE pour la base<\/h2>\n<p>Maintenant que les pr\u00e9-requis cryptographiques sont pr\u00e9sents, on peut activer enfin TDE :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nUse AdventureWorks\r\nGO\r\nALTER DATABASE AdventureWorks SET ENCRYPTION ON ;\r\nGO\r\n<\/pre>\n<p>Cela se fera en fond de t\u00e2che et n&#8217;emp\u00eachera pas l&#8217;utilisation de la base. La dur\u00e9e de l&#8217;op\u00e9ration d\u00e9pendera de la volum\u00e9trie, de la version de SQL Server et des CPU pr\u00e9sents (cf. Episode 1).<\/p>\n<p>On peu cependant mettre en suspend si jamais cela consommait trop de ressource, \u00e0 partir de SQL Server 2019 avec les commandes suivantes\u00a0 :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nALTER DATABASE AdventureWorks SET ENCRYPTION SUSPEND ;\r\nALTER DATABASE AdventureWorks SET ENCRYPTION RESUME ;\r\n<\/pre>\n<p>Si jamais vous ne savez plus o\u00f9 vous en \u00eates du chiffrement de vos bases, vous pouvez \u00e9galement interroger v\u00e9rifier ainsi :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nselect\r\ndb.name,\r\nEncryptionStatus = CASE encryption_state\r\nWHEN 0 THEN 'Pas de DEK, pas chiffr\u00e9e' -- oui, alors dans les faits, si c'est le cas il n'y pas de ligne dans la table dek. Mais dans la doc...\r\nWHEN 1 THEN 'DEK pr\u00e9sente, pas chiffr\u00e9e'\r\nWHEN 2 THEN 'Chiffrement en cours'\r\nWHEN 3 THEN 'Chiffr\u00e9e'\r\nWHEN 4 THEN 'Changement de cl\u00e9 en cours'\r\nWHEN 5 THEN 'D\u00e9chiffrement en cours'\r\nWHEN 6 THEN 'Changement de certificat ou cl\u00e9 en cours'\r\nELSE 'Statut inconnu'\r\nEND\r\nfrom sys.dm_database_encryption_keys dek\r\nLEFT OUTER JOIN sys.databases db ON dek.database_id = db.database_id\r\n<\/pre>\n<p>Cela nous renvoie ainsi le tableau suivant :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-10323\" src=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/tde_check2-300x89.png\" alt=\"\" width=\"998\" height=\"296\" srcset=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/tde_check2-300x89.png 300w, https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/tde_check2-768x227.png 768w\" sizes=\"auto, (max-width: 998px) 100vw, 998px\" \/><\/p>\n<p>On voit ainsi que notre base AdventureWorks est bien chiffr\u00e9e (et non pas &#8220;chiffrement en cours&#8221;). On voit \u00e9galement que la TempDb est chiffr\u00e9e ! Eh oui : si jamais il y avait des op\u00e9rations avec des tables temporaires, il faut bien entendu que les donn\u00e9es soient chiffr\u00e9e sur celle-ci. Cela veut donc dire un impact en terme de de performances pour les autres bases m\u00e9tier qui seraient sur le m\u00eame serveur, m\u00eame si elles ne sont pas chiffr\u00e9es !<\/p>\n<h2> Int\u00e9gration du chiffrement TDE dans un groupe de disponibilit\u00e9 Always-On<\/h2>\n<p>Maintenant, imaginons que l&#8217;on veuille mettre cette base de donn\u00e9es dans un groupe de disponibilit\u00e9 AlwaysOn : comment faire ? Il suffit simplement de restaurer le certificat et sa cl\u00e9 priv\u00e9 sur le(s) r\u00e9plicat(s) secondaire(s) pour pouvoir acc\u00e9der aux donn\u00e9es. C&#8217;est \u00e9galement la m\u00eame proc\u00e9dure si on veut juste restaurer la base sur un autre serveur.<\/p>\n<p>Dans un premier temps, on va s&#8217;assurer que le serveur qui nous servira de r\u00e9plica secondaire a bien une Master Key\u00a0 :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nUse master\r\nGO\r\nCREATE MASTER KEY ENCRYPTION BY PASSWORD = 'HugEEEEEP@$$word!'\r\nGO\r\n<\/pre>\n<p>On copie la paire de fichiers sauvegard\u00e9s avec le certificat plus t\u00f4t sur le serveur destination (par exemple dans le r\u00e9pertoire de backup, mais attention \u00e0 ne pas les y laisser trainer trop longtemps) :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nUse master\r\ngo\r\nCREATE CERTIFICATE MyServerMasterCertForTDE FROM FILE = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL16.MSSQLSERVER\\MSSQL\\Backup\\Master_Certificate_for_TDE.crt'\r\nWITH PRIVATE KEY (FILE = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL16.MSSQLSERVER\\MSSQL\\Backup\\Master_Certificate_for_TDE_PrivateKey',\r\nDECRYPTION BY PASSWORD = 'HugEEEEEP@$$word4Cert!') ;\r\nGO\r\n<\/pre>\n<p>A partir de maintenant, une base de donn\u00e9es chiffr\u00e9e avec une paire de cl\u00e9 issue de ce certificat sera lisible sur ce serveur !<\/p>\n<p>On peut donc par exemple l&#8217;int\u00e9grer \u00e0 un groupe de disponibilit\u00e9 d\u00e9j\u00e0 pr\u00e9sent. Sur le r\u00e9plica principal (LAB1SQL1 et LAB1SQL2 est le secondaire):<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nUSE [master]\r\nGO\r\nALTER AVAILABILITY GROUP [LAB1AG]\r\nMODIFY REPLICA ON N'LAB1SQL2' WITH (SEEDING_MODE = AUTOMATIC)\r\nGO\r\n\r\nALTER AVAILABILITY GROUP [LAB1AG]\r\nADD DATABASE [AdventureWorks];\r\nGO\r\n<\/pre>\n<p>puis sur le r\u00e9plica secondaire :<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nALTER AVAILABILITY GROUP [LAB1AG] GRANT CREATE ANY DATABASE;\r\nGO\r\n<\/pre>\n<p>Avec l&#8217;Automatic Seeding, la base sera cr\u00e9e et dupliqu\u00e9e chiffr\u00e9e, sans m\u00eame passer par l&#8217;\u00e9tape de backup.<\/p>\n<h2> Remarques sur les diff\u00e9rences de taille de base<\/h2>\n<p>Dans l&#8217;\u00e9pisode 1, on parlait de l&#8217;impact du chiffrement sur la taille des backups. Ici, dans notre exemple avec SQL Server 2022 et la base AdventureWorks, la base de donn\u00e9es sans TDE fait 54 688 Ko, tandis que la version avec TDE fait 52 292 Ko : autant dire que c&#8217;est n\u00e9gligeable et que l&#8217;\u00e9cart est li\u00e9 \u00e0 la fragmentation apr\u00e8s le d\u00e9chiffrement.<\/p>\n<p><strong>Une fois de plus et comme expliqu\u00e9 dans l&#8217;\u00e9pisode 1, pensez \u00e0 mettre les sauvegardes de vos cl\u00e9s et certificats dans un endroit s\u00e9curis\u00e9 !! En l&#8217;absence de votre certificat, vous serez incapable de restaurer vos donn\u00e9es !<\/strong><\/p>\n<p>Dans le prochain \u00e9pisode, nous verrons concr\u00e8tement comment d\u00e9ployer une strat\u00e9gie de chiffrement avec Always Encrypted : stay tuned !<\/p>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F10315&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F10315&#038;title=Le%20chiffrement%20et%20SQL%20Server%20%E2%80%93%20Episode%202%20%3A%20Mise%20en%20oeuvre%20de%20TDE\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Le%20chiffrement%20et%20SQL%20Server%20%E2%80%93%20Episode%202%20%3A%20Mise%20en%20oeuvre%20de%20TDE&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F10315\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>Dans un premier \u00e9pisode (https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-1-transparent-data-encryption-tde-vs-always-encrypted ) nous avons eu l&#8217;occasion de voir les deux grandes approches du chiffrement dans SQL Server, sous un angle th\u00e9orique. Maintenant que l&#8217;on a couvert les concepts derri\u00e8re le chiffrement &#8220;at rest&#8221; de SQL Server,&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":10329,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[394,93,458,278],"class_list":["post-10315","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sqlserver","tag-tde","tag-backup","tag-chiffrement","tag-securite"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Le chiffrement et SQL Server \u2013 Episode 2 : Mise en oeuvre de TDE - Capdata TECH BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Le chiffrement et SQL Server \u2013 Episode 2 : Mise en oeuvre de TDE - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"Dans un premier \u00e9pisode (https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-1-transparent-data-encryption-tde-vs-always-encrypted ) nous avons eu l&#8217;occasion de voir les deux grandes approches du chiffrement dans SQL Server, sous un angle th\u00e9orique. Maintenant que l&#8217;on a couvert les concepts derri\u00e8re le chiffrement &#8220;at rest&#8221; de SQL Server,&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-16T14:53:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-22T08:09:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/TDE_logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"231\" \/>\n\t<meta property=\"og:image:height\" content=\"203\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Capdata team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Capdata team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/\"},\"author\":{\"name\":\"Capdata team\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9\"},\"headline\":\"Le chiffrement et SQL Server \u2013 Episode 2 : Mise en oeuvre de TDE\",\"datePublished\":\"2023-11-16T14:53:11+00:00\",\"dateModified\":\"2023-11-22T08:09:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/\"},\"wordCount\":1459,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"#tde\",\"backup\",\"chiffrement\",\"s\u00e9curit\u00e9\"],\"articleSection\":[\"SQL Server\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/\",\"name\":\"Le chiffrement et SQL Server \u2013 Episode 2 : Mise en oeuvre de TDE - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2023-11-16T14:53:11+00:00\",\"dateModified\":\"2023-11-22T08:09:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Le chiffrement et SQL Server \u2013 Episode 2 : Mise en oeuvre de TDE\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9\",\"name\":\"Capdata team\",\"sameAs\":[\"https:\/\/www.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Le chiffrement et SQL Server \u2013 Episode 2 : Mise en oeuvre de TDE - Capdata TECH BLOG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/","og_locale":"fr_FR","og_type":"article","og_title":"Le chiffrement et SQL Server \u2013 Episode 2 : Mise en oeuvre de TDE - Capdata TECH BLOG","og_description":"Dans un premier \u00e9pisode (https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-1-transparent-data-encryption-tde-vs-always-encrypted ) nous avons eu l&#8217;occasion de voir les deux grandes approches du chiffrement dans SQL Server, sous un angle th\u00e9orique. Maintenant que l&#8217;on a couvert les concepts derri\u00e8re le chiffrement &#8220;at rest&#8221; de SQL Server,&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2023-11-16T14:53:11+00:00","article_modified_time":"2023-11-22T08:09:05+00:00","og_image":[{"width":231,"height":203,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/11\/TDE_logo.png","type":"image\/png"}],"author":"Capdata team","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Capdata team","Dur\u00e9e de lecture estim\u00e9e":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/"},"author":{"name":"Capdata team","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9"},"headline":"Le chiffrement et SQL Server \u2013 Episode 2 : Mise en oeuvre de TDE","datePublished":"2023-11-16T14:53:11+00:00","dateModified":"2023-11-22T08:09:05+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/"},"wordCount":1459,"commentCount":0,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["#tde","backup","chiffrement","s\u00e9curit\u00e9"],"articleSection":["SQL Server"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/","url":"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/","name":"Le chiffrement et SQL Server \u2013 Episode 2 : Mise en oeuvre de TDE - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2023-11-16T14:53:11+00:00","dateModified":"2023-11-22T08:09:05+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/le-chiffrement-et-sql-server-episode-2-mise-en-oeuvre-de-tde\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"Le chiffrement et SQL Server \u2013 Episode 2 : Mise en oeuvre de TDE"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/bfd9395c8ba4fa125792a543377035e9","name":"Capdata team","sameAs":["https:\/\/www.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/10315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=10315"}],"version-history":[{"count":18,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/10315\/revisions"}],"predecessor-version":[{"id":10346,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/10315\/revisions\/10346"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/10329"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=10315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=10315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=10315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}