Arsitektur Cloud HSM

Konten ini terakhir diperbarui pada November 2023, dan menampilkan status quo pada saat konten tersebut ditulis. Kebijakan dan sistem keamanan Google dapat berubah di masa mendatang, seiring upaya kami untuk terus meningkatkan perlindungan bagi pelanggan.

Untuk membantu Anda memenuhi peraturan perusahaan dan kepatuhan, Cloud HSM memungkinkan Anda membuat kunci enkripsi dan melakukan operasi kriptografis dalam modul keamanan hardware (HSM) bersertifikasi FIPS 140-2 Level 3.

Makalah ini menjelaskan arsitektur Cloud HSM, termasuk cara pengelolaan hardware serta pengesahan dan pembuatan kunci.

Ringkasan

Operasi kriptografis meliputi mengenkripsi data dalam penyimpanan, melindungi kunci pribadi untuk Certificate Authority Service, dan melindungi kunci enkripsi data sehingga dapat disimpan bersama data terenkripsi. Cloud HSM menggunakan Marvell LiquidSecurity HSM (model CNL3560-NFBE-2.0-G dan CNL3560-NFBE-3.0-G) dengan firmware versi 3.4 build 09. Untuk mengetahui informasi selengkapnya tentang sertifikasi kami, lihat Sertifikat #3718.

Cloud HSM terkelola sepenuhnya sehingga Anda dapat melindungi workload tanpa overhead operasional pengelolaan cluster HSM. Layanan ini memberikan keuntungan berikut:

  • Ketersediaan global
  • API yang konsisten dan terpadu
  • Penskalaan otomatis berdasarkan penggunaan Anda
  • Pengelolaan terpusat dan kepatuhan terhadap peraturan

Cloud HSM tersedia di setiap region Google Cloud di seluruh dunia, termasuk multi-region yang mencakup wilayah geografis yang lebih besar. Saat mengaktifkan Cloud HSM, Anda dapat membuat dan menggunakan kunci yang didukung HSM untuk melindungi data Anda, termasuk data yang Anda simpan di layanan Google Cloud lainnya, seperti BigQuery, Cloud Storage, dan Persistent Disk.

Karena Cloud HSM dan hardware HSM dikelola oleh Google, Anda tidak perlu mengelola kunci yang didukung HSM dalam produksi. Saat Anda menggunakan Cloud HSM, data Anda diisolasi secara ketat dari tenant dan layanan lain di Google Cloud. API bidang data Cloud HSM, yang merupakan bagian dari Cloud Key Management Service API, memungkinkan Anda mengelola kunci yang didukung HSM secara terprogram.

Cloud HSM mendukung HSM yang didukung kunci enkripsi yang dikelola pelanggan (CMEK) di semua tempat yang mendukung CMEK di seluruh Google Cloud. Misalnya, Anda dapat mengenkripsi data di bucket Cloud Storage atau tabel Cloud SQL menggunakan kunci Cloud HSM yang Anda kelola.

Pengelolaan Cloud HSM

Dalam Cloud HSM, cluster HSM dikelola oleh site reliability engineer (SRE) Google dan teknisi yang bekerja di setiap lokasi pusat data Google Cloud. Google menangani keamanan fisik, keamanan logis, infrastruktur, perencanaan kapasitas, perluasan geografis, dan perencanaan pemulihan pusat data akibat bencana.

Abstraksi hardware HSM

Biasanya, aplikasi akan berkomunikasi langsung dengan HSM menggunakan PKCS#11 dan API pengelolaan cluster. Komunikasi ini mengharuskan Anda mempertahankan kode khusus untuk beban kerja yang menggunakan atau mengelola kunci yang didukung HSM.

Cloud HSM memisahkan komunikasi dari HSM dengan membuat proxy permintaan untuk kunci yang didukung HSM melalui Cloud Key Management Service API. Abstraksi mengurangi kebutuhan akan kode khusus HSM. Cloud HSM mewarisi integrasi yang erat dengan Cloud KMS.

