OSS menyediakan enkripsi sisi server, enkripsi sisi klien, dan enkripsi transmisi HTTPS (SSL/TLS) untuk melindungi data Anda baik saat disimpan maupun dalam perjalanan.
Enkripsi sisi server
OSS mendukung enkripsi sisi server (SSE) untuk data yang diunggah. Data dienkripsi sebelum disimpan secara permanen dan secara otomatis didekripsi saat diunduh. Header respons HTTP menunjukkan bahwa enkripsi sisi server telah diterapkan.
Enkripsi sisi server melindungi data saat disimpan dan cocok untuk skenario yang memerlukan keamanan tinggi atau kepatuhan terhadap regulasi, seperti penyimpanan sampel pembelajaran mendalam atau dokumen kolaboratif. OSS mendukung dua metode SSE:
-
SSE-KMS: Enkripsi dengan kunci yang dikelola KMS
Anda dapat mengenkripsi objek menggunakan kunci master pelanggan (CMK) bawaan yang dikelola KMS atau ID CMK tertentu. Metode ini mendukung enkripsi skala besar dengan biaya rendah karena data tidak dikirim ke server KMS melalui jaringan.
KMS adalah layanan manajemen kunci yang disediakan oleh Alibaba Cloud untuk menjaga kerahasiaan, integritas, dan ketersediaan kunci, sehingga Anda dapat fokus pada logika enkripsi. Anda dapat melihat dan mengelola kunci di Konsol KMS.
KMS menggunakan AES256 dan enkripsi amplop untuk mencegah akses tidak sah. Layanan ini menghasilkan kunci enkripsi data dan mengenkripsinya dengan CMK Anda. Anda dapat menggunakan kunci KMS bawaan yang dikelola OSS atau membawa kunci sendiri (Bring-Your-Own-Key/BYOK). Bahan kunci BYOK dapat disediakan oleh Alibaba Cloud atau diimpor oleh Anda sendiri.
Alur kerja enkripsi SSE-KMS:
-
SSE-OSS: Enkripsi yang dikelola OSS
SSE-OSS merupakan atribut objek yang menggunakan AES256 untuk mengenkripsi setiap objek dengan kunci unik. Kunci master kemudian digunakan untuk mengenkripsi kunci-kunci data tersebut. Metode ini cocok untuk skenario enkripsi Batch.
OSS menghasilkan dan mengelola semua kunci enkripsi data. Anda dapat mengatur metode enkripsi default untuk bucket ke AES256 atau menyertakan header
X-OSS-server-side-encryptiondengan nilaiAES256saat mengunggah atau memodifikasi objek.
Enkripsi sisi klien
Enkripsi sisi klien mengenkripsi objek secara lokal sebelum diunggah ke OSS. Anda bertanggung jawab atas integritas dan kebenaran kunci master serta metadata enkripsi selama operasi copy atau migrasi.
Kunci enkripsi data acak dihasilkan untuk setiap objek dan digunakan untuk mengenkripsi data objek secara simetris. Kunci master kemudian mengenkripsi kunci data ini, dan kunci data yang telah dienkripsi disimpan sebagai metadata objek di server. Untuk dekripsi, kunci master mendekripsi kunci data, yang kemudian digunakan untuk mendekripsi objek tersebut. Kunci master tidak pernah meninggalkan klien—tidak ditransmisikan melalui jaringan maupun disimpan di server.
Dua metode tersedia untuk mengelola kunci master:
-
Kunci master pelanggan yang dikelola KMS
Dengan CMK yang dikelola KMS, Anda hanya perlu menentukan ID CMK saat mengunggah—tidak diperlukan kunci enkripsi di sisi klien. Gambar berikut mengilustrasikan proses ini.
-
Kunci yang dikelola pelanggan
Dengan kunci yang dikelola pelanggan, Anda sendiri yang menghasilkan dan menyimpan kunci enkripsi. Anda menyediakan kunci simetris atau asimetris ke klien enkripsi lokal untuk setiap operasi. Gambar berikut mengilustrasikan proses enkripsi tersebut.
Enkripsi dalam perjalanan (HTTPS/TLS)
OSS mendukung akses HTTP dan HTTPS. Anda dapat mengatur Versi TLS untuk memenuhi kebutuhan keamanan Anda. TLS menyediakan kerahasiaan dan integritas data antara aplikasi yang berkomunikasi, sehingga melindungi data dalam perjalanan.