Rekomendasi untuk enkripsi data

Berlaku untuk rekomendasi daftar periksa Well-Architected Framework Security:

SE:07 Enkripsi data dengan menggunakan metode standar industri modern untuk menjaga kerahasiaan dan integritas. Menyelaraskan cakupan enkripsi dengan klasifikasi data; memprioritaskan metode enkripsi platform asli.

Jika data Anda tidak dilindungi, data tersebut dapat dimodifikasi dengan berbahaya, yang menyebabkan hilangnya integritas dan kerahasiaan.

Panduan ini menjelaskan rekomendasi untuk mengenkripsi dan melindungi data Anda. Enkripsi adalah proses penggunaan algoritma kriptografi untuk membuat data tidak dapat dibaca dan mengunci data dengan kunci. Dalam status terenkripsi, data tidak dapat diurai. Ini hanya dapat didekripsi dengan menggunakan kunci yang dipasangkan dengan kunci enkripsi.

Definisi

Istilah Definisi
Sertifikat File digital yang menyimpan kunci publik untuk enkripsi atau dekripsi.
Cipher suite Sekumpulan algoritma yang digunakan untuk mengenkripsi dan mendekripsi informasi untuk mengamankan koneksi jaringan melalui Keamanan Lapisan Transportasi (TLS).
Komputasi rahasia Komputasi Rahasia adalah perlindungan data yang digunakan dengan melakukan komputasi di Lingkungan Eksekusi Tepercaya berbasis perangkat keras.
Dekripsi Proses di mana data terenkripsi tidak terkunci dengan kode rahasia.
Enkripsi ganda Proses enkripsi data dengan menggunakan dua atau lebih lapisan enkripsi independen.
Enkripsi Proses di mana data dibuat tidak dapat dibaca dan dikunci dengan kode rahasia.
Hashing Proses transformasi data menjadi teks atau angka dengan niat menyembunyikan informasi.
Kunci Kode rahasia yang digunakan untuk mengunci atau membuka kunci data terenkripsi.
Tanda Tangan Stempel autentikasi terenkripsi pada data.
Penandatanganan Proses memverifikasi keaslian data dengan menggunakan tanda tangan.
X.509 Standar yang menentukan format sertifikat kunci publik.

Strategi desain utama

Mandat organisasi atau persyaratan peraturan dapat memberlakukan mekanisme enkripsi. Misalnya, mungkin ada persyaratan bahwa data harus tetap hanya di wilayah yang dipilih, dan salinan data dipertahankan di wilayah tersebut.

Persyaratan ini seringkali merupakan minimum dasar. Berusahalah untuk tingkat perlindungan yang lebih tinggi. Anda bertanggung jawab untuk mencegah kebocoran kerahasiaan dan pengubahan data sensitif, baik data pengguna eksternal maupun data karyawan.

Skenario enkripsi

Mekanisme enkripsi kemungkinan perlu mengamankan data dalam tiga tahap:

  • Data tidak aktif adalah semua informasi yang disimpan di objek penyimpanan.

    Contoh mengamankan data tidak aktif adalah menggunakan BitLocker untuk mengenkripsi data yang disimpan ke penyimpanan pada disk.

  • Data saat transit adalah informasi yang ditransfer antara komponen, lokasi, atau program.

    Contoh mengamankan data saat transit adalah mengenkripsi data dengan TLS sehingga paket yang berpindah melalui jaringan publik dan privat aman.

  • Data yang digunakan adalah data yang secara aktif sedang dikerjakan dalam memori.

    Contoh mengamankan data yang digunakan adalah mengenkripsi dengan komputasi rahasia untuk melindungi data saat diproses.

Pilihan sebelumnya tidak saling eksklusif. Mereka sering digunakan bersama-sama dalam konteks seluruh solusi. Satu tahap mungkin bertindak sebagai kontrol kompensasi. Misalnya, Anda mungkin perlu mengisolasi data untuk mencegah perubahan saat data dibaca dari memori.

Cakupan enkripsi

