Referensi spesifikasi kunci - AWS Key Management Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Referensi spesifikasi kunci

Saat Anda membuat KMS kunci asimetris atau HMAC KMS kunci, Anda memilih spesifikasi kuncinya. Spesifikasi kunci, yang merupakan properti dari setiap AWS KMS key, mewakili konfigurasi kriptografi kunci AndaKMS. Anda memilih spesifikasi kunci saat Anda membuat KMS kunci, dan Anda tidak dapat mengubahnya. Jika Anda telah memilih spesifikasi kunci yang salah, hapus KMS kunci, dan buat yang baru.

catatan

Spesifikasi kunci untuk KMS kunci dikenal sebagai “spesifikasi kunci master pelanggan.” CustomerMasterKeySpecParameter CreateKeyoperasi tidak digunakan lagi. Sebagai gantinya, gunakan KeySpec parameternya. Respons dari CreateKey dan DescribeKeyoperasi termasuk CustomerMasterKeySpec anggota KeySpec dan dengan nilai yang sama.

Spesifikasi kunci menentukan apakah KMS kunci simetris atau asimetris, jenis bahan kunci dalam kunci, dan algoritma enkripsi, algoritma penandatanganan, atau kode otentikasi pesan (MAC) algoritma yang mendukung KMS kunci. AWS KMS KMS Spesifikasi kunci yang Anda pilih biasanya ditentukan oleh kasus penggunaan dan persyaratan peraturan. Namun, operasi kriptografi pada KMS kunci dengan spesifikasi kunci yang berbeda diberi harga berbeda dan tunduk pada kuota yang berbeda. Untuk detail harga, lihat AWS Key Management Service Harga. Untuk informasi selengkapnya tentang kuota permintaan, lihat Kuota permintaan.

Untuk membatasi spesifikasi kunci yang dapat digunakan prinsipal saat membuat KMS kunci, gunakan kunci kondisi kms:. KeySpec Anda juga dapat menggunakan tombol kms:KeySpec kondisi untuk mengizinkan prinsipal memanggil AWS KMS operasi hanya pada KMS kunci dengan spesifikasi kunci tertentu. Misalnya, Anda dapat menolak izin untuk menjadwalkan penghapusan KMS kunci apa pun dengan spesifikasi RSA_4096 kunci.

AWS KMS mendukung spesifikasi kunci berikut untuk KMS kunci:

Spesifikasi kunci enkripsi simetris (default)
  • SYMMETRIC_DEFAULT

RSAspesifikasi kunci (enkripsi dan dekripsi -atau- penandatanganan dan verifikasi)
  • RSA_2048

  • RSA_3072

  • RSA_4096

Spesifikasi kunci kurva eliptik
  • Pasangan kunci kurva elips yang NIST direkomendasikan asimetris (penandatanganan dan verifikasi -atau- memperoleh rahasia bersama)

    • ECC_ NIST _P256 (secp256r1)

    • ECC_ NIST _P384 (secp384r1)

    • ECC_ NIST _P521 (secp521r1)

  • Pasangan kunci kurva elips asimetri lain (penandatanganan dan verifikasi)

    • ECC_ SECG _P256K1 (secp256k1), biasa digunakan untuk cryptocurrency.

SM2spesifikasi kunci (enkripsi dan dekripsi -atau- penandatanganan dan verifikasi -atau- memperoleh rahasia bersama)
  • SM2(Hanya Wilayah China)

HMACspesifikasi kunci
  • HMAC_224

  • HMAC_256

  • HMAC_384

  • HMAC_512

SYMMETRIC_ spesifikasi DEFAULT kunci

Spesifikasi kunci default, SYMMETRIC _DEFAULT, adalah spesifikasi kunci untuk kunci enkripsi simetris. KMS Ketika Anda memilih jenis kunci simetris dan Enkripsi dan dekripsi penggunaan kunci di AWS KMS konsol, itu memilih spesifikasi kunci. SYMMETRIC_DEFAULT Dalam CreateKeyoperasi, jika Anda tidak menentukan KeySpec nilai, SYMMETRIC _ DEFAULT dipilih. Jika Anda tidak memiliki alasan untuk menggunakan spesifikasi kunci yang berbeda, SYMMETRIC _ DEFAULT adalah pilihan yang baik.