Integrasi yang erat dengan Cloud KMS memberikan manfaat keamanan yang substansial. Cloud Key Management Service API akan secara signifikan mengurangi cakupan antarmuka HSM yang tersedia, sehingga mengurangi risiko jika terjadi pelanggaran keamanan pelanggan. Misalnya, penyerang tidak dapat menghapus total seluruh HSM. Secara default, upaya untuk menghancurkan kunci individual dimitigasi melalui periode keamanan 24 jam default. Anda dapat menyetel kebijakan organisasi constraints/cloudkms.minimumDestroyScheduledDuration untuk memberlakukan panjang minimum durasi dijadwalkan untuk dimusnahkan untuk kunci baru dan kebijakan organisasi constraints/cloudkms.disableBeforeDestroy untuk menghapus versi kunci hanya jika versi tersebut dinonaktifkan. Untuk mengetahui informasi selengkapnya, lihat Mengontrol pemusnahan versi kunci.

Anda dapat mengontrol akses ke resource HSM menggunakan Identity and Access Management (IAM). Konfigurasi IAM berkemungkinan lebih kecil mengalami kesalahan konfigurasi dan bug daripada solusi HSM kustom.

Diagram arsitektur Cloud HSM.

Pemisahan geografis yang ketat, berdasarkan rancangannya

Di Cloud HSM, Anda dapat memilih untuk menyediakan kunci secara global atau menerapkan pembatasan geografis yang ketat pada kunci yang memerlukan pembatasan.

Sering kali, HSM dibagi menjadi beberapa partisi, sehingga satu perangkat fisik dapat beroperasi sebagai beberapa perangkat logis. Anda dapat menggunakan partisi untuk mengurangi biaya deployment jika perlu memisahkan administrasi dan kunci HSM.

Setiap lokasi regional Cloud HSM dikaitkan dengan kunci pelapis yang terpisah. Kunci pelapis di-clone ke partisi di setiap HSM dalam lokasi, tetapi tidak pernah meninggalkan HSM dalam lokasi. Dengan clone, HSM di region yang sama dapat menyalurkan kumpulan kunci pelanggan yang sama, dan memastikan bahwa HSM di luar region tidak dapat menyalurkan kunci tersebut.

Cloud HSM juga membuat multi-region menggunakan kunci pelapis. Semua kunci pelanggan untuk multi-region dilapisi menggunakan kunci pelapis pada partisi di semua lokasi yang membentuk multi-region. Layanan menggunakan hardware yang sama untuk multi-region, tetapi menyediakan isolasi yang sama kuatnya antara region dan multi-region yang ada di antara region yang berbeda.

Diagram geografi Cloud HSM.

Skema regionalisasi mengharuskan kunci pelapis hanya direplikasi ke partisi yang sesuai. Setiap perubahan konfigurasi harus disetujui oleh beberapa anggota tim Cloud HSM sebelum menjadi aktif. Teknisi pusat data tidak dapat mengakses konfigurasi HSM, runtime, atau penyimpanan di lapangan.

Pengelolaan terpusat