Mengklasifikasikan data berdasarkan tujuan dan tingkat sensitivitasnya untuk menentukan data apa yang perlu Anda enkripsi. Untuk data yang harus dienkripsi, tentukan tingkat perlindungan yang diperlukan. Apakah Anda memerlukan enkripsi TLS end-to-end untuk semua data saat transit? Untuk data tidak aktif, fitur Azure mana yang dapat memenuhi kebutuhan Anda? Apakah Anda perlu mengenkripsi data dua kali lipat di setiap titik penyimpanan? Bagaimana Anda menerapkan perlindungan informasi?

Penting untuk menyeimbangkan keputusan enkripsi Anda karena ada tradeoff yang signifikan.

Tradeoff: Setiap hop enkripsi dapat memperkenalkan latensi performa. Kompleksitas operasional dapat terjadi sehubungan dengan pemecahan masalah dan pengamatan. Pemulihan bisa menjadi tantangan.

Cakupan tradeoff ini. Mengantisipasi tradeoff untuk data yang diklasifikasikan sebagai sensitif. Persyaratan bahkan dapat menentukan tradeoff, misalnya jika jenis data tertentu harus dienkripsi dan disimpan dalam ambang tertentu.

Ada kasus ketika enkripsi tidak dimungkinkan karena keterbatasan teknis, investasi, atau alasan lainnya. Pastikan bahwa alasan tersebut jelas, valid, dan ter dokumentasi.

Mekanisme enkripsi yang kuat seharusnya bukan satu-satunya bentuk pertahanan Anda. Menerapkan proses pencegahan pencurian data, metode pengujian yang tepat, dan deteksi anomali.

Untuk informasi tentang klasifikasi, lihat Rekomendasi tentang klasifikasi data.

Mekanisme enkripsi asli

Sebagian besar layanan Azure menyediakan tingkat enkripsi dasar. Jelajahi opsi enkripsi yang disediakan platform.

Sangat disarankan agar Anda tidak menonaktifkan kemampuan platform untuk mengembangkan fungsionalitas Anda sendiri. Fitur enkripsi platform menggunakan standar industri modern, dikembangkan oleh para ahli, dan sangat teruji.

Untuk kesempatan yang jarang terjadi, jika Anda perlu mengganti enkripsi yang disediakan platform, evaluasi pro dan kontra dan gunakan algoritma kriptografi standar industri.

Pengembang harus menggunakan API kriptografi yang dibangun ke dalam sistem operasi daripada pustaka kriptografi nonplatform. Untuk .NET, ikuti model kriptografi .NET.

Kunci enkripsi

Secara default, layanan Azure menggunakan kunci enkripsi yang dikelola Microsoft untuk mengenkripsi dan mendekripsi data. Azure bertanggung jawab atas manajemen kunci.

Anda dapat memilih kunci yang dikelola pelanggan. Azure masih menggunakan kunci Anda, tetapi Anda bertanggung jawab atas operasi utama. Anda memiliki fleksibilitas untuk mengubah kunci sesuai keinginan Anda. Dekripsi adalah alasan yang menarik untuk menggunakan kunci yang dikelola pelanggan.

Anda harus memasangkan enkripsi yang kuat dengan dekripsi yang kuat. Dari perspektif keamanan, melindungi kunci dekripsi penting karena rotasi adalah cara umum untuk mengontrol radius ledakan jika kunci disusupi. Pantau akses untuk mendeteksi akses dan aktivitas anomali.

Simpan kunci yang terpisah dari data terenkripsi. Pemisahan ini membantu memastikan bahwa penyusupan satu entitas tidak memengaruhi entitas lainnya. Jika Anda menggunakan kunci yang dikelola pelanggan, simpan di penyimpanan kunci. Simpan data yang sangat sensitif dalam modul keamanan perangkat keras terkelola (HSM).

Kedua toko dilindungi dengan akses berbasis identitas. Fitur ini memungkinkan Anda untuk menolak akses, bahkan ke platform.

Algoritma enkripsi standar

