Pilih algoritma enkripsi
Berlaku untuk: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Enkripsi adalah salah satu dari beberapa pertahanan yang tersedia untuk administrator yang ingin mengamankan instans SQL Server.
Algoritma enkripsi menentukan transformasi data yang tidak dapat dengan mudah dibalik oleh pengguna yang tidak sah. Administrator dan pengembang dapat memilih dari beberapa algoritma di SQL Server, termasuk DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, RC4 128-bit, DESX, AES 128-bit, AES 192-bit, dan AES 256-bit.
Dimulai dengan SQL Server 2016 (13.x), semua algoritma selain AES_128
, AES_192
, dan AES_256
tidak digunakan lagi. Untuk menggunakan algoritma yang lebih lama (tidak disarankan), Anda harus mengatur database ke tingkat kompatibilitas database 120 atau lebih rendah.
Cara memilih algoritma yang tepat
Tidak ada algoritma tunggal yang ideal untuk semua situasi, dan panduan tentang manfaat masing-masing berada di luar cakupan artikel ini. Namun, prinsip umum berikut berlaku:
Enkripsi yang kuat umumnya menggunakan lebih banyak sumber daya CPU daripada enkripsi yang lemah.
Kunci panjang umumnya menghasilkan enkripsi yang lebih kuat daripada kunci pendek.
Enkripsi asimetris lebih lambat daripada enkripsi simetris.
Kata sandi panjang dan kompleks lebih kuat daripada kata sandi pendek.
Enkripsi simetris direkomendasikan ketika kunci hanya disimpan secara lokal. Enkripsi asimetris direkomendasikan ketika kunci perlu dibagikan di seluruh kawat.
Jika Anda mengenkripsi banyak data, Anda harus mengenkripsi data menggunakan kunci konten, dan mengenkripsi kunci konten dengan kunci asimetris.
Data terenkripsi tidak dapat dikompresi, tetapi data terkompresi dapat dienkripsi. Jika Anda menggunakan kompresi, Anda harus mengompresi data sebelum mengenkripsinya.
Untuk informasi selengkapnya tentang algoritma enkripsi dan teknologi enkripsi, lihat Konsep Keamanan Utama.
Algoritma RC4 yang tidak digunakan lagi
Algoritma RC4 hanya didukung untuk kompatibilitas mundur. Materi baru hanya dapat dienkripsi menggunakan RC4
atau RC4_128
ketika database berada dalam tingkat kompatibilitas 90 atau 100 (tidak disarankan). Gunakan algoritma yang lebih baru seperti salah satu algoritma AES sebagai gantinya. Di SQL Server 2012 (11.x) dan versi yang lebih baru, materi yang dienkripsi menggunakan RC4
atau RC4_128
dapat didekripsi dalam tingkat kompatibilitas apa pun.
Penggunaan berulang dari blok data yang sama RC4
atau RC4_128
KEY_GUID
pada blok data yang berbeda menghasilkan kunci RC4 yang sama karena SQL Server tidak menyediakan garam secara otomatis. Menggunakan kunci RC4 yang sama berulang kali adalah kesalahan terkenal yang menghasilkan enkripsi yang lemah. Oleh karena itu, kami telah menghentikan RC4
kata kunci dan RC4_128
. Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini.
Klarifikasi mengenai algoritma DES
DESX salah diberi nama. Kunci konten yang dibuat dengan ALGORITHM = DESX
benar-benar menggunakan cipher Triple DES dengan kunci 192-bit. Algoritma DESX tidak disediakan. Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini.
Kunci konten yang dibuat dengan ALGORITHM = TRIPLE_DES_3KEY
menggunakan Triple DES dengan kunci 192-bit.
Kunci konten yang dibuat dengan ALGORITHM = TRIPLE_DES
menggunakan Triple DES dengan kunci 128-bit.