Di pusat data tradisional yang menghosting HSM, pengelolaan HSM dan resource-nya sepenuhnya terpisah dari pengelolaan resource kriptografis lainnya. Cloud HSM terintegrasi erat ke Google Cloud sehingga Anda dapat mengelola resource Cloud HSM dengan lancar. Misalnya, Anda dapat mengelola hal berikut:

  • Anda dapat mengelola resource yang didukung HSM bersama kunci lain di Cloud KMS dan kunci yang dikelola secara eksternal di Cloud External Key Manager (Cloud EKM).
  • Anda dapat mengelola akses ke resource yang didukung HSM dalam IAM.
  • Pelaporan biaya untuk operasi kriptografis menggunakan kunci yang didukung HSM dilaporkan di Penagihan Cloud.
  • Anda dapat menggunakan kunci yang didukung HSM secara transparan di semua layanan Google Cloud yang mendukung enkripsi resource menggunakan CMEK. Integrasi CMEK memerlukan kunci CMEK dan data yang dienkripsinya untuk ditempatkan di lokasi geografis yang kompatibel. Karena pembatasan geografis yang ketat pada kunci Cloud HSM, semua enkripsi dan dekripsi data CMEK juga dibatasi secara geografis.
  • Operasi administratif pada resource yang didukung HSM selalu dicatat ke dalam log pada lapisan API di Cloud Audit Logs. Anda juga dapat memilih untuk mengaktifkan pencatatan log akses data. Untuk informasi lebih lanjut, lihat Informasi logging audit Cloud KMS.
  • Google berpartner langsung dengan produsen HSM untuk terus mengupdate hardware dan software pada setiap HSM, serta menemukan dan memperbaiki masalah secara real time. Jika terjadi eksploit zero-day pada HSM, Google dapat secara selektif menonaktifkan jalur kode yang terpengaruh pada cluster HSM yang terpengaruh hingga eksploit tersebut diperbaiki.

Pengalaman developer dan pengguna

Karena Google bertanggung jawab atas pengelolaan HSM, Cloud HSM menawarkan manfaat yang signifikan bagi developer dan pengguna akhir.

HSM dalam skala Google

Jika Anda mengandalkan hardware yang ada di infrastruktur lokal atau di pusat data, hardware tersebut dapat menciptakan bottleneck performa atau menjadi titik tunggal kegagalan. Cloud HSM dirancang agar sangat tahan terhadap kegagalan hardware dan workload yang tidak dapat diprediksi. Backend Cloud HSM menggunakan kumpulan HSM di setiap region untuk memastikan ketersediaan dan skalabilitas tinggi. Kumpulan HSM ini memungkinkan Cloud HSM memberikan throughput yang tinggi. Untuk mengetahui informasi lebih lanjut, baca bagian Memantau dan menyesuaikan kuota Cloud KMS.

Semua kunci pelanggan disimpan dan dilapisi dengan kunci pelapis regional dalam database Cloud KMS dan hanya dapat dibuka lapisannya oleh HSM di region tersebut sebagai bagian dari operasi kriptografis. Pemberian lapisan ini memiliki manfaat berikut:

  • Ketahanan kunci tidak terikat dengan HSM atau subset HSM tertentu di suatu region.
  • Setiap pelanggan Cloud HSM akan mendapatkan skala dan ketersediaan penuh dari cluster Cloud HSM yang menyediakan kunci mereka.
  • Cloud HSM dapat menangani kumpulan kunci yang jauh lebih besar yang dapat disimpan di HSM.
  • Penambahan atau penggantian HSM dapat dilakukan dengan cepat dan aman.

Desain API terpadu

Cloud HSM dan Cloud KMS memiliki API pengelolaan dan paket data yang sama. Detail internal terkait berkomunikasi dengan HSM dipisahkan dari pemanggil.

Dengan demikian, tidak diperlukan perubahan kode untuk mengupdate aplikasi yang ada yang menggunakan kunci software di Cloud KMS untuk mendukung kunci yang didukung HSM. Sebagai gantinya, Anda memperbarui nama resource kunci yang akan digunakan.

Dukungan PKCS#11

Anda dapat menggunakan Cloud Key Management Service API untuk menghubungkan aplikasi yang ada ke Cloud HSM untuk mengelola kunci kriptografis. Library PKCS#11 memungkinkan Anda menggunakan kunci yang didukung HSM untuk menandatangani biner dan menayangkan sesi web TLS.

Kepatuhan terhadap peraturan dan keamanan