Gunakan algoritma kriptografi yang mapan dan ikuti standar industri alih-alih membuat implementasi kustom.

Standar industri untuk algoritma memerlukan skema enkripsi untuk memiliki tingkat entropi tertentu. Sumber entropi disuntikkan selama enkripsi. Entropi membuat algoritma kuat dan menyulitkan penyerang untuk mengekstrak informasi. Tentukan ambang entropi yang dapat ditoleransi. Prosedur enkripsi bersifat intensif prosesor. Temukan keseimbangan yang tepat sehingga Anda memaksimalkan siklus komputasi yang dihabiskan untuk enkripsi, relatif terhadap target performa keseluruhan permintaan komputasi.

Tradeoff: Jika Anda memilih algoritma yang sangat kompleks atau menyuntikkan lebih dari jumlah entropi yang wajar, itu menurunkan performa sistem Anda.

Hash dan checksum

Biasanya, hashing adalah teknik deteksi kesalahan. Anda juga dapat menggunakan hashing untuk keamanan karena mendeteksi perubahan pada data yang mungkin disebabkan oleh perubahan. Fungsi hash didasarkan pada kriptografi, tetapi tidak menggunakan kunci. Fungsi hash menggunakan algoritma untuk menghasilkan checksum. Checksum dapat membandingkan data untuk memverifikasi integritasnya.

Aplikasi harus menggunakan keluarga algoritma hash SHA-2, seperti SHA-256, SHA-384, atau SHA-512.

Data tidak aktif

Mengklasifikasikan dan melindungi objek penyimpanan informasi sesuai dengan persyaratan kepatuhan internal dan eksternal. Lihat rekomendasi berikut:

  • Enkripsi data dengan menggunakan opsi asli yang disediakan untuk layanan penyimpanan, penyimpanan data, dan sumber daya lain yang digunakan untuk mempertahankan data. Enkripsi data ini meskipun Anda menyimpan data di layanan penyimpanan atau sumber daya ini hanya untuk sementara. Enkripsi juga data cadangan Anda untuk mempertahankan tingkat keamanan yang sama dengan sumber aslinya.

    Untuk informasi selengkapnya, lihat Perlindungan data tidak aktif.

  • Gunakan enkripsi ganda. Jika persyaratan bisnis Anda meminta jaminan yang lebih tinggi, Anda dapat melakukan enkripsi ganda. Enkripsi data dalam dua lapisan atau lebih dengan menggunakan kunci independen yang dikelola pelanggan. Simpan data di HSM terkelola. Untuk membaca data, Anda memerlukan akses ke kedua kunci. Jika satu kunci disusupi, kunci lainnya masih melindungi data. Teknik ini bertujuan untuk meningkatkan biaya penyerang.

    Anda juga dapat menggunakan enkripsi yang disediakan platform untuk mengenkripsi data ganda. Enkripsi yang disediakan platform melindungi media penyimpanan di tingkat infrastruktur, dan Anda menerapkan lapisan enkripsi lain di tingkat data. Misalnya, layanan broker pesan memiliki enkripsi yang disediakan platform melalui kunci yang dikelola Microsoft yang melindungi pipa pesan. Metode ini memungkinkan Anda mengenkripsi pesan dengan kunci yang dikelola pelanggan.

    Gunakan lebih dari satu kunci enkripsi. Gunakan kunci enkripsi kunci (KEK) untuk melindungi kunci enkripsi data (DEK) Anda.

  • Gunakan kontrol akses berbasis identitas untuk mengontrol akses ke data. Tambahkan firewall jaringan untuk menyediakan lapisan keamanan tambahan yang memblokir akses tak terduga dan tidak aman.

    Untuk informasi selengkapnya, lihat Rekomendasi untuk manajemen identitas dan akses.

  • Simpan kunci dalam HSM terkelola yang memiliki kontrol akses hak istimewa paling sedikit. Pisahkan data dari kunci ke data.

  • Simpan data dalam jumlah terbatas sehingga Anda hanya mengenkripsi apa yang diperlukan. Data Anda tidak boleh hidup lebih lama dari siklus enkripsi Anda. Saat data tidak lagi diperlukan, hapus data terenkripsi tanpa menghabiskan siklus dekripsi.