SYMMETRIC_ DEFAULT mewakili AES -256-GCM, algoritma simetris berdasarkan Advanced Encryption Standard (AES) dalam Galois Counter Mode (GCM) dengan kunci 256-bit, standar industri untuk enkripsi aman. Ciphertext yang dihasilkan algoritma ini mendukung data tambahan yang diautentikasi (AAD), seperti konteks enkripsi, dan GCM memberikan pemeriksaan integritas tambahan pada ciphertext.

Data yang dienkripsi di bawah AES -256- GCM dilindungi sekarang dan di masa depan. Kriptografer menganggap algoritme ini sebagai tahan kuantum. Theoretical future, serangan komputasi kuantum skala besar pada ciphertext yang dibuat di bawah 256-bit AES - GCM kunci mengurangi keamanan efektif kunci menjadi 128 bit. Namun, tingkat keamanan ini cukup untuk membuat serangan brute force pada AWS KMS ciphertext tidak layak dilakukan.

Satu-satunya pengecualian di Wilayah China, di mana SYMMETRIC _ DEFAULT mewakili kunci simetris 128-bit yang menggunakan enkripsi. SM4 Anda hanya dapat membuat SM4 kunci 128-bit di Wilayah China. Anda tidak dapat membuat GCM KMS kunci AES 256-bit di Wilayah China.

Anda dapat menggunakan KMS kunci enkripsi simetris AWS KMS untuk mengenkripsi, mendekripsi, dan mengenkripsi ulang data, dan untuk melindungi kunci data dan pasangan kunci data yang dihasilkan. AWS layanan yang terintegrasi dengan AWS KMS menggunakan KMS kunci enkripsi simetris untuk mengenkripsi data Anda saat istirahat. Anda dapat mengimpor materi kunci Anda sendiri ke dalam kunci enkripsi simetris dan membuat KMS kunci enkripsi simetris di toko KMS kunci khusus. Untuk tabel yang membandingkan operasi yang dapat Anda lakukan pada tombol simetris dan asimetris, lihat Membandingkan KMS kunci Simetris dan Asimetris. KMS

Anda dapat menggunakan KMS kunci enkripsi simetris AWS KMS untuk mengenkripsi, mendekripsi, dan mengenkripsi ulang data, dan menghasilkan kunci data dan pasangan kunci data. Anda dapat membuat KMS kunci enkripsi simetris multi-wilayah, mengimpor materi kunci Anda sendiri ke dalam kunci enkripsi simetris, dan membuat KMS kunci enkripsi simetris di toko KMS kunci khusus. Untuk tabel yang membandingkan operasi yang dapat Anda lakukan pada KMS kunci dari berbagai jenis, lihatReferensi tipe kunci.

RSAspesifikasi kunci

Saat Anda menggunakan spesifikasi RSA kunci, AWS KMS buat kunci asimetris dengan KMS key pairRSA. Kunci pribadi tidak pernah meninggalkan yang tidak AWS KMS terenkripsi. Anda dapat menggunakan kunci publik di dalam AWS KMS, atau mengunduh kunci publik untuk digunakan di luar AWS KMS.

Awas

Saat Anda mengenkripsi data di luar AWS KMS, pastikan Anda dapat mendekripsi ciphertext Anda. Jika Anda menggunakan kunci publik dari KMS kunci yang telah dihapus AWS KMS, kunci publik dari KMS kunci yang dikonfigurasi untuk penandatanganan dan verifikasi, atau algoritma enkripsi yang tidak didukung oleh KMS kunci, data tidak dapat dipulihkan.

