Pilih algoritma enkripsi

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform 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_128KEY_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.