Data saat transit

  • Gunakan protokol aman untuk komunikasi server klien. Protokol transportasi memiliki lapisan keamanan bawaan. TLS adalah standar industri untuk bertukar data antara titik akhir klien dan server.

    Jangan gunakan versi yang lebih rendah dari TLS 1.2. Migrasikan solusi untuk mendukung TLS 1.2, dan gunakan versi ini secara default. Semua layanan Azure mendukung TLS 1.2 pada titik akhir HTTPS publik.

    Risiko: Klien lama yang tidak mendukung TLS 1.2 mungkin tidak berfungsi dengan baik jika kompatibilitas mundur tidak didukung.

    Semua komunikasi situs web harus menggunakan HTTPS, terlepas dari sensitivitas data yang ditransfer. Selama jabat tangan klien-server, negosiasikan penggunaan kebijakan HTTP Strict Transport Security (HSTS) sehingga transportasi HTTPS dipertahankan dan tidak turun ke HTTP selama komunikasi. Kebijakan ini melindungi dari serangan man-in-the-middle.

    Dukungan untuk HSTS adalah untuk versi yang lebih baru. Anda mungkin memutuskan kompatibilitas mundur dengan browser yang lebih lama.

    Catatan

    Anda juga dapat mengenkripsi protokol untuk membuat koneksi aman untuk database. Misalnya, Azure SQL Database mendukung protokol Tabular Data Stream (TDS), yang mengintegrasikan jabat tangan TLS.

    Cipher suite adalah sekumpulan algoritma yang digunakan untuk menstandarkan jabat tangan antara klien dan server. Cipher memastikan bahwa pertukaran dienkripsi dan diautentikasi. Pilihan cipher tergantung pada versi TLS yang digunakan server. Untuk beberapa layanan, seperti Azure Application Gateway, Anda dapat memilih versi TLS dan cipher suite yang ingin Anda dukung. Terapkan cipher suite yang menggunakan Standar Enkripsi Lanjutan (AES) sebagai cipher blok simetris. AES-128, AES-192, dan AES-256 dapat diterima.

  • Mengelola siklus hidup sertifikat. Sertifikat memiliki masa pakai yang telah ditentukan sebelumnya. Jangan menyimpan sertifikat berumur panjang, dan jangan biarkan sertifikat kedaluwarsa sendiri. Terapkan proses yang memperbarui sertifikat pada frekuensi yang dapat diterima. Anda dapat mengotomatiskan proses perpanjangan yang terjadi pada interval singkat.

    Catatan

    Jika Anda menggunakan penyematan sertifikat, biasakan diri Anda dengan kelincahan dan batasan manajemen sertifikat.

    Alur kerja Anda tidak boleh mengizinkan sertifikat yang tidak valid diterima di lingkungan. Proses penyematan sertifikat harus memvalidasi sertifikat dan memberlakukan pemeriksaan validasi tersebut. Anda harus memantau log akses untuk memastikan bahwa kunci penandatanganan digunakan dengan izin yang tepat.

    Jika kunci disusupi, sertifikat harus segera dicabut. Otoritas sertifikat (CA) menyediakan daftar pencabutan sertifikat (CRL) yang menunjukkan sertifikat yang tidak valid sebelum kedaluwarsa. Pemeriksaan validasi Anda harus mempertangungjawabkan CRL.

    Tradeoff: Proses validasi sertifikasi dapat rumit dan biasanya melibatkan CA. Tentukan data yang harus Anda enkripsi dengan sertifikat. Untuk jenis komunikasi lainnya, tentukan apakah Anda dapat menerapkan kontrol kompensasi yang dilokalkan untuk menambahkan keamanan.

    Salah satu cara melokalisasi kontrol adalah dengan TLS bersama (mTLS). Ini membangun kepercayaan pada kedua arah antara klien dan server. Klien dan server memiliki sertifikat mereka sendiri, dan setiap sertifikat diautentikasi dengan pasangan kunci publik atau privat mereka. Dengan mTLS, Anda tidak bergantung pada CA eksternal. Tradeoff adalah kompleksitas tambahan dalam mengelola dua sertifikat.

  • Enkripsi ganda koneksi VPN jika diperlukan. Lakukan enkripsi ganda untuk menambahkan pertahanan secara mendalam ke terowongan VPN Anda. Saat Anda menggunakan dua server VPN, Anda dapat menyembunyikan alamat IP antara server, dan juga menyembunyikan alamat IP antara server dan tujuan. Selama proses ini, data saat transit juga dienkripsi dua kali.

    Tradeoff: Dibandingkan dengan pengaturan VPN tunggal, pengaturan VPN ganda sering lebih mahal, dan koneksi sering lebih lambat.

  • Menerapkan proses pengelogan dan pemantauan. Lacak sumber daya masuk akses yang menyimpan informasi tentang klien, seperti IP sumber, port, dan protokol mereka. Gunakan informasi ini untuk mendeteksi anomali.