Di AWS KMS, Anda dapat menggunakan KMS kunci asimetris dengan pasangan RSA kunci untuk enkripsi dan dekripsi, atau penandatanganan dan verifikasi, tetapi tidak keduanya. Properti ini, yang dikenal sebagai penggunaan kunci, ditentukan secara terpisah dari spesifikasi kunci, tetapi Anda harus membuat keputusan tersebut sebelum memilih spesifikasi kunci.

AWS KMS mendukung spesifikasi RSA kunci berikut untuk enkripsi dan dekripsi atau penandatanganan dan verifikasi:

  • RSA_2048

  • RSA_3072

  • RSA_4096

RSAspesifikasi kunci berbeda dengan panjang RSA kunci dalam bit. Spesifikasi RSA kunci yang Anda pilih mungkin ditentukan oleh standar keamanan Anda atau persyaratan tugas Anda. Secara umum, gunakan kunci terbesar yang praktis dan terjangkau untuk tugas Anda. Operasi kriptografi pada KMS kunci dengan spesifikasi RSA kunci yang berbeda dihargai secara berbeda. Untuk informasi tentang AWS KMS harga, lihat Harga Layanan Manajemen AWS Utama. Untuk informasi selengkapnya tentang kuota permintaan, lihat Kuota permintaan.

RSAspesifikasi kunci untuk enkripsi dan dekripsi

Ketika KMS kunci RSA asimetris digunakan untuk enkripsi dan dekripsi, Anda mengenkripsi dengan kunci publik dan mendekripsi dengan kunci pribadi. Saat Anda memanggil Encrypt operasi AWS KMS untuk RSA KMS kunci, AWS KMS gunakan kunci publik di RSA key pair dan algoritma enkripsi yang Anda tentukan untuk mengenkripsi data Anda. Untuk mendekripsi ciphertext, panggil Decrypt operasi dan tentukan KMS kunci dan algoritma enkripsi yang sama. AWS KMS kemudian menggunakan kunci pribadi di RSA key pair untuk mendekripsi data Anda.

Anda juga dapat mengunduh kunci publik dan menggunakannya untuk mengenkripsi data di luar. AWS KMS Pastikan untuk menggunakan algoritma enkripsi yang AWS KMS mendukung RSA KMS kunci. Untuk mendekripsi ciphertext, panggil Decrypt fungsi dengan KMS kunci dan algoritma enkripsi yang sama.

AWS KMS mendukung dua algoritma enkripsi untuk KMS kunci dengan spesifikasi RSA kunci. Algoritma ini, yang didefinisikan dalam PKCS#1 v2.2, berbeda dalam fungsi hash yang mereka gunakan secara internal. Di AWS KMS, OAEP algoritme RSAES _ selalu menggunakan fungsi hash yang sama untuk tujuan hashing dan untuk fungsi pembuatan topeng (). MGF1 Anda diminta untuk menentukan algoritme enkripsi saat memanggil operasi Enkripsi dan Dekripsi. Anda dapat memilih algoritme yang berbeda untuk setiap permintaan.

Algoritma enkripsi yang didukung untuk spesifikasi RSA utama
Enkripsi algoritme Deskripsi algoritme
RSAES_ OAEP _ SHA _ 1 PKCS#1 v2.2, Bagian 7.1. RSAenkripsi dengan OAEP Padding menggunakan SHA -1 untuk hash dan dalam fungsi pembuatan MGF1 topeng bersama dengan label kosong.
RSAES_ OAEP _ SHA _256 PKCS#1, Bagian 7.1. RSAenkripsi dengan OAEP Padding menggunakan SHA -256 untuk hash dan dalam fungsi pembuatan MGF1 topeng bersama dengan label kosong.

Anda tidak dapat mengonfigurasi KMS kunci untuk menggunakan algoritma enkripsi tertentu. Namun, Anda dapat menggunakan kondisi EncryptionAlgorithm kebijakan kms: untuk menentukan algoritme enkripsi yang diizinkan oleh prinsipal untuk digunakan dengan kunci tersebut. KMS

