مفاهیم Encryption و Transparent Data Encryption در SQL Server | Pro SQL Server 2019 Administration

مفاهیم Encryption و Transparent Data Encryption در SQL Server

توسط admin | گروه SQL Server | 1405/05/20

نظرات 0

مفاهیم Encryption و Transparent Data Encryption در SQL Server

Chapter 11 — Encryption Concepts and Transparent Data Encryption

نویسنده: Peter A. Carter

زبان منبع: انگلیسی

محدوده: صفحات PDF 385 تا 399

تاریخ ترجمه: 2026-08-11

اعتبار ترجمه: ترجمه با کمک هوش مصنوعی

PAGE-385

فصل ۱۱ — Encryption

Encryption Hierarchy و Symmetric Keys

Encryption داده را با Algorithm و Key به شکلی تبدیل می‌کند که بدون Key قابل استفاده نباشد. SQL Server چند لایه Key/Certificate دارد. Symmetric Key برای Encrypt/Decrypt از یک Key مشترک استفاده می‌کند و معمولاً سریع‌تر از Asymmetric است.

PAGE-386

Asymmetric Key، Certificate و Master Key

Asymmetric Encryption از Public/Private Key Pair استفاده می‌کند و برای حفاظت از Keyهای دیگر مناسب است. Certificate یک Public Key به‌همراه Metadata هویت است. Service Master Key در سطح Instance و Database Master Key در سطح Database ریشه‌های مهم زنجیره حفاظت هستند.

PAGE-387

Service Master Key

ALTER SERVICE MASTER KEY REGENERATE;
BACKUP SERVICE MASTER KEY TO FILE = 'C:\Keys\service_master_key'
ENCRYPTION BY PASSWORD = 'Backup-Key-Password';

Regenerate کردن Service Master Key عملیات حساس است، چون Objectهای رمزگذاری‌شده زیر آن باید دوباره Protect شوند. Backup کلید باید خارج از Server و با کنترل دسترسی قوی نگهداری شود.

PAGE-388

Database Master Key

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Database-Master-Key-Password';
BACKUP MASTER KEY TO FILE = 'C:\Keys\Chapter11_DMK.key'
ENCRYPTION BY PASSWORD = 'Backup-File-Password';

DMK می‌تواند توسط SMK خودکار باز شود. Backup/Restore کلید برای Migration و Disaster Recovery حیاتی است.

PAGE-389

Hierarchy

زنجیره نمونه از DPAPI/Windows تا Service Master Key، Database Master Key، Certificate/Asymmetric Key و در نهایت Symmetric/Data Encryption Key ادامه دارد. حفاظت لایه‌ای باعث می‌شود Keyهای Data با Keyهای بالاتر Encrypt شوند.

Figure 11-1 — شکل/تصویر منبع، صفحه PDF 389
PAGE-390

Extensible Key Management

EKM امکان نگهداری Key در Provider خارجی/HSM را فراهم می‌کند. Provider ثبت و Credential/Key از ماژول خارجی وارد می‌شود. این مدل می‌تواند Separation of Duties و حفاظت Hardware-backed ایجاد کند، اما Deployment و Availability Provider باید طراحی شود.

PAGE-391

Transparent Data Encryption — TDE

TDE Data File و Log را در سطح Page/IO Encrypt می‌کند؛ Application و Query نیاز به تغییر ندارند. Data Encryption Key داخل Database است و معمولاً با Certificate سطح master محافظت می‌شود. Backup Database TDE نیز Encrypt است و برای Restore به Certificate/Private Key نیاز دارد.

PAGE-392

TDE از Data-at-Rest در فایل MDF/NDF/LDF و Backup محافظت می‌کند، اما داده پس از ورود به Buffer Pool Decrypt می‌شود و Query مجاز Plaintext می‌بیند. بنابراین TDE جای Object Permission، TLS یا Always Encrypted برای محافظت در برابر DBA/Server Admin نیست. Replication نیز ممکن است داده را در مسیر/Subscriber به شکل دیگری منتقل کند.

PAGE-393

Database Encryption Key می‌تواند با Certificate یا در برخی پیکربندی‌ها Asymmetric Key محافظت شود. سلسله Keyها باید قبل از Enable TDE ساخته و Backup شوند. بدون Certificate اصلی، Restore Backup روی Instance جدید ممکن نیست.

PAGE-394

آماده‌سازی Database نمونه

کتاب Database ‏Chapter11Encrypted و Tableهای نمونه ایجاد می‌کند تا TDE و Cell-Level Encryption در ادامه روی داده واقعی نمایش داده شوند. فایل‌های Data و Log طبق محیط باید مسیر صحیح داشته باشند.

PAGE-395

داده‌های نمونه شامل نام‌ها و رکوردهای مرتبط است. هدف ایجاد Payload کافی برای مشاهده Encryption State و Backup/Restore است. داده مثال Production محسوب نمی‌شود.

PAGE-396

درج داده با CTE و مجموعه اعداد تکمیل می‌شود. پس از آماده‌شدن Database، Certificate و DEK ایجاد و Encryption فعال می‌شود.

PAGE-397

Algorithm و Wizard

انتخاب Algorithm تعادل Security و CPU است. TDE در SQL Server از AES با اندازه کلیدهای مختلف پشتیبانی می‌کند. SSMS Manage Database Encryption Wizard مراحل Certificate/DEK و Enable را نمایش می‌دهد، اما برای Automation معمولاً T-SQL ترجیح داده می‌شود.

Figure 11-2 — شکل/تصویر منبع، صفحه PDF 397
PAGE-398
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Master-Key-Password';
CREATE CERTIFICATE Chapter11TDECert WITH SUBJECT = 'TDE certificate';
GO
USE Chapter11Encrypted;
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE Chapter11TDECert;
ALTER DATABASE Chapter11Encrypted SET ENCRYPTION ON;

بلافاصله Certificate و Private Key باید Backup شوند.

PAGE-399
BACKUP CERTIFICATE Chapter11TDECert
TO FILE = 'C:\Keys\Chapter11TDECert.cer'
WITH PRIVATE KEY
(
 FILE = 'C:\Keys\Chapter11TDECert.pvk',
 ENCRYPTION BY PASSWORD = 'Private-Key-Backup-Password'
);

برای Restore روی Instance جدید ابتدا Master Key و Certificate با Private Key Restore می‌شوند، سپس Database Restore می‌شود. نبود Certificate باعث خطای Restore Backup رمزگذاری‌شده خواهد شد.

Figure 11-3 — شکل/تصویر منبع، صفحه PDF 399

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500