Buat KMS 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.

Buat KMS kunci

Anda dapat membuat AWS KMS keys di AWS Management Console, atau dengan menggunakan CreateKeyoperasi atau AWS CloudFormation sumber dayaAWS::KMS: :Key. Selama proses ini, Anda menetapkan kebijakan kunci untuk KMS kunci, yang dapat Anda ubah kapan saja. Anda juga memilih nilai berikut yang menentukan jenis KMS kunci yang Anda buat. Anda tidak dapat mengubah properti ini setelah KMS kunci dibuat.

KMSjenis kunci

Tipe kunci adalah properti yang menentukan jenis kunci kriptografi apa yang dibuat. AWS KMS menawarkan tiga jenis kunci untuk melindungi data:

  • Kunci simetris Standar Enkripsi Tingkat Lanjut (AES)

    Kunci 256-bit yang digunakan di bawah mode Galois Counter Mode (GCM) AES untuk menyediakan enkripsi/dekripsi data yang diautentikasi di bawah ukuran 4KB. Ini adalah jenis kunci yang paling umum dan digunakan untuk melindungi kunci enkripsi data lain yang digunakan dalam aplikasi Anda dan dengan Layanan AWS itu mengenkripsi data Anda atas nama Anda.

  • RSA, kurva elips, atau SM2 (hanya Wilayah China) kunci asimetris

    Tombol ini tersedia dalam berbagai ukuran dan mendukung banyak algoritma. Mereka dapat digunakan untuk enkripsi dan dekripsi, menandatangani dan memverifikasi, atau memperoleh operasi rahasia bersama tergantung pada pilihan algoritme.

  • Kunci simetris untuk melakukan operasi kode otentikasi pesan berbasis hash () HMAC

    Kunci ini adalah kunci 256-bit yang digunakan untuk menandatangani dan memverifikasi operasi.

    KMSkunci tidak dapat diekspor dari layanan dalam teks biasa. Mereka dihasilkan oleh dan hanya dapat digunakan dalam modul keamanan perangkat keras (HSMs) yang digunakan oleh layanan. Ini adalah properti keamanan dasar AWS KMS untuk memastikan bahwa kunci tidak dikompromikan.

Penggunaan kunci

Penggunaan kunci adalah properti yang menentukan operasi kriptografi yang didukung kunci. KMSkunci dapat memiliki penggunaan kunciENCRYPT_DECRYPT,SIGN_VERIFY,GENERATE_VERIFY_MAC, atauKEY_AGREEMENT. Setiap KMS kunci hanya dapat memiliki satu penggunaan kunci. Menggunakan KMS kunci untuk lebih dari satu jenis operasi membuat produk dari kedua operasi lebih rentan terhadap serangan.

Spesifikasi kunci

Spesifikasi kunci adalah properti yang mewakili konfigurasi kriptografi kunci. Arti dari spesifikasi kunci berbeda dengan tipe kunci.

Untuk KMS kunci, spesifikasi kunci menentukan apakah KMS kunci simetris atau asimetris. Ini juga menentukan jenis bahan utamanya, dan algoritma yang didukungnya.

Spesifikasi kunci default, SYMMETRIC_ DEFAULT, mewakili kunci enkripsi simetris 256-bit. Untuk penjelasan rinci tentang semua spesifikasi utama yang didukung, lihatReferensi spesifikasi kunci.

Asal bahan utama

Asal material utama adalah properti KMS kunci yang mengidentifikasi sumber bahan kunci dalam KMS kunci. Anda memilih asal materi kunci saat Anda membuat KMS kunci, dan Anda tidak dapat mengubahnya. Sumber material utama mempengaruhi keamanan, daya tahan, ketersediaan, latensi, dan karakteristik throughput kunci. KMS

Setiap KMS kunci menyertakan referensi ke materi utamanya dalam metadatanya. Asal material kunci KMS kunci enkripsi simetris dapat bervariasi. Anda dapat menggunakan materi kunci yang AWS KMS menghasilkan, materi kunci yang dihasilkan di toko kunci khusus, atau mengimpor materi kunci Anda sendiri.

Secara default, setiap KMS kunci memiliki bahan kunci yang unik. Namun, Anda dapat membuat satu set kunci multi-wilayah dengan material kunci yang sama.

KMSkunci dapat memiliki salah satu nilai asal material utama berikut:AWS_KMS, EXTERNAL (bahan kunci impor), AWS_CLOUDHSM (KMSkunci di toko AWS CloudHSM kunci), atau EXTERNAL_KEY_STORE (KMSkunci di penyimpanan kunci eksternal).

Izin untuk membuat kunci KMS