Untuk mendapatkan algoritma enkripsi untuk KMS kunci, lihat konfigurasi kriptografi KMS kunci di AWS KMS konsol atau gunakan operasi. DescribeKey AWS KMS juga menyediakan spesifikasi kunci dan algoritma enkripsi ketika Anda mengunduh kunci publik Anda, baik di AWS KMS konsol atau dengan menggunakan operasi. GetPublicKey

Anda dapat memilih spesifikasi RSA kunci berdasarkan panjang data teks biasa yang dapat Anda enkripsi di setiap permintaan. Tabel berikut menunjukkan ukuran maksimum, dalam byte, teks biasa yang dapat Anda enkripsi dalam satu panggilan ke operasi Enkripsi. Nilai tersebut berbeda dengan spesifikasi kunci dan algoritme enkripsi. Untuk membandingkan, Anda dapat menggunakan KMS kunci enkripsi simetris untuk mengenkripsi hingga 4096 byte sekaligus.

Untuk menghitung panjang plaintext maksimum dalam byte untuk algoritme ini, gunakan rumus berikut: (key_size_in_bits /8) - (2 * hash_length_in_bits/8) - 2. Misalnya, untuk RSA _2048 dengan SHA -256, ukuran plaintext maksimum dalam byte adalah (2048/8) - (2 * 256/8) -2 = 190.

Ukuran teks biasa maksimum (dalam byte) dalam operasi Enkripsi
Algoritme enkripsi
Spesifikasi kunci RSAES_ OAEP _ SHA _ 1 RSAES_ OAEP _ SHA _256
RSA_2048 214 190
RSA_3072 342 318
RSA_4096 470 446

RSAspesifikasi utama untuk penandatanganan dan verifikasi

Ketika KMS kunci RSA asimetris digunakan untuk penandatanganan dan verifikasi, Anda membuat tanda tangan untuk pesan dengan kunci pribadi dan memverifikasi tanda tangan dengan kunci publik.

Saat Anda memanggil Sign operasi AWS KMS untuk KMS kunci asimetris, AWS KMS gunakan kunci pribadi di RSA key pair, pesan, dan algoritma penandatanganan yang Anda tentukan, untuk menghasilkan tanda tangan. Untuk memverifikasi tanda tangan, hubungi operasi Verifikasi. Tentukan tanda tangan, ditambah KMS kunci, pesan, dan algoritma penandatanganan yang sama. AWS KMS kemudian menggunakan kunci publik di RSA key pair untuk memverifikasi tanda tangan. Anda juga dapat mengunduh kunci publik dan menggunakannya untuk memverifikasi tanda tangan di luar AWS KMS.

AWS KMS mendukung algoritma penandatanganan berikut untuk semua KMS kunci dengan spesifikasi RSA kunci. Anda harus menentukan algoritme penandatanganan saat memanggil operasi Tanda dan Verifikasi. Anda dapat memilih algoritme yang berbeda untuk setiap permintaan. Saat menandatangani dengan pasangan RSA kunci, RSASSA - PSS algoritma lebih disukai. Kami menyertakan RSASSA - PKCS1 -v1_5 algoritma untuk kompatibilitas dengan aplikasi yang ada.

Algoritma penandatanganan yang didukung untuk spesifikasi RSA utama
Algoritme penandatanganan Deskripsi algoritme
RSASSA_ PSS _ SHA _256 PKCS#1 v2.2, Bagian 8.1, RSA tanda tangan dengan PSS padding menggunakan SHA -256 untuk intisari pesan dan fungsi pembuatan MGF1 topeng bersama dengan garam 256-bit
RSASSA_ PSS _ SHA _384 PKCS#1 v2.2, Bagian 8.1, RSA tanda tangan dengan PSS padding menggunakan SHA -384 untuk intisari pesan dan fungsi pembuatan MGF1 topeng bersama dengan garam 384-bit
RSASSA_ PSS _ SHA _512 PKCS#1 v2.2, Bagian 8.1, RSA tanda tangan dengan PSS padding menggunakan SHA -512 untuk intisari pesan dan fungsi pembuatan MGF1 topeng bersama dengan garam 512-bit
RSASSA_ PKCS1 _V1_5_ _256 SHA PKCS#1 v2.2, Bagian 8.2, RSA tanda tangan dengan PKCS #1v1 .5 Padding dan -256 SHA
RSASSA_ PKCS1 _V1_5_ _384 SHA PKCS#1 v2.2, Bagian 8.2, RSA tanda tangan dengan PKCS #1v1 .5 Padding dan -384 SHA
RSASSA_ PKCS1 _V1_5_ _512 SHA PKCS#1 v2.2, Bagian 8.2, RSA tanda tangan dengan PKCS #1v1 .5 Padding dan -512 SHA