Cloud HSM telah memperoleh kepatuhan terhadap berbagai peraturan, termasuk FedRAMP High, C5:2020, dan OSPAR. Selain itu, Cloud HSM membantu Anda menegakkan kepatuhan terhadap peraturan untuk workload Anda di cloud.

Pengesahan kunci kriptografis

Setiap kali Anda membuat atau mengimpor kunci Cloud HSM, HSM akan menghasilkan pernyataan pengesahan yang ditandatangani dengan kunci penandatanganan yang terkait dengan partisi. Pernyataan tersebut berisi informasi tentang atribut kunci Anda. Kunci penandatanganan didukung oleh rantai sertifikat yang di-root di Google dan produsen HSM. Anda dapat mendownload pernyataan dan sertifikat pengesahan untuk memverifikasi keaslian pernyataan serta memvalidasi properti kunci dan HSM yang menghasilkan atau mengimpornya.

Rantai sertifikat memungkinkan Anda memeriksa hal-hal berikut:

  • Hardware dan firmware HSM asli.
  • Partisi HSM dan HSM dikelola oleh Google.
  • HSM berada dalam mode operasi FIPS.

Isi pernyataan pengesahan memungkinkan Anda memeriksa hal-hal berikut:

  • Kunci tidak dapat diekstrak.
  • Kunci telah dibuat untuk CryptoKeyVersion Anda.
  • Kunci publik dalam pasangan kunci asimetris sesuai dengan kunci pribadi yang didukung HSM.
  • Bahan kunci dari kunci simetris yang diimpor cocok dengan nilai yang Anda beri lapisan.

Mengimpor kunci aman langsung ke HSM

Anda dapat mengimpor kunci yang ada dengan aman ke Cloud HSM untuk mempertahankan cadangan materi kunci Anda di luar Google Cloud, atau untuk menyederhanakan migrasi workload tertentu ke Google Cloud. Proses impor kunci tidak mengizinkan Google melakukan akses langsung apa pun ke materi kunci tanpa lapisan. Cloud HSM memberi Anda pernyataan pengesahan untuk kunci pelapis yang dihasilkan HSM guna memvalidasi bahwa tidak ada akses yang dilakukan.

Karena impor kunci berpotensi menimbulkan risiko keamanan dan kepatuhan dengan mengizinkan pengguna membawa kunci dari sumber yang tidak dikenal, peran IAM yang terpisah memungkinkan kontrol terperinci terkait siapa yang dapat mengimpor kunci ke dalam sebuah project. Kunci yang diimpor dapat dibedakan dengan pernyataan pengesahan yang dihasilkan HSM saat mengimpor.

Untuk mengetahui informasi selengkapnya, lihat Mengimpor kunci ke Cloud Key Management Service.

Prosedur keamanan yang ketat mengamankan hardware HSM

Sebagaimana diamanatkan oleh FIPS 140-2 level 3, perangkat HSM memiliki mekanisme bawaan untuk membantu melindungi dari, dan memberikan bukti, gangguan fisik.

Selain jaminan yang diberikan oleh hardware HSM, infrastruktur untuk Cloud HSM dikelola sesuai dengan Ringkasan desain keamanan infrastruktur Google.

Prosedur yang terdokumentasi dan dapat diaudit melindungi integritas setiap HSM selama penyediaan, deployment, dan produksi:

  • Semua konfigurasi HSM harus diverifikasi oleh beberapa SRE Cloud HSM sebelum HSM dapat di-deploy ke pusat data.
  • Setelah HSM digunakan, perubahan konfigurasi hanya dapat dimulai dan diverifikasi oleh beberapa SRE Cloud HSM.
  • HSM hanya dapat menerima firmware yang ditandatangani oleh produsen HSM.
  • Hardware HSM tidak langsung terekspos ke jaringan apa pun.
  • Server yang menghosting hardware HSM tidak dapat menjalankan proses yang tidak sah.