Data yang digunakan

Untuk beban kerja keamanan tinggi, segmentasi, isolasi, dan hak istimewa paling sedikit adalah pola desain yang direkomendasikan.

Dalam konteks perlindungan yang digunakan, batas perangkat keras mungkin memerlukan enkripsi data saat digunakan dalam CPU fisik dan memori untuk memastikan isolasi VM, kode manajemen host, dan komponen lainnya.

Enkripsi dan dekripsi data hanya boleh dilakukan dalam batas isolasi tersebut.

Persyaratan keamanan atau peraturan yang lebih ketat mungkin juga memerlukan bukti berbasis perangkat keras dan ditandatangani secara kriptografis bahwa data sedang dienkripsi saat digunakan, ini dapat diperoleh melalui pengesahan.

Penggunaan langkah-langkah keamanan dan privasi modern adalah persyaratan umum untuk beban kerja peraturan. Komputasi rahasia adalah salah satu teknologi yang mendukung persyaratan. Layanan tertentu di Azure menawarkan kemampuan untuk melindungi data saat sedang dihitung. Untuk informasi selengkapnya, lihat Azure Facilitation: Azure Confidential Compute.

Pertimbangkan siklus hidup akhir data yang Anda lindungi data sering berpindah melalui beberapa sistem selama masa pakainya, berhati-hatilah untuk memastikan bahwa semua bagian komponen solusi dapat memberikan tingkat perlindungan yang diperlukan, atau memastikan bahwa strategi manajemen data Anda menyediakan segmentasi atau masking yang sesuai.

Fasilitasi Azure

Bagian berikut ini menjelaskan layanan dan fitur Azure yang bisa Anda gunakan untuk mengenkripsi data Anda.

Kunci yang dikelola pelanggan

Simpan kunci yang dikelola pelanggan di Azure Key Vault atau di HSM yang dikelola Key Vault.

Key Vault memperlakukan kunci seperti rahasia lainnya. Kontrol akses berbasis peran Azure (RBAC) mengakses kunci melalui model izin. Kontrol berbasis identitas ini harus digunakan dengan kebijakan akses Key Vault.

Untuk informasi selengkapnya, lihat Menyediakan akses ke kunci, sertifikat, dan rahasia Key Vault dengan menggunakan RBAC.

Azure Key Vault Premium dan Managed-HSM semakin meningkatkan penawaran dengan menyertakan kemampuan komputasi rahasia dan Rilis Kunci Aman yang mendukung kebijakan untuk memastikan bahwa kunci hanya pernah dirilis ke beban kerja yang dapat membuktikan secara kriptografis dijalankan di dalam Trusted Execution Environment (TEE).

