Bagikan melalui


SQL Server dan Kunci Enkripsi Database (Mesin Database)

SQL Server menggunakan kunci enkripsi untuk membantu mengamankan data, kredensial, dan informasi koneksi yang disimpan dalam database server. SQL Server memiliki dua jenis kunci: simetris dan asimetris. Kunci konten menggunakan kata sandi yang sama untuk mengenkripsi dan mendekripsi data. Kunci asimetris menggunakan satu kata sandi untuk mengenkripsi data (disebut kunci publik ) dan yang lain untuk mendekripsi data (disebut kunci privat ).

Dalam SQL Server, kunci enkripsi menyertakan kombinasi kunci publik, privat, dan konten yang digunakan untuk melindungi data sensitif. Kunci konten dibuat selama inisialisasi SQL Server saat Anda pertama kali memulai instans SQL Server. Kunci digunakan oleh SQL Server untuk mengenkripsi data sensitif yang disimpan di SQL Server. Kunci publik dan privat dibuat oleh sistem operasi dan digunakan untuk melindungi kunci konten. Pasangan kunci publik dan privat dibuat untuk setiap instans SQL Server yang menyimpan data sensitif dalam database.

Aplikasi untuk SQL Server dan Kunci Database

SQL Server memiliki dua aplikasi utama untuk kunci: kunci master layanan (SMK) yang dihasilkan pada dan untuk instans SQL Server, dan kunci master database (DMK) yang digunakan untuk database.

SMK secara otomatis dihasilkan saat pertama kali instans SQL Server dimulai dan digunakan untuk mengenkripsi kata sandi server tertaut, kredensial, dan kunci master database. SMK dienkripsi dengan menggunakan kunci komputer lokal menggunakan Windows Data Protection API (DPAPI). DPAPI menggunakan kunci yang berasal dari kredensial Windows dari akun layanan SQL Server dan kredensial komputer. Kunci master layanan hanya dapat didekripsi oleh akun layanan tempat kunci tersebut dibuat atau oleh prinsipal yang memiliki akses ke kredensial komputer.

Kunci master database adalah kunci konten yang digunakan untuk melindungi kunci privat sertifikat dan kunci asimetris yang ada dalam database. Ini juga dapat digunakan untuk mengenkripsi data, tetapi memiliki batasan panjang yang membuatnya kurang praktis untuk data daripada menggunakan kunci simetris.

Saat dibuat, kunci master dienkripsi dengan menggunakan algoritma Triple DES dan kata sandi yang disediakan pengguna. Untuk mengaktifkan dekripsi otomatis kunci master, salinan kunci dienkripsi dengan menggunakan SMK. Ini disimpan dalam database tempat database digunakan dan dalam master database sistem.

Salinan DMK yang disimpan dalam database sistem diperbarui master secara diam-diam setiap kali DMK diubah. Namun, default ini dapat diubah dengan menggunakan DROP ENCRYPTION BY SERVICE MASTER KEY opsi ALTER MASTER KEY pernyataan . DMK yang tidak dienkripsi oleh kunci master layanan harus dibuka dengan menggunakan OPEN MASTER KEY pernyataan dan kata sandi.

Mengelola SQL Server dan Kunci Database

Mengelola kunci enkripsi terdiri dari membuat kunci database baru, membuat cadangan server dan kunci database, dan mengetahui kapan dan cara memulihkan, menghapus, atau mengubah kunci.

Untuk mengelola kunci konten, Anda dapat menggunakan alat yang disertakan dalam SQL Server untuk melakukan hal berikut:

  • Cadangkan salinan server dan kunci database sehingga Anda dapat menggunakannya untuk memulihkan penginstalan server, atau sebagai bagian dari migrasi yang direncanakan.

  • Pulihkan kunci yang disimpan sebelumnya ke database. Ini memungkinkan instans server baru untuk mengakses data yang ada yang awalnya tidak dienkripsi.

  • Hapus data terenkripsi dalam database jika Anda tidak bisa lagi mengakses data terenkripsi.

  • Buat ulang kunci dan enkripsi ulang data jika kunci disusupi. Sebagai praktik terbaik keamanan, Anda harus membuat ulang kunci secara berkala (misalnya, setiap beberapa bulan) untuk melindungi server dari serangan yang mencoba menguraikan kunci.

  • Tambahkan atau hapus instans server dari penyebaran peluasan skala server di mana beberapa server berbagi database tunggal dan kunci yang menyediakan enkripsi yang dapat dibalik untuk database tersebut.

Informasi Keamanan Penting

Mengakses objek yang diamankan oleh kunci master layanan memerlukan akun layanan SQL Server yang digunakan untuk membuat kunci atau akun komputer (komputer). Artinya, komputer terikat dengan sistem tempat kunci dibuat. Anda dapat mengubah akun layanan SQL Server atau akun komputer tanpa kehilangan akses ke kunci. Namun, jika Anda mengubah keduanya, Anda akan kehilangan akses ke kunci master layanan. Jika Anda kehilangan akses ke kunci master layanan tanpa salah satu dari dua elemen ini, Anda tidak dapat mendekripsi data dan objek yang dienkripsi dengan menggunakan kunci asli.

Koneksi yang diamankan dengan kunci master layanan tidak dapat dipulihkan tanpa kunci master layanan.

Akses ke objek dan data yang diamankan dengan kunci master database hanya memerlukan kata sandi yang digunakan untuk membantu mengamankan kunci.

Perhatian

Jika Anda kehilangan semua akses ke kunci yang dijelaskan sebelumnya, Anda akan kehilangan akses ke objek, koneksi, dan data yang diamankan oleh kunci tersebut. Anda dapat memulihkan kunci master layanan, seperti yang dijelaskan dalam tautan yang ditampilkan di sini, atau Anda dapat kembali ke sistem enkripsi asli untuk memulihkan akses. Tidak ada "pintu belakang" untuk memulihkan akses.

Di Bagian Ini

Kunci Master Layanan
Memberikan penjelasan singkat untuk kunci master layanan dan praktik terbaiknya.

Extensible Key Management (EKM)
Menjelaskan cara menggunakan sistem manajemen kunci pihak ketiga dengan SQL Server.

Mencadangkan Kunci Master Layanan

Memulihkan Kunci Master Layanan

Membuat Kunci Master Database

Mencadangkan Kunci Master Database

Memulihkan Kunci Master Database

Membuat Kunci Simetris Identik di Dua Server

Manajemen Kunci yang Dapat Diperluas Menggunakan Azure Key Vault (SQL Server)

Mengaktifkan TDE Menggunakan EKM

CREATE MASTER KEY (Transact-SQL)

ALTER SERVICE MASTER KEY (Transact-SQL)

Memulihkan Kunci Master Database

Lihat juga

Cadangkan dan Pulihkan Kunci Enkripsi Layanan Pelaporan
Menghapus dan Membuat Ulang Kunci Enkripsi (SSRS Configuration Manager)
Menambahkan dan Menghapus Kunci Enkripsi untuk Penyebaran Scale-Out (Configuration Manager SSRS)
Transparent Data Encryption (TDE)