Tugas untuk operator sistem didefinisikan dalam prosedur operasi standar. Operator sistem tidak dapat mengakses, menggunakan, atau mengekstrak materi kunci pelanggan saat menjalankan tugasnya.

Isolasi layanan dan tenant

Arsitektur Cloud HSM memastikan bahwa HSM dilindungi dari gangguan berbahaya atau tidak disengaja dari layanan atau tenant lain.

HSM yang merupakan bagian dari arsitektur ini hanya menerima permintaan dari Cloud HSM, dan layanan Cloud HSM hanya menerima permintaan dari Cloud KMS. Cloud KMS menetapkan bahwa pemanggil memiliki izin IAM yang sesuai pada kunci yang mereka coba gunakan. Permintaan yang tidak sah tidak akan sampai ke HSM.

Kunci yang didukung HSM juga tunduk pada quotas untuk operasi kriptografis. Kuota ini melindungi kemampuan Anda untuk menjalankan workload dengan membantu mencegah upaya yang tidak disengaja atau berbahaya untuk membebani layanan. Kuota default, 3.000 QPM untuk operasi kriptografis asimetris dan 30.000 QPM untuk operasi kriptografis simetris, didasarkan pada pola penggunaan yang teramati. Kuota tersebut jauh di bawah kapasitas layanan dan dapat ditingkatkan sesuai permintaan.

Alur permintaan

Bagian ini menunjukkan penerapan sorotan arsitektur di atas dalam praktiknya dengan menampilkan langkah-langkah untuk berbagai jenis permintaan. Alur ini menekankan bagian Cloud HSM. Untuk mengetahui informasi selengkapnya tentang langkah-langkah umum untuk semua kunci, lihat Mempelajari Cloud Key Management Service secara mendalam.

Membuat kunci

Saat Anda membuat kunci yang didukung HSM, Cloud Key Management Service API tidak akan membuat materi kunci, tetapi meminta agar HSM membuatnya.

HSM hanya dapat membuat kunci di lokasi yang didukungnya. Setiap partisi pada HSM berisi kunci pelapis yang sesuai dengan lokasi Cloud KMS. Kunci pelapis dibagikan ke semua partisi yang mendukung lokasi Cloud KMS. Proses pembuatan kunci terlihat seperti berikut:

  1. Google Front End Service (GFE) akan merutekan permintaan pembuatan kunci ke server Cloud KMS di lokasi yang sesuai dengan permintaan tersebut.
  2. Cloud Key Management Service API memverifikasi identitas pemanggil, izin pemanggil untuk membuat kunci dalam project, dan bahwa pemanggil memiliki kuota permintaan tulis yang memadai.
  3. Cloud Key Management Service API akan meneruskan permintaan ke Cloud HSM.
  4. Cloud HSM langsung berinteraksi dengan HSM. HSM:
    1. Membuat kunci dan memberinya lapisan dengan kunci pelapis khusus lokasi.
    2. Membuat pernyataan pengesahan untuk kunci dan menandatanganinya dengan kunci penandatanganan partisi.
  5. Setelah Cloud HSM menampilkan kunci yang telah dilapisi dan pengesahan ke Cloud KMS, Cloud Key Management Service API akan melapisi kunci yang dilapisi HSM sesuai dengan hierarki kunci Cloud KMS, lalu menulisnya ke project.

Desain ini memastikan bahwa kunci tidak dapat dibuka lapisannya atau digunakan di luar HSM, tidak dapat diekstrak dari HSM, dan berada dalam kondisi tanpa lapisan hanya dalam lokasi yang ditentukan.

Diagram berikut menunjukkan perbedaan saat membuat kunci Cloud HSM dan kunci software di Cloud KMS.

Diagram pembuatan kunci HSM.

Operasi kriptografis

