Memilih algoritma kunci

Sebelum membuat certificate authority (CA), Anda harus memilih algoritma penandatanganan untuk kunci Cloud Key Management Service pendukung CA. Certificate Authority Service memungkinkan pembuatan CA dengan kunci Cloud KMS yang sudah ada menggunakan salah satu algoritma penandatanganan asimetris yang didukung, atau dengan memilih dari subset yang lebih kecil dari algoritme tersebut dan meminta layanan membuat dan mengelola siklus proses kunci.

Halaman ini menyebutkan faktor-faktor yang harus Anda pertimbangkan saat menentukan algoritma penandatanganan CA.

Keluarga algoritma

Cloud KMS mendukung dua kelompok algoritma untuk operasi penandatanganan asimetris: RSA dan ECDSA.

RSA

Skema tanda tangan berbasis RSA memiliki kompatibilitas yang luas di berbagai platform berdasarkan usianya. Jika Anda perlu mendukung klien menggunakan sistem operasi, protokol, firmware, atau technology stack lama lainnya, RSA adalah pilihan yang umum.

Cloud KMS mengekspos dua varian utama algoritma tanda tangan RSA: RSA_SIGN_PSS dan RSA_SIGN_PKCS1. Varian PSS menggunakan skema tanda tangan RSASSA-PSS yang dijelaskan di bagian 8.1 RFC 8017, yang lebih baru dan dianggap lebih aman. Varian PKCS1 menggunakan skema tanda tangan PKCS#1 v1.5 lama yang dijelaskan di bagian 8.2 RFC 8017.

Hierarki yang lebih baru dianjurkan untuk menggunakan varian PSS jika semua aplikasi yang mungkin menggunakan sertifikat tersebut mendukungnya. Jika tidak, varian PKCS1 adalah pilihan yang lebih cocok karena dukungannya yang lebih luas.

ECDSA

Meskipun kunci asimetris yang didasarkan pada kurva eliptis relatif lebih baru daripada kunci RSA yang sama, kunci tersebut masih didukung di banyak stack teknologi paling umum yang dirilis selama satu dekade terakhir. Kunci ini sangat populer karena dapat mencapai tingkat kekuatan keamanan yang serupa dengan kunci RSA menggunakan ukuran kunci yang lebih kecil. Aplikasi yang menggunakan kunci ECDSA menyimpan dan mengirimkan lebih sedikit data melalui kabel.

Cloud KMS mengekspos dua varian utama dari algoritma tanda tangan ECDSA: EC_SIGN_P256 dan EC_SIGN_P384.

Jaringan campuran

Rantai campuran (atau campuran) adalah rantai sertifikat tempat satu atau beberapa sertifikat menggunakan kelompok algoritma kunci yang berbeda, seperti RSA di beberapa sertifikat dan ECDSA di sertifikat lainnya. Beberapa technology stack mengalami masalah saat mengurai rantai sertifikat campuran, dan mungkin menampilkan error yang tidak terduga untuk kasus tersebut. Selain itu, beberapa industri mungkin memiliki persyaratan kepatuhan yang memerlukan rantai CA untuk menggunakan satu kelompok algoritma.

Biasanya, rantai CA yang terpisah untuk kunci ECDSA disiapkan dibandingkan dengan yang digunakan untuk kunci RSA.

Ukuran kunci

Meskipun ukuran kunci yang lebih besar (dalam kelompok yang sama) memberikan kekuatan keamanan yang lebih besar, ukuran kunci tersebut juga mengakibatkan lebih banyak data yang disimpan dan dikirim melalui kabel. Selain itu, operasi enkripsi dan penandatanganan terkadang dapat memerlukan waktu lebih lama dengan ukuran kunci yang lebih besar, meskipun hal ini biasanya terlalu kecil untuk diperhatikan.

Praktik umumnya adalah untuk kunci yang tahan lama, seperti yang terkait dengan root CA atau CA subordinat yang berumur panjang, untuk menggunakan ukuran kunci dengan kekuatan keamanan yang lebih besar daripada kunci lainnya.

Panduan pengambilan keputusan

Anda dapat menggunakan panduan sederhana ini untuk membantu memilih algoritma penandatanganan yang sesuai untuk kunci CA Anda:

  1. Memilih kelompok algoritma

    Jika Anda membuat CA subordinat yang dirantai ke root CA yang ada, gunakan kelompok yang sama dengan root.

    Jika Anda membuat root CA baru, tetapi perlu menggunakan sistem lama yang tidak mendukung ECDSA, gunakan salah satu algoritma penandatanganan RSA.

    Jika tidak, gunakan salah satu Algoritma penandatanganan kurva Elliptic.

  2. (Khusus RSA) Memilih algoritma tanda tangan

    Jika Anda ingin bekerja dengan library atau framework lama yang tidak mendukung PSS, gunakan salah satu algoritma RSA_SIGN_PKCS1.

    Jika tidak, gunakan salah satu algoritma RSA_SIGN_PSS.

  3. Memilih ukuran kunci

    Untuk root CA baru atau CA subordinat yang diharapkan memiliki masa aktif dalam urutan tahun, sebaiknya gunakan ukuran kunci terbesar yang tersedia untuk kelompok algoritme tersebut.

    • Untuk RSA, ukuran kunci terbesar yang didukung adalah 4096 bit.
    • Untuk ECDSA, ukuran kunci terbesar yang didukung adalah 384 bit.

    Untuk CA subordinat dengan masa berlaku yang lebih singkat, cukup gunakan ukuran kunci yang lebih kecil, seperti 2048 bit untuk RSA atau 256 bit untuk ECDSA.

Langkah selanjutnya