Anda tidak dapat mengonfigurasi KMS kunci untuk menggunakan algoritme penandatanganan tertentu. Namun, Anda dapat menggunakan kondisi SigningAlgorithm kebijakan kms: untuk menentukan algoritme penandatanganan yang diizinkan oleh prinsipal untuk digunakan dengan kunci tersebut. KMS

Untuk mendapatkan algoritma penandatanganan KMS kunci, lihat konfigurasi kriptografi KMS kunci di AWS KMS konsol atau dengan menggunakan operasi. DescribeKey AWS KMS juga menyediakan spesifikasi kunci dan algoritma penandatanganan saat Anda mengunduh kunci publik Anda, baik di AWS KMS konsol atau dengan menggunakan operasi. GetPublicKey

Spesifikasi kunci kurva elips

Saat Anda menggunakan spesifikasi kunci eliptic curve (ECC), AWS KMS buat kunci asimetris dengan KMS ECC key pair untuk penandatanganan dan verifikasi atau menurunkan rahasia bersama (tetapi tidak keduanya). Kunci pribadi yang menghasilkan tanda tangan atau memperoleh rahasia bersama tidak pernah meninggalkan yang tidak terenkripsi. AWS KMS Anda dapat menggunakan kunci publik untuk memverifikasi tanda tangan di dalamnya AWS KMS, atau mengunduh kunci publik untuk digunakan di luar. AWS KMS

AWS KMS mendukung spesifikasi ECC kunci berikut untuk kunci asimetrisKMS.

  • Pasangan kunci kurva elips yang NIST direkomendasikan asimetris (penandatanganan dan verifikasi -atau- memperoleh rahasia bersama)

    • ECC_ NIST _P256 (secp256r1)

    • ECC_ NIST _P384 (secp384r1)

    • ECC_ NIST _P521 (secp521r1)

  • Pasangan kunci kurva elips asimetri lain (penandatanganan dan verifikasi)

    • ECC_ SECG _P256K1 (secp256k1), biasa digunakan untuk cryptocurrency.

Spesifikasi ECC kunci yang Anda pilih mungkin ditentukan oleh standar keamanan Anda atau persyaratan tugas Anda. Secara umum, gunakan kurva dengan poin terbanyak yang praktis dan terjangkau untuk tugas Anda.

Jika Anda membuat KMS kunci asimetris untuk mendapatkan rahasia bersama, gunakan salah satu spesifikasi kunci kurva elips NIST yang direkomendasikan. Satu-satunya algoritma perjanjian kunci yang didukung untuk memperoleh rahasia bersama adalah Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (). ECDH Untuk contoh cara mendapatkan rahasia bersama secara offline, lihatMenurunkan rahasia bersama secara offline.

Jika Anda membuat KMS kunci asimetris untuk digunakan dengan cryptocurrency, gunakan spesifikasi kunci ECC _ SECG _P256K1. Anda juga dapat menggunakan spesifikasi kunci ini untuk tujuan lain, tetapi spesifikasi ini diperlukan untuk Bitcoin, dan mata uang kripto lainnya.

KMSkunci dengan spesifikasi ECC kunci yang berbeda diberi harga berbeda dan tunduk pada kuota permintaan yang berbeda. Untuk informasi tentang AWS KMS harga, lihat AWS Key Management Service Harga. Untuk informasi selengkapnya tentang kuota permintaan, lihat Kuota permintaan.