Saat melakukan operasi kriptografis di Cloud KMS, Anda tidak perlu mengetahui apakah Anda menggunakan kunci software atau yang didukung HSM. Saat Cloud Key Management Service API mendeteksi bahwa suatu operasi melibatkan kunci yang didukung HSM, Cloud Key Management Service API akan meneruskan permintaan ke HSM di lokasi yang sama. Berikut adalah langkah-langkah untuk operasi kriptografis:

  1. GFE akan merutekan permintaan ke server Cloud KMS di lokasi yang sesuai. Cloud Key Management Service API memverifikasi identitas pemanggil, izin pemanggil untuk mengakses kunci dan menjalankan operasi, serta kuota project untuk operasi kriptografis.
  2. Cloud Key Management Service API mengambil kunci yang terlapisi dari datastore dan mendekripsi satu level enkripsi menggunakan kunci master Cloud KMS. Kunci tersebut masih dilapisi dengan kunci pelapis HSM untuk lokasi KMS tersebut.
  3. Cloud Key Management Service API akan mendeteksi bahwa tingkat perlindungan adalah HSM dan mengirimkan kunci yang tidak dilapisi sebagian, bersama input ke operasi kriptografis, ke Cloud HSM.
  4. Cloud HSM langsung berinteraksi dengan HSM. HSM menyelesaikan operasi berikut:
    1. Memeriksa apakah kunci yang dilapisi dan atributnya belum diubah.
    2. Membuka lapisan kunci dan memuatnya ke penyimpanan HSM.
    3. Melakukan operasi kriptografis dan menampilkan hasilnya.
  5. Cloud Key Management Service API akan meneruskan hasilnya kembali ke pemanggil.

Operasi kriptografis menggunakan kunci yang didukung HSM sepenuhnya dilakukan dalam HSM di lokasi yang dikonfigurasi, dan hanya hasilnya yang terlihat oleh pemanggil.

Diagram ini menunjukkan perbedaan antara membuat kunci Cloud HSM dan kunci software di Cloud KMS.

Diagram operasi enkripsi HSM.

Integrasi CMEK

Dengan CMEK dan Cloud HSM, Anda dapat melindungi data dalam layanan Google Cloud tertentu dengan kunci HSM. Mengonfigurasi layanan yang mendukung CMEK untuk menggunakan kunci Cloud HSM semudah memilih kunci dengan tingkat perlindungan HSM jika mengikuti petunjuk khusus layanan.

Saat pemanggil membaca atau menulis data ke layanan yang mendukung CMEK, pemanggil tidak memerlukan izin langsung untuk menggunakan kunci tersebut, dan pemanggil tidak perlu mengetahui apakah kunci disimpan di HSM.

Alur untuk operasi CMEK sangat mirip dengan alur untuk operasi kriptografis normal dengan pengecualian berikut:

  • Permintaan dari layanan yang mendukung CMEK dimulai dalam jaringan Google, dan tidak perlu melintasi GFE.
  • Cloud Key Management Service API memverifikasi bahwa akun layanan untuk layanan yang mendukung CMEK memiliki izin yang sesuai untuk menggunakan kunci tersebut. Cloud Key Management Service API tidak memvalidasi izin pada pengguna akhir layanan yang mendukung CMEK.

Cloud HSM adalah key management service hardware Google Cloud. Cloud HSM menawarkan sejumlah keuntungan berbeda bagi pengguna yang ingin melindungi data dalam penyimpanan dengan kunci HSM. Layanan ini dirancang dengan prinsip akses API terkunci ke HSM, skala yang mudah, dan regionalisasi kunci yang ketat.

Cloud HSM menawarkan dukungan CMEK untuk layanan yang paling penting dan keberadaan Cloud HSM di setiap region Google Cloud (termasuk multi-region dan global). Layanan ini dirancang untuk memudahkan Anda melindungi data sensitif, di mana pun lokasinya, dengan kunci yang dilindungi oleh perangkat FIPS 140-2 Level 3.

Langkah selanjutnya

Untuk mempelajari lebih lanjut, pelajari referensi berikut: