Hierarki enkripsi
Berlaku untuk: Database SQL ServerAzure SQL Database Azure SQL Managed Instance SQL di Microsoft Fabric
SQL Server mengenkripsi data dengan enkripsi hierarkis dan infrastruktur manajemen kunci. Setiap lapisan mengenkripsi lapisan di bawahnya dengan menggunakan kombinasi sertifikat, kunci asimetris, dan kunci konten. Kunci asimetris dan kunci konten dapat disimpan di luar SQL Server dalam modul Extensible Key Management (EKM).
Ilustrasi berikut menunjukkan bahwa setiap lapisan hierarki enkripsi mengenkripsi lapisan di bawahnya, dan menampilkan konfigurasi enkripsi yang paling umum. Akses ke awal hierarki biasanya dilindungi oleh kata sandi.
Ingat konsep berikut:
Untuk performa terbaik, enkripsi data menggunakan kunci konten alih-alih sertifikat atau kunci asimetris.
Kunci master database dilindungi oleh Kunci Master Layanan. Kunci Master Layanan dibuat oleh penyiapan SQL Server dan dienkripsi dengan Windows Data Protection API (DPAPI).
Hierarki enkripsi lainnya yang menumpuk lapisan tambahan dimungkinkan.
Modul Extensible Key Management (EKM) menyimpan kunci simetris atau asimetris di luar SQL Server.
Enkripsi Data Transparan (TDE) harus menggunakan kunci konten yang disebut kunci enkripsi database yang dilindungi oleh sertifikat yang dilindungi oleh kunci
master
master database database, atau oleh kunci asimetris yang disimpan dalam EKM.Kunci Master Layanan dan semua Kunci Master Database adalah kunci konten.
Ilustrasi berikut menunjukkan informasi yang sama dengan cara alternatif.
Diagram ini mengilustrasikan konsep tambahan berikut:
Dalam ilustrasi ini, panah menunjukkan hierarki enkripsi umum.
Kunci simetris dan asimetris dalam EKM dapat melindungi akses ke kunci simetris dan asimetris yang disimpan di SQL Server. Garis putus-putus yang terkait dengan EKM menunjukkan bahwa kunci dalam EKM dapat menggantikan kunci simetris dan asimetris yang disimpan di SQL Server.
Mekanisme enkripsi
SQL Server menyediakan mekanisme berikut untuk enkripsi:
Fungsi T-SQL
Kunci asimetris
Kunci konten
Sertifikat
Transparent Data Encryption
Fungsi T-SQL
Item individual dapat dienkripsi saat disisipkan atau diperbarui menggunakan fungsi Transact-SQL. Untuk informasi selengkapnya, lihat ENCRYPTBYPASSPHRASE (Transact-SQL) dan DECRYPTBYPASSPHRASE (Transact-SQL).
Sertifikat
Sertifikat kunci publik, biasanya hanya disebut sertifikat, adalah pernyataan yang ditandatangani secara digital yang mengikat nilai kunci publik ke identitas orang, perangkat, atau layanan yang memegang kunci privat yang sesuai. Sertifikat dikeluarkan dan ditandatangani oleh otoritas sertifikasi (CA). Entitas yang menerima sertifikat dari CA adalah subjek sertifikat tersebut. Biasanya, sertifikat berisi informasi berikut.
Kunci umum subjek.
Informasi pengidentifikasi subjek, seperti nama dan alamat email.
Periode validitas. Ini adalah lamanya waktu sertifikat dianggap valid.
Sertifikat hanya berlaku untuk jangka waktu yang ditentukan di dalamnya; setiap sertifikat berisi Valid Dari dan Valid Hingga tanggal. Tanggal-tanggal ini menetapkan batas periode validitas. Ketika periode validitas untuk sertifikat telah berlalu, sertifikat baru harus diminta oleh subjek sertifikat yang sekarang kedaluwarsa.
Informasi pengidentifikasi pengeluar sertifikat.
Tanda tangan digital penerbit.
Tanda tangan ini membuktikan validitas pengikatan antara kunci publik dan informasi pengidentifikasi subjek. (Proses penandatanganan informasi secara digital memerlukan transformasi informasi, serta beberapa informasi rahasia yang disimpan oleh pengirim, ke dalam tag yang disebut tanda tangan.)
Manfaat utama sertifikat adalah bahwa mereka meringankan host kebutuhan untuk mempertahankan serangkaian kata sandi untuk subjek individu. Sebaliknya, host hanya membangun kepercayaan pada penerbit sertifikat, yang kemudian dapat menandatangani jumlah sertifikat yang tidak terbatas.
Ketika host, seperti server Web yang aman, menunjuk penerbit sebagai otoritas akar tepercaya, host secara implisit mempercayai kebijakan yang telah digunakan penerbit untuk menetapkan pengikatan sertifikat yang menjadi masalahnya. Akibatnya, host mempercayai bahwa penerbit telah memverifikasi identitas subjek sertifikat. Host menunjuk penerbit sebagai otoritas akar tepercaya dengan menempatkan sertifikat penerbit yang ditandatangani sendiri, yang berisi kunci publik penerbit, ke dalam penyimpanan sertifikat otoritas sertifikasi akar tepercaya dari komputer host. Otoritas sertifikasi menengah atau subordinat dipercaya hanya jika mereka memiliki jalur sertifikasi yang valid dari otoritas sertifikasi akar tepercaya.
Penerbit dapat mencabut sertifikat sebelum kedaluwarsa. Pencabutan membatalkan pengikatan kunci publik ke identitas yang ditegaskan dalam sertifikat. Setiap penerbit mempertahankan daftar pencabutan sertifikat yang dapat digunakan oleh program ketika mereka memeriksa validitas sertifikat tertentu.
Sertifikat yang ditandatangani sendiri yang dibuat oleh SQL Server mengikuti standar X.509 dan mendukung bidang X.509 v1.
Kunci asimetris
Kunci asimetris terdiri dari kunci privat dan kunci publik yang sesuai. Setiap kunci dapat mendekripsi data yang dienkripsi oleh yang lain. Enkripsi dan dekripsi asimetris relatif intensif sumber daya, tetapi memberikan tingkat keamanan yang lebih tinggi daripada enkripsi simetris. Kunci asimetris dapat digunakan untuk mengenkripsi kunci konten untuk penyimpanan dalam database.
Kunci konten
Kunci konten adalah salah satu kunci yang digunakan untuk enkripsi dan dekripsi. Enkripsi dan dekripsi dengan menggunakan kunci konten cepat, dan cocok untuk penggunaan rutin dengan data sensitif dalam database.
Transparent Data Encryption
Transparent Data Encryption (TDE) adalah kasus enkripsi khusus menggunakan kunci konten. TDE mengenkripsi seluruh database menggunakan kunci konten yang disebut kunci enkripsi database. Kunci enkripsi database dilindungi oleh kunci atau sertifikat lain yang dilindungi baik oleh kunci master database atau oleh kunci asimetris yang disimpan dalam modul EKM. Untuk informasi selengkapnya, lihat Enkripsi data transparan (TDE).
Database Fabric SQL
Dalam database SQL di Microsoft Fabric, Always Encrypted, EKM, dan TDE saat ini tidak didukung. Dalam database SQL di Microsoft Fabric, ID Microsoft Entra untuk pengguna database adalah satu-satunya metode autentikasi yang didukung. Untuk informasi selengkapnya, lihat Otorisasi dalam database SQL dalam perbandingan Microsoft Fabric dan Fitur.