Tabel berikut menunjukkan algoritma penandatanganan yang AWS KMS mendukung untuk setiap spesifikasi ECC utama. Anda tidak dapat mengonfigurasi KMS kunci untuk menggunakan algoritme penandatanganan tertentu. Namun, Anda dapat menggunakan kondisi SigningAlgorithm kebijakan kms: untuk menentukan algoritme penandatanganan yang diizinkan oleh prinsipal untuk digunakan dengan kunci tersebut. KMS

Algoritma penandatanganan yang didukung untuk spesifikasi ECC utama
Spesifikasi kunci Algoritme penandatanganan Deskripsi algoritme
ECC_ NIST _P256 ECDSA_ SHA _256 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-256 untuk intisari pesan.
ECC_ NIST _P384 ECDSA_ SHA _384 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-384 untuk intisari pesan.
ECC_ NIST _P521 ECDSA_ SHA _512 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-512 untuk intisari pesan.
ECC_ SECG _P256K1 ECDSA_ SHA _256 NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-256 untuk intisari pesan.

SM2spesifikasi kunci (hanya Wilayah China)

Spesifikasi utama adalah spesifikasi SM2 kunci kurva elips yang ditentukan dalam rangkaian spesifikasi GM/T yang diterbitkan oleh Kantor Administrasi Kriptografi Komersil Negara China (). OSCCA Spesifikasi SM2 kunci hanya tersedia di Wilayah China. Saat Anda menggunakan spesifikasi SM2 kunci, AWS KMS buat kunci asimetris dengan KMS key pairSM2. Anda dapat menggunakan SM2 key pair di dalam AWS KMS, atau mengunduh kunci publik untuk digunakan di luar AWS KMS. Untuk informasi selengkapnya, lihat Verifikasi offline dengan pasangan SM2 kunci (hanya Wilayah Tiongkok).

Setiap KMS kunci hanya dapat memiliki satu penggunaan kunci. Anda dapat menggunakan SM2 KMS kunci untuk penandatanganan dan verifikasi, enkripsi dan dekripsi, atau memperoleh rahasia bersama. Anda harus menentukan penggunaan kunci saat Anda membuat KMS kunci, dan Anda tidak dapat mengubahnya setelah kunci dibuat.

Jika Anda membuat KMS kunci asimetris untuk mendapatkan rahasia bersama, gunakan spesifikasi SM2 kunci. Satu-satunya algoritma perjanjian kunci yang didukung untuk memperoleh rahasia bersama adalah Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (). ECDH

AWS KMS mendukung SM2 enkripsi dan algoritma penandatanganan berikut:

  • SM2PKEalgoritma enkripsi

    SM2PKEadalah algoritma enkripsi berbasis kurva elips yang didefinisikan oleh OSCCA dalam GM/T 0003.4-2012.

  • SM2DSAalgoritma penandatanganan

    SM2DSAadalah algoritma penandatanganan berbasis kurva elips yang didefinisikan oleh OSCCA dalam GM/T 0003.2-2012. SM2DSAmemerlukan ID pembeda yang di-hash dengan algoritma SM3 hashing dan kemudian dikombinasikan dengan pesan, atau intisari pesan, yang Anda kirimkan. AWS KMS Nilai gabungan ini kemudian di-hash dan ditandatangani oleh. AWS KMS

Spesifikasi kunci untuk HMAC KMS kunci

AWS KMS mendukung HMAC kunci simetris dalam berbagai panjang. Spesifikasi kunci yang Anda pilih dapat bergantung pada persyaratan keamanan, peraturan, atau bisnis Anda. Panjang kunci menentukan MAC algoritma yang digunakan dalam GenerateMacdan VerifyMacoperasi. Secara umum, kunci yang lebih panjang lebih aman. Gunakan kunci terpanjang yang praktis untuk kasus penggunaan Anda.

HMACspesifikasi kunci MACalgoritma
HMAC_224 HMAC_ SHA _224
HMAC_256 HMAC_ SHA _256
HMAC_384 HMAC_ SHA _384
HMAC_512 HMAC_ SHA _512