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.
Tugas Terkait
Mencadangkan Kunci Master Layanan
Memulihkan Kunci Master Layanan
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
Konten terkait
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)