Untuk membuat KMS kunci di konsol atau dengan menggunakanAPIs, Anda harus memiliki izin berikut dalam IAM kebijakan. Sebisa mungkin, gunakan kunci kondisi untuk membatasi izin. Misalnya, Anda dapat menggunakan kunci KeySpec kondisi kms: dalam IAM kebijakan untuk mengizinkan prinsipal membuat hanya kunci enkripsi simetris.

Untuk contoh IAM kebijakan untuk prinsipal yang membuat kunci, lihat. Izinkan pengguna untuk membuat KMS kunci

catatan

Berhati-hatilah saat memberikan izin prinsipal untuk mengelola tanda dan alias. Mengubah tag atau alias dapat mengizinkan atau menolak izin ke kunci yang dikelola pelanggan. Untuk detailnya, lihat ABACuntuk AWS KMS.

PutKeyPolicyIzin kms: tidak diperlukan untuk membuat KMS kunci. Izin kms:CreateKey termasuk izin untuk menetapkan kebijakan kunci awal. Tetapi Anda harus menambahkan izin ini ke kebijakan kunci sambil membuat KMS kunci untuk memastikan bahwa Anda dapat mengontrol akses ke KMS kunci. Alternatifnya adalah menggunakan BypassLockoutSafetyCheckparameter, yang tidak disarankan.

KMSkunci milik AWS akun tempat mereka dibuat. IAMPengguna yang membuat KMS kunci tidak dianggap sebagai pemilik kunci dan mereka tidak secara otomatis memiliki izin untuk menggunakan atau mengelola KMS kunci yang mereka buat. Seperti prinsipal lainnya, pembuat kunci perlu mendapatkan izin melalui kebijakan, IAM kebijakan, atau hibah kunci. Namun, kepala sekolah yang memiliki kms:CreateKey izin dapat mengatur kebijakan kunci awal dan memberi diri mereka izin untuk menggunakan atau mengelola kunci tersebut.

Memilih jenis KMS kunci apa yang akan dibuat

Jenis KMS kunci yang Anda buat sangat tergantung pada bagaimana Anda berencana untuk menggunakan KMS kunci, persyaratan keamanan Anda, dan persyaratan otorisasi Anda. Jenis kunci dan penggunaan kunci dari KMS kunci menentukan operasi kriptografi apa yang dapat dilakukan oleh kunci. Setiap KMS kunci hanya memiliki satu penggunaan kunci. Menggunakan KMS kunci untuk lebih dari satu jenis operasi membuat produk dari semua operasi lebih rentan terhadap serangan.

Untuk mengizinkan prinsipal membuat KMS kunci hanya untuk penggunaan kunci tertentu, gunakan kunci kondisi kms:. KeyUsage Anda juga dapat menggunakan tombol kms:KeyUsage kondisi untuk mengizinkan prinsipal memanggil API operasi untuk KMS kunci berdasarkan penggunaan kuncinya. Misalnya, Anda dapat mengizinkan izin untuk menonaktifkan KMS kunci hanya jika penggunaan kuncinya adalah SIGN _VERIFY.

Gunakan panduan berikut untuk menentukan jenis KMS kunci yang Anda butuhkan berdasarkan kasus penggunaan Anda.

Mengenkripsi dan mendekripsi data

Gunakan KMSkunci simetris untuk sebagian besar kasus penggunaan yang memerlukan enkripsi dan dekripsi data. Algoritme enkripsi simetris yang digunakan AWS KMS berfungsi dengan cepat, efisien, dan menjamin kerahasiaan dan keaslian data. Ini mendukung enkripsi yang diautentikasi dengan data otentikasi tambahan (AAD), didefinisikan sebagai konteks enkripsi. Jenis KMS kunci ini mengharuskan pengirim dan penerima data terenkripsi untuk memiliki AWS kredensil yang valid untuk dipanggil. AWS KMS

Jika kasus penggunaan Anda memerlukan enkripsi di luar AWS oleh pengguna yang tidak dapat menelepon AWS KMS, KMSkunci asimetris adalah pilihan yang baik. Anda dapat mendistribusikan kunci publik dari KMS kunci asimetris untuk memungkinkan pengguna ini mengenkripsi data. Dan aplikasi Anda yang perlu mendekripsi data tersebut dapat menggunakan kunci pribadi dari kunci asimetris di dalamnyaKMS. AWS KMS

Menandatangani pesan dan memverifikasi tanda tangan