Perlindungan data tidak aktif
  • Azure Storage secara otomatis mengenkripsi data Anda dengan cipher blok saat data disimpan ke akun penyimpanan. Untuk Azure Blob Storage dan Azure Queue Storage, Storage juga menyediakan enkripsi sisi klien melalui pustaka.

    Untuk informasi selengkapnya, lihat Enkripsi penyimpanan.

  • Azure Virtual Machines memiliki file disk yang berfungsi sebagai volume penyimpanan virtual. Anda dapat mengenkripsi file disk virtual sehingga konten tidak dapat diakses.

    Disk terkelola dapat diekspor dari portal. Enkripsi dan enkripsi sisi server di host hanya dapat melindungi data setelah diekspor. Namun, Anda harus melindungi data selama proses ekspor. Anda dapat menggunakan Azure Disk Encryption untuk melindungi dan melindungi data Anda selama proses ekspor.

    Azure menawarkan beberapa opsi enkripsi untuk disk terkelola. Untuk informasi selengkapnya, lihat Gambaran umum opsi enkripsi disk terkelola.

  • SQL Database menawarkan fitur enkripsi data transparan yang digunakan untuk mengenkripsi file database di tingkat halaman.

Perlindungan data dalam transit

Dengan Key Vault, Anda dapat menyediakan, mengelola, dan menyebarkan sertifikat Secure Sockets Layer (SSL) atau TLS publik dan privat. Anda dapat menggunakan sertifikat dengan Azure dan dengan sumber daya internal yang terhubung.

Perlindungan penggunaan data

Layanan tertentu di Azure menawarkan kemampuan untuk melindungi data saat sedang dihitung dalam CPU fisik dan memori host menggunakan komputasi rahasia Azure.

  • Rahasia Virtual Machines menawarkan seluruh komputer virtual yang berjalan di dalam TEE, memori dan menjalankan konten CPU komputer virtual dienkripsi yang menawarkan pendekatan 'angkat & shift' sederhana untuk memindahkan aplikasi yang tidak dimodifikasi dengan persyaratan keamanan tinggi ke Azure. Setiap VM rahasia Azure memiliki Modul Platform Kepercayaan virtual (TPM) khususnya sendiri. Enkripsi dilakukan saat komponen sistem operasi boot dengan aman.

  • Simpul pekerja AKS Rahasia, Kontainer Rahasia pada AKS atau Kontainer Rahasia di Azure Container Instances (ACI) menawarkan kemampuan untuk menjalankan dan mengelola kontainer yang tidak dimodifikasi di dalam TEE yang memungkinkan pelanggan mendapatkan manfaat dari perlindungan yang digunakan. Penawaran kontainer adalah Virtual Machines Rahasia bawaan dan mendapat manfaat dari perlindungan yang sama.

  • Solusi Application Enclave adalah aplikasi yang dibuat khusus memanfaatkan ekstensi CPU tertentu yang ditawarkan oleh SKU komputer virtual yang mendukung Intel Software Guard Extensions (SGX), ini menawarkan Trusted Compute Base (TCB) yang sangat terperinci tetapi mengharuskan aplikasi untuk dikodekan secara khusus untuk memanfaatkan fitur.

  • Rilis Kunci Aman dapat dikombinasikan dengan teknologi ini untuk memastikan bahwa data terenkripsi hanya pernah didekripsi di dalam TEE yang membuktikannya memberikan tingkat perlindungan yang diperlukan melalui proses yang dikenal sebagai Pengesahan.

Manajemen rahasia

Anda dapat menggunakan Key Vault untuk menyimpan dan mengontrol akses ke token, kata sandi, sertifikat, kunci API, dan rahasia lainnya dengan aman. Gunakan Key Vault sebagai solusi manajemen kunci dan sertifikat. SKU Premium mendukung HSM.

Contoh

Contoh berikut menunjukkan solusi enkripsi yang dapat Anda gunakan untuk mengelola kunci, sertifikat, dan rahasia.

Diagram yang menunjukkan solusi enkripsi untuk mengelola kunci, sertifikat, dan rahasia.

Daftar periksa keamanan

Lihat kumpulan rekomendasi lengkap.

Daftar periksa keamanan