Memilih algoritma kunci

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

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

Grup algoritma

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

RSA

Skema tanda tangan berbasis RSA memiliki kompatibilitas yang luas di beberapa platform karena usianya. Jika Anda perlu mendukung klien yang menggunakan sistem operasi, protokol, firmware, atau stack teknologi lama, RSA adalah pilihan 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 dalam bagian 8.1 RFC 8017, yang lebih baru dan dianggap lebih aman untuk diverifikasi. 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 sesuai karena dukungannya yang lebih luas.

ECDSA

Meskipun kunci asimetris berdasarkan kurva elips relatif lebih baru daripada RSA, kunci tersebut masih didukung di banyak stack teknologi yang paling umum yang dirilis selama dekade terakhir. Algoritma 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 jaringan.

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

Rantai campuran

Rantai campuran (atau campuran) adalah rantai sertifikat yang berisi satu atau beberapa sertifikat yang menggunakan keluarga algoritma kunci yang berbeda, seperti RSA di beberapa sertifikat dan ECDSA di sertifikat lainnya. Beberapa stack teknologi mengalami kesulitan dalam mengurai rantai sertifikat campuran, dan mungkin menampilkan error yang tidak terduga untuk kasus tersebut. Selain itu, beberapa industri dapat memiliki persyaratan kepatuhan yang mewajibkan rantai CA untuk menggunakan satu keluarga algoritma.

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

Ukuran kunci

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

Praktik umum adalah untuk kunci yang lebih tahan lama, seperti yang terkait dengan root atau CA subordinasi 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:

  1. Memilih keluarga algoritma

    Jika Anda membuat CA subordinat yang tertaut ke CA root yang ada, gunakan keluarga yang sama dengan root.

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

    Jika tidak, gunakan salah satu Algoritma penandatanganan kurva elips.

  2. (Khusus RSA) Memilih algoritma tanda tangan

    Jika Anda ingin menggunakan 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 CA root baru atau CA subordinat yang diperkirakan memiliki masa aktif dalam urutan tahun, sebaiknya gunakan ukuran kunci terbesar yang tersedia untuk keluarga algoritma 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 aktif yang lebih singkat, cukup gunakan ukuran kunci yang lebih kecil, seperti 2048 bit untuk RSA atau 256 bit untuk ECDSA.

Langkah selanjutnya