Untuk menandatangani pesan dan memverifikasi tanda tangan, Anda harus menggunakan kunci asimetris KMS. Anda dapat menggunakan KMS kunci dengan spesifikasi kunci yang mewakili RSA key pair, elliptic curve () key ECC pair, atau SM2 key pair (China Regions only). Spesifikasi kunci yang Anda pilih ditentukan oleh algoritme penandatanganan yang ingin Anda gunakan. Algoritma ECDSA penandatanganan yang didukung oleh pasangan ECC kunci direkomendasikan melalui algoritme RSA penandatanganan. Namun, Anda mungkin perlu menggunakan spesifikasi kunci tertentu dan algoritma penandatanganan untuk mendukung pengguna yang memverifikasi tanda tangan di luar. AWS

Enkripsi dengan pasangan kunci asimetris

Untuk mengenkripsi data dengan asymmetric key pair, Anda harus menggunakan KMSkunci asimetris dengan spesifikasi RSA kunci atau spesifikasi kunci (khusus SM2Wilayah China). Untuk mengenkripsi data AWS KMS dengan kunci publik dari KMS key pair, gunakan operasi Encrypt. Anda juga dapat mengunduh kunci publik dan membagikannya dengan pihak yang perlu mengenkripsi data di luar. AWS KMS

Saat Anda mengunduh kunci publik dari KMS kunci asimetris, Anda dapat menggunakannya di luar. AWS KMS Tapi itu tidak lagi tunduk pada kontrol keamanan yang melindungi KMS kunci masuk AWS KMS. Misalnya, Anda tidak dapat menggunakan kebijakan AWS KMS kunci atau hibah untuk mengontrol penggunaan kunci publik. Anda juga tidak dapat mengontrol apakah kunci hanya digunakan untuk enkripsi dan dekripsi menggunakan algoritma enkripsi yang mendukung. AWS KMS Untuk detail selengkapnya, lihat Pertimbangan Khusus untuk Mengunduh Kunci Publik.

Untuk mendekripsi data yang dienkripsi dengan kunci publik di luar AWS KMS, hubungi operasi Dekripsi. DecryptOperasi gagal jika data dienkripsi di bawah kunci publik dari KMS kunci dengan penggunaan kunci. SIGN_VERIFY Ini juga akan gagal jika dienkripsi dengan menggunakan algoritma yang AWS KMS tidak mendukung spesifikasi kunci yang Anda pilih. Untuk informasi selengkapnya tentang spesifikasi utama dan algoritme yang didukung, lihat. Referensi spesifikasi kunci

Untuk menghindari kesalahan ini, siapa pun yang menggunakan kunci publik di luar AWS KMS harus menyimpan konfigurasi kunci. AWS KMS Konsol dan GetPublicKeyrespons memberikan informasi yang harus Anda sertakan saat Anda membagikan kunci publik.

Turunkan rahasia bersama

Untuk mendapatkan rahasia bersama, gunakan KMS kunci dengan kurva elips NIST -recommended atau SM2(khusus Wilayah China) materi kunci. AWS KMS menggunakan Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (ECDH) untuk membuat kesepakatan kunci antara dua rekan dengan memperoleh rahasia bersama dari kurva elips pasangan kunci publik-pribadi mereka. Anda dapat menggunakan rahasia bersama mentah yang dikembalikan DeriveSharedSecretoperasi untuk mendapatkan kunci simetris yang dapat mengenkripsi dan mendekripsi data yang dikirim antara dua pihak, atau menghasilkan dan memverifikasi. HMACs AWS KMS merekomendasikan agar Anda mengikuti NISTrekomendasi untuk derivasi kunci saat menggunakan rahasia bersama mentah untuk mendapatkan kunci simetris.

Hasilkan dan verifikasi HMAC kode

Untuk membuat dan memverifikasi kode otentikasi pesan berbasis hash, gunakan kunci. HMAC KMS Saat Anda membuat HMAC kunci AWS KMS, AWS KMS membuat dan melindungi materi kunci Anda dan memastikan bahwa Anda menggunakan MAC algoritme yang benar untuk kunci Anda. HMACkode juga dapat digunakan sebagai nomor pseudo-acak, dan dalam skenario tertentu untuk penandatanganan simetris dan tokenisasi.

HMACKMSkunci adalah kunci simetris. Saat membuat HMAC KMS kunci di AWS KMS konsol, pilih jenis Symmetric kunci.

Gunakan dengan AWS layanan

Untuk membuat KMS kunci untuk digunakan dengan AWS layanan yang terintegrasi dengan AWS KMS, lihat dokumentasi untuk layanan tersebut. AWS layanan yang mengenkripsi data Anda memerlukan kunci enkripsi KMS simetris.

Selain pertimbangan ini, operasi kriptografi pada KMS kunci dengan spesifikasi kunci yang berbeda memiliki harga yang berbeda dan kuota permintaan yang berbeda. Untuk informasi selengkapnya tentang harga AWS KMS , lihat Harga AWS Key Management Service. Untuk informasi selengkapnya tentang kuota permintaan, lihat Kuota permintaan.