Model enkripsi data
Pemahaman tentang berbagai model enkripsi serta pro dan kontra sangat penting untuk memahami bagaimana berbagai penyedia sumber daya di Azure menerapkan enkripsi Tidak aktif. Definisi ini dibagikan di semua penyedia sumber daya di Azure untuk memastikan bahasa dan taksonomi umum.
Ada tiga skenario untuk enkripsi sisi server:
Enkripsi sisi server menggunakan kunci yang Dikelola Layanan
- Penyedia Sumber Daya Azure melakukan operasi enkripsi dan dekripsi
- Microsoft mengelola kunci
- Fungsionalitas cloud penuh
Enkripsi sisi server yang menggunakan kunci yang dikelola pelanggan di Azure Key Vault
- Penyedia Sumber Daya Azure melakukan operasi enkripsi dan dekripsi
- Kunci kontrol pelanggan melalui Azure Key Vault
- Fungsionalitas cloud penuh
Enkripsi sisi server menggunakan kunci yang dikelola pelanggan pada perangkat keras yang dikontrol pelanggan
- Penyedia Sumber Daya Azure melakukan operasi enkripsi dan dekripsi
- Pelanggan mengontrol kunci pada perangkat keras yang dikontrol pelanggan
- Fungsionalitas cloud penuh
Model Enkripsi sisi server mengacu pada enkripsi yang dilakukan oleh layanan Azure. Dalam model itu, Penyedia Sumber Daya melakukan operasi enkripsi dan dekripsi. Misalnya, Azure Storage mungkin menerima data dalam operasi teks biasa dan melakukan enkripsi dan dekripsi secara internal. Penyedia Sumber Daya mungkin menggunakan kunci enkripsi yang dikelola oleh Microsoft atau oleh pelanggan tergantung pada konfigurasi yang disediakan.
Masing-masing model enkripsi saat istirahat sisi server menyiratkan karakteristik khas manajemen kunci, termasuk di mana dan bagaimana kunci enkripsi dibuat dan disimpan, serta model akses dan prosedur rotasi kunci.
Untuk enkripsi sisi klien, pertimbangkan:
- Layanan Azure tidak dapat melihat data yang didekripsi
- Pelanggan mengelola dan menyimpan kunci secara lokal (atau di toko aman lainnya). Kunci tidak tersedia untuk layanan Azure
- Fungsionalitas cloud penuh
Model enkripsi yang didukung di Azure dibagi menjadi dua grup utama: "Enkripsi Klien" dan "Enkripsi Sisi Server" seperti yang disebutkan sebelumnya. Terlepas dari model enkripsi tidak aktif yang digunakan, layanan Azure selalu merekomendasikan penggunaan transportasi yang aman seperti TLS atau HTTPS. Oleh karena itu, enkripsi dalam transportasi harus diatasi oleh protokol transportasi dan tidak boleh menjadi faktor utama dalam menentukan model enkripsi tidak aktif mana yang digunakan.
Model enkripsi klien
Model Enkripsi klien mengacu pada enkripsi yang dilakukan di luar Penyedia Sumber Daya atau Azure oleh layanan atau aplikasi panggilan. Enkripsi dapat dilakukan oleh aplikasi layanan di Azure, atau oleh aplikasi yang berjalan di pusat data pelanggan. Dalam kedua kasus, saat menggunakan model enkripsi ini, Penyedia Sumber Daya Azure menerima blob data terenkripsi tanpa kemampuan untuk mendekripsi data dengan cara apa pun atau memiliki akses ke kunci enkripsi. Dalam model ini, manajemen kunci dilakukan oleh layanan/aplikasi panggilan dan bersifat buram untuk layanan Azure.
Enkripsi sisi server menggunakan kunci yang dikelola layanan
Bagi banyak pelanggan, persyaratan penting adalah memastikan bahwa data dienkripsi saat tidak aktif. Enkripsi sisi server menggunakan Kunci yang dikelola layanan memungkinkan model ini dengan memungkinkan pelanggan menandai sumber daya tertentu (Akun Penyimpanan, SQL DB, dll.) untuk enkripsi dan meninggalkan semua aspek manajemen utama seperti penerbitan kunci, rotasi, dan pencadangan ke Microsoft. Sebagian besar layanan Azure yang mendukung enkripsi tidak aktif biasanya mendukung model ini untuk melakukan offload manajemen kunci enkripsi ke Azure. Penyedia sumber daya Azure membuat kunci, menempatkannya di penyimpanan yang aman, dan mengambilnya saat diperlukan. Layanan ini memiliki akses penuh ke kunci dan layanan memiliki kontrol penuh atas manajemen siklus hidup kredensial.
Enkripsi sisi server menggunakan kunci yang dikelola layanan oleh karena itu dengan cepat mengatasi kebutuhan untuk memiliki enkripsi tidak aktif dengan overhead rendah kepada pelanggan. Saat tersedia, pelanggan biasanya membuka portal Azure untuk target langganan dan penyedia sumber daya dan memeriksa kotak yang menunjukkan, mereka ingin data dienkripsi. Di beberapa Resource Manager, enkripsi sisi server dengan kunci yang dikelola layanan aktif secara default.
Enkripsi sisi server dengan kunci yang dikelola Microsoft memang menyiratkan layanan memiliki akses penuh untuk menyimpan dan mengelola kunci. Meskipun beberapa pelanggan mungkin ingin mengelola kunci karena mereka merasa mereka mendapatkan keamanan yang lebih besar, biaya dan risiko yang terkait dengan solusi penyimpanan kunci kustom harus dipertimbangkan saat mengevaluasi model ini. Dalam banyak kasus, organisasi mungkin menentukan bahwa batasan sumber daya atau risiko solusi lokal mungkin lebih besar dari risiko manajemen cloud enkripsi saat kunci tidak aktif. Namun, model ini mungkin tidak cukup bagi organisasi yang memiliki persyaratan untuk mengontrol pembuatan atau siklus hidup kunci enkripsi atau memiliki personel yang berbeda mengelola kunci enkripsi layanan daripada yang mengelola layanan (yaitu, pemisahan manajemen kunci dari model manajemen keseluruhan untuk layanan).
Akses kunci
Saat Enkripsi sisi server dengan kunci yang dikelola layanan digunakan, pembuatan kunci, penyimpanan, dan akses layanan semuanya dikelola oleh layanan. Biasanya, penyedia sumber daya Azure dasar menyimpan Kunci Enkripsi Data di penyimpanan yang dekat dengan data dan dengan cepat tersedia dan dapat diakses saat Kunci Enkripsi Kunci disimpan di penyimpanan internal yang aman.
Kelebihan
- Pengaturan sederhana
- Microsoft mengelola rotasi kunci, pencadangan, dan redundansi
- Pelanggan tidak memiliki biaya yang terkait dengan penerapan atau risiko skema manajemen kunci kustom.
Kerugian
- Tidak ada kontrol pelanggan atas kunci enkripsi (spesifikasi utama, siklus hidup, pencabutan, dll.)
- Tidak ada kemampuan untuk memisahkan manajemen kunci dari model manajemen keseluruhan untuk layanan
Enkripsi sisi server menggunakan kunci yang dikelola pelanggan di Azure Key Vault dan Azure Managed HSM
Untuk skenario saat persyaratannya adalah mengenkripsi data tidak aktif dan mengontrol kunci enkripsi pelanggan dapat menggunakan enkripsi sisi server menggunakan Kunci yang dikelola pelanggan di Key Vault. Beberapa layanan mungkin hanya menyimpan Kunci Enkripsi Kunci akar di Azure Key Vault dan menyimpan Kunci Enkripsi Data terenkripsi di lokasi internal yang lebih dekat dengan data. Dalam skenario tersebut, pelanggan dapat membawa kunci mereka sendiri ke Key Vault (BYOK - Bring Your Own Key), atau membuat yang baru, dan menggunakannya untuk mengenkripsi sumber daya yang diinginkan. Sementara Penyedia Sumber Daya melakukan operasi enkripsi dan dekripsi, Penyedia Sumber Daya menggunakan kunci enkripsi kunci yang dikonfigurasi sebagai kunci akar untuk semua operasi enkripsi.
Kehilangan kunci enkripsi utama berarti kehilangan data. Untuk alasan ini, kunci tidak boleh dihapus. Kunci harus dicadangkan setiap kali dibuat atau diputar. Perlindungan Penghapusan Sementara dan penghapusan menyeluruh diaktifkan pada vault apa pun yang menyimpan kunci enkripsi kunci untuk melindungi dari penghapusan kriptografi yang tidak disengaja atau berbahaya. Alih-alih menghapus kunci, disarankan untuk mengatur diaktifkan ke false pada kunci enkripsi kunci. Gunakan kontrol akses untuk mencabut akses ke setiap pengguna atau layanan di Azure Key Vault atau HSM Terkelola.
Catatan
Untuk daftar layanan yang mendukung kunci yang dikelola pelanggan di Azure Key Vault dan Azure Managed HSM, lihat Layanan yang mendukung CMK di Azure Key Vault dan Azure Managed HSM.
Akses Kunci
Model enkripsi sisi server dengan kunci yang dikelola pelanggan di Azure Key Vault melibatkan layanan yang mengakses kunci untuk mengenkripsi dan mendekripsi sesuai kebutuhan. Kunci enkripsi saat istirahat dapat diakses oleh layanan melalui kebijakan kontrol akses. Kebijakan ini memberikan akses identitas layanan untuk menerima kunci. Layanan Azure yang berjalan atas nama langganan terkait dapat dikonfigurasi dengan identitas dalam langganan tersebut. Layanan ini dapat melakukan autentikasi Microsoft Entra dan menerima token autentikasi yang mengidentifikasi dirinya sebagai layanan yang bertindak atas nama langganan. Token tersebut kemudian dapat disajikan ke Key Vault untuk mendapatkan kunci yang telah diberikan aksesnya.
Untuk operasi menggunakan kunci enkripsi, identitas layanan dapat diberikan akses ke salah satu operasi berikut: mendekripsi, mengenkripsi, unwrapKey, wrapKey, memverifikasi, menandatangani, mendapatkan, daftar, memperbarui, membuat, mengimpor, menghapus, mencadangkan, dan memulihkan.
Untuk mendapatkan kunci untuk digunakan dalam mengenkripsi atau mendekripsi data tidak aktif, identitas layanan yang akan dijalankan oleh instans layanan Resource Manager harus memiliki UnwrapKey (untuk mendapatkan kunci dekripsi) dan WrapKey (untuk memasukkan kunci ke dalam brankas kunci saat membuat kunci baru).
Catatan
Untuk detail selengkapnya tentang otorisasi Key Vault, lihat halaman amankan brankas kunci Anda di Dokumentasi Azure Key Vault.
Kelebihan
- Kontrol penuh atas kunci yang digunakan – kunci enkripsi dikelola di Key Vault pelanggan di bawah kontrol pelanggan.
- Kemampuan untuk mengenkripsi beberapa layanan ke satu master
- Dapat memisahkan manajemen kunci dari model manajemen keseluruhan untuk layanan
- Dapat menentukan layanan dan lokasi utama di seluruh wilayah
Kerugian
- Pelanggan memiliki tanggung jawab penuh atas manajemen akses kunci
- Pelanggan memiliki tanggung jawab penuh atas manajemen siklus hidup kunci
- Overhead konfigurasi & Penyiapan Tambahan
Enkripsi sisi server yang menggunakan kunci yang dikelola pelanggan pada perangkat keras yang dikontrol pelanggan
Beberapa layanan Azure mengaktifkan model manajemen kunci Host Your Own Key (HYOK). Mode manajemen ini berguna dalam skenario saat ada kebutuhan untuk mengenkripsi data tidak aktif dan mengelola kunci dalam repositori kepemilikan di luar kontrol Microsoft. Dalam model ini, layanan harus menggunakan kunci dari situs eksternal untuk mendekripsi Kunci Enkripsi Data (DEK). Jaminan performa dan ketersediaan terpengaruh, dan konfigurasinya lebih kompleks. Selain itu, karena layanan ini memiliki akses ke DEK selama operasi enkripsi dan dekripsi, jaminan keamanan keseluruhan model ini mirip dengan saat kunci dikelola pelanggan di Azure Key Vault. Akibatnya, model ini tidak sesuai untuk sebagian besar organisasi kecuali mereka memiliki persyaratan manajemen kunci tertentu. Karena keterbatasan ini, sebagian besar layanan Azure tidak mendukung enkripsi sisi server menggunakan kunci yang dikelola pelanggan di perangkat keras yang dikontrol pelanggan. Salah satu dari dua kunci dalam Enkripsi Kunci Ganda mengikuti model ini.
Akses Kunci
Saat enkripsi sisi server menggunakan kunci yang dikelola pelanggan dalam perangkat keras yang dikendalikan pelanggan digunakan, kunci enkripsi kunci dipertahankan pada sistem yang dikonfigurasi oleh pelanggan. Layanan Azure yang mendukung model ini menyediakan sarana untuk membuat koneksi aman ke toko kunci yang disediakan pelanggan.
Kelebihan
- Kontrol penuh atas kunci akar yang digunakan – kunci enkripsi dikelola oleh toko yang disediakan pelanggan
- Kemampuan untuk mengenkripsi beberapa layanan ke satu master
- Dapat memisahkan manajemen kunci dari model manajemen keseluruhan untuk layanan
- Dapat menentukan layanan dan lokasi utama di seluruh wilayah
Kerugian
- Tanggung jawab penuh untuk penyimpanan utama, keamanan, performa, dan ketersediaan
- Tanggung jawab penuh untuk manajemen akses utama
- Tanggung jawab penuh untuk manajemen siklus hidup kunci
- Penyiapan, konfigurasi, dan biaya pemeliharaan yang berkelanjutan yang signifikan
- Peningkatan dependensi pada ketersediaan jaringan antara pusat data pelanggan dan pusat data Azure.